Remove committed node_modules and harden .gitignore (#539)

Removes 171 vendored node_modules files from git tracking (kept on disk) and adds node_modules/ to .gitignore. Also adds common leak guards: .env/.env.*, __pycache__/, venv/, dist/, build/, .DS_Store, and IDE folders (.idea/, user-specific .vscode/ while preserving shared settings.json/extensions.json). Verified: full pytest suite (1209 passed) runs clean after removal; the repo has no root package.json, so nothing in the build/test pipeline depended on the committed node_modules. Closes #538 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Juan Manuel Servera committed Jun 26, 2026 at 22:52 UTC 0ff74e6f6d0aef186d539f4b7389f78038bacf57
172 files changed +26 -347711
.gitignore
+26
@@ -13,7 +13,33 @@ public/
13 resources/_gen/
14 .hugo_build.lock
15
16 +# Node.js dependencies
17 +node_modules/
18 +
19 +# Python virtual environments and caches
20 .venv
21 +.venv/
22 +venv/
23 +__pycache__/
24 +*.py[cod]
25 +
26 +# Secrets / environment files
27 +.env
28 +.env.*
29 +!.env.example
30 +
31 +# Build / distribution output
32 +dist/
33 +build/
34 +
35 +# OS files
36 +.DS_Store
37 +
38 +# IDE / editor settings
39 +.idea/
40 +.vscode/*
41 +!.vscode/settings.json
42 +!.vscode/extensions.json
43
44 # Git worktrees
45 .worktrees/
node_modules/.bin/playwright deleted
-1
@@ -1 +0,0 @@
1 -../playwright/cli.js
\ No newline at end of file
node_modules/.bin/playwright-core deleted
-1
@@ -1 +0,0 @@
1 -../playwright-core/cli.js
\ No newline at end of file
node_modules/.package-lock.json deleted
-36
@@ -1,36 +0,0 @@
1 -{
2 - "lockfileVersion": 3,
3 - "requires": true,
4 - "packages": {
5 - "node_modules/playwright": {
6 - "version": "1.60.0",
7 - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.60.0.tgz",
8 - "integrity": "sha512-hheHdokM8cdqCb0lcE3s+zT4t4W+vvjpGxsZlDnikarzx8tSzMebh3UiFtgqwFwnTnjYQcsyMF8ei2mCO/tpeA==",
9 - "license": "Apache-2.0",
10 - "dependencies": {
11 - "playwright-core": "1.60.0"
12 - },
13 - "bin": {
14 - "playwright": "cli.js"
15 - },
16 - "engines": {
17 - "node": ">=18"
18 - },
19 - "optionalDependencies": {
20 - "fsevents": "2.3.2"
21 - }
22 - },
23 - "node_modules/playwright-core": {
24 - "version": "1.60.0",
25 - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.60.0.tgz",
26 - "integrity": "sha512-9bW6zvX/m0lEbgTKJ6YppOKx8H3VOPBMOCFh2irXFOT4BbHgrx5hPjwJYLT40Lu+4qtD36qKc/Hn56StUW57IA==",
27 - "license": "Apache-2.0",
28 - "bin": {
29 - "playwright-core": "cli.js"
30 - },
31 - "engines": {
32 - "node": ">=18"
33 - }
34 - }
35 - }
36 -}
node_modules/playwright-core/LICENSE deleted
-202
@@ -1,202 +0,0 @@
1 - Apache License
2 - Version 2.0, January 2004
3 - http://www.apache.org/licenses/
4 -
5 - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6 -
7 - 1. Definitions.
8 -
9 - "License" shall mean the terms and conditions for use, reproduction,
10 - and distribution as defined by Sections 1 through 9 of this document.
11 -
12 - "Licensor" shall mean the copyright owner or entity authorized by
13 - the copyright owner that is granting the License.
14 -
15 - "Legal Entity" shall mean the union of the acting entity and all
16 - other entities that control, are controlled by, or are under common
17 - control with that entity. For the purposes of this definition,
18 - "control" means (i) the power, direct or indirect, to cause the
19 - direction or management of such entity, whether by contract or
20 - otherwise, or (ii) ownership of fifty percent (50%) or more of the
21 - outstanding shares, or (iii) beneficial ownership of such entity.
22 -
23 - "You" (or "Your") shall mean an individual or Legal Entity
24 - exercising permissions granted by this License.
25 -
26 - "Source" form shall mean the preferred form for making modifications,
27 - including but not limited to software source code, documentation
28 - source, and configuration files.
29 -
30 - "Object" form shall mean any form resulting from mechanical
31 - transformation or translation of a Source form, including but
32 - not limited to compiled object code, generated documentation,
33 - and conversions to other media types.
34 -
35 - "Work" shall mean the work of authorship, whether in Source or
36 - Object form, made available under the License, as indicated by a
37 - copyright notice that is included in or attached to the work
38 - (an example is provided in the Appendix below).
39 -
40 - "Derivative Works" shall mean any work, whether in Source or Object
41 - form, that is based on (or derived from) the Work and for which the
42 - editorial revisions, annotations, elaborations, or other modifications
43 - represent, as a whole, an original work of authorship. For the purposes
44 - of this License, Derivative Works shall not include works that remain
45 - separable from, or merely link (or bind by name) to the interfaces of,
46 - the Work and Derivative Works thereof.
47 -
48 - "Contribution" shall mean any work of authorship, including
49 - the original version of the Work and any modifications or additions
50 - to that Work or Derivative Works thereof, that is intentionally
51 - submitted to Licensor for inclusion in the Work by the copyright owner
52 - or by an individual or Legal Entity authorized to submit on behalf of
53 - the copyright owner. For the purposes of this definition, "submitted"
54 - means any form of electronic, verbal, or written communication sent
55 - to the Licensor or its representatives, including but not limited to
56 - communication on electronic mailing lists, source code control systems,
57 - and issue tracking systems that are managed by, or on behalf of, the
58 - Licensor for the purpose of discussing and improving the Work, but
59 - excluding communication that is conspicuously marked or otherwise
60 - designated in writing by the copyright owner as "Not a Contribution."
61 -
62 - "Contributor" shall mean Licensor and any individual or Legal Entity
63 - on behalf of whom a Contribution has been received by Licensor and
64 - subsequently incorporated within the Work.
65 -
66 - 2. Grant of Copyright License. Subject to the terms and conditions of
67 - this License, each Contributor hereby grants to You a perpetual,
68 - worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69 - copyright license to reproduce, prepare Derivative Works of,
70 - publicly display, publicly perform, sublicense, and distribute the
71 - Work and such Derivative Works in Source or Object form.
72 -
73 - 3. Grant of Patent License. Subject to the terms and conditions of
74 - this License, each Contributor hereby grants to You a perpetual,
75 - worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76 - (except as stated in this section) patent license to make, have made,
77 - use, offer to sell, sell, import, and otherwise transfer the Work,
78 - where such license applies only to those patent claims licensable
79 - by such Contributor that are necessarily infringed by their
80 - Contribution(s) alone or by combination of their Contribution(s)
81 - with the Work to which such Contribution(s) was submitted. If You
82 - institute patent litigation against any entity (including a
83 - cross-claim or counterclaim in a lawsuit) alleging that the Work
84 - or a Contribution incorporated within the Work constitutes direct
85 - or contributory patent infringement, then any patent licenses
86 - granted to You under this License for that Work shall terminate
87 - as of the date such litigation is filed.
88 -
89 - 4. Redistribution. You may reproduce and distribute copies of the
90 - Work or Derivative Works thereof in any medium, with or without
91 - modifications, and in Source or Object form, provided that You
92 - meet the following conditions:
93 -
94 - (a) You must give any other recipients of the Work or
95 - Derivative Works a copy of this License; and
96 -
97 - (b) You must cause any modified files to carry prominent notices
98 - stating that You changed the files; and
99 -
100 - (c) You must retain, in the Source form of any Derivative Works
101 - that You distribute, all copyright, patent, trademark, and
102 - attribution notices from the Source form of the Work,
103 - excluding those notices that do not pertain to any part of
104 - the Derivative Works; and
105 -
106 - (d) If the Work includes a "NOTICE" text file as part of its
107 - distribution, then any Derivative Works that You distribute must
108 - include a readable copy of the attribution notices contained
109 - within such NOTICE file, excluding those notices that do not
110 - pertain to any part of the Derivative Works, in at least one
111 - of the following places: within a NOTICE text file distributed
112 - as part of the Derivative Works; within the Source form or
113 - documentation, if provided along with the Derivative Works; or,
114 - within a display generated by the Derivative Works, if and
115 - wherever such third-party notices normally appear. The contents
116 - of the NOTICE file are for informational purposes only and
117 - do not modify the License. You may add Your own attribution
118 - notices within Derivative Works that You distribute, alongside
119 - or as an addendum to the NOTICE text from the Work, provided
120 - that such additional attribution notices cannot be construed
121 - as modifying the License.
122 -
123 - You may add Your own copyright statement to Your modifications and
124 - may provide additional or different license terms and conditions
125 - for use, reproduction, or distribution of Your modifications, or
126 - for any such Derivative Works as a whole, provided Your use,
127 - reproduction, and distribution of the Work otherwise complies with
128 - the conditions stated in this License.
129 -
130 - 5. Submission of Contributions. Unless You explicitly state otherwise,
131 - any Contribution intentionally submitted for inclusion in the Work
132 - by You to the Licensor shall be under the terms and conditions of
133 - this License, without any additional terms or conditions.
134 - Notwithstanding the above, nothing herein shall supersede or modify
135 - the terms of any separate license agreement you may have executed
136 - with Licensor regarding such Contributions.
137 -
138 - 6. Trademarks. This License does not grant permission to use the trade
139 - names, trademarks, service marks, or product names of the Licensor,
140 - except as required for reasonable and customary use in describing the
141 - origin of the Work and reproducing the content of the NOTICE file.
142 -
143 - 7. Disclaimer of Warranty. Unless required by applicable law or
144 - agreed to in writing, Licensor provides the Work (and each
145 - Contributor provides its Contributions) on an "AS IS" BASIS,
146 - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147 - implied, including, without limitation, any warranties or conditions
148 - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149 - PARTICULAR PURPOSE. You are solely responsible for determining the
150 - appropriateness of using or redistributing the Work and assume any
151 - risks associated with Your exercise of permissions under this License.
152 -
153 - 8. Limitation of Liability. In no event and under no legal theory,
154 - whether in tort (including negligence), contract, or otherwise,
155 - unless required by applicable law (such as deliberate and grossly
156 - negligent acts) or agreed to in writing, shall any Contributor be
157 - liable to You for damages, including any direct, indirect, special,
158 - incidental, or consequential damages of any character arising as a
159 - result of this License or out of the use or inability to use the
160 - Work (including but not limited to damages for loss of goodwill,
161 - work stoppage, computer failure or malfunction, or any and all
162 - other commercial damages or losses), even if such Contributor
163 - has been advised of the possibility of such damages.
164 -
165 - 9. Accepting Warranty or Additional Liability. While redistributing
166 - the Work or Derivative Works thereof, You may choose to offer,
167 - and charge a fee for, acceptance of support, warranty, indemnity,
168 - or other liability obligations and/or rights consistent with this
169 - License. However, in accepting such obligations, You may act only
170 - on Your own behalf and on Your sole responsibility, not on behalf
171 - of any other Contributor, and only if You agree to indemnify,
172 - defend, and hold each Contributor harmless for any liability
173 - incurred by, or claims asserted against, such Contributor by reason
174 - of your accepting any such warranty or additional liability.
175 -
176 - END OF TERMS AND CONDITIONS
177 -
178 - APPENDIX: How to apply the Apache License to your work.
179 -
180 - To apply the Apache License to your work, attach the following
181 - boilerplate notice, with the fields enclosed by brackets "[]"
182 - replaced with your own identifying information. (Don't include
183 - the brackets!) The text should be enclosed in the appropriate
184 - comment syntax for the file format. We also recommend that a
185 - file or class name and description of purpose be included on the
186 - same "printed page" as the copyright notice for easier
187 - identification within third-party archives.
188 -
189 - Portions Copyright (c) Microsoft Corporation.
190 - Portions Copyright 2017 Google Inc.
191 -
192 - Licensed under the Apache License, Version 2.0 (the "License");
193 - you may not use this file except in compliance with the License.
194 - You may obtain a copy of the License at
195 -
196 - http://www.apache.org/licenses/LICENSE-2.0
197 -
198 - Unless required by applicable law or agreed to in writing, software
199 - distributed under the License is distributed on an "AS IS" BASIS,
200 - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201 - See the License for the specific language governing permissions and
202 - limitations under the License.
node_modules/playwright-core/NOTICE deleted
-5
@@ -1,5 +0,0 @@
1 -Playwright
2 -Copyright (c) Microsoft Corporation
3 -
4 -This software contains code derived from the Puppeteer project (https://github.com/puppeteer/puppeteer),
5 -available under the Apache 2.0 license (https://github.com/puppeteer/puppeteer/blob/master/LICENSE).
node_modules/playwright-core/README.md deleted
-3
@@ -1,3 +0,0 @@
1 -# playwright-core
2 -
3 -This package contains the no-browser flavor of [Playwright](http://github.com/microsoft/playwright).
node_modules/playwright-core/ThirdPartyNotices.txt deleted
-13
@@ -1,13 +0,0 @@
1 -microsoft/playwright-core
2 -
3 -THIRD-PARTY SOFTWARE NOTICES AND INFORMATION
4 -
5 -This package bundles third-party software inside individual files under
6 -`lib/`. Each bundled output has a sidecar `<bundle>.js.LICENSE` file next
7 -to it listing every npm package whose source was inlined into that
8 -bundle, together with the full license text for each.
9 -
10 -For example:
11 -- lib/utilsBundle.js.LICENSE
12 -
13 -This project incorporates components from the projects listed below. The original copyright notices and the licenses under which Microsoft received such components are set forth below. Microsoft reserves all rights not expressly granted herein, whether by implication, estoppel or otherwise.
node_modules/playwright-core/bin/install_media_pack.ps1 deleted
-5
@@ -1,5 +0,0 @@
1 -$osInfo = Get-WmiObject -Class Win32_OperatingSystem
2 -# check if running on Windows Server
3 -if ($osInfo.ProductType -eq 3) {
4 - Install-WindowsFeature Server-Media-Foundation
5 -}
node_modules/playwright-core/bin/install_webkit_wsl.ps1 deleted
-33
@@ -1,33 +0,0 @@
1 -$ErrorActionPreference = 'Stop'
2 -
3 -# This script sets up a WSL distribution that will be used to run WebKit.
4 -
5 -$Distribution = "playwright"
6 -$Username = "pwuser"
7 -
8 -$distributions = (wsl --list --quiet) -split "\r?\n"
9 -if ($distributions -contains $Distribution) {
10 - Write-Host "WSL distribution '$Distribution' already exists. Skipping installation."
11 -} else {
12 - Write-Host "Installing new WSL distribution '$Distribution'..."
13 - $VhdSize = "10GB"
14 - wsl --install -d Ubuntu-24.04 --name $Distribution --no-launch --vhd-size $VhdSize
15 - wsl -d $Distribution -u root adduser --gecos GECOS --disabled-password $Username
16 -}
17 -
18 -$pwshDirname = (Resolve-Path -Path $PSScriptRoot).Path;
19 -$playwrightCoreRoot = Resolve-Path (Join-Path $pwshDirname "..")
20 -
21 -$initScript = @"
22 -if [ ! -f "/home/$Username/node/bin/node" ]; then
23 - mkdir -p /home/$Username/node
24 - curl -fsSL https://nodejs.org/dist/v22.17.0/node-v22.17.0-linux-x64.tar.xz -o /home/$Username/node/node-v22.17.0-linux-x64.tar.xz
25 - tar -xJf /home/$Username/node/node-v22.17.0-linux-x64.tar.xz -C /home/$Username/node --strip-components=1
26 - sudo -u $Username echo 'export PATH=/home/$Username/node/bin:\`$PATH' >> /home/$Username/.profile
27 -fi
28 -/home/$Username/node/bin/node cli.js install-deps webkit
29 -sudo -u $Username PLAYWRIGHT_SKIP_BROWSER_GC=1 /home/$Username/node/bin/node cli.js install webkit
30 -"@ -replace "\r\n", "`n"
31 -
32 -wsl -d $Distribution --cd $playwrightCoreRoot -u root -- bash -c "$initScript"
33 -Write-Host "Done!"
\ No newline at end of file
node_modules/playwright-core/bin/reinstall_chrome_beta_linux.sh deleted
-42
@@ -1,42 +0,0 @@
1 -#!/usr/bin/env bash
2 -set -e
3 -set -x
4 -
5 -if [[ $(arch) == "aarch64" ]]; then
6 - echo "ERROR: not supported on Linux Arm64"
7 - exit 1
8 -fi
9 -
10 -if [ -z "$PLAYWRIGHT_HOST_PLATFORM_OVERRIDE" ]; then
11 - if [[ ! -f "/etc/os-release" ]]; then
12 - echo "ERROR: cannot install on unknown linux distribution (/etc/os-release is missing)"
13 - exit 1
14 - fi
15 -
16 - ID=$(bash -c 'source /etc/os-release && echo $ID')
17 - if [[ "${ID}" != "ubuntu" && "${ID}" != "debian" ]]; then
18 - echo "ERROR: cannot install on $ID distribution - only Ubuntu and Debian are supported"
19 - exit 1
20 - fi
21 -fi
22 -
23 -# 1. make sure to remove old beta if any.
24 -if dpkg --get-selections | grep -q "^google-chrome-beta[[:space:]]*install$" >/dev/null; then
25 - apt-get remove -y google-chrome-beta
26 -fi
27 -
28 -# 2. Update apt lists (needed to install curl and chrome dependencies)
29 -apt-get update
30 -
31 -# 3. Install curl to download chrome
32 -if ! command -v curl >/dev/null; then
33 - apt-get install -y curl
34 -fi
35 -
36 -# 4. download chrome beta from dl.google.com and install it.
37 -cd /tmp
38 -curl -O https://dl.google.com/linux/direct/google-chrome-beta_current_amd64.deb
39 -apt-get install -y ./google-chrome-beta_current_amd64.deb
40 -rm -rf ./google-chrome-beta_current_amd64.deb
41 -cd -
42 -google-chrome-beta --version
node_modules/playwright-core/bin/reinstall_chrome_beta_mac.sh deleted
-13
@@ -1,13 +0,0 @@
1 -#!/usr/bin/env bash
2 -set -e
3 -set -x
4 -
5 -rm -rf "/Applications/Google Chrome Beta.app"
6 -cd /tmp
7 -curl --retry 3 -o ./googlechromebeta.dmg https://dl.google.com/chrome/mac/universal/beta/googlechromebeta.dmg
8 -hdiutil attach -nobrowse -quiet -noautofsck -noautoopen -mountpoint /Volumes/googlechromebeta.dmg ./googlechromebeta.dmg
9 -cp -pR "/Volumes/googlechromebeta.dmg/Google Chrome Beta.app" /Applications
10 -hdiutil detach /Volumes/googlechromebeta.dmg
11 -rm -rf /tmp/googlechromebeta.dmg
12 -
13 -/Applications/Google\ Chrome\ Beta.app/Contents/MacOS/Google\ Chrome\ Beta --version
node_modules/playwright-core/bin/reinstall_chrome_beta_win.ps1 deleted
-24
@@ -1,24 +0,0 @@
1 -$ErrorActionPreference = 'Stop'
2 -
3 -$url = 'https://dl.google.com/tag/s/dl/chrome/install/beta/googlechromebetastandaloneenterprise64.msi'
4 -
5 -Write-Host "Downloading Google Chrome Beta"
6 -$wc = New-Object net.webclient
7 -$msiInstaller = "$env:temp\google-chrome-beta.msi"
8 -$wc.Downloadfile($url, $msiInstaller)
9 -
10 -Write-Host "Installing Google Chrome Beta"
11 -$arguments = "/i `"$msiInstaller`" /quiet"
12 -Start-Process msiexec.exe -ArgumentList $arguments -Wait
13 -Remove-Item $msiInstaller
14 -
15 -$suffix = "\\Google\\Chrome Beta\\Application\\chrome.exe"
16 -if (Test-Path "${env:ProgramFiles(x86)}$suffix") {
17 - (Get-Item "${env:ProgramFiles(x86)}$suffix").VersionInfo
18 -} elseif (Test-Path "${env:ProgramFiles}$suffix") {
19 - (Get-Item "${env:ProgramFiles}$suffix").VersionInfo
20 -} else {
21 - Write-Host "ERROR: Failed to install Google Chrome Beta."
22 - Write-Host "ERROR: This could be due to insufficient privileges, in which case re-running as Administrator may help."
23 - exit 1
24 -}
node_modules/playwright-core/bin/reinstall_chrome_stable_linux.sh deleted
-42
@@ -1,42 +0,0 @@
1 -#!/usr/bin/env bash
2 -set -e
3 -set -x
4 -
5 -if [[ $(arch) == "aarch64" ]]; then
6 - echo "ERROR: not supported on Linux Arm64"
7 - exit 1
8 -fi
9 -
10 -if [ -z "$PLAYWRIGHT_HOST_PLATFORM_OVERRIDE" ]; then
11 - if [[ ! -f "/etc/os-release" ]]; then
12 - echo "ERROR: cannot install on unknown linux distribution (/etc/os-release is missing)"
13 - exit 1
14 - fi
15 -
16 - ID=$(bash -c 'source /etc/os-release && echo $ID')
17 - if [[ "${ID}" != "ubuntu" && "${ID}" != "debian" ]]; then
18 - echo "ERROR: cannot install on $ID distribution - only Ubuntu and Debian are supported"
19 - exit 1
20 - fi
21 -fi
22 -
23 -# 1. make sure to remove old stable if any.
24 -if dpkg --get-selections | grep -q "^google-chrome[[:space:]]*install$" >/dev/null; then
25 - apt-get remove -y google-chrome
26 -fi
27 -
28 -# 2. Update apt lists (needed to install curl and chrome dependencies)
29 -apt-get update
30 -
31 -# 3. Install curl to download chrome
32 -if ! command -v curl >/dev/null; then
33 - apt-get install -y curl
34 -fi
35 -
36 -# 4. download chrome stable from dl.google.com and install it.
37 -cd /tmp
38 -curl -O https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
39 -apt-get install -y ./google-chrome-stable_current_amd64.deb
40 -rm -rf ./google-chrome-stable_current_amd64.deb
41 -cd -
42 -google-chrome --version
node_modules/playwright-core/bin/reinstall_chrome_stable_mac.sh deleted
-12
@@ -1,12 +0,0 @@
1 -#!/usr/bin/env bash
2 -set -e
3 -set -x
4 -
5 -rm -rf "/Applications/Google Chrome.app"
6 -cd /tmp
7 -curl --retry 3 -o ./googlechrome.dmg https://dl.google.com/chrome/mac/universal/stable/GGRO/googlechrome.dmg
8 -hdiutil attach -nobrowse -quiet -noautofsck -noautoopen -mountpoint /Volumes/googlechrome.dmg ./googlechrome.dmg
9 -cp -pR "/Volumes/googlechrome.dmg/Google Chrome.app" /Applications
10 -hdiutil detach /Volumes/googlechrome.dmg
11 -rm -rf /tmp/googlechrome.dmg
12 -/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --version
node_modules/playwright-core/bin/reinstall_chrome_stable_win.ps1 deleted
-24
@@ -1,24 +0,0 @@
1 -$ErrorActionPreference = 'Stop'
2 -$url = 'https://dl.google.com/tag/s/dl/chrome/install/googlechromestandaloneenterprise64.msi'
3 -
4 -$wc = New-Object net.webclient
5 -$msiInstaller = "$env:temp\google-chrome.msi"
6 -Write-Host "Downloading Google Chrome"
7 -$wc.Downloadfile($url, $msiInstaller)
8 -
9 -Write-Host "Installing Google Chrome"
10 -$arguments = "/i `"$msiInstaller`" /quiet"
11 -Start-Process msiexec.exe -ArgumentList $arguments -Wait
12 -Remove-Item $msiInstaller
13 -
14 -
15 -$suffix = "\\Google\\Chrome\\Application\\chrome.exe"
16 -if (Test-Path "${env:ProgramFiles(x86)}$suffix") {
17 - (Get-Item "${env:ProgramFiles(x86)}$suffix").VersionInfo
18 -} elseif (Test-Path "${env:ProgramFiles}$suffix") {
19 - (Get-Item "${env:ProgramFiles}$suffix").VersionInfo
20 -} else {
21 - Write-Host "ERROR: Failed to install Google Chrome."
22 - Write-Host "ERROR: This could be due to insufficient privileges, in which case re-running as Administrator may help."
23 - exit 1
24 -}
node_modules/playwright-core/bin/reinstall_msedge_beta_linux.sh deleted
-48
@@ -1,48 +0,0 @@
1 -#!/usr/bin/env bash
2 -
3 -set -e
4 -set -x
5 -
6 -if [[ $(arch) == "aarch64" ]]; then
7 - echo "ERROR: not supported on Linux Arm64"
8 - exit 1
9 -fi
10 -
11 -if [ -z "$PLAYWRIGHT_HOST_PLATFORM_OVERRIDE" ]; then
12 - if [[ ! -f "/etc/os-release" ]]; then
13 - echo "ERROR: cannot install on unknown linux distribution (/etc/os-release is missing)"
14 - exit 1
15 - fi
16 -
17 - ID=$(bash -c 'source /etc/os-release && echo $ID')
18 - if [[ "${ID}" != "ubuntu" && "${ID}" != "debian" ]]; then
19 - echo "ERROR: cannot install on $ID distribution - only Ubuntu and Debian are supported"
20 - exit 1
21 - fi
22 -fi
23 -
24 -# 1. make sure to remove old beta if any.
25 -if dpkg --get-selections | grep -q "^microsoft-edge-beta[[:space:]]*install$" >/dev/null; then
26 - apt-get remove -y microsoft-edge-beta
27 -fi
28 -
29 -# 2. Install curl to download Microsoft gpg key
30 -if ! command -v curl >/dev/null; then
31 - apt-get update
32 - apt-get install -y curl
33 -fi
34 -
35 -# GnuPG is not preinstalled in slim images
36 -if ! command -v gpg >/dev/null; then
37 - apt-get update
38 - apt-get install -y gpg
39 -fi
40 -
41 -# 3. Add the GPG key, the apt repo, update the apt cache, and install the package
42 -curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /tmp/microsoft.gpg
43 -install -o root -g root -m 644 /tmp/microsoft.gpg /etc/apt/trusted.gpg.d/
44 -sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/edge stable main" > /etc/apt/sources.list.d/microsoft-edge-dev.list'
45 -rm /tmp/microsoft.gpg
46 -apt-get update && apt-get install -y microsoft-edge-beta
47 -
48 -microsoft-edge-beta --version
node_modules/playwright-core/bin/reinstall_msedge_beta_mac.sh deleted
-11
@@ -1,11 +0,0 @@
1 -#!/usr/bin/env bash
2 -set -e
3 -set -x
4 -
5 -cd /tmp
6 -curl --retry 3 -o ./msedge_beta.pkg "$1"
7 -# Note: there's no way to uninstall previously installed MSEdge.
8 -# However, running PKG again seems to update installation.
9 -sudo installer -pkg /tmp/msedge_beta.pkg -target /
10 -rm -rf /tmp/msedge_beta.pkg
11 -/Applications/Microsoft\ Edge\ Beta.app/Contents/MacOS/Microsoft\ Edge\ Beta --version
node_modules/playwright-core/bin/reinstall_msedge_beta_win.ps1 deleted
-23
@@ -1,23 +0,0 @@
1 -$ErrorActionPreference = 'Stop'
2 -$url = $args[0]
3 -
4 -Write-Host "Downloading Microsoft Edge Beta"
5 -$wc = New-Object net.webclient
6 -$msiInstaller = "$env:temp\microsoft-edge-beta.msi"
7 -$wc.Downloadfile($url, $msiInstaller)
8 -
9 -Write-Host "Installing Microsoft Edge Beta"
10 -$arguments = "/i `"$msiInstaller`" /quiet"
11 -Start-Process msiexec.exe -ArgumentList $arguments -Wait
12 -Remove-Item $msiInstaller
13 -
14 -$suffix = "\\Microsoft\\Edge Beta\\Application\\msedge.exe"
15 -if (Test-Path "${env:ProgramFiles(x86)}$suffix") {
16 - (Get-Item "${env:ProgramFiles(x86)}$suffix").VersionInfo
17 -} elseif (Test-Path "${env:ProgramFiles}$suffix") {
18 - (Get-Item "${env:ProgramFiles}$suffix").VersionInfo
19 -} else {
20 - Write-Host "ERROR: Failed to install Microsoft Edge Beta."
21 - Write-Host "ERROR: This could be due to insufficient privileges, in which case re-running as Administrator may help."
22 - exit 1
23 -}
node_modules/playwright-core/bin/reinstall_msedge_dev_linux.sh deleted
-48
@@ -1,48 +0,0 @@
1 -#!/usr/bin/env bash
2 -
3 -set -e
4 -set -x
5 -
6 -if [[ $(arch) == "aarch64" ]]; then
7 - echo "ERROR: not supported on Linux Arm64"
8 - exit 1
9 -fi
10 -
11 -if [ -z "$PLAYWRIGHT_HOST_PLATFORM_OVERRIDE" ]; then
12 - if [[ ! -f "/etc/os-release" ]]; then
13 - echo "ERROR: cannot install on unknown linux distribution (/etc/os-release is missing)"
14 - exit 1
15 - fi
16 -
17 - ID=$(bash -c 'source /etc/os-release && echo $ID')
18 - if [[ "${ID}" != "ubuntu" && "${ID}" != "debian" ]]; then
19 - echo "ERROR: cannot install on $ID distribution - only Ubuntu and Debian are supported"
20 - exit 1
21 - fi
22 -fi
23 -
24 -# 1. make sure to remove old dev if any.
25 -if dpkg --get-selections | grep -q "^microsoft-edge-dev[[:space:]]*install$" >/dev/null; then
26 - apt-get remove -y microsoft-edge-dev
27 -fi
28 -
29 -# 2. Install curl to download Microsoft gpg key
30 -if ! command -v curl >/dev/null; then
31 - apt-get update
32 - apt-get install -y curl
33 -fi
34 -
35 -# GnuPG is not preinstalled in slim images
36 -if ! command -v gpg >/dev/null; then
37 - apt-get update
38 - apt-get install -y gpg
39 -fi
40 -
41 -# 3. Add the GPG key, the apt repo, update the apt cache, and install the package
42 -curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /tmp/microsoft.gpg
43 -install -o root -g root -m 644 /tmp/microsoft.gpg /etc/apt/trusted.gpg.d/
44 -sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/edge stable main" > /etc/apt/sources.list.d/microsoft-edge-dev.list'
45 -rm /tmp/microsoft.gpg
46 -apt-get update && apt-get install -y microsoft-edge-dev
47 -
48 -microsoft-edge-dev --version
node_modules/playwright-core/bin/reinstall_msedge_dev_mac.sh deleted
-11
@@ -1,11 +0,0 @@
1 -#!/usr/bin/env bash
2 -set -e
3 -set -x
4 -
5 -cd /tmp
6 -curl --retry 3 -o ./msedge_dev.pkg "$1"
7 -# Note: there's no way to uninstall previously installed MSEdge.
8 -# However, running PKG again seems to update installation.
9 -sudo installer -pkg /tmp/msedge_dev.pkg -target /
10 -rm -rf /tmp/msedge_dev.pkg
11 -/Applications/Microsoft\ Edge\ Dev.app/Contents/MacOS/Microsoft\ Edge\ Dev --version
node_modules/playwright-core/bin/reinstall_msedge_dev_win.ps1 deleted
-23
@@ -1,23 +0,0 @@
1 -$ErrorActionPreference = 'Stop'
2 -$url = $args[0]
3 -
4 -Write-Host "Downloading Microsoft Edge Dev"
5 -$wc = New-Object net.webclient
6 -$msiInstaller = "$env:temp\microsoft-edge-dev.msi"
7 -$wc.Downloadfile($url, $msiInstaller)
8 -
9 -Write-Host "Installing Microsoft Edge Dev"
10 -$arguments = "/i `"$msiInstaller`" /quiet"
11 -Start-Process msiexec.exe -ArgumentList $arguments -Wait
12 -Remove-Item $msiInstaller
13 -
14 -$suffix = "\\Microsoft\\Edge Dev\\Application\\msedge.exe"
15 -if (Test-Path "${env:ProgramFiles(x86)}$suffix") {
16 - (Get-Item "${env:ProgramFiles(x86)}$suffix").VersionInfo
17 -} elseif (Test-Path "${env:ProgramFiles}$suffix") {
18 - (Get-Item "${env:ProgramFiles}$suffix").VersionInfo
19 -} else {
20 - Write-Host "ERROR: Failed to install Microsoft Edge Dev."
21 - Write-Host "ERROR: This could be due to insufficient privileges, in which case re-running as Administrator may help."
22 - exit 1
23 -}
node_modules/playwright-core/bin/reinstall_msedge_stable_linux.sh deleted
-48
@@ -1,48 +0,0 @@
1 -#!/usr/bin/env bash
2 -
3 -set -e
4 -set -x
5 -
6 -if [[ $(arch) == "aarch64" ]]; then
7 - echo "ERROR: not supported on Linux Arm64"
8 - exit 1
9 -fi
10 -
11 -if [ -z "$PLAYWRIGHT_HOST_PLATFORM_OVERRIDE" ]; then
12 - if [[ ! -f "/etc/os-release" ]]; then
13 - echo "ERROR: cannot install on unknown linux distribution (/etc/os-release is missing)"
14 - exit 1
15 - fi
16 -
17 - ID=$(bash -c 'source /etc/os-release && echo $ID')
18 - if [[ "${ID}" != "ubuntu" && "${ID}" != "debian" ]]; then
19 - echo "ERROR: cannot install on $ID distribution - only Ubuntu and Debian are supported"
20 - exit 1
21 - fi
22 -fi
23 -
24 -# 1. make sure to remove old stable if any.
25 -if dpkg --get-selections | grep -q "^microsoft-edge-stable[[:space:]]*install$" >/dev/null; then
26 - apt-get remove -y microsoft-edge-stable
27 -fi
28 -
29 -# 2. Install curl to download Microsoft gpg key
30 -if ! command -v curl >/dev/null; then
31 - apt-get update
32 - apt-get install -y curl
33 -fi
34 -
35 -# GnuPG is not preinstalled in slim images
36 -if ! command -v gpg >/dev/null; then
37 - apt-get update
38 - apt-get install -y gpg
39 -fi
40 -
41 -# 3. Add the GPG key, the apt repo, update the apt cache, and install the package
42 -curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /tmp/microsoft.gpg
43 -install -o root -g root -m 644 /tmp/microsoft.gpg /etc/apt/trusted.gpg.d/
44 -sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/edge stable main" > /etc/apt/sources.list.d/microsoft-edge-stable.list'
45 -rm /tmp/microsoft.gpg
46 -apt-get update && apt-get install -y microsoft-edge-stable
47 -
48 -microsoft-edge-stable --version
node_modules/playwright-core/bin/reinstall_msedge_stable_mac.sh deleted
-11
@@ -1,11 +0,0 @@
1 -#!/usr/bin/env bash
2 -set -e
3 -set -x
4 -
5 -cd /tmp
6 -curl --retry 3 -o ./msedge_stable.pkg "$1"
7 -# Note: there's no way to uninstall previously installed MSEdge.
8 -# However, running PKG again seems to update installation.
9 -sudo installer -pkg /tmp/msedge_stable.pkg -target /
10 -rm -rf /tmp/msedge_stable.pkg
11 -/Applications/Microsoft\ Edge.app/Contents/MacOS/Microsoft\ Edge --version
node_modules/playwright-core/bin/reinstall_msedge_stable_win.ps1 deleted
-24
@@ -1,24 +0,0 @@
1 -$ErrorActionPreference = 'Stop'
2 -
3 -$url = $args[0]
4 -
5 -Write-Host "Downloading Microsoft Edge"
6 -$wc = New-Object net.webclient
7 -$msiInstaller = "$env:temp\microsoft-edge-stable.msi"
8 -$wc.Downloadfile($url, $msiInstaller)
9 -
10 -Write-Host "Installing Microsoft Edge"
11 -$arguments = "/i `"$msiInstaller`" /quiet"
12 -Start-Process msiexec.exe -ArgumentList $arguments -Wait
13 -Remove-Item $msiInstaller
14 -
15 -$suffix = "\\Microsoft\\Edge\\Application\\msedge.exe"
16 -if (Test-Path "${env:ProgramFiles(x86)}$suffix") {
17 - (Get-Item "${env:ProgramFiles(x86)}$suffix").VersionInfo
18 -} elseif (Test-Path "${env:ProgramFiles}$suffix") {
19 - (Get-Item "${env:ProgramFiles}$suffix").VersionInfo
20 -} else {
21 - Write-Host "ERROR: Failed to install Microsoft Edge."
22 - Write-Host "ERROR: This could be due to insufficient privileges, in which case re-running as Administrator may help."
23 - exit 1
24 -}
\ No newline at end of file
node_modules/playwright-core/browsers.json deleted
-81
@@ -1,81 +0,0 @@
1 -{
2 - "comment": "Do not edit this file, use utils/roll_browser.js",
3 - "browsers": [
4 - {
5 - "name": "chromium",
6 - "revision": "1223",
7 - "installByDefault": true,
8 - "browserVersion": "148.0.7778.96",
9 - "title": "Chrome for Testing"
10 - },
11 - {
12 - "name": "chromium-headless-shell",
13 - "revision": "1223",
14 - "installByDefault": true,
15 - "browserVersion": "148.0.7778.96",
16 - "title": "Chrome Headless Shell"
17 - },
18 - {
19 - "name": "chromium-tip-of-tree",
20 - "revision": "1427",
21 - "installByDefault": false,
22 - "browserVersion": "149.0.7827.0",
23 - "title": "Chrome Canary for Testing"
24 - },
25 - {
26 - "name": "chromium-tip-of-tree-headless-shell",
27 - "revision": "1427",
28 - "installByDefault": false,
29 - "browserVersion": "149.0.7827.0",
30 - "title": "Chrome Canary Headless Shell"
31 - },
32 - {
33 - "name": "firefox",
34 - "revision": "1522",
35 - "installByDefault": true,
36 - "browserVersion": "150.0.2",
37 - "title": "Firefox"
38 - },
39 - {
40 - "name": "firefox-beta",
41 - "revision": "1512",
42 - "installByDefault": false,
43 - "browserVersion": "151.0b5",
44 - "title": "Firefox Beta"
45 - },
46 - {
47 - "name": "webkit",
48 - "revision": "2287",
49 - "installByDefault": true,
50 - "revisionOverrides": {
51 - "mac14": "2251",
52 - "mac14-arm64": "2251",
53 - "debian11-x64": "2105",
54 - "debian11-arm64": "2105",
55 - "ubuntu20.04-x64": "2092",
56 - "ubuntu20.04-arm64": "2092"
57 - },
58 - "browserVersion": "26.4",
59 - "title": "WebKit"
60 - },
61 - {
62 - "name": "ffmpeg",
63 - "revision": "1011",
64 - "installByDefault": true,
65 - "revisionOverrides": {
66 - "mac12": "1010",
67 - "mac12-arm64": "1010"
68 - }
69 - },
70 - {
71 - "name": "winldd",
72 - "revision": "1007",
73 - "installByDefault": false
74 - },
75 - {
76 - "name": "android",
77 - "revision": "1001",
78 - "installByDefault": false
79 - }
80 - ]
81 -}
node_modules/playwright-core/cli.js deleted
-21
@@ -1,21 +0,0 @@
1 -#!/usr/bin/env node
2 -/**
3 - * Copyright (c) Microsoft Corporation.
4 - *
5 - * Licensed under the Apache License, Version 2.0 (the "License");
6 - * you may not use this file except in compliance with the License.
7 - * You may obtain a copy of the License at
8 - *
9 - * http://www.apache.org/licenses/LICENSE-2.0
10 - *
11 - * Unless required by applicable law or agreed to in writing, software
12 - * distributed under the License is distributed on an "AS IS" BASIS,
13 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 - * See the License for the specific language governing permissions and
15 - * limitations under the License.
16 - */
17 -const { libCli, libCliTestStub } = require('./lib/coreBundle');
18 -const { program } = require('./lib/utilsBundle');
19 -libCli.decorateProgram(program);
20 -libCliTestStub.decorateProgram(program);
21 -program.parse(process.argv);
node_modules/playwright-core/index.d.ts deleted
-17
@@ -1,17 +0,0 @@
1 -/**
2 - * Copyright (c) Microsoft Corporation.
3 - *
4 - * Licensed under the Apache License, Version 2.0 (the "License");
5 - * you may not use this file except in compliance with the License.
6 - * You may obtain a copy of the License at
7 - *
8 - * http://www.apache.org/licenses/LICENSE-2.0
9 - *
10 - * Unless required by applicable law or agreed to in writing, software
11 - * distributed under the License is distributed on an "AS IS" BASIS,
12 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 - * See the License for the specific language governing permissions and
14 - * limitations under the License.
15 - */
16 -
17 -export * from './types/types';
node_modules/playwright-core/index.js deleted
-32
@@ -1,32 +0,0 @@
1 -/**
2 - * Copyright (c) Microsoft Corporation.
3 - *
4 - * Licensed under the Apache License, Version 2.0 (the "License");
5 - * you may not use this file except in compliance with the License.
6 - * You may obtain a copy of the License at
7 - *
8 - * http://www.apache.org/licenses/LICENSE-2.0
9 - *
10 - * Unless required by applicable law or agreed to in writing, software
11 - * distributed under the License is distributed on an "AS IS" BASIS,
12 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 - * See the License for the specific language governing permissions and
14 - * limitations under the License.
15 - */
16 -const minimumMajorNodeVersion = 18;
17 -const currentNodeVersion = process.versions.node;
18 -const semver = currentNodeVersion.split('.');
19 -const [major] = [+semver[0]];
20 -
21 -if (major < minimumMajorNodeVersion) {
22 - console.error(
23 - 'You are running Node.js ' +
24 - currentNodeVersion +
25 - '.\n' +
26 - `Playwright requires Node.js ${minimumMajorNodeVersion} or higher. \n` +
27 - 'Please update your version of Node.js.'
28 - );
29 - process.exit(1);
30 -}
31 -
32 -module.exports = require('./lib/coreBundle').inprocess.playwright;
node_modules/playwright-core/index.mjs deleted
-28
@@ -1,28 +0,0 @@
1 -/**
2 - * Copyright (c) Microsoft Corporation.
3 - *
4 - * Licensed under the Apache License, Version 2.0 (the "License");
5 - * you may not use this file except in compliance with the License.
6 - * You may obtain a copy of the License at
7 - *
8 - * http://www.apache.org/licenses/LICENSE-2.0
9 - *
10 - * Unless required by applicable law or agreed to in writing, software
11 - * distributed under the License is distributed on an "AS IS" BASIS,
12 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 - * See the License for the specific language governing permissions and
14 - * limitations under the License.
15 - */
16 -
17 -import playwright from './index.js';
18 -
19 -export const chromium = playwright.chromium;
20 -export const firefox = playwright.firefox;
21 -export const webkit = playwright.webkit;
22 -export const selectors = playwright.selectors;
23 -export const devices = playwright.devices;
24 -export const errors = playwright.errors;
25 -export const request = playwright.request;
26 -export const _electron = playwright._electron;
27 -export const _android = playwright._android;
28 -export default playwright;
node_modules/playwright-core/lib/bootstrap.js deleted
-77
@@ -1,77 +0,0 @@
1 -"use strict";
2 -if (process.env.PW_INSTRUMENT_MODULES) {
3 - const Module = require("module");
4 - const originalLoad = Module._load;
5 - const root = { name: "<root>", selfMs: 0, totalMs: 0, childrenMs: 0, children: [] };
6 - let current = root;
7 - const stack = [];
8 - Module._load = function(request, _parent, _isMain) {
9 - const node = { name: request, selfMs: 0, totalMs: 0, childrenMs: 0, children: [] };
10 - current.children.push(node);
11 - stack.push(current);
12 - current = node;
13 - const start = performance.now();
14 - let result;
15 - try {
16 - result = originalLoad.apply(this, arguments);
17 - } catch (e) {
18 - current = stack.pop();
19 - current.children.pop();
20 - throw e;
21 - }
22 - const duration = performance.now() - start;
23 - node.totalMs = duration;
24 - node.selfMs = Math.max(0, duration - node.childrenMs);
25 - current = stack.pop();
26 - current.childrenMs += duration;
27 - return result;
28 - };
29 - process.on("exit", () => {
30 - function printTree(node, prefix, isLast, lines2, depth) {
31 - if (node.totalMs < 1 && depth > 0)
32 - return;
33 - const connector = depth === 0 ? "" : isLast ? "\u2514\u2500\u2500 " : "\u251C\u2500\u2500 ";
34 - const time = `${node.totalMs.toFixed(1).padStart(8)}ms`;
35 - const self = node.children.length ? ` (self: ${node.selfMs.toFixed(1)}ms)` : "";
36 - lines2.push(`${time} ${prefix}${connector}${node.name}${self}`);
37 - const childPrefix = prefix + (depth === 0 ? "" : isLast ? " " : "\u2502 ");
38 - const sorted2 = node.children.slice().sort((a, b) => b.totalMs - a.totalMs);
39 - for (let i = 0; i < sorted2.length; i++)
40 - printTree(sorted2[i], childPrefix, i === sorted2.length - 1, lines2, depth + 1);
41 - }
42 - let totalModules = 0;
43 - function count(n) {
44 - totalModules++;
45 - n.children.forEach(count);
46 - }
47 - root.children.forEach(count);
48 - const lines = [];
49 - const sorted = root.children.slice().sort((a, b) => b.totalMs - a.totalMs);
50 - for (let i = 0; i < sorted.length; i++)
51 - printTree(sorted[i], "", i === sorted.length - 1, lines, 0);
52 - const totalMs = root.children.reduce((s, c) => s + c.totalMs, 0);
53 - process.stderr.write(`
54 ---- Module load tree: ${totalModules} modules, ${totalMs.toFixed(0)}ms total ---
55 -` + lines.join("\n") + "\n");
56 - const flat = /* @__PURE__ */ new Map();
57 - function gather(n) {
58 - const existing = flat.get(n.name);
59 - if (existing) {
60 - existing.selfMs += n.selfMs;
61 - existing.totalMs += n.totalMs;
62 - existing.count++;
63 - } else {
64 - flat.set(n.name, { selfMs: n.selfMs, totalMs: n.totalMs, count: 1 });
65 - }
66 - n.children.forEach(gather);
67 - }
68 - root.children.forEach(gather);
69 - const top50 = [...flat.entries()].sort((a, b) => b[1].selfMs - a[1].selfMs).slice(0, 50);
70 - const flatLines = top50.map(
71 - ([mod, { selfMs, totalMs: totalMs2, count: count2 }]) => `${selfMs.toFixed(1).padStart(8)}ms self ${totalMs2.toFixed(1).padStart(8)}ms total (x${String(count2).padStart(3)}) ${mod}`
72 - );
73 - process.stderr.write(`
74 ---- Top 50 modules by self time ---
75 -` + flatLines.join("\n") + "\n");
76 - });
77 -}
node_modules/playwright-core/lib/coreBundle.js deleted
-69799
@@ -1,69799 +0,0 @@
1 -"use strict";
2 -var __create = Object.create;
3 -var __defProp = Object.defineProperty;
4 -var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5 -var __getOwnPropNames = Object.getOwnPropertyNames;
6 -var __getProtoOf = Object.getPrototypeOf;
7 -var __hasOwnProp = Object.prototype.hasOwnProperty;
8 -var __esm = (fn, res) => function __init() {
9 - return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
10 -};
11 -var __commonJS = (cb, mod) => function __require() {
12 - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
13 -};
14 -var __export = (target, all) => {
15 - for (var name in all)
16 - __defProp(target, name, { get: all[name], enumerable: true });
17 -};
18 -var __copyProps = (to, from, except, desc) => {
19 - if (from && typeof from === "object" || typeof from === "function") {
20 - for (let key of __getOwnPropNames(from))
21 - if (!__hasOwnProp.call(to, key) && key !== except)
22 - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
23 - }
24 - return to;
25 -};
26 -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
27 - // If the importer is in node compatibility mode or this is not an ESM
28 - // file that has been converted to a CommonJS file using a Babel-
29 - // compatible transform (i.e. "__esModule" has not been set), then set
30 - // "default" to the CommonJS "module.exports" for node compatibility.
31 - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
32 - mod
33 -));
34 -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
35 -
36 -// packages/isomorphic/ariaSnapshot.ts
37 -function ariaNodesEqual(a, b) {
38 - if (a.role !== b.role || a.name !== b.name)
39 - return false;
40 - if (!ariaPropsEqual(a, b) || hasPointerCursor(a) !== hasPointerCursor(b))
41 - return false;
42 - const aKeys = Object.keys(a.props);
43 - const bKeys = Object.keys(b.props);
44 - return aKeys.length === bKeys.length && aKeys.every((k) => a.props[k] === b.props[k]);
45 -}
46 -function hasPointerCursor(ariaNode) {
47 - return ariaNode.box.cursor === "pointer";
48 -}
49 -function ariaPropsEqual(a, b) {
50 - return a.active === b.active && a.checked === b.checked && a.disabled === b.disabled && a.expanded === b.expanded && a.selected === b.selected && a.level === b.level && a.pressed === b.pressed;
51 -}
52 -function parseAriaSnapshotUnsafe(yaml3, text2, options2 = {}) {
53 - const result2 = parseAriaSnapshot(yaml3, text2, options2);
54 - if (result2.errors.length)
55 - throw new Error(result2.errors[0].message);
56 - return result2.fragment;
57 -}
58 -function parseAriaSnapshot(yaml3, text2, options2 = {}) {
59 - const lineCounter = new yaml3.LineCounter();
60 - const parseOptions = {
61 - keepSourceTokens: true,
62 - lineCounter,
63 - ...options2
64 - };
65 - const yamlDoc = yaml3.parseDocument(text2, parseOptions);
66 - const errors = [];
67 - const convertRange = (range) => {
68 - return [lineCounter.linePos(range[0]), lineCounter.linePos(range[1])];
69 - };
70 - const addError = (error) => {
71 - errors.push({
72 - message: error.message,
73 - range: [lineCounter.linePos(error.pos[0]), lineCounter.linePos(error.pos[1])]
74 - });
75 - };
76 - const convertSeq = (container, seq) => {
77 - for (const item of seq.items) {
78 - const itemIsString = item instanceof yaml3.Scalar && typeof item.value === "string";
79 - if (itemIsString) {
80 - const childNode = KeyParser.parse(item, parseOptions, errors);
81 - if (childNode) {
82 - container.children = container.children || [];
83 - container.children.push(childNode);
84 - }
85 - continue;
86 - }
87 - const itemIsMap = item instanceof yaml3.YAMLMap;
88 - if (itemIsMap) {
89 - convertMap(container, item);
90 - continue;
91 - }
92 - errors.push({
93 - message: "Sequence items should be strings or maps",
94 - range: convertRange(item.range || seq.range)
95 - });
96 - }
97 - };
98 - const convertMap = (container, map) => {
99 - for (const entry of map.items) {
100 - container.children = container.children || [];
101 - const keyIsString = entry.key instanceof yaml3.Scalar && typeof entry.key.value === "string";
102 - if (!keyIsString) {
103 - errors.push({
104 - message: "Only string keys are supported",
105 - range: convertRange(entry.key.range || map.range)
106 - });
107 - continue;
108 - }
109 - const key = entry.key;
110 - const value2 = entry.value;
111 - if (key.value === "text") {
112 - const valueIsString = value2 instanceof yaml3.Scalar && typeof value2.value === "string";
113 - if (!valueIsString) {
114 - errors.push({
115 - message: "Text value should be a string",
116 - range: convertRange(entry.value.range || map.range)
117 - });
118 - continue;
119 - }
120 - container.children.push({
121 - kind: "text",
122 - text: textValue(value2.value)
123 - });
124 - continue;
125 - }
126 - if (key.value === "/children") {
127 - const valueIsString = value2 instanceof yaml3.Scalar && typeof value2.value === "string";
128 - if (!valueIsString || value2.value !== "contain" && value2.value !== "equal" && value2.value !== "deep-equal") {
129 - errors.push({
130 - message: 'Strict value should be "contain", "equal" or "deep-equal"',
131 - range: convertRange(entry.value.range || map.range)
132 - });
133 - continue;
134 - }
135 - container.containerMode = value2.value;
136 - continue;
137 - }
138 - if (key.value.startsWith("/")) {
139 - const valueIsString = value2 instanceof yaml3.Scalar && typeof value2.value === "string";
140 - if (!valueIsString) {
141 - errors.push({
142 - message: "Property value should be a string",
143 - range: convertRange(entry.value.range || map.range)
144 - });
145 - continue;
146 - }
147 - container.props = container.props ?? {};
148 - container.props[key.value.slice(1)] = textValue(value2.value);
149 - continue;
150 - }
151 - const childNode = KeyParser.parse(key, parseOptions, errors);
152 - if (!childNode)
153 - continue;
154 - const valueIsScalar = value2 instanceof yaml3.Scalar;
155 - if (valueIsScalar) {
156 - const type3 = typeof value2.value;
157 - if (type3 !== "string" && type3 !== "number" && type3 !== "boolean") {
158 - errors.push({
159 - message: "Node value should be a string or a sequence",
160 - range: convertRange(entry.value.range || map.range)
161 - });
162 - continue;
163 - }
164 - container.children.push({
165 - ...childNode,
166 - children: [{
167 - kind: "text",
168 - text: textValue(String(value2.value))
169 - }]
170 - });
171 - continue;
172 - }
173 - const valueIsSequence = value2 instanceof yaml3.YAMLSeq;
174 - if (valueIsSequence) {
175 - container.children.push(childNode);
176 - convertSeq(childNode, value2);
177 - continue;
178 - }
179 - errors.push({
180 - message: "Map values should be strings or sequences",
181 - range: convertRange(entry.value.range || map.range)
182 - });
183 - }
184 - };
185 - const fragment = { kind: "role", role: "fragment" };
186 - yamlDoc.errors.forEach(addError);
187 - if (errors.length)
188 - return { errors, fragment };
189 - if (!(yamlDoc.contents instanceof yaml3.YAMLSeq)) {
190 - errors.push({
191 - message: 'Aria snapshot must be a YAML sequence, elements starting with " -"',
192 - range: yamlDoc.contents ? convertRange(yamlDoc.contents.range) : [{ line: 0, col: 0 }, { line: 0, col: 0 }]
193 - });
194 - }
195 - if (errors.length)
196 - return { errors, fragment };
197 - convertSeq(fragment, yamlDoc.contents);
198 - if (errors.length)
199 - return { errors, fragment: emptyFragment };
200 - if (fragment.children?.length === 1 && (!fragment.containerMode || fragment.containerMode === "contain"))
201 - return { fragment: fragment.children[0], errors: [] };
202 - return { fragment, errors: [] };
203 -}
204 -function normalizeWhitespace(text2) {
205 - return text2.replace(/[\u200b\u00ad]/g, "").replace(/[\r\n\s\t]+/g, " ").trim();
206 -}
207 -function textValue(value2) {
208 - return {
209 - raw: value2,
210 - normalized: normalizeWhitespace(value2)
211 - };
212 -}
213 -function findNewNode(from, to) {
214 - function fillMap(root, map, position) {
215 - let size = 1;
216 - let childPosition = position + size;
217 - for (const child of root.children || []) {
218 - if (typeof child === "string") {
219 - size++;
220 - childPosition++;
221 - } else {
222 - size += fillMap(child, map, childPosition);
223 - childPosition += size;
224 - }
225 - }
226 - if (!["none", "presentation", "fragment", "iframe", "generic"].includes(root.role) && root.name) {
227 - let byRole = map.get(root.role);
228 - if (!byRole) {
229 - byRole = /* @__PURE__ */ new Map();
230 - map.set(root.role, byRole);
231 - }
232 - const existing = byRole.get(root.name);
233 - const sizeAndPosition = size * 100 - position;
234 - if (!existing || existing.sizeAndPosition < sizeAndPosition)
235 - byRole.set(root.name, { node: root, sizeAndPosition });
236 - }
237 - return size;
238 - }
239 - const fromMap = /* @__PURE__ */ new Map();
240 - if (from)
241 - fillMap(from, fromMap, 0);
242 - const toMap = /* @__PURE__ */ new Map();
243 - fillMap(to, toMap, 0);
244 - const result2 = [];
245 - for (const [role, byRole] of toMap) {
246 - for (const [name, byName] of byRole) {
247 - const inFrom = fromMap.get(role)?.get(name);
248 - if (!inFrom)
249 - result2.push(byName);
250 - }
251 - }
252 - result2.sort((a, b) => b.sizeAndPosition - a.sizeAndPosition);
253 - return result2[0]?.node;
254 -}
255 -var emptyFragment, KeyParser, ParserError;
256 -var init_ariaSnapshot = __esm({
257 - "packages/isomorphic/ariaSnapshot.ts"() {
258 - "use strict";
259 - emptyFragment = { kind: "role", role: "fragment" };
260 - KeyParser = class _KeyParser {
261 - static parse(text2, options2, errors) {
262 - try {
263 - return new _KeyParser(text2.value)._parse();
264 - } catch (e) {
265 - if (e instanceof ParserError) {
266 - const message = options2.prettyErrors === false ? e.message : e.message + ":\n\n" + text2.value + "\n" + " ".repeat(e.pos) + "^\n";
267 - errors.push({
268 - message,
269 - range: [options2.lineCounter.linePos(text2.range[0]), options2.lineCounter.linePos(text2.range[0] + e.pos)]
270 - });
271 - return null;
272 - }
273 - throw e;
274 - }
275 - }
276 - constructor(input) {
277 - this._input = input;
278 - this._pos = 0;
279 - this._length = input.length;
280 - }
281 - _peek() {
282 - return this._input[this._pos] || "";
283 - }
284 - _next() {
285 - if (this._pos < this._length)
286 - return this._input[this._pos++];
287 - return null;
288 - }
289 - _eof() {
290 - return this._pos >= this._length;
291 - }
292 - _isWhitespace() {
293 - return !this._eof() && /\s/.test(this._peek());
294 - }
295 - _skipWhitespace() {
296 - while (this._isWhitespace())
297 - this._pos++;
298 - }
299 - _readIdentifier(type3) {
300 - if (this._eof())
301 - this._throwError(`Unexpected end of input when expecting ${type3}`);
302 - const start3 = this._pos;
303 - while (!this._eof() && /[a-zA-Z]/.test(this._peek()))
304 - this._pos++;
305 - return this._input.slice(start3, this._pos);
306 - }
307 - _readString() {
308 - let result2 = "";
309 - let escaped2 = false;
310 - while (!this._eof()) {
311 - const ch = this._next();
312 - if (escaped2) {
313 - result2 += ch;
314 - escaped2 = false;
315 - } else if (ch === "\\") {
316 - escaped2 = true;
317 - } else if (ch === '"') {
318 - return result2;
319 - } else {
320 - result2 += ch;
321 - }
322 - }
323 - this._throwError("Unterminated string");
324 - }
325 - _throwError(message, offset = 0) {
326 - throw new ParserError(message, offset || this._pos);
327 - }
328 - _readRegex() {
329 - let result2 = "";
330 - let escaped2 = false;
331 - let insideClass = false;
332 - while (!this._eof()) {
333 - const ch = this._next();
334 - if (escaped2) {
335 - result2 += ch;
336 - escaped2 = false;
337 - } else if (ch === "\\") {
338 - escaped2 = true;
339 - result2 += ch;
340 - } else if (ch === "/" && !insideClass) {
341 - return { pattern: result2 };
342 - } else if (ch === "[") {
343 - insideClass = true;
344 - result2 += ch;
345 - } else if (ch === "]" && insideClass) {
346 - result2 += ch;
347 - insideClass = false;
348 - } else {
349 - result2 += ch;
350 - }
351 - }
352 - this._throwError("Unterminated regex");
353 - }
354 - _readStringOrRegex() {
355 - const ch = this._peek();
356 - if (ch === '"') {
357 - this._next();
358 - return normalizeWhitespace(this._readString());
359 - }
360 - if (ch === "/") {
361 - this._next();
362 - return this._readRegex();
363 - }
364 - return null;
365 - }
366 - _readAttributes(result2) {
367 - let errorPos = this._pos;
368 - while (true) {
369 - this._skipWhitespace();
370 - if (this._peek() === "[") {
371 - this._next();
372 - this._skipWhitespace();
373 - errorPos = this._pos;
374 - const flagName = this._readIdentifier("attribute");
375 - this._skipWhitespace();
376 - let flagValue = "";
377 - if (this._peek() === "=") {
378 - this._next();
379 - this._skipWhitespace();
380 - errorPos = this._pos;
381 - while (this._peek() !== "]" && !this._isWhitespace() && !this._eof())
382 - flagValue += this._next();
383 - }
384 - this._skipWhitespace();
385 - if (this._peek() !== "]")
386 - this._throwError("Expected ]");
387 - this._next();
388 - this._applyAttribute(result2, flagName, flagValue || "true", errorPos);
389 - } else {
390 - break;
391 - }
392 - }
393 - }
394 - _parse() {
395 - this._skipWhitespace();
396 - const role = this._readIdentifier("role");
397 - this._skipWhitespace();
398 - const name = this._readStringOrRegex() || "";
399 - const result2 = { kind: "role", role, name };
400 - this._readAttributes(result2);
401 - this._skipWhitespace();
402 - if (!this._eof())
403 - this._throwError("Unexpected input");
404 - return result2;
405 - }
406 - _applyAttribute(node, key, value2, errorPos) {
407 - if (key === "checked") {
408 - this._assert(value2 === "true" || value2 === "false" || value2 === "mixed", 'Value of "checked" attribute must be a boolean or "mixed"', errorPos);
409 - node.checked = value2 === "true" ? true : value2 === "false" ? false : "mixed";
410 - return;
411 - }
412 - if (key === "disabled") {
413 - this._assert(value2 === "true" || value2 === "false", 'Value of "disabled" attribute must be a boolean', errorPos);
414 - node.disabled = value2 === "true";
415 - return;
416 - }
417 - if (key === "expanded") {
418 - this._assert(value2 === "true" || value2 === "false", 'Value of "expanded" attribute must be a boolean', errorPos);
419 - node.expanded = value2 === "true";
420 - return;
421 - }
422 - if (key === "active") {
423 - this._assert(value2 === "true" || value2 === "false", 'Value of "active" attribute must be a boolean', errorPos);
424 - node.active = value2 === "true";
425 - return;
426 - }
427 - if (key === "level") {
428 - this._assert(!isNaN(Number(value2)), 'Value of "level" attribute must be a number', errorPos);
429 - node.level = Number(value2);
430 - return;
431 - }
432 - if (key === "pressed") {
433 - this._assert(value2 === "true" || value2 === "false" || value2 === "mixed", 'Value of "pressed" attribute must be a boolean or "mixed"', errorPos);
434 - node.pressed = value2 === "true" ? true : value2 === "false" ? false : "mixed";
435 - return;
436 - }
437 - if (key === "selected") {
438 - this._assert(value2 === "true" || value2 === "false", 'Value of "selected" attribute must be a boolean', errorPos);
439 - node.selected = value2 === "true";
440 - return;
441 - }
442 - this._assert(false, `Unsupported attribute [${key}]`, errorPos);
443 - }
444 - _assert(value2, message, valuePos) {
445 - if (!value2)
446 - this._throwError(message || "Assertion error", valuePos);
447 - }
448 - };
449 - ParserError = class extends Error {
450 - constructor(message, pos) {
451 - super(message);
452 - this.pos = pos;
453 - }
454 - };
455 - }
456 -});
457 -
458 -// packages/isomorphic/stringUtils.ts
459 -function escapeWithQuotes(text2, char = "'") {
460 - const stringified = JSON.stringify(text2);
461 - const escapedText = stringified.substring(1, stringified.length - 1).replace(/\\"/g, '"');
462 - if (char === "'")
463 - return char + escapedText.replace(/[']/g, "\\'") + char;
464 - if (char === '"')
465 - return char + escapedText.replace(/["]/g, '\\"') + char;
466 - if (char === "`")
467 - return char + escapedText.replace(/[`]/g, "\\`") + char;
468 - throw new Error("Invalid escape char");
469 -}
470 -function escapeTemplateString(text2) {
471 - return text2.replace(/\\/g, "\\\\").replace(/`/g, "\\`").replace(/\$\{/g, "\\${");
472 -}
473 -function isString(obj) {
474 - return typeof obj === "string" || obj instanceof String;
475 -}
476 -function toTitleCase(name) {
477 - return name.charAt(0).toUpperCase() + name.substring(1);
478 -}
479 -function toSnakeCase(name) {
480 - return name.replace(/([a-z0-9])([A-Z])/g, "$1_$2").replace(/([A-Z])([A-Z][a-z])/g, "$1_$2").toLowerCase();
481 -}
482 -function formatObject(value2, indent = " ", mode = "multiline") {
483 - if (typeof value2 === "string")
484 - return escapeWithQuotes(value2, "'");
485 - if (Array.isArray(value2))
486 - return `[${value2.map((o) => formatObject(o)).join(", ")}]`;
487 - if (typeof value2 === "object") {
488 - const keys = Object.keys(value2).filter((key) => key !== "timeout" && value2[key] !== void 0).sort();
489 - if (!keys.length)
490 - return "{}";
491 - const tokens = [];
492 - for (const key of keys)
493 - tokens.push(`${key}: ${formatObject(value2[key])}`);
494 - if (mode === "multiline")
495 - return `{
496 -${tokens.map((t) => indent + t).join(`,
497 -`)}
498 -}`;
499 - return `{ ${tokens.join(", ")} }`;
500 - }
501 - return String(value2);
502 -}
503 -function formatObjectOrVoid(value2, indent = " ") {
504 - const result2 = formatObject(value2, indent);
505 - return result2 === "{}" ? "" : result2;
506 -}
507 -function quoteCSSAttributeValue(text2) {
508 - return `"${text2.replace(/["\\]/g, (char) => "\\" + char)}"`;
509 -}
510 -function cacheNormalizedWhitespaces() {
511 - normalizedWhitespaceCache = /* @__PURE__ */ new Map();
512 -}
513 -function normalizeWhiteSpace(text2) {
514 - let result2 = normalizedWhitespaceCache?.get(text2);
515 - if (result2 === void 0) {
516 - result2 = text2.replace(/[\u200b\u00ad]/g, "").trim().replace(/\s+/g, " ");
517 - normalizedWhitespaceCache?.set(text2, result2);
518 - }
519 - return result2;
520 -}
521 -function normalizeEscapedRegexQuotes(source8) {
522 - return source8.replace(/(^|[^\\])(\\\\)*\\(['"`])/g, "$1$2$3");
523 -}
524 -function escapeRegexForSelector(re2) {
525 - if (re2.unicode || re2.unicodeSets)
526 - return String(re2);
527 - return String(re2).replace(/(^|[^\\])(\\\\)*(["'`])/g, "$1$2\\$3").replace(/>>/g, "\\>\\>");
528 -}
529 -function escapeForTextSelector(text2, exact) {
530 - if (typeof text2 !== "string")
531 - return escapeRegexForSelector(text2);
532 - return `${JSON.stringify(text2)}${exact ? "s" : "i"}`;
533 -}
534 -function escapeForAttributeSelector(value2, exact) {
535 - if (typeof value2 !== "string")
536 - return escapeRegexForSelector(value2);
537 - return `"${value2.replace(/\\/g, "\\\\").replace(/["]/g, '\\"')}"${exact ? "s" : "i"}`;
538 -}
539 -function trimString(input, cap, suffix = "") {
540 - if (input.length <= cap)
541 - return input;
542 - const chars = [...input];
543 - if (chars.length > cap)
544 - return chars.slice(0, cap - suffix.length).join("") + suffix;
545 - return chars.join("");
546 -}
547 -function trimStringWithEllipsis(input, cap) {
548 - return trimString(input, cap, "\u2026");
549 -}
550 -function escapeRegExp(s) {
551 - return s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
552 -}
553 -function escapeHTMLAttribute(s) {
554 - return s.replace(/[&<>"']/ug, (char) => escaped[char]);
555 -}
556 -function escapeHTML(s) {
557 - return s.replace(/[&<]/ug, (char) => escaped[char]);
558 -}
559 -function longestCommonSubstring(s1, s2) {
560 - const n = s1.length;
561 - const m = s2.length;
562 - let maxLen = 0;
563 - let endingIndex = 0;
564 - const dp = Array(n + 1).fill(null).map(() => Array(m + 1).fill(0));
565 - for (let i = 1; i <= n; i++) {
566 - for (let j = 1; j <= m; j++) {
567 - if (s1[i - 1] === s2[j - 1]) {
568 - dp[i][j] = dp[i - 1][j - 1] + 1;
569 - if (dp[i][j] > maxLen) {
570 - maxLen = dp[i][j];
571 - endingIndex = i;
572 - }
573 - }
574 - }
575 - }
576 - return s1.slice(endingIndex - maxLen, endingIndex);
577 -}
578 -function parseRegex(regex) {
579 - if (regex[0] !== "/")
580 - throw new Error(`Invalid regex, must start with '/': ${regex}`);
581 - const lastSlash = regex.lastIndexOf("/");
582 - if (lastSlash <= 0)
583 - throw new Error(`Invalid regex, must end with '/' followed by optional flags: ${regex}`);
584 - const source8 = regex.slice(1, lastSlash);
585 - const flags = regex.slice(lastSlash + 1);
586 - return new RegExp(source8, flags);
587 -}
588 -function stripAnsiEscapes(str) {
589 - return str.replace(ansiRegex, "");
590 -}
591 -var normalizedWhitespaceCache, escaped, ansiRegex;
592 -var init_stringUtils = __esm({
593 - "packages/isomorphic/stringUtils.ts"() {
594 - "use strict";
595 - escaped = { "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#39;" };
596 - ansiRegex = new RegExp("([\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)|(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~])))", "g");
597 - }
598 -});
599 -
600 -// packages/isomorphic/rtti.ts
601 -function isRegExp(obj) {
602 - return obj instanceof RegExp || Object.prototype.toString.call(obj) === "[object RegExp]";
603 -}
604 -function isObject(obj) {
605 - return typeof obj === "object" && obj !== null;
606 -}
607 -function isError(obj) {
608 - return obj instanceof Error || obj && Object.getPrototypeOf(obj)?.name === "Error";
609 -}
610 -var init_rtti = __esm({
611 - "packages/isomorphic/rtti.ts"() {
612 - "use strict";
613 - init_stringUtils();
614 - }
615 -});
616 -
617 -// packages/isomorphic/expectUtils.ts
618 -function serializeExpectedTextValues(items, options2 = {}) {
619 - return items.map((i) => ({
620 - string: isString(i) ? i : void 0,
621 - regexSource: isRegExp(i) ? i.source : void 0,
622 - regexFlags: isRegExp(i) ? i.flags : void 0,
623 - matchSubstring: options2.matchSubstring,
624 - ignoreCase: options2.ignoreCase,
625 - normalizeWhiteSpace: options2.normalizeWhiteSpace
626 - }));
627 -}
628 -var init_expectUtils = __esm({
629 - "packages/isomorphic/expectUtils.ts"() {
630 - "use strict";
631 - init_rtti();
632 - }
633 -});
634 -
635 -// packages/isomorphic/assert.ts
636 -function assert(value2, message) {
637 - if (!value2)
638 - throw new Error(message || "Assertion error");
639 -}
640 -var init_assert = __esm({
641 - "packages/isomorphic/assert.ts"() {
642 - "use strict";
643 - }
644 -});
645 -
646 -// packages/isomorphic/colors.ts
647 -var webColors, noColors, applyStyle;
648 -var init_colors = __esm({
649 - "packages/isomorphic/colors.ts"() {
650 - "use strict";
651 - webColors = {
652 - enabled: true,
653 - reset: (text2) => applyStyle(0, 0, text2),
654 - bold: (text2) => applyStyle(1, 22, text2),
655 - dim: (text2) => applyStyle(2, 22, text2),
656 - italic: (text2) => applyStyle(3, 23, text2),
657 - underline: (text2) => applyStyle(4, 24, text2),
658 - inverse: (text2) => applyStyle(7, 27, text2),
659 - hidden: (text2) => applyStyle(8, 28, text2),
660 - strikethrough: (text2) => applyStyle(9, 29, text2),
661 - black: (text2) => applyStyle(30, 39, text2),
662 - red: (text2) => applyStyle(31, 39, text2),
663 - green: (text2) => applyStyle(32, 39, text2),
664 - yellow: (text2) => applyStyle(33, 39, text2),
665 - blue: (text2) => applyStyle(34, 39, text2),
666 - magenta: (text2) => applyStyle(35, 39, text2),
667 - cyan: (text2) => applyStyle(36, 39, text2),
668 - white: (text2) => applyStyle(37, 39, text2),
669 - gray: (text2) => applyStyle(90, 39, text2),
670 - grey: (text2) => applyStyle(90, 39, text2)
671 - };
672 - noColors = {
673 - enabled: false,
674 - reset: (t) => t,
675 - bold: (t) => t,
676 - dim: (t) => t,
677 - italic: (t) => t,
678 - underline: (t) => t,
679 - inverse: (t) => t,
680 - hidden: (t) => t,
681 - strikethrough: (t) => t,
682 - black: (t) => t,
683 - red: (t) => t,
684 - green: (t) => t,
685 - yellow: (t) => t,
686 - blue: (t) => t,
687 - magenta: (t) => t,
688 - cyan: (t) => t,
689 - white: (t) => t,
690 - gray: (t) => t,
691 - grey: (t) => t
692 - };
693 - applyStyle = (open7, close3, text2) => `\x1B[${open7}m${text2}\x1B[${close3}m`;
694 - }
695 -});
696 -
697 -// packages/isomorphic/headers.ts
698 -function headersObjectToArray(headers, separator, setCookieSeparator) {
699 - if (!setCookieSeparator)
700 - setCookieSeparator = separator;
701 - const result2 = [];
702 - for (const name in headers) {
703 - const values = headers[name];
704 - if (values === void 0)
705 - continue;
706 - if (separator) {
707 - const sep = name.toLowerCase() === "set-cookie" ? setCookieSeparator : separator;
708 - for (const value2 of values.split(sep))
709 - result2.push({ name, value: value2.trim() });
710 - } else {
711 - result2.push({ name, value: values });
712 - }
713 - }
714 - return result2;
715 -}
716 -function headersArrayToObject(headers, lowerCase) {
717 - const result2 = {};
718 - for (const { name, value: value2 } of headers)
719 - result2[lowerCase ? name.toLowerCase() : name] = value2;
720 - return result2;
721 -}
722 -var init_headers = __esm({
723 - "packages/isomorphic/headers.ts"() {
724 - "use strict";
725 - }
726 -});
727 -
728 -// packages/isomorphic/imageUtils.ts
729 -function padImageToSize(image, size) {
730 - if (image.width === size.width && image.height === size.height)
731 - return image;
732 - const buffer = new Uint8Array(size.width * size.height * 4);
733 - for (let y = 0; y < size.height; y++) {
734 - for (let x = 0; x < size.width; x++) {
735 - const to = (y * size.width + x) * 4;
736 - if (y < image.height && x < image.width) {
737 - const from = (y * image.width + x) * 4;
738 - buffer[to] = image.data[from];
739 - buffer[to + 1] = image.data[from + 1];
740 - buffer[to + 2] = image.data[from + 2];
741 - buffer[to + 3] = image.data[from + 3];
742 - } else {
743 - buffer[to] = 0;
744 - buffer[to + 1] = 0;
745 - buffer[to + 2] = 0;
746 - buffer[to + 3] = 0;
747 - }
748 - }
749 - }
750 - return { data: Buffer.from(buffer), width: size.width, height: size.height };
751 -}
752 -function scaleImageToSize(image, size) {
753 - const { data: src, width: w1, height: h1 } = image;
754 - const w2 = Math.max(1, Math.floor(size.width));
755 - const h2 = Math.max(1, Math.floor(size.height));
756 - if (w1 === w2 && h1 === h2)
757 - return image;
758 - if (w1 <= 0 || h1 <= 0)
759 - throw new Error("Invalid input image");
760 - if (size.width <= 0 || size.height <= 0 || !isFinite(size.width) || !isFinite(size.height))
761 - throw new Error("Invalid output dimensions");
762 - const clamp = (v, lo, hi) => v < lo ? lo : v > hi ? hi : v;
763 - const weights = (t, o) => {
764 - const t2 = t * t;
765 - const t3 = t2 * t;
766 - o[0] = -0.5 * t + 1 * t2 - 0.5 * t3;
767 - o[1] = 1 - 2.5 * t2 + 1.5 * t3;
768 - o[2] = 0.5 * t + 2 * t2 - 1.5 * t3;
769 - o[3] = -0.5 * t2 + 0.5 * t3;
770 - };
771 - const srcRowStride = w1 * 4;
772 - const dstRowStride = w2 * 4;
773 - const xOff = new Int32Array(w2 * 4);
774 - const xW = new Float32Array(w2 * 4);
775 - const wx = new Float32Array(4);
776 - const xScale = w1 / w2;
777 - for (let x = 0; x < w2; x++) {
778 - const sx = (x + 0.5) * xScale - 0.5;
779 - const sxi = Math.floor(sx);
780 - const t = sx - sxi;
781 - weights(t, wx);
782 - const b = x * 4;
783 - const i0 = clamp(sxi - 1, 0, w1 - 1);
784 - const i1 = clamp(sxi + 0, 0, w1 - 1);
785 - const i2 = clamp(sxi + 1, 0, w1 - 1);
786 - const i3 = clamp(sxi + 2, 0, w1 - 1);
787 - xOff[b + 0] = i0 << 2;
788 - xOff[b + 1] = i1 << 2;
789 - xOff[b + 2] = i2 << 2;
790 - xOff[b + 3] = i3 << 2;
791 - xW[b + 0] = wx[0];
792 - xW[b + 1] = wx[1];
793 - xW[b + 2] = wx[2];
794 - xW[b + 3] = wx[3];
795 - }
796 - const yRow = new Int32Array(h2 * 4);
797 - const yW = new Float32Array(h2 * 4);
798 - const wy = new Float32Array(4);
799 - const yScale = h1 / h2;
800 - for (let y = 0; y < h2; y++) {
801 - const sy = (y + 0.5) * yScale - 0.5;
802 - const syi = Math.floor(sy);
803 - const t = sy - syi;
804 - weights(t, wy);
805 - const b = y * 4;
806 - const j0 = clamp(syi - 1, 0, h1 - 1);
807 - const j1 = clamp(syi + 0, 0, h1 - 1);
808 - const j2 = clamp(syi + 1, 0, h1 - 1);
809 - const j3 = clamp(syi + 2, 0, h1 - 1);
810 - yRow[b + 0] = j0 * srcRowStride;
811 - yRow[b + 1] = j1 * srcRowStride;
812 - yRow[b + 2] = j2 * srcRowStride;
813 - yRow[b + 3] = j3 * srcRowStride;
814 - yW[b + 0] = wy[0];
815 - yW[b + 1] = wy[1];
816 - yW[b + 2] = wy[2];
817 - yW[b + 3] = wy[3];
818 - }
819 - const dst = new Uint8Array(w2 * h2 * 4);
820 - for (let y = 0; y < h2; y++) {
821 - const yb = y * 4;
822 - const rb0 = yRow[yb + 0];
823 - const rb1 = yRow[yb + 1];
824 - const rb2 = yRow[yb + 2];
825 - const rb3 = yRow[yb + 3];
826 - const wy0 = yW[yb + 0];
827 - const wy1 = yW[yb + 1];
828 - const wy2 = yW[yb + 2];
829 - const wy3 = yW[yb + 3];
830 - const dstBase = y * dstRowStride;
831 - for (let x = 0; x < w2; x++) {
832 - const xb = x * 4;
833 - const xo0 = xOff[xb + 0];
834 - const xo1 = xOff[xb + 1];
835 - const xo2 = xOff[xb + 2];
836 - const xo3 = xOff[xb + 3];
837 - const wx0 = xW[xb + 0];
838 - const wx1 = xW[xb + 1];
839 - const wx2 = xW[xb + 2];
840 - const wx3 = xW[xb + 3];
841 - const di = dstBase + (x << 2);
842 - for (let c = 0; c < 4; c++) {
843 - const r0 = src[rb0 + xo0 + c] * wx0 + src[rb0 + xo1 + c] * wx1 + src[rb0 + xo2 + c] * wx2 + src[rb0 + xo3 + c] * wx3;
844 - const r1 = src[rb1 + xo0 + c] * wx0 + src[rb1 + xo1 + c] * wx1 + src[rb1 + xo2 + c] * wx2 + src[rb1 + xo3 + c] * wx3;
845 - const r2 = src[rb2 + xo0 + c] * wx0 + src[rb2 + xo1 + c] * wx1 + src[rb2 + xo2 + c] * wx2 + src[rb2 + xo3 + c] * wx3;
846 - const r3 = src[rb3 + xo0 + c] * wx0 + src[rb3 + xo1 + c] * wx1 + src[rb3 + xo2 + c] * wx2 + src[rb3 + xo3 + c] * wx3;
847 - const v = r0 * wy0 + r1 * wy1 + r2 * wy2 + r3 * wy3;
848 - dst[di + c] = v < 0 ? 0 : v > 255 ? 255 : v | 0;
849 - }
850 - }
851 - }
852 - return { data: Buffer.from(dst.buffer), width: w2, height: h2 };
853 -}
854 -var init_imageUtils = __esm({
855 - "packages/isomorphic/imageUtils.ts"() {
856 - "use strict";
857 - }
858 -});
859 -
860 -// packages/isomorphic/jsonSchema.ts
861 -function validate(value2, schema, path59) {
862 - const errors = [];
863 - if (schema.oneOf) {
864 - let bestErrors;
865 - for (const variant of schema.oneOf) {
866 - const variantErrors = validate(value2, variant, path59);
867 - if (variantErrors.length === 0)
868 - return [];
869 - if (!bestErrors || variantErrors.length < bestErrors.length)
870 - bestErrors = variantErrors;
871 - }
872 - if (bestErrors.length === 1 && bestErrors[0].startsWith(`${path59}: expected `))
873 - return [`${path59}: does not match any of the expected types`];
874 - return bestErrors;
875 - }
876 - if (schema.type === "string") {
877 - if (typeof value2 !== "string") {
878 - errors.push(`${path59}: expected string, got ${typeof value2}`);
879 - return errors;
880 - }
881 - if (schema.pattern && !cachedRegex(schema.pattern).test(value2))
882 - errors.push(schema.patternError || `${path59}: must match pattern "${schema.pattern}"`);
883 - return errors;
884 - }
885 - if (schema.type === "array") {
886 - if (!Array.isArray(value2)) {
887 - errors.push(`${path59}: expected array, got ${typeof value2}`);
888 - return errors;
889 - }
890 - if (schema.items) {
891 - for (let i = 0; i < value2.length; i++)
892 - errors.push(...validate(value2[i], schema.items, `${path59}[${i}]`));
893 - }
894 - return errors;
895 - }
896 - if (schema.type === "object") {
897 - if (!value2 || typeof value2 !== "object" || Array.isArray(value2)) {
898 - errors.push(`${path59}: expected object, got ${Array.isArray(value2) ? "array" : typeof value2}`);
899 - return errors;
900 - }
901 - const obj = value2;
902 - for (const key of schema.required || []) {
903 - if (obj[key] === void 0)
904 - errors.push(`${path59}.${key}: required`);
905 - }
906 - for (const [key, propSchema] of Object.entries(schema.properties || {})) {
907 - if (obj[key] !== void 0)
908 - errors.push(...validate(obj[key], propSchema, `${path59}.${key}`));
909 - }
910 - return errors;
911 - }
912 - return errors;
913 -}
914 -function cachedRegex(pattern) {
915 - let regex = regexCache.get(pattern);
916 - if (!regex) {
917 - regex = new RegExp(pattern);
918 - regexCache.set(pattern, regex);
919 - }
920 - return regex;
921 -}
922 -var regexCache;
923 -var init_jsonSchema = __esm({
924 - "packages/isomorphic/jsonSchema.ts"() {
925 - "use strict";
926 - regexCache = /* @__PURE__ */ new Map();
927 - }
928 -});
929 -
930 -// packages/isomorphic/cssTokenizer.ts
931 -function digit(code) {
932 - return between(code, 48, 57);
933 -}
934 -function hexdigit(code) {
935 - return digit(code) || between(code, 65, 70) || between(code, 97, 102);
936 -}
937 -function uppercaseletter(code) {
938 - return between(code, 65, 90);
939 -}
940 -function lowercaseletter(code) {
941 - return between(code, 97, 122);
942 -}
943 -function letter(code) {
944 - return uppercaseletter(code) || lowercaseletter(code);
945 -}
946 -function nonascii(code) {
947 - return code >= 128;
948 -}
949 -function namestartchar(code) {
950 - return letter(code) || nonascii(code) || code === 95;
951 -}
952 -function namechar(code) {
953 - return namestartchar(code) || digit(code) || code === 45;
954 -}
955 -function nonprintable(code) {
956 - return between(code, 0, 8) || code === 11 || between(code, 14, 31) || code === 127;
957 -}
958 -function newline(code) {
959 - return code === 10;
960 -}
961 -function whitespace(code) {
962 - return newline(code) || code === 9 || code === 32;
963 -}
964 -function preprocess(str) {
965 - const codepoints = [];
966 - for (let i = 0; i < str.length; i++) {
967 - let code = str.charCodeAt(i);
968 - if (code === 13 && str.charCodeAt(i + 1) === 10) {
969 - code = 10;
970 - i++;
971 - }
972 - if (code === 13 || code === 12)
973 - code = 10;
974 - if (code === 0)
975 - code = 65533;
976 - if (between(code, 55296, 56319) && between(str.charCodeAt(i + 1), 56320, 57343)) {
977 - const lead = code - 55296;
978 - const trail = str.charCodeAt(i + 1) - 56320;
979 - code = Math.pow(2, 16) + lead * Math.pow(2, 10) + trail;
980 - i++;
981 - }
982 - codepoints.push(code);
983 - }
984 - return codepoints;
985 -}
986 -function stringFromCode(code) {
987 - if (code <= 65535)
988 - return String.fromCharCode(code);
989 - code -= Math.pow(2, 16);
990 - const lead = Math.floor(code / Math.pow(2, 10)) + 55296;
991 - const trail = code % Math.pow(2, 10) + 56320;
992 - return String.fromCharCode(lead) + String.fromCharCode(trail);
993 -}
994 -function tokenize(str1) {
995 - const str = preprocess(str1);
996 - let i = -1;
997 - const tokens = [];
998 - let code;
999 - let line = 0;
1000 - let column = 0;
1001 - let lastLineLength = 0;
1002 - const incrLineno = function() {
1003 - line += 1;
1004 - lastLineLength = column;
1005 - column = 0;
1006 - };
1007 - const locStart = { line, column };
1008 - const codepoint = function(i2) {
1009 - if (i2 >= str.length)
1010 - return -1;
1011 - return str[i2];
1012 - };
1013 - const next = function(num) {
1014 - if (num === void 0)
1015 - num = 1;
1016 - if (num > 3)
1017 - throw "Spec Error: no more than three codepoints of lookahead.";
1018 - return codepoint(i + num);
1019 - };
1020 - const consume = function(num) {
1021 - if (num === void 0)
1022 - num = 1;
1023 - i += num;
1024 - code = codepoint(i);
1025 - if (newline(code))
1026 - incrLineno();
1027 - else
1028 - column += num;
1029 - return true;
1030 - };
1031 - const reconsume = function() {
1032 - i -= 1;
1033 - if (newline(code)) {
1034 - line -= 1;
1035 - column = lastLineLength;
1036 - } else {
1037 - column -= 1;
1038 - }
1039 - locStart.line = line;
1040 - locStart.column = column;
1041 - return true;
1042 - };
1043 - const eof = function(codepoint2) {
1044 - if (codepoint2 === void 0)
1045 - codepoint2 = code;
1046 - return codepoint2 === -1;
1047 - };
1048 - const donothing = function() {
1049 - };
1050 - const parseerror = function() {
1051 - };
1052 - const consumeAToken = function() {
1053 - consumeComments();
1054 - consume();
1055 - if (whitespace(code)) {
1056 - while (whitespace(next()))
1057 - consume();
1058 - return new WhitespaceToken();
1059 - } else if (code === 34) {
1060 - return consumeAStringToken();
1061 - } else if (code === 35) {
1062 - if (namechar(next()) || areAValidEscape(next(1), next(2))) {
1063 - const token = new HashToken("");
1064 - if (wouldStartAnIdentifier(next(1), next(2), next(3)))
1065 - token.type = "id";
1066 - token.value = consumeAName();
1067 - return token;
1068 - } else {
1069 - return new DelimToken(code);
1070 - }
1071 - } else if (code === 36) {
1072 - if (next() === 61) {
1073 - consume();
1074 - return new SuffixMatchToken();
1075 - } else {
1076 - return new DelimToken(code);
1077 - }
1078 - } else if (code === 39) {
1079 - return consumeAStringToken();
1080 - } else if (code === 40) {
1081 - return new OpenParenToken();
1082 - } else if (code === 41) {
1083 - return new CloseParenToken();
1084 - } else if (code === 42) {
1085 - if (next() === 61) {
1086 - consume();
1087 - return new SubstringMatchToken();
1088 - } else {
1089 - return new DelimToken(code);
1090 - }
1091 - } else if (code === 43) {
1092 - if (startsWithANumber()) {
1093 - reconsume();
1094 - return consumeANumericToken();
1095 - } else {
1096 - return new DelimToken(code);
1097 - }
1098 - } else if (code === 44) {
1099 - return new CommaToken();
1100 - } else if (code === 45) {
1101 - if (startsWithANumber()) {
1102 - reconsume();
1103 - return consumeANumericToken();
1104 - } else if (next(1) === 45 && next(2) === 62) {
1105 - consume(2);
1106 - return new CDCToken();
1107 - } else if (startsWithAnIdentifier()) {
1108 - reconsume();
1109 - return consumeAnIdentlikeToken();
1110 - } else {
1111 - return new DelimToken(code);
1112 - }
1113 - } else if (code === 46) {
1114 - if (startsWithANumber()) {
1115 - reconsume();
1116 - return consumeANumericToken();
1117 - } else {
1118 - return new DelimToken(code);
1119 - }
1120 - } else if (code === 58) {
1121 - return new ColonToken();
1122 - } else if (code === 59) {
1123 - return new SemicolonToken();
1124 - } else if (code === 60) {
1125 - if (next(1) === 33 && next(2) === 45 && next(3) === 45) {
1126 - consume(3);
1127 - return new CDOToken();
1128 - } else {
1129 - return new DelimToken(code);
1130 - }
1131 - } else if (code === 64) {
1132 - if (wouldStartAnIdentifier(next(1), next(2), next(3)))
1133 - return new AtKeywordToken(consumeAName());
1134 - else
1135 - return new DelimToken(code);
1136 - } else if (code === 91) {
1137 - return new OpenSquareToken();
1138 - } else if (code === 92) {
1139 - if (startsWithAValidEscape()) {
1140 - reconsume();
1141 - return consumeAnIdentlikeToken();
1142 - } else {
1143 - parseerror();
1144 - return new DelimToken(code);
1145 - }
1146 - } else if (code === 93) {
1147 - return new CloseSquareToken();
1148 - } else if (code === 94) {
1149 - if (next() === 61) {
1150 - consume();
1151 - return new PrefixMatchToken();
1152 - } else {
1153 - return new DelimToken(code);
1154 - }
1155 - } else if (code === 123) {
1156 - return new OpenCurlyToken();
1157 - } else if (code === 124) {
1158 - if (next() === 61) {
1159 - consume();
1160 - return new DashMatchToken();
1161 - } else if (next() === 124) {
1162 - consume();
1163 - return new ColumnToken();
1164 - } else {
1165 - return new DelimToken(code);
1166 - }
1167 - } else if (code === 125) {
1168 - return new CloseCurlyToken();
1169 - } else if (code === 126) {
1170 - if (next() === 61) {
1171 - consume();
1172 - return new IncludeMatchToken();
1173 - } else {
1174 - return new DelimToken(code);
1175 - }
1176 - } else if (digit(code)) {
1177 - reconsume();
1178 - return consumeANumericToken();
1179 - } else if (namestartchar(code)) {
1180 - reconsume();
1181 - return consumeAnIdentlikeToken();
1182 - } else if (eof()) {
1183 - return new EOFToken();
1184 - } else {
1185 - return new DelimToken(code);
1186 - }
1187 - };
1188 - const consumeComments = function() {
1189 - while (next(1) === 47 && next(2) === 42) {
1190 - consume(2);
1191 - while (true) {
1192 - consume();
1193 - if (code === 42 && next() === 47) {
1194 - consume();
1195 - break;
1196 - } else if (eof()) {
1197 - parseerror();
1198 - return;
1199 - }
1200 - }
1201 - }
1202 - };
1203 - const consumeANumericToken = function() {
1204 - const num = consumeANumber();
1205 - if (wouldStartAnIdentifier(next(1), next(2), next(3))) {
1206 - const token = new DimensionToken();
1207 - token.value = num.value;
1208 - token.repr = num.repr;
1209 - token.type = num.type;
1210 - token.unit = consumeAName();
1211 - return token;
1212 - } else if (next() === 37) {
1213 - consume();
1214 - const token = new PercentageToken();
1215 - token.value = num.value;
1216 - token.repr = num.repr;
1217 - return token;
1218 - } else {
1219 - const token = new NumberToken();
1220 - token.value = num.value;
1221 - token.repr = num.repr;
1222 - token.type = num.type;
1223 - return token;
1224 - }
1225 - };
1226 - const consumeAnIdentlikeToken = function() {
1227 - const str2 = consumeAName();
1228 - if (str2.toLowerCase() === "url" && next() === 40) {
1229 - consume();
1230 - while (whitespace(next(1)) && whitespace(next(2)))
1231 - consume();
1232 - if (next() === 34 || next() === 39)
1233 - return new FunctionToken(str2);
1234 - else if (whitespace(next()) && (next(2) === 34 || next(2) === 39))
1235 - return new FunctionToken(str2);
1236 - else
1237 - return consumeAURLToken();
1238 - } else if (next() === 40) {
1239 - consume();
1240 - return new FunctionToken(str2);
1241 - } else {
1242 - return new IdentToken(str2);
1243 - }
1244 - };
1245 - const consumeAStringToken = function(endingCodePoint) {
1246 - if (endingCodePoint === void 0)
1247 - endingCodePoint = code;
1248 - let string = "";
1249 - while (consume()) {
1250 - if (code === endingCodePoint || eof()) {
1251 - return new StringToken(string);
1252 - } else if (newline(code)) {
1253 - parseerror();
1254 - reconsume();
1255 - return new BadStringToken();
1256 - } else if (code === 92) {
1257 - if (eof(next()))
1258 - donothing();
1259 - else if (newline(next()))
1260 - consume();
1261 - else
1262 - string += stringFromCode(consumeEscape());
1263 - } else {
1264 - string += stringFromCode(code);
1265 - }
1266 - }
1267 - throw new Error("Internal error");
1268 - };
1269 - const consumeAURLToken = function() {
1270 - const token = new URLToken("");
1271 - while (whitespace(next()))
1272 - consume();
1273 - if (eof(next()))
1274 - return token;
1275 - while (consume()) {
1276 - if (code === 41 || eof()) {
1277 - return token;
1278 - } else if (whitespace(code)) {
1279 - while (whitespace(next()))
1280 - consume();
1281 - if (next() === 41 || eof(next())) {
1282 - consume();
1283 - return token;
1284 - } else {
1285 - consumeTheRemnantsOfABadURL();
1286 - return new BadURLToken();
1287 - }
1288 - } else if (code === 34 || code === 39 || code === 40 || nonprintable(code)) {
1289 - parseerror();
1290 - consumeTheRemnantsOfABadURL();
1291 - return new BadURLToken();
1292 - } else if (code === 92) {
1293 - if (startsWithAValidEscape()) {
1294 - token.value += stringFromCode(consumeEscape());
1295 - } else {
1296 - parseerror();
1297 - consumeTheRemnantsOfABadURL();
1298 - return new BadURLToken();
1299 - }
1300 - } else {
1301 - token.value += stringFromCode(code);
1302 - }
1303 - }
1304 - throw new Error("Internal error");
1305 - };
1306 - const consumeEscape = function() {
1307 - consume();
1308 - if (hexdigit(code)) {
1309 - const digits = [code];
1310 - for (let total = 0; total < 5; total++) {
1311 - if (hexdigit(next())) {
1312 - consume();
1313 - digits.push(code);
1314 - } else {
1315 - break;
1316 - }
1317 - }
1318 - if (whitespace(next()))
1319 - consume();
1320 - let value2 = parseInt(digits.map(function(x) {
1321 - return String.fromCharCode(x);
1322 - }).join(""), 16);
1323 - if (value2 > maximumallowedcodepoint)
1324 - value2 = 65533;
1325 - return value2;
1326 - } else if (eof()) {
1327 - return 65533;
1328 - } else {
1329 - return code;
1330 - }
1331 - };
1332 - const areAValidEscape = function(c1, c2) {
1333 - if (c1 !== 92)
1334 - return false;
1335 - if (newline(c2))
1336 - return false;
1337 - return true;
1338 - };
1339 - const startsWithAValidEscape = function() {
1340 - return areAValidEscape(code, next());
1341 - };
1342 - const wouldStartAnIdentifier = function(c1, c2, c3) {
1343 - if (c1 === 45)
1344 - return namestartchar(c2) || c2 === 45 || areAValidEscape(c2, c3);
1345 - else if (namestartchar(c1))
1346 - return true;
1347 - else if (c1 === 92)
1348 - return areAValidEscape(c1, c2);
1349 - else
1350 - return false;
1351 - };
1352 - const startsWithAnIdentifier = function() {
1353 - return wouldStartAnIdentifier(code, next(1), next(2));
1354 - };
1355 - const wouldStartANumber = function(c1, c2, c3) {
1356 - if (c1 === 43 || c1 === 45) {
1357 - if (digit(c2))
1358 - return true;
1359 - if (c2 === 46 && digit(c3))
1360 - return true;
1361 - return false;
1362 - } else if (c1 === 46) {
1363 - if (digit(c2))
1364 - return true;
1365 - return false;
1366 - } else if (digit(c1)) {
1367 - return true;
1368 - } else {
1369 - return false;
1370 - }
1371 - };
1372 - const startsWithANumber = function() {
1373 - return wouldStartANumber(code, next(1), next(2));
1374 - };
1375 - const consumeAName = function() {
1376 - let result2 = "";
1377 - while (consume()) {
1378 - if (namechar(code)) {
1379 - result2 += stringFromCode(code);
1380 - } else if (startsWithAValidEscape()) {
1381 - result2 += stringFromCode(consumeEscape());
1382 - } else {
1383 - reconsume();
1384 - return result2;
1385 - }
1386 - }
1387 - throw new Error("Internal parse error");
1388 - };
1389 - const consumeANumber = function() {
1390 - let repr = "";
1391 - let type3 = "integer";
1392 - if (next() === 43 || next() === 45) {
1393 - consume();
1394 - repr += stringFromCode(code);
1395 - }
1396 - while (digit(next())) {
1397 - consume();
1398 - repr += stringFromCode(code);
1399 - }
1400 - if (next(1) === 46 && digit(next(2))) {
1401 - consume();
1402 - repr += stringFromCode(code);
1403 - consume();
1404 - repr += stringFromCode(code);
1405 - type3 = "number";
1406 - while (digit(next())) {
1407 - consume();
1408 - repr += stringFromCode(code);
1409 - }
1410 - }
1411 - const c1 = next(1);
1412 - const c2 = next(2);
1413 - const c3 = next(3);
1414 - if ((c1 === 69 || c1 === 101) && digit(c2)) {
1415 - consume();
1416 - repr += stringFromCode(code);
1417 - consume();
1418 - repr += stringFromCode(code);
1419 - type3 = "number";
1420 - while (digit(next())) {
1421 - consume();
1422 - repr += stringFromCode(code);
1423 - }
1424 - } else if ((c1 === 69 || c1 === 101) && (c2 === 43 || c2 === 45) && digit(c3)) {
1425 - consume();
1426 - repr += stringFromCode(code);
1427 - consume();
1428 - repr += stringFromCode(code);
1429 - consume();
1430 - repr += stringFromCode(code);
1431 - type3 = "number";
1432 - while (digit(next())) {
1433 - consume();
1434 - repr += stringFromCode(code);
1435 - }
1436 - }
1437 - const value2 = convertAStringToANumber(repr);
1438 - return { type: type3, value: value2, repr };
1439 - };
1440 - const convertAStringToANumber = function(string) {
1441 - return +string;
1442 - };
1443 - const consumeTheRemnantsOfABadURL = function() {
1444 - while (consume()) {
1445 - if (code === 41 || eof()) {
1446 - return;
1447 - } else if (startsWithAValidEscape()) {
1448 - consumeEscape();
1449 - donothing();
1450 - } else {
1451 - donothing();
1452 - }
1453 - }
1454 - };
1455 - let iterationCount = 0;
1456 - while (!eof(next())) {
1457 - tokens.push(consumeAToken());
1458 - iterationCount++;
1459 - if (iterationCount > str.length * 2)
1460 - throw new Error("I'm infinite-looping!");
1461 - }
1462 - return tokens;
1463 -}
1464 -function escapeIdent(string) {
1465 - string = "" + string;
1466 - let result2 = "";
1467 - const firstcode = string.charCodeAt(0);
1468 - for (let i = 0; i < string.length; i++) {
1469 - const code = string.charCodeAt(i);
1470 - if (code === 0)
1471 - throw new InvalidCharacterError("Invalid character: the input contains U+0000.");
1472 - if (between(code, 1, 31) || code === 127 || i === 0 && between(code, 48, 57) || i === 1 && between(code, 48, 57) && firstcode === 45)
1473 - result2 += "\\" + code.toString(16) + " ";
1474 - else if (code >= 128 || code === 45 || code === 95 || between(code, 48, 57) || between(code, 65, 90) || between(code, 97, 122))
1475 - result2 += string[i];
1476 - else
1477 - result2 += "\\" + string[i];
1478 - }
1479 - return result2;
1480 -}
1481 -function escapeHash(string) {
1482 - string = "" + string;
1483 - let result2 = "";
1484 - for (let i = 0; i < string.length; i++) {
1485 - const code = string.charCodeAt(i);
1486 - if (code === 0)
1487 - throw new InvalidCharacterError("Invalid character: the input contains U+0000.");
1488 - if (code >= 128 || code === 45 || code === 95 || between(code, 48, 57) || between(code, 65, 90) || between(code, 97, 122))
1489 - result2 += string[i];
1490 - else
1491 - result2 += "\\" + code.toString(16) + " ";
1492 - }
1493 - return result2;
1494 -}
1495 -function escapeString(string) {
1496 - string = "" + string;
1497 - let result2 = "";
1498 - for (let i = 0; i < string.length; i++) {
1499 - const code = string.charCodeAt(i);
1500 - if (code === 0)
1501 - throw new InvalidCharacterError("Invalid character: the input contains U+0000.");
1502 - if (between(code, 1, 31) || code === 127)
1503 - result2 += "\\" + code.toString(16) + " ";
1504 - else if (code === 34 || code === 92)
1505 - result2 += "\\" + string[i];
1506 - else
1507 - result2 += string[i];
1508 - }
1509 - return result2;
1510 -}
1511 -var between, maximumallowedcodepoint, InvalidCharacterError, CSSParserToken, BadStringToken, BadURLToken, WhitespaceToken, CDOToken, CDCToken, ColonToken, SemicolonToken, CommaToken, GroupingToken, OpenCurlyToken, CloseCurlyToken, OpenSquareToken, CloseSquareToken, OpenParenToken, CloseParenToken, IncludeMatchToken, DashMatchToken, PrefixMatchToken, SuffixMatchToken, SubstringMatchToken, ColumnToken, EOFToken, DelimToken, StringValuedToken, IdentToken, FunctionToken, AtKeywordToken, HashToken, StringToken, URLToken, NumberToken, PercentageToken, DimensionToken;
1512 -var init_cssTokenizer = __esm({
1513 - "packages/isomorphic/cssTokenizer.ts"() {
1514 - "use strict";
1515 - between = function(num, first, last) {
1516 - return num >= first && num <= last;
1517 - };
1518 - maximumallowedcodepoint = 1114111;
1519 - InvalidCharacterError = class extends Error {
1520 - constructor(message) {
1521 - super(message);
1522 - this.name = "InvalidCharacterError";
1523 - }
1524 - };
1525 - CSSParserToken = class {
1526 - constructor() {
1527 - this.tokenType = "";
1528 - }
1529 - toJSON() {
1530 - return { token: this.tokenType };
1531 - }
1532 - toString() {
1533 - return this.tokenType;
1534 - }
1535 - toSource() {
1536 - return "" + this;
1537 - }
1538 - };
1539 - BadStringToken = class extends CSSParserToken {
1540 - constructor() {
1541 - super(...arguments);
1542 - this.tokenType = "BADSTRING";
1543 - }
1544 - };
1545 - BadURLToken = class extends CSSParserToken {
1546 - constructor() {
1547 - super(...arguments);
1548 - this.tokenType = "BADURL";
1549 - }
1550 - };
1551 - WhitespaceToken = class extends CSSParserToken {
1552 - constructor() {
1553 - super(...arguments);
1554 - this.tokenType = "WHITESPACE";
1555 - }
1556 - toString() {
1557 - return "WS";
1558 - }
1559 - toSource() {
1560 - return " ";
1561 - }
1562 - };
1563 - CDOToken = class extends CSSParserToken {
1564 - constructor() {
1565 - super(...arguments);
1566 - this.tokenType = "CDO";
1567 - }
1568 - toSource() {
1569 - return "<!--";
1570 - }
1571 - };
1572 - CDCToken = class extends CSSParserToken {
1573 - constructor() {
1574 - super(...arguments);
1575 - this.tokenType = "CDC";
1576 - }
1577 - toSource() {
1578 - return "-->";
1579 - }
1580 - };
1581 - ColonToken = class extends CSSParserToken {
1582 - constructor() {
1583 - super(...arguments);
1584 - this.tokenType = ":";
1585 - }
1586 - };
1587 - SemicolonToken = class extends CSSParserToken {
1588 - constructor() {
1589 - super(...arguments);
1590 - this.tokenType = ";";
1591 - }
1592 - };
1593 - CommaToken = class extends CSSParserToken {
1594 - constructor() {
1595 - super(...arguments);
1596 - this.tokenType = ",";
1597 - }
1598 - };
1599 - GroupingToken = class extends CSSParserToken {
1600 - constructor() {
1601 - super(...arguments);
1602 - this.value = "";
1603 - this.mirror = "";
1604 - }
1605 - };
1606 - OpenCurlyToken = class extends GroupingToken {
1607 - constructor() {
1608 - super();
1609 - this.tokenType = "{";
1610 - this.value = "{";
1611 - this.mirror = "}";
1612 - }
1613 - };
1614 - CloseCurlyToken = class extends GroupingToken {
1615 - constructor() {
1616 - super();
1617 - this.tokenType = "}";
1618 - this.value = "}";
1619 - this.mirror = "{";
1620 - }
1621 - };
1622 - OpenSquareToken = class extends GroupingToken {
1623 - constructor() {
1624 - super();
1625 - this.tokenType = "[";
1626 - this.value = "[";
1627 - this.mirror = "]";
1628 - }
1629 - };
1630 - CloseSquareToken = class extends GroupingToken {
1631 - constructor() {
1632 - super();
1633 - this.tokenType = "]";
1634 - this.value = "]";
1635 - this.mirror = "[";
1636 - }
1637 - };
1638 - OpenParenToken = class extends GroupingToken {
1639 - constructor() {
1640 - super();
1641 - this.tokenType = "(";
1642 - this.value = "(";
1643 - this.mirror = ")";
1644 - }
1645 - };
1646 - CloseParenToken = class extends GroupingToken {
1647 - constructor() {
1648 - super();
1649 - this.tokenType = ")";
1650 - this.value = ")";
1651 - this.mirror = "(";
1652 - }
1653 - };
1654 - IncludeMatchToken = class extends CSSParserToken {
1655 - constructor() {
1656 - super(...arguments);
1657 - this.tokenType = "~=";
1658 - }
1659 - };
1660 - DashMatchToken = class extends CSSParserToken {
1661 - constructor() {
1662 - super(...arguments);
1663 - this.tokenType = "|=";
1664 - }
1665 - };
1666 - PrefixMatchToken = class extends CSSParserToken {
1667 - constructor() {
1668 - super(...arguments);
1669 - this.tokenType = "^=";
1670 - }
1671 - };
1672 - SuffixMatchToken = class extends CSSParserToken {
1673 - constructor() {
1674 - super(...arguments);
1675 - this.tokenType = "$=";
1676 - }
1677 - };
1678 - SubstringMatchToken = class extends CSSParserToken {
1679 - constructor() {
1680 - super(...arguments);
1681 - this.tokenType = "*=";
1682 - }
1683 - };
1684 - ColumnToken = class extends CSSParserToken {
1685 - constructor() {
1686 - super(...arguments);
1687 - this.tokenType = "||";
1688 - }
1689 - };
1690 - EOFToken = class extends CSSParserToken {
1691 - constructor() {
1692 - super(...arguments);
1693 - this.tokenType = "EOF";
1694 - }
1695 - toSource() {
1696 - return "";
1697 - }
1698 - };
1699 - DelimToken = class extends CSSParserToken {
1700 - constructor(code) {
1701 - super();
1702 - this.tokenType = "DELIM";
1703 - this.value = "";
1704 - this.value = stringFromCode(code);
1705 - }
1706 - toString() {
1707 - return "DELIM(" + this.value + ")";
1708 - }
1709 - toJSON() {
1710 - const json = this.constructor.prototype.constructor.prototype.toJSON.call(this);
1711 - json.value = this.value;
1712 - return json;
1713 - }
1714 - toSource() {
1715 - if (this.value === "\\")
1716 - return "\\\n";
1717 - else
1718 - return this.value;
1719 - }
1720 - };
1721 - StringValuedToken = class extends CSSParserToken {
1722 - constructor() {
1723 - super(...arguments);
1724 - this.value = "";
1725 - }
1726 - ASCIIMatch(str) {
1727 - return this.value.toLowerCase() === str.toLowerCase();
1728 - }
1729 - toJSON() {
1730 - const json = this.constructor.prototype.constructor.prototype.toJSON.call(this);
1731 - json.value = this.value;
1732 - return json;
1733 - }
1734 - };
1735 - IdentToken = class extends StringValuedToken {
1736 - constructor(val) {
1737 - super();
1738 - this.tokenType = "IDENT";
1739 - this.value = val;
1740 - }
1741 - toString() {
1742 - return "IDENT(" + this.value + ")";
1743 - }
1744 - toSource() {
1745 - return escapeIdent(this.value);
1746 - }
1747 - };
1748 - FunctionToken = class extends StringValuedToken {
1749 - constructor(val) {
1750 - super();
1751 - this.tokenType = "FUNCTION";
1752 - this.value = val;
1753 - this.mirror = ")";
1754 - }
1755 - toString() {
1756 - return "FUNCTION(" + this.value + ")";
1757 - }
1758 - toSource() {
1759 - return escapeIdent(this.value) + "(";
1760 - }
1761 - };
1762 - AtKeywordToken = class extends StringValuedToken {
1763 - constructor(val) {
1764 - super();
1765 - this.tokenType = "AT-KEYWORD";
1766 - this.value = val;
1767 - }
1768 - toString() {
1769 - return "AT(" + this.value + ")";
1770 - }
1771 - toSource() {
1772 - return "@" + escapeIdent(this.value);
1773 - }
1774 - };
1775 - HashToken = class extends StringValuedToken {
1776 - constructor(val) {
1777 - super();
1778 - this.tokenType = "HASH";
1779 - this.value = val;
1780 - this.type = "unrestricted";
1781 - }
1782 - toString() {
1783 - return "HASH(" + this.value + ")";
1784 - }
1785 - toJSON() {
1786 - const json = this.constructor.prototype.constructor.prototype.toJSON.call(this);
1787 - json.value = this.value;
1788 - json.type = this.type;
1789 - return json;
1790 - }
1791 - toSource() {
1792 - if (this.type === "id")
1793 - return "#" + escapeIdent(this.value);
1794 - else
1795 - return "#" + escapeHash(this.value);
1796 - }
1797 - };
1798 - StringToken = class extends StringValuedToken {
1799 - constructor(val) {
1800 - super();
1801 - this.tokenType = "STRING";
1802 - this.value = val;
1803 - }
1804 - toString() {
1805 - return '"' + escapeString(this.value) + '"';
1806 - }
1807 - };
1808 - URLToken = class extends StringValuedToken {
1809 - constructor(val) {
1810 - super();
1811 - this.tokenType = "URL";
1812 - this.value = val;
1813 - }
1814 - toString() {
1815 - return "URL(" + this.value + ")";
1816 - }
1817 - toSource() {
1818 - return 'url("' + escapeString(this.value) + '")';
1819 - }
1820 - };
1821 - NumberToken = class extends CSSParserToken {
1822 - constructor() {
1823 - super();
1824 - this.tokenType = "NUMBER";
1825 - this.type = "integer";
1826 - this.repr = "";
1827 - }
1828 - toString() {
1829 - if (this.type === "integer")
1830 - return "INT(" + this.value + ")";
1831 - return "NUMBER(" + this.value + ")";
1832 - }
1833 - toJSON() {
1834 - const json = super.toJSON();
1835 - json.value = this.value;
1836 - json.type = this.type;
1837 - json.repr = this.repr;
1838 - return json;
1839 - }
1840 - toSource() {
1841 - return this.repr;
1842 - }
1843 - };
1844 - PercentageToken = class extends CSSParserToken {
1845 - constructor() {
1846 - super();
1847 - this.tokenType = "PERCENTAGE";
1848 - this.repr = "";
1849 - }
1850 - toString() {
1851 - return "PERCENTAGE(" + this.value + ")";
1852 - }
1853 - toJSON() {
1854 - const json = this.constructor.prototype.constructor.prototype.toJSON.call(this);
1855 - json.value = this.value;
1856 - json.repr = this.repr;
1857 - return json;
1858 - }
1859 - toSource() {
1860 - return this.repr + "%";
1861 - }
1862 - };
1863 - DimensionToken = class extends CSSParserToken {
1864 - constructor() {
1865 - super();
1866 - this.tokenType = "DIMENSION";
1867 - this.type = "integer";
1868 - this.repr = "";
1869 - this.unit = "";
1870 - }
1871 - toString() {
1872 - return "DIM(" + this.value + "," + this.unit + ")";
1873 - }
1874 - toJSON() {
1875 - const json = this.constructor.prototype.constructor.prototype.toJSON.call(this);
1876 - json.value = this.value;
1877 - json.type = this.type;
1878 - json.repr = this.repr;
1879 - json.unit = this.unit;
1880 - return json;
1881 - }
1882 - toSource() {
1883 - const source8 = this.repr;
1884 - let unit = escapeIdent(this.unit);
1885 - if (unit[0].toLowerCase() === "e" && (unit[1] === "-" || between(unit.charCodeAt(1), 48, 57))) {
1886 - unit = "\\65 " + unit.slice(1, unit.length);
1887 - }
1888 - return source8 + unit;
1889 - }
1890 - };
1891 - }
1892 -});
1893 -
1894 -// packages/isomorphic/cssParser.ts
1895 -function isInvalidSelectorError(error) {
1896 - return error instanceof InvalidSelectorError;
1897 -}
1898 -function parseCSS(selector, customNames) {
1899 - let tokens;
1900 - try {
1901 - tokens = tokenize(selector);
1902 - if (!(tokens[tokens.length - 1] instanceof EOFToken))
1903 - tokens.push(new EOFToken());
1904 - } catch (e) {
1905 - const newMessage = e.message + ` while parsing css selector "${selector}". Did you mean to CSS.escape it?`;
1906 - const index = (e.stack || "").indexOf(e.message);
1907 - if (index !== -1)
1908 - e.stack = e.stack.substring(0, index) + newMessage + e.stack.substring(index + e.message.length);
1909 - e.message = newMessage;
1910 - throw e;
1911 - }
1912 - const unsupportedToken = tokens.find((token) => {
1913 - return token instanceof AtKeywordToken || token instanceof BadStringToken || token instanceof BadURLToken || token instanceof ColumnToken || token instanceof CDOToken || token instanceof CDCToken || token instanceof SemicolonToken || // TODO: Consider using these for something, e.g. to escape complex strings.
1914 - // For example :xpath{ (//div/bar[@attr="foo"])[2]/baz }
1915 - // Or this way :xpath( {complex-xpath-goes-here("hello")} )
1916 - token instanceof OpenCurlyToken || token instanceof CloseCurlyToken || // TODO: Consider treating these as strings?
1917 - token instanceof URLToken || token instanceof PercentageToken;
1918 - });
1919 - if (unsupportedToken)
1920 - throw new InvalidSelectorError(`Unsupported token "${unsupportedToken.toSource()}" while parsing css selector "${selector}". Did you mean to CSS.escape it?`);
1921 - let pos = 0;
1922 - const names = /* @__PURE__ */ new Set();
1923 - function unexpected() {
1924 - return new InvalidSelectorError(`Unexpected token "${tokens[pos].toSource()}" while parsing css selector "${selector}". Did you mean to CSS.escape it?`);
1925 - }
1926 - function skipWhitespace() {
1927 - while (tokens[pos] instanceof WhitespaceToken)
1928 - pos++;
1929 - }
1930 - function isIdent(p = pos) {
1931 - return tokens[p] instanceof IdentToken;
1932 - }
1933 - function isString2(p = pos) {
1934 - return tokens[p] instanceof StringToken;
1935 - }
1936 - function isNumber(p = pos) {
1937 - return tokens[p] instanceof NumberToken;
1938 - }
1939 - function isComma(p = pos) {
1940 - return tokens[p] instanceof CommaToken;
1941 - }
1942 - function isOpenParen(p = pos) {
1943 - return tokens[p] instanceof OpenParenToken;
1944 - }
1945 - function isCloseParen(p = pos) {
1946 - return tokens[p] instanceof CloseParenToken;
1947 - }
1948 - function isFunction2(p = pos) {
1949 - return tokens[p] instanceof FunctionToken;
1950 - }
1951 - function isStar(p = pos) {
1952 - return tokens[p] instanceof DelimToken && tokens[p].value === "*";
1953 - }
1954 - function isEOF(p = pos) {
1955 - return tokens[p] instanceof EOFToken;
1956 - }
1957 - function isClauseCombinator(p = pos) {
1958 - return tokens[p] instanceof DelimToken && [">", "+", "~"].includes(tokens[p].value);
1959 - }
1960 - function isSelectorClauseEnd(p = pos) {
1961 - return isComma(p) || isCloseParen(p) || isEOF(p) || isClauseCombinator(p) || tokens[p] instanceof WhitespaceToken;
1962 - }
1963 - function consumeFunctionArguments() {
1964 - const result3 = [consumeArgument()];
1965 - while (true) {
1966 - skipWhitespace();
1967 - if (!isComma())
1968 - break;
1969 - pos++;
1970 - result3.push(consumeArgument());
1971 - }
1972 - return result3;
1973 - }
1974 - function consumeArgument() {
1975 - skipWhitespace();
1976 - if (isNumber())
1977 - return tokens[pos++].value;
1978 - if (isString2())
1979 - return tokens[pos++].value;
1980 - return consumeComplexSelector();
1981 - }
1982 - function consumeComplexSelector() {
1983 - const result3 = { simples: [] };
1984 - skipWhitespace();
1985 - if (isClauseCombinator()) {
1986 - result3.simples.push({ selector: { functions: [{ name: "scope", args: [] }] }, combinator: "" });
1987 - } else {
1988 - result3.simples.push({ selector: consumeSimpleSelector(), combinator: "" });
1989 - }
1990 - while (true) {
1991 - skipWhitespace();
1992 - if (isClauseCombinator()) {
1993 - result3.simples[result3.simples.length - 1].combinator = tokens[pos++].value;
1994 - skipWhitespace();
1995 - } else if (isSelectorClauseEnd()) {
1996 - break;
1997 - }
1998 - result3.simples.push({ combinator: "", selector: consumeSimpleSelector() });
1999 - }
2000 - return result3;
2001 - }
2002 - function consumeSimpleSelector() {
2003 - let rawCSSString = "";
2004 - const functions = [];
2005 - while (!isSelectorClauseEnd()) {
2006 - if (isIdent() || isStar()) {
2007 - rawCSSString += tokens[pos++].toSource();
2008 - } else if (tokens[pos] instanceof HashToken) {
2009 - rawCSSString += tokens[pos++].toSource();
2010 - } else if (tokens[pos] instanceof DelimToken && tokens[pos].value === ".") {
2011 - pos++;
2012 - if (isIdent())
2013 - rawCSSString += "." + tokens[pos++].toSource();
2014 - else
2015 - throw unexpected();
2016 - } else if (tokens[pos] instanceof ColonToken) {
2017 - pos++;
2018 - if (isIdent()) {
2019 - if (!customNames.has(tokens[pos].value.toLowerCase())) {
2020 - rawCSSString += ":" + tokens[pos++].toSource();
2021 - } else {
2022 - const name = tokens[pos++].value.toLowerCase();
2023 - functions.push({ name, args: [] });
2024 - names.add(name);
2025 - }
2026 - } else if (isFunction2()) {
2027 - const name = tokens[pos++].value.toLowerCase();
2028 - if (!customNames.has(name)) {
2029 - rawCSSString += `:${name}(${consumeBuiltinFunctionArguments()})`;
2030 - } else {
2031 - functions.push({ name, args: consumeFunctionArguments() });
2032 - names.add(name);
2033 - }
2034 - skipWhitespace();
2035 - if (!isCloseParen())
2036 - throw unexpected();
2037 - pos++;
2038 - } else {
2039 - throw unexpected();
2040 - }
2041 - } else if (tokens[pos] instanceof OpenSquareToken) {
2042 - rawCSSString += "[";
2043 - pos++;
2044 - while (!(tokens[pos] instanceof CloseSquareToken) && !isEOF())
2045 - rawCSSString += tokens[pos++].toSource();
2046 - if (!(tokens[pos] instanceof CloseSquareToken))
2047 - throw unexpected();
2048 - rawCSSString += "]";
2049 - pos++;
2050 - } else {
2051 - throw unexpected();
2052 - }
2053 - }
2054 - if (!rawCSSString && !functions.length)
2055 - throw unexpected();
2056 - return { css: rawCSSString || void 0, functions };
2057 - }
2058 - function consumeBuiltinFunctionArguments() {
2059 - let s = "";
2060 - let balance = 1;
2061 - while (!isEOF()) {
2062 - if (isOpenParen() || isFunction2())
2063 - balance++;
2064 - if (isCloseParen())
2065 - balance--;
2066 - if (!balance)
2067 - break;
2068 - s += tokens[pos++].toSource();
2069 - }
2070 - return s;
2071 - }
2072 - const result2 = consumeFunctionArguments();
2073 - if (!isEOF())
2074 - throw unexpected();
2075 - if (result2.some((arg) => typeof arg !== "object" || !("simples" in arg)))
2076 - throw new InvalidSelectorError(`Error while parsing css selector "${selector}". Did you mean to CSS.escape it?`);
2077 - return { selector: result2, names: Array.from(names) };
2078 -}
2079 -function serializeSelector(args) {
2080 - return args.map((arg) => {
2081 - if (typeof arg === "string")
2082 - return `"${arg}"`;
2083 - if (typeof arg === "number")
2084 - return String(arg);
2085 - return arg.simples.map(({ selector, combinator }) => {
2086 - let s = selector.css || "";
2087 - s = s + selector.functions.map((func) => `:${func.name}(${serializeSelector(func.args)})`).join("");
2088 - if (combinator)
2089 - s += " " + combinator;
2090 - return s;
2091 - }).join(" ");
2092 - }).join(", ");
2093 -}
2094 -var InvalidSelectorError;
2095 -var init_cssParser = __esm({
2096 - "packages/isomorphic/cssParser.ts"() {
2097 - "use strict";
2098 - init_cssTokenizer();
2099 - InvalidSelectorError = class extends Error {
2100 - };
2101 - }
2102 -});
2103 -
2104 -// packages/isomorphic/selectorParser.ts
2105 -function parseSelector(selector) {
2106 - const parsedStrings = parseSelectorString(selector);
2107 - const parts = [];
2108 - for (const part of parsedStrings.parts) {
2109 - if (part.name === "css" || part.name === "css:light") {
2110 - if (part.name === "css:light")
2111 - part.body = ":light(" + part.body + ")";
2112 - const parsedCSS = parseCSS(part.body, customCSSNames);
2113 - parts.push({
2114 - name: "css",
2115 - body: parsedCSS.selector,
2116 - source: part.body
2117 - });
2118 - continue;
2119 - }
2120 - if (kNestedSelectorNames.has(part.name)) {
2121 - let innerSelector;
2122 - let distance;
2123 - try {
2124 - const unescaped = JSON.parse("[" + part.body + "]");
2125 - if (!Array.isArray(unescaped) || unescaped.length < 1 || unescaped.length > 2 || typeof unescaped[0] !== "string")
2126 - throw new InvalidSelectorError(`Malformed selector: ${part.name}=` + part.body);
2127 - innerSelector = unescaped[0];
2128 - if (unescaped.length === 2) {
2129 - if (typeof unescaped[1] !== "number" || !kNestedSelectorNamesWithDistance.has(part.name))
2130 - throw new InvalidSelectorError(`Malformed selector: ${part.name}=` + part.body);
2131 - distance = unescaped[1];
2132 - }
2133 - } catch (e) {
2134 - throw new InvalidSelectorError(`Malformed selector: ${part.name}=` + part.body);
2135 - }
2136 - const nested = { name: part.name, source: part.body, body: { parsed: parseSelector(innerSelector), distance } };
2137 - const lastFrame = [...nested.body.parsed.parts].reverse().find((part2) => part2.name === "internal:control" && part2.body === "enter-frame");
2138 - const lastFrameIndex = lastFrame ? nested.body.parsed.parts.indexOf(lastFrame) : -1;
2139 - if (lastFrameIndex !== -1 && selectorPartsEqual(nested.body.parsed.parts.slice(0, lastFrameIndex + 1), parts.slice(0, lastFrameIndex + 1)))
2140 - nested.body.parsed.parts.splice(0, lastFrameIndex + 1);
2141 - parts.push(nested);
2142 - continue;
2143 - }
2144 - parts.push({ ...part, source: part.body });
2145 - }
2146 - if (kNestedSelectorNames.has(parts[0].name))
2147 - throw new InvalidSelectorError(`"${parts[0].name}" selector cannot be first`);
2148 - return {
2149 - capture: parsedStrings.capture,
2150 - parts
2151 - };
2152 -}
2153 -function splitSelectorByFrame(selectorText) {
2154 - const selector = parseSelector(selectorText);
2155 - const result2 = [];
2156 - let chunk = {
2157 - parts: []
2158 - };
2159 - let chunkStartIndex = 0;
2160 - for (let i = 0; i < selector.parts.length; ++i) {
2161 - const part = selector.parts[i];
2162 - if (part.name === "internal:control" && part.body === "enter-frame") {
2163 - if (!chunk.parts.length)
2164 - throw new InvalidSelectorError("Selector cannot start with entering frame, select the iframe first");
2165 - result2.push(chunk);
2166 - chunk = { parts: [] };
2167 - chunkStartIndex = i + 1;
2168 - continue;
2169 - }
2170 - if (selector.capture === i)
2171 - chunk.capture = i - chunkStartIndex;
2172 - chunk.parts.push(part);
2173 - }
2174 - if (!chunk.parts.length)
2175 - throw new InvalidSelectorError(`Selector cannot end with entering frame, while parsing selector ${selectorText}`);
2176 - result2.push(chunk);
2177 - if (typeof selector.capture === "number" && typeof result2[result2.length - 1].capture !== "number")
2178 - throw new InvalidSelectorError(`Can not capture the selector before diving into the frame. Only use * after the last frame has been selected`);
2179 - return result2;
2180 -}
2181 -function selectorPartsEqual(list1, list2) {
2182 - return stringifySelector({ parts: list1 }) === stringifySelector({ parts: list2 });
2183 -}
2184 -function stringifySelector(selector, forceEngineName) {
2185 - if (typeof selector === "string")
2186 - return selector;
2187 - return selector.parts.map((p, i) => {
2188 - let includeEngine = true;
2189 - if (!forceEngineName && i !== selector.capture) {
2190 - if (p.name === "css")
2191 - includeEngine = false;
2192 - else if (p.name === "xpath" && p.source.startsWith("//") || p.source.startsWith(".."))
2193 - includeEngine = false;
2194 - }
2195 - const prefix = includeEngine ? p.name + "=" : "";
2196 - return `${i === selector.capture ? "*" : ""}${prefix}${p.source}`;
2197 - }).join(" >> ");
2198 -}
2199 -function visitAllSelectorParts(selector, visitor) {
2200 - const visit = (selector2, nested) => {
2201 - for (const part of selector2.parts) {
2202 - visitor(part, nested);
2203 - if (kNestedSelectorNames.has(part.name))
2204 - visit(part.body.parsed, true);
2205 - }
2206 - };
2207 - visit(selector, false);
2208 -}
2209 -function parseSelectorString(selector) {
2210 - let index = 0;
2211 - let quote5;
2212 - let start3 = 0;
2213 - const result2 = { parts: [] };
2214 - const append = () => {
2215 - const part = selector.substring(start3, index).trim();
2216 - const eqIndex = part.indexOf("=");
2217 - let name;
2218 - let body;
2219 - if (eqIndex !== -1 && part.substring(0, eqIndex).trim().match(/^[a-zA-Z_0-9-+:*]+$/)) {
2220 - name = part.substring(0, eqIndex).trim();
2221 - body = part.substring(eqIndex + 1);
2222 - } else if (part.length > 1 && part[0] === '"' && part[part.length - 1] === '"') {
2223 - name = "text";
2224 - body = part;
2225 - } else if (part.length > 1 && part[0] === "'" && part[part.length - 1] === "'") {
2226 - name = "text";
2227 - body = part;
2228 - } else if (/^\(*\/\//.test(part) || part.startsWith("..")) {
2229 - name = "xpath";
2230 - body = part;
2231 - } else {
2232 - name = "css";
2233 - body = part;
2234 - }
2235 - let capture = false;
2236 - if (name[0] === "*") {
2237 - capture = true;
2238 - name = name.substring(1);
2239 - }
2240 - result2.parts.push({ name, body });
2241 - if (capture) {
2242 - if (result2.capture !== void 0)
2243 - throw new InvalidSelectorError(`Only one of the selectors can capture using * modifier`);
2244 - result2.capture = result2.parts.length - 1;
2245 - }
2246 - };
2247 - if (!selector.includes(">>")) {
2248 - index = selector.length;
2249 - append();
2250 - return result2;
2251 - }
2252 - const shouldIgnoreTextSelectorQuote = () => {
2253 - const prefix = selector.substring(start3, index);
2254 - const match = prefix.match(/^\s*text\s*=(.*)$/);
2255 - return !!match && !!match[1];
2256 - };
2257 - while (index < selector.length) {
2258 - const c = selector[index];
2259 - if (c === "\\" && index + 1 < selector.length) {
2260 - index += 2;
2261 - } else if (c === quote5) {
2262 - quote5 = void 0;
2263 - index++;
2264 - } else if (!quote5 && (c === '"' || c === "'" || c === "`") && !shouldIgnoreTextSelectorQuote()) {
2265 - quote5 = c;
2266 - index++;
2267 - } else if (!quote5 && c === ">" && selector[index + 1] === ">") {
2268 - append();
2269 - index += 2;
2270 - start3 = index;
2271 - } else {
2272 - index++;
2273 - }
2274 - }
2275 - append();
2276 - return result2;
2277 -}
2278 -function parseAttributeSelector(selector, allowUnquotedStrings) {
2279 - let wp = 0;
2280 - let EOL = selector.length === 0;
2281 - const next = () => selector[wp] || "";
2282 - const eat1 = () => {
2283 - const result3 = next();
2284 - ++wp;
2285 - EOL = wp >= selector.length;
2286 - return result3;
2287 - };
2288 - const syntaxError = (stage) => {
2289 - if (EOL)
2290 - throw new InvalidSelectorError(`Unexpected end of selector while parsing selector \`${selector}\``);
2291 - throw new InvalidSelectorError(`Error while parsing selector \`${selector}\` - unexpected symbol "${next()}" at position ${wp}` + (stage ? " during " + stage : ""));
2292 - };
2293 - function skipSpaces() {
2294 - while (!EOL && /\s/.test(next()))
2295 - eat1();
2296 - }
2297 - function isCSSNameChar(char) {
2298 - return char >= "\x80" || char >= "0" && char <= "9" || char >= "A" && char <= "Z" || char >= "a" && char <= "z" || char >= "0" && char <= "9" || char === "_" || char === "-";
2299 - }
2300 - function readIdentifier() {
2301 - let result3 = "";
2302 - skipSpaces();
2303 - while (!EOL && isCSSNameChar(next()))
2304 - result3 += eat1();
2305 - return result3;
2306 - }
2307 - function readQuotedString(quote5) {
2308 - let result3 = eat1();
2309 - if (result3 !== quote5)
2310 - syntaxError("parsing quoted string");
2311 - while (!EOL && next() !== quote5) {
2312 - if (next() === "\\")
2313 - eat1();
2314 - result3 += eat1();
2315 - }
2316 - if (next() !== quote5)
2317 - syntaxError("parsing quoted string");
2318 - result3 += eat1();
2319 - return result3;
2320 - }
2321 - function readRegularExpression() {
2322 - if (eat1() !== "/")
2323 - syntaxError("parsing regular expression");
2324 - let source8 = "";
2325 - let inClass = false;
2326 - while (!EOL) {
2327 - if (next() === "\\") {
2328 - source8 += eat1();
2329 - if (EOL)
2330 - syntaxError("parsing regular expression");
2331 - } else if (inClass && next() === "]") {
2332 - inClass = false;
2333 - } else if (!inClass && next() === "[") {
2334 - inClass = true;
2335 - } else if (!inClass && next() === "/") {
2336 - break;
2337 - }
2338 - source8 += eat1();
2339 - }
2340 - if (eat1() !== "/")
2341 - syntaxError("parsing regular expression");
2342 - let flags = "";
2343 - while (!EOL && next().match(/[dgimsuy]/))
2344 - flags += eat1();
2345 - try {
2346 - return new RegExp(source8, flags);
2347 - } catch (e) {
2348 - throw new InvalidSelectorError(`Error while parsing selector \`${selector}\`: ${e.message}`);
2349 - }
2350 - }
2351 - function readAttributeToken() {
2352 - let token = "";
2353 - skipSpaces();
2354 - if (next() === `'` || next() === `"`)
2355 - token = readQuotedString(next()).slice(1, -1);
2356 - else
2357 - token = readIdentifier();
2358 - if (!token)
2359 - syntaxError("parsing property path");
2360 - return token;
2361 - }
2362 - function readOperator() {
2363 - skipSpaces();
2364 - let op = "";
2365 - if (!EOL)
2366 - op += eat1();
2367 - if (!EOL && op !== "=")
2368 - op += eat1();
2369 - if (!["=", "*=", "^=", "$=", "|=", "~="].includes(op))
2370 - syntaxError("parsing operator");
2371 - return op;
2372 - }
2373 - function readAttribute() {
2374 - eat1();
2375 - const jsonPath = [];
2376 - jsonPath.push(readAttributeToken());
2377 - skipSpaces();
2378 - while (next() === ".") {
2379 - eat1();
2380 - jsonPath.push(readAttributeToken());
2381 - skipSpaces();
2382 - }
2383 - if (next() === "]") {
2384 - eat1();
2385 - return { name: jsonPath.join("."), jsonPath, op: "<truthy>", value: null, caseSensitive: false };
2386 - }
2387 - const operator = readOperator();
2388 - let value2 = void 0;
2389 - let caseSensitive = true;
2390 - skipSpaces();
2391 - if (next() === "/") {
2392 - if (operator !== "=")
2393 - throw new InvalidSelectorError(`Error while parsing selector \`${selector}\` - cannot use ${operator} in attribute with regular expression`);
2394 - value2 = readRegularExpression();
2395 - } else if (next() === `'` || next() === `"`) {
2396 - value2 = readQuotedString(next()).slice(1, -1);
2397 - skipSpaces();
2398 - if (next() === "i" || next() === "I") {
2399 - caseSensitive = false;
2400 - eat1();
2401 - } else if (next() === "s" || next() === "S") {
2402 - caseSensitive = true;
2403 - eat1();
2404 - }
2405 - } else {
2406 - value2 = "";
2407 - while (!EOL && (isCSSNameChar(next()) || next() === "+" || next() === "."))
2408 - value2 += eat1();
2409 - if (value2 === "true") {
2410 - value2 = true;
2411 - } else if (value2 === "false") {
2412 - value2 = false;
2413 - } else {
2414 - if (!allowUnquotedStrings) {
2415 - value2 = +value2;
2416 - if (Number.isNaN(value2))
2417 - syntaxError("parsing attribute value");
2418 - }
2419 - }
2420 - }
2421 - skipSpaces();
2422 - if (next() !== "]")
2423 - syntaxError("parsing attribute value");
2424 - eat1();
2425 - if (operator !== "=" && typeof value2 !== "string")
2426 - throw new InvalidSelectorError(`Error while parsing selector \`${selector}\` - cannot use ${operator} in attribute with non-string matching value - ${value2}`);
2427 - return { name: jsonPath.join("."), jsonPath, op: operator, value: value2, caseSensitive };
2428 - }
2429 - const result2 = {
2430 - name: "",
2431 - attributes: []
2432 - };
2433 - result2.name = readIdentifier();
2434 - skipSpaces();
2435 - while (next() === "[") {
2436 - result2.attributes.push(readAttribute());
2437 - skipSpaces();
2438 - }
2439 - if (!EOL)
2440 - syntaxError(void 0);
2441 - if (!result2.name && !result2.attributes.length)
2442 - throw new InvalidSelectorError(`Error while parsing selector \`${selector}\` - selector cannot be empty`);
2443 - return result2;
2444 -}
2445 -var kNestedSelectorNames, kNestedSelectorNamesWithDistance, customCSSNames;
2446 -var init_selectorParser = __esm({
2447 - "packages/isomorphic/selectorParser.ts"() {
2448 - "use strict";
2449 - init_cssParser();
2450 - init_cssParser();
2451 - kNestedSelectorNames = /* @__PURE__ */ new Set(["internal:has", "internal:has-not", "internal:and", "internal:or", "internal:chain", "left-of", "right-of", "above", "below", "near"]);
2452 - kNestedSelectorNamesWithDistance = /* @__PURE__ */ new Set(["left-of", "right-of", "above", "below", "near"]);
2453 - customCSSNames = /* @__PURE__ */ new Set(["not", "is", "where", "has", "scope", "light", "visible", "text", "text-matches", "text-is", "has-text", "above", "below", "right-of", "left-of", "near", "nth-match"]);
2454 - }
2455 -});
2456 -
2457 -// packages/isomorphic/locatorGenerators.ts
2458 -function asLocatorDescription(lang, selector) {
2459 - try {
2460 - const parsed = parseSelector(selector);
2461 - const customDescription = parseCustomDescription(parsed);
2462 - if (customDescription)
2463 - return customDescription;
2464 - return innerAsLocators(new generators[lang](), parsed, false, 1)[0];
2465 - } catch (e) {
2466 - return selector;
2467 - }
2468 -}
2469 -function locatorCustomDescription(selector) {
2470 - try {
2471 - const parsed = parseSelector(selector);
2472 - return parseCustomDescription(parsed);
2473 - } catch (e) {
2474 - return void 0;
2475 - }
2476 -}
2477 -function parseCustomDescription(parsed) {
2478 - const lastPart = parsed.parts[parsed.parts.length - 1];
2479 - if (lastPart?.name === "internal:describe") {
2480 - const description = JSON.parse(lastPart.body);
2481 - if (typeof description === "string")
2482 - return description;
2483 - }
2484 - return void 0;
2485 -}
2486 -function asLocator(lang, selector, isFrameLocator = false) {
2487 - return asLocators(lang, selector, isFrameLocator, 1)[0];
2488 -}
2489 -function asLocators(lang, selector, isFrameLocator = false, maxOutputSize = 20, preferredQuote) {
2490 - try {
2491 - return innerAsLocators(new generators[lang](preferredQuote), parseSelector(selector), isFrameLocator, maxOutputSize);
2492 - } catch (e) {
2493 - return [selector];
2494 - }
2495 -}
2496 -function innerAsLocators(factory, parsed, isFrameLocator = false, maxOutputSize = 20) {
2497 - const parts = [...parsed.parts];
2498 - const tokens = [];
2499 - let nextBase = isFrameLocator ? "frame-locator" : "page";
2500 - for (let index = 0; index < parts.length; index++) {
2501 - const part = parts[index];
2502 - const base = nextBase;
2503 - nextBase = "locator";
2504 - if (part.name === "internal:describe")
2505 - continue;
2506 - if (part.name === "nth") {
2507 - if (part.body === "0")
2508 - tokens.push([factory.generateLocator(base, "first", ""), factory.generateLocator(base, "nth", "0")]);
2509 - else if (part.body === "-1")
2510 - tokens.push([factory.generateLocator(base, "last", ""), factory.generateLocator(base, "nth", "-1")]);
2511 - else
2512 - tokens.push([factory.generateLocator(base, "nth", part.body)]);
2513 - continue;
2514 - }
2515 - if (part.name === "visible") {
2516 - tokens.push([factory.generateLocator(base, "visible", part.body), factory.generateLocator(base, "default", `visible=${part.body}`)]);
2517 - continue;
2518 - }
2519 - if (part.name === "internal:text") {
2520 - const { exact, text: text2 } = detectExact(part.body);
2521 - tokens.push([factory.generateLocator(base, "text", text2, { exact })]);
2522 - continue;
2523 - }
2524 - if (part.name === "internal:has-text") {
2525 - const { exact, text: text2 } = detectExact(part.body);
2526 - if (!exact) {
2527 - tokens.push([factory.generateLocator(base, "has-text", text2, { exact })]);
2528 - continue;
2529 - }
2530 - }
2531 - if (part.name === "internal:has-not-text") {
2532 - const { exact, text: text2 } = detectExact(part.body);
2533 - if (!exact) {
2534 - tokens.push([factory.generateLocator(base, "has-not-text", text2, { exact })]);
2535 - continue;
2536 - }
2537 - }
2538 - if (part.name === "internal:has") {
2539 - const inners = innerAsLocators(factory, part.body.parsed, false, maxOutputSize);
2540 - tokens.push(inners.map((inner) => factory.generateLocator(base, "has", inner)));
2541 - continue;
2542 - }
2543 - if (part.name === "internal:has-not") {
2544 - const inners = innerAsLocators(factory, part.body.parsed, false, maxOutputSize);
2545 - tokens.push(inners.map((inner) => factory.generateLocator(base, "hasNot", inner)));
2546 - continue;
2547 - }
2548 - if (part.name === "internal:and") {
2549 - const inners = innerAsLocators(factory, part.body.parsed, false, maxOutputSize);
2550 - tokens.push(inners.map((inner) => factory.generateLocator(base, "and", inner)));
2551 - continue;
2552 - }
2553 - if (part.name === "internal:or") {
2554 - const inners = innerAsLocators(factory, part.body.parsed, false, maxOutputSize);
2555 - tokens.push(inners.map((inner) => factory.generateLocator(base, "or", inner)));
2556 - continue;
2557 - }
2558 - if (part.name === "internal:chain") {
2559 - const inners = innerAsLocators(factory, part.body.parsed, false, maxOutputSize);
2560 - tokens.push(inners.map((inner) => factory.generateLocator(base, "chain", inner)));
2561 - continue;
2562 - }
2563 - if (part.name === "internal:label") {
2564 - const { exact, text: text2 } = detectExact(part.body);
2565 - tokens.push([factory.generateLocator(base, "label", text2, { exact })]);
2566 - continue;
2567 - }
2568 - if (part.name === "internal:role") {
2569 - const attrSelector = parseAttributeSelector(part.body, true);
2570 - const options2 = { attrs: [] };
2571 - for (const attr of attrSelector.attributes) {
2572 - if (attr.name === "name") {
2573 - options2.exact = attr.caseSensitive;
2574 - options2.name = attr.value;
2575 - } else if (attr.name === "description") {
2576 - options2.exact = attr.caseSensitive;
2577 - options2.description = attr.value;
2578 - } else {
2579 - if (attr.name === "level" && typeof attr.value === "string")
2580 - attr.value = +attr.value;
2581 - options2.attrs.push({ name: attr.name === "include-hidden" ? "includeHidden" : attr.name, value: attr.value });
2582 - }
2583 - }
2584 - tokens.push([factory.generateLocator(base, "role", attrSelector.name, options2)]);
2585 - continue;
2586 - }
2587 - if (part.name === "internal:testid") {
2588 - const attrSelector = parseAttributeSelector(part.body, true);
2589 - const { value: value2 } = attrSelector.attributes[0];
2590 - tokens.push([factory.generateLocator(base, "test-id", value2)]);
2591 - continue;
2592 - }
2593 - if (part.name === "internal:attr") {
2594 - const attrSelector = parseAttributeSelector(part.body, true);
2595 - const { name, value: value2, caseSensitive } = attrSelector.attributes[0];
2596 - const text2 = value2;
2597 - const exact = !!caseSensitive;
2598 - if (name === "placeholder") {
2599 - tokens.push([factory.generateLocator(base, "placeholder", text2, { exact })]);
2600 - continue;
2601 - }
2602 - if (name === "alt") {
2603 - tokens.push([factory.generateLocator(base, "alt", text2, { exact })]);
2604 - continue;
2605 - }
2606 - if (name === "title") {
2607 - tokens.push([factory.generateLocator(base, "title", text2, { exact })]);
2608 - continue;
2609 - }
2610 - }
2611 - if (part.name === "internal:control" && part.body === "enter-frame") {
2612 - const lastTokens = tokens[tokens.length - 1];
2613 - const lastPart = parts[index - 1];
2614 - const transformed = lastTokens.map((token) => factory.chainLocators([token, factory.generateLocator(base, "frame", "")]));
2615 - if (["xpath", "css"].includes(lastPart.name)) {
2616 - transformed.push(
2617 - factory.generateLocator(base, "frame-locator", stringifySelector({ parts: [lastPart] })),
2618 - factory.generateLocator(base, "frame-locator", stringifySelector({ parts: [lastPart] }, true))
2619 - );
2620 - }
2621 - lastTokens.splice(0, lastTokens.length, ...transformed);
2622 - nextBase = "frame-locator";
2623 - continue;
2624 - }
2625 - const nextPart = parts[index + 1];
2626 - const selectorPart = stringifySelector({ parts: [part] });
2627 - const locatorPart = factory.generateLocator(base, "default", selectorPart);
2628 - if (nextPart && ["internal:has-text", "internal:has-not-text"].includes(nextPart.name)) {
2629 - const { exact, text: text2 } = detectExact(nextPart.body);
2630 - if (!exact) {
2631 - const nextLocatorPart = factory.generateLocator("locator", nextPart.name === "internal:has-text" ? "has-text" : "has-not-text", text2, { exact });
2632 - const options2 = {};
2633 - if (nextPart.name === "internal:has-text")
2634 - options2.hasText = text2;
2635 - else
2636 - options2.hasNotText = text2;
2637 - const combinedPart = factory.generateLocator(base, "default", selectorPart, options2);
2638 - tokens.push([factory.chainLocators([locatorPart, nextLocatorPart]), combinedPart]);
2639 - index++;
2640 - continue;
2641 - }
2642 - }
2643 - let locatorPartWithEngine;
2644 - if (["xpath", "css"].includes(part.name)) {
2645 - const selectorPart2 = stringifySelector(
2646 - { parts: [part] },
2647 - /* forceEngineName */
2648 - true
2649 - );
2650 - locatorPartWithEngine = factory.generateLocator(base, "default", selectorPart2);
2651 - }
2652 - tokens.push([locatorPart, locatorPartWithEngine].filter(Boolean));
2653 - }
2654 - return combineTokens(factory, tokens, maxOutputSize);
2655 -}
2656 -function combineTokens(factory, tokens, maxOutputSize) {
2657 - const currentTokens = tokens.map(() => "");
2658 - const result2 = [];
2659 - const visit = (index) => {
2660 - if (index === tokens.length) {
2661 - result2.push(factory.chainLocators(currentTokens));
2662 - return result2.length < maxOutputSize;
2663 - }
2664 - for (const taken of tokens[index]) {
2665 - currentTokens[index] = taken;
2666 - if (!visit(index + 1))
2667 - return false;
2668 - }
2669 - return true;
2670 - };
2671 - visit(0);
2672 - return result2;
2673 -}
2674 -function detectExact(text2) {
2675 - let exact = false;
2676 - const match = text2.match(/^\/(.*)\/([igm]*)$/);
2677 - if (match)
2678 - return { text: new RegExp(match[1], match[2]) };
2679 - if (text2.endsWith('"')) {
2680 - text2 = JSON.parse(text2);
2681 - exact = true;
2682 - } else if (text2.endsWith('"s')) {
2683 - text2 = JSON.parse(text2.substring(0, text2.length - 1));
2684 - exact = true;
2685 - } else if (text2.endsWith('"i')) {
2686 - text2 = JSON.parse(text2.substring(0, text2.length - 1));
2687 - exact = false;
2688 - }
2689 - return { exact, text: text2 };
2690 -}
2691 -function isRegExp2(obj) {
2692 - return obj instanceof RegExp;
2693 -}
2694 -var JavaScriptLocatorFactory, PythonLocatorFactory, JavaLocatorFactory, CSharpLocatorFactory, JsonlLocatorFactory, generators;
2695 -var init_locatorGenerators = __esm({
2696 - "packages/isomorphic/locatorGenerators.ts"() {
2697 - "use strict";
2698 - init_selectorParser();
2699 - init_stringUtils();
2700 - JavaScriptLocatorFactory = class {
2701 - constructor(preferredQuote) {
2702 - this.preferredQuote = preferredQuote;
2703 - }
2704 - generateLocator(base, kind, body, options2 = {}) {
2705 - switch (kind) {
2706 - case "default":
2707 - if (options2.hasText !== void 0)
2708 - return `locator(${this.quote(body)}, { hasText: ${this.toHasText(options2.hasText)} })`;
2709 - if (options2.hasNotText !== void 0)
2710 - return `locator(${this.quote(body)}, { hasNotText: ${this.toHasText(options2.hasNotText)} })`;
2711 - return `locator(${this.quote(body)})`;
2712 - case "frame-locator":
2713 - return `frameLocator(${this.quote(body)})`;
2714 - case "frame":
2715 - return `contentFrame()`;
2716 - case "nth":
2717 - return `nth(${body})`;
2718 - case "first":
2719 - return `first()`;
2720 - case "last":
2721 - return `last()`;
2722 - case "visible":
2723 - return `filter({ visible: ${body === "true" ? "true" : "false"} })`;
2724 - case "role":
2725 - const attrs = [];
2726 - if (isRegExp2(options2.name))
2727 - attrs.push(`name: ${this.regexToSourceString(options2.name)}`);
2728 - else if (typeof options2.name === "string")
2729 - attrs.push(`name: ${this.quote(options2.name)}`);
2730 - if (isRegExp2(options2.description))
2731 - attrs.push(`description: ${this.regexToSourceString(options2.description)}`);
2732 - else if (typeof options2.description === "string")
2733 - attrs.push(`description: ${this.quote(options2.description)}`);
2734 - if (options2.exact && (typeof options2.name === "string" || typeof options2.description === "string"))
2735 - attrs.push(`exact: true`);
2736 - for (const { name, value: value2 } of options2.attrs)
2737 - attrs.push(`${name}: ${typeof value2 === "string" ? this.quote(value2) : value2}`);
2738 - const attrString = attrs.length ? `, { ${attrs.join(", ")} }` : "";
2739 - return `getByRole(${this.quote(body)}${attrString})`;
2740 - case "has-text":
2741 - return `filter({ hasText: ${this.toHasText(body)} })`;
2742 - case "has-not-text":
2743 - return `filter({ hasNotText: ${this.toHasText(body)} })`;
2744 - case "has":
2745 - return `filter({ has: ${body} })`;
2746 - case "hasNot":
2747 - return `filter({ hasNot: ${body} })`;
2748 - case "and":
2749 - return `and(${body})`;
2750 - case "or":
2751 - return `or(${body})`;
2752 - case "chain":
2753 - return `locator(${body})`;
2754 - case "test-id":
2755 - return `getByTestId(${this.toTestIdValue(body)})`;
2756 - case "text":
2757 - return this.toCallWithExact("getByText", body, !!options2.exact);
2758 - case "alt":
2759 - return this.toCallWithExact("getByAltText", body, !!options2.exact);
2760 - case "placeholder":
2761 - return this.toCallWithExact("getByPlaceholder", body, !!options2.exact);
2762 - case "label":
2763 - return this.toCallWithExact("getByLabel", body, !!options2.exact);
2764 - case "title":
2765 - return this.toCallWithExact("getByTitle", body, !!options2.exact);
2766 - default:
2767 - throw new Error("Unknown selector kind " + kind);
2768 - }
2769 - }
2770 - chainLocators(locators) {
2771 - return locators.join(".");
2772 - }
2773 - regexToSourceString(re2) {
2774 - return normalizeEscapedRegexQuotes(String(re2));
2775 - }
2776 - toCallWithExact(method, body, exact) {
2777 - if (isRegExp2(body))
2778 - return `${method}(${this.regexToSourceString(body)})`;
2779 - return exact ? `${method}(${this.quote(body)}, { exact: true })` : `${method}(${this.quote(body)})`;
2780 - }
2781 - toHasText(body) {
2782 - if (isRegExp2(body))
2783 - return this.regexToSourceString(body);
2784 - return this.quote(body);
2785 - }
2786 - toTestIdValue(value2) {
2787 - if (isRegExp2(value2))
2788 - return this.regexToSourceString(value2);
2789 - return this.quote(value2);
2790 - }
2791 - quote(text2) {
2792 - return escapeWithQuotes(text2, this.preferredQuote ?? "'");
2793 - }
2794 - };
2795 - PythonLocatorFactory = class {
2796 - generateLocator(base, kind, body, options2 = {}) {
2797 - switch (kind) {
2798 - case "default":
2799 - if (options2.hasText !== void 0)
2800 - return `locator(${this.quote(body)}, has_text=${this.toHasText(options2.hasText)})`;
2801 - if (options2.hasNotText !== void 0)
2802 - return `locator(${this.quote(body)}, has_not_text=${this.toHasText(options2.hasNotText)})`;
2803 - return `locator(${this.quote(body)})`;
2804 - case "frame-locator":
2805 - return `frame_locator(${this.quote(body)})`;
2806 - case "frame":
2807 - return `content_frame`;
2808 - case "nth":
2809 - return `nth(${body})`;
2810 - case "first":
2811 - return `first`;
2812 - case "last":
2813 - return `last`;
2814 - case "visible":
2815 - return `filter(visible=${body === "true" ? "True" : "False"})`;
2816 - case "role":
2817 - const attrs = [];
2818 - if (isRegExp2(options2.name))
2819 - attrs.push(`name=${this.regexToString(options2.name)}`);
2820 - else if (typeof options2.name === "string")
2821 - attrs.push(`name=${this.quote(options2.name)}`);
2822 - if (isRegExp2(options2.description))
2823 - attrs.push(`description=${this.regexToString(options2.description)}`);
2824 - else if (typeof options2.description === "string")
2825 - attrs.push(`description=${this.quote(options2.description)}`);
2826 - if (options2.exact && (typeof options2.name === "string" || typeof options2.description === "string"))
2827 - attrs.push(`exact=True`);
2828 - for (const { name, value: value2 } of options2.attrs) {
2829 - let valueString = typeof value2 === "string" ? this.quote(value2) : value2;
2830 - if (typeof value2 === "boolean")
2831 - valueString = value2 ? "True" : "False";
2832 - attrs.push(`${toSnakeCase(name)}=${valueString}`);
2833 - }
2834 - const attrString = attrs.length ? `, ${attrs.join(", ")}` : "";
2835 - return `get_by_role(${this.quote(body)}${attrString})`;
2836 - case "has-text":
2837 - return `filter(has_text=${this.toHasText(body)})`;
2838 - case "has-not-text":
2839 - return `filter(has_not_text=${this.toHasText(body)})`;
2840 - case "has":
2841 - return `filter(has=${body})`;
2842 - case "hasNot":
2843 - return `filter(has_not=${body})`;
2844 - case "and":
2845 - return `and_(${body})`;
2846 - case "or":
2847 - return `or_(${body})`;
2848 - case "chain":
2849 - return `locator(${body})`;
2850 - case "test-id":
2851 - return `get_by_test_id(${this.toTestIdValue(body)})`;
2852 - case "text":
2853 - return this.toCallWithExact("get_by_text", body, !!options2.exact);
2854 - case "alt":
2855 - return this.toCallWithExact("get_by_alt_text", body, !!options2.exact);
2856 - case "placeholder":
2857 - return this.toCallWithExact("get_by_placeholder", body, !!options2.exact);
2858 - case "label":
2859 - return this.toCallWithExact("get_by_label", body, !!options2.exact);
2860 - case "title":
2861 - return this.toCallWithExact("get_by_title", body, !!options2.exact);
2862 - default:
2863 - throw new Error("Unknown selector kind " + kind);
2864 - }
2865 - }
2866 - chainLocators(locators) {
2867 - return locators.join(".");
2868 - }
2869 - regexToString(body) {
2870 - const suffix = body.flags.includes("i") ? ", re.IGNORECASE" : "";
2871 - return `re.compile(r"${normalizeEscapedRegexQuotes(body.source).replace(/\\\//, "/").replace(/"/g, '\\"')}"${suffix})`;
2872 - }
2873 - toCallWithExact(method, body, exact) {
2874 - if (isRegExp2(body))
2875 - return `${method}(${this.regexToString(body)})`;
2876 - if (exact)
2877 - return `${method}(${this.quote(body)}, exact=True)`;
2878 - return `${method}(${this.quote(body)})`;
2879 - }
2880 - toHasText(body) {
2881 - if (isRegExp2(body))
2882 - return this.regexToString(body);
2883 - return `${this.quote(body)}`;
2884 - }
2885 - toTestIdValue(value2) {
2886 - if (isRegExp2(value2))
2887 - return this.regexToString(value2);
2888 - return this.quote(value2);
2889 - }
2890 - quote(text2) {
2891 - return escapeWithQuotes(text2, '"');
2892 - }
2893 - };
2894 - JavaLocatorFactory = class {
2895 - generateLocator(base, kind, body, options2 = {}) {
2896 - let clazz;
2897 - switch (base) {
2898 - case "page":
2899 - clazz = "Page";
2900 - break;
2901 - case "frame-locator":
2902 - clazz = "FrameLocator";
2903 - break;
2904 - case "locator":
2905 - clazz = "Locator";
2906 - break;
2907 - }
2908 - switch (kind) {
2909 - case "default":
2910 - if (options2.hasText !== void 0)
2911 - return `locator(${this.quote(body)}, new ${clazz}.LocatorOptions().setHasText(${this.toHasText(options2.hasText)}))`;
2912 - if (options2.hasNotText !== void 0)
2913 - return `locator(${this.quote(body)}, new ${clazz}.LocatorOptions().setHasNotText(${this.toHasText(options2.hasNotText)}))`;
2914 - return `locator(${this.quote(body)})`;
2915 - case "frame-locator":
2916 - return `frameLocator(${this.quote(body)})`;
2917 - case "frame":
2918 - return `contentFrame()`;
2919 - case "nth":
2920 - return `nth(${body})`;
2921 - case "first":
2922 - return `first()`;
2923 - case "last":
2924 - return `last()`;
2925 - case "visible":
2926 - return `filter(new ${clazz}.FilterOptions().setVisible(${body === "true" ? "true" : "false"}))`;
2927 - case "role":
2928 - const attrs = [];
2929 - if (isRegExp2(options2.name))
2930 - attrs.push(`.setName(${this.regexToString(options2.name)})`);
2931 - else if (typeof options2.name === "string")
2932 - attrs.push(`.setName(${this.quote(options2.name)})`);
2933 - if (isRegExp2(options2.description))
2934 - attrs.push(`.setDescription(${this.regexToString(options2.description)})`);
2935 - else if (typeof options2.description === "string")
2936 - attrs.push(`.setDescription(${this.quote(options2.description)})`);
2937 - if (options2.exact && (typeof options2.name === "string" || typeof options2.description === "string"))
2938 - attrs.push(`.setExact(true)`);
2939 - for (const { name, value: value2 } of options2.attrs)
2940 - attrs.push(`.set${toTitleCase(name)}(${typeof value2 === "string" ? this.quote(value2) : value2})`);
2941 - const attrString = attrs.length ? `, new ${clazz}.GetByRoleOptions()${attrs.join("")}` : "";
2942 - return `getByRole(AriaRole.${toSnakeCase(body).toUpperCase()}${attrString})`;
2943 - case "has-text":
2944 - return `filter(new ${clazz}.FilterOptions().setHasText(${this.toHasText(body)}))`;
2945 - case "has-not-text":
2946 - return `filter(new ${clazz}.FilterOptions().setHasNotText(${this.toHasText(body)}))`;
2947 - case "has":
2948 - return `filter(new ${clazz}.FilterOptions().setHas(${body}))`;
2949 - case "hasNot":
2950 - return `filter(new ${clazz}.FilterOptions().setHasNot(${body}))`;
2951 - case "and":
2952 - return `and(${body})`;
2953 - case "or":
2954 - return `or(${body})`;
2955 - case "chain":
2956 - return `locator(${body})`;
2957 - case "test-id":
2958 - return `getByTestId(${this.toTestIdValue(body)})`;
2959 - case "text":
2960 - return this.toCallWithExact(clazz, "getByText", body, !!options2.exact);
2961 - case "alt":
2962 - return this.toCallWithExact(clazz, "getByAltText", body, !!options2.exact);
2963 - case "placeholder":
2964 - return this.toCallWithExact(clazz, "getByPlaceholder", body, !!options2.exact);
2965 - case "label":
2966 - return this.toCallWithExact(clazz, "getByLabel", body, !!options2.exact);
2967 - case "title":
2968 - return this.toCallWithExact(clazz, "getByTitle", body, !!options2.exact);
2969 - default:
2970 - throw new Error("Unknown selector kind " + kind);
2971 - }
2972 - }
2973 - chainLocators(locators) {
2974 - return locators.join(".");
2975 - }
2976 - regexToString(body) {
2977 - const suffix = body.flags.includes("i") ? ", Pattern.CASE_INSENSITIVE" : "";
2978 - return `Pattern.compile(${this.quote(normalizeEscapedRegexQuotes(body.source))}${suffix})`;
2979 - }
2980 - toCallWithExact(clazz, method, body, exact) {
2981 - if (isRegExp2(body))
2982 - return `${method}(${this.regexToString(body)})`;
2983 - if (exact)
2984 - return `${method}(${this.quote(body)}, new ${clazz}.${toTitleCase(method)}Options().setExact(true))`;
2985 - return `${method}(${this.quote(body)})`;
2986 - }
2987 - toHasText(body) {
2988 - if (isRegExp2(body))
2989 - return this.regexToString(body);
2990 - return this.quote(body);
2991 - }
2992 - toTestIdValue(value2) {
2993 - if (isRegExp2(value2))
2994 - return this.regexToString(value2);
2995 - return this.quote(value2);
2996 - }
2997 - quote(text2) {
2998 - return escapeWithQuotes(text2, '"');
2999 - }
3000 - };
3001 - CSharpLocatorFactory = class {
3002 - generateLocator(base, kind, body, options2 = {}) {
3003 - switch (kind) {
3004 - case "default":
3005 - if (options2.hasText !== void 0)
3006 - return `Locator(${this.quote(body)}, new() { ${this.toHasText(options2.hasText)} })`;
3007 - if (options2.hasNotText !== void 0)
3008 - return `Locator(${this.quote(body)}, new() { ${this.toHasNotText(options2.hasNotText)} })`;
3009 - return `Locator(${this.quote(body)})`;
3010 - case "frame-locator":
3011 - return `FrameLocator(${this.quote(body)})`;
3012 - case "frame":
3013 - return `ContentFrame`;
3014 - case "nth":
3015 - return `Nth(${body})`;
3016 - case "first":
3017 - return `First`;
3018 - case "last":
3019 - return `Last`;
3020 - case "visible":
3021 - return `Filter(new() { Visible = ${body === "true" ? "true" : "false"} })`;
3022 - case "role":
3023 - const attrs = [];
3024 - if (isRegExp2(options2.name))
3025 - attrs.push(`NameRegex = ${this.regexToString(options2.name)}`);
3026 - else if (typeof options2.name === "string")
3027 - attrs.push(`Name = ${this.quote(options2.name)}`);
3028 - if (isRegExp2(options2.description))
3029 - attrs.push(`DescriptionRegex = ${this.regexToString(options2.description)}`);
3030 - else if (typeof options2.description === "string")
3031 - attrs.push(`Description = ${this.quote(options2.description)}`);
3032 - if (options2.exact && (typeof options2.name === "string" || typeof options2.description === "string"))
3033 - attrs.push(`Exact = true`);
3034 - for (const { name, value: value2 } of options2.attrs)
3035 - attrs.push(`${toTitleCase(name)} = ${typeof value2 === "string" ? this.quote(value2) : value2}`);
3036 - const attrString = attrs.length ? `, new() { ${attrs.join(", ")} }` : "";
3037 - return `GetByRole(AriaRole.${toTitleCase(body)}${attrString})`;
3038 - case "has-text":
3039 - return `Filter(new() { ${this.toHasText(body)} })`;
3040 - case "has-not-text":
3041 - return `Filter(new() { ${this.toHasNotText(body)} })`;
3042 - case "has":
3043 - return `Filter(new() { Has = ${body} })`;
3044 - case "hasNot":
3045 - return `Filter(new() { HasNot = ${body} })`;
3046 - case "and":
3047 - return `And(${body})`;
3048 - case "or":
3049 - return `Or(${body})`;
3050 - case "chain":
3051 - return `Locator(${body})`;
3052 - case "test-id":
3053 - return `GetByTestId(${this.toTestIdValue(body)})`;
3054 - case "text":
3055 - return this.toCallWithExact("GetByText", body, !!options2.exact);
3056 - case "alt":
3057 - return this.toCallWithExact("GetByAltText", body, !!options2.exact);
3058 - case "placeholder":
3059 - return this.toCallWithExact("GetByPlaceholder", body, !!options2.exact);
3060 - case "label":
3061 - return this.toCallWithExact("GetByLabel", body, !!options2.exact);
3062 - case "title":
3063 - return this.toCallWithExact("GetByTitle", body, !!options2.exact);
3064 - default:
3065 - throw new Error("Unknown selector kind " + kind);
3066 - }
3067 - }
3068 - chainLocators(locators) {
3069 - return locators.join(".");
3070 - }
3071 - regexToString(body) {
3072 - const suffix = body.flags.includes("i") ? ", RegexOptions.IgnoreCase" : "";
3073 - return `new Regex(${this.quote(normalizeEscapedRegexQuotes(body.source))}${suffix})`;
3074 - }
3075 - toCallWithExact(method, body, exact) {
3076 - if (isRegExp2(body))
3077 - return `${method}(${this.regexToString(body)})`;
3078 - if (exact)
3079 - return `${method}(${this.quote(body)}, new() { Exact = true })`;
3080 - return `${method}(${this.quote(body)})`;
3081 - }
3082 - toHasText(body) {
3083 - if (isRegExp2(body))
3084 - return `HasTextRegex = ${this.regexToString(body)}`;
3085 - return `HasText = ${this.quote(body)}`;
3086 - }
3087 - toTestIdValue(value2) {
3088 - if (isRegExp2(value2))
3089 - return this.regexToString(value2);
3090 - return this.quote(value2);
3091 - }
3092 - toHasNotText(body) {
3093 - if (isRegExp2(body))
3094 - return `HasNotTextRegex = ${this.regexToString(body)}`;
3095 - return `HasNotText = ${this.quote(body)}`;
3096 - }
3097 - quote(text2) {
3098 - return escapeWithQuotes(text2, '"');
3099 - }
3100 - };
3101 - JsonlLocatorFactory = class {
3102 - generateLocator(base, kind, body, options2 = {}) {
3103 - return JSON.stringify({
3104 - kind,
3105 - body,
3106 - options: options2
3107 - });
3108 - }
3109 - chainLocators(locators) {
3110 - const objects = locators.map((l) => JSON.parse(l));
3111 - for (let i = 0; i < objects.length - 1; ++i)
3112 - objects[i].next = objects[i + 1];
3113 - return JSON.stringify(objects[0]);
3114 - }
3115 - };
3116 - generators = {
3117 - javascript: JavaScriptLocatorFactory,
3118 - python: PythonLocatorFactory,
3119 - java: JavaLocatorFactory,
3120 - csharp: CSharpLocatorFactory,
3121 - jsonl: JsonlLocatorFactory
3122 - };
3123 - }
3124 -});
3125 -
3126 -// packages/isomorphic/stackTrace.ts
3127 -function captureRawStack() {
3128 - const stackTraceLimit = Error.stackTraceLimit;
3129 - Error.stackTraceLimit = 50;
3130 - const error = new Error();
3131 - const stack = error.stack || "";
3132 - Error.stackTraceLimit = stackTraceLimit;
3133 - return stack.split("\n");
3134 -}
3135 -function parseStackFrame(text2, pathSeparator, showInternalStackFrames) {
3136 - const match = text2 && text2.match(re);
3137 - if (!match)
3138 - return null;
3139 - let fname = match[2];
3140 - let file = match[7];
3141 - if (!file)
3142 - return null;
3143 - if (!showInternalStackFrames && (file.startsWith("internal") || file.startsWith("node:")))
3144 - return null;
3145 - const line = match[8];
3146 - const column = match[9];
3147 - const closeParen = match[11] === ")";
3148 - const frame = {
3149 - file: "",
3150 - line: 0,
3151 - column: 0
3152 - };
3153 - if (line)
3154 - frame.line = Number(line);
3155 - if (column)
3156 - frame.column = Number(column);
3157 - if (closeParen && file) {
3158 - let closes = 0;
3159 - for (let i = file.length - 1; i > 0; i--) {
3160 - if (file.charAt(i) === ")") {
3161 - closes++;
3162 - } else if (file.charAt(i) === "(" && file.charAt(i - 1) === " ") {
3163 - closes--;
3164 - if (closes === -1 && file.charAt(i - 1) === " ") {
3165 - const before = file.slice(0, i - 1);
3166 - const after = file.slice(i + 1);
3167 - file = after;
3168 - fname += ` (${before}`;
3169 - break;
3170 - }
3171 - }
3172 - }
3173 - }
3174 - if (fname) {
3175 - const methodMatch = fname.match(methodRe);
3176 - if (methodMatch)
3177 - fname = methodMatch[1];
3178 - }
3179 - if (file) {
3180 - if (file.startsWith("file://"))
3181 - file = fileURLToPath(file, pathSeparator);
3182 - frame.file = file;
3183 - }
3184 - if (fname)
3185 - frame.function = fname;
3186 - return frame;
3187 -}
3188 -function rewriteErrorMessage(e, newMessage) {
3189 - const lines = (e.stack?.split("\n") || []).filter((l) => l.startsWith(" at "));
3190 - e.message = newMessage;
3191 - const errorTitle = `${e.name}: ${e.message}`;
3192 - if (lines.length)
3193 - e.stack = `${errorTitle}
3194 -${lines.join("\n")}`;
3195 - return e;
3196 -}
3197 -function stringifyStackFrames(frames) {
3198 - const stackLines = [];
3199 - for (const frame of frames) {
3200 - if (frame.function)
3201 - stackLines.push(` at ${frame.function} (${frame.file}:${frame.line}:${frame.column})`);
3202 - else
3203 - stackLines.push(` at ${frame.file}:${frame.line}:${frame.column}`);
3204 - }
3205 - return stackLines;
3206 -}
3207 -function splitErrorMessage(message) {
3208 - const separationIdx = message.indexOf(":");
3209 - return {
3210 - name: separationIdx !== -1 ? message.slice(0, separationIdx) : "",
3211 - message: separationIdx !== -1 && separationIdx + 2 <= message.length ? message.substring(separationIdx + 2) : message
3212 - };
3213 -}
3214 -function parseErrorStack(stack, pathSeparator, showInternalStackFrames = false) {
3215 - const lines = stack.split("\n");
3216 - let firstStackLine = lines.findIndex((line) => line.startsWith(" at "));
3217 - if (firstStackLine === -1)
3218 - firstStackLine = lines.length;
3219 - const message = lines.slice(0, firstStackLine).join("\n");
3220 - const stackLines = lines.slice(firstStackLine);
3221 - let location2;
3222 - for (const line of stackLines) {
3223 - const frame = parseStackFrame(line, pathSeparator, showInternalStackFrames);
3224 - if (!frame || !frame.file)
3225 - continue;
3226 - if (belongsToNodeModules(frame.file, pathSeparator))
3227 - continue;
3228 - location2 = { file: frame.file, column: frame.column || 0, line: frame.line || 0 };
3229 - break;
3230 - }
3231 - return { message, stackLines, location: location2 };
3232 -}
3233 -function belongsToNodeModules(file, pathSeparator) {
3234 - return file.includes(`${pathSeparator}node_modules${pathSeparator}`);
3235 -}
3236 -function fileURLToPath(fileUrl, pathSeparator) {
3237 - if (!fileUrl.startsWith("file://"))
3238 - return fileUrl;
3239 - let path59 = decodeURIComponent(fileUrl.slice(7));
3240 - if (path59.startsWith("/") && /^[a-zA-Z]:/.test(path59.slice(1)))
3241 - path59 = path59.slice(1);
3242 - return path59.replace(/\//g, pathSeparator);
3243 -}
3244 -var re, methodRe;
3245 -var init_stackTrace = __esm({
3246 - "packages/isomorphic/stackTrace.ts"() {
3247 - "use strict";
3248 - re = new RegExp(
3249 - "^(?:\\s*at )?(?:(new) )?(?:(.*?) \\()?(?:eval at ([^ ]+) \\((.+?):(\\d+):(\\d+)\\), )?(?:(.+?):(\\d+):(\\d+)|(native))(\\)?)$"
3250 - );
3251 - methodRe = /^(.*?) \[as (.*?)\]$/;
3252 - }
3253 -});
3254 -
3255 -// packages/isomorphic/manualPromise.ts
3256 -function signalToPromise(signal) {
3257 - const promise = new Promise((resolve) => {
3258 - if (signal.aborted)
3259 - resolve();
3260 - else
3261 - signal.addEventListener("abort", () => resolve(), { once: true });
3262 - });
3263 - return { promise, dispose: () => {
3264 - } };
3265 -}
3266 -function cloneError(error, frames) {
3267 - const clone = new Error();
3268 - clone.name = error.name;
3269 - clone.message = error.message;
3270 - clone.stack = [error.name + ":" + error.message, ...frames].join("\n");
3271 - return clone;
3272 -}
3273 -var ManualPromise, LongStandingScope;
3274 -var init_manualPromise = __esm({
3275 - "packages/isomorphic/manualPromise.ts"() {
3276 - "use strict";
3277 - init_stackTrace();
3278 - ManualPromise = class extends Promise {
3279 - constructor() {
3280 - let resolve;
3281 - let reject;
3282 - super((f, r) => {
3283 - resolve = f;
3284 - reject = r;
3285 - });
3286 - this._isDone = false;
3287 - this._resolve = resolve;
3288 - this._reject = reject;
3289 - }
3290 - isDone() {
3291 - return this._isDone;
3292 - }
3293 - resolve(t) {
3294 - this._isDone = true;
3295 - this._resolve(t);
3296 - }
3297 - reject(e) {
3298 - this._isDone = true;
3299 - this._reject(e);
3300 - }
3301 - static get [Symbol.species]() {
3302 - return Promise;
3303 - }
3304 - get [Symbol.toStringTag]() {
3305 - return "ManualPromise";
3306 - }
3307 - };
3308 - LongStandingScope = class {
3309 - constructor() {
3310 - this._terminatePromises = /* @__PURE__ */ new Map();
3311 - this._isClosed = false;
3312 - }
3313 - reject(error) {
3314 - this._isClosed = true;
3315 - this._terminateError = error;
3316 - for (const p of this._terminatePromises.keys())
3317 - p.resolve(error);
3318 - }
3319 - close(error) {
3320 - this._isClosed = true;
3321 - this._closeError = error;
3322 - for (const [p, frames] of this._terminatePromises)
3323 - p.resolve(cloneError(error, frames));
3324 - }
3325 - isClosed() {
3326 - return this._isClosed;
3327 - }
3328 - static async raceMultiple(scopes, promise) {
3329 - return Promise.race(scopes.map((s) => s.race(promise)));
3330 - }
3331 - async race(promise) {
3332 - return this._race(Array.isArray(promise) ? promise : [promise], false);
3333 - }
3334 - async safeRace(promise, defaultValue) {
3335 - return this._race([promise], true, defaultValue);
3336 - }
3337 - async _race(promises, safe, defaultValue) {
3338 - const terminatePromise = new ManualPromise();
3339 - const frames = captureRawStack();
3340 - if (this._terminateError)
3341 - terminatePromise.resolve(this._terminateError);
3342 - if (this._closeError)
3343 - terminatePromise.resolve(cloneError(this._closeError, frames));
3344 - this._terminatePromises.set(terminatePromise, frames);
3345 - try {
3346 - return await Promise.race([
3347 - terminatePromise.then((e) => safe ? defaultValue : Promise.reject(e)),
3348 - ...promises
3349 - ]);
3350 - } finally {
3351 - this._terminatePromises.delete(terminatePromise);
3352 - }
3353 - }
3354 - };
3355 - }
3356 -});
3357 -
3358 -// packages/isomorphic/mimeType.ts
3359 -function isJsonMimeType(mimeType) {
3360 - return !!mimeType.match(/^(application\/json|application\/.*?\+json|text\/(x-)?json)(;\s*charset=.*)?$/);
3361 -}
3362 -function isXmlMimeType(mimeType) {
3363 - return !!mimeType.match(/^(application\/xml|application\/.*?\+xml|text\/xml)(;\s*charset=.*)?$/);
3364 -}
3365 -function isTextualMimeType(mimeType) {
3366 - return !!mimeType.match(/^(text\/.*?|application\/(json|(x-)?javascript|xml.*?|ecmascript|graphql|x-www-form-urlencoded)|image\/svg(\+xml)?|application\/.*?(\+json|\+xml))(;\s*charset=.*)?$/);
3367 -}
3368 -function getMimeTypeForPath(path59) {
3369 - const dotIndex = path59.lastIndexOf(".");
3370 - if (dotIndex === -1)
3371 - return null;
3372 - const extension = path59.substring(dotIndex + 1);
3373 - return types.get(extension) || null;
3374 -}
3375 -function getExtensionForMimeType(contentType) {
3376 - const subtype = (contentType ?? "").split(";")[0].split("/")[1]?.trim().toLowerCase() ?? "";
3377 - if (!subtype)
3378 - return "bin";
3379 - const tail = subtype.includes("+") ? subtype.split("+").pop() : subtype;
3380 - if (tail === "plain")
3381 - return "txt";
3382 - if (tail === "javascript" || tail === "ecmascript")
3383 - return "js";
3384 - if (tail === "jpeg")
3385 - return "jpg";
3386 - return tail.replace(/[^a-z0-9]/g, "") || "bin";
3387 -}
3388 -var types;
3389 -var init_mimeType = __esm({
3390 - "packages/isomorphic/mimeType.ts"() {
3391 - "use strict";
3392 - types = /* @__PURE__ */ new Map([
3393 - ["ez", "application/andrew-inset"],
3394 - ["aw", "application/applixware"],
3395 - ["atom", "application/atom+xml"],
3396 - ["atomcat", "application/atomcat+xml"],
3397 - ["atomdeleted", "application/atomdeleted+xml"],
3398 - ["atomsvc", "application/atomsvc+xml"],
3399 - ["dwd", "application/atsc-dwd+xml"],
3400 - ["held", "application/atsc-held+xml"],
3401 - ["rsat", "application/atsc-rsat+xml"],
3402 - ["bdoc", "application/bdoc"],
3403 - ["xcs", "application/calendar+xml"],
3404 - ["ccxml", "application/ccxml+xml"],
3405 - ["cdfx", "application/cdfx+xml"],
3406 - ["cdmia", "application/cdmi-capability"],
3407 - ["cdmic", "application/cdmi-container"],
3408 - ["cdmid", "application/cdmi-domain"],
3409 - ["cdmio", "application/cdmi-object"],
3410 - ["cdmiq", "application/cdmi-queue"],
3411 - ["cu", "application/cu-seeme"],
3412 - ["mpd", "application/dash+xml"],
3413 - ["davmount", "application/davmount+xml"],
3414 - ["dbk", "application/docbook+xml"],
3415 - ["dssc", "application/dssc+der"],
3416 - ["xdssc", "application/dssc+xml"],
3417 - ["ecma", "application/ecmascript"],
3418 - ["es", "application/ecmascript"],
3419 - ["emma", "application/emma+xml"],
3420 - ["emotionml", "application/emotionml+xml"],
3421 - ["epub", "application/epub+zip"],
3422 - ["exi", "application/exi"],
3423 - ["exp", "application/express"],
3424 - ["fdt", "application/fdt+xml"],
3425 - ["pfr", "application/font-tdpfr"],
3426 - ["geojson", "application/geo+json"],
3427 - ["gml", "application/gml+xml"],
3428 - ["gpx", "application/gpx+xml"],
3429 - ["gxf", "application/gxf"],
3430 - ["gz", "application/gzip"],
3431 - ["hjson", "application/hjson"],
3432 - ["stk", "application/hyperstudio"],
3433 - ["ink", "application/inkml+xml"],
3434 - ["inkml", "application/inkml+xml"],
3435 - ["ipfix", "application/ipfix"],
3436 - ["its", "application/its+xml"],
3437 - ["ear", "application/java-archive"],
3438 - ["jar", "application/java-archive"],
3439 - ["war", "application/java-archive"],
3440 - ["ser", "application/java-serialized-object"],
3441 - ["class", "application/java-vm"],
3442 - ["js", "application/javascript"],
3443 - ["mjs", "application/javascript"],
3444 - ["json", "application/json"],
3445 - ["map", "application/json"],
3446 - ["json5", "application/json5"],
3447 - ["jsonml", "application/jsonml+json"],
3448 - ["jsonld", "application/ld+json"],
3449 - ["lgr", "application/lgr+xml"],
3450 - ["lostxml", "application/lost+xml"],
3451 - ["hqx", "application/mac-binhex40"],
3452 - ["cpt", "application/mac-compactpro"],
3453 - ["mads", "application/mads+xml"],
3454 - ["webmanifest", "application/manifest+json"],
3455 - ["mrc", "application/marc"],
3456 - ["mrcx", "application/marcxml+xml"],
3457 - ["ma", "application/mathematica"],
3458 - ["mb", "application/mathematica"],
3459 - ["nb", "application/mathematica"],
3460 - ["mathml", "application/mathml+xml"],
3461 - ["mbox", "application/mbox"],
3462 - ["mscml", "application/mediaservercontrol+xml"],
3463 - ["metalink", "application/metalink+xml"],
3464 - ["meta4", "application/metalink4+xml"],
3465 - ["mets", "application/mets+xml"],
3466 - ["maei", "application/mmt-aei+xml"],
3467 - ["musd", "application/mmt-usd+xml"],
3468 - ["mods", "application/mods+xml"],
3469 - ["m21", "application/mp21"],
3470 - ["mp21", "application/mp21"],
3471 - ["m4p", "application/mp4"],
3472 - ["mp4s", "application/mp4"],
3473 - ["doc", "application/msword"],
3474 - ["dot", "application/msword"],
3475 - ["mxf", "application/mxf"],
3476 - ["nq", "application/n-quads"],
3477 - ["nt", "application/n-triples"],
3478 - ["cjs", "application/node"],
3479 - ["bin", "application/octet-stream"],
3480 - ["bpk", "application/octet-stream"],
3481 - ["buffer", "application/octet-stream"],
3482 - ["deb", "application/octet-stream"],
3483 - ["deploy", "application/octet-stream"],
3484 - ["dist", "application/octet-stream"],
3485 - ["distz", "application/octet-stream"],
3486 - ["dll", "application/octet-stream"],
3487 - ["dmg", "application/octet-stream"],
3488 - ["dms", "application/octet-stream"],
3489 - ["dump", "application/octet-stream"],
3490 - ["elc", "application/octet-stream"],
3491 - ["exe", "application/octet-stream"],
3492 - ["img", "application/octet-stream"],
3493 - ["iso", "application/octet-stream"],
3494 - ["lrf", "application/octet-stream"],
3495 - ["mar", "application/octet-stream"],
3496 - ["msi", "application/octet-stream"],
3497 - ["msm", "application/octet-stream"],
3498 - ["msp", "application/octet-stream"],
3499 - ["pkg", "application/octet-stream"],
3500 - ["so", "application/octet-stream"],
3501 - ["oda", "application/oda"],
3502 - ["opf", "application/oebps-package+xml"],
3503 - ["ogx", "application/ogg"],
3504 - ["omdoc", "application/omdoc+xml"],
3505 - ["onepkg", "application/onenote"],
3506 - ["onetmp", "application/onenote"],
3507 - ["onetoc", "application/onenote"],
3508 - ["onetoc2", "application/onenote"],
3509 - ["oxps", "application/oxps"],
3510 - ["relo", "application/p2p-overlay+xml"],
3511 - ["xer", "application/patch-ops-error+xml"],
3512 - ["pdf", "application/pdf"],
3513 - ["pgp", "application/pgp-encrypted"],
3514 - ["asc", "application/pgp-signature"],
3515 - ["sig", "application/pgp-signature"],
3516 - ["prf", "application/pics-rules"],
3517 - ["p10", "application/pkcs10"],
3518 - ["p7c", "application/pkcs7-mime"],
3519 - ["p7m", "application/pkcs7-mime"],
3520 - ["p7s", "application/pkcs7-signature"],
3521 - ["p8", "application/pkcs8"],
3522 - ["ac", "application/pkix-attr-cert"],
3523 - ["cer", "application/pkix-cert"],
3524 - ["crl", "application/pkix-crl"],
3525 - ["pkipath", "application/pkix-pkipath"],
3526 - ["pki", "application/pkixcmp"],
3527 - ["pls", "application/pls+xml"],
3528 - ["ai", "application/postscript"],
3529 - ["eps", "application/postscript"],
3530 - ["ps", "application/postscript"],
3531 - ["provx", "application/provenance+xml"],
3532 - ["pskcxml", "application/pskc+xml"],
3533 - ["raml", "application/raml+yaml"],
3534 - ["owl", "application/rdf+xml"],
3535 - ["rdf", "application/rdf+xml"],
3536 - ["rif", "application/reginfo+xml"],
3537 - ["rnc", "application/relax-ng-compact-syntax"],
3538 - ["rl", "application/resource-lists+xml"],
3539 - ["rld", "application/resource-lists-diff+xml"],
3540 - ["rs", "application/rls-services+xml"],
3541 - ["rapd", "application/route-apd+xml"],
3542 - ["sls", "application/route-s-tsid+xml"],
3543 - ["rusd", "application/route-usd+xml"],
3544 - ["gbr", "application/rpki-ghostbusters"],
3545 - ["mft", "application/rpki-manifest"],
3546 - ["roa", "application/rpki-roa"],
3547 - ["rsd", "application/rsd+xml"],
3548 - ["rss", "application/rss+xml"],
3549 - ["rtf", "application/rtf"],
3550 - ["sbml", "application/sbml+xml"],
3551 - ["scq", "application/scvp-cv-request"],
3552 - ["scs", "application/scvp-cv-response"],
3553 - ["spq", "application/scvp-vp-request"],
3554 - ["spp", "application/scvp-vp-response"],
3555 - ["sdp", "application/sdp"],
3556 - ["senmlx", "application/senml+xml"],
3557 - ["sensmlx", "application/sensml+xml"],
3558 - ["setpay", "application/set-payment-initiation"],
3559 - ["setreg", "application/set-registration-initiation"],
3560 - ["shf", "application/shf+xml"],
3561 - ["sieve", "application/sieve"],
3562 - ["siv", "application/sieve"],
3563 - ["smi", "application/smil+xml"],
3564 - ["smil", "application/smil+xml"],
3565 - ["rq", "application/sparql-query"],
3566 - ["srx", "application/sparql-results+xml"],
3567 - ["gram", "application/srgs"],
3568 - ["grxml", "application/srgs+xml"],
3569 - ["sru", "application/sru+xml"],
3570 - ["ssdl", "application/ssdl+xml"],
3571 - ["ssml", "application/ssml+xml"],
3572 - ["swidtag", "application/swid+xml"],
3573 - ["tei", "application/tei+xml"],
3574 - ["teicorpus", "application/tei+xml"],
3575 - ["tfi", "application/thraud+xml"],
3576 - ["tsd", "application/timestamped-data"],
3577 - ["toml", "application/toml"],
3578 - ["trig", "application/trig"],
3579 - ["ttml", "application/ttml+xml"],
3580 - ["ubj", "application/ubjson"],
3581 - ["rsheet", "application/urc-ressheet+xml"],
3582 - ["td", "application/urc-targetdesc+xml"],
3583 - ["vxml", "application/voicexml+xml"],
3584 - ["wasm", "application/wasm"],
3585 - ["wgt", "application/widget"],
3586 - ["hlp", "application/winhlp"],
3587 - ["wsdl", "application/wsdl+xml"],
3588 - ["wspolicy", "application/wspolicy+xml"],
3589 - ["xaml", "application/xaml+xml"],
3590 - ["xav", "application/xcap-att+xml"],
3591 - ["xca", "application/xcap-caps+xml"],
3592 - ["xdf", "application/xcap-diff+xml"],
3593 - ["xel", "application/xcap-el+xml"],
3594 - ["xns", "application/xcap-ns+xml"],
3595 - ["xenc", "application/xenc+xml"],
3596 - ["xht", "application/xhtml+xml"],
3597 - ["xhtml", "application/xhtml+xml"],
3598 - ["xlf", "application/xliff+xml"],
3599 - ["rng", "application/xml"],
3600 - ["xml", "application/xml"],
3601 - ["xsd", "application/xml"],
3602 - ["xsl", "application/xml"],
3603 - ["dtd", "application/xml-dtd"],
3604 - ["xop", "application/xop+xml"],
3605 - ["xpl", "application/xproc+xml"],
3606 - ["*xsl", "application/xslt+xml"],
3607 - ["xslt", "application/xslt+xml"],
3608 - ["xspf", "application/xspf+xml"],
3609 - ["mxml", "application/xv+xml"],
3610 - ["xhvml", "application/xv+xml"],
3611 - ["xvm", "application/xv+xml"],
3612 - ["xvml", "application/xv+xml"],
3613 - ["yang", "application/yang"],
3614 - ["yin", "application/yin+xml"],
3615 - ["zip", "application/zip"],
3616 - ["*3gpp", "audio/3gpp"],
3617 - ["adp", "audio/adpcm"],
3618 - ["amr", "audio/amr"],
3619 - ["au", "audio/basic"],
3620 - ["snd", "audio/basic"],
3621 - ["kar", "audio/midi"],
3622 - ["mid", "audio/midi"],
3623 - ["midi", "audio/midi"],
3624 - ["rmi", "audio/midi"],
3625 - ["mxmf", "audio/mobile-xmf"],
3626 - ["*mp3", "audio/mp3"],
3627 - ["m4a", "audio/mp4"],
3628 - ["mp4a", "audio/mp4"],
3629 - ["m2a", "audio/mpeg"],
3630 - ["m3a", "audio/mpeg"],
3631 - ["mp2", "audio/mpeg"],
3632 - ["mp2a", "audio/mpeg"],
3633 - ["mp3", "audio/mpeg"],
3634 - ["mpga", "audio/mpeg"],
3635 - ["oga", "audio/ogg"],
3636 - ["ogg", "audio/ogg"],
3637 - ["opus", "audio/ogg"],
3638 - ["spx", "audio/ogg"],
3639 - ["s3m", "audio/s3m"],
3640 - ["sil", "audio/silk"],
3641 - ["wav", "audio/wav"],
3642 - ["*wav", "audio/wave"],
3643 - ["weba", "audio/webm"],
3644 - ["xm", "audio/xm"],
3645 - ["ttc", "font/collection"],
3646 - ["otf", "font/otf"],
3647 - ["ttf", "font/ttf"],
3648 - ["woff", "font/woff"],
3649 - ["woff2", "font/woff2"],
3650 - ["exr", "image/aces"],
3651 - ["apng", "image/apng"],
3652 - ["avif", "image/avif"],
3653 - ["bmp", "image/bmp"],
3654 - ["cgm", "image/cgm"],
3655 - ["drle", "image/dicom-rle"],
3656 - ["emf", "image/emf"],
3657 - ["fits", "image/fits"],
3658 - ["g3", "image/g3fax"],
3659 - ["gif", "image/gif"],
3660 - ["heic", "image/heic"],
3661 - ["heics", "image/heic-sequence"],
3662 - ["heif", "image/heif"],
3663 - ["heifs", "image/heif-sequence"],
3664 - ["hej2", "image/hej2k"],
3665 - ["hsj2", "image/hsj2"],
3666 - ["ief", "image/ief"],
3667 - ["jls", "image/jls"],
3668 - ["jp2", "image/jp2"],
3669 - ["jpg2", "image/jp2"],
3670 - ["jpe", "image/jpeg"],
3671 - ["jpeg", "image/jpeg"],
3672 - ["jpg", "image/jpeg"],
3673 - ["jph", "image/jph"],
3674 - ["jhc", "image/jphc"],
3675 - ["jpm", "image/jpm"],
3676 - ["jpf", "image/jpx"],
3677 - ["jpx", "image/jpx"],
3678 - ["jxr", "image/jxr"],
3679 - ["jxra", "image/jxra"],
3680 - ["jxrs", "image/jxrs"],
3681 - ["jxs", "image/jxs"],
3682 - ["jxsc", "image/jxsc"],
3683 - ["jxsi", "image/jxsi"],
3684 - ["jxss", "image/jxss"],
3685 - ["ktx", "image/ktx"],
3686 - ["ktx2", "image/ktx2"],
3687 - ["png", "image/png"],
3688 - ["sgi", "image/sgi"],
3689 - ["svg", "image/svg+xml"],
3690 - ["svgz", "image/svg+xml"],
3691 - ["t38", "image/t38"],
3692 - ["tif", "image/tiff"],
3693 - ["tiff", "image/tiff"],
3694 - ["tfx", "image/tiff-fx"],
3695 - ["webp", "image/webp"],
3696 - ["wmf", "image/wmf"],
3697 - ["disposition-notification", "message/disposition-notification"],
3698 - ["u8msg", "message/global"],
3699 - ["u8dsn", "message/global-delivery-status"],
3700 - ["u8mdn", "message/global-disposition-notification"],
3701 - ["u8hdr", "message/global-headers"],
3702 - ["eml", "message/rfc822"],
3703 - ["mime", "message/rfc822"],
3704 - ["3mf", "model/3mf"],
3705 - ["gltf", "model/gltf+json"],
3706 - ["glb", "model/gltf-binary"],
3707 - ["iges", "model/iges"],
3708 - ["igs", "model/iges"],
3709 - ["mesh", "model/mesh"],
3710 - ["msh", "model/mesh"],
3711 - ["silo", "model/mesh"],
3712 - ["mtl", "model/mtl"],
3713 - ["obj", "model/obj"],
3714 - ["stpx", "model/step+xml"],
3715 - ["stpz", "model/step+zip"],
3716 - ["stpxz", "model/step-xml+zip"],
3717 - ["stl", "model/stl"],
3718 - ["vrml", "model/vrml"],
3719 - ["wrl", "model/vrml"],
3720 - ["*x3db", "model/x3d+binary"],
3721 - ["x3dbz", "model/x3d+binary"],
3722 - ["x3db", "model/x3d+fastinfoset"],
3723 - ["*x3dv", "model/x3d+vrml"],
3724 - ["x3dvz", "model/x3d+vrml"],
3725 - ["x3d", "model/x3d+xml"],
3726 - ["x3dz", "model/x3d+xml"],
3727 - ["x3dv", "model/x3d-vrml"],
3728 - ["appcache", "text/cache-manifest"],
3729 - ["manifest", "text/cache-manifest"],
3730 - ["ics", "text/calendar"],
3731 - ["ifb", "text/calendar"],
3732 - ["coffee", "text/coffeescript"],
3733 - ["litcoffee", "text/coffeescript"],
3734 - ["css", "text/css"],
3735 - ["csv", "text/csv"],
3736 - ["htm", "text/html"],
3737 - ["html", "text/html"],
3738 - ["shtml", "text/html"],
3739 - ["jade", "text/jade"],
3740 - ["jsx", "text/jsx"],
3741 - ["less", "text/less"],
3742 - ["markdown", "text/markdown"],
3743 - ["md", "text/markdown"],
3744 - ["mml", "text/mathml"],
3745 - ["mdx", "text/mdx"],
3746 - ["n3", "text/n3"],
3747 - ["conf", "text/plain"],
3748 - ["def", "text/plain"],
3749 - ["in", "text/plain"],
3750 - ["ini", "text/plain"],
3751 - ["list", "text/plain"],
3752 - ["log", "text/plain"],
3753 - ["text", "text/plain"],
3754 - ["txt", "text/plain"],
3755 - ["rtx", "text/richtext"],
3756 - ["*rtf", "text/rtf"],
3757 - ["sgm", "text/sgml"],
3758 - ["sgml", "text/sgml"],
3759 - ["shex", "text/shex"],
3760 - ["slim", "text/slim"],
3761 - ["slm", "text/slim"],
3762 - ["spdx", "text/spdx"],
3763 - ["styl", "text/stylus"],
3764 - ["stylus", "text/stylus"],
3765 - ["tsv", "text/tab-separated-values"],
3766 - ["man", "text/troff"],
3767 - ["me", "text/troff"],
3768 - ["ms", "text/troff"],
3769 - ["roff", "text/troff"],
3770 - ["t", "text/troff"],
3771 - ["tr", "text/troff"],
3772 - ["ttl", "text/turtle"],
3773 - ["uri", "text/uri-list"],
3774 - ["uris", "text/uri-list"],
3775 - ["urls", "text/uri-list"],
3776 - ["vcard", "text/vcard"],
3777 - ["vtt", "text/vtt"],
3778 - ["*xml", "text/xml"],
3779 - ["yaml", "text/yaml"],
3780 - ["yml", "text/yaml"],
3781 - ["3gp", "video/3gpp"],
3782 - ["3gpp", "video/3gpp"],
3783 - ["3g2", "video/3gpp2"],
3784 - ["h261", "video/h261"],
3785 - ["h263", "video/h263"],
3786 - ["h264", "video/h264"],
3787 - ["m4s", "video/iso.segment"],
3788 - ["jpgv", "video/jpeg"],
3789 - ["jpm", "video/jpm"],
3790 - ["jpgm", "video/jpm"],
3791 - ["mj2", "video/mj2"],
3792 - ["mjp2", "video/mj2"],
3793 - ["ts", "application/typescript"],
3794 - ["mp4", "video/mp4"],
3795 - ["mp4v", "video/mp4"],
3796 - ["mpg4", "video/mp4"],
3797 - ["m1v", "video/mpeg"],
3798 - ["m2v", "video/mpeg"],
3799 - ["mpe", "video/mpeg"],
3800 - ["mpeg", "video/mpeg"],
3801 - ["mpg", "video/mpeg"],
3802 - ["ogv", "video/ogg"],
3803 - ["mov", "video/quicktime"],
3804 - ["qt", "video/quicktime"],
3805 - ["webm", "video/webm"]
3806 - ]);
3807 - }
3808 -});
3809 -
3810 -// packages/isomorphic/multimap.ts
3811 -var MultiMap;
3812 -var init_multimap = __esm({
3813 - "packages/isomorphic/multimap.ts"() {
3814 - "use strict";
3815 - MultiMap = class {
3816 - constructor() {
3817 - this._map = /* @__PURE__ */ new Map();
3818 - }
3819 - set(key, value2) {
3820 - let values = this._map.get(key);
3821 - if (!values) {
3822 - values = [];
3823 - this._map.set(key, values);
3824 - }
3825 - values.push(value2);
3826 - }
3827 - get(key) {
3828 - return this._map.get(key) || [];
3829 - }
3830 - has(key) {
3831 - return this._map.has(key);
3832 - }
3833 - delete(key, value2) {
3834 - const values = this._map.get(key);
3835 - if (!values)
3836 - return;
3837 - if (values.includes(value2))
3838 - this._map.set(key, values.filter((v) => value2 !== v));
3839 - }
3840 - deleteAll(key) {
3841 - this._map.delete(key);
3842 - }
3843 - hasValue(key, value2) {
3844 - const values = this._map.get(key);
3845 - if (!values)
3846 - return false;
3847 - return values.includes(value2);
3848 - }
3849 - get size() {
3850 - return this._map.size;
3851 - }
3852 - [Symbol.iterator]() {
3853 - return this._map[Symbol.iterator]();
3854 - }
3855 - keys() {
3856 - return this._map.keys();
3857 - }
3858 - values() {
3859 - const result2 = [];
3860 - for (const key of this.keys())
3861 - result2.push(...this.get(key));
3862 - return result2;
3863 - }
3864 - clear() {
3865 - this._map.clear();
3866 - }
3867 - };
3868 - }
3869 -});
3870 -
3871 -// packages/isomorphic/protocolMetainfo.ts
3872 -function getMetainfo(metadata) {
3873 - return methodMetainfo.get(metadata.type + "." + metadata.method);
3874 -}
3875 -var methodMetainfo;
3876 -var init_protocolMetainfo = __esm({
3877 - "packages/isomorphic/protocolMetainfo.ts"() {
3878 - "use strict";
3879 - methodMetainfo = /* @__PURE__ */ new Map([
3880 - ["Android.devices", { internal: true }],
3881 - ["AndroidSocket.write", { internal: true }],
3882 - ["AndroidSocket.close", { internal: true }],
3883 - ["AndroidDevice.wait", { title: "Wait" }],
3884 - ["AndroidDevice.fill", { title: 'Fill "{text}"' }],
3885 - ["AndroidDevice.tap", { title: "Tap" }],
3886 - ["AndroidDevice.drag", { title: "Drag" }],
3887 - ["AndroidDevice.fling", { title: "Fling" }],
3888 - ["AndroidDevice.longTap", { title: "Long tap" }],
3889 - ["AndroidDevice.pinchClose", { title: "Pinch close" }],
3890 - ["AndroidDevice.pinchOpen", { title: "Pinch open" }],
3891 - ["AndroidDevice.scroll", { title: "Scroll" }],
3892 - ["AndroidDevice.swipe", { title: "Swipe" }],
3893 - ["AndroidDevice.info", { internal: true }],
3894 - ["AndroidDevice.screenshot", { title: "Screenshot" }],
3895 - ["AndroidDevice.inputType", { title: "Type" }],
3896 - ["AndroidDevice.inputPress", { title: "Press" }],
3897 - ["AndroidDevice.inputTap", { title: "Tap" }],
3898 - ["AndroidDevice.inputSwipe", { title: "Swipe" }],
3899 - ["AndroidDevice.inputDrag", { title: "Drag" }],
3900 - ["AndroidDevice.launchBrowser", { title: "Launch browser" }],
3901 - ["AndroidDevice.open", { title: "Open app" }],
3902 - ["AndroidDevice.shell", { title: "Execute shell command", group: "configuration" }],
3903 - ["AndroidDevice.installApk", { title: "Install apk" }],
3904 - ["AndroidDevice.push", { title: "Push" }],
3905 - ["AndroidDevice.connectToWebView", { title: "Connect to Web View" }],
3906 - ["AndroidDevice.close", { internal: true }],
3907 - ["APIRequestContext.fetch", { title: '{method} "{url}"' }],
3908 - ["APIRequestContext.fetchResponseBody", { title: "Get response body", group: "getter" }],
3909 - ["APIRequestContext.fetchLog", { internal: true }],
3910 - ["APIRequestContext.storageState", { title: "Get storage state", group: "configuration" }],
3911 - ["APIRequestContext.disposeAPIResponse", { internal: true }],
3912 - ["APIRequestContext.dispose", { internal: true }],
3913 - ["Artifact.pathAfterFinished", { internal: true }],
3914 - ["Artifact.saveAs", { internal: true }],
3915 - ["Artifact.saveAsStream", { internal: true }],
3916 - ["Artifact.failure", { internal: true }],
3917 - ["Artifact.stream", { internal: true }],
3918 - ["Artifact.cancel", { internal: true }],
3919 - ["Artifact.delete", { internal: true }],
3920 - ["Stream.read", { internal: true }],
3921 - ["Stream.close", { internal: true }],
3922 - ["WritableStream.write", { internal: true }],
3923 - ["WritableStream.close", { internal: true }],
3924 - ["Browser.startServer", { title: "Start server" }],
3925 - ["Browser.stopServer", { title: "Stop server" }],
3926 - ["Browser.close", { title: "Close browser", pause: true }],
3927 - ["Browser.killForTests", { internal: true }],
3928 - ["Browser.defaultUserAgentForTest", { internal: true }],
3929 - ["Browser.newContext", { title: "Create context" }],
3930 - ["Browser.newContextForReuse", { internal: true }],
3931 - ["Browser.disconnectFromReusedContext", { internal: true }],
3932 - ["Browser.newBrowserCDPSession", { title: "Create CDP session", group: "configuration" }],
3933 - ["Browser.startTracing", { title: "Start browser tracing", group: "configuration" }],
3934 - ["Browser.stopTracing", { title: "Stop browser tracing", group: "configuration" }],
3935 - ["BrowserContext.addCookies", { title: "Add cookies", group: "configuration" }],
3936 - ["BrowserContext.addInitScript", { title: "Add init script", group: "configuration" }],
3937 - ["BrowserContext.clearCookies", { title: "Clear cookies", group: "configuration" }],
3938 - ["BrowserContext.clearPermissions", { title: "Clear permissions", group: "configuration" }],
3939 - ["BrowserContext.close", { title: "Close context", pause: true }],
3940 - ["BrowserContext.cookies", { title: "Get cookies", group: "getter" }],
3941 - ["BrowserContext.exposeBinding", { title: "Expose binding", group: "configuration" }],
3942 - ["BrowserContext.grantPermissions", { title: "Grant permissions", group: "configuration" }],
3943 - ["BrowserContext.newPage", { title: "Create page" }],
3944 - ["BrowserContext.registerSelectorEngine", { internal: true }],
3945 - ["BrowserContext.setTestIdAttributeName", { internal: true }],
3946 - ["BrowserContext.setExtraHTTPHeaders", { title: "Set extra HTTP headers", group: "configuration" }],
3947 - ["BrowserContext.setGeolocation", { title: "Set geolocation", group: "configuration" }],
3948 - ["BrowserContext.setHTTPCredentials", { title: "Set HTTP credentials", group: "configuration" }],
3949 - ["BrowserContext.setNetworkInterceptionPatterns", { title: "Route requests", group: "route" }],
3950 - ["BrowserContext.setWebSocketInterceptionPatterns", { title: "Route WebSockets", group: "route" }],
3951 - ["BrowserContext.setOffline", { title: "Set offline mode" }],
3952 - ["BrowserContext.storageState", { title: "Get storage state", group: "configuration" }],
3953 - ["BrowserContext.setStorageState", { title: "Set storage state", group: "configuration" }],
3954 - ["BrowserContext.pause", { title: "Pause" }],
3955 - ["BrowserContext.enableRecorder", { internal: true }],
3956 - ["BrowserContext.disableRecorder", { internal: true }],
3957 - ["BrowserContext.exposeConsoleApi", { internal: true }],
3958 - ["BrowserContext.newCDPSession", { title: "Create CDP session", group: "configuration" }],
3959 - ["BrowserContext.createTempFiles", { internal: true }],
3960 - ["BrowserContext.updateSubscription", { internal: true }],
3961 - ["BrowserContext.clockFastForward", { title: 'Fast forward clock "{ticksNumber|ticksString}"' }],
3962 - ["BrowserContext.clockInstall", { title: 'Install clock "{timeNumber|timeString}"' }],
3963 - ["BrowserContext.clockPauseAt", { title: 'Pause clock "{timeNumber|timeString}"' }],
3964 - ["BrowserContext.clockResume", { title: "Resume clock" }],
3965 - ["BrowserContext.clockRunFor", { title: 'Run clock "{ticksNumber|ticksString}"' }],
3966 - ["BrowserContext.clockSetFixedTime", { title: 'Set fixed time "{timeNumber|timeString}"' }],
3967 - ["BrowserContext.clockSetSystemTime", { title: 'Set system time "{timeNumber|timeString}"' }],
3968 - ["BrowserType.launch", { title: "Launch browser" }],
3969 - ["BrowserType.launchPersistentContext", { title: "Launch persistent context" }],
3970 - ["BrowserType.connectOverCDP", { title: "Connect over CDP" }],
3971 - ["BrowserType.connectToWorker", { title: "Connect to worker" }],
3972 - ["Disposable.dispose", { internal: true }],
3973 - ["EventTarget.waitForEventInfo", { title: 'Wait for event "{info.event}"', snapshot: true }],
3974 - ["AndroidDevice.waitForEventInfo", { title: 'Wait for event "{info.event}"', snapshot: true }],
3975 - ["BrowserContext.waitForEventInfo", { title: 'Wait for event "{info.event}"', snapshot: true }],
3976 - ["ElectronApplication.waitForEventInfo", { title: 'Wait for event "{info.event}"', snapshot: true }],
3977 - ["WebSocket.waitForEventInfo", { title: 'Wait for event "{info.event}"', snapshot: true }],
3978 - ["Page.waitForEventInfo", { title: 'Wait for event "{info.event}"', snapshot: true }],
3979 - ["Debugger.waitForEventInfo", { title: 'Wait for event "{info.event}"', snapshot: true }],
3980 - ["Worker.waitForEventInfo", { title: 'Wait for event "{info.event}"', snapshot: true }],
3981 - ["Electron.launch", { title: "Launch electron" }],
3982 - ["ElectronApplication.browserWindow", { internal: true }],
3983 - ["ElectronApplication.evaluateExpression", { title: "Evaluate" }],
3984 - ["ElectronApplication.evaluateExpressionHandle", { title: "Evaluate" }],
3985 - ["ElectronApplication.updateSubscription", { internal: true }],
3986 - ["Frame.evalOnSelector", { title: "Evaluate", snapshot: true, pause: true }],
3987 - ["Frame.evalOnSelectorAll", { title: "Evaluate", snapshot: true, pause: true }],
3988 - ["Frame.addScriptTag", { title: "Add script tag", snapshot: true, pause: true }],
3989 - ["Frame.addStyleTag", { title: "Add style tag", snapshot: true, pause: true }],
3990 - ["Frame.ariaSnapshot", { title: "Aria snapshot", group: "getter" }],
3991 - ["Frame.blur", { title: "Blur", slowMo: true, snapshot: true, pause: true }],
3992 - ["Frame.check", { title: "Check", slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
3993 - ["Frame.click", { title: "Click", slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
3994 - ["Frame.content", { title: "Get content", snapshot: true, pause: true }],
3995 - ["Frame.dragAndDrop", { title: "Drag and drop", slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
3996 - ["Frame.drop", { title: "Drop files or data onto an element", slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
3997 - ["Frame.dblclick", { title: "Double click", slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
3998 - ["Frame.dispatchEvent", { title: 'Dispatch "{type}"', slowMo: true, snapshot: true, pause: true }],
3999 - ["Frame.evaluateExpression", { title: "Evaluate", snapshot: true, pause: true }],
4000 - ["Frame.evaluateExpressionHandle", { title: "Evaluate", snapshot: true, pause: true }],
4001 - ["Frame.fill", { title: 'Fill "{value}"', slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
4002 - ["Frame.focus", { title: "Focus", slowMo: true, snapshot: true, pause: true }],
4003 - ["Frame.frameElement", { title: "Get frame element", group: "getter" }],
4004 - ["Frame.resolveSelector", { internal: true }],
4005 - ["Frame.highlight", { internal: true }],
4006 - ["Frame.hideHighlight", { internal: true }],
4007 - ["Frame.getAttribute", { title: 'Get attribute "{name}"', snapshot: true, pause: true, group: "getter" }],
4008 - ["Frame.goto", { title: 'Navigate to "{url}"', slowMo: true, snapshot: true, pause: true }],
4009 - ["Frame.hover", { title: "Hover", slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
4010 - ["Frame.innerHTML", { title: "Get HTML", snapshot: true, pause: true, group: "getter" }],
4011 - ["Frame.innerText", { title: "Get inner text", snapshot: true, pause: true, group: "getter" }],
4012 - ["Frame.inputValue", { title: "Get input value", snapshot: true, pause: true, group: "getter" }],
4013 - ["Frame.isChecked", { title: "Is checked", snapshot: true, pause: true, group: "getter" }],
4014 - ["Frame.isDisabled", { title: "Is disabled", snapshot: true, pause: true, group: "getter" }],
4015 - ["Frame.isEnabled", { title: "Is enabled", snapshot: true, pause: true, group: "getter" }],
4016 - ["Frame.isHidden", { title: "Is hidden", snapshot: true, pause: true, group: "getter" }],
4017 - ["Frame.isVisible", { title: "Is visible", snapshot: true, pause: true, group: "getter" }],
4018 - ["Frame.isEditable", { title: "Is editable", snapshot: true, pause: true, group: "getter" }],
4019 - ["Frame.press", { title: 'Press "{key}"', slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
4020 - ["Frame.querySelector", { title: "Query selector", snapshot: true }],
4021 - ["Frame.querySelectorAll", { title: "Query selector all", snapshot: true }],
4022 - ["Frame.queryCount", { title: "Query count", snapshot: true, pause: true }],
4023 - ["Frame.selectOption", { title: "Select option", slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
4024 - ["Frame.setContent", { title: "Set content", snapshot: true, pause: true }],
4025 - ["Frame.setInputFiles", { title: "Set input files", slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
4026 - ["Frame.tap", { title: "Tap", slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
4027 - ["Frame.textContent", { title: "Get text content", snapshot: true, pause: true, group: "getter" }],
4028 - ["Frame.title", { title: "Get page title", group: "getter" }],
4029 - ["Frame.type", { title: 'Type "{text}"', slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
4030 - ["Frame.uncheck", { title: "Uncheck", slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
4031 - ["Frame.waitForTimeout", { title: "Wait for timeout", snapshot: true }],
4032 - ["Frame.waitForFunction", { title: "Wait for function", snapshot: true, pause: true }],
4033 - ["Frame.waitForSelector", { title: "Wait for selector", snapshot: true }],
4034 - ["Frame.expect", { title: 'Expect "{expression}"', snapshot: true, pause: true }],
4035 - ["JSHandle.dispose", { internal: true }],
4036 - ["ElementHandle.dispose", { internal: true }],
4037 - ["JSHandle.evaluateExpression", { title: "Evaluate", snapshot: true, pause: true }],
4038 - ["ElementHandle.evaluateExpression", { title: "Evaluate", snapshot: true, pause: true }],
4039 - ["JSHandle.evaluateExpressionHandle", { title: "Evaluate", snapshot: true, pause: true }],
4040 - ["ElementHandle.evaluateExpressionHandle", { title: "Evaluate", snapshot: true, pause: true }],
4041 - ["JSHandle.getPropertyList", { title: "Get property list", group: "getter" }],
4042 - ["ElementHandle.getPropertyList", { title: "Get property list", group: "getter" }],
4043 - ["JSHandle.getProperty", { title: "Get JS property", group: "getter" }],
4044 - ["ElementHandle.getProperty", { title: "Get JS property", group: "getter" }],
4045 - ["JSHandle.jsonValue", { title: "Get JSON value", group: "getter" }],
4046 - ["ElementHandle.jsonValue", { title: "Get JSON value", group: "getter" }],
4047 - ["ElementHandle.evalOnSelector", { title: "Evaluate", snapshot: true, pause: true }],
4048 - ["ElementHandle.evalOnSelectorAll", { title: "Evaluate", snapshot: true, pause: true }],
4049 - ["ElementHandle.boundingBox", { title: "Get bounding box", snapshot: true, pause: true }],
4050 - ["ElementHandle.check", { title: "Check", slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
4051 - ["ElementHandle.click", { title: "Click", slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
4052 - ["ElementHandle.contentFrame", { title: "Get content frame", group: "getter" }],
4053 - ["ElementHandle.dblclick", { title: "Double click", slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
4054 - ["ElementHandle.dispatchEvent", { title: "Dispatch event", slowMo: true, snapshot: true, pause: true }],
4055 - ["ElementHandle.fill", { title: 'Fill "{value}"', slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
4056 - ["ElementHandle.focus", { title: "Focus", slowMo: true, snapshot: true, pause: true }],
4057 - ["ElementHandle.getAttribute", { title: "Get attribute", snapshot: true, pause: true, group: "getter" }],
4058 - ["ElementHandle.hover", { title: "Hover", slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
4059 - ["ElementHandle.innerHTML", { title: "Get HTML", snapshot: true, pause: true, group: "getter" }],
4060 - ["ElementHandle.innerText", { title: "Get inner text", snapshot: true, pause: true, group: "getter" }],
4061 - ["ElementHandle.inputValue", { title: "Get input value", snapshot: true, pause: true, group: "getter" }],
4062 - ["ElementHandle.isChecked", { title: "Is checked", snapshot: true, pause: true, group: "getter" }],
4063 - ["ElementHandle.isDisabled", { title: "Is disabled", snapshot: true, pause: true, group: "getter" }],
4064 - ["ElementHandle.isEditable", { title: "Is editable", snapshot: true, pause: true, group: "getter" }],
4065 - ["ElementHandle.isEnabled", { title: "Is enabled", snapshot: true, pause: true, group: "getter" }],
4066 - ["ElementHandle.isHidden", { title: "Is hidden", snapshot: true, pause: true, group: "getter" }],
4067 - ["ElementHandle.isVisible", { title: "Is visible", snapshot: true, pause: true, group: "getter" }],
4068 - ["ElementHandle.ownerFrame", { title: "Get owner frame", group: "getter" }],
4069 - ["ElementHandle.press", { title: 'Press "{key}"', slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
4070 - ["ElementHandle.querySelector", { title: "Query selector", snapshot: true }],
4071 - ["ElementHandle.querySelectorAll", { title: "Query selector all", snapshot: true }],
4072 - ["ElementHandle.screenshot", { title: "Screenshot", snapshot: true, pause: true }],
4073 - ["ElementHandle.scrollIntoViewIfNeeded", { title: "Scroll into view", slowMo: true, snapshot: true, pause: true }],
4074 - ["ElementHandle.selectOption", { title: "Select option", slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
4075 - ["ElementHandle.selectText", { title: "Select text", slowMo: true, snapshot: true, pause: true }],
4076 - ["ElementHandle.setInputFiles", { title: "Set input files", slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
4077 - ["ElementHandle.tap", { title: "Tap", slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
4078 - ["ElementHandle.textContent", { title: "Get text content", snapshot: true, pause: true, group: "getter" }],
4079 - ["ElementHandle.type", { title: "Type", slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
4080 - ["ElementHandle.uncheck", { title: "Uncheck", slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
4081 - ["ElementHandle.waitForElementState", { title: "Wait for state", snapshot: true, pause: true }],
4082 - ["ElementHandle.waitForSelector", { title: "Wait for selector", snapshot: true }],
4083 - ["LocalUtils.zip", { internal: true }],
4084 - ["LocalUtils.harOpen", { internal: true }],
4085 - ["LocalUtils.harLookup", { internal: true }],
4086 - ["LocalUtils.harClose", { internal: true }],
4087 - ["LocalUtils.harUnzip", { internal: true }],
4088 - ["LocalUtils.connect", { internal: true }],
4089 - ["LocalUtils.tracingStarted", { internal: true }],
4090 - ["LocalUtils.addStackToTracingNoReply", { internal: true }],
4091 - ["LocalUtils.traceDiscarded", { internal: true }],
4092 - ["LocalUtils.globToRegex", { internal: true }],
4093 - ["Request.response", { internal: true }],
4094 - ["Request.rawRequestHeaders", { internal: true }],
4095 - ["Route.redirectNavigationRequest", { internal: true }],
4096 - ["Route.abort", { title: "Abort request", group: "route" }],
4097 - ["Route.continue", { title: "Continue request", group: "route" }],
4098 - ["Route.fulfill", { title: "Fulfill request", group: "route" }],
4099 - ["WebSocketRoute.connect", { title: "Connect WebSocket to server", group: "route" }],
4100 - ["WebSocketRoute.ensureOpened", { internal: true }],
4101 - ["WebSocketRoute.sendToPage", { title: "Send WebSocket message", group: "route" }],
4102 - ["WebSocketRoute.sendToServer", { title: "Send WebSocket message", group: "route" }],
4103 - ["WebSocketRoute.closePage", { internal: true }],
4104 - ["WebSocketRoute.closeServer", { internal: true }],
4105 - ["Response.body", { title: "Get response body", group: "getter" }],
4106 - ["Response.securityDetails", { internal: true }],
4107 - ["Response.serverAddr", { internal: true }],
4108 - ["Response.rawResponseHeaders", { internal: true }],
4109 - ["Response.httpVersion", { internal: true }],
4110 - ["Response.sizes", { internal: true }],
4111 - ["Page.addInitScript", { title: "Add init script", group: "configuration" }],
4112 - ["Page.close", { title: "Close page", pause: true }],
4113 - ["Page.clearConsoleMessages", { title: "Clear console messages" }],
4114 - ["Page.consoleMessages", { title: "Get console messages", group: "getter" }],
4115 - ["Page.emulateMedia", { title: "Emulate media", snapshot: true, pause: true }],
4116 - ["Page.exposeBinding", { title: "Expose binding", group: "configuration" }],
4117 - ["Page.goBack", { title: "Go back", slowMo: true, snapshot: true, pause: true }],
4118 - ["Page.goForward", { title: "Go forward", slowMo: true, snapshot: true, pause: true }],
4119 - ["Page.requestGC", { title: "Request garbage collection", group: "configuration" }],
4120 - ["Page.registerLocatorHandler", { title: "Register locator handler" }],
4121 - ["Page.resolveLocatorHandlerNoReply", { internal: true }],
4122 - ["Page.unregisterLocatorHandler", { title: "Unregister locator handler" }],
4123 - ["Page.reload", { title: "Reload", slowMo: true, snapshot: true, pause: true }],
4124 - ["Page.expectScreenshot", { title: "Expect screenshot", snapshot: true, pause: true }],
4125 - ["Page.screenshot", { title: "Screenshot", snapshot: true, pause: true }],
4126 - ["Page.setExtraHTTPHeaders", { title: "Set extra HTTP headers", group: "configuration" }],
4127 - ["Page.setNetworkInterceptionPatterns", { title: "Route requests", group: "route" }],
4128 - ["Page.setWebSocketInterceptionPatterns", { title: "Route WebSockets", group: "route" }],
4129 - ["Page.setViewportSize", { title: "Set viewport size", snapshot: true, pause: true }],
4130 - ["Page.keyboardDown", { title: 'Key down "{key}"', slowMo: true, snapshot: true, pause: true, input: true }],
4131 - ["Page.keyboardUp", { title: 'Key up "{key}"', slowMo: true, snapshot: true, pause: true, input: true }],
4132 - ["Page.keyboardInsertText", { title: 'Insert "{text}"', slowMo: true, snapshot: true, pause: true, input: true }],
4133 - ["Page.keyboardType", { title: 'Type "{text}"', slowMo: true, snapshot: true, pause: true, input: true }],
4134 - ["Page.keyboardPress", { title: 'Press "{key}"', slowMo: true, snapshot: true, pause: true, input: true }],
4135 - ["Page.mouseMove", { title: "Mouse move", slowMo: true, snapshot: true, pause: true, input: true }],
4136 - ["Page.mouseDown", { title: "Mouse down", slowMo: true, snapshot: true, pause: true, input: true }],
4137 - ["Page.mouseUp", { title: "Mouse up", slowMo: true, snapshot: true, pause: true, input: true }],
4138 - ["Page.mouseClick", { title: "Click", slowMo: true, snapshot: true, pause: true, input: true }],
4139 - ["Page.mouseWheel", { title: "Mouse wheel", slowMo: true, snapshot: true, pause: true, input: true }],
4140 - ["Page.touchscreenTap", { title: "Tap", slowMo: true, snapshot: true, pause: true, input: true }],
4141 - ["Page.clearPageErrors", { title: "Clear page errors" }],
4142 - ["Page.pageErrors", { title: "Get page errors", group: "getter" }],
4143 - ["Page.pdf", { title: "PDF" }],
4144 - ["Page.requests", { title: "Get network requests", group: "getter" }],
4145 - ["Page.startJSCoverage", { title: "Start JS coverage", group: "configuration" }],
4146 - ["Page.stopJSCoverage", { title: "Stop JS coverage", group: "configuration" }],
4147 - ["Page.startCSSCoverage", { title: "Start CSS coverage", group: "configuration" }],
4148 - ["Page.stopCSSCoverage", { title: "Stop CSS coverage", group: "configuration" }],
4149 - ["Page.bringToFront", { title: "Bring to front" }],
4150 - ["Page.pickLocator", { title: "Pick locator", group: "configuration" }],
4151 - ["Page.cancelPickLocator", { title: "Cancel pick locator", group: "configuration" }],
4152 - ["Page.hideHighlight", { title: "Hide all element highlights", group: "configuration" }],
4153 - ["Page.screencastShowOverlay", { title: "Show overlay", group: "configuration" }],
4154 - ["Page.screencastRemoveOverlay", { title: "Remove overlay", group: "configuration" }],
4155 - ["Page.screencastChapter", { title: "Show chapter overlay", group: "configuration" }],
4156 - ["Page.screencastSetOverlayVisible", { title: "Set overlay visibility", group: "configuration" }],
4157 - ["Page.screencastShowActions", { title: "Show actions", group: "configuration" }],
4158 - ["Page.screencastHideActions", { title: "Remove actions", group: "configuration" }],
4159 - ["Page.screencastStart", { title: "Start screencast", group: "configuration" }],
4160 - ["Page.screencastStop", { title: "Stop screencast", group: "configuration" }],
4161 - ["Page.updateSubscription", { internal: true }],
4162 - ["Page.setDockTile", { internal: true }],
4163 - ["Root.initialize", { internal: true }],
4164 - ["Playwright.newRequest", { title: "Create request context" }],
4165 - ["DebugController.initialize", { internal: true }],
4166 - ["DebugController.setReportStateChanged", { internal: true }],
4167 - ["DebugController.setRecorderMode", { internal: true }],
4168 - ["DebugController.highlight", { internal: true }],
4169 - ["DebugController.hideHighlight", { internal: true }],
4170 - ["DebugController.resume", { internal: true }],
4171 - ["DebugController.kill", { internal: true }],
4172 - ["SocksSupport.socksConnected", { internal: true }],
4173 - ["SocksSupport.socksFailed", { internal: true }],
4174 - ["SocksSupport.socksData", { internal: true }],
4175 - ["SocksSupport.socksError", { internal: true }],
4176 - ["SocksSupport.socksEnd", { internal: true }],
4177 - ["JsonPipe.send", { internal: true }],
4178 - ["JsonPipe.close", { internal: true }],
4179 - ["CDPSession.send", { title: "Send CDP command", group: "configuration" }],
4180 - ["CDPSession.detach", { title: "Detach CDP session", group: "configuration" }],
4181 - ["BindingCall.reject", { internal: true }],
4182 - ["BindingCall.resolve", { internal: true }],
4183 - ["Debugger.requestPause", { title: "Pause on next call", group: "configuration" }],
4184 - ["Debugger.resume", { title: "Resume", group: "configuration" }],
4185 - ["Debugger.next", { title: "Step to next call", group: "configuration" }],
4186 - ["Debugger.runTo", { title: "Run to location", group: "configuration" }],
4187 - ["Dialog.accept", { title: "Accept dialog" }],
4188 - ["Dialog.dismiss", { title: "Dismiss dialog" }],
4189 - ["Tracing.tracingStart", { title: "Start tracing", group: "configuration" }],
4190 - ["Tracing.tracingStartChunk", { title: "Start tracing", group: "configuration" }],
4191 - ["Tracing.tracingGroup", { title: 'Trace "{name}"' }],
4192 - ["Tracing.tracingGroupEnd", { title: "Group end" }],
4193 - ["Tracing.tracingStopChunk", { title: "Stop tracing", group: "configuration" }],
4194 - ["Tracing.tracingStop", { title: "Stop tracing", group: "configuration" }],
4195 - ["Tracing.harStart", { internal: true }],
4196 - ["Tracing.harExport", { internal: true }],
4197 - ["Worker.disconnect", { title: "Disconnect from worker" }],
4198 - ["Worker.evaluateExpression", { title: "Evaluate" }],
4199 - ["Worker.evaluateExpressionHandle", { title: "Evaluate" }],
4200 - ["Worker.updateSubscription", { internal: true }]
4201 - ]);
4202 - }
4203 -});
4204 -
4205 -// packages/isomorphic/protocolFormatter.ts
4206 -function formatProtocolParam(params2, alternatives) {
4207 - return _formatProtocolParam(params2, alternatives)?.replaceAll("\n", "\\n");
4208 -}
4209 -function _formatProtocolParam(params2, alternatives) {
4210 - if (!params2)
4211 - return void 0;
4212 - for (const name of alternatives.split("|")) {
4213 - if (name === "url") {
4214 - try {
4215 - const urlObject = new URL(params2[name]);
4216 - if (urlObject.protocol === "data:")
4217 - return urlObject.protocol;
4218 - if (["about:", "chrome:", "edge:"].includes(urlObject.protocol))
4219 - return params2[name];
4220 - return urlObject.pathname + urlObject.search;
4221 - } catch (error) {
4222 - if (params2[name] !== void 0)
4223 - return params2[name];
4224 - }
4225 - }
4226 - if (name === "timeNumber" && params2[name] !== void 0) {
4227 - return new Date(params2[name]).toString();
4228 - }
4229 - const value2 = deepParam(params2, name);
4230 - if (value2 !== void 0)
4231 - return value2;
4232 - }
4233 -}
4234 -function deepParam(params2, name) {
4235 - const tokens = name.split(".");
4236 - let current = params2;
4237 - for (const token of tokens) {
4238 - if (typeof current !== "object" || current === null)
4239 - return void 0;
4240 - current = current[token];
4241 - }
4242 - if (current === void 0)
4243 - return void 0;
4244 - return String(current);
4245 -}
4246 -function renderTitleForCall(metadata) {
4247 - const titleFormat = metadata.title ?? getMetainfo(metadata)?.title ?? metadata.method;
4248 - return titleFormat.replace(/\{([^}]+)\}/g, (fullMatch, p1) => {
4249 - return formatProtocolParam(metadata.params, p1) ?? fullMatch;
4250 - });
4251 -}
4252 -function getActionGroup(metadata) {
4253 - return getMetainfo(metadata)?.group;
4254 -}
4255 -var init_protocolFormatter = __esm({
4256 - "packages/isomorphic/protocolFormatter.ts"() {
4257 - "use strict";
4258 - init_protocolMetainfo();
4259 - }
4260 -});
4261 -
4262 -// packages/isomorphic/semaphore.ts
4263 -var Semaphore;
4264 -var init_semaphore = __esm({
4265 - "packages/isomorphic/semaphore.ts"() {
4266 - "use strict";
4267 - init_manualPromise();
4268 - Semaphore = class {
4269 - constructor(max) {
4270 - this._acquired = 0;
4271 - this._queue = [];
4272 - this._max = max;
4273 - }
4274 - setMax(max) {
4275 - this._max = max;
4276 - }
4277 - acquire() {
4278 - const lock2 = new ManualPromise();
4279 - this._queue.push(lock2);
4280 - this._flush();
4281 - return lock2;
4282 - }
4283 - release() {
4284 - --this._acquired;
4285 - this._flush();
4286 - }
4287 - _flush() {
4288 - while (this._acquired < this._max && this._queue.length) {
4289 - ++this._acquired;
4290 - this._queue.shift().resolve();
4291 - }
4292 - }
4293 - };
4294 - }
4295 -});
4296 -
4297 -// packages/isomorphic/formatUtils.ts
4298 -function msToString(ms) {
4299 - if (ms < 0 || !isFinite(ms))
4300 - return "-";
4301 - if (ms === 0)
4302 - return "0ms";
4303 - if (ms < 1e3)
4304 - return ms.toFixed(0) + "ms";
4305 - const seconds = ms / 1e3;
4306 - if (seconds < 60)
4307 - return seconds.toFixed(1) + "s";
4308 - const minutes = seconds / 60;
4309 - if (minutes < 60)
4310 - return minutes.toFixed(1) + "m";
4311 - const hours = minutes / 60;
4312 - if (hours < 24)
4313 - return hours.toFixed(1) + "h";
4314 - const days = hours / 24;
4315 - return days.toFixed(1) + "d";
4316 -}
4317 -function bytesToString(bytes) {
4318 - if (bytes < 0 || !isFinite(bytes))
4319 - return "-";
4320 - if (bytes === 0)
4321 - return "0";
4322 - if (bytes < 1e3)
4323 - return bytes.toFixed(0);
4324 - const kb = bytes / 1024;
4325 - if (kb < 1e3)
4326 - return kb.toFixed(1) + "K";
4327 - const mb = kb / 1024;
4328 - if (mb < 1e3)
4329 - return mb.toFixed(1) + "M";
4330 - const gb = mb / 1024;
4331 - return gb.toFixed(1) + "G";
4332 -}
4333 -var init_formatUtils = __esm({
4334 - "packages/isomorphic/formatUtils.ts"() {
4335 - "use strict";
4336 - }
4337 -});
4338 -
4339 -// packages/isomorphic/time.ts
4340 -function setTimeOrigin(origin) {
4341 - _timeOrigin = origin;
4342 - _timeShift = performance.timeOrigin - origin;
4343 -}
4344 -function timeOrigin() {
4345 - return _timeOrigin;
4346 -}
4347 -function monotonicTime() {
4348 - return Math.floor((performance.now() + _timeShift) * 1e3) / 1e3;
4349 -}
4350 -var _timeOrigin, _timeShift, DEFAULT_PLAYWRIGHT_TIMEOUT, DEFAULT_PLAYWRIGHT_LAUNCH_TIMEOUT;
4351 -var init_time = __esm({
4352 - "packages/isomorphic/time.ts"() {
4353 - "use strict";
4354 - _timeOrigin = performance.timeOrigin;
4355 - _timeShift = 0;
4356 - DEFAULT_PLAYWRIGHT_TIMEOUT = 3e4;
4357 - DEFAULT_PLAYWRIGHT_LAUNCH_TIMEOUT = 3 * 60 * 1e3;
4358 - }
4359 -});
4360 -
4361 -// packages/isomorphic/timeoutRunner.ts
4362 -async function raceAgainstDeadline(cb, deadline) {
4363 - let timer;
4364 - return await Promise.race([
4365 - cb().then((result2) => {
4366 - return { result: result2, timedOut: false };
4367 - }),
4368 - new Promise((resolve) => {
4369 - if (!deadline)
4370 - return;
4371 - timer = setTimeout(() => resolve({ timedOut: true }), deadline - monotonicTime());
4372 - })
4373 - ]).finally(() => {
4374 - clearTimeout(timer);
4375 - });
4376 -}
4377 -async function pollAgainstDeadline(callback, deadline, pollIntervals = [100, 250, 500, 1e3]) {
4378 - const lastPollInterval = pollIntervals.pop() ?? 1e3;
4379 - let lastResult;
4380 - const wrappedCallback = () => Promise.resolve().then(callback);
4381 - while (true) {
4382 - const time = monotonicTime();
4383 - if (deadline && time >= deadline)
4384 - break;
4385 - const received = await raceAgainstDeadline(wrappedCallback, deadline);
4386 - if (received.timedOut)
4387 - break;
4388 - lastResult = received.result.result;
4389 - if (!received.result.continuePolling)
4390 - return { result: lastResult, timedOut: false };
4391 - const interval = pollIntervals.shift() ?? lastPollInterval;
4392 - if (deadline && deadline <= monotonicTime() + interval)
4393 - break;
4394 - await new Promise((x) => setTimeout(x, interval));
4395 - }
4396 - return { timedOut: true, result: lastResult };
4397 -}
4398 -var init_timeoutRunner = __esm({
4399 - "packages/isomorphic/timeoutRunner.ts"() {
4400 - "use strict";
4401 - init_time();
4402 - }
4403 -});
4404 -
4405 -// packages/isomorphic/trace/snapshotServer.ts
4406 -function removeHash(url2) {
4407 - try {
4408 - const u = new URL(url2);
4409 - u.hash = "";
4410 - return u.toString();
4411 - } catch (e) {
4412 - return url2;
4413 - }
4414 -}
4415 -var SnapshotServer;
4416 -var init_snapshotServer = __esm({
4417 - "packages/isomorphic/trace/snapshotServer.ts"() {
4418 - "use strict";
4419 - SnapshotServer = class {
4420 - constructor(snapshotStorage, resourceLoader) {
4421 - this._snapshotIds = /* @__PURE__ */ new Map();
4422 - this._snapshotStorage = snapshotStorage;
4423 - this._resourceLoader = resourceLoader;
4424 - }
4425 - serveSnapshot(pageOrFrameId, searchParams, snapshotUrl) {
4426 - const snapshot3 = this._snapshot(pageOrFrameId, searchParams);
4427 - if (!snapshot3)
4428 - return new Response(null, { status: 404 });
4429 - const renderedSnapshot = snapshot3.render();
4430 - this._snapshotIds.set(snapshotUrl, snapshot3);
4431 - return new Response(renderedSnapshot.html, { status: 200, headers: { "Content-Type": "text/html; charset=utf-8" } });
4432 - }
4433 - async serveClosestScreenshot(pageOrFrameId, searchParams) {
4434 - const snapshot3 = this._snapshot(pageOrFrameId, searchParams);
4435 - const sha1 = snapshot3?.closestScreenshot();
4436 - if (!sha1)
4437 - return new Response(null, { status: 404 });
4438 - return new Response(await this._resourceLoader(sha1));
4439 - }
4440 - serveSnapshotInfo(pageOrFrameId, searchParams) {
4441 - const snapshot3 = this._snapshot(pageOrFrameId, searchParams);
4442 - return this._respondWithJson(snapshot3 ? {
4443 - viewport: snapshot3.viewport(),
4444 - url: snapshot3.snapshot().frameUrl,
4445 - timestamp: snapshot3.snapshot().timestamp,
4446 - wallTime: snapshot3.snapshot().wallTime
4447 - } : {
4448 - error: "No snapshot found"
4449 - });
4450 - }
4451 - _snapshot(pageOrFrameId, params2) {
4452 - const name = params2.get("name");
4453 - return this._snapshotStorage.snapshotByName(pageOrFrameId, name);
4454 - }
4455 - _respondWithJson(object) {
4456 - return new Response(JSON.stringify(object), {
4457 - status: 200,
4458 - headers: {
4459 - "Cache-Control": "public, max-age=31536000",
4460 - "Content-Type": "application/json"
4461 - }
4462 - });
4463 - }
4464 - async serveResource(requestUrlAlternatives, method, snapshotUrl) {
4465 - let resource;
4466 - const snapshot3 = this._snapshotIds.get(snapshotUrl);
4467 - for (const requestUrl of requestUrlAlternatives) {
4468 - resource = snapshot3?.resourceByUrl(removeHash(requestUrl), method);
4469 - if (resource)
4470 - break;
4471 - }
4472 - if (!resource)
4473 - return new Response(null, { status: 404 });
4474 - const sha1 = resource.response.content._sha1;
4475 - const content = sha1 ? await this._resourceLoader(sha1) || new Blob([]) : new Blob([]);
4476 - let contentType = resource.response.content.mimeType;
4477 - const isTextEncoding = /^text\/|^application\/(javascript|json)/.test(contentType);
4478 - if (isTextEncoding && !contentType.includes("charset"))
4479 - contentType = `${contentType}; charset=utf-8`;
4480 - const headers = new Headers();
4481 - if (contentType !== "x-unknown")
4482 - headers.set("Content-Type", contentType);
4483 - for (const { name, value: value2 } of resource.response.headers)
4484 - headers.set(name, value2);
4485 - headers.delete("Content-Encoding");
4486 - headers.delete("Access-Control-Allow-Origin");
4487 - headers.set("Access-Control-Allow-Origin", "*");
4488 - headers.delete("Content-Length");
4489 - headers.set("Content-Length", String(content.size));
4490 - if (this._snapshotStorage.hasResourceOverride(resource.request.url))
4491 - headers.set("Cache-Control", "no-store, no-cache, max-age=0");
4492 - else
4493 - headers.set("Cache-Control", "public, max-age=31536000");
4494 - const { status } = resource.response;
4495 - const isNullBodyStatus = status === 101 || status === 204 || status === 205 || status === 304;
4496 - return new Response(isNullBodyStatus ? null : content, {
4497 - headers,
4498 - status: resource.response.status,
4499 - statusText: resource.response.statusText
4500 - });
4501 - }
4502 - };
4503 - }
4504 -});
4505 -
4506 -// packages/isomorphic/urlMatch.ts
4507 -function isHttpUrl(url2, base) {
4508 - try {
4509 - return ["http:", "https:"].includes(new URL(url2, base).protocol);
4510 - } catch {
4511 - return false;
4512 - }
4513 -}
4514 -function globToRegexPattern(glob) {
4515 - const tokens = ["^"];
4516 - let inGroup = false;
4517 - for (let i = 0; i < glob.length; ++i) {
4518 - const c = glob[i];
4519 - if (c === "\\" && i + 1 < glob.length) {
4520 - const char = glob[++i];
4521 - tokens.push(escapedChars.has(char) ? "\\" + char : char);
4522 - continue;
4523 - }
4524 - if (c === "*") {
4525 - const charBefore = glob[i - 1];
4526 - let starCount = 1;
4527 - while (glob[i + 1] === "*") {
4528 - starCount++;
4529 - i++;
4530 - }
4531 - if (starCount > 1) {
4532 - const charAfter = glob[i + 1];
4533 - if (charAfter === "/") {
4534 - if (charBefore === "/")
4535 - tokens.push("((.+/)|)");
4536 - else
4537 - tokens.push("(.*/)");
4538 - ++i;
4539 - } else {
4540 - tokens.push("(.*)");
4541 - }
4542 - } else {
4543 - tokens.push("([^/]*)");
4544 - }
4545 - continue;
4546 - }
4547 - switch (c) {
4548 - case "{":
4549 - if (inGroup)
4550 - throw new Error(`Invalid glob pattern ${JSON.stringify(glob)}: nested '{' is not supported`);
4551 - inGroup = true;
4552 - tokens.push("(");
4553 - break;
4554 - case "}":
4555 - if (!inGroup)
4556 - throw new Error(`Invalid glob pattern ${JSON.stringify(glob)}: unmatched '}'`);
4557 - inGroup = false;
4558 - tokens.push(")");
4559 - break;
4560 - case ",":
4561 - if (inGroup) {
4562 - tokens.push("|");
4563 - break;
4564 - }
4565 - tokens.push("\\" + c);
4566 - break;
4567 - default:
4568 - tokens.push(escapedChars.has(c) ? "\\" + c : c);
4569 - }
4570 - }
4571 - if (inGroup)
4572 - throw new Error(`Invalid glob pattern ${JSON.stringify(glob)}: unmatched '{'`);
4573 - tokens.push("$");
4574 - return tokens.join("");
4575 -}
4576 -function isRegExp3(obj) {
4577 - return obj instanceof RegExp || Object.prototype.toString.call(obj) === "[object RegExp]";
4578 -}
4579 -function serializeURLPattern(v) {
4580 - return {
4581 - hash: v.hash,
4582 - hostname: v.hostname,
4583 - password: v.password,
4584 - pathname: v.pathname,
4585 - port: v.port,
4586 - protocol: v.protocol,
4587 - search: v.search,
4588 - username: v.username
4589 - };
4590 -}
4591 -function serializeURLMatch(match) {
4592 - if (isString(match))
4593 - return { glob: match };
4594 - if (isRegExp3(match))
4595 - return { regexSource: match.source, regexFlags: match.flags };
4596 - if (isURLPattern(match))
4597 - return { urlPattern: serializeURLPattern(match) };
4598 - return void 0;
4599 -}
4600 -function deserializeURLPattern(v) {
4601 - if (typeof globalThis.URLPattern !== "function")
4602 - return () => true;
4603 - return new globalThis.URLPattern({
4604 - hash: v.hash,
4605 - hostname: v.hostname,
4606 - password: v.password,
4607 - pathname: v.pathname,
4608 - port: v.port,
4609 - protocol: v.protocol,
4610 - search: v.search,
4611 - username: v.username
4612 - });
4613 -}
4614 -function deserializeURLMatch(match) {
4615 - if (match.regexSource)
4616 - return new RegExp(match.regexSource, match.regexFlags);
4617 - if (match.urlPattern)
4618 - return deserializeURLPattern(match.urlPattern);
4619 - return match.glob;
4620 -}
4621 -function urlMatchesEqual(match1, match2) {
4622 - if (isRegExp3(match1) && isRegExp3(match2))
4623 - return match1.source === match2.source && match1.flags === match2.flags;
4624 - return match1 === match2;
4625 -}
4626 -function urlMatches(baseURL, urlString, match, webSocketUrl) {
4627 - if (match === void 0 || match === "")
4628 - return true;
4629 - if (isString(match))
4630 - match = new RegExp(resolveGlobToRegexPattern(baseURL, match, webSocketUrl));
4631 - if (isRegExp3(match)) {
4632 - const r = match.test(urlString);
4633 - return r;
4634 - }
4635 - const url2 = parseURL(urlString);
4636 - if (!url2)
4637 - return false;
4638 - if (isURLPattern(match))
4639 - return match.test(url2.href);
4640 - if (typeof match !== "function")
4641 - throw new Error("url parameter should be string, RegExp, URLPattern or function");
4642 - return match(url2);
4643 -}
4644 -function resolveGlobToRegexPattern(baseURL, glob, webSocketUrl) {
4645 - if (webSocketUrl)
4646 - baseURL = toWebSocketBaseUrl(baseURL);
4647 - glob = resolveGlobBase(baseURL, glob);
4648 - return globToRegexPattern(glob);
4649 -}
4650 -function toWebSocketBaseUrl(baseURL) {
4651 - if (baseURL && /^https?:\/\//.test(baseURL))
4652 - baseURL = baseURL.replace(/^http/, "ws");
4653 - return baseURL;
4654 -}
4655 -function resolveGlobBase(baseURL, match) {
4656 - if (!match.startsWith("*")) {
4657 - let mapToken2 = function(original, replacement) {
4658 - if (original.length === 0)
4659 - return "";
4660 - tokenMap.set(replacement, original);
4661 - return replacement;
4662 - };
4663 - var mapToken = mapToken2;
4664 - const tokenMap = /* @__PURE__ */ new Map();
4665 - match = match.replaceAll(/\\\\\?/g, "?");
4666 - if (match.startsWith("about:") || match.startsWith("data:") || match.startsWith("chrome:") || match.startsWith("edge:") || match.startsWith("file:"))
4667 - return match;
4668 - const relativePath = match.split("/").map((token, index) => {
4669 - if (token === "." || token === ".." || token === "")
4670 - return token;
4671 - if (index === 0 && token.endsWith(":")) {
4672 - if (token.indexOf("*") !== -1 || token.indexOf("{") !== -1)
4673 - return mapToken2(token, "http:");
4674 - return token;
4675 - }
4676 - const questionIndex = token.indexOf("?");
4677 - if (questionIndex === -1)
4678 - return mapToken2(token, `$_${index}_$`);
4679 - const newPrefix = mapToken2(token.substring(0, questionIndex), `$_${index}_$`);
4680 - const newSuffix = mapToken2(token.substring(questionIndex), `?$_${index}_$`);
4681 - return newPrefix + newSuffix;
4682 - }).join("/");
4683 - const result2 = resolveBaseURL(baseURL, relativePath);
4684 - let resolved = result2.resolved;
4685 - for (const [token, original] of tokenMap) {
4686 - const normalize = result2.caseInsensitivePart?.includes(token);
4687 - resolved = resolved.replace(token, normalize ? original.toLowerCase() : original);
4688 - }
4689 - match = resolved;
4690 - }
4691 - return match;
4692 -}
4693 -function parseURL(url2) {
4694 - try {
4695 - return new URL(url2);
4696 - } catch (e) {
4697 - return null;
4698 - }
4699 -}
4700 -function constructURLBasedOnBaseURL(baseURL, givenURL) {
4701 - try {
4702 - return resolveBaseURL(baseURL, givenURL).resolved;
4703 - } catch (e) {
4704 - return givenURL;
4705 - }
4706 -}
4707 -function resolveBaseURL(baseURL, givenURL) {
4708 - try {
4709 - const url2 = new URL(givenURL, baseURL);
4710 - const resolved = url2.toString();
4711 - const caseInsensitivePrefix = url2.origin;
4712 - return { resolved, caseInsensitivePart: caseInsensitivePrefix };
4713 - } catch (e) {
4714 - return { resolved: givenURL };
4715 - }
4716 -}
4717 -var escapedChars, isURLPattern;
4718 -var init_urlMatch = __esm({
4719 - "packages/isomorphic/urlMatch.ts"() {
4720 - "use strict";
4721 - init_stringUtils();
4722 - escapedChars = /* @__PURE__ */ new Set(["$", "^", "+", ".", "*", "(", ")", "|", "\\", "?", "{", "}", "[", "]"]);
4723 - isURLPattern = (v) => typeof globalThis.URLPattern === "function" && v instanceof globalThis.URLPattern;
4724 - }
4725 -});
4726 -
4727 -// packages/isomorphic/locatorParser.ts
4728 -function parseLocator(locator2, testIdAttributeName2) {
4729 - locator2 = locator2.replace(/AriaRole\s*\.\s*([\w]+)/g, (_, group) => group.toLowerCase()).replace(/(get_by_role|getByRole)\s*\(\s*(?:["'`])([^'"`]+)['"`]/g, (_, group1, group2) => `${group1}(${group2.toLowerCase()}`);
4730 - const params2 = [];
4731 - let template = "";
4732 - for (let i = 0; i < locator2.length; ++i) {
4733 - const quote5 = locator2[i];
4734 - if (quote5 !== '"' && quote5 !== "'" && quote5 !== "`" && quote5 !== "/") {
4735 - template += quote5;
4736 - continue;
4737 - }
4738 - const isRegexEscaping = locator2[i - 1] === "r" || locator2[i] === "/";
4739 - ++i;
4740 - let text2 = "";
4741 - while (i < locator2.length) {
4742 - if (locator2[i] === "\\") {
4743 - if (isRegexEscaping) {
4744 - if (locator2[i + 1] !== quote5)
4745 - text2 += locator2[i];
4746 - ++i;
4747 - text2 += locator2[i];
4748 - } else {
4749 - ++i;
4750 - if (locator2[i] === "n")
4751 - text2 += "\n";
4752 - else if (locator2[i] === "r")
4753 - text2 += "\r";
4754 - else if (locator2[i] === "t")
4755 - text2 += " ";
4756 - else
4757 - text2 += locator2[i];
4758 - }
4759 - ++i;
4760 - continue;
4761 - }
4762 - if (locator2[i] !== quote5) {
4763 - text2 += locator2[i++];
4764 - continue;
4765 - }
4766 - break;
4767 - }
4768 - params2.push({ quote: quote5, text: text2 });
4769 - template += (quote5 === "/" ? "r" : "") + "$" + params2.length;
4770 - }
4771 - template = template.toLowerCase().replace(/get_by_alt_text/g, "getbyalttext").replace(/get_by_test_id/g, "getbytestid").replace(/get_by_([\w]+)/g, "getby$1").replace(/has_not_text/g, "hasnottext").replace(/has_text/g, "hastext").replace(/has_not/g, "hasnot").replace(/frame_locator/g, "framelocator").replace(/content_frame/g, "contentframe").replace(/[{}\s]/g, "").replace(/new\(\)/g, "").replace(/new[\w]+\.[\w]+options\(\)/g, "").replace(/\.set/g, ",set").replace(/\.or_\(/g, "or(").replace(/\.and_\(/g, "and(").replace(/:/g, "=").replace(/,re\.ignorecase/g, "i").replace(/,pattern.case_insensitive/g, "i").replace(/,regexoptions.ignorecase/g, "i").replace(/re.compile\(([^)]+)\)/g, "$1").replace(/pattern.compile\(([^)]+)\)/g, "r$1").replace(/newregex\(([^)]+)\)/g, "r$1").replace(/string=/g, "=").replace(/regex=/g, "=").replace(/,,/g, ",").replace(/,\)/g, ")");
4772 - const preferredQuote = params2.map((p) => p.quote).filter((quote5) => "'\"`".includes(quote5))[0];
4773 - return { selector: transform(template, params2, testIdAttributeName2), preferredQuote };
4774 -}
4775 -function countParams(template) {
4776 - return [...template.matchAll(/\$\d+/g)].length;
4777 -}
4778 -function shiftParams(template, sub) {
4779 - return template.replace(/\$(\d+)/g, (_, ordinal) => `$${ordinal - sub}`);
4780 -}
4781 -function transform(template, params2, testIdAttributeName2) {
4782 - while (true) {
4783 - const hasMatch = template.match(/filter\(,?(has=|hasnot=|sethas\(|sethasnot\()/);
4784 - if (!hasMatch)
4785 - break;
4786 - const start3 = hasMatch.index + hasMatch[0].length;
4787 - let balance = 0;
4788 - let end = start3;
4789 - for (; end < template.length; end++) {
4790 - if (template[end] === "(")
4791 - balance++;
4792 - else if (template[end] === ")")
4793 - balance--;
4794 - if (balance < 0)
4795 - break;
4796 - }
4797 - let prefix = template.substring(0, start3);
4798 - let extraSymbol = 0;
4799 - if (["sethas(", "sethasnot("].includes(hasMatch[1])) {
4800 - extraSymbol = 1;
4801 - prefix = prefix.replace(/sethas\($/, "has=").replace(/sethasnot\($/, "hasnot=");
4802 - }
4803 - const paramsCountBeforeHas = countParams(template.substring(0, start3));
4804 - const hasTemplate = shiftParams(template.substring(start3, end), paramsCountBeforeHas);
4805 - const paramsCountInHas = countParams(hasTemplate);
4806 - const hasParams = params2.slice(paramsCountBeforeHas, paramsCountBeforeHas + paramsCountInHas);
4807 - const hasSelector = JSON.stringify(transform(hasTemplate, hasParams, testIdAttributeName2));
4808 - template = prefix.replace(/=$/, "2=") + `$${paramsCountBeforeHas + 1}` + shiftParams(template.substring(end + extraSymbol), paramsCountInHas - 1);
4809 - const paramsBeforeHas = params2.slice(0, paramsCountBeforeHas);
4810 - const paramsAfterHas = params2.slice(paramsCountBeforeHas + paramsCountInHas);
4811 - params2 = paramsBeforeHas.concat([{ quote: '"', text: hasSelector }]).concat(paramsAfterHas);
4812 - }
4813 - template = template.replace(/\,set([\w]+)\(([^)]+)\)/g, (_, group1, group2) => "," + group1.toLowerCase() + "=" + group2.toLowerCase()).replace(/framelocator\(([^)]+)\)/g, "$1.internal:control=enter-frame").replace(/contentframe(\(\))?/g, "internal:control=enter-frame").replace(/locator\(([^)]+),hastext=([^),]+)\)/g, "locator($1).internal:has-text=$2").replace(/locator\(([^)]+),hasnottext=([^),]+)\)/g, "locator($1).internal:has-not-text=$2").replace(/locator\(([^)]+),hastext=([^),]+)\)/g, "locator($1).internal:has-text=$2").replace(/locator\(([^)]+)\)/g, "$1").replace(/getbyrole\(([^)]+)\)/g, "internal:role=$1").replace(/getbytext\(([^)]+)\)/g, "internal:text=$1").replace(/getbylabel\(([^)]+)\)/g, "internal:label=$1").replace(/getbytestid\(([^)]+)\)/g, `internal:testid=[${testIdAttributeName2}=$1]`).replace(/getby(placeholder|alt|title)(?:text)?\(([^)]+)\)/g, "internal:attr=[$1=$2]").replace(/first(\(\))?/g, "nth=0").replace(/last(\(\))?/g, "nth=-1").replace(/nth\(([^)]+)\)/g, "nth=$1").replace(/filter\(,?visible=true\)/g, "visible=true").replace(/filter\(,?visible=false\)/g, "visible=false").replace(/filter\(,?hastext=([^)]+)\)/g, "internal:has-text=$1").replace(/filter\(,?hasnottext=([^)]+)\)/g, "internal:has-not-text=$1").replace(/filter\(,?has2=([^)]+)\)/g, "internal:has=$1").replace(/filter\(,?hasnot2=([^)]+)\)/g, "internal:has-not=$1").replace(/,exact=false/g, "").replace(/(,name=\$\d+)(,description=\$\d+),exact=true/g, "$1s$2s").replace(/,exact=true/g, "s").replace(/,includehidden=/g, ",include-hidden=").replace(/\,/g, "][");
4814 - const parts = template.split(".");
4815 - for (let index = 0; index < parts.length - 1; index++) {
4816 - if (parts[index] === "internal:control=enter-frame" && parts[index + 1].startsWith("nth=")) {
4817 - const [nth] = parts.splice(index, 1);
4818 - parts.splice(index + 1, 0, nth);
4819 - }
4820 - }
4821 - return parts.map((t) => {
4822 - if (!t.startsWith("internal:") || t === "internal:control")
4823 - return t.replace(/\$(\d+)/g, (_, ordinal) => {
4824 - const param = params2[+ordinal - 1];
4825 - return param.text;
4826 - });
4827 - t = t.includes("[") ? t.replace(/\]/, "") + "]" : t;
4828 - t = t.replace(/(?:r)\$(\d+)(i)?/g, (_, ordinal, suffix) => {
4829 - const param = params2[+ordinal - 1];
4830 - if (t.startsWith("internal:attr") || t.startsWith("internal:testid") || t.startsWith("internal:role"))
4831 - return escapeForAttributeSelector(new RegExp(param.text), false) + (suffix || "");
4832 - return escapeForTextSelector(new RegExp(param.text, suffix), false);
4833 - }).replace(/\$(\d+)(i|s)?/g, (_, ordinal, suffix) => {
4834 - const param = params2[+ordinal - 1];
4835 - if (t.startsWith("internal:has=") || t.startsWith("internal:has-not="))
4836 - return param.text;
4837 - if (t.startsWith("internal:testid"))
4838 - return escapeForAttributeSelector(param.text, true);
4839 - if (t.startsWith("internal:attr") || t.startsWith("internal:role"))
4840 - return escapeForAttributeSelector(param.text, suffix === "s");
4841 - return escapeForTextSelector(param.text, suffix === "s");
4842 - });
4843 - return t;
4844 - }).join(" >> ");
4845 -}
4846 -function locatorOrSelectorAsSelector(language, locator2, testIdAttributeName2) {
4847 - try {
4848 - return unsafeLocatorOrSelectorAsSelector(language, locator2, testIdAttributeName2);
4849 - } catch (e) {
4850 - return "";
4851 - }
4852 -}
4853 -function unsafeLocatorOrSelectorAsSelector(language, locator2, testIdAttributeName2) {
4854 - try {
4855 - parseSelector(locator2);
4856 - return locator2;
4857 - } catch (e) {
4858 - }
4859 - const { selector, preferredQuote } = parseLocator(locator2, testIdAttributeName2);
4860 - const locators = asLocators(language, selector, void 0, void 0, preferredQuote);
4861 - const digest = digestForComparison(language, locator2);
4862 - if (locators.some((candidate) => digestForComparison(language, candidate) === digest))
4863 - return selector;
4864 - return "";
4865 -}
4866 -function digestForComparison(language, locator2) {
4867 - locator2 = locator2.replace(/\s/g, "");
4868 - if (language === "javascript")
4869 - locator2 = locator2.replace(/\\?["`]/g, "'").replace(/,{}/g, "");
4870 - return locator2;
4871 -}
4872 -var init_locatorParser = __esm({
4873 - "packages/isomorphic/locatorParser.ts"() {
4874 - "use strict";
4875 - init_locatorGenerators();
4876 - init_selectorParser();
4877 - init_stringUtils();
4878 - }
4879 -});
4880 -
4881 -// packages/isomorphic/trace/snapshotRenderer.ts
4882 -function findClosest(items, metric, target) {
4883 - return items.find((item, index) => {
4884 - if (index === items.length - 1)
4885 - return true;
4886 - const next = items[index + 1];
4887 - return Math.abs(metric(item) - target) < Math.abs(metric(next) - target);
4888 - });
4889 -}
4890 -function isNodeNameAttributesChildNodesSnapshot(n) {
4891 - return Array.isArray(n) && typeof n[0] === "string";
4892 -}
4893 -function isSubtreeReferenceSnapshot(n) {
4894 - return Array.isArray(n) && Array.isArray(n[0]);
4895 -}
4896 -function snapshotNodes(snapshot3) {
4897 - if (!snapshot3._nodes) {
4898 - const nodes = [];
4899 - const visit = (n) => {
4900 - if (typeof n === "string") {
4901 - nodes.push(n);
4902 - } else if (isNodeNameAttributesChildNodesSnapshot(n)) {
4903 - const [, , ...children] = n;
4904 - for (const child of children)
4905 - visit(child);
4906 - nodes.push(n);
4907 - }
4908 - };
4909 - visit(snapshot3.html);
4910 - snapshot3._nodes = nodes;
4911 - }
4912 - return snapshot3._nodes;
4913 -}
4914 -function snapshotScript(viewport, ...targetIds) {
4915 - function applyPlaywrightAttributes(blankSnapshotUrl2, viewport2, ...targetIds2) {
4916 - const win = window;
4917 - const searchParams = new URLSearchParams(win.location.search);
4918 - const shouldPopulateCanvasFromScreenshot = searchParams.has("shouldPopulateCanvasFromScreenshot");
4919 - const isUnderTest2 = searchParams.has("isUnderTest");
4920 - const frameBoundingRectsInfo = {
4921 - viewport: viewport2,
4922 - frames: /* @__PURE__ */ new WeakMap()
4923 - };
4924 - win["__playwright_frame_bounding_rects__"] = frameBoundingRectsInfo;
4925 - const kPointerWarningTitle = "Recorded click position in absolute coordinates did not match the center of the clicked element. This is either due to the use of provided offset, or due to a difference between the test runner and the trace viewer operating systems.";
4926 - const scrollTops = [];
4927 - const scrollLefts = [];
4928 - const targetElements = [];
4929 - const canvasElements = [];
4930 - let topSnapshotWindow = win;
4931 - while (topSnapshotWindow !== topSnapshotWindow.parent && !topSnapshotWindow.location.pathname.match(/\/page@[a-z0-9]+$/))
4932 - topSnapshotWindow = topSnapshotWindow.parent;
4933 - const visit = (root) => {
4934 - for (const e of root.querySelectorAll(`[__playwright_scroll_top_]`))
4935 - scrollTops.push(e);
4936 - for (const e of root.querySelectorAll(`[__playwright_scroll_left_]`))
4937 - scrollLefts.push(e);
4938 - for (const element2 of root.querySelectorAll(`[__playwright_value_]`)) {
4939 - const inputElement = element2;
4940 - if (inputElement.type !== "file")
4941 - inputElement.value = inputElement.getAttribute("__playwright_value_");
4942 - element2.removeAttribute("__playwright_value_");
4943 - }
4944 - for (const element2 of root.querySelectorAll(`[__playwright_checked_]`)) {
4945 - element2.checked = element2.getAttribute("__playwright_checked_") === "true";
4946 - element2.removeAttribute("__playwright_checked_");
4947 - }
4948 - for (const element2 of root.querySelectorAll(`[__playwright_selected_]`)) {
4949 - element2.selected = element2.getAttribute("__playwright_selected_") === "true";
4950 - element2.removeAttribute("__playwright_selected_");
4951 - }
4952 - for (const element2 of root.querySelectorAll(`[__playwright_popover_open_]`)) {
4953 - try {
4954 - element2.showPopover();
4955 - } catch {
4956 - }
4957 - element2.removeAttribute("__playwright_popover_open_");
4958 - }
4959 - for (const element2 of root.querySelectorAll(`[__playwright_dialog_open_]`)) {
4960 - try {
4961 - if (element2.getAttribute("__playwright_dialog_open_") === "modal")
4962 - element2.showModal();
4963 - else
4964 - element2.show();
4965 - } catch {
4966 - }
4967 - element2.removeAttribute("__playwright_dialog_open_");
4968 - }
4969 - for (const targetId of targetIds2) {
4970 - for (const target of root.querySelectorAll(`[__playwright_target__="${targetId}"]`)) {
4971 - const style = target.style;
4972 - style.outline = "2px solid #006ab1";
4973 - style.backgroundColor = "#6fa8dc7f";
4974 - targetElements.push(target);
4975 - }
4976 - }
4977 - for (const iframe of root.querySelectorAll("iframe, frame")) {
4978 - const boundingRectJson = iframe.getAttribute("__playwright_bounding_rect__");
4979 - iframe.removeAttribute("__playwright_bounding_rect__");
4980 - const boundingRect = boundingRectJson ? JSON.parse(boundingRectJson) : void 0;
4981 - if (boundingRect)
4982 - frameBoundingRectsInfo.frames.set(iframe, { boundingRect, scrollLeft: 0, scrollTop: 0 });
4983 - const src = iframe.getAttribute("__playwright_src__");
4984 - if (!src) {
4985 - iframe.setAttribute("src", blankSnapshotUrl2);
4986 - } else {
4987 - const url2 = new URL(win.location.href);
4988 - const index = url2.pathname.lastIndexOf("/snapshot/");
4989 - if (index !== -1)
4990 - url2.pathname = url2.pathname.substring(0, index + 1);
4991 - url2.pathname += src.substring(1);
4992 - iframe.setAttribute("src", url2.toString());
4993 - }
4994 - }
4995 - {
4996 - const body = root.querySelector(`body[__playwright_custom_elements__]`);
4997 - if (body && win.customElements) {
4998 - const customElements = (body.getAttribute("__playwright_custom_elements__") || "").split(",");
4999 - for (const elementName of customElements)

This file is too large to show in full.

node_modules/playwright-core/lib/entry/cliDaemon.js deleted
-5
@@ -1,5 +0,0 @@
1 -"use strict";
2 -var import_coreBundle = require("../coreBundle");
3 -const { program } = require("../utilsBundle");
4 -import_coreBundle.tools.decorateCliDaemonProgram(program);
5 -void program.parseAsync();
node_modules/playwright-core/lib/entry/dashboardApp.js deleted
-3
@@ -1,3 +0,0 @@
1 -"use strict";
2 -var import_coreBundle = require("../coreBundle");
3 -import_coreBundle.tools.openDashboardApp();
node_modules/playwright-core/lib/entry/mcp.js deleted
-10
@@ -1,10 +0,0 @@
1 -"use strict";
2 -var import_coreBundle = require("../coreBundle");
3 -var import_package = require("../package");
4 -const { program } = require("../utilsBundle");
5 -const p = program.version("Version " + import_package.packageJSON.version).name("Playwright MCP");
6 -import_coreBundle.tools.decorateMCPCommand(p);
7 -program.parseAsync(process.argv).catch((e) => {
8 - console.error(e.message);
9 - import_coreBundle.utils.gracefullyProcessExitDoNotHang(1);
10 -});
node_modules/playwright-core/lib/entry/oopBrowserDownload.js deleted
-3
@@ -1,3 +0,0 @@
1 -"use strict";
2 -var import_coreBundle = require("../coreBundle");
3 -import_coreBundle.registry.runOopDownloadBrowserMain();
node_modules/playwright-core/lib/package.js deleted
-50
@@ -1,50 +0,0 @@
1 -"use strict";
2 -var __create = Object.create;
3 -var __defProp = Object.defineProperty;
4 -var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5 -var __getOwnPropNames = Object.getOwnPropertyNames;
6 -var __getProtoOf = Object.getPrototypeOf;
7 -var __hasOwnProp = Object.prototype.hasOwnProperty;
8 -var __export = (target, all) => {
9 - for (var name in all)
10 - __defProp(target, name, { get: all[name], enumerable: true });
11 -};
12 -var __copyProps = (to, from, except, desc) => {
13 - if (from && typeof from === "object" || typeof from === "function") {
14 - for (let key of __getOwnPropNames(from))
15 - if (!__hasOwnProp.call(to, key) && key !== except)
16 - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17 - }
18 - return to;
19 -};
20 -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21 - // If the importer is in node compatibility mode or this is not an ESM
22 - // file that has been converted to a CommonJS file using a Babel-
23 - // compatible transform (i.e. "__esModule" has not been set), then set
24 - // "default" to the CommonJS "module.exports" for node compatibility.
25 - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26 - mod
27 -));
28 -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29 -var package_exports = {};
30 -__export(package_exports, {
31 - binPath: () => binPath,
32 - libPath: () => libPath,
33 - packageJSON: () => packageJSON,
34 - packageRoot: () => packageRoot
35 -});
36 -module.exports = __toCommonJS(package_exports);
37 -var import_path = __toESM(require("path"));
38 -const packageRoot = import_path.default.join(__dirname, "..");
39 -const packageJSON = require(import_path.default.join(packageRoot, "package.json"));
40 -const binPath = import_path.default.join(packageRoot, "bin");
41 -function libPath(...parts) {
42 - return import_path.default.join(packageRoot, "lib", ...parts);
43 -}
44 -// Annotate the CommonJS export names for ESM import in node:
45 -0 && (module.exports = {
46 - binPath,
47 - libPath,
48 - packageJSON,
49 - packageRoot
50 -});
node_modules/playwright-core/lib/server/chromium/appIcon.png
Binary files a/node_modules/playwright-core/lib/server/chromium/appIcon.png and /dev/null differ
node_modules/playwright-core/lib/server/deviceDescriptorsSource.json deleted
-1779
@@ -1,1779 +0,0 @@
1 -{
2 - "Blackberry PlayBook": {
3 - "userAgent": "Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.1.0; en-US) AppleWebKit/536.2+ (KHTML like Gecko) Version/26.4 Safari/536.2+",
4 - "viewport": {
5 - "width": 600,
6 - "height": 1024
7 - },
8 - "deviceScaleFactor": 1,
9 - "isMobile": true,
10 - "hasTouch": true,
11 - "defaultBrowserType": "webkit"
12 - },
13 - "Blackberry PlayBook landscape": {
14 - "userAgent": "Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.1.0; en-US) AppleWebKit/536.2+ (KHTML like Gecko) Version/26.4 Safari/536.2+",
15 - "viewport": {
16 - "width": 1024,
17 - "height": 600
18 - },
19 - "deviceScaleFactor": 1,
20 - "isMobile": true,
21 - "hasTouch": true,
22 - "defaultBrowserType": "webkit"
23 - },
24 - "BlackBerry Z30": {
25 - "userAgent": "Mozilla/5.0 (BB10; Touch) AppleWebKit/537.10+ (KHTML, like Gecko) Version/26.4 Mobile Safari/537.10+",
26 - "viewport": {
27 - "width": 360,
28 - "height": 640
29 - },
30 - "deviceScaleFactor": 2,
31 - "isMobile": true,
32 - "hasTouch": true,
33 - "defaultBrowserType": "webkit"
34 - },
35 - "BlackBerry Z30 landscape": {
36 - "userAgent": "Mozilla/5.0 (BB10; Touch) AppleWebKit/537.10+ (KHTML, like Gecko) Version/26.4 Mobile Safari/537.10+",
37 - "viewport": {
38 - "width": 640,
39 - "height": 360
40 - },
41 - "deviceScaleFactor": 2,
42 - "isMobile": true,
43 - "hasTouch": true,
44 - "defaultBrowserType": "webkit"
45 - },
46 - "Galaxy Note 3": {
47 - "userAgent": "Mozilla/5.0 (Linux; U; Android 4.3; en-us; SM-N900T Build/JSS15J) AppleWebKit/534.30 (KHTML, like Gecko) Version/26.4 Mobile Safari/534.30",
48 - "viewport": {
49 - "width": 360,
50 - "height": 640
51 - },
52 - "deviceScaleFactor": 3,
53 - "isMobile": true,
54 - "hasTouch": true,
55 - "defaultBrowserType": "webkit"
56 - },
57 - "Galaxy Note 3 landscape": {
58 - "userAgent": "Mozilla/5.0 (Linux; U; Android 4.3; en-us; SM-N900T Build/JSS15J) AppleWebKit/534.30 (KHTML, like Gecko) Version/26.4 Mobile Safari/534.30",
59 - "viewport": {
60 - "width": 640,
61 - "height": 360
62 - },
63 - "deviceScaleFactor": 3,
64 - "isMobile": true,
65 - "hasTouch": true,
66 - "defaultBrowserType": "webkit"
67 - },
68 - "Galaxy Note II": {
69 - "userAgent": "Mozilla/5.0 (Linux; U; Android 4.1; en-us; GT-N7100 Build/JRO03C) AppleWebKit/534.30 (KHTML, like Gecko) Version/26.4 Mobile Safari/534.30",
70 - "viewport": {
71 - "width": 360,
72 - "height": 640
73 - },
74 - "deviceScaleFactor": 2,
75 - "isMobile": true,
76 - "hasTouch": true,
77 - "defaultBrowserType": "webkit"
78 - },
79 - "Galaxy Note II landscape": {
80 - "userAgent": "Mozilla/5.0 (Linux; U; Android 4.1; en-us; GT-N7100 Build/JRO03C) AppleWebKit/534.30 (KHTML, like Gecko) Version/26.4 Mobile Safari/534.30",
81 - "viewport": {
82 - "width": 640,
83 - "height": 360
84 - },
85 - "deviceScaleFactor": 2,
86 - "isMobile": true,
87 - "hasTouch": true,
88 - "defaultBrowserType": "webkit"
89 - },
90 - "Galaxy S III": {
91 - "userAgent": "Mozilla/5.0 (Linux; U; Android 4.0; en-us; GT-I9300 Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/26.4 Mobile Safari/534.30",
92 - "viewport": {
93 - "width": 360,
94 - "height": 640
95 - },
96 - "deviceScaleFactor": 2,
97 - "isMobile": true,
98 - "hasTouch": true,
99 - "defaultBrowserType": "webkit"
100 - },
101 - "Galaxy S III landscape": {
102 - "userAgent": "Mozilla/5.0 (Linux; U; Android 4.0; en-us; GT-I9300 Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/26.4 Mobile Safari/534.30",
103 - "viewport": {
104 - "width": 640,
105 - "height": 360
106 - },
107 - "deviceScaleFactor": 2,
108 - "isMobile": true,
109 - "hasTouch": true,
110 - "defaultBrowserType": "webkit"
111 - },
112 - "Galaxy S5": {
113 - "userAgent": "Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36",
114 - "viewport": {
115 - "width": 360,
116 - "height": 640
117 - },
118 - "deviceScaleFactor": 3,
119 - "isMobile": true,
120 - "hasTouch": true,
121 - "defaultBrowserType": "chromium"
122 - },
123 - "Galaxy S5 landscape": {
124 - "userAgent": "Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36",
125 - "viewport": {
126 - "width": 640,
127 - "height": 360
128 - },
129 - "deviceScaleFactor": 3,
130 - "isMobile": true,
131 - "hasTouch": true,
132 - "defaultBrowserType": "chromium"
133 - },
134 - "Galaxy S8": {
135 - "userAgent": "Mozilla/5.0 (Linux; Android 7.0; SM-G950U Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36",
136 - "viewport": {
137 - "width": 360,
138 - "height": 740
139 - },
140 - "deviceScaleFactor": 3,
141 - "isMobile": true,
142 - "hasTouch": true,
143 - "defaultBrowserType": "chromium"
144 - },
145 - "Galaxy S8 landscape": {
146 - "userAgent": "Mozilla/5.0 (Linux; Android 7.0; SM-G950U Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36",
147 - "viewport": {
148 - "width": 740,
149 - "height": 360
150 - },
151 - "deviceScaleFactor": 3,
152 - "isMobile": true,
153 - "hasTouch": true,
154 - "defaultBrowserType": "chromium"
155 - },
156 - "Galaxy S9+": {
157 - "userAgent": "Mozilla/5.0 (Linux; Android 8.0.0; SM-G965U Build/R16NW) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36",
158 - "viewport": {
159 - "width": 320,
160 - "height": 658
161 - },
162 - "deviceScaleFactor": 4.5,
163 - "isMobile": true,
164 - "hasTouch": true,
165 - "defaultBrowserType": "chromium"
166 - },
167 - "Galaxy S9+ landscape": {
168 - "userAgent": "Mozilla/5.0 (Linux; Android 8.0.0; SM-G965U Build/R16NW) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36",
169 - "viewport": {
170 - "width": 658,
171 - "height": 320
172 - },
173 - "deviceScaleFactor": 4.5,
174 - "isMobile": true,
175 - "hasTouch": true,
176 - "defaultBrowserType": "chromium"
177 - },
178 - "Galaxy S24": {
179 - "userAgent": "Mozilla/5.0 (Linux; Android 14; SM-S921U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36",
180 - "viewport": {
181 - "width": 360,
182 - "height": 780
183 - },
184 - "deviceScaleFactor": 3,
185 - "isMobile": true,
186 - "hasTouch": true,
187 - "defaultBrowserType": "chromium"
188 - },
189 - "Galaxy S24 landscape": {
190 - "userAgent": "Mozilla/5.0 (Linux; Android 14; SM-S921U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36",
191 - "viewport": {
192 - "width": 780,
193 - "height": 360
194 - },
195 - "deviceScaleFactor": 3,
196 - "isMobile": true,
197 - "hasTouch": true,
198 - "defaultBrowserType": "chromium"
199 - },
200 - "Galaxy A55": {
201 - "userAgent": "Mozilla/5.0 (Linux; Android 14; SM-A556B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36",
202 - "viewport": {
203 - "width": 480,
204 - "height": 1040
205 - },
206 - "deviceScaleFactor": 2.25,
207 - "isMobile": true,
208 - "hasTouch": true,
209 - "defaultBrowserType": "chromium"
210 - },
211 - "Galaxy A55 landscape": {
212 - "userAgent": "Mozilla/5.0 (Linux; Android 14; SM-A556B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36",
213 - "viewport": {
214 - "width": 1040,
215 - "height": 480
216 - },
217 - "deviceScaleFactor": 2.25,
218 - "isMobile": true,
219 - "hasTouch": true,
220 - "defaultBrowserType": "chromium"
221 - },
222 - "Galaxy Tab S4": {
223 - "userAgent": "Mozilla/5.0 (Linux; Android 8.1.0; SM-T837A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36",
224 - "viewport": {
225 - "width": 712,
226 - "height": 1138
227 - },
228 - "deviceScaleFactor": 2.25,
229 - "isMobile": true,
230 - "hasTouch": true,
231 - "defaultBrowserType": "chromium"
232 - },
233 - "Galaxy Tab S4 landscape": {
234 - "userAgent": "Mozilla/5.0 (Linux; Android 8.1.0; SM-T837A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36",
235 - "viewport": {
236 - "width": 1138,
237 - "height": 712
238 - },
239 - "deviceScaleFactor": 2.25,
240 - "isMobile": true,
241 - "hasTouch": true,
242 - "defaultBrowserType": "chromium"
243 - },
244 - "Galaxy Tab S9": {
245 - "userAgent": "Mozilla/5.0 (Linux; Android 14; SM-X710) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36",
246 - "viewport": {
247 - "width": 640,
248 - "height": 1024
249 - },
250 - "deviceScaleFactor": 2.5,
251 - "isMobile": true,
252 - "hasTouch": true,
253 - "defaultBrowserType": "chromium"
254 - },
255 - "Galaxy Tab S9 landscape": {
256 - "userAgent": "Mozilla/5.0 (Linux; Android 14; SM-X710) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36",
257 - "viewport": {
258 - "width": 1024,
259 - "height": 640
260 - },
261 - "deviceScaleFactor": 2.5,
262 - "isMobile": true,
263 - "hasTouch": true,
264 - "defaultBrowserType": "chromium"
265 - },
266 - "iPad (gen 5)": {
267 - "userAgent": "Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
268 - "viewport": {
269 - "width": 768,
270 - "height": 1024
271 - },
272 - "deviceScaleFactor": 2,
273 - "isMobile": true,
274 - "hasTouch": true,
275 - "defaultBrowserType": "webkit"
276 - },
277 - "iPad (gen 5) landscape": {
278 - "userAgent": "Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
279 - "viewport": {
280 - "width": 1024,
281 - "height": 768
282 - },
283 - "deviceScaleFactor": 2,
284 - "isMobile": true,
285 - "hasTouch": true,
286 - "defaultBrowserType": "webkit"
287 - },
288 - "iPad (gen 6)": {
289 - "userAgent": "Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
290 - "viewport": {
291 - "width": 768,
292 - "height": 1024
293 - },
294 - "deviceScaleFactor": 2,
295 - "isMobile": true,
296 - "hasTouch": true,
297 - "defaultBrowserType": "webkit"
298 - },
299 - "iPad (gen 6) landscape": {
300 - "userAgent": "Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
301 - "viewport": {
302 - "width": 1024,
303 - "height": 768
304 - },
305 - "deviceScaleFactor": 2,
306 - "isMobile": true,
307 - "hasTouch": true,
308 - "defaultBrowserType": "webkit"
309 - },
310 - "iPad (gen 7)": {
311 - "userAgent": "Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
312 - "viewport": {
313 - "width": 810,
314 - "height": 1080
315 - },
316 - "deviceScaleFactor": 2,
317 - "isMobile": true,
318 - "hasTouch": true,
319 - "defaultBrowserType": "webkit"
320 - },
321 - "iPad (gen 7) landscape": {
322 - "userAgent": "Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
323 - "viewport": {
324 - "width": 1080,
325 - "height": 810
326 - },
327 - "deviceScaleFactor": 2,
328 - "isMobile": true,
329 - "hasTouch": true,
330 - "defaultBrowserType": "webkit"
331 - },
332 - "iPad (gen 11)": {
333 - "userAgent": "Mozilla/5.0 (iPad; CPU OS 18_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/19E241 Safari/604.1",
334 - "viewport": {
335 - "width": 656,
336 - "height": 944
337 - },
338 - "deviceScaleFactor": 2.5,
339 - "isMobile": true,
340 - "hasTouch": true,
341 - "defaultBrowserType": "webkit"
342 - },
343 - "iPad (gen 11) landscape": {
344 - "userAgent": "Mozilla/5.0 (iPad; CPU OS 18_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/19E241 Safari/604.1",
345 - "viewport": {
346 - "width": 944,
347 - "height": 656
348 - },
349 - "deviceScaleFactor": 2.5,
350 - "isMobile": true,
351 - "hasTouch": true,
352 - "defaultBrowserType": "webkit"
353 - },
354 - "iPad Mini": {
355 - "userAgent": "Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
356 - "viewport": {
357 - "width": 768,
358 - "height": 1024
359 - },
360 - "deviceScaleFactor": 2,
361 - "isMobile": true,
362 - "hasTouch": true,
363 - "defaultBrowserType": "webkit"
364 - },
365 - "iPad Mini landscape": {
366 - "userAgent": "Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
367 - "viewport": {
368 - "width": 1024,
369 - "height": 768
370 - },
371 - "deviceScaleFactor": 2,
372 - "isMobile": true,
373 - "hasTouch": true,
374 - "defaultBrowserType": "webkit"
375 - },
376 - "iPad Pro 11": {
377 - "userAgent": "Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
378 - "viewport": {
379 - "width": 834,
380 - "height": 1194
381 - },
382 - "deviceScaleFactor": 2,
383 - "isMobile": true,
384 - "hasTouch": true,
385 - "defaultBrowserType": "webkit"
386 - },
387 - "iPad Pro 11 landscape": {
388 - "userAgent": "Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
389 - "viewport": {
390 - "width": 1194,
391 - "height": 834
392 - },
393 - "deviceScaleFactor": 2,
394 - "isMobile": true,
395 - "hasTouch": true,
396 - "defaultBrowserType": "webkit"
397 - },
398 - "iPhone 6": {
399 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/26.4 Mobile/15A372 Safari/604.1",
400 - "viewport": {
401 - "width": 375,
402 - "height": 667
403 - },
404 - "deviceScaleFactor": 2,
405 - "isMobile": true,
406 - "hasTouch": true,
407 - "defaultBrowserType": "webkit"
408 - },
409 - "iPhone 6 landscape": {
410 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/26.4 Mobile/15A372 Safari/604.1",
411 - "viewport": {
412 - "width": 667,
413 - "height": 375
414 - },
415 - "deviceScaleFactor": 2,
416 - "isMobile": true,
417 - "hasTouch": true,
418 - "defaultBrowserType": "webkit"
419 - },
420 - "iPhone 6 Plus": {
421 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/26.4 Mobile/15A372 Safari/604.1",
422 - "viewport": {
423 - "width": 414,
424 - "height": 736
425 - },
426 - "deviceScaleFactor": 3,
427 - "isMobile": true,
428 - "hasTouch": true,
429 - "defaultBrowserType": "webkit"
430 - },
431 - "iPhone 6 Plus landscape": {
432 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/26.4 Mobile/15A372 Safari/604.1",
433 - "viewport": {
434 - "width": 736,
435 - "height": 414
436 - },
437 - "deviceScaleFactor": 3,
438 - "isMobile": true,
439 - "hasTouch": true,
440 - "defaultBrowserType": "webkit"
441 - },
442 - "iPhone 7": {
443 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/26.4 Mobile/15A372 Safari/604.1",
444 - "viewport": {
445 - "width": 375,
446 - "height": 667
447 - },
448 - "deviceScaleFactor": 2,
449 - "isMobile": true,
450 - "hasTouch": true,
451 - "defaultBrowserType": "webkit"
452 - },
453 - "iPhone 7 landscape": {
454 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/26.4 Mobile/15A372 Safari/604.1",
455 - "viewport": {
456 - "width": 667,
457 - "height": 375
458 - },
459 - "deviceScaleFactor": 2,
460 - "isMobile": true,
461 - "hasTouch": true,
462 - "defaultBrowserType": "webkit"
463 - },
464 - "iPhone 7 Plus": {
465 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/26.4 Mobile/15A372 Safari/604.1",
466 - "viewport": {
467 - "width": 414,
468 - "height": 736
469 - },
470 - "deviceScaleFactor": 3,
471 - "isMobile": true,
472 - "hasTouch": true,
473 - "defaultBrowserType": "webkit"
474 - },
475 - "iPhone 7 Plus landscape": {
476 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/26.4 Mobile/15A372 Safari/604.1",
477 - "viewport": {
478 - "width": 736,
479 - "height": 414
480 - },
481 - "deviceScaleFactor": 3,
482 - "isMobile": true,
483 - "hasTouch": true,
484 - "defaultBrowserType": "webkit"
485 - },
486 - "iPhone 8": {
487 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/26.4 Mobile/15A372 Safari/604.1",
488 - "viewport": {
489 - "width": 375,
490 - "height": 667
491 - },
492 - "deviceScaleFactor": 2,
493 - "isMobile": true,
494 - "hasTouch": true,
495 - "defaultBrowserType": "webkit"
496 - },
497 - "iPhone 8 landscape": {
498 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/26.4 Mobile/15A372 Safari/604.1",
499 - "viewport": {
500 - "width": 667,
501 - "height": 375
502 - },
503 - "deviceScaleFactor": 2,
504 - "isMobile": true,
505 - "hasTouch": true,
506 - "defaultBrowserType": "webkit"
507 - },
508 - "iPhone 8 Plus": {
509 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/26.4 Mobile/15A372 Safari/604.1",
510 - "viewport": {
511 - "width": 414,
512 - "height": 736
513 - },
514 - "deviceScaleFactor": 3,
515 - "isMobile": true,
516 - "hasTouch": true,
517 - "defaultBrowserType": "webkit"
518 - },
519 - "iPhone 8 Plus landscape": {
520 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/26.4 Mobile/15A372 Safari/604.1",
521 - "viewport": {
522 - "width": 736,
523 - "height": 414
524 - },
525 - "deviceScaleFactor": 3,
526 - "isMobile": true,
527 - "hasTouch": true,
528 - "defaultBrowserType": "webkit"
529 - },
530 - "iPhone SE": {
531 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/26.4 Mobile/14E304 Safari/602.1",
532 - "viewport": {
533 - "width": 320,
534 - "height": 568
535 - },
536 - "deviceScaleFactor": 2,
537 - "isMobile": true,
538 - "hasTouch": true,
539 - "defaultBrowserType": "webkit"
540 - },
541 - "iPhone SE landscape": {
542 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/26.4 Mobile/14E304 Safari/602.1",
543 - "viewport": {
544 - "width": 568,
545 - "height": 320
546 - },
547 - "deviceScaleFactor": 2,
548 - "isMobile": true,
549 - "hasTouch": true,
550 - "defaultBrowserType": "webkit"
551 - },
552 - "iPhone SE (3rd gen)": {
553 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 18_5 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/26.4 Mobile/19E241 Safari/602.1",
554 - "viewport": {
555 - "width": 375,
556 - "height": 667
557 - },
558 - "deviceScaleFactor": 2,
559 - "isMobile": true,
560 - "hasTouch": true,
561 - "defaultBrowserType": "webkit"
562 - },
563 - "iPhone SE (3rd gen) landscape": {
564 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 18_5 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/26.4 Mobile/19E241 Safari/602.1",
565 - "viewport": {
566 - "width": 667,
567 - "height": 375
568 - },
569 - "deviceScaleFactor": 2,
570 - "isMobile": true,
571 - "hasTouch": true,
572 - "defaultBrowserType": "webkit"
573 - },
574 - "iPhone X": {
575 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/26.4 Mobile/15A372 Safari/604.1",
576 - "viewport": {
577 - "width": 375,
578 - "height": 812
579 - },
580 - "deviceScaleFactor": 3,
581 - "isMobile": true,
582 - "hasTouch": true,
583 - "defaultBrowserType": "webkit"
584 - },
585 - "iPhone X landscape": {
586 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/26.4 Mobile/15A372 Safari/604.1",
587 - "viewport": {
588 - "width": 812,
589 - "height": 375
590 - },
591 - "deviceScaleFactor": 3,
592 - "isMobile": true,
593 - "hasTouch": true,
594 - "defaultBrowserType": "webkit"
595 - },
596 - "iPhone XR": {
597 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 12_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
598 - "viewport": {
599 - "width": 414,
600 - "height": 896
601 - },
602 - "deviceScaleFactor": 3,
603 - "isMobile": true,
604 - "hasTouch": true,
605 - "defaultBrowserType": "webkit"
606 - },
607 - "iPhone XR landscape": {
608 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 12_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
609 - "viewport": {
610 - "width": 896,
611 - "height": 414
612 - },
613 - "deviceScaleFactor": 3,
614 - "isMobile": true,
615 - "hasTouch": true,
616 - "defaultBrowserType": "webkit"
617 - },
618 - "iPhone 11": {
619 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
620 - "screen": {
621 - "width": 414,
622 - "height": 896
623 - },
624 - "viewport": {
625 - "width": 414,
626 - "height": 715
627 - },
628 - "deviceScaleFactor": 2,
629 - "isMobile": true,
630 - "hasTouch": true,
631 - "defaultBrowserType": "webkit"
632 - },
633 - "iPhone 11 landscape": {
634 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
635 - "screen": {
636 - "width": 414,
637 - "height": 896
638 - },
639 - "viewport": {
640 - "width": 800,
641 - "height": 364
642 - },
643 - "deviceScaleFactor": 2,
644 - "isMobile": true,
645 - "hasTouch": true,
646 - "defaultBrowserType": "webkit"
647 - },
648 - "iPhone 11 Pro": {
649 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
650 - "screen": {
651 - "width": 375,
652 - "height": 812
653 - },
654 - "viewport": {
655 - "width": 375,
656 - "height": 635
657 - },
658 - "deviceScaleFactor": 3,
659 - "isMobile": true,
660 - "hasTouch": true,
661 - "defaultBrowserType": "webkit"
662 - },
663 - "iPhone 11 Pro landscape": {
664 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
665 - "screen": {
666 - "width": 375,
667 - "height": 812
668 - },
669 - "viewport": {
670 - "width": 724,
671 - "height": 325
672 - },
673 - "deviceScaleFactor": 3,
674 - "isMobile": true,
675 - "hasTouch": true,
676 - "defaultBrowserType": "webkit"
677 - },
678 - "iPhone 11 Pro Max": {
679 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
680 - "screen": {
681 - "width": 414,
682 - "height": 896
683 - },
684 - "viewport": {
685 - "width": 414,
686 - "height": 715
687 - },
688 - "deviceScaleFactor": 3,
689 - "isMobile": true,
690 - "hasTouch": true,
691 - "defaultBrowserType": "webkit"
692 - },
693 - "iPhone 11 Pro Max landscape": {
694 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
695 - "screen": {
696 - "width": 414,
697 - "height": 896
698 - },
699 - "viewport": {
700 - "width": 808,
701 - "height": 364
702 - },
703 - "deviceScaleFactor": 3,
704 - "isMobile": true,
705 - "hasTouch": true,
706 - "defaultBrowserType": "webkit"
707 - },
708 - "iPhone 12": {
709 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
710 - "screen": {
711 - "width": 390,
712 - "height": 844
713 - },
714 - "viewport": {
715 - "width": 390,
716 - "height": 664
717 - },
718 - "deviceScaleFactor": 3,
719 - "isMobile": true,
720 - "hasTouch": true,
721 - "defaultBrowserType": "webkit"
722 - },
723 - "iPhone 12 landscape": {
724 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
725 - "screen": {
726 - "width": 390,
727 - "height": 844
728 - },
729 - "viewport": {
730 - "width": 750,
731 - "height": 340
732 - },
733 - "deviceScaleFactor": 3,
734 - "isMobile": true,
735 - "hasTouch": true,
736 - "defaultBrowserType": "webkit"
737 - },
738 - "iPhone 12 Pro": {
739 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
740 - "screen": {
741 - "width": 390,
742 - "height": 844
743 - },
744 - "viewport": {
745 - "width": 390,
746 - "height": 664
747 - },
748 - "deviceScaleFactor": 3,
749 - "isMobile": true,
750 - "hasTouch": true,
751 - "defaultBrowserType": "webkit"
752 - },
753 - "iPhone 12 Pro landscape": {
754 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
755 - "screen": {
756 - "width": 390,
757 - "height": 844
758 - },
759 - "viewport": {
760 - "width": 750,
761 - "height": 340
762 - },
763 - "deviceScaleFactor": 3,
764 - "isMobile": true,
765 - "hasTouch": true,
766 - "defaultBrowserType": "webkit"
767 - },
768 - "iPhone 12 Pro Max": {
769 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
770 - "screen": {
771 - "width": 428,
772 - "height": 926
773 - },
774 - "viewport": {
775 - "width": 428,
776 - "height": 746
777 - },
778 - "deviceScaleFactor": 3,
779 - "isMobile": true,
780 - "hasTouch": true,
781 - "defaultBrowserType": "webkit"
782 - },
783 - "iPhone 12 Pro Max landscape": {
784 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
785 - "screen": {
786 - "width": 428,
787 - "height": 926
788 - },
789 - "viewport": {
790 - "width": 832,
791 - "height": 378
792 - },
793 - "deviceScaleFactor": 3,
794 - "isMobile": true,
795 - "hasTouch": true,
796 - "defaultBrowserType": "webkit"
797 - },
798 - "iPhone 12 Mini": {
799 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
800 - "screen": {
801 - "width": 375,
802 - "height": 812
803 - },
804 - "viewport": {
805 - "width": 375,
806 - "height": 629
807 - },
808 - "deviceScaleFactor": 3,
809 - "isMobile": true,
810 - "hasTouch": true,
811 - "defaultBrowserType": "webkit"
812 - },
813 - "iPhone 12 Mini landscape": {
814 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
815 - "screen": {
816 - "width": 375,
817 - "height": 812
818 - },
819 - "viewport": {
820 - "width": 712,
821 - "height": 325
822 - },
823 - "deviceScaleFactor": 3,
824 - "isMobile": true,
825 - "hasTouch": true,
826 - "defaultBrowserType": "webkit"
827 - },
828 - "iPhone 13": {
829 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
830 - "screen": {
831 - "width": 390,
832 - "height": 844
833 - },
834 - "viewport": {
835 - "width": 390,
836 - "height": 664
837 - },
838 - "deviceScaleFactor": 3,
839 - "isMobile": true,
840 - "hasTouch": true,
841 - "defaultBrowserType": "webkit"
842 - },
843 - "iPhone 13 landscape": {
844 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
845 - "screen": {
846 - "width": 390,
847 - "height": 844
848 - },
849 - "viewport": {
850 - "width": 750,
851 - "height": 342
852 - },
853 - "deviceScaleFactor": 3,
854 - "isMobile": true,
855 - "hasTouch": true,
856 - "defaultBrowserType": "webkit"
857 - },
858 - "iPhone 13 Pro": {
859 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
860 - "screen": {
861 - "width": 390,
862 - "height": 844
863 - },
864 - "viewport": {
865 - "width": 390,
866 - "height": 664
867 - },
868 - "deviceScaleFactor": 3,
869 - "isMobile": true,
870 - "hasTouch": true,
871 - "defaultBrowserType": "webkit"
872 - },
873 - "iPhone 13 Pro landscape": {
874 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
875 - "screen": {
876 - "width": 390,
877 - "height": 844
878 - },
879 - "viewport": {
880 - "width": 750,
881 - "height": 342
882 - },
883 - "deviceScaleFactor": 3,
884 - "isMobile": true,
885 - "hasTouch": true,
886 - "defaultBrowserType": "webkit"
887 - },
888 - "iPhone 13 Pro Max": {
889 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
890 - "screen": {
891 - "width": 428,
892 - "height": 926
893 - },
894 - "viewport": {
895 - "width": 428,
896 - "height": 746
897 - },
898 - "deviceScaleFactor": 3,
899 - "isMobile": true,
900 - "hasTouch": true,
901 - "defaultBrowserType": "webkit"
902 - },
903 - "iPhone 13 Pro Max landscape": {
904 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
905 - "screen": {
906 - "width": 428,
907 - "height": 926
908 - },
909 - "viewport": {
910 - "width": 832,
911 - "height": 380
912 - },
913 - "deviceScaleFactor": 3,
914 - "isMobile": true,
915 - "hasTouch": true,
916 - "defaultBrowserType": "webkit"
917 - },
918 - "iPhone 13 Mini": {
919 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
920 - "screen": {
921 - "width": 375,
922 - "height": 812
923 - },
924 - "viewport": {
925 - "width": 375,
926 - "height": 629
927 - },
928 - "deviceScaleFactor": 3,
929 - "isMobile": true,
930 - "hasTouch": true,
931 - "defaultBrowserType": "webkit"
932 - },
933 - "iPhone 13 Mini landscape": {
934 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
935 - "screen": {
936 - "width": 375,
937 - "height": 812
938 - },
939 - "viewport": {
940 - "width": 712,
941 - "height": 327
942 - },
943 - "deviceScaleFactor": 3,
944 - "isMobile": true,
945 - "hasTouch": true,
946 - "defaultBrowserType": "webkit"
947 - },
948 - "iPhone 14": {
949 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
950 - "screen": {
951 - "width": 390,
952 - "height": 844
953 - },
954 - "viewport": {
955 - "width": 390,
956 - "height": 664
957 - },
958 - "deviceScaleFactor": 3,
959 - "isMobile": true,
960 - "hasTouch": true,
961 - "defaultBrowserType": "webkit"
962 - },
963 - "iPhone 14 landscape": {
964 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
965 - "screen": {
966 - "width": 390,
967 - "height": 844
968 - },
969 - "viewport": {
970 - "width": 750,
971 - "height": 340
972 - },
973 - "deviceScaleFactor": 3,
974 - "isMobile": true,
975 - "hasTouch": true,
976 - "defaultBrowserType": "webkit"
977 - },
978 - "iPhone 14 Plus": {
979 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
980 - "screen": {
981 - "width": 428,
982 - "height": 926
983 - },
984 - "viewport": {
985 - "width": 428,
986 - "height": 746
987 - },
988 - "deviceScaleFactor": 3,
989 - "isMobile": true,
990 - "hasTouch": true,
991 - "defaultBrowserType": "webkit"
992 - },
993 - "iPhone 14 Plus landscape": {
994 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
995 - "screen": {
996 - "width": 428,
997 - "height": 926
998 - },
999 - "viewport": {
1000 - "width": 832,
1001 - "height": 378
1002 - },
1003 - "deviceScaleFactor": 3,
1004 - "isMobile": true,
1005 - "hasTouch": true,
1006 - "defaultBrowserType": "webkit"
1007 - },
1008 - "iPhone 14 Pro": {
1009 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
1010 - "screen": {
1011 - "width": 393,
1012 - "height": 852
1013 - },
1014 - "viewport": {
1015 - "width": 393,
1016 - "height": 660
1017 - },
1018 - "deviceScaleFactor": 3,
1019 - "isMobile": true,
1020 - "hasTouch": true,
1021 - "defaultBrowserType": "webkit"
1022 - },
1023 - "iPhone 14 Pro landscape": {
1024 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
1025 - "screen": {
1026 - "width": 393,
1027 - "height": 852
1028 - },
1029 - "viewport": {
1030 - "width": 734,
1031 - "height": 343
1032 - },
1033 - "deviceScaleFactor": 3,
1034 - "isMobile": true,
1035 - "hasTouch": true,
1036 - "defaultBrowserType": "webkit"
1037 - },
1038 - "iPhone 14 Pro Max": {
1039 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
1040 - "screen": {
1041 - "width": 430,
1042 - "height": 932
1043 - },
1044 - "viewport": {
1045 - "width": 430,
1046 - "height": 740
1047 - },
1048 - "deviceScaleFactor": 3,
1049 - "isMobile": true,
1050 - "hasTouch": true,
1051 - "defaultBrowserType": "webkit"
1052 - },
1053 - "iPhone 14 Pro Max landscape": {
1054 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
1055 - "screen": {
1056 - "width": 430,
1057 - "height": 932
1058 - },
1059 - "viewport": {
1060 - "width": 814,
1061 - "height": 380
1062 - },
1063 - "deviceScaleFactor": 3,
1064 - "isMobile": true,
1065 - "hasTouch": true,
1066 - "defaultBrowserType": "webkit"
1067 - },
1068 - "iPhone 15": {
1069 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
1070 - "screen": {
1071 - "width": 393,
1072 - "height": 852
1073 - },
1074 - "viewport": {
1075 - "width": 393,
1076 - "height": 659
1077 - },
1078 - "deviceScaleFactor": 3,
1079 - "isMobile": true,
1080 - "hasTouch": true,
1081 - "defaultBrowserType": "webkit"
1082 - },
1083 - "iPhone 15 landscape": {
1084 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
1085 - "screen": {
1086 - "width": 393,
1087 - "height": 852
1088 - },
1089 - "viewport": {
1090 - "width": 734,
1091 - "height": 343
1092 - },
1093 - "deviceScaleFactor": 3,
1094 - "isMobile": true,
1095 - "hasTouch": true,
1096 - "defaultBrowserType": "webkit"
1097 - },
1098 - "iPhone 15 Plus": {
1099 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
1100 - "screen": {
1101 - "width": 430,
1102 - "height": 932
1103 - },
1104 - "viewport": {
1105 - "width": 430,
1106 - "height": 739
1107 - },
1108 - "deviceScaleFactor": 3,
1109 - "isMobile": true,
1110 - "hasTouch": true,
1111 - "defaultBrowserType": "webkit"
1112 - },
1113 - "iPhone 15 Plus landscape": {
1114 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
1115 - "screen": {
1116 - "width": 430,
1117 - "height": 932
1118 - },
1119 - "viewport": {
1120 - "width": 814,
1121 - "height": 380
1122 - },
1123 - "deviceScaleFactor": 3,
1124 - "isMobile": true,
1125 - "hasTouch": true,
1126 - "defaultBrowserType": "webkit"
1127 - },
1128 - "iPhone 15 Pro": {
1129 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
1130 - "screen": {
1131 - "width": 393,
1132 - "height": 852
1133 - },
1134 - "viewport": {
1135 - "width": 393,
1136 - "height": 659
1137 - },
1138 - "deviceScaleFactor": 3,
1139 - "isMobile": true,
1140 - "hasTouch": true,
1141 - "defaultBrowserType": "webkit"
1142 - },
1143 - "iPhone 15 Pro landscape": {
1144 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
1145 - "screen": {
1146 - "width": 393,
1147 - "height": 852
1148 - },
1149 - "viewport": {
1150 - "width": 734,
1151 - "height": 343
1152 - },
1153 - "deviceScaleFactor": 3,
1154 - "isMobile": true,
1155 - "hasTouch": true,
1156 - "defaultBrowserType": "webkit"
1157 - },
1158 - "iPhone 15 Pro Max": {
1159 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
1160 - "screen": {
1161 - "width": 430,
1162 - "height": 932
1163 - },
1164 - "viewport": {
1165 - "width": 430,
1166 - "height": 739
1167 - },
1168 - "deviceScaleFactor": 3,
1169 - "isMobile": true,
1170 - "hasTouch": true,
1171 - "defaultBrowserType": "webkit"
1172 - },
1173 - "iPhone 15 Pro Max landscape": {
1174 - "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
1175 - "screen": {
1176 - "width": 430,
1177 - "height": 932
1178 - },
1179 - "viewport": {
1180 - "width": 814,
1181 - "height": 380
1182 - },
1183 - "deviceScaleFactor": 3,
1184 - "isMobile": true,
1185 - "hasTouch": true,
1186 - "defaultBrowserType": "webkit"
1187 - },
1188 - "Kindle Fire HDX": {
1189 - "userAgent": "Mozilla/5.0 (Linux; U; en-us; KFAPWI Build/JDQ39) AppleWebKit/535.19 (KHTML, like Gecko) Silk/3.13 Safari/535.19 Silk-Accelerated=true",
1190 - "viewport": {
1191 - "width": 800,
1192 - "height": 1280
1193 - },
1194 - "deviceScaleFactor": 2,
1195 - "isMobile": true,
1196 - "hasTouch": true,
1197 - "defaultBrowserType": "webkit"
1198 - },
1199 - "Kindle Fire HDX landscape": {
1200 - "userAgent": "Mozilla/5.0 (Linux; U; en-us; KFAPWI Build/JDQ39) AppleWebKit/535.19 (KHTML, like Gecko) Silk/3.13 Safari/535.19 Silk-Accelerated=true",
1201 - "viewport": {
1202 - "width": 1280,
1203 - "height": 800
1204 - },
1205 - "deviceScaleFactor": 2,
1206 - "isMobile": true,
1207 - "hasTouch": true,
1208 - "defaultBrowserType": "webkit"
1209 - },
1210 - "LG Optimus L70": {
1211 - "userAgent": "Mozilla/5.0 (Linux; U; Android 4.4.2; en-us; LGMS323 Build/KOT49I.MS32310c) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/148.0.7778.96 Mobile Safari/537.36",
1212 - "viewport": {
1213 - "width": 384,
1214 - "height": 640
1215 - },
1216 - "deviceScaleFactor": 1.25,
1217 - "isMobile": true,
1218 - "hasTouch": true,
1219 - "defaultBrowserType": "chromium"
1220 - },
1221 - "LG Optimus L70 landscape": {
1222 - "userAgent": "Mozilla/5.0 (Linux; U; Android 4.4.2; en-us; LGMS323 Build/KOT49I.MS32310c) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/148.0.7778.96 Mobile Safari/537.36",
1223 - "viewport": {
1224 - "width": 640,
1225 - "height": 384
1226 - },
1227 - "deviceScaleFactor": 1.25,
1228 - "isMobile": true,
1229 - "hasTouch": true,
1230 - "defaultBrowserType": "chromium"
1231 - },
1232 - "Microsoft Lumia 550": {
1233 - "userAgent": "Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 550) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36 Edge/14.14263",
1234 - "viewport": {
1235 - "width": 360,
1236 - "height": 640
1237 - },
1238 - "deviceScaleFactor": 2,
1239 - "isMobile": true,
1240 - "hasTouch": true,
1241 - "defaultBrowserType": "chromium"
1242 - },
1243 - "Microsoft Lumia 550 landscape": {
1244 - "userAgent": "Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 550) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36 Edge/14.14263",
1245 - "viewport": {
1246 - "width": 640,
1247 - "height": 360
1248 - },
1249 - "deviceScaleFactor": 2,
1250 - "isMobile": true,
1251 - "hasTouch": true,
1252 - "defaultBrowserType": "chromium"
1253 - },
1254 - "Microsoft Lumia 950": {
1255 - "userAgent": "Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 950) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36 Edge/14.14263",
1256 - "viewport": {
1257 - "width": 360,
1258 - "height": 640
1259 - },
1260 - "deviceScaleFactor": 4,
1261 - "isMobile": true,
1262 - "hasTouch": true,
1263 - "defaultBrowserType": "chromium"
1264 - },
1265 - "Microsoft Lumia 950 landscape": {
1266 - "userAgent": "Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 950) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36 Edge/14.14263",
1267 - "viewport": {
1268 - "width": 640,
1269 - "height": 360
1270 - },
1271 - "deviceScaleFactor": 4,
1272 - "isMobile": true,
1273 - "hasTouch": true,
1274 - "defaultBrowserType": "chromium"
1275 - },
1276 - "Nexus 10": {
1277 - "userAgent": "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 10 Build/MOB31T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36",
1278 - "viewport": {
1279 - "width": 800,
1280 - "height": 1280
1281 - },
1282 - "deviceScaleFactor": 2,
1283 - "isMobile": true,
1284 - "hasTouch": true,
1285 - "defaultBrowserType": "chromium"
1286 - },
1287 - "Nexus 10 landscape": {
1288 - "userAgent": "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 10 Build/MOB31T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36",
1289 - "viewport": {
1290 - "width": 1280,
1291 - "height": 800
1292 - },
1293 - "deviceScaleFactor": 2,
1294 - "isMobile": true,
1295 - "hasTouch": true,
1296 - "defaultBrowserType": "chromium"
1297 - },
1298 - "Nexus 4": {
1299 - "userAgent": "Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36",
1300 - "viewport": {
1301 - "width": 384,
1302 - "height": 640
1303 - },
1304 - "deviceScaleFactor": 2,
1305 - "isMobile": true,
1306 - "hasTouch": true,
1307 - "defaultBrowserType": "chromium"
1308 - },
1309 - "Nexus 4 landscape": {
1310 - "userAgent": "Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36",
1311 - "viewport": {
1312 - "width": 640,
1313 - "height": 384
1314 - },
1315 - "deviceScaleFactor": 2,
1316 - "isMobile": true,
1317 - "hasTouch": true,
1318 - "defaultBrowserType": "chromium"
1319 - },
1320 - "Nexus 5": {
1321 - "userAgent": "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36",
1322 - "viewport": {
1323 - "width": 360,
1324 - "height": 640
1325 - },
1326 - "deviceScaleFactor": 3,
1327 - "isMobile": true,
1328 - "hasTouch": true,
1329 - "defaultBrowserType": "chromium"
1330 - },
1331 - "Nexus 5 landscape": {
1332 - "userAgent": "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36",
1333 - "viewport": {
1334 - "width": 640,
1335 - "height": 360
1336 - },
1337 - "deviceScaleFactor": 3,
1338 - "isMobile": true,
1339 - "hasTouch": true,
1340 - "defaultBrowserType": "chromium"
1341 - },
1342 - "Nexus 5X": {
1343 - "userAgent": "Mozilla/5.0 (Linux; Android 8.0.0; Nexus 5X Build/OPR4.170623.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36",
1344 - "viewport": {
1345 - "width": 412,
1346 - "height": 732
1347 - },
1348 - "deviceScaleFactor": 2.625,
1349 - "isMobile": true,
1350 - "hasTouch": true,
1351 - "defaultBrowserType": "chromium"
1352 - },
1353 - "Nexus 5X landscape": {
1354 - "userAgent": "Mozilla/5.0 (Linux; Android 8.0.0; Nexus 5X Build/OPR4.170623.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36",
1355 - "viewport": {
1356 - "width": 732,
1357 - "height": 412
1358 - },
1359 - "deviceScaleFactor": 2.625,
1360 - "isMobile": true,
1361 - "hasTouch": true,
1362 - "defaultBrowserType": "chromium"
1363 - },
1364 - "Nexus 6": {
1365 - "userAgent": "Mozilla/5.0 (Linux; Android 7.1.1; Nexus 6 Build/N6F26U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36",
1366 - "viewport": {
1367 - "width": 412,
1368 - "height": 732
1369 - },
1370 - "deviceScaleFactor": 3.5,
1371 - "isMobile": true,
1372 - "hasTouch": true,
1373 - "defaultBrowserType": "chromium"
1374 - },
1375 - "Nexus 6 landscape": {
1376 - "userAgent": "Mozilla/5.0 (Linux; Android 7.1.1; Nexus 6 Build/N6F26U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36",
1377 - "viewport": {
1378 - "width": 732,
1379 - "height": 412
1380 - },
1381 - "deviceScaleFactor": 3.5,
1382 - "isMobile": true,
1383 - "hasTouch": true,
1384 - "defaultBrowserType": "chromium"
1385 - },
1386 - "Nexus 6P": {
1387 - "userAgent": "Mozilla/5.0 (Linux; Android 8.0.0; Nexus 6P Build/OPP3.170518.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36",
1388 - "viewport": {
1389 - "width": 412,
1390 - "height": 732
1391 - },
1392 - "deviceScaleFactor": 3.5,
1393 - "isMobile": true,
1394 - "hasTouch": true,
1395 - "defaultBrowserType": "chromium"
1396 - },
1397 - "Nexus 6P landscape": {
1398 - "userAgent": "Mozilla/5.0 (Linux; Android 8.0.0; Nexus 6P Build/OPP3.170518.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36",
1399 - "viewport": {
1400 - "width": 732,
1401 - "height": 412
1402 - },
1403 - "deviceScaleFactor": 3.5,
1404 - "isMobile": true,
1405 - "hasTouch": true,
1406 - "defaultBrowserType": "chromium"
1407 - },
1408 - "Nexus 7": {
1409 - "userAgent": "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 7 Build/MOB30X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36",
1410 - "viewport": {
1411 - "width": 600,
1412 - "height": 960
1413 - },
1414 - "deviceScaleFactor": 2,
1415 - "isMobile": true,
1416 - "hasTouch": true,
1417 - "defaultBrowserType": "chromium"
1418 - },
1419 - "Nexus 7 landscape": {
1420 - "userAgent": "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 7 Build/MOB30X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36",
1421 - "viewport": {
1422 - "width": 960,
1423 - "height": 600
1424 - },
1425 - "deviceScaleFactor": 2,
1426 - "isMobile": true,
1427 - "hasTouch": true,
1428 - "defaultBrowserType": "chromium"
1429 - },
1430 - "Nokia Lumia 520": {
1431 - "userAgent": "Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 520)",
1432 - "viewport": {
1433 - "width": 320,
1434 - "height": 533
1435 - },
1436 - "deviceScaleFactor": 1.5,
1437 - "isMobile": true,
1438 - "hasTouch": true,
1439 - "defaultBrowserType": "chromium"
1440 - },
1441 - "Nokia Lumia 520 landscape": {
1442 - "userAgent": "Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 520)",
1443 - "viewport": {
1444 - "width": 533,
1445 - "height": 320
1446 - },
1447 - "deviceScaleFactor": 1.5,
1448 - "isMobile": true,
1449 - "hasTouch": true,
1450 - "defaultBrowserType": "chromium"
1451 - },
1452 - "Nokia N9": {
1453 - "userAgent": "Mozilla/5.0 (MeeGo; NokiaN9) AppleWebKit/534.13 (KHTML, like Gecko) NokiaBrowser/8.5.0 Mobile Safari/534.13",
1454 - "viewport": {
1455 - "width": 480,
1456 - "height": 854
1457 - },
1458 - "deviceScaleFactor": 1,
1459 - "isMobile": true,
1460 - "hasTouch": true,
1461 - "defaultBrowserType": "webkit"
1462 - },
1463 - "Nokia N9 landscape": {
1464 - "userAgent": "Mozilla/5.0 (MeeGo; NokiaN9) AppleWebKit/534.13 (KHTML, like Gecko) NokiaBrowser/8.5.0 Mobile Safari/534.13",
1465 - "viewport": {
1466 - "width": 854,
1467 - "height": 480
1468 - },
1469 - "deviceScaleFactor": 1,
1470 - "isMobile": true,
1471 - "hasTouch": true,
1472 - "defaultBrowserType": "webkit"
1473 - },
1474 - "Pixel 2": {
1475 - "userAgent": "Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36",
1476 - "viewport": {
1477 - "width": 411,
1478 - "height": 731
1479 - },
1480 - "deviceScaleFactor": 2.625,
1481 - "isMobile": true,
1482 - "hasTouch": true,
1483 - "defaultBrowserType": "chromium"
1484 - },
1485 - "Pixel 2 landscape": {
1486 - "userAgent": "Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36",
1487 - "viewport": {
1488 - "width": 731,
1489 - "height": 411
1490 - },
1491 - "deviceScaleFactor": 2.625,
1492 - "isMobile": true,
1493 - "hasTouch": true,
1494 - "defaultBrowserType": "chromium"
1495 - },
1496 - "Pixel 2 XL": {
1497 - "userAgent": "Mozilla/5.0 (Linux; Android 8.0.0; Pixel 2 XL Build/OPD1.170816.004) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36",
1498 - "viewport": {
1499 - "width": 411,
1500 - "height": 823
1501 - },
1502 - "deviceScaleFactor": 3.5,
1503 - "isMobile": true,
1504 - "hasTouch": true,
1505 - "defaultBrowserType": "chromium"
1506 - },
1507 - "Pixel 2 XL landscape": {
1508 - "userAgent": "Mozilla/5.0 (Linux; Android 8.0.0; Pixel 2 XL Build/OPD1.170816.004) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36",
1509 - "viewport": {
1510 - "width": 823,
1511 - "height": 411
1512 - },
1513 - "deviceScaleFactor": 3.5,
1514 - "isMobile": true,
1515 - "hasTouch": true,
1516 - "defaultBrowserType": "chromium"
1517 - },
1518 - "Pixel 3": {
1519 - "userAgent": "Mozilla/5.0 (Linux; Android 9; Pixel 3 Build/PQ1A.181105.017.A1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36",
1520 - "viewport": {
1521 - "width": 393,
1522 - "height": 786
1523 - },
1524 - "deviceScaleFactor": 2.75,
1525 - "isMobile": true,
1526 - "hasTouch": true,
1527 - "defaultBrowserType": "chromium"
1528 - },
1529 - "Pixel 3 landscape": {
1530 - "userAgent": "Mozilla/5.0 (Linux; Android 9; Pixel 3 Build/PQ1A.181105.017.A1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36",
1531 - "viewport": {
1532 - "width": 786,
1533 - "height": 393
1534 - },
1535 - "deviceScaleFactor": 2.75,
1536 - "isMobile": true,
1537 - "hasTouch": true,
1538 - "defaultBrowserType": "chromium"
1539 - },
1540 - "Pixel 4": {
1541 - "userAgent": "Mozilla/5.0 (Linux; Android 10; Pixel 4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36",
1542 - "viewport": {
1543 - "width": 353,
1544 - "height": 745
1545 - },
1546 - "deviceScaleFactor": 3,
1547 - "isMobile": true,
1548 - "hasTouch": true,
1549 - "defaultBrowserType": "chromium"
1550 - },
1551 - "Pixel 4 landscape": {
1552 - "userAgent": "Mozilla/5.0 (Linux; Android 10; Pixel 4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36",
1553 - "viewport": {
1554 - "width": 745,
1555 - "height": 353
1556 - },
1557 - "deviceScaleFactor": 3,
1558 - "isMobile": true,
1559 - "hasTouch": true,
1560 - "defaultBrowserType": "chromium"
1561 - },
1562 - "Pixel 4a (5G)": {
1563 - "userAgent": "Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36",
1564 - "screen": {
1565 - "width": 412,
1566 - "height": 892
1567 - },
1568 - "viewport": {
1569 - "width": 412,
1570 - "height": 765
1571 - },
1572 - "deviceScaleFactor": 2.63,
1573 - "isMobile": true,
1574 - "hasTouch": true,
1575 - "defaultBrowserType": "chromium"
1576 - },
1577 - "Pixel 4a (5G) landscape": {
1578 - "userAgent": "Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36",
1579 - "screen": {
1580 - "height": 892,
1581 - "width": 412
1582 - },
1583 - "viewport": {
1584 - "width": 840,
1585 - "height": 312
1586 - },
1587 - "deviceScaleFactor": 2.63,
1588 - "isMobile": true,
1589 - "hasTouch": true,
1590 - "defaultBrowserType": "chromium"
1591 - },
1592 - "Pixel 5": {
1593 - "userAgent": "Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36",
1594 - "screen": {
1595 - "width": 393,
1596 - "height": 851
1597 - },
1598 - "viewport": {
1599 - "width": 393,
1600 - "height": 727
1601 - },
1602 - "deviceScaleFactor": 2.75,
1603 - "isMobile": true,
1604 - "hasTouch": true,
1605 - "defaultBrowserType": "chromium"
1606 - },
1607 - "Pixel 5 landscape": {
1608 - "userAgent": "Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36",
1609 - "screen": {
1610 - "width": 851,
1611 - "height": 393
1612 - },
1613 - "viewport": {
1614 - "width": 802,
1615 - "height": 293
1616 - },
1617 - "deviceScaleFactor": 2.75,
1618 - "isMobile": true,
1619 - "hasTouch": true,
1620 - "defaultBrowserType": "chromium"
1621 - },
1622 - "Pixel 7": {
1623 - "userAgent": "Mozilla/5.0 (Linux; Android 14; Pixel 7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36",
1624 - "screen": {
1625 - "width": 412,
1626 - "height": 915
1627 - },
1628 - "viewport": {
1629 - "width": 412,
1630 - "height": 839
1631 - },
1632 - "deviceScaleFactor": 2.625,
1633 - "isMobile": true,
1634 - "hasTouch": true,
1635 - "defaultBrowserType": "chromium"
1636 - },
1637 - "Pixel 7 landscape": {
1638 - "userAgent": "Mozilla/5.0 (Linux; Android 14; Pixel 7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36",
1639 - "screen": {
1640 - "width": 915,
1641 - "height": 412
1642 - },
1643 - "viewport": {
1644 - "width": 863,
1645 - "height": 360
1646 - },
1647 - "deviceScaleFactor": 2.625,
1648 - "isMobile": true,
1649 - "hasTouch": true,
1650 - "defaultBrowserType": "chromium"
1651 - },
1652 - "Moto G4": {
1653 - "userAgent": "Mozilla/5.0 (Linux; Android 7.0; Moto G (4)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36",
1654 - "viewport": {
1655 - "width": 360,
1656 - "height": 640
1657 - },
1658 - "deviceScaleFactor": 3,
1659 - "isMobile": true,
1660 - "hasTouch": true,
1661 - "defaultBrowserType": "chromium"
1662 - },
1663 - "Moto G4 landscape": {
1664 - "userAgent": "Mozilla/5.0 (Linux; Android 7.0; Moto G (4)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36",
1665 - "viewport": {
1666 - "width": 640,
1667 - "height": 360
1668 - },
1669 - "deviceScaleFactor": 3,
1670 - "isMobile": true,
1671 - "hasTouch": true,
1672 - "defaultBrowserType": "chromium"
1673 - },
1674 - "Desktop Chrome HiDPI": {
1675 - "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36",
1676 - "screen": {
1677 - "width": 1792,
1678 - "height": 1120
1679 - },
1680 - "viewport": {
1681 - "width": 1280,
1682 - "height": 720
1683 - },
1684 - "deviceScaleFactor": 2,
1685 - "isMobile": false,
1686 - "hasTouch": false,
1687 - "defaultBrowserType": "chromium"
1688 - },
1689 - "Desktop Edge HiDPI": {
1690 - "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36 Edg/148.0.7778.96",
1691 - "screen": {
1692 - "width": 1792,
1693 - "height": 1120
1694 - },
1695 - "viewport": {
1696 - "width": 1280,
1697 - "height": 720
1698 - },
1699 - "deviceScaleFactor": 2,
1700 - "isMobile": false,
1701 - "hasTouch": false,
1702 - "defaultBrowserType": "chromium"
1703 - },
1704 - "Desktop Firefox HiDPI": {
1705 - "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:150.0.2) Gecko/20100101 Firefox/150.0.2",
1706 - "screen": {
1707 - "width": 1792,
1708 - "height": 1120
1709 - },
1710 - "viewport": {
1711 - "width": 1280,
1712 - "height": 720
1713 - },
1714 - "deviceScaleFactor": 2,
1715 - "isMobile": false,
1716 - "hasTouch": false,
1717 - "defaultBrowserType": "firefox"
1718 - },
1719 - "Desktop Safari": {
1720 - "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Safari/605.1.15",
1721 - "screen": {
1722 - "width": 1792,
1723 - "height": 1120
1724 - },
1725 - "viewport": {
1726 - "width": 1280,
1727 - "height": 720
1728 - },
1729 - "deviceScaleFactor": 2,
1730 - "isMobile": false,
1731 - "hasTouch": false,
1732 - "defaultBrowserType": "webkit"
1733 - },
1734 - "Desktop Chrome": {
1735 - "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36",
1736 - "screen": {
1737 - "width": 1920,
1738 - "height": 1080
1739 - },
1740 - "viewport": {
1741 - "width": 1280,
1742 - "height": 720
1743 - },
1744 - "deviceScaleFactor": 1,
1745 - "isMobile": false,
1746 - "hasTouch": false,
1747 - "defaultBrowserType": "chromium"
1748 - },
1749 - "Desktop Edge": {
1750 - "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36 Edg/148.0.7778.96",
1751 - "screen": {
1752 - "width": 1920,
1753 - "height": 1080
1754 - },
1755 - "viewport": {
1756 - "width": 1280,
1757 - "height": 720
1758 - },
1759 - "deviceScaleFactor": 1,
1760 - "isMobile": false,
1761 - "hasTouch": false,
1762 - "defaultBrowserType": "chromium"
1763 - },
1764 - "Desktop Firefox": {
1765 - "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:150.0.2) Gecko/20100101 Firefox/150.0.2",
1766 - "screen": {
1767 - "width": 1920,
1768 - "height": 1080
1769 - },
1770 - "viewport": {
1771 - "width": 1280,
1772 - "height": 720
1773 - },
1774 - "deviceScaleFactor": 1,
1775 - "isMobile": false,
1776 - "hasTouch": false,
1777 - "defaultBrowserType": "firefox"
1778 - }
1779 -}
\ No newline at end of file
node_modules/playwright-core/lib/server/electron/loader.js deleted
-115
@@ -1,115 +0,0 @@
1 -"use strict";
2 -
3 -// packages/playwright-core/src/server/electron/loader.ts
4 -var import_electron = require("electron");
5 -
6 -// packages/playwright-core/src/server/chromium/chromiumSwitches.ts
7 -var disabledFeatures = [
8 - // See https://github.com/microsoft/playwright/issues/14047
9 - "AvoidUnnecessaryBeforeUnloadCheckSync",
10 - // See https://github.com/microsoft/playwright/issues/38568
11 - "BoundaryEventDispatchTracksNodeRemoval",
12 - "DestroyProfileOnBrowserClose",
13 - // See https://github.com/microsoft/playwright/pull/13854
14 - "DialMediaRouteProvider",
15 - "GlobalMediaControls",
16 - // See https://github.com/microsoft/playwright/pull/27605
17 - "HttpsUpgrades",
18 - // Hides the Lens feature in the URL address bar. Its not working in unofficial builds.
19 - "LensOverlay",
20 - // See https://github.com/microsoft/playwright/pull/8162
21 - "MediaRouter",
22 - // See https://github.com/microsoft/playwright/issues/28023
23 - "PaintHolding",
24 - // See https://github.com/microsoft/playwright/issues/32230
25 - "ThirdPartyStoragePartitioning",
26 - // See https://github.com/microsoft/playwright/issues/16126
27 - "Translate",
28 - // See https://issues.chromium.org/u/1/issues/435410220
29 - "AutoDeElevate",
30 - // See https://github.com/microsoft/playwright/issues/37714
31 - "RenderDocument",
32 - // Prevents downloading optimization hints on startup.
33 - "OptimizationHints",
34 - // Disables forced sign-in in Edge.
35 - "msForceBrowserSignIn",
36 - // Disables updating the preferred version in LaunchServices preferences on mac.
37 - "msEdgeUpdateLaunchServicesPreferredVersion"
38 -].filter(Boolean);
39 -var chromiumSwitches = (options) => [
40 - "--disable-field-trial-config",
41 - // https://source.chromium.org/chromium/chromium/src/+/main:testing/variations/README.md
42 - "--disable-background-networking",
43 - "--disable-background-timer-throttling",
44 - "--disable-backgrounding-occluded-windows",
45 - "--disable-back-forward-cache",
46 - // Avoids surprises like main request not being intercepted during page.goBack().
47 - "--disable-breakpad",
48 - "--disable-client-side-phishing-detection",
49 - "--disable-component-extensions-with-background-pages",
50 - "--disable-component-update",
51 - // Avoids unneeded network activity after startup.
52 - "--no-default-browser-check",
53 - "--disable-default-apps",
54 - "--disable-dev-shm-usage",
55 - "--disable-edgeupdater",
56 - // Disables Edge-specific updater on mac.
57 - "--disable-extensions",
58 - "--disable-features=" + disabledFeatures.join(","),
59 - process.env.PLAYWRIGHT_LEGACY_SCREENSHOT ? "" : "--enable-features=CDPScreenshotNewSurface",
60 - "--allow-pre-commit-input",
61 - "--disable-hang-monitor",
62 - "--disable-ipc-flooding-protection",
63 - "--disable-popup-blocking",
64 - "--disable-prompt-on-repost",
65 - "--disable-renderer-backgrounding",
66 - "--force-color-profile=srgb",
67 - "--metrics-recording-only",
68 - "--no-first-run",
69 - "--password-store=basic",
70 - "--use-mock-keychain",
71 - // See https://chromium-review.googlesource.com/c/chromium/src/+/2436773
72 - "--no-service-autorun",
73 - "--export-tagged-pdf",
74 - // https://chromium-review.googlesource.com/c/chromium/src/+/4853540
75 - "--disable-search-engine-choice-screen",
76 - // https://issues.chromium.org/41491762
77 - "--unsafely-disable-devtools-self-xss-warnings",
78 - // Edge can potentially restart on Windows (msRelaunchNoCompatLayer) which looses its file descriptors (stdout/stderr) and CDP (3/4). Disable until fixed upstream.
79 - "--edge-skip-compat-layer-relaunch",
80 - // This disables Chrome for Testing infobar that is visible in the persistent context.
81 - // The switch is ignored everywhere else, including Chromium/Chrome/Edge.
82 - "--disable-infobars",
83 - // Less annoying popups.
84 - "--disable-search-engine-choice-screen",
85 - // Prevents the "three dots" menu crash in IdentityManager::HasPrimaryAccount for ephemeral contexts.
86 - options?.android ? "" : "--disable-sync"
87 -].filter(Boolean);
88 -
89 -// packages/playwright-core/src/server/electron/loader.ts
90 -process.argv.splice(1, process.argv.indexOf("--remote-debugging-port=0"));
91 -for (const arg of chromiumSwitches()) {
92 - const match = arg.match(/--([^=]*)=?(.*)/);
93 - import_electron.app.commandLine.appendSwitch(match[1], match[2]);
94 -}
95 -var originalWhenReady = import_electron.app.whenReady();
96 -var originalEmit = import_electron.app.emit.bind(import_electron.app);
97 -var readyEventArgs;
98 -import_electron.app.emit = (event, ...args) => {
99 - if (event === "ready") {
100 - readyEventArgs = args;
101 - return import_electron.app.listenerCount("ready") > 0;
102 - }
103 - return originalEmit(event, ...args);
104 -};
105 -var isReady = false;
106 -var whenReadyCallback;
107 -var whenReadyPromise = new Promise((f) => whenReadyCallback = f);
108 -import_electron.app.isReady = () => isReady;
109 -import_electron.app.whenReady = () => whenReadyPromise;
110 -globalThis.__playwright_run = async () => {
111 - const event = await originalWhenReady;
112 - isReady = true;
113 - whenReadyCallback(event);
114 - originalEmit("ready", ...readyEventArgs);
115 -};
node_modules/playwright-core/lib/serverRegistry.js deleted
-7343
@@ -1,7343 +0,0 @@
1 -"use strict";
2 -var __create = Object.create;
3 -var __defProp = Object.defineProperty;
4 -var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5 -var __getOwnPropNames = Object.getOwnPropertyNames;
6 -var __getProtoOf = Object.getPrototypeOf;
7 -var __hasOwnProp = Object.prototype.hasOwnProperty;
8 -var __commonJS = (cb, mod) => function __require() {
9 - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
10 -};
11 -var __export = (target, all) => {
12 - for (var name in all)
13 - __defProp(target, name, { get: all[name], enumerable: true });
14 -};
15 -var __copyProps = (to, from, except, desc) => {
16 - if (from && typeof from === "object" || typeof from === "function") {
17 - for (let key of __getOwnPropNames(from))
18 - if (!__hasOwnProp.call(to, key) && key !== except)
19 - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
20 - }
21 - return to;
22 -};
23 -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
24 - // If the importer is in node compatibility mode or this is not an ESM
25 - // file that has been converted to a CommonJS file using a Babel-
26 - // compatible transform (i.e. "__esModule" has not been set), then set
27 - // "default" to the CommonJS "module.exports" for node compatibility.
28 - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
29 - mod
30 -));
31 -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
32 -
33 -// node_modules/readdirp/node_modules/picomatch/lib/constants.js
34 -var require_constants = __commonJS({
35 - "node_modules/readdirp/node_modules/picomatch/lib/constants.js"(exports2, module2) {
36 - "use strict";
37 - var path3 = require("path");
38 - var WIN_SLASH = "\\\\/";
39 - var WIN_NO_SLASH = `[^${WIN_SLASH}]`;
40 - var DEFAULT_MAX_EXTGLOB_RECURSION = 0;
41 - var DOT_LITERAL = "\\.";
42 - var PLUS_LITERAL = "\\+";
43 - var QMARK_LITERAL = "\\?";
44 - var SLASH_LITERAL = "\\/";
45 - var ONE_CHAR = "(?=.)";
46 - var QMARK = "[^/]";
47 - var END_ANCHOR = `(?:${SLASH_LITERAL}|$)`;
48 - var START_ANCHOR = `(?:^|${SLASH_LITERAL})`;
49 - var DOTS_SLASH = `${DOT_LITERAL}{1,2}${END_ANCHOR}`;
50 - var NO_DOT = `(?!${DOT_LITERAL})`;
51 - var NO_DOTS = `(?!${START_ANCHOR}${DOTS_SLASH})`;
52 - var NO_DOT_SLASH = `(?!${DOT_LITERAL}{0,1}${END_ANCHOR})`;
53 - var NO_DOTS_SLASH = `(?!${DOTS_SLASH})`;
54 - var QMARK_NO_DOT = `[^.${SLASH_LITERAL}]`;
55 - var STAR = `${QMARK}*?`;
56 - var POSIX_CHARS = {
57 - DOT_LITERAL,
58 - PLUS_LITERAL,
59 - QMARK_LITERAL,
60 - SLASH_LITERAL,
61 - ONE_CHAR,
62 - QMARK,
63 - END_ANCHOR,
64 - DOTS_SLASH,
65 - NO_DOT,
66 - NO_DOTS,
67 - NO_DOT_SLASH,
68 - NO_DOTS_SLASH,
69 - QMARK_NO_DOT,
70 - STAR,
71 - START_ANCHOR
72 - };
73 - var WINDOWS_CHARS = {
74 - ...POSIX_CHARS,
75 - SLASH_LITERAL: `[${WIN_SLASH}]`,
76 - QMARK: WIN_NO_SLASH,
77 - STAR: `${WIN_NO_SLASH}*?`,
78 - DOTS_SLASH: `${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$)`,
79 - NO_DOT: `(?!${DOT_LITERAL})`,
80 - NO_DOTS: `(?!(?:^|[${WIN_SLASH}])${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,
81 - NO_DOT_SLASH: `(?!${DOT_LITERAL}{0,1}(?:[${WIN_SLASH}]|$))`,
82 - NO_DOTS_SLASH: `(?!${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,
83 - QMARK_NO_DOT: `[^.${WIN_SLASH}]`,
84 - START_ANCHOR: `(?:^|[${WIN_SLASH}])`,
85 - END_ANCHOR: `(?:[${WIN_SLASH}]|$)`
86 - };
87 - var POSIX_REGEX_SOURCE = {
88 - __proto__: null,
89 - alnum: "a-zA-Z0-9",
90 - alpha: "a-zA-Z",
91 - ascii: "\\x00-\\x7F",
92 - blank: " \\t",
93 - cntrl: "\\x00-\\x1F\\x7F",
94 - digit: "0-9",
95 - graph: "\\x21-\\x7E",
96 - lower: "a-z",
97 - print: "\\x20-\\x7E ",
98 - punct: "\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",
99 - space: " \\t\\r\\n\\v\\f",
100 - upper: "A-Z",
101 - word: "A-Za-z0-9_",
102 - xdigit: "A-Fa-f0-9"
103 - };
104 - module2.exports = {
105 - DEFAULT_MAX_EXTGLOB_RECURSION,
106 - MAX_LENGTH: 1024 * 64,
107 - POSIX_REGEX_SOURCE,
108 - // regular expressions
109 - REGEX_BACKSLASH: /\\(?![*+?^${}(|)[\]])/g,
110 - REGEX_NON_SPECIAL_CHARS: /^[^@![\].,$*+?^{}()|\\/]+/,
111 - REGEX_SPECIAL_CHARS: /[-*+?.^${}(|)[\]]/,
112 - REGEX_SPECIAL_CHARS_BACKREF: /(\\?)((\W)(\3*))/g,
113 - REGEX_SPECIAL_CHARS_GLOBAL: /([-*+?.^${}(|)[\]])/g,
114 - REGEX_REMOVE_BACKSLASH: /(?:\[.*?[^\\]\]|\\(?=.))/g,
115 - // Replace globs with equivalent patterns to reduce parsing time.
116 - REPLACEMENTS: {
117 - __proto__: null,
118 - "***": "*",
119 - "**/**": "**",
120 - "**/**/**": "**"
121 - },
122 - // Digits
123 - CHAR_0: 48,
124 - /* 0 */
125 - CHAR_9: 57,
126 - /* 9 */
127 - // Alphabet chars.
128 - CHAR_UPPERCASE_A: 65,
129 - /* A */
130 - CHAR_LOWERCASE_A: 97,
131 - /* a */
132 - CHAR_UPPERCASE_Z: 90,
133 - /* Z */
134 - CHAR_LOWERCASE_Z: 122,
135 - /* z */
136 - CHAR_LEFT_PARENTHESES: 40,
137 - /* ( */
138 - CHAR_RIGHT_PARENTHESES: 41,
139 - /* ) */
140 - CHAR_ASTERISK: 42,
141 - /* * */
142 - // Non-alphabetic chars.
143 - CHAR_AMPERSAND: 38,
144 - /* & */
145 - CHAR_AT: 64,
146 - /* @ */
147 - CHAR_BACKWARD_SLASH: 92,
148 - /* \ */
149 - CHAR_CARRIAGE_RETURN: 13,
150 - /* \r */
151 - CHAR_CIRCUMFLEX_ACCENT: 94,
152 - /* ^ */
153 - CHAR_COLON: 58,
154 - /* : */
155 - CHAR_COMMA: 44,
156 - /* , */
157 - CHAR_DOT: 46,
158 - /* . */
159 - CHAR_DOUBLE_QUOTE: 34,
160 - /* " */
161 - CHAR_EQUAL: 61,
162 - /* = */
163 - CHAR_EXCLAMATION_MARK: 33,
164 - /* ! */
165 - CHAR_FORM_FEED: 12,
166 - /* \f */
167 - CHAR_FORWARD_SLASH: 47,
168 - /* / */
169 - CHAR_GRAVE_ACCENT: 96,
170 - /* ` */
171 - CHAR_HASH: 35,
172 - /* # */
173 - CHAR_HYPHEN_MINUS: 45,
174 - /* - */
175 - CHAR_LEFT_ANGLE_BRACKET: 60,
176 - /* < */
177 - CHAR_LEFT_CURLY_BRACE: 123,
178 - /* { */
179 - CHAR_LEFT_SQUARE_BRACKET: 91,
180 - /* [ */
181 - CHAR_LINE_FEED: 10,
182 - /* \n */
183 - CHAR_NO_BREAK_SPACE: 160,
184 - /* \u00A0 */
185 - CHAR_PERCENT: 37,
186 - /* % */
187 - CHAR_PLUS: 43,
188 - /* + */
189 - CHAR_QUESTION_MARK: 63,
190 - /* ? */
191 - CHAR_RIGHT_ANGLE_BRACKET: 62,
192 - /* > */
193 - CHAR_RIGHT_CURLY_BRACE: 125,
194 - /* } */
195 - CHAR_RIGHT_SQUARE_BRACKET: 93,
196 - /* ] */
197 - CHAR_SEMICOLON: 59,
198 - /* ; */
199 - CHAR_SINGLE_QUOTE: 39,
200 - /* ' */
201 - CHAR_SPACE: 32,
202 - /* */
203 - CHAR_TAB: 9,
204 - /* \t */
205 - CHAR_UNDERSCORE: 95,
206 - /* _ */
207 - CHAR_VERTICAL_LINE: 124,
208 - /* | */
209 - CHAR_ZERO_WIDTH_NOBREAK_SPACE: 65279,
210 - /* \uFEFF */
211 - SEP: path3.sep,
212 - /**
213 - * Create EXTGLOB_CHARS
214 - */
215 - extglobChars(chars) {
216 - return {
217 - "!": { type: "negate", open: "(?:(?!(?:", close: `))${chars.STAR})` },
218 - "?": { type: "qmark", open: "(?:", close: ")?" },
219 - "+": { type: "plus", open: "(?:", close: ")+" },
220 - "*": { type: "star", open: "(?:", close: ")*" },
221 - "@": { type: "at", open: "(?:", close: ")" }
222 - };
223 - },
224 - /**
225 - * Create GLOB_CHARS
226 - */
227 - globChars(win32) {
228 - return win32 === true ? WINDOWS_CHARS : POSIX_CHARS;
229 - }
230 - };
231 - }
232 -});
233 -
234 -// node_modules/readdirp/node_modules/picomatch/lib/utils.js
235 -var require_utils = __commonJS({
236 - "node_modules/readdirp/node_modules/picomatch/lib/utils.js"(exports2) {
237 - "use strict";
238 - var path3 = require("path");
239 - var win32 = process.platform === "win32";
240 - var {
241 - REGEX_BACKSLASH,
242 - REGEX_REMOVE_BACKSLASH,
243 - REGEX_SPECIAL_CHARS,
244 - REGEX_SPECIAL_CHARS_GLOBAL
245 - } = require_constants();
246 - exports2.isObject = (val) => val !== null && typeof val === "object" && !Array.isArray(val);
247 - exports2.hasRegexChars = (str) => REGEX_SPECIAL_CHARS.test(str);
248 - exports2.isRegexChar = (str) => str.length === 1 && exports2.hasRegexChars(str);
249 - exports2.escapeRegex = (str) => str.replace(REGEX_SPECIAL_CHARS_GLOBAL, "\\$1");
250 - exports2.toPosixSlashes = (str) => str.replace(REGEX_BACKSLASH, "/");
251 - exports2.removeBackslashes = (str) => {
252 - return str.replace(REGEX_REMOVE_BACKSLASH, (match) => {
253 - return match === "\\" ? "" : match;
254 - });
255 - };
256 - exports2.supportsLookbehinds = () => {
257 - const segs = process.version.slice(1).split(".").map(Number);
258 - if (segs.length === 3 && segs[0] >= 9 || segs[0] === 8 && segs[1] >= 10) {
259 - return true;
260 - }
261 - return false;
262 - };
263 - exports2.isWindows = (options) => {
264 - if (options && typeof options.windows === "boolean") {
265 - return options.windows;
266 - }
267 - return win32 === true || path3.sep === "\\";
268 - };
269 - exports2.escapeLast = (input, char, lastIdx) => {
270 - const idx = input.lastIndexOf(char, lastIdx);
271 - if (idx === -1) return input;
272 - if (input[idx - 1] === "\\") return exports2.escapeLast(input, char, idx - 1);
273 - return `${input.slice(0, idx)}\\${input.slice(idx)}`;
274 - };
275 - exports2.removePrefix = (input, state = {}) => {
276 - let output = input;
277 - if (output.startsWith("./")) {
278 - output = output.slice(2);
279 - state.prefix = "./";
280 - }
281 - return output;
282 - };
283 - exports2.wrapOutput = (input, state = {}, options = {}) => {
284 - const prepend = options.contains ? "" : "^";
285 - const append = options.contains ? "" : "$";
286 - let output = `${prepend}(?:${input})${append}`;
287 - if (state.negated === true) {
288 - output = `(?:^(?!${output}).*$)`;
289 - }
290 - return output;
291 - };
292 - }
293 -});
294 -
295 -// node_modules/readdirp/node_modules/picomatch/lib/scan.js
296 -var require_scan = __commonJS({
297 - "node_modules/readdirp/node_modules/picomatch/lib/scan.js"(exports2, module2) {
298 - "use strict";
299 - var utils = require_utils();
300 - var {
301 - CHAR_ASTERISK,
302 - /* * */
303 - CHAR_AT,
304 - /* @ */
305 - CHAR_BACKWARD_SLASH,
306 - /* \ */
307 - CHAR_COMMA,
308 - /* , */
309 - CHAR_DOT,
310 - /* . */
311 - CHAR_EXCLAMATION_MARK,
312 - /* ! */
313 - CHAR_FORWARD_SLASH,
314 - /* / */
315 - CHAR_LEFT_CURLY_BRACE,
316 - /* { */
317 - CHAR_LEFT_PARENTHESES,
318 - /* ( */
319 - CHAR_LEFT_SQUARE_BRACKET,
320 - /* [ */
321 - CHAR_PLUS,
322 - /* + */
323 - CHAR_QUESTION_MARK,
324 - /* ? */
325 - CHAR_RIGHT_CURLY_BRACE,
326 - /* } */
327 - CHAR_RIGHT_PARENTHESES,
328 - /* ) */
329 - CHAR_RIGHT_SQUARE_BRACKET
330 - /* ] */
331 - } = require_constants();
332 - var isPathSeparator = (code) => {
333 - return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH;
334 - };
335 - var depth = (token) => {
336 - if (token.isPrefix !== true) {
337 - token.depth = token.isGlobstar ? Infinity : 1;
338 - }
339 - };
340 - var scan = (input, options) => {
341 - const opts = options || {};
342 - const length = input.length - 1;
343 - const scanToEnd = opts.parts === true || opts.scanToEnd === true;
344 - const slashes = [];
345 - const tokens = [];
346 - const parts = [];
347 - let str = input;
348 - let index = -1;
349 - let start = 0;
350 - let lastIndex = 0;
351 - let isBrace = false;
352 - let isBracket = false;
353 - let isGlob = false;
354 - let isExtglob = false;
355 - let isGlobstar = false;
356 - let braceEscaped = false;
357 - let backslashes = false;
358 - let negated = false;
359 - let negatedExtglob = false;
360 - let finished = false;
361 - let braces = 0;
362 - let prev;
363 - let code;
364 - let token = { value: "", depth: 0, isGlob: false };
365 - const eos = () => index >= length;
366 - const peek = () => str.charCodeAt(index + 1);
367 - const advance = () => {
368 - prev = code;
369 - return str.charCodeAt(++index);
370 - };
371 - while (index < length) {
372 - code = advance();
373 - let next;
374 - if (code === CHAR_BACKWARD_SLASH) {
375 - backslashes = token.backslashes = true;
376 - code = advance();
377 - if (code === CHAR_LEFT_CURLY_BRACE) {
378 - braceEscaped = true;
379 - }
380 - continue;
381 - }
382 - if (braceEscaped === true || code === CHAR_LEFT_CURLY_BRACE) {
383 - braces++;
384 - while (eos() !== true && (code = advance())) {
385 - if (code === CHAR_BACKWARD_SLASH) {
386 - backslashes = token.backslashes = true;
387 - advance();
388 - continue;
389 - }
390 - if (code === CHAR_LEFT_CURLY_BRACE) {
391 - braces++;
392 - continue;
393 - }
394 - if (braceEscaped !== true && code === CHAR_DOT && (code = advance()) === CHAR_DOT) {
395 - isBrace = token.isBrace = true;
396 - isGlob = token.isGlob = true;
397 - finished = true;
398 - if (scanToEnd === true) {
399 - continue;
400 - }
401 - break;
402 - }
403 - if (braceEscaped !== true && code === CHAR_COMMA) {
404 - isBrace = token.isBrace = true;
405 - isGlob = token.isGlob = true;
406 - finished = true;
407 - if (scanToEnd === true) {
408 - continue;
409 - }
410 - break;
411 - }
412 - if (code === CHAR_RIGHT_CURLY_BRACE) {
413 - braces--;
414 - if (braces === 0) {
415 - braceEscaped = false;
416 - isBrace = token.isBrace = true;
417 - finished = true;
418 - break;
419 - }
420 - }
421 - }
422 - if (scanToEnd === true) {
423 - continue;
424 - }
425 - break;
426 - }
427 - if (code === CHAR_FORWARD_SLASH) {
428 - slashes.push(index);
429 - tokens.push(token);
430 - token = { value: "", depth: 0, isGlob: false };
431 - if (finished === true) continue;
432 - if (prev === CHAR_DOT && index === start + 1) {
433 - start += 2;
434 - continue;
435 - }
436 - lastIndex = index + 1;
437 - continue;
438 - }
439 - if (opts.noext !== true) {
440 - const isExtglobChar = code === CHAR_PLUS || code === CHAR_AT || code === CHAR_ASTERISK || code === CHAR_QUESTION_MARK || code === CHAR_EXCLAMATION_MARK;
441 - if (isExtglobChar === true && peek() === CHAR_LEFT_PARENTHESES) {
442 - isGlob = token.isGlob = true;
443 - isExtglob = token.isExtglob = true;
444 - finished = true;
445 - if (code === CHAR_EXCLAMATION_MARK && index === start) {
446 - negatedExtglob = true;
447 - }
448 - if (scanToEnd === true) {
449 - while (eos() !== true && (code = advance())) {
450 - if (code === CHAR_BACKWARD_SLASH) {
451 - backslashes = token.backslashes = true;
452 - code = advance();
453 - continue;
454 - }
455 - if (code === CHAR_RIGHT_PARENTHESES) {
456 - isGlob = token.isGlob = true;
457 - finished = true;
458 - break;
459 - }
460 - }
461 - continue;
462 - }
463 - break;
464 - }
465 - }
466 - if (code === CHAR_ASTERISK) {
467 - if (prev === CHAR_ASTERISK) isGlobstar = token.isGlobstar = true;
468 - isGlob = token.isGlob = true;
469 - finished = true;
470 - if (scanToEnd === true) {
471 - continue;
472 - }
473 - break;
474 - }
475 - if (code === CHAR_QUESTION_MARK) {
476 - isGlob = token.isGlob = true;
477 - finished = true;
478 - if (scanToEnd === true) {
479 - continue;
480 - }
481 - break;
482 - }
483 - if (code === CHAR_LEFT_SQUARE_BRACKET) {
484 - while (eos() !== true && (next = advance())) {
485 - if (next === CHAR_BACKWARD_SLASH) {
486 - backslashes = token.backslashes = true;
487 - advance();
488 - continue;
489 - }
490 - if (next === CHAR_RIGHT_SQUARE_BRACKET) {
491 - isBracket = token.isBracket = true;
492 - isGlob = token.isGlob = true;
493 - finished = true;
494 - break;
495 - }
496 - }
497 - if (scanToEnd === true) {
498 - continue;
499 - }
500 - break;
501 - }
502 - if (opts.nonegate !== true && code === CHAR_EXCLAMATION_MARK && index === start) {
503 - negated = token.negated = true;
504 - start++;
505 - continue;
506 - }
507 - if (opts.noparen !== true && code === CHAR_LEFT_PARENTHESES) {
508 - isGlob = token.isGlob = true;
509 - if (scanToEnd === true) {
510 - while (eos() !== true && (code = advance())) {
511 - if (code === CHAR_LEFT_PARENTHESES) {
512 - backslashes = token.backslashes = true;
513 - code = advance();
514 - continue;
515 - }
516 - if (code === CHAR_RIGHT_PARENTHESES) {
517 - finished = true;
518 - break;
519 - }
520 - }
521 - continue;
522 - }
523 - break;
524 - }
525 - if (isGlob === true) {
526 - finished = true;
527 - if (scanToEnd === true) {
528 - continue;
529 - }
530 - break;
531 - }
532 - }
533 - if (opts.noext === true) {
534 - isExtglob = false;
535 - isGlob = false;
536 - }
537 - let base = str;
538 - let prefix = "";
539 - let glob = "";
540 - if (start > 0) {
541 - prefix = str.slice(0, start);
542 - str = str.slice(start);
543 - lastIndex -= start;
544 - }
545 - if (base && isGlob === true && lastIndex > 0) {
546 - base = str.slice(0, lastIndex);
547 - glob = str.slice(lastIndex);
548 - } else if (isGlob === true) {
549 - base = "";
550 - glob = str;
551 - } else {
552 - base = str;
553 - }
554 - if (base && base !== "" && base !== "/" && base !== str) {
555 - if (isPathSeparator(base.charCodeAt(base.length - 1))) {
556 - base = base.slice(0, -1);
557 - }
558 - }
559 - if (opts.unescape === true) {
560 - if (glob) glob = utils.removeBackslashes(glob);
561 - if (base && backslashes === true) {
562 - base = utils.removeBackslashes(base);
563 - }
564 - }
565 - const state = {
566 - prefix,
567 - input,
568 - start,
569 - base,
570 - glob,
571 - isBrace,
572 - isBracket,
573 - isGlob,
574 - isExtglob,
575 - isGlobstar,
576 - negated,
577 - negatedExtglob
578 - };
579 - if (opts.tokens === true) {
580 - state.maxDepth = 0;
581 - if (!isPathSeparator(code)) {
582 - tokens.push(token);
583 - }
584 - state.tokens = tokens;
585 - }
586 - if (opts.parts === true || opts.tokens === true) {
587 - let prevIndex;
588 - for (let idx = 0; idx < slashes.length; idx++) {
589 - const n = prevIndex ? prevIndex + 1 : start;
590 - const i = slashes[idx];
591 - const value = input.slice(n, i);
592 - if (opts.tokens) {
593 - if (idx === 0 && start !== 0) {
594 - tokens[idx].isPrefix = true;
595 - tokens[idx].value = prefix;
596 - } else {
597 - tokens[idx].value = value;
598 - }
599 - depth(tokens[idx]);
600 - state.maxDepth += tokens[idx].depth;
601 - }
602 - if (idx !== 0 || value !== "") {
603 - parts.push(value);
604 - }
605 - prevIndex = i;
606 - }
607 - if (prevIndex && prevIndex + 1 < input.length) {
608 - const value = input.slice(prevIndex + 1);
609 - parts.push(value);
610 - if (opts.tokens) {
611 - tokens[tokens.length - 1].value = value;
612 - depth(tokens[tokens.length - 1]);
613 - state.maxDepth += tokens[tokens.length - 1].depth;
614 - }
615 - }
616 - state.slashes = slashes;
617 - state.parts = parts;
618 - }
619 - return state;
620 - };
621 - module2.exports = scan;
622 - }
623 -});
624 -
625 -// node_modules/readdirp/node_modules/picomatch/lib/parse.js
626 -var require_parse = __commonJS({
627 - "node_modules/readdirp/node_modules/picomatch/lib/parse.js"(exports2, module2) {
628 - "use strict";
629 - var constants = require_constants();
630 - var utils = require_utils();
631 - var {
632 - MAX_LENGTH,
633 - POSIX_REGEX_SOURCE,
634 - REGEX_NON_SPECIAL_CHARS,
635 - REGEX_SPECIAL_CHARS_BACKREF,
636 - REPLACEMENTS
637 - } = constants;
638 - var expandRange = (args, options) => {
639 - if (typeof options.expandRange === "function") {
640 - return options.expandRange(...args, options);
641 - }
642 - args.sort();
643 - const value = `[${args.join("-")}]`;
644 - try {
645 - new RegExp(value);
646 - } catch (ex) {
647 - return args.map((v) => utils.escapeRegex(v)).join("..");
648 - }
649 - return value;
650 - };
651 - var syntaxError = (type, char) => {
652 - return `Missing ${type}: "${char}" - use "\\\\${char}" to match literal characters`;
653 - };
654 - var splitTopLevel = (input) => {
655 - const parts = [];
656 - let bracket = 0;
657 - let paren = 0;
658 - let quote = 0;
659 - let value = "";
660 - let escaped = false;
661 - for (const ch of input) {
662 - if (escaped === true) {
663 - value += ch;
664 - escaped = false;
665 - continue;
666 - }
667 - if (ch === "\\") {
668 - value += ch;
669 - escaped = true;
670 - continue;
671 - }
672 - if (ch === '"') {
673 - quote = quote === 1 ? 0 : 1;
674 - value += ch;
675 - continue;
676 - }
677 - if (quote === 0) {
678 - if (ch === "[") {
679 - bracket++;
680 - } else if (ch === "]" && bracket > 0) {
681 - bracket--;
682 - } else if (bracket === 0) {
683 - if (ch === "(") {
684 - paren++;
685 - } else if (ch === ")" && paren > 0) {
686 - paren--;
687 - } else if (ch === "|" && paren === 0) {
688 - parts.push(value);
689 - value = "";
690 - continue;
691 - }
692 - }
693 - }
694 - value += ch;
695 - }
696 - parts.push(value);
697 - return parts;
698 - };
699 - var isPlainBranch = (branch) => {
700 - let escaped = false;
701 - for (const ch of branch) {
702 - if (escaped === true) {
703 - escaped = false;
704 - continue;
705 - }
706 - if (ch === "\\") {
707 - escaped = true;
708 - continue;
709 - }
710 - if (/[?*+@!()[\]{}]/.test(ch)) {
711 - return false;
712 - }
713 - }
714 - return true;
715 - };
716 - var normalizeSimpleBranch = (branch) => {
717 - let value = branch.trim();
718 - let changed = true;
719 - while (changed === true) {
720 - changed = false;
721 - if (/^@\([^\\()[\]{}|]+\)$/.test(value)) {
722 - value = value.slice(2, -1);
723 - changed = true;
724 - }
725 - }
726 - if (!isPlainBranch(value)) {
727 - return;
728 - }
729 - return value.replace(/\\(.)/g, "$1");
730 - };
731 - var hasRepeatedCharPrefixOverlap = (branches) => {
732 - const values = branches.map(normalizeSimpleBranch).filter(Boolean);
733 - for (let i = 0; i < values.length; i++) {
734 - for (let j = i + 1; j < values.length; j++) {
735 - const a = values[i];
736 - const b = values[j];
737 - const char = a[0];
738 - if (!char || a !== char.repeat(a.length) || b !== char.repeat(b.length)) {
739 - continue;
740 - }
741 - if (a === b || a.startsWith(b) || b.startsWith(a)) {
742 - return true;
743 - }
744 - }
745 - }
746 - return false;
747 - };
748 - var parseRepeatedExtglob = (pattern, requireEnd = true) => {
749 - if (pattern[0] !== "+" && pattern[0] !== "*" || pattern[1] !== "(") {
750 - return;
751 - }
752 - let bracket = 0;
753 - let paren = 0;
754 - let quote = 0;
755 - let escaped = false;
756 - for (let i = 1; i < pattern.length; i++) {
757 - const ch = pattern[i];
758 - if (escaped === true) {
759 - escaped = false;
760 - continue;
761 - }
762 - if (ch === "\\") {
763 - escaped = true;
764 - continue;
765 - }
766 - if (ch === '"') {
767 - quote = quote === 1 ? 0 : 1;
768 - continue;
769 - }
770 - if (quote === 1) {
771 - continue;
772 - }
773 - if (ch === "[") {
774 - bracket++;
775 - continue;
776 - }
777 - if (ch === "]" && bracket > 0) {
778 - bracket--;
779 - continue;
780 - }
781 - if (bracket > 0) {
782 - continue;
783 - }
784 - if (ch === "(") {
785 - paren++;
786 - continue;
787 - }
788 - if (ch === ")") {
789 - paren--;
790 - if (paren === 0) {
791 - if (requireEnd === true && i !== pattern.length - 1) {
792 - return;
793 - }
794 - return {
795 - type: pattern[0],
796 - body: pattern.slice(2, i),
797 - end: i
798 - };
799 - }
800 - }
801 - }
802 - };
803 - var getStarExtglobSequenceOutput = (pattern) => {
804 - let index = 0;
805 - const chars = [];
806 - while (index < pattern.length) {
807 - const match = parseRepeatedExtglob(pattern.slice(index), false);
808 - if (!match || match.type !== "*") {
809 - return;
810 - }
811 - const branches = splitTopLevel(match.body).map((branch2) => branch2.trim());
812 - if (branches.length !== 1) {
813 - return;
814 - }
815 - const branch = normalizeSimpleBranch(branches[0]);
816 - if (!branch || branch.length !== 1) {
817 - return;
818 - }
819 - chars.push(branch);
820 - index += match.end + 1;
821 - }
822 - if (chars.length < 1) {
823 - return;
824 - }
825 - const source = chars.length === 1 ? utils.escapeRegex(chars[0]) : `[${chars.map((ch) => utils.escapeRegex(ch)).join("")}]`;
826 - return `${source}*`;
827 - };
828 - var repeatedExtglobRecursion = (pattern) => {
829 - let depth = 0;
830 - let value = pattern.trim();
831 - let match = parseRepeatedExtglob(value);
832 - while (match) {
833 - depth++;
834 - value = match.body.trim();
835 - match = parseRepeatedExtglob(value);
836 - }
837 - return depth;
838 - };
839 - var analyzeRepeatedExtglob = (body, options) => {
840 - if (options.maxExtglobRecursion === false) {
841 - return { risky: false };
842 - }
843 - const max = typeof options.maxExtglobRecursion === "number" ? options.maxExtglobRecursion : constants.DEFAULT_MAX_EXTGLOB_RECURSION;
844 - const branches = splitTopLevel(body).map((branch) => branch.trim());
845 - if (branches.length > 1) {
846 - if (branches.some((branch) => branch === "") || branches.some((branch) => /^[*?]+$/.test(branch)) || hasRepeatedCharPrefixOverlap(branches)) {
847 - return { risky: true };
848 - }
849 - }
850 - for (const branch of branches) {
851 - const safeOutput = getStarExtglobSequenceOutput(branch);
852 - if (safeOutput) {
853 - return { risky: true, safeOutput };
854 - }
855 - if (repeatedExtglobRecursion(branch) > max) {
856 - return { risky: true };
857 - }
858 - }
859 - return { risky: false };
860 - };
861 - var parse = (input, options) => {
862 - if (typeof input !== "string") {
863 - throw new TypeError("Expected a string");
864 - }
865 - input = REPLACEMENTS[input] || input;
866 - const opts = { ...options };
867 - const max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;
868 - let len = input.length;
869 - if (len > max) {
870 - throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);
871 - }
872 - const bos = { type: "bos", value: "", output: opts.prepend || "" };
873 - const tokens = [bos];
874 - const capture = opts.capture ? "" : "?:";
875 - const win32 = utils.isWindows(options);
876 - const PLATFORM_CHARS = constants.globChars(win32);
877 - const EXTGLOB_CHARS = constants.extglobChars(PLATFORM_CHARS);
878 - const {
879 - DOT_LITERAL,
880 - PLUS_LITERAL,
881 - SLASH_LITERAL,
882 - ONE_CHAR,
883 - DOTS_SLASH,
884 - NO_DOT,
885 - NO_DOT_SLASH,
886 - NO_DOTS_SLASH,
887 - QMARK,
888 - QMARK_NO_DOT,
889 - STAR,
890 - START_ANCHOR
891 - } = PLATFORM_CHARS;
892 - const globstar = (opts2) => {
893 - return `(${capture}(?:(?!${START_ANCHOR}${opts2.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`;
894 - };
895 - const nodot = opts.dot ? "" : NO_DOT;
896 - const qmarkNoDot = opts.dot ? QMARK : QMARK_NO_DOT;
897 - let star = opts.bash === true ? globstar(opts) : STAR;
898 - if (opts.capture) {
899 - star = `(${star})`;
900 - }
901 - if (typeof opts.noext === "boolean") {
902 - opts.noextglob = opts.noext;
903 - }
904 - const state = {
905 - input,
906 - index: -1,
907 - start: 0,
908 - dot: opts.dot === true,
909 - consumed: "",
910 - output: "",
911 - prefix: "",
912 - backtrack: false,
913 - negated: false,
914 - brackets: 0,
915 - braces: 0,
916 - parens: 0,
917 - quotes: 0,
918 - globstar: false,
919 - tokens
920 - };
921 - input = utils.removePrefix(input, state);
922 - len = input.length;
923 - const extglobs = [];
924 - const braces = [];
925 - const stack = [];
926 - let prev = bos;
927 - let value;
928 - const eos = () => state.index === len - 1;
929 - const peek = state.peek = (n = 1) => input[state.index + n];
930 - const advance = state.advance = () => input[++state.index] || "";
931 - const remaining = () => input.slice(state.index + 1);
932 - const consume = (value2 = "", num = 0) => {
933 - state.consumed += value2;
934 - state.index += num;
935 - };
936 - const append = (token) => {
937 - state.output += token.output != null ? token.output : token.value;
938 - consume(token.value);
939 - };
940 - const negate = () => {
941 - let count = 1;
942 - while (peek() === "!" && (peek(2) !== "(" || peek(3) === "?")) {
943 - advance();
944 - state.start++;
945 - count++;
946 - }
947 - if (count % 2 === 0) {
948 - return false;
949 - }
950 - state.negated = true;
951 - state.start++;
952 - return true;
953 - };
954 - const increment = (type) => {
955 - state[type]++;
956 - stack.push(type);
957 - };
958 - const decrement = (type) => {
959 - state[type]--;
960 - stack.pop();
961 - };
962 - const push = (tok) => {
963 - if (prev.type === "globstar") {
964 - const isBrace = state.braces > 0 && (tok.type === "comma" || tok.type === "brace");
965 - const isExtglob = tok.extglob === true || extglobs.length && (tok.type === "pipe" || tok.type === "paren");
966 - if (tok.type !== "slash" && tok.type !== "paren" && !isBrace && !isExtglob) {
967 - state.output = state.output.slice(0, -prev.output.length);
968 - prev.type = "star";
969 - prev.value = "*";
970 - prev.output = star;
971 - state.output += prev.output;
972 - }
973 - }
974 - if (extglobs.length && tok.type !== "paren") {
975 - extglobs[extglobs.length - 1].inner += tok.value;
976 - }
977 - if (tok.value || tok.output) append(tok);
978 - if (prev && prev.type === "text" && tok.type === "text") {
979 - prev.value += tok.value;
980 - prev.output = (prev.output || "") + tok.value;
981 - return;
982 - }
983 - tok.prev = prev;
984 - tokens.push(tok);
985 - prev = tok;
986 - };
987 - const extglobOpen = (type, value2) => {
988 - const token = { ...EXTGLOB_CHARS[value2], conditions: 1, inner: "" };
989 - token.prev = prev;
990 - token.parens = state.parens;
991 - token.output = state.output;
992 - token.startIndex = state.index;
993 - token.tokensIndex = tokens.length;
994 - const output = (opts.capture ? "(" : "") + token.open;
995 - increment("parens");
996 - push({ type, value: value2, output: state.output ? "" : ONE_CHAR });
997 - push({ type: "paren", extglob: true, value: advance(), output });
998 - extglobs.push(token);
999 - };
1000 - const extglobClose = (token) => {
1001 - const literal = input.slice(token.startIndex, state.index + 1);
1002 - const body = input.slice(token.startIndex + 2, state.index);
1003 - const analysis = analyzeRepeatedExtglob(body, opts);
1004 - if ((token.type === "plus" || token.type === "star") && analysis.risky) {
1005 - const safeOutput = analysis.safeOutput ? (token.output ? "" : ONE_CHAR) + (opts.capture ? `(${analysis.safeOutput})` : analysis.safeOutput) : void 0;
1006 - const open = tokens[token.tokensIndex];
1007 - open.type = "text";
1008 - open.value = literal;
1009 - open.output = safeOutput || utils.escapeRegex(literal);
1010 - for (let i = token.tokensIndex + 1; i < tokens.length; i++) {
1011 - tokens[i].value = "";
1012 - tokens[i].output = "";
1013 - delete tokens[i].suffix;
1014 - }
1015 - state.output = token.output + open.output;
1016 - state.backtrack = true;
1017 - push({ type: "paren", extglob: true, value, output: "" });
1018 - decrement("parens");
1019 - return;
1020 - }
1021 - let output = token.close + (opts.capture ? ")" : "");
1022 - let rest;
1023 - if (token.type === "negate") {
1024 - let extglobStar = star;
1025 - if (token.inner && token.inner.length > 1 && token.inner.includes("/")) {
1026 - extglobStar = globstar(opts);
1027 - }
1028 - if (extglobStar !== star || eos() || /^\)+$/.test(remaining())) {
1029 - output = token.close = `)$))${extglobStar}`;
1030 - }
1031 - if (token.inner.includes("*") && (rest = remaining()) && /^\.[^\\/.]+$/.test(rest)) {
1032 - const expression = parse(rest, { ...options, fastpaths: false }).output;
1033 - output = token.close = `)${expression})${extglobStar})`;
1034 - }
1035 - if (token.prev.type === "bos") {
1036 - state.negatedExtglob = true;
1037 - }
1038 - }
1039 - push({ type: "paren", extglob: true, value, output });
1040 - decrement("parens");
1041 - };
1042 - if (opts.fastpaths !== false && !/(^[*!]|[/()[\]{}"])/.test(input)) {
1043 - let backslashes = false;
1044 - let output = input.replace(REGEX_SPECIAL_CHARS_BACKREF, (m, esc, chars, first, rest, index) => {
1045 - if (first === "\\") {
1046 - backslashes = true;
1047 - return m;
1048 - }
1049 - if (first === "?") {
1050 - if (esc) {
1051 - return esc + first + (rest ? QMARK.repeat(rest.length) : "");
1052 - }
1053 - if (index === 0) {
1054 - return qmarkNoDot + (rest ? QMARK.repeat(rest.length) : "");
1055 - }
1056 - return QMARK.repeat(chars.length);
1057 - }
1058 - if (first === ".") {
1059 - return DOT_LITERAL.repeat(chars.length);
1060 - }
1061 - if (first === "*") {
1062 - if (esc) {
1063 - return esc + first + (rest ? star : "");
1064 - }
1065 - return star;
1066 - }
1067 - return esc ? m : `\\${m}`;
1068 - });
1069 - if (backslashes === true) {
1070 - if (opts.unescape === true) {
1071 - output = output.replace(/\\/g, "");
1072 - } else {
1073 - output = output.replace(/\\+/g, (m) => {
1074 - return m.length % 2 === 0 ? "\\\\" : m ? "\\" : "";
1075 - });
1076 - }
1077 - }
1078 - if (output === input && opts.contains === true) {
1079 - state.output = input;
1080 - return state;
1081 - }
1082 - state.output = utils.wrapOutput(output, state, options);
1083 - return state;
1084 - }
1085 - while (!eos()) {
1086 - value = advance();
1087 - if (value === "\0") {
1088 - continue;
1089 - }
1090 - if (value === "\\") {
1091 - const next = peek();
1092 - if (next === "/" && opts.bash !== true) {
1093 - continue;
1094 - }
1095 - if (next === "." || next === ";") {
1096 - continue;
1097 - }
1098 - if (!next) {
1099 - value += "\\";
1100 - push({ type: "text", value });
1101 - continue;
1102 - }
1103 - const match = /^\\+/.exec(remaining());
1104 - let slashes = 0;
1105 - if (match && match[0].length > 2) {
1106 - slashes = match[0].length;
1107 - state.index += slashes;
1108 - if (slashes % 2 !== 0) {
1109 - value += "\\";
1110 - }
1111 - }
1112 - if (opts.unescape === true) {
1113 - value = advance();
1114 - } else {
1115 - value += advance();
1116 - }
1117 - if (state.brackets === 0) {
1118 - push({ type: "text", value });
1119 - continue;
1120 - }
1121 - }
1122 - if (state.brackets > 0 && (value !== "]" || prev.value === "[" || prev.value === "[^")) {
1123 - if (opts.posix !== false && value === ":") {
1124 - const inner = prev.value.slice(1);
1125 - if (inner.includes("[")) {
1126 - prev.posix = true;
1127 - if (inner.includes(":")) {
1128 - const idx = prev.value.lastIndexOf("[");
1129 - const pre = prev.value.slice(0, idx);
1130 - const rest2 = prev.value.slice(idx + 2);
1131 - const posix = POSIX_REGEX_SOURCE[rest2];
1132 - if (posix) {
1133 - prev.value = pre + posix;
1134 - state.backtrack = true;
1135 - advance();
1136 - if (!bos.output && tokens.indexOf(prev) === 1) {
1137 - bos.output = ONE_CHAR;
1138 - }
1139 - continue;
1140 - }
1141 - }
1142 - }
1143 - }
1144 - if (value === "[" && peek() !== ":" || value === "-" && peek() === "]") {
1145 - value = `\\${value}`;
1146 - }
1147 - if (value === "]" && (prev.value === "[" || prev.value === "[^")) {
1148 - value = `\\${value}`;
1149 - }
1150 - if (opts.posix === true && value === "!" && prev.value === "[") {
1151 - value = "^";
1152 - }
1153 - prev.value += value;
1154 - append({ value });
1155 - continue;
1156 - }
1157 - if (state.quotes === 1 && value !== '"') {
1158 - value = utils.escapeRegex(value);
1159 - prev.value += value;
1160 - append({ value });
1161 - continue;
1162 - }
1163 - if (value === '"') {
1164 - state.quotes = state.quotes === 1 ? 0 : 1;
1165 - if (opts.keepQuotes === true) {
1166 - push({ type: "text", value });
1167 - }
1168 - continue;
1169 - }
1170 - if (value === "(") {
1171 - increment("parens");
1172 - push({ type: "paren", value });
1173 - continue;
1174 - }
1175 - if (value === ")") {
1176 - if (state.parens === 0 && opts.strictBrackets === true) {
1177 - throw new SyntaxError(syntaxError("opening", "("));
1178 - }
1179 - const extglob = extglobs[extglobs.length - 1];
1180 - if (extglob && state.parens === extglob.parens + 1) {
1181 - extglobClose(extglobs.pop());
1182 - continue;
1183 - }
1184 - push({ type: "paren", value, output: state.parens ? ")" : "\\)" });
1185 - decrement("parens");
1186 - continue;
1187 - }
1188 - if (value === "[") {
1189 - if (opts.nobracket === true || !remaining().includes("]")) {
1190 - if (opts.nobracket !== true && opts.strictBrackets === true) {
1191 - throw new SyntaxError(syntaxError("closing", "]"));
1192 - }
1193 - value = `\\${value}`;
1194 - } else {
1195 - increment("brackets");
1196 - }
1197 - push({ type: "bracket", value });
1198 - continue;
1199 - }
1200 - if (value === "]") {
1201 - if (opts.nobracket === true || prev && prev.type === "bracket" && prev.value.length === 1) {
1202 - push({ type: "text", value, output: `\\${value}` });
1203 - continue;
1204 - }
1205 - if (state.brackets === 0) {
1206 - if (opts.strictBrackets === true) {
1207 - throw new SyntaxError(syntaxError("opening", "["));
1208 - }
1209 - push({ type: "text", value, output: `\\${value}` });
1210 - continue;
1211 - }
1212 - decrement("brackets");
1213 - const prevValue = prev.value.slice(1);
1214 - if (prev.posix !== true && prevValue[0] === "^" && !prevValue.includes("/")) {
1215 - value = `/${value}`;
1216 - }
1217 - prev.value += value;
1218 - append({ value });
1219 - if (opts.literalBrackets === false || utils.hasRegexChars(prevValue)) {
1220 - continue;
1221 - }
1222 - const escaped = utils.escapeRegex(prev.value);
1223 - state.output = state.output.slice(0, -prev.value.length);
1224 - if (opts.literalBrackets === true) {
1225 - state.output += escaped;
1226 - prev.value = escaped;
1227 - continue;
1228 - }
1229 - prev.value = `(${capture}${escaped}|${prev.value})`;
1230 - state.output += prev.value;
1231 - continue;
1232 - }
1233 - if (value === "{" && opts.nobrace !== true) {
1234 - increment("braces");
1235 - const open = {
1236 - type: "brace",
1237 - value,
1238 - output: "(",
1239 - outputIndex: state.output.length,
1240 - tokensIndex: state.tokens.length
1241 - };
1242 - braces.push(open);
1243 - push(open);
1244 - continue;
1245 - }
1246 - if (value === "}") {
1247 - const brace = braces[braces.length - 1];
1248 - if (opts.nobrace === true || !brace) {
1249 - push({ type: "text", value, output: value });
1250 - continue;
1251 - }
1252 - let output = ")";
1253 - if (brace.dots === true) {
1254 - const arr = tokens.slice();
1255 - const range = [];
1256 - for (let i = arr.length - 1; i >= 0; i--) {
1257 - tokens.pop();
1258 - if (arr[i].type === "brace") {
1259 - break;
1260 - }
1261 - if (arr[i].type !== "dots") {
1262 - range.unshift(arr[i].value);
1263 - }
1264 - }
1265 - output = expandRange(range, opts);
1266 - state.backtrack = true;
1267 - }
1268 - if (brace.comma !== true && brace.dots !== true) {
1269 - const out = state.output.slice(0, brace.outputIndex);
1270 - const toks = state.tokens.slice(brace.tokensIndex);
1271 - brace.value = brace.output = "\\{";
1272 - value = output = "\\}";
1273 - state.output = out;
1274 - for (const t of toks) {
1275 - state.output += t.output || t.value;
1276 - }
1277 - }
1278 - push({ type: "brace", value, output });
1279 - decrement("braces");
1280 - braces.pop();
1281 - continue;
1282 - }
1283 - if (value === "|") {
1284 - if (extglobs.length > 0) {
1285 - extglobs[extglobs.length - 1].conditions++;
1286 - }
1287 - push({ type: "text", value });
1288 - continue;
1289 - }
1290 - if (value === ",") {
1291 - let output = value;
1292 - const brace = braces[braces.length - 1];
1293 - if (brace && stack[stack.length - 1] === "braces") {
1294 - brace.comma = true;
1295 - output = "|";
1296 - }
1297 - push({ type: "comma", value, output });
1298 - continue;
1299 - }
1300 - if (value === "/") {
1301 - if (prev.type === "dot" && state.index === state.start + 1) {
1302 - state.start = state.index + 1;
1303 - state.consumed = "";
1304 - state.output = "";
1305 - tokens.pop();
1306 - prev = bos;
1307 - continue;
1308 - }
1309 - push({ type: "slash", value, output: SLASH_LITERAL });
1310 - continue;
1311 - }
1312 - if (value === ".") {
1313 - if (state.braces > 0 && prev.type === "dot") {
1314 - if (prev.value === ".") prev.output = DOT_LITERAL;
1315 - const brace = braces[braces.length - 1];
1316 - prev.type = "dots";
1317 - prev.output += value;
1318 - prev.value += value;
1319 - brace.dots = true;
1320 - continue;
1321 - }
1322 - if (state.braces + state.parens === 0 && prev.type !== "bos" && prev.type !== "slash") {
1323 - push({ type: "text", value, output: DOT_LITERAL });
1324 - continue;
1325 - }
1326 - push({ type: "dot", value, output: DOT_LITERAL });
1327 - continue;
1328 - }
1329 - if (value === "?") {
1330 - const isGroup = prev && prev.value === "(";
1331 - if (!isGroup && opts.noextglob !== true && peek() === "(" && peek(2) !== "?") {
1332 - extglobOpen("qmark", value);
1333 - continue;
1334 - }
1335 - if (prev && prev.type === "paren") {
1336 - const next = peek();
1337 - let output = value;
1338 - if (next === "<" && !utils.supportsLookbehinds()) {
1339 - throw new Error("Node.js v10 or higher is required for regex lookbehinds");
1340 - }
1341 - if (prev.value === "(" && !/[!=<:]/.test(next) || next === "<" && !/<([!=]|\w+>)/.test(remaining())) {
1342 - output = `\\${value}`;
1343 - }
1344 - push({ type: "text", value, output });
1345 - continue;
1346 - }
1347 - if (opts.dot !== true && (prev.type === "slash" || prev.type === "bos")) {
1348 - push({ type: "qmark", value, output: QMARK_NO_DOT });
1349 - continue;
1350 - }
1351 - push({ type: "qmark", value, output: QMARK });
1352 - continue;
1353 - }
1354 - if (value === "!") {
1355 - if (opts.noextglob !== true && peek() === "(") {
1356 - if (peek(2) !== "?" || !/[!=<:]/.test(peek(3))) {
1357 - extglobOpen("negate", value);
1358 - continue;
1359 - }
1360 - }
1361 - if (opts.nonegate !== true && state.index === 0) {
1362 - negate();
1363 - continue;
1364 - }
1365 - }
1366 - if (value === "+") {
1367 - if (opts.noextglob !== true && peek() === "(" && peek(2) !== "?") {
1368 - extglobOpen("plus", value);
1369 - continue;
1370 - }
1371 - if (prev && prev.value === "(" || opts.regex === false) {
1372 - push({ type: "plus", value, output: PLUS_LITERAL });
1373 - continue;
1374 - }
1375 - if (prev && (prev.type === "bracket" || prev.type === "paren" || prev.type === "brace") || state.parens > 0) {
1376 - push({ type: "plus", value });
1377 - continue;
1378 - }
1379 - push({ type: "plus", value: PLUS_LITERAL });
1380 - continue;
1381 - }
1382 - if (value === "@") {
1383 - if (opts.noextglob !== true && peek() === "(" && peek(2) !== "?") {
1384 - push({ type: "at", extglob: true, value, output: "" });
1385 - continue;
1386 - }
1387 - push({ type: "text", value });
1388 - continue;
1389 - }
1390 - if (value !== "*") {
1391 - if (value === "$" || value === "^") {
1392 - value = `\\${value}`;
1393 - }
1394 - const match = REGEX_NON_SPECIAL_CHARS.exec(remaining());
1395 - if (match) {
1396 - value += match[0];
1397 - state.index += match[0].length;
1398 - }
1399 - push({ type: "text", value });
1400 - continue;
1401 - }
1402 - if (prev && (prev.type === "globstar" || prev.star === true)) {
1403 - prev.type = "star";
1404 - prev.star = true;
1405 - prev.value += value;
1406 - prev.output = star;
1407 - state.backtrack = true;
1408 - state.globstar = true;
1409 - consume(value);
1410 - continue;
1411 - }
1412 - let rest = remaining();
1413 - if (opts.noextglob !== true && /^\([^?]/.test(rest)) {
1414 - extglobOpen("star", value);
1415 - continue;
1416 - }
1417 - if (prev.type === "star") {
1418 - if (opts.noglobstar === true) {
1419 - consume(value);
1420 - continue;
1421 - }
1422 - const prior = prev.prev;
1423 - const before = prior.prev;
1424 - const isStart = prior.type === "slash" || prior.type === "bos";
1425 - const afterStar = before && (before.type === "star" || before.type === "globstar");
1426 - if (opts.bash === true && (!isStart || rest[0] && rest[0] !== "/")) {
1427 - push({ type: "star", value, output: "" });
1428 - continue;
1429 - }
1430 - const isBrace = state.braces > 0 && (prior.type === "comma" || prior.type === "brace");
1431 - const isExtglob = extglobs.length && (prior.type === "pipe" || prior.type === "paren");
1432 - if (!isStart && prior.type !== "paren" && !isBrace && !isExtglob) {
1433 - push({ type: "star", value, output: "" });
1434 - continue;
1435 - }
1436 - while (rest.slice(0, 3) === "/**") {
1437 - const after = input[state.index + 4];
1438 - if (after && after !== "/") {
1439 - break;
1440 - }
1441 - rest = rest.slice(3);
1442 - consume("/**", 3);
1443 - }
1444 - if (prior.type === "bos" && eos()) {
1445 - prev.type = "globstar";
1446 - prev.value += value;
1447 - prev.output = globstar(opts);
1448 - state.output = prev.output;
1449 - state.globstar = true;
1450 - consume(value);
1451 - continue;
1452 - }
1453 - if (prior.type === "slash" && prior.prev.type !== "bos" && !afterStar && eos()) {
1454 - state.output = state.output.slice(0, -(prior.output + prev.output).length);
1455 - prior.output = `(?:${prior.output}`;
1456 - prev.type = "globstar";
1457 - prev.output = globstar(opts) + (opts.strictSlashes ? ")" : "|$)");
1458 - prev.value += value;
1459 - state.globstar = true;
1460 - state.output += prior.output + prev.output;
1461 - consume(value);
1462 - continue;
1463 - }
1464 - if (prior.type === "slash" && prior.prev.type !== "bos" && rest[0] === "/") {
1465 - const end = rest[1] !== void 0 ? "|$" : "";
1466 - state.output = state.output.slice(0, -(prior.output + prev.output).length);
1467 - prior.output = `(?:${prior.output}`;
1468 - prev.type = "globstar";
1469 - prev.output = `${globstar(opts)}${SLASH_LITERAL}|${SLASH_LITERAL}${end})`;
1470 - prev.value += value;
1471 - state.output += prior.output + prev.output;
1472 - state.globstar = true;
1473 - consume(value + advance());
1474 - push({ type: "slash", value: "/", output: "" });
1475 - continue;
1476 - }
1477 - if (prior.type === "bos" && rest[0] === "/") {
1478 - prev.type = "globstar";
1479 - prev.value += value;
1480 - prev.output = `(?:^|${SLASH_LITERAL}|${globstar(opts)}${SLASH_LITERAL})`;
1481 - state.output = prev.output;
1482 - state.globstar = true;
1483 - consume(value + advance());
1484 - push({ type: "slash", value: "/", output: "" });
1485 - continue;
1486 - }
1487 - state.output = state.output.slice(0, -prev.output.length);
1488 - prev.type = "globstar";
1489 - prev.output = globstar(opts);
1490 - prev.value += value;
1491 - state.output += prev.output;
1492 - state.globstar = true;
1493 - consume(value);
1494 - continue;
1495 - }
1496 - const token = { type: "star", value, output: star };
1497 - if (opts.bash === true) {
1498 - token.output = ".*?";
1499 - if (prev.type === "bos" || prev.type === "slash") {
1500 - token.output = nodot + token.output;
1501 - }
1502 - push(token);
1503 - continue;
1504 - }
1505 - if (prev && (prev.type === "bracket" || prev.type === "paren") && opts.regex === true) {
1506 - token.output = value;
1507 - push(token);
1508 - continue;
1509 - }
1510 - if (state.index === state.start || prev.type === "slash" || prev.type === "dot") {
1511 - if (prev.type === "dot") {
1512 - state.output += NO_DOT_SLASH;
1513 - prev.output += NO_DOT_SLASH;
1514 - } else if (opts.dot === true) {
1515 - state.output += NO_DOTS_SLASH;
1516 - prev.output += NO_DOTS_SLASH;
1517 - } else {
1518 - state.output += nodot;
1519 - prev.output += nodot;
1520 - }
1521 - if (peek() !== "*") {
1522 - state.output += ONE_CHAR;
1523 - prev.output += ONE_CHAR;
1524 - }
1525 - }
1526 - push(token);
1527 - }
1528 - while (state.brackets > 0) {
1529 - if (opts.strictBrackets === true) throw new SyntaxError(syntaxError("closing", "]"));
1530 - state.output = utils.escapeLast(state.output, "[");
1531 - decrement("brackets");
1532 - }
1533 - while (state.parens > 0) {
1534 - if (opts.strictBrackets === true) throw new SyntaxError(syntaxError("closing", ")"));
1535 - state.output = utils.escapeLast(state.output, "(");
1536 - decrement("parens");
1537 - }
1538 - while (state.braces > 0) {
1539 - if (opts.strictBrackets === true) throw new SyntaxError(syntaxError("closing", "}"));
1540 - state.output = utils.escapeLast(state.output, "{");
1541 - decrement("braces");
1542 - }
1543 - if (opts.strictSlashes !== true && (prev.type === "star" || prev.type === "bracket")) {
1544 - push({ type: "maybe_slash", value: "", output: `${SLASH_LITERAL}?` });
1545 - }
1546 - if (state.backtrack === true) {
1547 - state.output = "";
1548 - for (const token of state.tokens) {
1549 - state.output += token.output != null ? token.output : token.value;
1550 - if (token.suffix) {
1551 - state.output += token.suffix;
1552 - }
1553 - }
1554 - }
1555 - return state;
1556 - };
1557 - parse.fastpaths = (input, options) => {
1558 - const opts = { ...options };
1559 - const max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;
1560 - const len = input.length;
1561 - if (len > max) {
1562 - throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);
1563 - }
1564 - input = REPLACEMENTS[input] || input;
1565 - const win32 = utils.isWindows(options);
1566 - const {
1567 - DOT_LITERAL,
1568 - SLASH_LITERAL,
1569 - ONE_CHAR,
1570 - DOTS_SLASH,
1571 - NO_DOT,
1572 - NO_DOTS,
1573 - NO_DOTS_SLASH,
1574 - STAR,
1575 - START_ANCHOR
1576 - } = constants.globChars(win32);
1577 - const nodot = opts.dot ? NO_DOTS : NO_DOT;
1578 - const slashDot = opts.dot ? NO_DOTS_SLASH : NO_DOT;
1579 - const capture = opts.capture ? "" : "?:";
1580 - const state = { negated: false, prefix: "" };
1581 - let star = opts.bash === true ? ".*?" : STAR;
1582 - if (opts.capture) {
1583 - star = `(${star})`;
1584 - }
1585 - const globstar = (opts2) => {
1586 - if (opts2.noglobstar === true) return star;
1587 - return `(${capture}(?:(?!${START_ANCHOR}${opts2.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`;
1588 - };
1589 - const create = (str) => {
1590 - switch (str) {
1591 - case "*":
1592 - return `${nodot}${ONE_CHAR}${star}`;
1593 - case ".*":
1594 - return `${DOT_LITERAL}${ONE_CHAR}${star}`;
1595 - case "*.*":
1596 - return `${nodot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;
1597 - case "*/*":
1598 - return `${nodot}${star}${SLASH_LITERAL}${ONE_CHAR}${slashDot}${star}`;
1599 - case "**":
1600 - return nodot + globstar(opts);
1601 - case "**/*":
1602 - return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${ONE_CHAR}${star}`;
1603 - case "**/*.*":
1604 - return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;
1605 - case "**/.*":
1606 - return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${DOT_LITERAL}${ONE_CHAR}${star}`;
1607 - default: {
1608 - const match = /^(.*?)\.(\w+)$/.exec(str);
1609 - if (!match) return;
1610 - const source2 = create(match[1]);
1611 - if (!source2) return;
1612 - return source2 + DOT_LITERAL + match[2];
1613 - }
1614 - }
1615 - };
1616 - const output = utils.removePrefix(input, state);
1617 - let source = create(output);
1618 - if (source && opts.strictSlashes !== true) {
1619 - source += `${SLASH_LITERAL}?`;
1620 - }
1621 - return source;
1622 - };
1623 - module2.exports = parse;
1624 - }
1625 -});
1626 -
1627 -// node_modules/readdirp/node_modules/picomatch/lib/picomatch.js
1628 -var require_picomatch = __commonJS({
1629 - "node_modules/readdirp/node_modules/picomatch/lib/picomatch.js"(exports2, module2) {
1630 - "use strict";
1631 - var path3 = require("path");
1632 - var scan = require_scan();
1633 - var parse = require_parse();
1634 - var utils = require_utils();
1635 - var constants = require_constants();
1636 - var isObject = (val) => val && typeof val === "object" && !Array.isArray(val);
1637 - var picomatch = (glob, options, returnState = false) => {
1638 - if (Array.isArray(glob)) {
1639 - const fns = glob.map((input) => picomatch(input, options, returnState));
1640 - const arrayMatcher = (str) => {
1641 - for (const isMatch of fns) {
1642 - const state2 = isMatch(str);
1643 - if (state2) return state2;
1644 - }
1645 - return false;
1646 - };
1647 - return arrayMatcher;
1648 - }
1649 - const isState = isObject(glob) && glob.tokens && glob.input;
1650 - if (glob === "" || typeof glob !== "string" && !isState) {
1651 - throw new TypeError("Expected pattern to be a non-empty string");
1652 - }
1653 - const opts = options || {};
1654 - const posix = utils.isWindows(options);
1655 - const regex = isState ? picomatch.compileRe(glob, options) : picomatch.makeRe(glob, options, false, true);
1656 - const state = regex.state;
1657 - delete regex.state;
1658 - let isIgnored = () => false;
1659 - if (opts.ignore) {
1660 - const ignoreOpts = { ...options, ignore: null, onMatch: null, onResult: null };
1661 - isIgnored = picomatch(opts.ignore, ignoreOpts, returnState);
1662 - }
1663 - const matcher = (input, returnObject = false) => {
1664 - const { isMatch, match, output } = picomatch.test(input, regex, options, { glob, posix });
1665 - const result = { glob, state, regex, posix, input, output, match, isMatch };
1666 - if (typeof opts.onResult === "function") {
1667 - opts.onResult(result);
1668 - }
1669 - if (isMatch === false) {
1670 - result.isMatch = false;
1671 - return returnObject ? result : false;
1672 - }
1673 - if (isIgnored(input)) {
1674 - if (typeof opts.onIgnore === "function") {
1675 - opts.onIgnore(result);
1676 - }
1677 - result.isMatch = false;
1678 - return returnObject ? result : false;
1679 - }
1680 - if (typeof opts.onMatch === "function") {
1681 - opts.onMatch(result);
1682 - }
1683 - return returnObject ? result : true;
1684 - };
1685 - if (returnState) {
1686 - matcher.state = state;
1687 - }
1688 - return matcher;
1689 - };
1690 - picomatch.test = (input, regex, options, { glob, posix } = {}) => {
1691 - if (typeof input !== "string") {
1692 - throw new TypeError("Expected input to be a string");
1693 - }
1694 - if (input === "") {
1695 - return { isMatch: false, output: "" };
1696 - }
1697 - const opts = options || {};
1698 - const format = opts.format || (posix ? utils.toPosixSlashes : null);
1699 - let match = input === glob;
1700 - let output = match && format ? format(input) : input;
1701 - if (match === false) {
1702 - output = format ? format(input) : input;
1703 - match = output === glob;
1704 - }
1705 - if (match === false || opts.capture === true) {
1706 - if (opts.matchBase === true || opts.basename === true) {
1707 - match = picomatch.matchBase(input, regex, options, posix);
1708 - } else {
1709 - match = regex.exec(output);
1710 - }
1711 - }
1712 - return { isMatch: Boolean(match), match, output };
1713 - };
1714 - picomatch.matchBase = (input, glob, options, posix = utils.isWindows(options)) => {
1715 - const regex = glob instanceof RegExp ? glob : picomatch.makeRe(glob, options);
1716 - return regex.test(path3.basename(input));
1717 - };
1718 - picomatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str);
1719 - picomatch.parse = (pattern, options) => {
1720 - if (Array.isArray(pattern)) return pattern.map((p) => picomatch.parse(p, options));
1721 - return parse(pattern, { ...options, fastpaths: false });
1722 - };
1723 - picomatch.scan = (input, options) => scan(input, options);
1724 - picomatch.compileRe = (state, options, returnOutput = false, returnState = false) => {
1725 - if (returnOutput === true) {
1726 - return state.output;
1727 - }
1728 - const opts = options || {};
1729 - const prepend = opts.contains ? "" : "^";
1730 - const append = opts.contains ? "" : "$";
1731 - let source = `${prepend}(?:${state.output})${append}`;
1732 - if (state && state.negated === true) {
1733 - source = `^(?!${source}).*$`;
1734 - }
1735 - const regex = picomatch.toRegex(source, options);
1736 - if (returnState === true) {
1737 - regex.state = state;
1738 - }
1739 - return regex;
1740 - };
1741 - picomatch.makeRe = (input, options = {}, returnOutput = false, returnState = false) => {
1742 - if (!input || typeof input !== "string") {
1743 - throw new TypeError("Expected a non-empty string");
1744 - }
1745 - let parsed = { negated: false, fastpaths: true };
1746 - if (options.fastpaths !== false && (input[0] === "." || input[0] === "*")) {
1747 - parsed.output = parse.fastpaths(input, options);
1748 - }
1749 - if (!parsed.output) {
1750 - parsed = parse(input, options);
1751 - }
1752 - return picomatch.compileRe(parsed, options, returnOutput, returnState);
1753 - };
1754 - picomatch.toRegex = (source, options) => {
1755 - try {
1756 - const opts = options || {};
1757 - return new RegExp(source, opts.flags || (opts.nocase ? "i" : ""));
1758 - } catch (err) {
1759 - if (options && options.debug === true) throw err;
1760 - return /$^/;
1761 - }
1762 - };
1763 - picomatch.constants = constants;
1764 - module2.exports = picomatch;
1765 - }
1766 -});
1767 -
1768 -// node_modules/readdirp/node_modules/picomatch/index.js
1769 -var require_picomatch2 = __commonJS({
1770 - "node_modules/readdirp/node_modules/picomatch/index.js"(exports2, module2) {
1771 - "use strict";
1772 - module2.exports = require_picomatch();
1773 - }
1774 -});
1775 -
1776 -// node_modules/readdirp/index.js
1777 -var require_readdirp = __commonJS({
1778 - "node_modules/readdirp/index.js"(exports2, module2) {
1779 - "use strict";
1780 - var fs2 = require("fs");
1781 - var { Readable } = require("stream");
1782 - var sysPath = require("path");
1783 - var { promisify } = require("util");
1784 - var picomatch = require_picomatch2();
1785 - var readdir = promisify(fs2.readdir);
1786 - var stat = promisify(fs2.stat);
1787 - var lstat = promisify(fs2.lstat);
1788 - var realpath = promisify(fs2.realpath);
1789 - var BANG = "!";
1790 - var RECURSIVE_ERROR_CODE = "READDIRP_RECURSIVE_ERROR";
1791 - var NORMAL_FLOW_ERRORS = /* @__PURE__ */ new Set(["ENOENT", "EPERM", "EACCES", "ELOOP", RECURSIVE_ERROR_CODE]);
1792 - var FILE_TYPE = "files";
1793 - var DIR_TYPE = "directories";
1794 - var FILE_DIR_TYPE = "files_directories";
1795 - var EVERYTHING_TYPE = "all";
1796 - var ALL_TYPES = [FILE_TYPE, DIR_TYPE, FILE_DIR_TYPE, EVERYTHING_TYPE];
1797 - var isNormalFlowError = (error) => NORMAL_FLOW_ERRORS.has(error.code);
1798 - var [maj, min] = process.versions.node.split(".").slice(0, 2).map((n) => Number.parseInt(n, 10));
1799 - var wantBigintFsStats = process.platform === "win32" && (maj > 10 || maj === 10 && min >= 5);
1800 - var normalizeFilter = (filter) => {
1801 - if (filter === void 0) return;
1802 - if (typeof filter === "function") return filter;
1803 - if (typeof filter === "string") {
1804 - const glob = picomatch(filter.trim());
1805 - return (entry) => glob(entry.basename);
1806 - }
1807 - if (Array.isArray(filter)) {
1808 - const positive = [];
1809 - const negative = [];
1810 - for (const item of filter) {
1811 - const trimmed = item.trim();
1812 - if (trimmed.charAt(0) === BANG) {
1813 - negative.push(picomatch(trimmed.slice(1)));
1814 - } else {
1815 - positive.push(picomatch(trimmed));
1816 - }
1817 - }
1818 - if (negative.length > 0) {
1819 - if (positive.length > 0) {
1820 - return (entry) => positive.some((f) => f(entry.basename)) && !negative.some((f) => f(entry.basename));
1821 - }
1822 - return (entry) => !negative.some((f) => f(entry.basename));
1823 - }
1824 - return (entry) => positive.some((f) => f(entry.basename));
1825 - }
1826 - };
1827 - var ReaddirpStream = class _ReaddirpStream extends Readable {
1828 - static get defaultOptions() {
1829 - return {
1830 - root: ".",
1831 - /* eslint-disable no-unused-vars */
1832 - fileFilter: (path3) => true,
1833 - directoryFilter: (path3) => true,
1834 - /* eslint-enable no-unused-vars */
1835 - type: FILE_TYPE,
1836 - lstat: false,
1837 - depth: 2147483648,
1838 - alwaysStat: false
1839 - };
1840 - }
1841 - constructor(options = {}) {
1842 - super({
1843 - objectMode: true,
1844 - autoDestroy: true,
1845 - highWaterMark: options.highWaterMark || 4096
1846 - });
1847 - const opts = { ..._ReaddirpStream.defaultOptions, ...options };
1848 - const { root, type } = opts;
1849 - this._fileFilter = normalizeFilter(opts.fileFilter);
1850 - this._directoryFilter = normalizeFilter(opts.directoryFilter);
1851 - const statMethod = opts.lstat ? lstat : stat;
1852 - if (wantBigintFsStats) {
1853 - this._stat = (path3) => statMethod(path3, { bigint: true });
1854 - } else {
1855 - this._stat = statMethod;
1856 - }
1857 - this._maxDepth = opts.depth;
1858 - this._wantsDir = [DIR_TYPE, FILE_DIR_TYPE, EVERYTHING_TYPE].includes(type);
1859 - this._wantsFile = [FILE_TYPE, FILE_DIR_TYPE, EVERYTHING_TYPE].includes(type);
1860 - this._wantsEverything = type === EVERYTHING_TYPE;
1861 - this._root = sysPath.resolve(root);
1862 - this._isDirent = "Dirent" in fs2 && !opts.alwaysStat;
1863 - this._statsProp = this._isDirent ? "dirent" : "stats";
1864 - this._rdOptions = { encoding: "utf8", withFileTypes: this._isDirent };
1865 - this.parents = [this._exploreDir(root, 1)];
1866 - this.reading = false;
1867 - this.parent = void 0;
1868 - }
1869 - async _read(batch) {
1870 - if (this.reading) return;
1871 - this.reading = true;
1872 - try {
1873 - while (!this.destroyed && batch > 0) {
1874 - const { path: path3, depth, files = [] } = this.parent || {};
1875 - if (files.length > 0) {
1876 - const slice = files.splice(0, batch).map((dirent) => this._formatEntry(dirent, path3));
1877 - for (const entry of await Promise.all(slice)) {
1878 - if (this.destroyed) return;
1879 - const entryType = await this._getEntryType(entry);
1880 - if (entryType === "directory" && this._directoryFilter(entry)) {
1881 - if (depth <= this._maxDepth) {
1882 - this.parents.push(this._exploreDir(entry.fullPath, depth + 1));
1883 - }
1884 - if (this._wantsDir) {
1885 - this.push(entry);
1886 - batch--;
1887 - }
1888 - } else if ((entryType === "file" || this._includeAsFile(entry)) && this._fileFilter(entry)) {
1889 - if (this._wantsFile) {
1890 - this.push(entry);
1891 - batch--;
1892 - }
1893 - }
1894 - }
1895 - } else {
1896 - const parent = this.parents.pop();
1897 - if (!parent) {
1898 - this.push(null);
1899 - break;
1900 - }
1901 - this.parent = await parent;
1902 - if (this.destroyed) return;
1903 - }
1904 - }
1905 - } catch (error) {
1906 - this.destroy(error);
1907 - } finally {
1908 - this.reading = false;
1909 - }
1910 - }
1911 - async _exploreDir(path3, depth) {
1912 - let files;
1913 - try {
1914 - files = await readdir(path3, this._rdOptions);
1915 - } catch (error) {
1916 - this._onError(error);
1917 - }
1918 - return { files, depth, path: path3 };
1919 - }
1920 - async _formatEntry(dirent, path3) {
1921 - let entry;
1922 - try {
1923 - const basename = this._isDirent ? dirent.name : dirent;
1924 - const fullPath = sysPath.resolve(sysPath.join(path3, basename));
1925 - entry = { path: sysPath.relative(this._root, fullPath), fullPath, basename };
1926 - entry[this._statsProp] = this._isDirent ? dirent : await this._stat(fullPath);
1927 - } catch (err) {
1928 - this._onError(err);
1929 - }
1930 - return entry;
1931 - }
1932 - _onError(err) {
1933 - if (isNormalFlowError(err) && !this.destroyed) {
1934 - this.emit("warn", err);
1935 - } else {
1936 - this.destroy(err);
1937 - }
1938 - }
1939 - async _getEntryType(entry) {
1940 - const stats = entry && entry[this._statsProp];
1941 - if (!stats) {
1942 - return;
1943 - }
1944 - if (stats.isFile()) {
1945 - return "file";
1946 - }
1947 - if (stats.isDirectory()) {
1948 - return "directory";
1949 - }
1950 - if (stats && stats.isSymbolicLink()) {
1951 - const full = entry.fullPath;
1952 - try {
1953 - const entryRealPath = await realpath(full);
1954 - const entryRealPathStats = await lstat(entryRealPath);
1955 - if (entryRealPathStats.isFile()) {
1956 - return "file";
1957 - }
1958 - if (entryRealPathStats.isDirectory()) {
1959 - const len = entryRealPath.length;
1960 - if (full.startsWith(entryRealPath) && full.substr(len, 1) === sysPath.sep) {
1961 - const recursiveError = new Error(
1962 - `Circular symlink detected: "${full}" points to "${entryRealPath}"`
1963 - );
1964 - recursiveError.code = RECURSIVE_ERROR_CODE;
1965 - return this._onError(recursiveError);
1966 - }
1967 - return "directory";
1968 - }
1969 - } catch (error) {
1970 - this._onError(error);
1971 - }
1972 - }
1973 - }
1974 - _includeAsFile(entry) {
1975 - const stats = entry && entry[this._statsProp];
1976 - return stats && this._wantsEverything && !stats.isDirectory();
1977 - }
1978 - };
1979 - var readdirp = (root, options = {}) => {
1980 - let type = options.entryType || options.type;
1981 - if (type === "both") type = FILE_DIR_TYPE;
1982 - if (type) options.type = type;
1983 - if (!root) {
1984 - throw new Error("readdirp: root argument is required. Usage: readdirp(root, options)");
1985 - } else if (typeof root !== "string") {
1986 - throw new TypeError("readdirp: root argument must be a string. Usage: readdirp(root, options)");
1987 - } else if (type && !ALL_TYPES.includes(type)) {
1988 - throw new Error(`readdirp: Invalid type passed. Use one of ${ALL_TYPES.join(", ")}`);
1989 - }
1990 - options.root = root;
1991 - return new ReaddirpStream(options);
1992 - };
1993 - var readdirpPromise = (root, options = {}) => {
1994 - return new Promise((resolve, reject) => {
1995 - const files = [];
1996 - readdirp(root, options).on("data", (entry) => files.push(entry)).on("end", () => resolve(files)).on("error", (error) => reject(error));
1997 - });
1998 - };
1999 - readdirp.promise = readdirpPromise;
2000 - readdirp.ReaddirpStream = ReaddirpStream;
2001 - readdirp.default = readdirp;
2002 - module2.exports = readdirp;
2003 - }
2004 -});
2005 -
2006 -// node_modules/anymatch/node_modules/picomatch/lib/constants.js
2007 -var require_constants2 = __commonJS({
2008 - "node_modules/anymatch/node_modules/picomatch/lib/constants.js"(exports2, module2) {
2009 - "use strict";
2010 - var path3 = require("path");
2011 - var WIN_SLASH = "\\\\/";
2012 - var WIN_NO_SLASH = `[^${WIN_SLASH}]`;
2013 - var DEFAULT_MAX_EXTGLOB_RECURSION = 0;
2014 - var DOT_LITERAL = "\\.";
2015 - var PLUS_LITERAL = "\\+";
2016 - var QMARK_LITERAL = "\\?";
2017 - var SLASH_LITERAL = "\\/";
2018 - var ONE_CHAR = "(?=.)";
2019 - var QMARK = "[^/]";
2020 - var END_ANCHOR = `(?:${SLASH_LITERAL}|$)`;
2021 - var START_ANCHOR = `(?:^|${SLASH_LITERAL})`;
2022 - var DOTS_SLASH = `${DOT_LITERAL}{1,2}${END_ANCHOR}`;
2023 - var NO_DOT = `(?!${DOT_LITERAL})`;
2024 - var NO_DOTS = `(?!${START_ANCHOR}${DOTS_SLASH})`;
2025 - var NO_DOT_SLASH = `(?!${DOT_LITERAL}{0,1}${END_ANCHOR})`;
2026 - var NO_DOTS_SLASH = `(?!${DOTS_SLASH})`;
2027 - var QMARK_NO_DOT = `[^.${SLASH_LITERAL}]`;
2028 - var STAR = `${QMARK}*?`;
2029 - var POSIX_CHARS = {
2030 - DOT_LITERAL,
2031 - PLUS_LITERAL,
2032 - QMARK_LITERAL,
2033 - SLASH_LITERAL,
2034 - ONE_CHAR,
2035 - QMARK,
2036 - END_ANCHOR,
2037 - DOTS_SLASH,
2038 - NO_DOT,
2039 - NO_DOTS,
2040 - NO_DOT_SLASH,
2041 - NO_DOTS_SLASH,
2042 - QMARK_NO_DOT,
2043 - STAR,
2044 - START_ANCHOR
2045 - };
2046 - var WINDOWS_CHARS = {
2047 - ...POSIX_CHARS,
2048 - SLASH_LITERAL: `[${WIN_SLASH}]`,
2049 - QMARK: WIN_NO_SLASH,
2050 - STAR: `${WIN_NO_SLASH}*?`,
2051 - DOTS_SLASH: `${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$)`,
2052 - NO_DOT: `(?!${DOT_LITERAL})`,
2053 - NO_DOTS: `(?!(?:^|[${WIN_SLASH}])${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,
2054 - NO_DOT_SLASH: `(?!${DOT_LITERAL}{0,1}(?:[${WIN_SLASH}]|$))`,
2055 - NO_DOTS_SLASH: `(?!${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,
2056 - QMARK_NO_DOT: `[^.${WIN_SLASH}]`,
2057 - START_ANCHOR: `(?:^|[${WIN_SLASH}])`,
2058 - END_ANCHOR: `(?:[${WIN_SLASH}]|$)`
2059 - };
2060 - var POSIX_REGEX_SOURCE = {
2061 - __proto__: null,
2062 - alnum: "a-zA-Z0-9",
2063 - alpha: "a-zA-Z",
2064 - ascii: "\\x00-\\x7F",
2065 - blank: " \\t",
2066 - cntrl: "\\x00-\\x1F\\x7F",
2067 - digit: "0-9",
2068 - graph: "\\x21-\\x7E",
2069 - lower: "a-z",
2070 - print: "\\x20-\\x7E ",
2071 - punct: "\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",
2072 - space: " \\t\\r\\n\\v\\f",
2073 - upper: "A-Z",
2074 - word: "A-Za-z0-9_",
2075 - xdigit: "A-Fa-f0-9"
2076 - };
2077 - module2.exports = {
2078 - DEFAULT_MAX_EXTGLOB_RECURSION,
2079 - MAX_LENGTH: 1024 * 64,
2080 - POSIX_REGEX_SOURCE,
2081 - // regular expressions
2082 - REGEX_BACKSLASH: /\\(?![*+?^${}(|)[\]])/g,
2083 - REGEX_NON_SPECIAL_CHARS: /^[^@![\].,$*+?^{}()|\\/]+/,
2084 - REGEX_SPECIAL_CHARS: /[-*+?.^${}(|)[\]]/,
2085 - REGEX_SPECIAL_CHARS_BACKREF: /(\\?)((\W)(\3*))/g,
2086 - REGEX_SPECIAL_CHARS_GLOBAL: /([-*+?.^${}(|)[\]])/g,
2087 - REGEX_REMOVE_BACKSLASH: /(?:\[.*?[^\\]\]|\\(?=.))/g,
2088 - // Replace globs with equivalent patterns to reduce parsing time.
2089 - REPLACEMENTS: {
2090 - __proto__: null,
2091 - "***": "*",
2092 - "**/**": "**",
2093 - "**/**/**": "**"
2094 - },
2095 - // Digits
2096 - CHAR_0: 48,
2097 - /* 0 */
2098 - CHAR_9: 57,
2099 - /* 9 */
2100 - // Alphabet chars.
2101 - CHAR_UPPERCASE_A: 65,
2102 - /* A */
2103 - CHAR_LOWERCASE_A: 97,
2104 - /* a */
2105 - CHAR_UPPERCASE_Z: 90,
2106 - /* Z */
2107 - CHAR_LOWERCASE_Z: 122,
2108 - /* z */
2109 - CHAR_LEFT_PARENTHESES: 40,
2110 - /* ( */
2111 - CHAR_RIGHT_PARENTHESES: 41,
2112 - /* ) */
2113 - CHAR_ASTERISK: 42,
2114 - /* * */
2115 - // Non-alphabetic chars.
2116 - CHAR_AMPERSAND: 38,
2117 - /* & */
2118 - CHAR_AT: 64,
2119 - /* @ */
2120 - CHAR_BACKWARD_SLASH: 92,
2121 - /* \ */
2122 - CHAR_CARRIAGE_RETURN: 13,
2123 - /* \r */
2124 - CHAR_CIRCUMFLEX_ACCENT: 94,
2125 - /* ^ */
2126 - CHAR_COLON: 58,
2127 - /* : */
2128 - CHAR_COMMA: 44,
2129 - /* , */
2130 - CHAR_DOT: 46,
2131 - /* . */
2132 - CHAR_DOUBLE_QUOTE: 34,
2133 - /* " */
2134 - CHAR_EQUAL: 61,
2135 - /* = */
2136 - CHAR_EXCLAMATION_MARK: 33,
2137 - /* ! */
2138 - CHAR_FORM_FEED: 12,
2139 - /* \f */
2140 - CHAR_FORWARD_SLASH: 47,
2141 - /* / */
2142 - CHAR_GRAVE_ACCENT: 96,
2143 - /* ` */
2144 - CHAR_HASH: 35,
2145 - /* # */
2146 - CHAR_HYPHEN_MINUS: 45,
2147 - /* - */
2148 - CHAR_LEFT_ANGLE_BRACKET: 60,
2149 - /* < */
2150 - CHAR_LEFT_CURLY_BRACE: 123,
2151 - /* { */
2152 - CHAR_LEFT_SQUARE_BRACKET: 91,
2153 - /* [ */
2154 - CHAR_LINE_FEED: 10,
2155 - /* \n */
2156 - CHAR_NO_BREAK_SPACE: 160,
2157 - /* \u00A0 */
2158 - CHAR_PERCENT: 37,
2159 - /* % */
2160 - CHAR_PLUS: 43,
2161 - /* + */
2162 - CHAR_QUESTION_MARK: 63,
2163 - /* ? */
2164 - CHAR_RIGHT_ANGLE_BRACKET: 62,
2165 - /* > */
2166 - CHAR_RIGHT_CURLY_BRACE: 125,
2167 - /* } */
2168 - CHAR_RIGHT_SQUARE_BRACKET: 93,
2169 - /* ] */
2170 - CHAR_SEMICOLON: 59,
2171 - /* ; */
2172 - CHAR_SINGLE_QUOTE: 39,
2173 - /* ' */
2174 - CHAR_SPACE: 32,
2175 - /* */
2176 - CHAR_TAB: 9,
2177 - /* \t */
2178 - CHAR_UNDERSCORE: 95,
2179 - /* _ */
2180 - CHAR_VERTICAL_LINE: 124,
2181 - /* | */
2182 - CHAR_ZERO_WIDTH_NOBREAK_SPACE: 65279,
2183 - /* \uFEFF */
2184 - SEP: path3.sep,
2185 - /**
2186 - * Create EXTGLOB_CHARS
2187 - */
2188 - extglobChars(chars) {
2189 - return {
2190 - "!": { type: "negate", open: "(?:(?!(?:", close: `))${chars.STAR})` },
2191 - "?": { type: "qmark", open: "(?:", close: ")?" },
2192 - "+": { type: "plus", open: "(?:", close: ")+" },
2193 - "*": { type: "star", open: "(?:", close: ")*" },
2194 - "@": { type: "at", open: "(?:", close: ")" }
2195 - };
2196 - },
2197 - /**
2198 - * Create GLOB_CHARS
2199 - */
2200 - globChars(win32) {
2201 - return win32 === true ? WINDOWS_CHARS : POSIX_CHARS;
2202 - }
2203 - };
2204 - }
2205 -});
2206 -
2207 -// node_modules/anymatch/node_modules/picomatch/lib/utils.js
2208 -var require_utils2 = __commonJS({
2209 - "node_modules/anymatch/node_modules/picomatch/lib/utils.js"(exports2) {
2210 - "use strict";
2211 - var path3 = require("path");
2212 - var win32 = process.platform === "win32";
2213 - var {
2214 - REGEX_BACKSLASH,
2215 - REGEX_REMOVE_BACKSLASH,
2216 - REGEX_SPECIAL_CHARS,
2217 - REGEX_SPECIAL_CHARS_GLOBAL
2218 - } = require_constants2();
2219 - exports2.isObject = (val) => val !== null && typeof val === "object" && !Array.isArray(val);
2220 - exports2.hasRegexChars = (str) => REGEX_SPECIAL_CHARS.test(str);
2221 - exports2.isRegexChar = (str) => str.length === 1 && exports2.hasRegexChars(str);
2222 - exports2.escapeRegex = (str) => str.replace(REGEX_SPECIAL_CHARS_GLOBAL, "\\$1");
2223 - exports2.toPosixSlashes = (str) => str.replace(REGEX_BACKSLASH, "/");
2224 - exports2.removeBackslashes = (str) => {
2225 - return str.replace(REGEX_REMOVE_BACKSLASH, (match) => {
2226 - return match === "\\" ? "" : match;
2227 - });
2228 - };
2229 - exports2.supportsLookbehinds = () => {
2230 - const segs = process.version.slice(1).split(".").map(Number);
2231 - if (segs.length === 3 && segs[0] >= 9 || segs[0] === 8 && segs[1] >= 10) {
2232 - return true;
2233 - }
2234 - return false;
2235 - };
2236 - exports2.isWindows = (options) => {
2237 - if (options && typeof options.windows === "boolean") {
2238 - return options.windows;
2239 - }
2240 - return win32 === true || path3.sep === "\\";
2241 - };
2242 - exports2.escapeLast = (input, char, lastIdx) => {
2243 - const idx = input.lastIndexOf(char, lastIdx);
2244 - if (idx === -1) return input;
2245 - if (input[idx - 1] === "\\") return exports2.escapeLast(input, char, idx - 1);
2246 - return `${input.slice(0, idx)}\\${input.slice(idx)}`;
2247 - };
2248 - exports2.removePrefix = (input, state = {}) => {
2249 - let output = input;
2250 - if (output.startsWith("./")) {
2251 - output = output.slice(2);
2252 - state.prefix = "./";
2253 - }
2254 - return output;
2255 - };
2256 - exports2.wrapOutput = (input, state = {}, options = {}) => {
2257 - const prepend = options.contains ? "" : "^";
2258 - const append = options.contains ? "" : "$";
2259 - let output = `${prepend}(?:${input})${append}`;
2260 - if (state.negated === true) {
2261 - output = `(?:^(?!${output}).*$)`;
2262 - }
2263 - return output;
2264 - };
2265 - }
2266 -});
2267 -
2268 -// node_modules/anymatch/node_modules/picomatch/lib/scan.js
2269 -var require_scan2 = __commonJS({
2270 - "node_modules/anymatch/node_modules/picomatch/lib/scan.js"(exports2, module2) {
2271 - "use strict";
2272 - var utils = require_utils2();
2273 - var {
2274 - CHAR_ASTERISK,
2275 - /* * */
2276 - CHAR_AT,
2277 - /* @ */
2278 - CHAR_BACKWARD_SLASH,
2279 - /* \ */
2280 - CHAR_COMMA,
2281 - /* , */
2282 - CHAR_DOT,
2283 - /* . */
2284 - CHAR_EXCLAMATION_MARK,
2285 - /* ! */
2286 - CHAR_FORWARD_SLASH,
2287 - /* / */
2288 - CHAR_LEFT_CURLY_BRACE,
2289 - /* { */
2290 - CHAR_LEFT_PARENTHESES,
2291 - /* ( */
2292 - CHAR_LEFT_SQUARE_BRACKET,
2293 - /* [ */
2294 - CHAR_PLUS,
2295 - /* + */
2296 - CHAR_QUESTION_MARK,
2297 - /* ? */
2298 - CHAR_RIGHT_CURLY_BRACE,
2299 - /* } */
2300 - CHAR_RIGHT_PARENTHESES,
2301 - /* ) */
2302 - CHAR_RIGHT_SQUARE_BRACKET
2303 - /* ] */
2304 - } = require_constants2();
2305 - var isPathSeparator = (code) => {
2306 - return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH;
2307 - };
2308 - var depth = (token) => {
2309 - if (token.isPrefix !== true) {
2310 - token.depth = token.isGlobstar ? Infinity : 1;
2311 - }
2312 - };
2313 - var scan = (input, options) => {
2314 - const opts = options || {};
2315 - const length = input.length - 1;
2316 - const scanToEnd = opts.parts === true || opts.scanToEnd === true;
2317 - const slashes = [];
2318 - const tokens = [];
2319 - const parts = [];
2320 - let str = input;
2321 - let index = -1;
2322 - let start = 0;
2323 - let lastIndex = 0;
2324 - let isBrace = false;
2325 - let isBracket = false;
2326 - let isGlob = false;
2327 - let isExtglob = false;
2328 - let isGlobstar = false;
2329 - let braceEscaped = false;
2330 - let backslashes = false;
2331 - let negated = false;
2332 - let negatedExtglob = false;
2333 - let finished = false;
2334 - let braces = 0;
2335 - let prev;
2336 - let code;
2337 - let token = { value: "", depth: 0, isGlob: false };
2338 - const eos = () => index >= length;
2339 - const peek = () => str.charCodeAt(index + 1);
2340 - const advance = () => {
2341 - prev = code;
2342 - return str.charCodeAt(++index);
2343 - };
2344 - while (index < length) {
2345 - code = advance();
2346 - let next;
2347 - if (code === CHAR_BACKWARD_SLASH) {
2348 - backslashes = token.backslashes = true;
2349 - code = advance();
2350 - if (code === CHAR_LEFT_CURLY_BRACE) {
2351 - braceEscaped = true;
2352 - }
2353 - continue;
2354 - }
2355 - if (braceEscaped === true || code === CHAR_LEFT_CURLY_BRACE) {
2356 - braces++;
2357 - while (eos() !== true && (code = advance())) {
2358 - if (code === CHAR_BACKWARD_SLASH) {
2359 - backslashes = token.backslashes = true;
2360 - advance();
2361 - continue;
2362 - }
2363 - if (code === CHAR_LEFT_CURLY_BRACE) {
2364 - braces++;
2365 - continue;
2366 - }
2367 - if (braceEscaped !== true && code === CHAR_DOT && (code = advance()) === CHAR_DOT) {
2368 - isBrace = token.isBrace = true;
2369 - isGlob = token.isGlob = true;
2370 - finished = true;
2371 - if (scanToEnd === true) {
2372 - continue;
2373 - }
2374 - break;
2375 - }
2376 - if (braceEscaped !== true && code === CHAR_COMMA) {
2377 - isBrace = token.isBrace = true;
2378 - isGlob = token.isGlob = true;
2379 - finished = true;
2380 - if (scanToEnd === true) {
2381 - continue;
2382 - }
2383 - break;
2384 - }
2385 - if (code === CHAR_RIGHT_CURLY_BRACE) {
2386 - braces--;
2387 - if (braces === 0) {
2388 - braceEscaped = false;
2389 - isBrace = token.isBrace = true;
2390 - finished = true;
2391 - break;
2392 - }
2393 - }
2394 - }
2395 - if (scanToEnd === true) {
2396 - continue;
2397 - }
2398 - break;
2399 - }
2400 - if (code === CHAR_FORWARD_SLASH) {
2401 - slashes.push(index);
2402 - tokens.push(token);
2403 - token = { value: "", depth: 0, isGlob: false };
2404 - if (finished === true) continue;
2405 - if (prev === CHAR_DOT && index === start + 1) {
2406 - start += 2;
2407 - continue;
2408 - }
2409 - lastIndex = index + 1;
2410 - continue;
2411 - }
2412 - if (opts.noext !== true) {
2413 - const isExtglobChar = code === CHAR_PLUS || code === CHAR_AT || code === CHAR_ASTERISK || code === CHAR_QUESTION_MARK || code === CHAR_EXCLAMATION_MARK;
2414 - if (isExtglobChar === true && peek() === CHAR_LEFT_PARENTHESES) {
2415 - isGlob = token.isGlob = true;
2416 - isExtglob = token.isExtglob = true;
2417 - finished = true;
2418 - if (code === CHAR_EXCLAMATION_MARK && index === start) {
2419 - negatedExtglob = true;
2420 - }
2421 - if (scanToEnd === true) {
2422 - while (eos() !== true && (code = advance())) {
2423 - if (code === CHAR_BACKWARD_SLASH) {
2424 - backslashes = token.backslashes = true;
2425 - code = advance();
2426 - continue;
2427 - }
2428 - if (code === CHAR_RIGHT_PARENTHESES) {
2429 - isGlob = token.isGlob = true;
2430 - finished = true;
2431 - break;
2432 - }
2433 - }
2434 - continue;
2435 - }
2436 - break;
2437 - }
2438 - }
2439 - if (code === CHAR_ASTERISK) {
2440 - if (prev === CHAR_ASTERISK) isGlobstar = token.isGlobstar = true;
2441 - isGlob = token.isGlob = true;
2442 - finished = true;
2443 - if (scanToEnd === true) {
2444 - continue;
2445 - }
2446 - break;
2447 - }
2448 - if (code === CHAR_QUESTION_MARK) {
2449 - isGlob = token.isGlob = true;
2450 - finished = true;
2451 - if (scanToEnd === true) {
2452 - continue;
2453 - }
2454 - break;
2455 - }
2456 - if (code === CHAR_LEFT_SQUARE_BRACKET) {
2457 - while (eos() !== true && (next = advance())) {
2458 - if (next === CHAR_BACKWARD_SLASH) {
2459 - backslashes = token.backslashes = true;
2460 - advance();
2461 - continue;
2462 - }
2463 - if (next === CHAR_RIGHT_SQUARE_BRACKET) {
2464 - isBracket = token.isBracket = true;
2465 - isGlob = token.isGlob = true;
2466 - finished = true;
2467 - break;
2468 - }
2469 - }
2470 - if (scanToEnd === true) {
2471 - continue;
2472 - }
2473 - break;
2474 - }
2475 - if (opts.nonegate !== true && code === CHAR_EXCLAMATION_MARK && index === start) {
2476 - negated = token.negated = true;
2477 - start++;
2478 - continue;
2479 - }
2480 - if (opts.noparen !== true && code === CHAR_LEFT_PARENTHESES) {
2481 - isGlob = token.isGlob = true;
2482 - if (scanToEnd === true) {
2483 - while (eos() !== true && (code = advance())) {
2484 - if (code === CHAR_LEFT_PARENTHESES) {
2485 - backslashes = token.backslashes = true;
2486 - code = advance();
2487 - continue;
2488 - }
2489 - if (code === CHAR_RIGHT_PARENTHESES) {
2490 - finished = true;
2491 - break;
2492 - }
2493 - }
2494 - continue;
2495 - }
2496 - break;
2497 - }
2498 - if (isGlob === true) {
2499 - finished = true;
2500 - if (scanToEnd === true) {
2501 - continue;
2502 - }
2503 - break;
2504 - }
2505 - }
2506 - if (opts.noext === true) {
2507 - isExtglob = false;
2508 - isGlob = false;
2509 - }
2510 - let base = str;
2511 - let prefix = "";
2512 - let glob = "";
2513 - if (start > 0) {
2514 - prefix = str.slice(0, start);
2515 - str = str.slice(start);
2516 - lastIndex -= start;
2517 - }
2518 - if (base && isGlob === true && lastIndex > 0) {
2519 - base = str.slice(0, lastIndex);
2520 - glob = str.slice(lastIndex);
2521 - } else if (isGlob === true) {
2522 - base = "";
2523 - glob = str;
2524 - } else {
2525 - base = str;
2526 - }
2527 - if (base && base !== "" && base !== "/" && base !== str) {
2528 - if (isPathSeparator(base.charCodeAt(base.length - 1))) {
2529 - base = base.slice(0, -1);
2530 - }
2531 - }
2532 - if (opts.unescape === true) {
2533 - if (glob) glob = utils.removeBackslashes(glob);
2534 - if (base && backslashes === true) {
2535 - base = utils.removeBackslashes(base);
2536 - }
2537 - }
2538 - const state = {
2539 - prefix,
2540 - input,
2541 - start,
2542 - base,
2543 - glob,
2544 - isBrace,
2545 - isBracket,
2546 - isGlob,
2547 - isExtglob,
2548 - isGlobstar,
2549 - negated,
2550 - negatedExtglob
2551 - };
2552 - if (opts.tokens === true) {
2553 - state.maxDepth = 0;
2554 - if (!isPathSeparator(code)) {
2555 - tokens.push(token);
2556 - }
2557 - state.tokens = tokens;
2558 - }
2559 - if (opts.parts === true || opts.tokens === true) {
2560 - let prevIndex;
2561 - for (let idx = 0; idx < slashes.length; idx++) {
2562 - const n = prevIndex ? prevIndex + 1 : start;
2563 - const i = slashes[idx];
2564 - const value = input.slice(n, i);
2565 - if (opts.tokens) {
2566 - if (idx === 0 && start !== 0) {
2567 - tokens[idx].isPrefix = true;
2568 - tokens[idx].value = prefix;
2569 - } else {
2570 - tokens[idx].value = value;
2571 - }
2572 - depth(tokens[idx]);
2573 - state.maxDepth += tokens[idx].depth;
2574 - }
2575 - if (idx !== 0 || value !== "") {
2576 - parts.push(value);
2577 - }
2578 - prevIndex = i;
2579 - }
2580 - if (prevIndex && prevIndex + 1 < input.length) {
2581 - const value = input.slice(prevIndex + 1);
2582 - parts.push(value);
2583 - if (opts.tokens) {
2584 - tokens[tokens.length - 1].value = value;
2585 - depth(tokens[tokens.length - 1]);
2586 - state.maxDepth += tokens[tokens.length - 1].depth;
2587 - }
2588 - }
2589 - state.slashes = slashes;
2590 - state.parts = parts;
2591 - }
2592 - return state;
2593 - };
2594 - module2.exports = scan;
2595 - }
2596 -});
2597 -
2598 -// node_modules/anymatch/node_modules/picomatch/lib/parse.js
2599 -var require_parse2 = __commonJS({
2600 - "node_modules/anymatch/node_modules/picomatch/lib/parse.js"(exports2, module2) {
2601 - "use strict";
2602 - var constants = require_constants2();
2603 - var utils = require_utils2();
2604 - var {
2605 - MAX_LENGTH,
2606 - POSIX_REGEX_SOURCE,
2607 - REGEX_NON_SPECIAL_CHARS,
2608 - REGEX_SPECIAL_CHARS_BACKREF,
2609 - REPLACEMENTS
2610 - } = constants;
2611 - var expandRange = (args, options) => {
2612 - if (typeof options.expandRange === "function") {
2613 - return options.expandRange(...args, options);
2614 - }
2615 - args.sort();
2616 - const value = `[${args.join("-")}]`;
2617 - try {
2618 - new RegExp(value);
2619 - } catch (ex) {
2620 - return args.map((v) => utils.escapeRegex(v)).join("..");
2621 - }
2622 - return value;
2623 - };
2624 - var syntaxError = (type, char) => {
2625 - return `Missing ${type}: "${char}" - use "\\\\${char}" to match literal characters`;
2626 - };
2627 - var splitTopLevel = (input) => {
2628 - const parts = [];
2629 - let bracket = 0;
2630 - let paren = 0;
2631 - let quote = 0;
2632 - let value = "";
2633 - let escaped = false;
2634 - for (const ch of input) {
2635 - if (escaped === true) {
2636 - value += ch;
2637 - escaped = false;
2638 - continue;
2639 - }
2640 - if (ch === "\\") {
2641 - value += ch;
2642 - escaped = true;
2643 - continue;
2644 - }
2645 - if (ch === '"') {
2646 - quote = quote === 1 ? 0 : 1;
2647 - value += ch;
2648 - continue;
2649 - }
2650 - if (quote === 0) {
2651 - if (ch === "[") {
2652 - bracket++;
2653 - } else if (ch === "]" && bracket > 0) {
2654 - bracket--;
2655 - } else if (bracket === 0) {
2656 - if (ch === "(") {
2657 - paren++;
2658 - } else if (ch === ")" && paren > 0) {
2659 - paren--;
2660 - } else if (ch === "|" && paren === 0) {
2661 - parts.push(value);
2662 - value = "";
2663 - continue;
2664 - }
2665 - }
2666 - }
2667 - value += ch;
2668 - }
2669 - parts.push(value);
2670 - return parts;
2671 - };
2672 - var isPlainBranch = (branch) => {
2673 - let escaped = false;
2674 - for (const ch of branch) {
2675 - if (escaped === true) {
2676 - escaped = false;
2677 - continue;
2678 - }
2679 - if (ch === "\\") {
2680 - escaped = true;
2681 - continue;
2682 - }
2683 - if (/[?*+@!()[\]{}]/.test(ch)) {
2684 - return false;
2685 - }
2686 - }
2687 - return true;
2688 - };
2689 - var normalizeSimpleBranch = (branch) => {
2690 - let value = branch.trim();
2691 - let changed = true;
2692 - while (changed === true) {
2693 - changed = false;
2694 - if (/^@\([^\\()[\]{}|]+\)$/.test(value)) {
2695 - value = value.slice(2, -1);
2696 - changed = true;
2697 - }
2698 - }
2699 - if (!isPlainBranch(value)) {
2700 - return;
2701 - }
2702 - return value.replace(/\\(.)/g, "$1");
2703 - };
2704 - var hasRepeatedCharPrefixOverlap = (branches) => {
2705 - const values = branches.map(normalizeSimpleBranch).filter(Boolean);
2706 - for (let i = 0; i < values.length; i++) {
2707 - for (let j = i + 1; j < values.length; j++) {
2708 - const a = values[i];
2709 - const b = values[j];
2710 - const char = a[0];
2711 - if (!char || a !== char.repeat(a.length) || b !== char.repeat(b.length)) {
2712 - continue;
2713 - }
2714 - if (a === b || a.startsWith(b) || b.startsWith(a)) {
2715 - return true;
2716 - }
2717 - }
2718 - }
2719 - return false;
2720 - };
2721 - var parseRepeatedExtglob = (pattern, requireEnd = true) => {
2722 - if (pattern[0] !== "+" && pattern[0] !== "*" || pattern[1] !== "(") {
2723 - return;
2724 - }
2725 - let bracket = 0;
2726 - let paren = 0;
2727 - let quote = 0;
2728 - let escaped = false;
2729 - for (let i = 1; i < pattern.length; i++) {
2730 - const ch = pattern[i];
2731 - if (escaped === true) {
2732 - escaped = false;
2733 - continue;
2734 - }
2735 - if (ch === "\\") {
2736 - escaped = true;
2737 - continue;
2738 - }
2739 - if (ch === '"') {
2740 - quote = quote === 1 ? 0 : 1;
2741 - continue;
2742 - }
2743 - if (quote === 1) {
2744 - continue;
2745 - }
2746 - if (ch === "[") {
2747 - bracket++;
2748 - continue;
2749 - }
2750 - if (ch === "]" && bracket > 0) {
2751 - bracket--;
2752 - continue;
2753 - }
2754 - if (bracket > 0) {
2755 - continue;
2756 - }
2757 - if (ch === "(") {
2758 - paren++;
2759 - continue;
2760 - }
2761 - if (ch === ")") {
2762 - paren--;
2763 - if (paren === 0) {
2764 - if (requireEnd === true && i !== pattern.length - 1) {
2765 - return;
2766 - }
2767 - return {
2768 - type: pattern[0],
2769 - body: pattern.slice(2, i),
2770 - end: i
2771 - };
2772 - }
2773 - }
2774 - }
2775 - };
2776 - var getStarExtglobSequenceOutput = (pattern) => {
2777 - let index = 0;
2778 - const chars = [];
2779 - while (index < pattern.length) {
2780 - const match = parseRepeatedExtglob(pattern.slice(index), false);
2781 - if (!match || match.type !== "*") {
2782 - return;
2783 - }
2784 - const branches = splitTopLevel(match.body).map((branch2) => branch2.trim());
2785 - if (branches.length !== 1) {
2786 - return;
2787 - }
2788 - const branch = normalizeSimpleBranch(branches[0]);
2789 - if (!branch || branch.length !== 1) {
2790 - return;
2791 - }
2792 - chars.push(branch);
2793 - index += match.end + 1;
2794 - }
2795 - if (chars.length < 1) {
2796 - return;
2797 - }
2798 - const source = chars.length === 1 ? utils.escapeRegex(chars[0]) : `[${chars.map((ch) => utils.escapeRegex(ch)).join("")}]`;
2799 - return `${source}*`;
2800 - };
2801 - var repeatedExtglobRecursion = (pattern) => {
2802 - let depth = 0;
2803 - let value = pattern.trim();
2804 - let match = parseRepeatedExtglob(value);
2805 - while (match) {
2806 - depth++;
2807 - value = match.body.trim();
2808 - match = parseRepeatedExtglob(value);
2809 - }
2810 - return depth;
2811 - };
2812 - var analyzeRepeatedExtglob = (body, options) => {
2813 - if (options.maxExtglobRecursion === false) {
2814 - return { risky: false };
2815 - }
2816 - const max = typeof options.maxExtglobRecursion === "number" ? options.maxExtglobRecursion : constants.DEFAULT_MAX_EXTGLOB_RECURSION;
2817 - const branches = splitTopLevel(body).map((branch) => branch.trim());
2818 - if (branches.length > 1) {
2819 - if (branches.some((branch) => branch === "") || branches.some((branch) => /^[*?]+$/.test(branch)) || hasRepeatedCharPrefixOverlap(branches)) {
2820 - return { risky: true };
2821 - }
2822 - }
2823 - for (const branch of branches) {
2824 - const safeOutput = getStarExtglobSequenceOutput(branch);
2825 - if (safeOutput) {
2826 - return { risky: true, safeOutput };
2827 - }
2828 - if (repeatedExtglobRecursion(branch) > max) {
2829 - return { risky: true };
2830 - }
2831 - }
2832 - return { risky: false };
2833 - };
2834 - var parse = (input, options) => {
2835 - if (typeof input !== "string") {
2836 - throw new TypeError("Expected a string");
2837 - }
2838 - input = REPLACEMENTS[input] || input;
2839 - const opts = { ...options };
2840 - const max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;
2841 - let len = input.length;
2842 - if (len > max) {
2843 - throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);
2844 - }
2845 - const bos = { type: "bos", value: "", output: opts.prepend || "" };
2846 - const tokens = [bos];
2847 - const capture = opts.capture ? "" : "?:";
2848 - const win32 = utils.isWindows(options);
2849 - const PLATFORM_CHARS = constants.globChars(win32);
2850 - const EXTGLOB_CHARS = constants.extglobChars(PLATFORM_CHARS);
2851 - const {
2852 - DOT_LITERAL,
2853 - PLUS_LITERAL,
2854 - SLASH_LITERAL,
2855 - ONE_CHAR,
2856 - DOTS_SLASH,
2857 - NO_DOT,
2858 - NO_DOT_SLASH,
2859 - NO_DOTS_SLASH,
2860 - QMARK,
2861 - QMARK_NO_DOT,
2862 - STAR,
2863 - START_ANCHOR
2864 - } = PLATFORM_CHARS;
2865 - const globstar = (opts2) => {
2866 - return `(${capture}(?:(?!${START_ANCHOR}${opts2.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`;
2867 - };
2868 - const nodot = opts.dot ? "" : NO_DOT;
2869 - const qmarkNoDot = opts.dot ? QMARK : QMARK_NO_DOT;
2870 - let star = opts.bash === true ? globstar(opts) : STAR;
2871 - if (opts.capture) {
2872 - star = `(${star})`;
2873 - }
2874 - if (typeof opts.noext === "boolean") {
2875 - opts.noextglob = opts.noext;
2876 - }
2877 - const state = {
2878 - input,
2879 - index: -1,
2880 - start: 0,
2881 - dot: opts.dot === true,
2882 - consumed: "",
2883 - output: "",
2884 - prefix: "",
2885 - backtrack: false,
2886 - negated: false,
2887 - brackets: 0,
2888 - braces: 0,
2889 - parens: 0,
2890 - quotes: 0,
2891 - globstar: false,
2892 - tokens
2893 - };
2894 - input = utils.removePrefix(input, state);
2895 - len = input.length;
2896 - const extglobs = [];
2897 - const braces = [];
2898 - const stack = [];
2899 - let prev = bos;
2900 - let value;
2901 - const eos = () => state.index === len - 1;
2902 - const peek = state.peek = (n = 1) => input[state.index + n];
2903 - const advance = state.advance = () => input[++state.index] || "";
2904 - const remaining = () => input.slice(state.index + 1);
2905 - const consume = (value2 = "", num = 0) => {
2906 - state.consumed += value2;
2907 - state.index += num;
2908 - };
2909 - const append = (token) => {
2910 - state.output += token.output != null ? token.output : token.value;
2911 - consume(token.value);
2912 - };
2913 - const negate = () => {
2914 - let count = 1;
2915 - while (peek() === "!" && (peek(2) !== "(" || peek(3) === "?")) {
2916 - advance();
2917 - state.start++;
2918 - count++;
2919 - }
2920 - if (count % 2 === 0) {
2921 - return false;
2922 - }
2923 - state.negated = true;
2924 - state.start++;
2925 - return true;
2926 - };
2927 - const increment = (type) => {
2928 - state[type]++;
2929 - stack.push(type);
2930 - };
2931 - const decrement = (type) => {
2932 - state[type]--;
2933 - stack.pop();
2934 - };
2935 - const push = (tok) => {
2936 - if (prev.type === "globstar") {
2937 - const isBrace = state.braces > 0 && (tok.type === "comma" || tok.type === "brace");
2938 - const isExtglob = tok.extglob === true || extglobs.length && (tok.type === "pipe" || tok.type === "paren");
2939 - if (tok.type !== "slash" && tok.type !== "paren" && !isBrace && !isExtglob) {
2940 - state.output = state.output.slice(0, -prev.output.length);
2941 - prev.type = "star";
2942 - prev.value = "*";
2943 - prev.output = star;
2944 - state.output += prev.output;
2945 - }
2946 - }
2947 - if (extglobs.length && tok.type !== "paren") {
2948 - extglobs[extglobs.length - 1].inner += tok.value;
2949 - }
2950 - if (tok.value || tok.output) append(tok);
2951 - if (prev && prev.type === "text" && tok.type === "text") {
2952 - prev.value += tok.value;
2953 - prev.output = (prev.output || "") + tok.value;
2954 - return;
2955 - }
2956 - tok.prev = prev;
2957 - tokens.push(tok);
2958 - prev = tok;
2959 - };
2960 - const extglobOpen = (type, value2) => {
2961 - const token = { ...EXTGLOB_CHARS[value2], conditions: 1, inner: "" };
2962 - token.prev = prev;
2963 - token.parens = state.parens;
2964 - token.output = state.output;
2965 - token.startIndex = state.index;
2966 - token.tokensIndex = tokens.length;
2967 - const output = (opts.capture ? "(" : "") + token.open;
2968 - increment("parens");
2969 - push({ type, value: value2, output: state.output ? "" : ONE_CHAR });
2970 - push({ type: "paren", extglob: true, value: advance(), output });
2971 - extglobs.push(token);
2972 - };
2973 - const extglobClose = (token) => {
2974 - const literal = input.slice(token.startIndex, state.index + 1);
2975 - const body = input.slice(token.startIndex + 2, state.index);
2976 - const analysis = analyzeRepeatedExtglob(body, opts);
2977 - if ((token.type === "plus" || token.type === "star") && analysis.risky) {
2978 - const safeOutput = analysis.safeOutput ? (token.output ? "" : ONE_CHAR) + (opts.capture ? `(${analysis.safeOutput})` : analysis.safeOutput) : void 0;
2979 - const open = tokens[token.tokensIndex];
2980 - open.type = "text";
2981 - open.value = literal;
2982 - open.output = safeOutput || utils.escapeRegex(literal);
2983 - for (let i = token.tokensIndex + 1; i < tokens.length; i++) {
2984 - tokens[i].value = "";
2985 - tokens[i].output = "";
2986 - delete tokens[i].suffix;
2987 - }
2988 - state.output = token.output + open.output;
2989 - state.backtrack = true;
2990 - push({ type: "paren", extglob: true, value, output: "" });
2991 - decrement("parens");
2992 - return;
2993 - }
2994 - let output = token.close + (opts.capture ? ")" : "");
2995 - let rest;
2996 - if (token.type === "negate") {
2997 - let extglobStar = star;
2998 - if (token.inner && token.inner.length > 1 && token.inner.includes("/")) {
2999 - extglobStar = globstar(opts);
3000 - }
3001 - if (extglobStar !== star || eos() || /^\)+$/.test(remaining())) {
3002 - output = token.close = `)$))${extglobStar}`;
3003 - }
3004 - if (token.inner.includes("*") && (rest = remaining()) && /^\.[^\\/.]+$/.test(rest)) {
3005 - const expression = parse(rest, { ...options, fastpaths: false }).output;
3006 - output = token.close = `)${expression})${extglobStar})`;
3007 - }
3008 - if (token.prev.type === "bos") {
3009 - state.negatedExtglob = true;
3010 - }
3011 - }
3012 - push({ type: "paren", extglob: true, value, output });
3013 - decrement("parens");
3014 - };
3015 - if (opts.fastpaths !== false && !/(^[*!]|[/()[\]{}"])/.test(input)) {
3016 - let backslashes = false;
3017 - let output = input.replace(REGEX_SPECIAL_CHARS_BACKREF, (m, esc, chars, first, rest, index) => {
3018 - if (first === "\\") {
3019 - backslashes = true;
3020 - return m;
3021 - }
3022 - if (first === "?") {
3023 - if (esc) {
3024 - return esc + first + (rest ? QMARK.repeat(rest.length) : "");
3025 - }
3026 - if (index === 0) {
3027 - return qmarkNoDot + (rest ? QMARK.repeat(rest.length) : "");
3028 - }
3029 - return QMARK.repeat(chars.length);
3030 - }
3031 - if (first === ".") {
3032 - return DOT_LITERAL.repeat(chars.length);
3033 - }
3034 - if (first === "*") {
3035 - if (esc) {
3036 - return esc + first + (rest ? star : "");
3037 - }
3038 - return star;
3039 - }
3040 - return esc ? m : `\\${m}`;
3041 - });
3042 - if (backslashes === true) {
3043 - if (opts.unescape === true) {
3044 - output = output.replace(/\\/g, "");
3045 - } else {
3046 - output = output.replace(/\\+/g, (m) => {
3047 - return m.length % 2 === 0 ? "\\\\" : m ? "\\" : "";
3048 - });
3049 - }
3050 - }
3051 - if (output === input && opts.contains === true) {
3052 - state.output = input;
3053 - return state;
3054 - }
3055 - state.output = utils.wrapOutput(output, state, options);
3056 - return state;
3057 - }
3058 - while (!eos()) {
3059 - value = advance();
3060 - if (value === "\0") {
3061 - continue;
3062 - }
3063 - if (value === "\\") {
3064 - const next = peek();
3065 - if (next === "/" && opts.bash !== true) {
3066 - continue;
3067 - }
3068 - if (next === "." || next === ";") {
3069 - continue;
3070 - }
3071 - if (!next) {
3072 - value += "\\";
3073 - push({ type: "text", value });
3074 - continue;
3075 - }
3076 - const match = /^\\+/.exec(remaining());
3077 - let slashes = 0;
3078 - if (match && match[0].length > 2) {
3079 - slashes = match[0].length;
3080 - state.index += slashes;
3081 - if (slashes % 2 !== 0) {
3082 - value += "\\";
3083 - }
3084 - }
3085 - if (opts.unescape === true) {
3086 - value = advance();
3087 - } else {
3088 - value += advance();
3089 - }
3090 - if (state.brackets === 0) {
3091 - push({ type: "text", value });
3092 - continue;
3093 - }
3094 - }
3095 - if (state.brackets > 0 && (value !== "]" || prev.value === "[" || prev.value === "[^")) {
3096 - if (opts.posix !== false && value === ":") {
3097 - const inner = prev.value.slice(1);
3098 - if (inner.includes("[")) {
3099 - prev.posix = true;
3100 - if (inner.includes(":")) {
3101 - const idx = prev.value.lastIndexOf("[");
3102 - const pre = prev.value.slice(0, idx);
3103 - const rest2 = prev.value.slice(idx + 2);
3104 - const posix = POSIX_REGEX_SOURCE[rest2];
3105 - if (posix) {
3106 - prev.value = pre + posix;
3107 - state.backtrack = true;
3108 - advance();
3109 - if (!bos.output && tokens.indexOf(prev) === 1) {
3110 - bos.output = ONE_CHAR;
3111 - }
3112 - continue;
3113 - }
3114 - }
3115 - }
3116 - }
3117 - if (value === "[" && peek() !== ":" || value === "-" && peek() === "]") {
3118 - value = `\\${value}`;
3119 - }
3120 - if (value === "]" && (prev.value === "[" || prev.value === "[^")) {
3121 - value = `\\${value}`;
3122 - }
3123 - if (opts.posix === true && value === "!" && prev.value === "[") {
3124 - value = "^";
3125 - }
3126 - prev.value += value;
3127 - append({ value });
3128 - continue;
3129 - }
3130 - if (state.quotes === 1 && value !== '"') {
3131 - value = utils.escapeRegex(value);
3132 - prev.value += value;
3133 - append({ value });
3134 - continue;
3135 - }
3136 - if (value === '"') {
3137 - state.quotes = state.quotes === 1 ? 0 : 1;
3138 - if (opts.keepQuotes === true) {
3139 - push({ type: "text", value });
3140 - }
3141 - continue;
3142 - }
3143 - if (value === "(") {
3144 - increment("parens");
3145 - push({ type: "paren", value });
3146 - continue;
3147 - }
3148 - if (value === ")") {
3149 - if (state.parens === 0 && opts.strictBrackets === true) {
3150 - throw new SyntaxError(syntaxError("opening", "("));
3151 - }
3152 - const extglob = extglobs[extglobs.length - 1];
3153 - if (extglob && state.parens === extglob.parens + 1) {
3154 - extglobClose(extglobs.pop());
3155 - continue;
3156 - }
3157 - push({ type: "paren", value, output: state.parens ? ")" : "\\)" });
3158 - decrement("parens");
3159 - continue;
3160 - }
3161 - if (value === "[") {
3162 - if (opts.nobracket === true || !remaining().includes("]")) {
3163 - if (opts.nobracket !== true && opts.strictBrackets === true) {
3164 - throw new SyntaxError(syntaxError("closing", "]"));
3165 - }
3166 - value = `\\${value}`;
3167 - } else {
3168 - increment("brackets");
3169 - }
3170 - push({ type: "bracket", value });
3171 - continue;
3172 - }
3173 - if (value === "]") {
3174 - if (opts.nobracket === true || prev && prev.type === "bracket" && prev.value.length === 1) {
3175 - push({ type: "text", value, output: `\\${value}` });
3176 - continue;
3177 - }
3178 - if (state.brackets === 0) {
3179 - if (opts.strictBrackets === true) {
3180 - throw new SyntaxError(syntaxError("opening", "["));
3181 - }
3182 - push({ type: "text", value, output: `\\${value}` });
3183 - continue;
3184 - }
3185 - decrement("brackets");
3186 - const prevValue = prev.value.slice(1);
3187 - if (prev.posix !== true && prevValue[0] === "^" && !prevValue.includes("/")) {
3188 - value = `/${value}`;
3189 - }
3190 - prev.value += value;
3191 - append({ value });
3192 - if (opts.literalBrackets === false || utils.hasRegexChars(prevValue)) {
3193 - continue;
3194 - }
3195 - const escaped = utils.escapeRegex(prev.value);
3196 - state.output = state.output.slice(0, -prev.value.length);
3197 - if (opts.literalBrackets === true) {
3198 - state.output += escaped;
3199 - prev.value = escaped;
3200 - continue;
3201 - }
3202 - prev.value = `(${capture}${escaped}|${prev.value})`;
3203 - state.output += prev.value;
3204 - continue;
3205 - }
3206 - if (value === "{" && opts.nobrace !== true) {
3207 - increment("braces");
3208 - const open = {
3209 - type: "brace",
3210 - value,
3211 - output: "(",
3212 - outputIndex: state.output.length,
3213 - tokensIndex: state.tokens.length
3214 - };
3215 - braces.push(open);
3216 - push(open);
3217 - continue;
3218 - }
3219 - if (value === "}") {
3220 - const brace = braces[braces.length - 1];
3221 - if (opts.nobrace === true || !brace) {
3222 - push({ type: "text", value, output: value });
3223 - continue;
3224 - }
3225 - let output = ")";
3226 - if (brace.dots === true) {
3227 - const arr = tokens.slice();
3228 - const range = [];
3229 - for (let i = arr.length - 1; i >= 0; i--) {
3230 - tokens.pop();
3231 - if (arr[i].type === "brace") {
3232 - break;
3233 - }
3234 - if (arr[i].type !== "dots") {
3235 - range.unshift(arr[i].value);
3236 - }
3237 - }
3238 - output = expandRange(range, opts);
3239 - state.backtrack = true;
3240 - }
3241 - if (brace.comma !== true && brace.dots !== true) {
3242 - const out = state.output.slice(0, brace.outputIndex);
3243 - const toks = state.tokens.slice(brace.tokensIndex);
3244 - brace.value = brace.output = "\\{";
3245 - value = output = "\\}";
3246 - state.output = out;
3247 - for (const t of toks) {
3248 - state.output += t.output || t.value;
3249 - }
3250 - }
3251 - push({ type: "brace", value, output });
3252 - decrement("braces");
3253 - braces.pop();
3254 - continue;
3255 - }
3256 - if (value === "|") {
3257 - if (extglobs.length > 0) {
3258 - extglobs[extglobs.length - 1].conditions++;
3259 - }
3260 - push({ type: "text", value });
3261 - continue;
3262 - }
3263 - if (value === ",") {
3264 - let output = value;
3265 - const brace = braces[braces.length - 1];
3266 - if (brace && stack[stack.length - 1] === "braces") {
3267 - brace.comma = true;
3268 - output = "|";
3269 - }
3270 - push({ type: "comma", value, output });
3271 - continue;
3272 - }
3273 - if (value === "/") {
3274 - if (prev.type === "dot" && state.index === state.start + 1) {
3275 - state.start = state.index + 1;
3276 - state.consumed = "";
3277 - state.output = "";
3278 - tokens.pop();
3279 - prev = bos;
3280 - continue;
3281 - }
3282 - push({ type: "slash", value, output: SLASH_LITERAL });
3283 - continue;
3284 - }
3285 - if (value === ".") {
3286 - if (state.braces > 0 && prev.type === "dot") {
3287 - if (prev.value === ".") prev.output = DOT_LITERAL;
3288 - const brace = braces[braces.length - 1];
3289 - prev.type = "dots";
3290 - prev.output += value;
3291 - prev.value += value;
3292 - brace.dots = true;
3293 - continue;
3294 - }
3295 - if (state.braces + state.parens === 0 && prev.type !== "bos" && prev.type !== "slash") {
3296 - push({ type: "text", value, output: DOT_LITERAL });
3297 - continue;
3298 - }
3299 - push({ type: "dot", value, output: DOT_LITERAL });
3300 - continue;
3301 - }
3302 - if (value === "?") {
3303 - const isGroup = prev && prev.value === "(";
3304 - if (!isGroup && opts.noextglob !== true && peek() === "(" && peek(2) !== "?") {
3305 - extglobOpen("qmark", value);
3306 - continue;
3307 - }
3308 - if (prev && prev.type === "paren") {
3309 - const next = peek();
3310 - let output = value;
3311 - if (next === "<" && !utils.supportsLookbehinds()) {
3312 - throw new Error("Node.js v10 or higher is required for regex lookbehinds");
3313 - }
3314 - if (prev.value === "(" && !/[!=<:]/.test(next) || next === "<" && !/<([!=]|\w+>)/.test(remaining())) {
3315 - output = `\\${value}`;
3316 - }
3317 - push({ type: "text", value, output });
3318 - continue;
3319 - }
3320 - if (opts.dot !== true && (prev.type === "slash" || prev.type === "bos")) {
3321 - push({ type: "qmark", value, output: QMARK_NO_DOT });
3322 - continue;
3323 - }
3324 - push({ type: "qmark", value, output: QMARK });
3325 - continue;
3326 - }
3327 - if (value === "!") {
3328 - if (opts.noextglob !== true && peek() === "(") {
3329 - if (peek(2) !== "?" || !/[!=<:]/.test(peek(3))) {
3330 - extglobOpen("negate", value);
3331 - continue;
3332 - }
3333 - }
3334 - if (opts.nonegate !== true && state.index === 0) {
3335 - negate();
3336 - continue;
3337 - }
3338 - }
3339 - if (value === "+") {
3340 - if (opts.noextglob !== true && peek() === "(" && peek(2) !== "?") {
3341 - extglobOpen("plus", value);
3342 - continue;
3343 - }
3344 - if (prev && prev.value === "(" || opts.regex === false) {
3345 - push({ type: "plus", value, output: PLUS_LITERAL });
3346 - continue;
3347 - }
3348 - if (prev && (prev.type === "bracket" || prev.type === "paren" || prev.type === "brace") || state.parens > 0) {
3349 - push({ type: "plus", value });
3350 - continue;
3351 - }
3352 - push({ type: "plus", value: PLUS_LITERAL });
3353 - continue;
3354 - }
3355 - if (value === "@") {
3356 - if (opts.noextglob !== true && peek() === "(" && peek(2) !== "?") {
3357 - push({ type: "at", extglob: true, value, output: "" });
3358 - continue;
3359 - }
3360 - push({ type: "text", value });
3361 - continue;
3362 - }
3363 - if (value !== "*") {
3364 - if (value === "$" || value === "^") {
3365 - value = `\\${value}`;
3366 - }
3367 - const match = REGEX_NON_SPECIAL_CHARS.exec(remaining());
3368 - if (match) {
3369 - value += match[0];
3370 - state.index += match[0].length;
3371 - }
3372 - push({ type: "text", value });
3373 - continue;
3374 - }
3375 - if (prev && (prev.type === "globstar" || prev.star === true)) {
3376 - prev.type = "star";
3377 - prev.star = true;
3378 - prev.value += value;
3379 - prev.output = star;
3380 - state.backtrack = true;
3381 - state.globstar = true;
3382 - consume(value);
3383 - continue;
3384 - }
3385 - let rest = remaining();
3386 - if (opts.noextglob !== true && /^\([^?]/.test(rest)) {
3387 - extglobOpen("star", value);
3388 - continue;
3389 - }
3390 - if (prev.type === "star") {
3391 - if (opts.noglobstar === true) {
3392 - consume(value);
3393 - continue;
3394 - }
3395 - const prior = prev.prev;
3396 - const before = prior.prev;
3397 - const isStart = prior.type === "slash" || prior.type === "bos";
3398 - const afterStar = before && (before.type === "star" || before.type === "globstar");
3399 - if (opts.bash === true && (!isStart || rest[0] && rest[0] !== "/")) {
3400 - push({ type: "star", value, output: "" });
3401 - continue;
3402 - }
3403 - const isBrace = state.braces > 0 && (prior.type === "comma" || prior.type === "brace");
3404 - const isExtglob = extglobs.length && (prior.type === "pipe" || prior.type === "paren");
3405 - if (!isStart && prior.type !== "paren" && !isBrace && !isExtglob) {
3406 - push({ type: "star", value, output: "" });
3407 - continue;
3408 - }
3409 - while (rest.slice(0, 3) === "/**") {
3410 - const after = input[state.index + 4];
3411 - if (after && after !== "/") {
3412 - break;
3413 - }
3414 - rest = rest.slice(3);
3415 - consume("/**", 3);
3416 - }
3417 - if (prior.type === "bos" && eos()) {
3418 - prev.type = "globstar";
3419 - prev.value += value;
3420 - prev.output = globstar(opts);
3421 - state.output = prev.output;
3422 - state.globstar = true;
3423 - consume(value);
3424 - continue;
3425 - }
3426 - if (prior.type === "slash" && prior.prev.type !== "bos" && !afterStar && eos()) {
3427 - state.output = state.output.slice(0, -(prior.output + prev.output).length);
3428 - prior.output = `(?:${prior.output}`;
3429 - prev.type = "globstar";
3430 - prev.output = globstar(opts) + (opts.strictSlashes ? ")" : "|$)");
3431 - prev.value += value;
3432 - state.globstar = true;
3433 - state.output += prior.output + prev.output;
3434 - consume(value);
3435 - continue;
3436 - }
3437 - if (prior.type === "slash" && prior.prev.type !== "bos" && rest[0] === "/") {
3438 - const end = rest[1] !== void 0 ? "|$" : "";
3439 - state.output = state.output.slice(0, -(prior.output + prev.output).length);
3440 - prior.output = `(?:${prior.output}`;
3441 - prev.type = "globstar";
3442 - prev.output = `${globstar(opts)}${SLASH_LITERAL}|${SLASH_LITERAL}${end})`;
3443 - prev.value += value;
3444 - state.output += prior.output + prev.output;
3445 - state.globstar = true;
3446 - consume(value + advance());
3447 - push({ type: "slash", value: "/", output: "" });
3448 - continue;
3449 - }
3450 - if (prior.type === "bos" && rest[0] === "/") {
3451 - prev.type = "globstar";
3452 - prev.value += value;
3453 - prev.output = `(?:^|${SLASH_LITERAL}|${globstar(opts)}${SLASH_LITERAL})`;
3454 - state.output = prev.output;
3455 - state.globstar = true;
3456 - consume(value + advance());
3457 - push({ type: "slash", value: "/", output: "" });
3458 - continue;
3459 - }
3460 - state.output = state.output.slice(0, -prev.output.length);
3461 - prev.type = "globstar";
3462 - prev.output = globstar(opts);
3463 - prev.value += value;
3464 - state.output += prev.output;
3465 - state.globstar = true;
3466 - consume(value);
3467 - continue;
3468 - }
3469 - const token = { type: "star", value, output: star };
3470 - if (opts.bash === true) {
3471 - token.output = ".*?";
3472 - if (prev.type === "bos" || prev.type === "slash") {
3473 - token.output = nodot + token.output;
3474 - }
3475 - push(token);
3476 - continue;
3477 - }
3478 - if (prev && (prev.type === "bracket" || prev.type === "paren") && opts.regex === true) {
3479 - token.output = value;
3480 - push(token);
3481 - continue;
3482 - }
3483 - if (state.index === state.start || prev.type === "slash" || prev.type === "dot") {
3484 - if (prev.type === "dot") {
3485 - state.output += NO_DOT_SLASH;
3486 - prev.output += NO_DOT_SLASH;
3487 - } else if (opts.dot === true) {
3488 - state.output += NO_DOTS_SLASH;
3489 - prev.output += NO_DOTS_SLASH;
3490 - } else {
3491 - state.output += nodot;
3492 - prev.output += nodot;
3493 - }
3494 - if (peek() !== "*") {
3495 - state.output += ONE_CHAR;
3496 - prev.output += ONE_CHAR;
3497 - }
3498 - }
3499 - push(token);
3500 - }
3501 - while (state.brackets > 0) {
3502 - if (opts.strictBrackets === true) throw new SyntaxError(syntaxError("closing", "]"));
3503 - state.output = utils.escapeLast(state.output, "[");
3504 - decrement("brackets");
3505 - }
3506 - while (state.parens > 0) {
3507 - if (opts.strictBrackets === true) throw new SyntaxError(syntaxError("closing", ")"));
3508 - state.output = utils.escapeLast(state.output, "(");
3509 - decrement("parens");
3510 - }
3511 - while (state.braces > 0) {
3512 - if (opts.strictBrackets === true) throw new SyntaxError(syntaxError("closing", "}"));
3513 - state.output = utils.escapeLast(state.output, "{");
3514 - decrement("braces");
3515 - }
3516 - if (opts.strictSlashes !== true && (prev.type === "star" || prev.type === "bracket")) {
3517 - push({ type: "maybe_slash", value: "", output: `${SLASH_LITERAL}?` });
3518 - }
3519 - if (state.backtrack === true) {
3520 - state.output = "";
3521 - for (const token of state.tokens) {
3522 - state.output += token.output != null ? token.output : token.value;
3523 - if (token.suffix) {
3524 - state.output += token.suffix;
3525 - }
3526 - }
3527 - }
3528 - return state;
3529 - };
3530 - parse.fastpaths = (input, options) => {
3531 - const opts = { ...options };
3532 - const max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;
3533 - const len = input.length;
3534 - if (len > max) {
3535 - throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);
3536 - }
3537 - input = REPLACEMENTS[input] || input;
3538 - const win32 = utils.isWindows(options);
3539 - const {
3540 - DOT_LITERAL,
3541 - SLASH_LITERAL,
3542 - ONE_CHAR,
3543 - DOTS_SLASH,
3544 - NO_DOT,
3545 - NO_DOTS,
3546 - NO_DOTS_SLASH,
3547 - STAR,
3548 - START_ANCHOR
3549 - } = constants.globChars(win32);
3550 - const nodot = opts.dot ? NO_DOTS : NO_DOT;
3551 - const slashDot = opts.dot ? NO_DOTS_SLASH : NO_DOT;
3552 - const capture = opts.capture ? "" : "?:";
3553 - const state = { negated: false, prefix: "" };
3554 - let star = opts.bash === true ? ".*?" : STAR;
3555 - if (opts.capture) {
3556 - star = `(${star})`;
3557 - }
3558 - const globstar = (opts2) => {
3559 - if (opts2.noglobstar === true) return star;
3560 - return `(${capture}(?:(?!${START_ANCHOR}${opts2.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`;
3561 - };
3562 - const create = (str) => {
3563 - switch (str) {
3564 - case "*":
3565 - return `${nodot}${ONE_CHAR}${star}`;
3566 - case ".*":
3567 - return `${DOT_LITERAL}${ONE_CHAR}${star}`;
3568 - case "*.*":
3569 - return `${nodot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;
3570 - case "*/*":
3571 - return `${nodot}${star}${SLASH_LITERAL}${ONE_CHAR}${slashDot}${star}`;
3572 - case "**":
3573 - return nodot + globstar(opts);
3574 - case "**/*":
3575 - return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${ONE_CHAR}${star}`;
3576 - case "**/*.*":
3577 - return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;
3578 - case "**/.*":
3579 - return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${DOT_LITERAL}${ONE_CHAR}${star}`;
3580 - default: {
3581 - const match = /^(.*?)\.(\w+)$/.exec(str);
3582 - if (!match) return;
3583 - const source2 = create(match[1]);
3584 - if (!source2) return;
3585 - return source2 + DOT_LITERAL + match[2];
3586 - }
3587 - }
3588 - };
3589 - const output = utils.removePrefix(input, state);
3590 - let source = create(output);
3591 - if (source && opts.strictSlashes !== true) {
3592 - source += `${SLASH_LITERAL}?`;
3593 - }
3594 - return source;
3595 - };
3596 - module2.exports = parse;
3597 - }
3598 -});
3599 -
3600 -// node_modules/anymatch/node_modules/picomatch/lib/picomatch.js
3601 -var require_picomatch3 = __commonJS({
3602 - "node_modules/anymatch/node_modules/picomatch/lib/picomatch.js"(exports2, module2) {
3603 - "use strict";
3604 - var path3 = require("path");
3605 - var scan = require_scan2();
3606 - var parse = require_parse2();
3607 - var utils = require_utils2();
3608 - var constants = require_constants2();
3609 - var isObject = (val) => val && typeof val === "object" && !Array.isArray(val);
3610 - var picomatch = (glob, options, returnState = false) => {
3611 - if (Array.isArray(glob)) {
3612 - const fns = glob.map((input) => picomatch(input, options, returnState));
3613 - const arrayMatcher = (str) => {
3614 - for (const isMatch of fns) {
3615 - const state2 = isMatch(str);
3616 - if (state2) return state2;
3617 - }
3618 - return false;
3619 - };
3620 - return arrayMatcher;
3621 - }
3622 - const isState = isObject(glob) && glob.tokens && glob.input;
3623 - if (glob === "" || typeof glob !== "string" && !isState) {
3624 - throw new TypeError("Expected pattern to be a non-empty string");
3625 - }
3626 - const opts = options || {};
3627 - const posix = utils.isWindows(options);
3628 - const regex = isState ? picomatch.compileRe(glob, options) : picomatch.makeRe(glob, options, false, true);
3629 - const state = regex.state;
3630 - delete regex.state;
3631 - let isIgnored = () => false;
3632 - if (opts.ignore) {
3633 - const ignoreOpts = { ...options, ignore: null, onMatch: null, onResult: null };
3634 - isIgnored = picomatch(opts.ignore, ignoreOpts, returnState);
3635 - }
3636 - const matcher = (input, returnObject = false) => {
3637 - const { isMatch, match, output } = picomatch.test(input, regex, options, { glob, posix });
3638 - const result = { glob, state, regex, posix, input, output, match, isMatch };
3639 - if (typeof opts.onResult === "function") {
3640 - opts.onResult(result);
3641 - }
3642 - if (isMatch === false) {
3643 - result.isMatch = false;
3644 - return returnObject ? result : false;
3645 - }
3646 - if (isIgnored(input)) {
3647 - if (typeof opts.onIgnore === "function") {
3648 - opts.onIgnore(result);
3649 - }
3650 - result.isMatch = false;
3651 - return returnObject ? result : false;
3652 - }
3653 - if (typeof opts.onMatch === "function") {
3654 - opts.onMatch(result);
3655 - }
3656 - return returnObject ? result : true;
3657 - };
3658 - if (returnState) {
3659 - matcher.state = state;
3660 - }
3661 - return matcher;
3662 - };
3663 - picomatch.test = (input, regex, options, { glob, posix } = {}) => {
3664 - if (typeof input !== "string") {
3665 - throw new TypeError("Expected input to be a string");
3666 - }
3667 - if (input === "") {
3668 - return { isMatch: false, output: "" };
3669 - }
3670 - const opts = options || {};
3671 - const format = opts.format || (posix ? utils.toPosixSlashes : null);
3672 - let match = input === glob;
3673 - let output = match && format ? format(input) : input;
3674 - if (match === false) {
3675 - output = format ? format(input) : input;
3676 - match = output === glob;
3677 - }
3678 - if (match === false || opts.capture === true) {
3679 - if (opts.matchBase === true || opts.basename === true) {
3680 - match = picomatch.matchBase(input, regex, options, posix);
3681 - } else {
3682 - match = regex.exec(output);
3683 - }
3684 - }
3685 - return { isMatch: Boolean(match), match, output };
3686 - };
3687 - picomatch.matchBase = (input, glob, options, posix = utils.isWindows(options)) => {
3688 - const regex = glob instanceof RegExp ? glob : picomatch.makeRe(glob, options);
3689 - return regex.test(path3.basename(input));
3690 - };
3691 - picomatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str);
3692 - picomatch.parse = (pattern, options) => {
3693 - if (Array.isArray(pattern)) return pattern.map((p) => picomatch.parse(p, options));
3694 - return parse(pattern, { ...options, fastpaths: false });
3695 - };
3696 - picomatch.scan = (input, options) => scan(input, options);
3697 - picomatch.compileRe = (state, options, returnOutput = false, returnState = false) => {
3698 - if (returnOutput === true) {
3699 - return state.output;
3700 - }
3701 - const opts = options || {};
3702 - const prepend = opts.contains ? "" : "^";
3703 - const append = opts.contains ? "" : "$";
3704 - let source = `${prepend}(?:${state.output})${append}`;
3705 - if (state && state.negated === true) {
3706 - source = `^(?!${source}).*$`;
3707 - }
3708 - const regex = picomatch.toRegex(source, options);
3709 - if (returnState === true) {
3710 - regex.state = state;
3711 - }
3712 - return regex;
3713 - };
3714 - picomatch.makeRe = (input, options = {}, returnOutput = false, returnState = false) => {
3715 - if (!input || typeof input !== "string") {
3716 - throw new TypeError("Expected a non-empty string");
3717 - }
3718 - let parsed = { negated: false, fastpaths: true };
3719 - if (options.fastpaths !== false && (input[0] === "." || input[0] === "*")) {
3720 - parsed.output = parse.fastpaths(input, options);
3721 - }
3722 - if (!parsed.output) {
3723 - parsed = parse(input, options);
3724 - }
3725 - return picomatch.compileRe(parsed, options, returnOutput, returnState);
3726 - };
3727 - picomatch.toRegex = (source, options) => {
3728 - try {
3729 - const opts = options || {};
3730 - return new RegExp(source, opts.flags || (opts.nocase ? "i" : ""));
3731 - } catch (err) {
3732 - if (options && options.debug === true) throw err;
3733 - return /$^/;
3734 - }
3735 - };
3736 - picomatch.constants = constants;
3737 - module2.exports = picomatch;
3738 - }
3739 -});
3740 -
3741 -// node_modules/anymatch/node_modules/picomatch/index.js
3742 -var require_picomatch4 = __commonJS({
3743 - "node_modules/anymatch/node_modules/picomatch/index.js"(exports2, module2) {
3744 - "use strict";
3745 - module2.exports = require_picomatch3();
3746 - }
3747 -});
3748 -
3749 -// node_modules/normalize-path/index.js
3750 -var require_normalize_path = __commonJS({
3751 - "node_modules/normalize-path/index.js"(exports2, module2) {
3752 - module2.exports = function(path3, stripTrailing) {
3753 - if (typeof path3 !== "string") {
3754 - throw new TypeError("expected path to be a string");
3755 - }
3756 - if (path3 === "\\" || path3 === "/") return "/";
3757 - var len = path3.length;
3758 - if (len <= 1) return path3;
3759 - var prefix = "";
3760 - if (len > 4 && path3[3] === "\\") {
3761 - var ch = path3[2];
3762 - if ((ch === "?" || ch === ".") && path3.slice(0, 2) === "\\\\") {
3763 - path3 = path3.slice(2);
3764 - prefix = "//";
3765 - }
3766 - }
3767 - var segs = path3.split(/[/\\]+/);
3768 - if (stripTrailing !== false && segs[segs.length - 1] === "") {
3769 - segs.pop();
3770 - }
3771 - return prefix + segs.join("/");
3772 - };
3773 - }
3774 -});
3775 -
3776 -// node_modules/anymatch/index.js
3777 -var require_anymatch = __commonJS({
3778 - "node_modules/anymatch/index.js"(exports2, module2) {
3779 - "use strict";
3780 - Object.defineProperty(exports2, "__esModule", { value: true });
3781 - var picomatch = require_picomatch4();
3782 - var normalizePath = require_normalize_path();
3783 - var BANG = "!";
3784 - var DEFAULT_OPTIONS = { returnIndex: false };
3785 - var arrify = (item) => Array.isArray(item) ? item : [item];
3786 - var createPattern = (matcher, options) => {
3787 - if (typeof matcher === "function") {
3788 - return matcher;
3789 - }
3790 - if (typeof matcher === "string") {
3791 - const glob = picomatch(matcher, options);
3792 - return (string) => matcher === string || glob(string);
3793 - }
3794 - if (matcher instanceof RegExp) {
3795 - return (string) => matcher.test(string);
3796 - }
3797 - return (string) => false;
3798 - };
3799 - var matchPatterns = (patterns, negPatterns, args, returnIndex) => {
3800 - const isList = Array.isArray(args);
3801 - const _path = isList ? args[0] : args;
3802 - if (!isList && typeof _path !== "string") {
3803 - throw new TypeError("anymatch: second argument must be a string: got " + Object.prototype.toString.call(_path));
3804 - }
3805 - const path3 = normalizePath(_path, false);
3806 - for (let index = 0; index < negPatterns.length; index++) {
3807 - const nglob = negPatterns[index];
3808 - if (nglob(path3)) {
3809 - return returnIndex ? -1 : false;
3810 - }
3811 - }
3812 - const applied = isList && [path3].concat(args.slice(1));
3813 - for (let index = 0; index < patterns.length; index++) {
3814 - const pattern = patterns[index];
3815 - if (isList ? pattern(...applied) : pattern(path3)) {
3816 - return returnIndex ? index : true;
3817 - }
3818 - }
3819 - return returnIndex ? -1 : false;
3820 - };
3821 - var anymatch = (matchers, testString, options = DEFAULT_OPTIONS) => {
3822 - if (matchers == null) {
3823 - throw new TypeError("anymatch: specify first argument");
3824 - }
3825 - const opts = typeof options === "boolean" ? { returnIndex: options } : options;
3826 - const returnIndex = opts.returnIndex || false;
3827 - const mtchers = arrify(matchers);
3828 - const negatedGlobs = mtchers.filter((item) => typeof item === "string" && item.charAt(0) === BANG).map((item) => item.slice(1)).map((item) => picomatch(item, opts));
3829 - const patterns = mtchers.filter((item) => typeof item !== "string" || typeof item === "string" && item.charAt(0) !== BANG).map((matcher) => createPattern(matcher, opts));
3830 - if (testString == null) {
3831 - return (testString2, ri = false) => {
3832 - const returnIndex2 = typeof ri === "boolean" ? ri : false;
3833 - return matchPatterns(patterns, negatedGlobs, testString2, returnIndex2);
3834 - };
3835 - }
3836 - return matchPatterns(patterns, negatedGlobs, testString, returnIndex);
3837 - };
3838 - anymatch.default = anymatch;
3839 - module2.exports = anymatch;
3840 - }
3841 -});
3842 -
3843 -// node_modules/is-extglob/index.js
3844 -var require_is_extglob = __commonJS({
3845 - "node_modules/is-extglob/index.js"(exports2, module2) {
3846 - module2.exports = function isExtglob(str) {
3847 - if (typeof str !== "string" || str === "") {
3848 - return false;
3849 - }
3850 - var match;
3851 - while (match = /(\\).|([@?!+*]\(.*\))/g.exec(str)) {
3852 - if (match[2]) return true;
3853 - str = str.slice(match.index + match[0].length);
3854 - }
3855 - return false;
3856 - };
3857 - }
3858 -});
3859 -
3860 -// node_modules/is-glob/index.js
3861 -var require_is_glob = __commonJS({
3862 - "node_modules/is-glob/index.js"(exports2, module2) {
3863 - var isExtglob = require_is_extglob();
3864 - var chars = { "{": "}", "(": ")", "[": "]" };
3865 - var strictCheck = function(str) {
3866 - if (str[0] === "!") {
3867 - return true;
3868 - }
3869 - var index = 0;
3870 - var pipeIndex = -2;
3871 - var closeSquareIndex = -2;
3872 - var closeCurlyIndex = -2;
3873 - var closeParenIndex = -2;
3874 - var backSlashIndex = -2;
3875 - while (index < str.length) {
3876 - if (str[index] === "*") {
3877 - return true;
3878 - }
3879 - if (str[index + 1] === "?" && /[\].+)]/.test(str[index])) {
3880 - return true;
3881 - }
3882 - if (closeSquareIndex !== -1 && str[index] === "[" && str[index + 1] !== "]") {
3883 - if (closeSquareIndex < index) {
3884 - closeSquareIndex = str.indexOf("]", index);
3885 - }
3886 - if (closeSquareIndex > index) {
3887 - if (backSlashIndex === -1 || backSlashIndex > closeSquareIndex) {
3888 - return true;
3889 - }
3890 - backSlashIndex = str.indexOf("\\", index);
3891 - if (backSlashIndex === -1 || backSlashIndex > closeSquareIndex) {
3892 - return true;
3893 - }
3894 - }
3895 - }
3896 - if (closeCurlyIndex !== -1 && str[index] === "{" && str[index + 1] !== "}") {
3897 - closeCurlyIndex = str.indexOf("}", index);
3898 - if (closeCurlyIndex > index) {
3899 - backSlashIndex = str.indexOf("\\", index);
3900 - if (backSlashIndex === -1 || backSlashIndex > closeCurlyIndex) {
3901 - return true;
3902 - }
3903 - }
3904 - }
3905 - if (closeParenIndex !== -1 && str[index] === "(" && str[index + 1] === "?" && /[:!=]/.test(str[index + 2]) && str[index + 3] !== ")") {
3906 - closeParenIndex = str.indexOf(")", index);
3907 - if (closeParenIndex > index) {
3908 - backSlashIndex = str.indexOf("\\", index);
3909 - if (backSlashIndex === -1 || backSlashIndex > closeParenIndex) {
3910 - return true;
3911 - }
3912 - }
3913 - }
3914 - if (pipeIndex !== -1 && str[index] === "(" && str[index + 1] !== "|") {
3915 - if (pipeIndex < index) {
3916 - pipeIndex = str.indexOf("|", index);
3917 - }
3918 - if (pipeIndex !== -1 && str[pipeIndex + 1] !== ")") {
3919 - closeParenIndex = str.indexOf(")", pipeIndex);
3920 - if (closeParenIndex > pipeIndex) {
3921 - backSlashIndex = str.indexOf("\\", pipeIndex);
3922 - if (backSlashIndex === -1 || backSlashIndex > closeParenIndex) {
3923 - return true;
3924 - }
3925 - }
3926 - }
3927 - }
3928 - if (str[index] === "\\") {
3929 - var open = str[index + 1];
3930 - index += 2;
3931 - var close = chars[open];
3932 - if (close) {
3933 - var n = str.indexOf(close, index);
3934 - if (n !== -1) {
3935 - index = n + 1;
3936 - }
3937 - }
3938 - if (str[index] === "!") {
3939 - return true;
3940 - }
3941 - } else {
3942 - index++;
3943 - }
3944 - }
3945 - return false;
3946 - };
3947 - var relaxedCheck = function(str) {
3948 - if (str[0] === "!") {
3949 - return true;
3950 - }
3951 - var index = 0;
3952 - while (index < str.length) {
3953 - if (/[*?{}()[\]]/.test(str[index])) {
3954 - return true;
3955 - }
3956 - if (str[index] === "\\") {
3957 - var open = str[index + 1];
3958 - index += 2;
3959 - var close = chars[open];
3960 - if (close) {
3961 - var n = str.indexOf(close, index);
3962 - if (n !== -1) {
3963 - index = n + 1;
3964 - }
3965 - }
3966 - if (str[index] === "!") {
3967 - return true;
3968 - }
3969 - } else {
3970 - index++;
3971 - }
3972 - }
3973 - return false;
3974 - };
3975 - module2.exports = function isGlob(str, options) {
3976 - if (typeof str !== "string" || str === "") {
3977 - return false;
3978 - }
3979 - if (isExtglob(str)) {
3980 - return true;
3981 - }
3982 - var check = strictCheck;
3983 - if (options && options.strict === false) {
3984 - check = relaxedCheck;
3985 - }
3986 - return check(str);
3987 - };
3988 - }
3989 -});
3990 -
3991 -// node_modules/glob-parent/index.js
3992 -var require_glob_parent = __commonJS({
3993 - "node_modules/glob-parent/index.js"(exports2, module2) {
3994 - "use strict";
3995 - var isGlob = require_is_glob();
3996 - var pathPosixDirname = require("path").posix.dirname;
3997 - var isWin32 = require("os").platform() === "win32";
3998 - var slash = "/";
3999 - var backslash = /\\/g;
4000 - var enclosure = /[\{\[].*[\}\]]$/;
4001 - var globby = /(^|[^\\])([\{\[]|\([^\)]+$)/;
4002 - var escaped = /\\([\!\*\?\|\[\]\(\)\{\}])/g;
4003 - module2.exports = function globParent(str, opts) {
4004 - var options = Object.assign({ flipBackslashes: true }, opts);
4005 - if (options.flipBackslashes && isWin32 && str.indexOf(slash) < 0) {
4006 - str = str.replace(backslash, slash);
4007 - }
4008 - if (enclosure.test(str)) {
4009 - str += slash;
4010 - }
4011 - str += "a";
4012 - do {
4013 - str = pathPosixDirname(str);
4014 - } while (isGlob(str) || globby.test(str));
4015 - return str.replace(escaped, "$1");
4016 - };
4017 - }
4018 -});
4019 -
4020 -// node_modules/braces/lib/utils.js
4021 -var require_utils3 = __commonJS({
4022 - "node_modules/braces/lib/utils.js"(exports2) {
4023 - "use strict";
4024 - exports2.isInteger = (num) => {
4025 - if (typeof num === "number") {
4026 - return Number.isInteger(num);
4027 - }
4028 - if (typeof num === "string" && num.trim() !== "") {
4029 - return Number.isInteger(Number(num));
4030 - }
4031 - return false;
4032 - };
4033 - exports2.find = (node, type) => node.nodes.find((node2) => node2.type === type);
4034 - exports2.exceedsLimit = (min, max, step = 1, limit) => {
4035 - if (limit === false) return false;
4036 - if (!exports2.isInteger(min) || !exports2.isInteger(max)) return false;
4037 - return (Number(max) - Number(min)) / Number(step) >= limit;
4038 - };
4039 - exports2.escapeNode = (block, n = 0, type) => {
4040 - const node = block.nodes[n];
4041 - if (!node) return;
4042 - if (type && node.type === type || node.type === "open" || node.type === "close") {
4043 - if (node.escaped !== true) {
4044 - node.value = "\\" + node.value;
4045 - node.escaped = true;
4046 - }
4047 - }
4048 - };
4049 - exports2.encloseBrace = (node) => {
4050 - if (node.type !== "brace") return false;
4051 - if (node.commas >> 0 + node.ranges >> 0 === 0) {
4052 - node.invalid = true;
4053 - return true;
4054 - }
4055 - return false;
4056 - };
4057 - exports2.isInvalidBrace = (block) => {
4058 - if (block.type !== "brace") return false;
4059 - if (block.invalid === true || block.dollar) return true;
4060 - if (block.commas >> 0 + block.ranges >> 0 === 0) {
4061 - block.invalid = true;
4062 - return true;
4063 - }
4064 - if (block.open !== true || block.close !== true) {
4065 - block.invalid = true;
4066 - return true;
4067 - }
4068 - return false;
4069 - };
4070 - exports2.isOpenOrClose = (node) => {
4071 - if (node.type === "open" || node.type === "close") {
4072 - return true;
4073 - }
4074 - return node.open === true || node.close === true;
4075 - };
4076 - exports2.reduce = (nodes) => nodes.reduce((acc, node) => {
4077 - if (node.type === "text") acc.push(node.value);
4078 - if (node.type === "range") node.type = "text";
4079 - return acc;
4080 - }, []);
4081 - exports2.flatten = (...args) => {
4082 - const result = [];
4083 - const flat = (arr) => {
4084 - for (let i = 0; i < arr.length; i++) {
4085 - const ele = arr[i];
4086 - if (Array.isArray(ele)) {
4087 - flat(ele);
4088 - continue;
4089 - }
4090 - if (ele !== void 0) {
4091 - result.push(ele);
4092 - }
4093 - }
4094 - return result;
4095 - };
4096 - flat(args);
4097 - return result;
4098 - };
4099 - }
4100 -});
4101 -
4102 -// node_modules/braces/lib/stringify.js
4103 -var require_stringify = __commonJS({
4104 - "node_modules/braces/lib/stringify.js"(exports2, module2) {
4105 - "use strict";
4106 - var utils = require_utils3();
4107 - module2.exports = (ast, options = {}) => {
4108 - const stringify = (node, parent = {}) => {
4109 - const invalidBlock = options.escapeInvalid && utils.isInvalidBrace(parent);
4110 - const invalidNode = node.invalid === true && options.escapeInvalid === true;
4111 - let output = "";
4112 - if (node.value) {
4113 - if ((invalidBlock || invalidNode) && utils.isOpenOrClose(node)) {
4114 - return "\\" + node.value;
4115 - }
4116 - return node.value;
4117 - }
4118 - if (node.value) {
4119 - return node.value;
4120 - }
4121 - if (node.nodes) {
4122 - for (const child of node.nodes) {
4123 - output += stringify(child);
4124 - }
4125 - }
4126 - return output;
4127 - };
4128 - return stringify(ast);
4129 - };
4130 - }
4131 -});
4132 -
4133 -// node_modules/is-number/index.js
4134 -var require_is_number = __commonJS({
4135 - "node_modules/is-number/index.js"(exports2, module2) {
4136 - "use strict";
4137 - module2.exports = function(num) {
4138 - if (typeof num === "number") {
4139 - return num - num === 0;
4140 - }
4141 - if (typeof num === "string" && num.trim() !== "") {
4142 - return Number.isFinite ? Number.isFinite(+num) : isFinite(+num);
4143 - }
4144 - return false;
4145 - };
4146 - }
4147 -});
4148 -
4149 -// node_modules/to-regex-range/index.js
4150 -var require_to_regex_range = __commonJS({
4151 - "node_modules/to-regex-range/index.js"(exports2, module2) {
4152 - "use strict";
4153 - var isNumber = require_is_number();
4154 - var toRegexRange = (min, max, options) => {
4155 - if (isNumber(min) === false) {
4156 - throw new TypeError("toRegexRange: expected the first argument to be a number");
4157 - }
4158 - if (max === void 0 || min === max) {
4159 - return String(min);
4160 - }
4161 - if (isNumber(max) === false) {
4162 - throw new TypeError("toRegexRange: expected the second argument to be a number.");
4163 - }
4164 - let opts = { relaxZeros: true, ...options };
4165 - if (typeof opts.strictZeros === "boolean") {
4166 - opts.relaxZeros = opts.strictZeros === false;
4167 - }
4168 - let relax = String(opts.relaxZeros);
4169 - let shorthand = String(opts.shorthand);
4170 - let capture = String(opts.capture);
4171 - let wrap = String(opts.wrap);
4172 - let cacheKey = min + ":" + max + "=" + relax + shorthand + capture + wrap;
4173 - if (toRegexRange.cache.hasOwnProperty(cacheKey)) {
4174 - return toRegexRange.cache[cacheKey].result;
4175 - }
4176 - let a = Math.min(min, max);
4177 - let b = Math.max(min, max);
4178 - if (Math.abs(a - b) === 1) {
4179 - let result = min + "|" + max;
4180 - if (opts.capture) {
4181 - return `(${result})`;
4182 - }
4183 - if (opts.wrap === false) {
4184 - return result;
4185 - }
4186 - return `(?:${result})`;
4187 - }
4188 - let isPadded = hasPadding(min) || hasPadding(max);
4189 - let state = { min, max, a, b };
4190 - let positives = [];
4191 - let negatives = [];
4192 - if (isPadded) {
4193 - state.isPadded = isPadded;
4194 - state.maxLen = String(state.max).length;
4195 - }
4196 - if (a < 0) {
4197 - let newMin = b < 0 ? Math.abs(b) : 1;
4198 - negatives = splitToPatterns(newMin, Math.abs(a), state, opts);
4199 - a = state.a = 0;
4200 - }
4201 - if (b >= 0) {
4202 - positives = splitToPatterns(a, b, state, opts);
4203 - }
4204 - state.negatives = negatives;
4205 - state.positives = positives;
4206 - state.result = collatePatterns(negatives, positives, opts);
4207 - if (opts.capture === true) {
4208 - state.result = `(${state.result})`;
4209 - } else if (opts.wrap !== false && positives.length + negatives.length > 1) {
4210 - state.result = `(?:${state.result})`;
4211 - }
4212 - toRegexRange.cache[cacheKey] = state;
4213 - return state.result;
4214 - };
4215 - function collatePatterns(neg, pos, options) {
4216 - let onlyNegative = filterPatterns(neg, pos, "-", false, options) || [];
4217 - let onlyPositive = filterPatterns(pos, neg, "", false, options) || [];
4218 - let intersected = filterPatterns(neg, pos, "-?", true, options) || [];
4219 - let subpatterns = onlyNegative.concat(intersected).concat(onlyPositive);
4220 - return subpatterns.join("|");
4221 - }
4222 - function splitToRanges(min, max) {
4223 - let nines = 1;
4224 - let zeros = 1;
4225 - let stop = countNines(min, nines);
4226 - let stops = /* @__PURE__ */ new Set([max]);
4227 - while (min <= stop && stop <= max) {
4228 - stops.add(stop);
4229 - nines += 1;
4230 - stop = countNines(min, nines);
4231 - }
4232 - stop = countZeros(max + 1, zeros) - 1;
4233 - while (min < stop && stop <= max) {
4234 - stops.add(stop);
4235 - zeros += 1;
4236 - stop = countZeros(max + 1, zeros) - 1;
4237 - }
4238 - stops = [...stops];
4239 - stops.sort(compare);
4240 - return stops;
4241 - }
4242 - function rangeToPattern(start, stop, options) {
4243 - if (start === stop) {
4244 - return { pattern: start, count: [], digits: 0 };
4245 - }
4246 - let zipped = zip(start, stop);
4247 - let digits = zipped.length;
4248 - let pattern = "";
4249 - let count = 0;
4250 - for (let i = 0; i < digits; i++) {
4251 - let [startDigit, stopDigit] = zipped[i];
4252 - if (startDigit === stopDigit) {
4253 - pattern += startDigit;
4254 - } else if (startDigit !== "0" || stopDigit !== "9") {
4255 - pattern += toCharacterClass(startDigit, stopDigit, options);
4256 - } else {
4257 - count++;
4258 - }
4259 - }
4260 - if (count) {
4261 - pattern += options.shorthand === true ? "\\d" : "[0-9]";
4262 - }
4263 - return { pattern, count: [count], digits };
4264 - }
4265 - function splitToPatterns(min, max, tok, options) {
4266 - let ranges = splitToRanges(min, max);
4267 - let tokens = [];
4268 - let start = min;
4269 - let prev;
4270 - for (let i = 0; i < ranges.length; i++) {
4271 - let max2 = ranges[i];
4272 - let obj = rangeToPattern(String(start), String(max2), options);
4273 - let zeros = "";
4274 - if (!tok.isPadded && prev && prev.pattern === obj.pattern) {
4275 - if (prev.count.length > 1) {
4276 - prev.count.pop();
4277 - }
4278 - prev.count.push(obj.count[0]);
4279 - prev.string = prev.pattern + toQuantifier(prev.count);
4280 - start = max2 + 1;
4281 - continue;
4282 - }
4283 - if (tok.isPadded) {
4284 - zeros = padZeros(max2, tok, options);
4285 - }
4286 - obj.string = zeros + obj.pattern + toQuantifier(obj.count);
4287 - tokens.push(obj);
4288 - start = max2 + 1;
4289 - prev = obj;
4290 - }
4291 - return tokens;
4292 - }
4293 - function filterPatterns(arr, comparison, prefix, intersection, options) {
4294 - let result = [];
4295 - for (let ele of arr) {
4296 - let { string } = ele;
4297 - if (!intersection && !contains(comparison, "string", string)) {
4298 - result.push(prefix + string);
4299 - }
4300 - if (intersection && contains(comparison, "string", string)) {
4301 - result.push(prefix + string);
4302 - }
4303 - }
4304 - return result;
4305 - }
4306 - function zip(a, b) {
4307 - let arr = [];
4308 - for (let i = 0; i < a.length; i++) arr.push([a[i], b[i]]);
4309 - return arr;
4310 - }
4311 - function compare(a, b) {
4312 - return a > b ? 1 : b > a ? -1 : 0;
4313 - }
4314 - function contains(arr, key, val) {
4315 - return arr.some((ele) => ele[key] === val);
4316 - }
4317 - function countNines(min, len) {
4318 - return Number(String(min).slice(0, -len) + "9".repeat(len));
4319 - }
4320 - function countZeros(integer, zeros) {
4321 - return integer - integer % Math.pow(10, zeros);
4322 - }
4323 - function toQuantifier(digits) {
4324 - let [start = 0, stop = ""] = digits;
4325 - if (stop || start > 1) {
4326 - return `{${start + (stop ? "," + stop : "")}}`;
4327 - }
4328 - return "";
4329 - }
4330 - function toCharacterClass(a, b, options) {
4331 - return `[${a}${b - a === 1 ? "" : "-"}${b}]`;
4332 - }
4333 - function hasPadding(str) {
4334 - return /^-?(0+)\d/.test(str);
4335 - }
4336 - function padZeros(value, tok, options) {
4337 - if (!tok.isPadded) {
4338 - return value;
4339 - }
4340 - let diff = Math.abs(tok.maxLen - String(value).length);
4341 - let relax = options.relaxZeros !== false;
4342 - switch (diff) {
4343 - case 0:
4344 - return "";
4345 - case 1:
4346 - return relax ? "0?" : "0";
4347 - case 2:
4348 - return relax ? "0{0,2}" : "00";
4349 - default: {
4350 - return relax ? `0{0,${diff}}` : `0{${diff}}`;
4351 - }
4352 - }
4353 - }
4354 - toRegexRange.cache = {};
4355 - toRegexRange.clearCache = () => toRegexRange.cache = {};
4356 - module2.exports = toRegexRange;
4357 - }
4358 -});
4359 -
4360 -// node_modules/fill-range/index.js
4361 -var require_fill_range = __commonJS({
4362 - "node_modules/fill-range/index.js"(exports2, module2) {
4363 - "use strict";
4364 - var util = require("util");
4365 - var toRegexRange = require_to_regex_range();
4366 - var isObject = (val) => val !== null && typeof val === "object" && !Array.isArray(val);
4367 - var transform = (toNumber) => {
4368 - return (value) => toNumber === true ? Number(value) : String(value);
4369 - };
4370 - var isValidValue = (value) => {
4371 - return typeof value === "number" || typeof value === "string" && value !== "";
4372 - };
4373 - var isNumber = (num) => Number.isInteger(+num);
4374 - var zeros = (input) => {
4375 - let value = `${input}`;
4376 - let index = -1;
4377 - if (value[0] === "-") value = value.slice(1);
4378 - if (value === "0") return false;
4379 - while (value[++index] === "0") ;
4380 - return index > 0;
4381 - };
4382 - var stringify = (start, end, options) => {
4383 - if (typeof start === "string" || typeof end === "string") {
4384 - return true;
4385 - }
4386 - return options.stringify === true;
4387 - };
4388 - var pad = (input, maxLength, toNumber) => {
4389 - if (maxLength > 0) {
4390 - let dash = input[0] === "-" ? "-" : "";
4391 - if (dash) input = input.slice(1);
4392 - input = dash + input.padStart(dash ? maxLength - 1 : maxLength, "0");
4393 - }
4394 - if (toNumber === false) {
4395 - return String(input);
4396 - }
4397 - return input;
4398 - };
4399 - var toMaxLen = (input, maxLength) => {
4400 - let negative = input[0] === "-" ? "-" : "";
4401 - if (negative) {
4402 - input = input.slice(1);
4403 - maxLength--;
4404 - }
4405 - while (input.length < maxLength) input = "0" + input;
4406 - return negative ? "-" + input : input;
4407 - };
4408 - var toSequence = (parts, options, maxLen) => {
4409 - parts.negatives.sort((a, b) => a < b ? -1 : a > b ? 1 : 0);
4410 - parts.positives.sort((a, b) => a < b ? -1 : a > b ? 1 : 0);
4411 - let prefix = options.capture ? "" : "?:";
4412 - let positives = "";
4413 - let negatives = "";
4414 - let result;
4415 - if (parts.positives.length) {
4416 - positives = parts.positives.map((v) => toMaxLen(String(v), maxLen)).join("|");
4417 - }
4418 - if (parts.negatives.length) {
4419 - negatives = `-(${prefix}${parts.negatives.map((v) => toMaxLen(String(v), maxLen)).join("|")})`;
4420 - }
4421 - if (positives && negatives) {
4422 - result = `${positives}|${negatives}`;
4423 - } else {
4424 - result = positives || negatives;
4425 - }
4426 - if (options.wrap) {
4427 - return `(${prefix}${result})`;
4428 - }
4429 - return result;
4430 - };
4431 - var toRange = (a, b, isNumbers, options) => {
4432 - if (isNumbers) {
4433 - return toRegexRange(a, b, { wrap: false, ...options });
4434 - }
4435 - let start = String.fromCharCode(a);
4436 - if (a === b) return start;
4437 - let stop = String.fromCharCode(b);
4438 - return `[${start}-${stop}]`;
4439 - };
4440 - var toRegex = (start, end, options) => {
4441 - if (Array.isArray(start)) {
4442 - let wrap = options.wrap === true;
4443 - let prefix = options.capture ? "" : "?:";
4444 - return wrap ? `(${prefix}${start.join("|")})` : start.join("|");
4445 - }
4446 - return toRegexRange(start, end, options);
4447 - };
4448 - var rangeError = (...args) => {
4449 - return new RangeError("Invalid range arguments: " + util.inspect(...args));
4450 - };
4451 - var invalidRange = (start, end, options) => {
4452 - if (options.strictRanges === true) throw rangeError([start, end]);
4453 - return [];
4454 - };
4455 - var invalidStep = (step, options) => {
4456 - if (options.strictRanges === true) {
4457 - throw new TypeError(`Expected step "${step}" to be a number`);
4458 - }
4459 - return [];
4460 - };
4461 - var fillNumbers = (start, end, step = 1, options = {}) => {
4462 - let a = Number(start);
4463 - let b = Number(end);
4464 - if (!Number.isInteger(a) || !Number.isInteger(b)) {
4465 - if (options.strictRanges === true) throw rangeError([start, end]);
4466 - return [];
4467 - }
4468 - if (a === 0) a = 0;
4469 - if (b === 0) b = 0;
4470 - let descending = a > b;
4471 - let startString = String(start);
4472 - let endString = String(end);
4473 - let stepString = String(step);
4474 - step = Math.max(Math.abs(step), 1);
4475 - let padded = zeros(startString) || zeros(endString) || zeros(stepString);
4476 - let maxLen = padded ? Math.max(startString.length, endString.length, stepString.length) : 0;
4477 - let toNumber = padded === false && stringify(start, end, options) === false;
4478 - let format = options.transform || transform(toNumber);
4479 - if (options.toRegex && step === 1) {
4480 - return toRange(toMaxLen(start, maxLen), toMaxLen(end, maxLen), true, options);
4481 - }
4482 - let parts = { negatives: [], positives: [] };
4483 - let push = (num) => parts[num < 0 ? "negatives" : "positives"].push(Math.abs(num));
4484 - let range = [];
4485 - let index = 0;
4486 - while (descending ? a >= b : a <= b) {
4487 - if (options.toRegex === true && step > 1) {
4488 - push(a);
4489 - } else {
4490 - range.push(pad(format(a, index), maxLen, toNumber));
4491 - }
4492 - a = descending ? a - step : a + step;
4493 - index++;
4494 - }
4495 - if (options.toRegex === true) {
4496 - return step > 1 ? toSequence(parts, options, maxLen) : toRegex(range, null, { wrap: false, ...options });
4497 - }
4498 - return range;
4499 - };
4500 - var fillLetters = (start, end, step = 1, options = {}) => {
4501 - if (!isNumber(start) && start.length > 1 || !isNumber(end) && end.length > 1) {
4502 - return invalidRange(start, end, options);
4503 - }
4504 - let format = options.transform || ((val) => String.fromCharCode(val));
4505 - let a = `${start}`.charCodeAt(0);
4506 - let b = `${end}`.charCodeAt(0);
4507 - let descending = a > b;
4508 - let min = Math.min(a, b);
4509 - let max = Math.max(a, b);
4510 - if (options.toRegex && step === 1) {
4511 - return toRange(min, max, false, options);
4512 - }
4513 - let range = [];
4514 - let index = 0;
4515 - while (descending ? a >= b : a <= b) {
4516 - range.push(format(a, index));
4517 - a = descending ? a - step : a + step;
4518 - index++;
4519 - }
4520 - if (options.toRegex === true) {
4521 - return toRegex(range, null, { wrap: false, options });
4522 - }
4523 - return range;
4524 - };
4525 - var fill = (start, end, step, options = {}) => {
4526 - if (end == null && isValidValue(start)) {
4527 - return [start];
4528 - }
4529 - if (!isValidValue(start) || !isValidValue(end)) {
4530 - return invalidRange(start, end, options);
4531 - }
4532 - if (typeof step === "function") {
4533 - return fill(start, end, 1, { transform: step });
4534 - }
4535 - if (isObject(step)) {
4536 - return fill(start, end, 0, step);
4537 - }
4538 - let opts = { ...options };
4539 - if (opts.capture === true) opts.wrap = true;
4540 - step = step || opts.step || 1;
4541 - if (!isNumber(step)) {
4542 - if (step != null && !isObject(step)) return invalidStep(step, opts);
4543 - return fill(start, end, 1, step);
4544 - }
4545 - if (isNumber(start) && isNumber(end)) {
4546 - return fillNumbers(start, end, step, opts);
4547 - }
4548 - return fillLetters(start, end, Math.max(Math.abs(step), 1), opts);
4549 - };
4550 - module2.exports = fill;
4551 - }
4552 -});
4553 -
4554 -// node_modules/braces/lib/compile.js
4555 -var require_compile = __commonJS({
4556 - "node_modules/braces/lib/compile.js"(exports2, module2) {
4557 - "use strict";
4558 - var fill = require_fill_range();
4559 - var utils = require_utils3();
4560 - var compile = (ast, options = {}) => {
4561 - const walk = (node, parent = {}) => {
4562 - const invalidBlock = utils.isInvalidBrace(parent);
4563 - const invalidNode = node.invalid === true && options.escapeInvalid === true;
4564 - const invalid = invalidBlock === true || invalidNode === true;
4565 - const prefix = options.escapeInvalid === true ? "\\" : "";
4566 - let output = "";
4567 - if (node.isOpen === true) {
4568 - return prefix + node.value;
4569 - }
4570 - if (node.isClose === true) {
4571 - console.log("node.isClose", prefix, node.value);
4572 - return prefix + node.value;
4573 - }
4574 - if (node.type === "open") {
4575 - return invalid ? prefix + node.value : "(";
4576 - }
4577 - if (node.type === "close") {
4578 - return invalid ? prefix + node.value : ")";
4579 - }
4580 - if (node.type === "comma") {
4581 - return node.prev.type === "comma" ? "" : invalid ? node.value : "|";
4582 - }
4583 - if (node.value) {
4584 - return node.value;
4585 - }
4586 - if (node.nodes && node.ranges > 0) {
4587 - const args = utils.reduce(node.nodes);
4588 - const range = fill(...args, { ...options, wrap: false, toRegex: true, strictZeros: true });
4589 - if (range.length !== 0) {
4590 - return args.length > 1 && range.length > 1 ? `(${range})` : range;
4591 - }
4592 - }
4593 - if (node.nodes) {
4594 - for (const child of node.nodes) {
4595 - output += walk(child, node);
4596 - }
4597 - }
4598 - return output;
4599 - };
4600 - return walk(ast);
4601 - };
4602 - module2.exports = compile;
4603 - }
4604 -});
4605 -
4606 -// node_modules/braces/lib/expand.js
4607 -var require_expand = __commonJS({
4608 - "node_modules/braces/lib/expand.js"(exports2, module2) {
4609 - "use strict";
4610 - var fill = require_fill_range();
4611 - var stringify = require_stringify();
4612 - var utils = require_utils3();
4613 - var append = (queue = "", stash = "", enclose = false) => {
4614 - const result = [];
4615 - queue = [].concat(queue);
4616 - stash = [].concat(stash);
4617 - if (!stash.length) return queue;
4618 - if (!queue.length) {
4619 - return enclose ? utils.flatten(stash).map((ele) => `{${ele}}`) : stash;
4620 - }
4621 - for (const item of queue) {
4622 - if (Array.isArray(item)) {
4623 - for (const value of item) {
4624 - result.push(append(value, stash, enclose));
4625 - }
4626 - } else {
4627 - for (let ele of stash) {
4628 - if (enclose === true && typeof ele === "string") ele = `{${ele}}`;
4629 - result.push(Array.isArray(ele) ? append(item, ele, enclose) : item + ele);
4630 - }
4631 - }
4632 - }
4633 - return utils.flatten(result);
4634 - };
4635 - var expand = (ast, options = {}) => {
4636 - const rangeLimit = options.rangeLimit === void 0 ? 1e3 : options.rangeLimit;
4637 - const walk = (node, parent = {}) => {
4638 - node.queue = [];
4639 - let p = parent;
4640 - let q = parent.queue;
4641 - while (p.type !== "brace" && p.type !== "root" && p.parent) {
4642 - p = p.parent;
4643 - q = p.queue;
4644 - }
4645 - if (node.invalid || node.dollar) {
4646 - q.push(append(q.pop(), stringify(node, options)));
4647 - return;
4648 - }
4649 - if (node.type === "brace" && node.invalid !== true && node.nodes.length === 2) {
4650 - q.push(append(q.pop(), ["{}"]));
4651 - return;
4652 - }
4653 - if (node.nodes && node.ranges > 0) {
4654 - const args = utils.reduce(node.nodes);
4655 - if (utils.exceedsLimit(...args, options.step, rangeLimit)) {
4656 - throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");
4657 - }
4658 - let range = fill(...args, options);
4659 - if (range.length === 0) {
4660 - range = stringify(node, options);
4661 - }
4662 - q.push(append(q.pop(), range));
4663 - node.nodes = [];
4664 - return;
4665 - }
4666 - const enclose = utils.encloseBrace(node);
4667 - let queue = node.queue;
4668 - let block = node;
4669 - while (block.type !== "brace" && block.type !== "root" && block.parent) {
4670 - block = block.parent;
4671 - queue = block.queue;
4672 - }
4673 - for (let i = 0; i < node.nodes.length; i++) {
4674 - const child = node.nodes[i];
4675 - if (child.type === "comma" && node.type === "brace") {
4676 - if (i === 1) queue.push("");
4677 - queue.push("");
4678 - continue;
4679 - }
4680 - if (child.type === "close") {
4681 - q.push(append(q.pop(), queue, enclose));
4682 - continue;
4683 - }
4684 - if (child.value && child.type !== "open") {
4685 - queue.push(append(queue.pop(), child.value));
4686 - continue;
4687 - }
4688 - if (child.nodes) {
4689 - walk(child, node);
4690 - }
4691 - }
4692 - return queue;
4693 - };
4694 - return utils.flatten(walk(ast));
4695 - };
4696 - module2.exports = expand;
4697 - }
4698 -});
4699 -
4700 -// node_modules/braces/lib/constants.js
4701 -var require_constants3 = __commonJS({
4702 - "node_modules/braces/lib/constants.js"(exports2, module2) {
4703 - "use strict";
4704 - module2.exports = {
4705 - MAX_LENGTH: 1e4,
4706 - // Digits
4707 - CHAR_0: "0",
4708 - /* 0 */
4709 - CHAR_9: "9",
4710 - /* 9 */
4711 - // Alphabet chars.
4712 - CHAR_UPPERCASE_A: "A",
4713 - /* A */
4714 - CHAR_LOWERCASE_A: "a",
4715 - /* a */
4716 - CHAR_UPPERCASE_Z: "Z",
4717 - /* Z */
4718 - CHAR_LOWERCASE_Z: "z",
4719 - /* z */
4720 - CHAR_LEFT_PARENTHESES: "(",
4721 - /* ( */
4722 - CHAR_RIGHT_PARENTHESES: ")",
4723 - /* ) */
4724 - CHAR_ASTERISK: "*",
4725 - /* * */
4726 - // Non-alphabetic chars.
4727 - CHAR_AMPERSAND: "&",
4728 - /* & */
4729 - CHAR_AT: "@",
4730 - /* @ */
4731 - CHAR_BACKSLASH: "\\",
4732 - /* \ */
4733 - CHAR_BACKTICK: "`",
4734 - /* ` */
4735 - CHAR_CARRIAGE_RETURN: "\r",
4736 - /* \r */
4737 - CHAR_CIRCUMFLEX_ACCENT: "^",
4738 - /* ^ */
4739 - CHAR_COLON: ":",
4740 - /* : */
4741 - CHAR_COMMA: ",",
4742 - /* , */
4743 - CHAR_DOLLAR: "$",
4744 - /* . */
4745 - CHAR_DOT: ".",
4746 - /* . */
4747 - CHAR_DOUBLE_QUOTE: '"',
4748 - /* " */
4749 - CHAR_EQUAL: "=",
4750 - /* = */
4751 - CHAR_EXCLAMATION_MARK: "!",
4752 - /* ! */
4753 - CHAR_FORM_FEED: "\f",
4754 - /* \f */
4755 - CHAR_FORWARD_SLASH: "/",
4756 - /* / */
4757 - CHAR_HASH: "#",
4758 - /* # */
4759 - CHAR_HYPHEN_MINUS: "-",
4760 - /* - */
4761 - CHAR_LEFT_ANGLE_BRACKET: "<",
4762 - /* < */
4763 - CHAR_LEFT_CURLY_BRACE: "{",
4764 - /* { */
4765 - CHAR_LEFT_SQUARE_BRACKET: "[",
4766 - /* [ */
4767 - CHAR_LINE_FEED: "\n",
4768 - /* \n */
4769 - CHAR_NO_BREAK_SPACE: "\xA0",
4770 - /* \u00A0 */
4771 - CHAR_PERCENT: "%",
4772 - /* % */
4773 - CHAR_PLUS: "+",
4774 - /* + */
4775 - CHAR_QUESTION_MARK: "?",
4776 - /* ? */
4777 - CHAR_RIGHT_ANGLE_BRACKET: ">",
4778 - /* > */
4779 - CHAR_RIGHT_CURLY_BRACE: "}",
4780 - /* } */
4781 - CHAR_RIGHT_SQUARE_BRACKET: "]",
4782 - /* ] */
4783 - CHAR_SEMICOLON: ";",
4784 - /* ; */
4785 - CHAR_SINGLE_QUOTE: "'",
4786 - /* ' */
4787 - CHAR_SPACE: " ",
4788 - /* */
4789 - CHAR_TAB: " ",
4790 - /* \t */
4791 - CHAR_UNDERSCORE: "_",
4792 - /* _ */
4793 - CHAR_VERTICAL_LINE: "|",
4794 - /* | */
4795 - CHAR_ZERO_WIDTH_NOBREAK_SPACE: "\uFEFF"
4796 - /* \uFEFF */
4797 - };
4798 - }
4799 -});
4800 -
4801 -// node_modules/braces/lib/parse.js
4802 -var require_parse3 = __commonJS({
4803 - "node_modules/braces/lib/parse.js"(exports2, module2) {
4804 - "use strict";
4805 - var stringify = require_stringify();
4806 - var {
4807 - MAX_LENGTH,
4808 - CHAR_BACKSLASH,
4809 - /* \ */
4810 - CHAR_BACKTICK,
4811 - /* ` */
4812 - CHAR_COMMA,
4813 - /* , */
4814 - CHAR_DOT,
4815 - /* . */
4816 - CHAR_LEFT_PARENTHESES,
4817 - /* ( */
4818 - CHAR_RIGHT_PARENTHESES,
4819 - /* ) */
4820 - CHAR_LEFT_CURLY_BRACE,
4821 - /* { */
4822 - CHAR_RIGHT_CURLY_BRACE,
4823 - /* } */
4824 - CHAR_LEFT_SQUARE_BRACKET,
4825 - /* [ */
4826 - CHAR_RIGHT_SQUARE_BRACKET,
4827 - /* ] */
4828 - CHAR_DOUBLE_QUOTE,
4829 - /* " */
4830 - CHAR_SINGLE_QUOTE,
4831 - /* ' */
4832 - CHAR_NO_BREAK_SPACE,
4833 - CHAR_ZERO_WIDTH_NOBREAK_SPACE
4834 - } = require_constants3();
4835 - var parse = (input, options = {}) => {
4836 - if (typeof input !== "string") {
4837 - throw new TypeError("Expected a string");
4838 - }
4839 - const opts = options || {};
4840 - const max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;
4841 - if (input.length > max) {
4842 - throw new SyntaxError(`Input length (${input.length}), exceeds max characters (${max})`);
4843 - }
4844 - const ast = { type: "root", input, nodes: [] };
4845 - const stack = [ast];
4846 - let block = ast;
4847 - let prev = ast;
4848 - let brackets = 0;
4849 - const length = input.length;
4850 - let index = 0;
4851 - let depth = 0;
4852 - let value;
4853 - const advance = () => input[index++];
4854 - const push = (node) => {
4855 - if (node.type === "text" && prev.type === "dot") {
4856 - prev.type = "text";
4857 - }
4858 - if (prev && prev.type === "text" && node.type === "text") {
4859 - prev.value += node.value;
4860 - return;
4861 - }
4862 - block.nodes.push(node);
4863 - node.parent = block;
4864 - node.prev = prev;
4865 - prev = node;
4866 - return node;
4867 - };
4868 - push({ type: "bos" });
4869 - while (index < length) {
4870 - block = stack[stack.length - 1];
4871 - value = advance();
4872 - if (value === CHAR_ZERO_WIDTH_NOBREAK_SPACE || value === CHAR_NO_BREAK_SPACE) {
4873 - continue;
4874 - }
4875 - if (value === CHAR_BACKSLASH) {
4876 - push({ type: "text", value: (options.keepEscaping ? value : "") + advance() });
4877 - continue;
4878 - }
4879 - if (value === CHAR_RIGHT_SQUARE_BRACKET) {
4880 - push({ type: "text", value: "\\" + value });
4881 - continue;
4882 - }
4883 - if (value === CHAR_LEFT_SQUARE_BRACKET) {
4884 - brackets++;
4885 - let next;
4886 - while (index < length && (next = advance())) {
4887 - value += next;
4888 - if (next === CHAR_LEFT_SQUARE_BRACKET) {
4889 - brackets++;
4890 - continue;
4891 - }
4892 - if (next === CHAR_BACKSLASH) {
4893 - value += advance();
4894 - continue;
4895 - }
4896 - if (next === CHAR_RIGHT_SQUARE_BRACKET) {
4897 - brackets--;
4898 - if (brackets === 0) {
4899 - break;
4900 - }
4901 - }
4902 - }
4903 - push({ type: "text", value });
4904 - continue;
4905 - }
4906 - if (value === CHAR_LEFT_PARENTHESES) {
4907 - block = push({ type: "paren", nodes: [] });
4908 - stack.push(block);
4909 - push({ type: "text", value });
4910 - continue;
4911 - }
4912 - if (value === CHAR_RIGHT_PARENTHESES) {
4913 - if (block.type !== "paren") {
4914 - push({ type: "text", value });
4915 - continue;
4916 - }
4917 - block = stack.pop();
4918 - push({ type: "text", value });
4919 - block = stack[stack.length - 1];
4920 - continue;
4921 - }
4922 - if (value === CHAR_DOUBLE_QUOTE || value === CHAR_SINGLE_QUOTE || value === CHAR_BACKTICK) {
4923 - const open = value;
4924 - let next;
4925 - if (options.keepQuotes !== true) {
4926 - value = "";
4927 - }
4928 - while (index < length && (next = advance())) {
4929 - if (next === CHAR_BACKSLASH) {
4930 - value += next + advance();
4931 - continue;
4932 - }
4933 - if (next === open) {
4934 - if (options.keepQuotes === true) value += next;
4935 - break;
4936 - }
4937 - value += next;
4938 - }
4939 - push({ type: "text", value });
4940 - continue;
4941 - }
4942 - if (value === CHAR_LEFT_CURLY_BRACE) {
4943 - depth++;
4944 - const dollar = prev.value && prev.value.slice(-1) === "$" || block.dollar === true;
4945 - const brace = {
4946 - type: "brace",
4947 - open: true,
4948 - close: false,
4949 - dollar,
4950 - depth,
4951 - commas: 0,
4952 - ranges: 0,
4953 - nodes: []
4954 - };
4955 - block = push(brace);
4956 - stack.push(block);
4957 - push({ type: "open", value });
4958 - continue;
4959 - }
4960 - if (value === CHAR_RIGHT_CURLY_BRACE) {
4961 - if (block.type !== "brace") {
4962 - push({ type: "text", value });
4963 - continue;
4964 - }
4965 - const type = "close";
4966 - block = stack.pop();
4967 - block.close = true;
4968 - push({ type, value });
4969 - depth--;
4970 - block = stack[stack.length - 1];
4971 - continue;
4972 - }
4973 - if (value === CHAR_COMMA && depth > 0) {
4974 - if (block.ranges > 0) {
4975 - block.ranges = 0;
4976 - const open = block.nodes.shift();
4977 - block.nodes = [open, { type: "text", value: stringify(block) }];
4978 - }
4979 - push({ type: "comma", value });
4980 - block.commas++;
4981 - continue;
4982 - }
4983 - if (value === CHAR_DOT && depth > 0 && block.commas === 0) {
4984 - const siblings = block.nodes;
4985 - if (depth === 0 || siblings.length === 0) {
4986 - push({ type: "text", value });
4987 - continue;
4988 - }
4989 - if (prev.type === "dot") {
4990 - block.range = [];
4991 - prev.value += value;
4992 - prev.type = "range";
4993 - if (block.nodes.length !== 3 && block.nodes.length !== 5) {
4994 - block.invalid = true;
4995 - block.ranges = 0;
4996 - prev.type = "text";
4997 - continue;
4998 - }
4999 - block.ranges++;

This file is too large to show in full.

node_modules/playwright-core/lib/serverRegistry.js.LICENSE deleted
-354
@@ -1,354 +0,0 @@
1 -packages/playwright-core/lib/serverRegistry.js
2 -
3 -THIRD-PARTY SOFTWARE NOTICES AND INFORMATION
4 -
5 -The following npm packages are inlined into this bundle.
6 -
7 -- anymatch@3.1.3 (https://github.com/micromatch/anymatch)
8 -- binary-extensions@2.3.0 (https://github.com/sindresorhus/binary-extensions)
9 -- braces@3.0.3 (https://github.com/micromatch/braces)
10 -- chokidar@3.6.0 (https://github.com/paulmillr/chokidar)
11 -- fill-range@7.1.1 (https://github.com/jonschlinkert/fill-range)
12 -- glob-parent@5.1.2 (https://github.com/gulpjs/glob-parent)
13 -- is-binary-path@2.1.0 (https://github.com/sindresorhus/is-binary-path)
14 -- is-extglob@2.1.1 (https://github.com/jonschlinkert/is-extglob)
15 -- is-glob@4.0.3 (https://github.com/micromatch/is-glob)
16 -- is-number@7.0.0 (https://github.com/jonschlinkert/is-number)
17 -- normalize-path@3.0.0 (https://github.com/jonschlinkert/normalize-path)
18 -- picomatch@2.3.2 (https://github.com/micromatch/picomatch)
19 -- readdirp@3.6.0 (https://github.com/paulmillr/readdirp)
20 -- to-regex-range@5.0.1 (https://github.com/micromatch/to-regex-range)
21 -
22 -%% anymatch@3.1.3 NOTICES AND INFORMATION BEGIN HERE
23 -=========================================
24 -The ISC License
25 -
26 -Copyright (c) 2019 Elan Shanker, Paul Miller (https://paulmillr.com)
27 -
28 -Permission to use, copy, modify, and/or distribute this software for any
29 -purpose with or without fee is hereby granted, provided that the above
30 -copyright notice and this permission notice appear in all copies.
31 -
32 -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
33 -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
34 -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
35 -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
36 -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
37 -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
38 -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
39 -=========================================
40 -END OF anymatch@3.1.3 NOTICES AND INFORMATION
41 -
42 -%% binary-extensions@2.3.0 NOTICES AND INFORMATION BEGIN HERE
43 -=========================================
44 -MIT License
45 -
46 -Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
47 -Copyright (c) Paul Miller (https://paulmillr.com)
48 -
49 -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
50 -
51 -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
52 -
53 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
54 -=========================================
55 -END OF binary-extensions@2.3.0 NOTICES AND INFORMATION
56 -
57 -%% braces@3.0.3 NOTICES AND INFORMATION BEGIN HERE
58 -=========================================
59 -The MIT License (MIT)
60 -
61 -Copyright (c) 2014-present, Jon Schlinkert.
62 -
63 -Permission is hereby granted, free of charge, to any person obtaining a copy
64 -of this software and associated documentation files (the "Software"), to deal
65 -in the Software without restriction, including without limitation the rights
66 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
67 -copies of the Software, and to permit persons to whom the Software is
68 -furnished to do so, subject to the following conditions:
69 -
70 -The above copyright notice and this permission notice shall be included in
71 -all copies or substantial portions of the Software.
72 -
73 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
74 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
75 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
76 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
77 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
78 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
79 -THE SOFTWARE.
80 -=========================================
81 -END OF braces@3.0.3 NOTICES AND INFORMATION
82 -
83 -%% chokidar@3.6.0 NOTICES AND INFORMATION BEGIN HERE
84 -=========================================
85 -The MIT License (MIT)
86 -
87 -Copyright (c) 2012-2019 Paul Miller (https://paulmillr.com), Elan Shanker
88 -
89 -Permission is hereby granted, free of charge, to any person obtaining a copy
90 -of this software and associated documentation files (the “Software”), to deal
91 -in the Software without restriction, including without limitation the rights
92 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
93 -copies of the Software, and to permit persons to whom the Software is
94 -furnished to do so, subject to the following conditions:
95 -
96 -The above copyright notice and this permission notice shall be included in
97 -all copies or substantial portions of the Software.
98 -
99 -THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
100 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
101 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
102 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
103 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
104 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
105 -THE SOFTWARE.
106 -=========================================
107 -END OF chokidar@3.6.0 NOTICES AND INFORMATION
108 -
109 -%% fill-range@7.1.1 NOTICES AND INFORMATION BEGIN HERE
110 -=========================================
111 -The MIT License (MIT)
112 -
113 -Copyright (c) 2014-present, Jon Schlinkert.
114 -
115 -Permission is hereby granted, free of charge, to any person obtaining a copy
116 -of this software and associated documentation files (the "Software"), to deal
117 -in the Software without restriction, including without limitation the rights
118 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
119 -copies of the Software, and to permit persons to whom the Software is
120 -furnished to do so, subject to the following conditions:
121 -
122 -The above copyright notice and this permission notice shall be included in
123 -all copies or substantial portions of the Software.
124 -
125 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
126 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
127 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
128 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
129 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
130 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
131 -THE SOFTWARE.
132 -=========================================
133 -END OF fill-range@7.1.1 NOTICES AND INFORMATION
134 -
135 -%% glob-parent@5.1.2 NOTICES AND INFORMATION BEGIN HERE
136 -=========================================
137 -The ISC License
138 -
139 -Copyright (c) 2015, 2019 Elan Shanker
140 -
141 -Permission to use, copy, modify, and/or distribute this software for any
142 -purpose with or without fee is hereby granted, provided that the above
143 -copyright notice and this permission notice appear in all copies.
144 -
145 -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
146 -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
147 -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
148 -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
149 -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
150 -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
151 -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
152 -=========================================
153 -END OF glob-parent@5.1.2 NOTICES AND INFORMATION
154 -
155 -%% is-binary-path@2.1.0 NOTICES AND INFORMATION BEGIN HERE
156 -=========================================
157 -MIT License
158 -
159 -Copyright (c) 2019 Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com), Paul Miller (https://paulmillr.com)
160 -
161 -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
162 -
163 -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
164 -
165 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
166 -=========================================
167 -END OF is-binary-path@2.1.0 NOTICES AND INFORMATION
168 -
169 -%% is-extglob@2.1.1 NOTICES AND INFORMATION BEGIN HERE
170 -=========================================
171 -The MIT License (MIT)
172 -
173 -Copyright (c) 2014-2016, Jon Schlinkert
174 -
175 -Permission is hereby granted, free of charge, to any person obtaining a copy
176 -of this software and associated documentation files (the "Software"), to deal
177 -in the Software without restriction, including without limitation the rights
178 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
179 -copies of the Software, and to permit persons to whom the Software is
180 -furnished to do so, subject to the following conditions:
181 -
182 -The above copyright notice and this permission notice shall be included in
183 -all copies or substantial portions of the Software.
184 -
185 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
186 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
187 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
188 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
189 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
190 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
191 -THE SOFTWARE.
192 -=========================================
193 -END OF is-extglob@2.1.1 NOTICES AND INFORMATION
194 -
195 -%% is-glob@4.0.3 NOTICES AND INFORMATION BEGIN HERE
196 -=========================================
197 -The MIT License (MIT)
198 -
199 -Copyright (c) 2014-2017, Jon Schlinkert.
200 -
201 -Permission is hereby granted, free of charge, to any person obtaining a copy
202 -of this software and associated documentation files (the "Software"), to deal
203 -in the Software without restriction, including without limitation the rights
204 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
205 -copies of the Software, and to permit persons to whom the Software is
206 -furnished to do so, subject to the following conditions:
207 -
208 -The above copyright notice and this permission notice shall be included in
209 -all copies or substantial portions of the Software.
210 -
211 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
212 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
213 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
214 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
215 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
216 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
217 -THE SOFTWARE.
218 -=========================================
219 -END OF is-glob@4.0.3 NOTICES AND INFORMATION
220 -
221 -%% is-number@7.0.0 NOTICES AND INFORMATION BEGIN HERE
222 -=========================================
223 -The MIT License (MIT)
224 -
225 -Copyright (c) 2014-present, Jon Schlinkert.
226 -
227 -Permission is hereby granted, free of charge, to any person obtaining a copy
228 -of this software and associated documentation files (the "Software"), to deal
229 -in the Software without restriction, including without limitation the rights
230 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
231 -copies of the Software, and to permit persons to whom the Software is
232 -furnished to do so, subject to the following conditions:
233 -
234 -The above copyright notice and this permission notice shall be included in
235 -all copies or substantial portions of the Software.
236 -
237 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
238 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
239 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
240 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
241 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
242 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
243 -THE SOFTWARE.
244 -=========================================
245 -END OF is-number@7.0.0 NOTICES AND INFORMATION
246 -
247 -%% normalize-path@3.0.0 NOTICES AND INFORMATION BEGIN HERE
248 -=========================================
249 -The MIT License (MIT)
250 -
251 -Copyright (c) 2014-2018, Jon Schlinkert.
252 -
253 -Permission is hereby granted, free of charge, to any person obtaining a copy
254 -of this software and associated documentation files (the "Software"), to deal
255 -in the Software without restriction, including without limitation the rights
256 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
257 -copies of the Software, and to permit persons to whom the Software is
258 -furnished to do so, subject to the following conditions:
259 -
260 -The above copyright notice and this permission notice shall be included in
261 -all copies or substantial portions of the Software.
262 -
263 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
264 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
265 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
266 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
267 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
268 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
269 -THE SOFTWARE.
270 -=========================================
271 -END OF normalize-path@3.0.0 NOTICES AND INFORMATION
272 -
273 -%% picomatch@2.3.2 NOTICES AND INFORMATION BEGIN HERE
274 -=========================================
275 -The MIT License (MIT)
276 -
277 -Copyright (c) 2017-present, Jon Schlinkert.
278 -
279 -Permission is hereby granted, free of charge, to any person obtaining a copy
280 -of this software and associated documentation files (the "Software"), to deal
281 -in the Software without restriction, including without limitation the rights
282 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
283 -copies of the Software, and to permit persons to whom the Software is
284 -furnished to do so, subject to the following conditions:
285 -
286 -The above copyright notice and this permission notice shall be included in
287 -all copies or substantial portions of the Software.
288 -
289 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
290 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
291 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
292 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
293 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
294 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
295 -THE SOFTWARE.
296 -=========================================
297 -END OF picomatch@2.3.2 NOTICES AND INFORMATION
298 -
299 -%% readdirp@3.6.0 NOTICES AND INFORMATION BEGIN HERE
300 -=========================================
301 -MIT License
302 -
303 -Copyright (c) 2012-2019 Thorsten Lorenz, Paul Miller (https://paulmillr.com)
304 -
305 -Permission is hereby granted, free of charge, to any person obtaining a copy
306 -of this software and associated documentation files (the "Software"), to deal
307 -in the Software without restriction, including without limitation the rights
308 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
309 -copies of the Software, and to permit persons to whom the Software is
310 -furnished to do so, subject to the following conditions:
311 -
312 -The above copyright notice and this permission notice shall be included in all
313 -copies or substantial portions of the Software.
314 -
315 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
316 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
317 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
318 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
319 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
320 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
321 -SOFTWARE.
322 -=========================================
323 -END OF readdirp@3.6.0 NOTICES AND INFORMATION
324 -
325 -%% to-regex-range@5.0.1 NOTICES AND INFORMATION BEGIN HERE
326 -=========================================
327 -The MIT License (MIT)
328 -
329 -Copyright (c) 2015-present, Jon Schlinkert.
330 -
331 -Permission is hereby granted, free of charge, to any person obtaining a copy
332 -of this software and associated documentation files (the "Software"), to deal
333 -in the Software without restriction, including without limitation the rights
334 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
335 -copies of the Software, and to permit persons to whom the Software is
336 -furnished to do so, subject to the following conditions:
337 -
338 -The above copyright notice and this permission notice shall be included in
339 -all copies or substantial portions of the Software.
340 -
341 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
342 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
343 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
344 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
345 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
346 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
347 -THE SOFTWARE.
348 -=========================================
349 -END OF to-regex-range@5.0.1 NOTICES AND INFORMATION
350 -
351 -SUMMARY
352 -=========================================
353 -Total Packages: 14
354 -=========================================
\ No newline at end of file
node_modules/playwright-core/lib/tools/cli-client/channelSessions.js deleted
-141
@@ -1,141 +0,0 @@
1 -"use strict";
2 -var __create = Object.create;
3 -var __defProp = Object.defineProperty;
4 -var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5 -var __getOwnPropNames = Object.getOwnPropertyNames;
6 -var __getProtoOf = Object.getPrototypeOf;
7 -var __hasOwnProp = Object.prototype.hasOwnProperty;
8 -var __export = (target, all) => {
9 - for (var name in all)
10 - __defProp(target, name, { get: all[name], enumerable: true });
11 -};
12 -var __copyProps = (to, from, except, desc) => {
13 - if (from && typeof from === "object" || typeof from === "function") {
14 - for (let key of __getOwnPropNames(from))
15 - if (!__hasOwnProp.call(to, key) && key !== except)
16 - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17 - }
18 - return to;
19 -};
20 -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21 - // If the importer is in node compatibility mode or this is not an ESM
22 - // file that has been converted to a CommonJS file using a Babel-
23 - // compatible transform (i.e. "__esModule" has not been set), then set
24 - // "default" to the CommonJS "module.exports" for node compatibility.
25 - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26 - mod
27 -));
28 -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29 -var channelSessions_exports = {};
30 -__export(channelSessions_exports, {
31 - isKnownChannel: () => isKnownChannel,
32 - listChannelSessions: () => listChannelSessions
33 -});
34 -module.exports = __toCommonJS(channelSessions_exports);
35 -var import_fs = __toESM(require("fs"));
36 -var import_net = __toESM(require("net"));
37 -var import_os = __toESM(require("os"));
38 -var import_path = __toESM(require("path"));
39 -var import_extension = require("../utils/extension");
40 -function isKnownChannel(name) {
41 - return channelToUserDataDir.has(name);
42 -}
43 -async function listChannelSessions() {
44 - if (process.env.PWTEST_CLI_CHANNEL_SCAN_DISABLED_FOR_TEST)
45 - return [];
46 - const result = [];
47 - for (const [channel, dirs] of channelToUserDataDir) {
48 - const userDataDir = dirs[process.platform];
49 - if (!userDataDir)
50 - continue;
51 - if (!await pathExists(userDataDir))
52 - continue;
53 - const [endpoint, extensionInstalled] = await Promise.all([
54 - readEndpoint(userDataDir),
55 - (0, import_extension.isPlaywrightExtensionInstalled)(userDataDir)
56 - ]);
57 - result.push({ channel, userDataDir, endpoint, extensionInstalled });
58 - }
59 - return result;
60 -}
61 -async function pathExists(p) {
62 - try {
63 - await import_fs.default.promises.access(p);
64 - return true;
65 - } catch {
66 - return false;
67 - }
68 -}
69 -async function readEndpoint(userDataDir) {
70 - let contents;
71 - try {
72 - contents = await import_fs.default.promises.readFile(import_path.default.join(userDataDir, "DevToolsActivePort"), "utf-8");
73 - } catch {
74 - return void 0;
75 - }
76 - const port = parseInt(contents.trim().split("\n")[0], 10);
77 - if (!Number.isFinite(port))
78 - return void 0;
79 - if (!await isPortOpen(port))
80 - return void 0;
81 - return `http://localhost:${port}`;
82 -}
83 -async function isPortOpen(port) {
84 - return new Promise((resolve) => {
85 - const socket = import_net.default.createConnection(port, "127.0.0.1");
86 - const done = (value) => {
87 - socket.destroy();
88 - resolve(value);
89 - };
90 - socket.once("connect", () => done(true));
91 - socket.once("error", () => done(false));
92 - socket.setTimeout(250, () => done(false));
93 - });
94 -}
95 -const channelToUserDataDir = /* @__PURE__ */ new Map([
96 - ["chrome", {
97 - "linux": import_path.default.join(import_os.default.homedir(), ".config", "google-chrome"),
98 - "darwin": import_path.default.join(import_os.default.homedir(), "Library", "Application Support", "Google", "Chrome"),
99 - "win32": import_path.default.join(process.env.LOCALAPPDATA || import_path.default.join(import_os.default.homedir(), "AppData", "Local"), "Google", "Chrome", "User Data")
100 - }],
101 - ["chrome-beta", {
102 - "linux": import_path.default.join(import_os.default.homedir(), ".config", "google-chrome-beta"),
103 - "darwin": import_path.default.join(import_os.default.homedir(), "Library", "Application Support", "Google", "Chrome Beta"),
104 - "win32": import_path.default.join(process.env.LOCALAPPDATA || import_path.default.join(import_os.default.homedir(), "AppData", "Local"), "Google", "Chrome Beta", "User Data")
105 - }],
106 - ["chrome-dev", {
107 - "linux": import_path.default.join(import_os.default.homedir(), ".config", "google-chrome-unstable"),
108 - "darwin": import_path.default.join(import_os.default.homedir(), "Library", "Application Support", "Google", "Chrome Dev"),
109 - "win32": import_path.default.join(process.env.LOCALAPPDATA || import_path.default.join(import_os.default.homedir(), "AppData", "Local"), "Google", "Chrome Dev", "User Data")
110 - }],
111 - ["chrome-canary", {
112 - "linux": import_path.default.join(import_os.default.homedir(), ".config", "google-chrome-canary"),
113 - "darwin": import_path.default.join(import_os.default.homedir(), "Library", "Application Support", "Google", "Chrome Canary"),
114 - "win32": import_path.default.join(process.env.LOCALAPPDATA || import_path.default.join(import_os.default.homedir(), "AppData", "Local"), "Google", "Chrome SxS", "User Data")
115 - }],
116 - ["msedge", {
117 - "linux": import_path.default.join(import_os.default.homedir(), ".config", "microsoft-edge"),
118 - "darwin": import_path.default.join(import_os.default.homedir(), "Library", "Application Support", "Microsoft Edge"),
119 - "win32": import_path.default.join(process.env.LOCALAPPDATA || import_path.default.join(import_os.default.homedir(), "AppData", "Local"), "Microsoft", "Edge", "User Data")
120 - }],
121 - ["msedge-beta", {
122 - "linux": import_path.default.join(import_os.default.homedir(), ".config", "microsoft-edge-beta"),
123 - "darwin": import_path.default.join(import_os.default.homedir(), "Library", "Application Support", "Microsoft Edge Beta"),
124 - "win32": import_path.default.join(process.env.LOCALAPPDATA || import_path.default.join(import_os.default.homedir(), "AppData", "Local"), "Microsoft", "Edge Beta", "User Data")
125 - }],
126 - ["msedge-dev", {
127 - "linux": import_path.default.join(import_os.default.homedir(), ".config", "microsoft-edge-dev"),
128 - "darwin": import_path.default.join(import_os.default.homedir(), "Library", "Application Support", "Microsoft Edge Dev"),
129 - "win32": import_path.default.join(process.env.LOCALAPPDATA || import_path.default.join(import_os.default.homedir(), "AppData", "Local"), "Microsoft", "Edge Dev", "User Data")
130 - }],
131 - ["msedge-canary", {
132 - "linux": import_path.default.join(import_os.default.homedir(), ".config", "microsoft-edge-canary"),
133 - "darwin": import_path.default.join(import_os.default.homedir(), "Library", "Application Support", "Microsoft Edge Canary"),
134 - "win32": import_path.default.join(process.env.LOCALAPPDATA || import_path.default.join(import_os.default.homedir(), "AppData", "Local"), "Microsoft", "Edge SxS", "User Data")
135 - }]
136 -]);
137 -// Annotate the CommonJS export names for ESM import in node:
138 -0 && (module.exports = {
139 - isKnownChannel,
140 - listChannelSessions
141 -});
node_modules/playwright-core/lib/tools/cli-client/cli.js deleted
-6
@@ -1,6 +0,0 @@
1 -"use strict";
2 -var import_program = require("./program");
3 -(0, import_program.program)().catch((e) => {
4 - console.error(e.message);
5 - process.exit(1);
6 -});
node_modules/playwright-core/lib/tools/cli-client/help.json deleted
-679
@@ -1,679 +0,0 @@
1 -{
2 - "global": "Usage: playwright-cli <command> [args] [options]\nUsage: playwright-cli -s=<session> <command> [args] [options]\n\nCore:\n open [url] open the browser\n attach [name] attach to a running playwright browser\n close close the browser\n detach detach from an attached browser\n goto <url> navigate to a url\n type <text> type text into editable element\n click <target> [button] perform click on a web page\n dblclick <target> [button] perform double click on a web page\n fill <target> <text> fill text into editable element\n drag <startTarget> <endTarget> perform drag and drop between two elements\n drop <target> drop files or data onto an element\n hover <target> hover over element on page\n select <target> <val> select an option in a dropdown\n upload <file> upload one or multiple files\n check <target> check a checkbox or radio button\n uncheck <target> uncheck a checkbox or radio button\n snapshot [target] capture page snapshot to obtain element ref\n eval <func> [target] evaluate javascript expression on page or element\n dialog-accept [prompt] accept a dialog\n dialog-dismiss dismiss a dialog\n resize <w> <h> resize the browser window\n delete-data delete session data\n\nNavigation:\n go-back go back to the previous page\n go-forward go forward to the next page\n reload reload the current page\n\nKeyboard:\n press <key> press a key on the keyboard, `a`, `arrowleft`\n keydown <key> press a key down on the keyboard\n keyup <key> press a key up on the keyboard\n\nMouse:\n mousemove <x> <y> move mouse to a given position\n mousedown [button] press mouse down\n mouseup [button] press mouse up\n mousewheel <dx> <dy> scroll mouse wheel\n\nSave as:\n screenshot [target] screenshot of the current page or element\n pdf save page as pdf\n\nTabs:\n tab-list list all tabs\n tab-new [url] create a new tab\n tab-close [index] close a browser tab\n tab-select <index> select a browser tab\n\nStorage:\n state-load <filename> loads browser storage (authentication) state from a file\n state-save [filename] saves the current storage (authentication) state to a file\n cookie-list list all cookies (optionally filtered by domain/path)\n cookie-get <name> get a specific cookie by name\n cookie-set <name> <value> set a cookie with optional flags\n cookie-delete <name> delete a specific cookie\n cookie-clear clear all cookies\n localstorage-list list all localstorage key-value pairs\n localstorage-get <key> get a localstorage item by key\n localstorage-set <key> <value> set a localstorage item\n localstorage-delete <key> delete a localstorage item\n localstorage-clear clear all localstorage\n sessionstorage-list list all sessionstorage key-value pairs\n sessionstorage-get <key> get a sessionstorage item by key\n sessionstorage-set <key> <value> set a sessionstorage item\n sessionstorage-delete <key> delete a sessionstorage item\n sessionstorage-clear clear all sessionstorage\n\nNetwork:\n requests list all network requests since loading the page. each request is numbered for use with the `request` command.\n request <index> show full details (headers, body, response) of a single network request by its number from the `requests` command.\n request-headers <index> print only the request headers for a single network request by its number from the `requests` command.\n request-body <index> print only the request body for a single network request by its number from the `requests` command.\n response-headers <index> print only the response headers for a single network request by its number from the `requests` command.\n response-body <index> print the response body for a single network request by its number from the `requests` command. textual bodies are inlined; binary bodies are saved to a file and the path is printed.\n route <pattern> mock network requests matching a url pattern\n route-list list all active network routes\n unroute [pattern] remove routes matching a pattern (or all routes)\n network-state-set <state> set the browser network state to online or offline\n\nDevTools:\n console [min-level] list console messages\n run-code [code] run playwright code snippet\n tracing-start start trace recording\n tracing-stop stop trace recording\n video-start [filename] start video recording\n video-stop stop video recording\n video-chapter <title> add a chapter marker to the video recording\n show show playwright dashboard\n pause-at <location> run the test up to a specific location and pause there\n resume resume the test execution\n step-over step over the next call in the test\n generate-locator <target> generate a playwright locator for the given element\n highlight [target] show (or with --hide, remove) a highlight overlay for an element; `--hide` without a target hides all page highlights.\n\nInstall:\n install initialize workspace\n install-browser [browser] install browser\n\nBrowser sessions:\n list list browser sessions\n close-all close all browser sessions\n kill-all forcefully kill all browser sessions (for stale/zombie processes)\n\nGlobal options:\n --help [command] print help\n --json output response as JSON\n --raw output only the result value, without status and code\n --version print version",
3 - "commands": {
4 - "open": {
5 - "help": "playwright-cli open [url]\n\nOpen the browser\n\nArguments:\n [url] the url to navigate to\nOptions:\n --browser browser or chrome channel to use, possible values: chrome, firefox, webkit, msedge.\n --config path to the configuration file, defaults to .playwright/cli.config.json\n --headed run browser in headed mode\n --persistent use persistent browser profile\n --profile path to a persistent user data directory.",
6 - "flags": {
7 - "browser": "string",
8 - "config": "string",
9 - "headed": "boolean",
10 - "persistent": "boolean",
11 - "profile": "string"
12 - },
13 - "args": [
14 - "url"
15 - ]
16 - },
17 - "attach": {
18 - "help": "playwright-cli attach [name]\n\nAttach to a running Playwright browser\n\nArguments:\n [name] bound browser name to attach to\nOptions:\n --cdp connect to an existing browser via cdp endpoint url.\n --endpoint playwright browser server endpoint to attach to.\n --extension connect to browser extension, optionally specify browser name (e.g. --extension=chrome)\n --config path to the configuration file, defaults to .playwright/cli.config.json\n --session session name (defaults to bound browser name or \"default\")",
19 - "flags": {
20 - "cdp": "string",
21 - "endpoint": "string",
22 - "extension": "string",
23 - "config": "string",
24 - "session": "string"
25 - },
26 - "args": [
27 - "name"
28 - ]
29 - },
30 - "close": {
31 - "help": "playwright-cli close \n\nClose the browser\n",
32 - "flags": {},
33 - "args": []
34 - },
35 - "detach": {
36 - "help": "playwright-cli detach \n\nDetach from an attached browser\n",
37 - "flags": {},
38 - "args": []
39 - },
40 - "goto": {
41 - "help": "playwright-cli goto <url>\n\nNavigate to a URL\n\nArguments:\n <url> the url to navigate to",
42 - "flags": {},
43 - "args": [
44 - "url"
45 - ]
46 - },
47 - "type": {
48 - "help": "playwright-cli type <text>\n\nType text into editable element\n\nArguments:\n <text> text to type into the element\nOptions:\n --submit whether to submit entered text (press enter after)",
49 - "flags": {
50 - "submit": "boolean"
51 - },
52 - "args": [
53 - "text"
54 - ]
55 - },
56 - "click": {
57 - "help": "playwright-cli click <target> [button]\n\nPerform click on a web page\n\nArguments:\n <target> exact target element reference from the page snapshot, or a unique element selector\n [button] button to click, defaults to left\nOptions:\n --modifiers modifier keys to press",
58 - "flags": {
59 - "modifiers": "string"
60 - },
61 - "args": [
62 - "target",
63 - "button"
64 - ]
65 - },
66 - "dblclick": {
67 - "help": "playwright-cli dblclick <target> [button]\n\nPerform double click on a web page\n\nArguments:\n <target> exact target element reference from the page snapshot, or a unique element selector\n [button] button to click, defaults to left\nOptions:\n --modifiers modifier keys to press",
68 - "flags": {
69 - "modifiers": "string"
70 - },
71 - "args": [
72 - "target",
73 - "button"
74 - ]
75 - },
76 - "fill": {
77 - "help": "playwright-cli fill <target> <text>\n\nFill text into editable element\n\nArguments:\n <target> exact target element reference from the page snapshot, or a unique element selector\n <text> text to fill into the element\nOptions:\n --submit whether to submit entered text (press enter after)",
78 - "flags": {
79 - "submit": "boolean"
80 - },
81 - "args": [
82 - "target",
83 - "text"
84 - ]
85 - },
86 - "drag": {
87 - "help": "playwright-cli drag <startTarget> <endTarget>\n\nPerform drag and drop between two elements\n\nArguments:\n <startTarget> exact source element reference from the page snapshot, or a unique element selector\n <endTarget> exact target element reference from the page snapshot, or a unique element selector",
88 - "flags": {},
89 - "args": [
90 - "startTarget",
91 - "endTarget"
92 - ]
93 - },
94 - "drop": {
95 - "help": "playwright-cli drop <target>\n\nDrop files or data onto an element\n\nArguments:\n <target> exact target element reference from the page snapshot, or a unique element selector\nOptions:\n --path absolute path to a file to drop onto the element (repeatable)\n --data data to drop in \"mime/type=value\" format, e.g. --data \"text/plain=hello\" (repeatable)",
96 - "flags": {
97 - "path": "string",
98 - "data": "string"
99 - },
100 - "args": [
101 - "target"
102 - ]
103 - },
104 - "hover": {
105 - "help": "playwright-cli hover <target>\n\nHover over element on page\n\nArguments:\n <target> exact target element reference from the page snapshot, or a unique element selector",
106 - "flags": {},
107 - "args": [
108 - "target"
109 - ]
110 - },
111 - "select": {
112 - "help": "playwright-cli select <target> <val>\n\nSelect an option in a dropdown\n\nArguments:\n <target> exact target element reference from the page snapshot, or a unique element selector\n <val> value to select in the dropdown",
113 - "flags": {},
114 - "args": [
115 - "target",
116 - "val"
117 - ]
118 - },
119 - "upload": {
120 - "help": "playwright-cli upload <file>\n\nUpload one or multiple files\n\nArguments:\n <file> the absolute paths to the files to upload",
121 - "flags": {},
122 - "args": [
123 - "file"
124 - ]
125 - },
126 - "check": {
127 - "help": "playwright-cli check <target>\n\nCheck a checkbox or radio button\n\nArguments:\n <target> exact target element reference from the page snapshot, or a unique element selector",
128 - "flags": {},
129 - "args": [
130 - "target"
131 - ]
132 - },
133 - "uncheck": {
134 - "help": "playwright-cli uncheck <target>\n\nUncheck a checkbox or radio button\n\nArguments:\n <target> exact target element reference from the page snapshot, or a unique element selector",
135 - "flags": {},
136 - "args": [
137 - "target"
138 - ]
139 - },
140 - "snapshot": {
141 - "help": "playwright-cli snapshot [target]\n\nCapture page snapshot to obtain element ref\n\nArguments:\n [target] element reference from the previous page snapshot, or a unique element selector for the root element to capture a partial snapshot instead of the whole page\nOptions:\n --filename save snapshot to markdown file instead of returning it in the response.\n --depth limit snapshot depth, unlimited by default.\n --boxes include each element's bounding box as [box=x,y,width,height] in the snapshot. coordinates are viewport-relative, in css pixels (element.getboundingclientrect).",
142 - "flags": {
143 - "filename": "string",
144 - "depth": "string",
145 - "boxes": "boolean"
146 - },
147 - "args": [
148 - "target"
149 - ]
150 - },
151 - "eval": {
152 - "help": "playwright-cli eval <func> [target]\n\nEvaluate JavaScript expression on page or element\n\nArguments:\n <func> () => { /* code */ } or (element) => { /* code */ } when element is provided\n [target] exact target element reference from the page snapshot, or a unique element selector\nOptions:\n --filename save evaluation result to a file instead of returning it in the response.",
153 - "flags": {
154 - "filename": "string"
155 - },
156 - "args": [
157 - "func",
158 - "target"
159 - ]
160 - },
161 - "console": {
162 - "help": "playwright-cli console [min-level]\n\nList console messages\n\nArguments:\n [min-level] level of the console messages to return. each level includes the messages of more severe levels. defaults to \"info\".\nOptions:\n --clear whether to clear the console list",
163 - "flags": {
164 - "clear": "boolean"
165 - },
166 - "args": [
167 - "min-level"
168 - ]
169 - },
170 - "dialog-accept": {
171 - "help": "playwright-cli dialog-accept [prompt]\n\nAccept a dialog\n\nArguments:\n [prompt] the text of the prompt in case of a prompt dialog.",
172 - "flags": {},
173 - "args": [
174 - "prompt"
175 - ]
176 - },
177 - "dialog-dismiss": {
178 - "help": "playwright-cli dialog-dismiss \n\nDismiss a dialog\n",
179 - "flags": {},
180 - "args": []
181 - },
182 - "resize": {
183 - "help": "playwright-cli resize <w> <h>\n\nResize the browser window\n\nArguments:\n <w> width of the browser window\n <h> height of the browser window",
184 - "flags": {},
185 - "args": [
186 - "w",
187 - "h"
188 - ]
189 - },
190 - "run-code": {
191 - "help": "playwright-cli run-code [code]\n\nRun Playwright code snippet\n\nArguments:\n [code] a javascript function containing playwright code to execute. it will be invoked with a single argument, page, which you can use for any page interaction.\nOptions:\n --filename load code from the specified file.",
192 - "flags": {
193 - "filename": "string"
194 - },
195 - "args": [
196 - "code"
197 - ]
198 - },
199 - "delete-data": {
200 - "help": "playwright-cli delete-data \n\nDelete session data\n",
201 - "flags": {},
202 - "args": []
203 - },
204 - "go-back": {
205 - "help": "playwright-cli go-back \n\nGo back to the previous page\n",
206 - "flags": {},
207 - "args": []
208 - },
209 - "go-forward": {
210 - "help": "playwright-cli go-forward \n\nGo forward to the next page\n",
211 - "flags": {},
212 - "args": []
213 - },
214 - "reload": {
215 - "help": "playwright-cli reload \n\nReload the current page\n",
216 - "flags": {},
217 - "args": []
218 - },
219 - "press": {
220 - "help": "playwright-cli press <key>\n\nPress a key on the keyboard, `a`, `ArrowLeft`\n\nArguments:\n <key> name of the key to press or a character to generate, such as `arrowleft` or `a`",
221 - "flags": {},
222 - "args": [
223 - "key"
224 - ]
225 - },
226 - "keydown": {
227 - "help": "playwright-cli keydown <key>\n\nPress a key down on the keyboard\n\nArguments:\n <key> name of the key to press or a character to generate, such as `arrowleft` or `a`",
228 - "flags": {},
229 - "args": [
230 - "key"
231 - ]
232 - },
233 - "keyup": {
234 - "help": "playwright-cli keyup <key>\n\nPress a key up on the keyboard\n\nArguments:\n <key> name of the key to press or a character to generate, such as `arrowleft` or `a`",
235 - "flags": {},
236 - "args": [
237 - "key"
238 - ]
239 - },
240 - "mousemove": {
241 - "help": "playwright-cli mousemove <x> <y>\n\nMove mouse to a given position\n\nArguments:\n <x> x coordinate\n <y> y coordinate",
242 - "flags": {},
243 - "args": [
244 - "x",
245 - "y"
246 - ]
247 - },
248 - "mousedown": {
249 - "help": "playwright-cli mousedown [button]\n\nPress mouse down\n\nArguments:\n [button] button to press, defaults to left",
250 - "flags": {},
251 - "args": [
252 - "button"
253 - ]
254 - },
255 - "mouseup": {
256 - "help": "playwright-cli mouseup [button]\n\nPress mouse up\n\nArguments:\n [button] button to press, defaults to left",
257 - "flags": {},
258 - "args": [
259 - "button"
260 - ]
261 - },
262 - "mousewheel": {
263 - "help": "playwright-cli mousewheel <dx> <dy>\n\nScroll mouse wheel\n\nArguments:\n <dx> x delta\n <dy> y delta",
264 - "flags": {},
265 - "args": [
266 - "dx",
267 - "dy"
268 - ]
269 - },
270 - "screenshot": {
271 - "help": "playwright-cli screenshot [target]\n\nscreenshot of the current page or element\n\nArguments:\n [target] exact target element reference from the page snapshot, or a unique element selector\nOptions:\n --filename file name to save the screenshot to. defaults to `page-{timestamp}.{png|jpeg}` if not specified.\n --full-page when true, takes a screenshot of the full scrollable page, instead of the currently visible viewport.",
272 - "flags": {
273 - "filename": "string",
274 - "full-page": "boolean"
275 - },
276 - "args": [
277 - "target"
278 - ]
279 - },
280 - "pdf": {
281 - "help": "playwright-cli pdf \n\nSave page as PDF\n\nOptions:\n --filename file name to save the pdf to. defaults to `page-{timestamp}.pdf` if not specified.",
282 - "flags": {
283 - "filename": "string"
284 - },
285 - "args": []
286 - },
287 - "tab-list": {
288 - "help": "playwright-cli tab-list \n\nList all tabs\n",
289 - "flags": {},
290 - "args": []
291 - },
292 - "tab-new": {
293 - "help": "playwright-cli tab-new [url]\n\nCreate a new tab\n\nArguments:\n [url] the url to navigate to in the new tab. if omitted, the new tab will be blank.",
294 - "flags": {},
295 - "args": [
296 - "url"
297 - ]
298 - },
299 - "tab-close": {
300 - "help": "playwright-cli tab-close [index]\n\nClose a browser tab\n\nArguments:\n [index] tab index. if omitted, current tab is closed.",
301 - "flags": {},
302 - "args": [
303 - "index"
304 - ]
305 - },
306 - "tab-select": {
307 - "help": "playwright-cli tab-select <index>\n\nSelect a browser tab\n\nArguments:\n <index> tab index",
308 - "flags": {},
309 - "args": [
310 - "index"
311 - ]
312 - },
313 - "state-load": {
314 - "help": "playwright-cli state-load <filename>\n\nLoads browser storage (authentication) state from a file\n\nArguments:\n <filename> file name to load the storage state from.",
315 - "flags": {},
316 - "args": [
317 - "filename"
318 - ]
319 - },
320 - "state-save": {
321 - "help": "playwright-cli state-save [filename]\n\nSaves the current storage (authentication) state to a file\n\nArguments:\n [filename] file name to save the storage state to.",
322 - "flags": {},
323 - "args": [
324 - "filename"
325 - ]
326 - },
327 - "cookie-list": {
328 - "help": "playwright-cli cookie-list \n\nList all cookies (optionally filtered by domain/path)\n\nOptions:\n --domain filter cookies by domain\n --path filter cookies by path",
329 - "flags": {
330 - "domain": "string",
331 - "path": "string"
332 - },
333 - "args": [],
334 - "raw": true
335 - },
336 - "cookie-get": {
337 - "help": "playwright-cli cookie-get <name>\n\nGet a specific cookie by name\n\nArguments:\n <name> cookie name",
338 - "flags": {},
339 - "args": [
340 - "name"
341 - ],
342 - "raw": true
343 - },
344 - "cookie-set": {
345 - "help": "playwright-cli cookie-set <name> <value>\n\nSet a cookie with optional flags\n\nArguments:\n <name> cookie name\n <value> cookie value\nOptions:\n --domain cookie domain\n --path cookie path\n --expires cookie expiration as unix timestamp\n --httpOnly whether the cookie is http only\n --secure whether the cookie is secure\n --sameSite cookie samesite attribute",
346 - "flags": {
347 - "domain": "string",
348 - "path": "string",
349 - "expires": "string",
350 - "httpOnly": "boolean",
351 - "secure": "boolean",
352 - "sameSite": "string"
353 - },
354 - "args": [
355 - "name",
356 - "value"
357 - ]
358 - },
359 - "cookie-delete": {
360 - "help": "playwright-cli cookie-delete <name>\n\nDelete a specific cookie\n\nArguments:\n <name> cookie name",
361 - "flags": {},
362 - "args": [
363 - "name"
364 - ]
365 - },
366 - "cookie-clear": {
367 - "help": "playwright-cli cookie-clear \n\nClear all cookies\n",
368 - "flags": {},
369 - "args": []
370 - },
371 - "localstorage-list": {
372 - "help": "playwright-cli localstorage-list \n\nList all localStorage key-value pairs\n",
373 - "flags": {},
374 - "args": [],
375 - "raw": true
376 - },
377 - "localstorage-get": {
378 - "help": "playwright-cli localstorage-get <key>\n\nGet a localStorage item by key\n\nArguments:\n <key> key to get",
379 - "flags": {},
380 - "args": [
381 - "key"
382 - ],
383 - "raw": true
384 - },
385 - "localstorage-set": {
386 - "help": "playwright-cli localstorage-set <key> <value>\n\nSet a localStorage item\n\nArguments:\n <key> key to set\n <value> value to set",
387 - "flags": {},
388 - "args": [
389 - "key",
390 - "value"
391 - ]
392 - },
393 - "localstorage-delete": {
394 - "help": "playwright-cli localstorage-delete <key>\n\nDelete a localStorage item\n\nArguments:\n <key> key to delete",
395 - "flags": {},
396 - "args": [
397 - "key"
398 - ]
399 - },
400 - "localstorage-clear": {
401 - "help": "playwright-cli localstorage-clear \n\nClear all localStorage\n",
402 - "flags": {},
403 - "args": []
404 - },
405 - "sessionstorage-list": {
406 - "help": "playwright-cli sessionstorage-list \n\nList all sessionStorage key-value pairs\n",
407 - "flags": {},
408 - "args": [],
409 - "raw": true
410 - },
411 - "sessionstorage-get": {
412 - "help": "playwright-cli sessionstorage-get <key>\n\nGet a sessionStorage item by key\n\nArguments:\n <key> key to get",
413 - "flags": {},
414 - "args": [
415 - "key"
416 - ],
417 - "raw": true
418 - },
419 - "sessionstorage-set": {
420 - "help": "playwright-cli sessionstorage-set <key> <value>\n\nSet a sessionStorage item\n\nArguments:\n <key> key to set\n <value> value to set",
421 - "flags": {},
422 - "args": [
423 - "key",
424 - "value"
425 - ]
426 - },
427 - "sessionstorage-delete": {
428 - "help": "playwright-cli sessionstorage-delete <key>\n\nDelete a sessionStorage item\n\nArguments:\n <key> key to delete",
429 - "flags": {},
430 - "args": [
431 - "key"
432 - ]
433 - },
434 - "sessionstorage-clear": {
435 - "help": "playwright-cli sessionstorage-clear \n\nClear all sessionStorage\n",
436 - "flags": {},
437 - "args": []
438 - },
439 - "requests": {
440 - "help": "playwright-cli requests \n\nList all network requests since loading the page. Each request is numbered for use with the `request` command.\n\nOptions:\n --static whether to include successful static resources like images, fonts, scripts, etc. defaults to false.\n --filter only return requests whose url matches this regexp (e.g. \"/api/.*user\").\n --clear whether to clear the network list",
441 - "flags": {
442 - "static": "boolean",
443 - "filter": "string",
444 - "clear": "boolean"
445 - },
446 - "args": []
447 - },
448 - "request": {
449 - "help": "playwright-cli request <index>\n\nShow full details (headers, body, response) of a single network request by its number from the `requests` command.\n\nArguments:\n <index> 1-based number of the request as listed by `requests`\nOptions:\n --filename filename to save the result to. if not provided, output is returned as text.",
450 - "flags": {
451 - "filename": "string"
452 - },
453 - "args": [
454 - "index"
455 - ]
456 - },
457 - "request-headers": {
458 - "help": "playwright-cli request-headers <index>\n\nPrint only the request headers for a single network request by its number from the `requests` command.\n\nArguments:\n <index> 1-based number of the request as listed by `requests`\nOptions:\n --filename filename to save the result to. if not provided, output is returned as text.",
459 - "flags": {
460 - "filename": "string"
461 - },
462 - "args": [
463 - "index"
464 - ],
465 - "raw": true
466 - },
467 - "request-body": {
468 - "help": "playwright-cli request-body <index>\n\nPrint only the request body for a single network request by its number from the `requests` command.\n\nArguments:\n <index> 1-based number of the request as listed by `requests`\nOptions:\n --filename filename to save the result to. if not provided, output is returned as text.",
469 - "flags": {
470 - "filename": "string"
471 - },
472 - "args": [
473 - "index"
474 - ],
475 - "raw": true
476 - },
477 - "response-headers": {
478 - "help": "playwright-cli response-headers <index>\n\nPrint only the response headers for a single network request by its number from the `requests` command.\n\nArguments:\n <index> 1-based number of the request as listed by `requests`\nOptions:\n --filename filename to save the result to. if not provided, output is returned as text.",
479 - "flags": {
480 - "filename": "string"
481 - },
482 - "args": [
483 - "index"
484 - ],
485 - "raw": true
486 - },
487 - "response-body": {
488 - "help": "playwright-cli response-body <index>\n\nPrint the response body for a single network request by its number from the `requests` command. Textual bodies are inlined; binary bodies are saved to a file and the path is printed.\n\nArguments:\n <index> 1-based number of the request as listed by `requests`\nOptions:\n --filename filename to save the result to. if not provided, output is returned as text.",
489 - "flags": {
490 - "filename": "string"
491 - },
492 - "args": [
493 - "index"
494 - ],
495 - "raw": true
496 - },
497 - "route": {
498 - "help": "playwright-cli route <pattern>\n\nMock network requests matching a URL pattern\n\nArguments:\n <pattern> url pattern to match (e.g., \"**/api/users\")\nOptions:\n --status http status code (default: 200)\n --body response body (text or json string)\n --content-type content-type header\n --header header to add in \"name: value\" format (repeatable)\n --remove-header comma-separated header names to remove",
499 - "flags": {
500 - "status": "string",
501 - "body": "string",
502 - "content-type": "string",
503 - "header": "string",
504 - "remove-header": "string"
505 - },
506 - "args": [
507 - "pattern"
508 - ]
509 - },
510 - "route-list": {
511 - "help": "playwright-cli route-list \n\nList all active network routes\n",
512 - "flags": {},
513 - "args": [],
514 - "raw": true
515 - },
516 - "unroute": {
517 - "help": "playwright-cli unroute [pattern]\n\nRemove routes matching a pattern (or all routes)\n\nArguments:\n [pattern] url pattern to unroute (omit to remove all)",
518 - "flags": {},
519 - "args": [
520 - "pattern"
521 - ]
522 - },
523 - "network-state-set": {
524 - "help": "playwright-cli network-state-set <state>\n\nSet the browser network state to online or offline\n\nArguments:\n <state> set to \"offline\" to simulate offline mode, \"online\" to restore network connectivity",
525 - "flags": {},
526 - "args": [
527 - "state"
528 - ]
529 - },
530 - "config-print": {
531 - "help": "playwright-cli config-print \n\nPrint the final resolved config after merging CLI options, environment variables and config file.\n",
532 - "flags": {},
533 - "args": []
534 - },
535 - "install": {
536 - "help": "playwright-cli install \n\nInitialize workspace\n\nOptions:\n --skills install skills, possible values: claude (default), agents.",
537 - "flags": {
538 - "skills": "string"
539 - },
540 - "args": []
541 - },
542 - "install-browser": {
543 - "help": "playwright-cli install-browser [browser]\n\nInstall browser\n\nArguments:\n [browser] browser to install\nOptions:\n --with-deps install system dependencies for browsers\n --dry-run do not execute installation, only print information\n --list prints list of browsers from all playwright installations\n --force force reinstall of already installed browsers\n --only-shell only install headless shell when installing chromium\n --no-shell do not install chromium headless shell",
544 - "flags": {
545 - "with-deps": "boolean",
546 - "dry-run": "boolean",
547 - "list": "boolean",
548 - "force": "boolean",
549 - "only-shell": "boolean",
550 - "no-shell": "boolean"
551 - },
552 - "args": [
553 - "browser"
554 - ]
555 - },
556 - "tracing-start": {
557 - "help": "playwright-cli tracing-start \n\nStart trace recording\n",
558 - "flags": {},
559 - "args": []
560 - },
561 - "tracing-stop": {
562 - "help": "playwright-cli tracing-stop \n\nStop trace recording\n",
563 - "flags": {},
564 - "args": []
565 - },
566 - "video-start": {
567 - "help": "playwright-cli video-start [filename]\n\nStart video recording\n\nArguments:\n [filename] filename to save the video.\nOptions:\n --size video frame size, e.g. \"800x600\". if not specified, the size of the recorded video will fit 800x800.",
568 - "flags": {
569 - "size": "string"
570 - },
571 - "args": [
572 - "filename"
573 - ]
574 - },
575 - "video-stop": {
576 - "help": "playwright-cli video-stop \n\nStop video recording\n",
577 - "flags": {},
578 - "args": []
579 - },
580 - "video-chapter": {
581 - "help": "playwright-cli video-chapter <title>\n\nAdd a chapter marker to the video recording\n\nArguments:\n <title> chapter title.\nOptions:\n --description chapter description.\n --duration duration in milliseconds to show the chapter card.",
582 - "flags": {
583 - "description": "string",
584 - "duration": "string"
585 - },
586 - "args": [
587 - "title"
588 - ]
589 - },
590 - "show": {
591 - "help": "playwright-cli show \n\nShow Playwright Dashboard\n\nOptions:\n --port start as a blocking http server on this port (use 0 for a random port)\n --host host to bind to when using --port (defaults to localhost)\n --annotate switch the dashboard into annotation mode.\n --kill kill the dashboard daemon.",
592 - "flags": {
593 - "port": "string",
594 - "host": "string",
595 - "annotate": "boolean",
596 - "kill": "boolean"
597 - },
598 - "args": [],
599 - "raw": true
600 - },
601 - "pause-at": {
602 - "help": "playwright-cli pause-at <location>\n\nRun the test up to a specific location and pause there\n\nArguments:\n <location> location to pause at. format is <file>:<line>, e.g. \"example.spec.ts:42\".",
603 - "flags": {},
604 - "args": [
605 - "location"
606 - ]
607 - },
608 - "resume": {
609 - "help": "playwright-cli resume \n\nResume the test execution\n",
610 - "flags": {},
611 - "args": []
612 - },
613 - "step-over": {
614 - "help": "playwright-cli step-over \n\nStep over the next call in the test\n",
615 - "flags": {},
616 - "args": []
617 - },
618 - "generate-locator": {
619 - "help": "playwright-cli generate-locator <target>\n\nGenerate a Playwright locator for the given element\n\nArguments:\n <target> exact target element reference from the page snapshot, or a unique element selector",
620 - "flags": {},
621 - "args": [
622 - "target"
623 - ]
624 - },
625 - "highlight": {
626 - "help": "playwright-cli highlight [target]\n\nShow (or with --hide, remove) a highlight overlay for an element; `--hide` without a target hides all page highlights.\n\nArguments:\n [target] exact target element reference from the page snapshot, or a unique element selector\nOptions:\n --hide hide a previously added highlight for this element, or all page highlights when no element is given\n --style additional inline css applied to the highlight overlay, e.g. \"outline: 2px dashed red\"",
627 - "flags": {
628 - "hide": "boolean",
629 - "style": "string"
630 - },
631 - "args": [
632 - "target"
633 - ]
634 - },
635 - "list": {
636 - "help": "playwright-cli list \n\nList browser sessions\n\nOptions:\n --all list all browser sessions across all workspaces",
637 - "flags": {
638 - "all": "boolean"
639 - },
640 - "args": []
641 - },
642 - "close-all": {
643 - "help": "playwright-cli close-all \n\nClose all browser sessions\n",
644 - "flags": {},
645 - "args": []
646 - },
647 - "kill-all": {
648 - "help": "playwright-cli kill-all \n\nForcefully kill all browser sessions (for stale/zombie processes)\n",
649 - "flags": {},
650 - "args": []
651 - },
652 - "tray": {
653 - "help": "playwright-cli tray \n\nRun tray\n",
654 - "flags": {},
655 - "args": []
656 - }
657 - },
658 - "booleanOptions": [
659 - "headed",
660 - "persistent",
661 - "submit",
662 - "boxes",
663 - "clear",
664 - "full-page",
665 - "httpOnly",
666 - "secure",
667 - "static",
668 - "with-deps",
669 - "dry-run",
670 - "list",
671 - "force",
672 - "only-shell",
673 - "no-shell",
674 - "annotate",
675 - "kill",
676 - "hide",
677 - "all"
678 - ]
679 -}
\ No newline at end of file
node_modules/playwright-core/lib/tools/cli-client/minimist.js deleted
-128
@@ -1,128 +0,0 @@
1 -"use strict";
2 -var __defProp = Object.defineProperty;
3 -var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4 -var __getOwnPropNames = Object.getOwnPropertyNames;
5 -var __hasOwnProp = Object.prototype.hasOwnProperty;
6 -var __export = (target, all) => {
7 - for (var name in all)
8 - __defProp(target, name, { get: all[name], enumerable: true });
9 -};
10 -var __copyProps = (to, from, except, desc) => {
11 - if (from && typeof from === "object" || typeof from === "function") {
12 - for (let key of __getOwnPropNames(from))
13 - if (!__hasOwnProp.call(to, key) && key !== except)
14 - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15 - }
16 - return to;
17 -};
18 -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19 -var minimist_exports = {};
20 -__export(minimist_exports, {
21 - minimist: () => minimist
22 -});
23 -module.exports = __toCommonJS(minimist_exports);
24 -function minimist(args, opts) {
25 - if (!opts)
26 - opts = {};
27 - const bools = {};
28 - const strings = {};
29 - for (const key of toArray(opts.boolean))
30 - bools[key] = true;
31 - for (const key of toArray(opts.string))
32 - strings[key] = true;
33 - const argv = { _: [] };
34 - function setArg(key, val) {
35 - if (argv[key] === void 0 || bools[key] || typeof argv[key] === "boolean")
36 - argv[key] = val;
37 - else if (Array.isArray(argv[key]))
38 - argv[key].push(val);
39 - else
40 - argv[key] = [argv[key], val];
41 - }
42 - let notFlags = [];
43 - const doubleDashIndex = args.indexOf("--");
44 - if (doubleDashIndex !== -1) {
45 - notFlags = args.slice(doubleDashIndex + 1);
46 - args = args.slice(0, doubleDashIndex);
47 - }
48 - for (let i = 0; i < args.length; i++) {
49 - const arg = args[i];
50 - let key;
51 - let next;
52 - if (/^--.+=/.test(arg)) {
53 - const m = arg.match(/^--([^=]+)=([\s\S]*)$/);
54 - key = m[1];
55 - if (bools[key])
56 - throw new Error(`boolean option '--${key}' should not be passed with '=value', use '--${key}' or '--no-${key}' instead`);
57 - setArg(key, m[2]);
58 - } else if (/^--no-.+/.test(arg)) {
59 - key = arg.match(/^--no-(.+)/)[1];
60 - setArg(key, false);
61 - } else if (/^--.+/.test(arg)) {
62 - key = arg.match(/^--(.+)/)[1];
63 - next = args[i + 1];
64 - if (next !== void 0 && !/^(-|--)[^-]/.test(next) && !bools[key]) {
65 - setArg(key, next);
66 - i += 1;
67 - } else if (/^(true|false)$/.test(next)) {
68 - setArg(key, next === "true");
69 - i += 1;
70 - } else {
71 - setArg(key, strings[key] ? "" : true);
72 - }
73 - } else if (/^-[^-]+/.test(arg)) {
74 - const letters = arg.slice(1, -1).split("");
75 - let broken = false;
76 - for (let j = 0; j < letters.length; j++) {
77 - next = arg.slice(j + 2);
78 - if (next === "-") {
79 - setArg(letters[j], next);
80 - continue;
81 - }
82 - if (/[A-Za-z]/.test(letters[j]) && next[0] === "=") {
83 - setArg(letters[j], next.slice(1));
84 - broken = true;
85 - break;
86 - }
87 - if (/[A-Za-z]/.test(letters[j]) && /-?\d+(\.\d*)?(e-?\d+)?$/.test(next)) {
88 - setArg(letters[j], next);
89 - broken = true;
90 - break;
91 - }
92 - if (letters[j + 1] && letters[j + 1].match(/\W/)) {
93 - setArg(letters[j], arg.slice(j + 2));
94 - broken = true;
95 - break;
96 - } else {
97 - setArg(letters[j], strings[letters[j]] ? "" : true);
98 - }
99 - }
100 - key = arg.slice(-1)[0];
101 - if (!broken && key !== "-") {
102 - if (args[i + 1] && !/^(-|--)[^-]/.test(args[i + 1]) && !bools[key]) {
103 - setArg(key, args[i + 1]);
104 - i += 1;
105 - } else if (args[i + 1] && /^(true|false)$/.test(args[i + 1])) {
106 - setArg(key, args[i + 1] === "true");
107 - i += 1;
108 - } else {
109 - setArg(key, strings[key] ? "" : true);
110 - }
111 - }
112 - } else {
113 - argv._.push(arg);
114 - }
115 - }
116 - for (const k of notFlags)
117 - argv._.push(k);
118 - return argv;
119 -}
120 -function toArray(value) {
121 - if (!value)
122 - return [];
123 - return Array.isArray(value) ? value : [value];
124 -}
125 -// Annotate the CommonJS export names for ESM import in node:
126 -0 && (module.exports = {
127 - minimist
128 -});
node_modules/playwright-core/lib/tools/cli-client/output.js deleted
-343
@@ -1,343 +0,0 @@
1 -"use strict";
2 -var __create = Object.create;
3 -var __defProp = Object.defineProperty;
4 -var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5 -var __getOwnPropNames = Object.getOwnPropertyNames;
6 -var __getProtoOf = Object.getPrototypeOf;
7 -var __hasOwnProp = Object.prototype.hasOwnProperty;
8 -var __export = (target, all) => {
9 - for (var name in all)
10 - __defProp(target, name, { get: all[name], enumerable: true });
11 -};
12 -var __copyProps = (to, from, except, desc) => {
13 - if (from && typeof from === "object" || typeof from === "function") {
14 - for (let key of __getOwnPropNames(from))
15 - if (!__hasOwnProp.call(to, key) && key !== except)
16 - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17 - }
18 - return to;
19 -};
20 -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21 - // If the importer is in node compatibility mode or this is not an ESM
22 - // file that has been converted to a CommonJS file using a Babel-
23 - // compatible transform (i.e. "__esModule" has not been set), then set
24 - // "default" to the CommonJS "module.exports" for node compatibility.
25 - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26 - mod
27 -));
28 -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29 -var output_exports = {};
30 -__export(output_exports, {
31 - JsonOutput: () => JsonOutput,
32 - TextOutput: () => TextOutput
33 -});
34 -module.exports = __toCommonJS(output_exports);
35 -var import_path = __toESM(require("path"));
36 -var import_extension = require("../utils/extension");
37 -class TextOutput {
38 - constructor() {
39 - this.json = false;
40 - }
41 - version(v) {
42 - console.log(v);
43 - }
44 - help(text) {
45 - console.log(text);
46 - }
47 - errorUnknownCommand(name, globalHelp) {
48 - console.error(`Unknown command: ${name}
49 -`);
50 - console.log(globalHelp);
51 - return process.exit(1);
52 - }
53 - errorUnknownOption(opts, commandHelp) {
54 - console.error(`Unknown option${opts.length > 1 ? "s" : ""}: ${opts.map((f) => `--${f}`).join(", ")}`);
55 - console.log("");
56 - console.log(commandHelp);
57 - return process.exit(1);
58 - }
59 - errorTooManyArguments(expected, received, commandHelp) {
60 - console.error(`error: too many arguments: expected ${expected}, received ${received}`);
61 - console.log("");
62 - console.log(commandHelp);
63 - return process.exit(1);
64 - }
65 - errorAttachConflict() {
66 - console.error(`Error: cannot use target name with --cdp, --endpoint, or --extension`);
67 - return process.exit(1);
68 - }
69 - errorDetachNotAttached(session) {
70 - console.error(`Error: session '${session}' was not attached; use \`playwright-cli${session !== "default" ? ` -s=${session}` : ""} close\` to stop it.`);
71 - return process.exit(1);
72 - }
73 - errorBrowserNotOpenForTool(session) {
74 - console.log(`The browser '${session}' is not open, please run open first`);
75 - console.log("");
76 - console.log(` playwright-cli${session !== "default" ? ` -s=${session}` : ""} open [params]`);
77 - return process.exit(1);
78 - }
79 - errorAttachNoTarget() {
80 - console.error(`Error: no target specified for attach command; use one of [name], --cdp, --endpoint, or --extension to specify the target to attach to.`);
81 - return process.exit(1);
82 - }
83 - list({ all, browsers, servers, channelSessions }) {
84 - const byWorkspace = /* @__PURE__ */ new Map();
85 - for (const browser of browsers) {
86 - let list = byWorkspace.get(browser.workspace);
87 - if (!list) {
88 - list = [];
89 - byWorkspace.set(browser.workspace, list);
90 - }
91 - list.push(browser);
92 - }
93 - let count = 0;
94 - for (const [workspaceKey, list] of byWorkspace) {
95 - if (count === 0)
96 - console.log("### Browsers");
97 - if (all)
98 - console.log(`${import_path.default.relative(process.cwd(), workspaceKey) || "/"}:`);
99 - for (const browser of list)
100 - console.log(renderBrowser(browser));
101 - count += list.length;
102 - }
103 - if (!all) {
104 - if (!count)
105 - console.log(" (no browsers)");
106 - return;
107 - }
108 - if (servers?.length) {
109 - if (count)
110 - console.log("");
111 - console.log("### Browser servers available for attach");
112 - const serversByWorkspace = /* @__PURE__ */ new Map();
113 - for (const server of servers) {
114 - let list = serversByWorkspace.get(server.workspaceDir ?? "");
115 - if (!list) {
116 - list = [];
117 - serversByWorkspace.set(server.workspaceDir ?? "", list);
118 - }
119 - list.push(server);
120 - }
121 - for (const [workspaceKey, list] of serversByWorkspace) {
122 - if (workspaceKey)
123 - console.log(`${import_path.default.relative(process.cwd(), workspaceKey) || "/"}:`);
124 - for (const server of list)
125 - console.log(renderServer(server));
126 - }
127 - count += servers.length;
128 - }
129 - if (!count)
130 - console.log(" (no browsers)");
131 - if (channelSessions?.length) {
132 - console.log("");
133 - console.log("### Browsers available to attach via CDP");
134 - for (const session of channelSessions)
135 - console.log(renderChannelSession(session));
136 - }
137 - }
138 - closeAll(_sessions) {
139 - }
140 - deleteData(session, result) {
141 - if (!result.existed) {
142 - console.log(`No user data found for browser '${session}'.`);
143 - return;
144 - }
145 - if (result.deletedUserDataDir)
146 - console.log(`Deleted user data for browser '${session}'.`);
147 - }
148 - killAll(pids) {
149 - for (const pid of pids)
150 - console.log(`Killed daemon process ${pid}`);
151 - if (pids.length === 0)
152 - console.log("No daemon processes found.");
153 - else
154 - console.log(`Killed ${pids.length} daemon process${pids.length === 1 ? "" : "es"}.`);
155 - }
156 - open(session, pid, toolResult) {
157 - console.log(`### Browser \`${session}\` opened with pid ${pid}.`);
158 - if (toolResult)
159 - console.log(toolResult);
160 - }
161 - attach(session, pid, endpoint, toolResult) {
162 - if (endpoint) {
163 - console.log(`### Session \`${session}\` created, attached to \`${endpoint}\`.`);
164 - console.log(`Run commands with: playwright-cli --s=${session} <command>`);
165 - console.log("");
166 - } else {
167 - console.log(`### Browser \`${session}\` opened with pid ${pid}.`);
168 - }
169 - if (toolResult)
170 - console.log(toolResult);
171 - }
172 - close(session, wasOpen) {
173 - if (!wasOpen) {
174 - console.log(`Browser '${session}' is not open.`);
175 - return;
176 - }
177 - console.log(`Browser '${session}' closed
178 -`);
179 - }
180 - detach(session, wasAttached) {
181 - if (!wasAttached) {
182 - console.log(`Browser '${session}' is not attached.`);
183 - return;
184 - }
185 - console.log(`Browser '${session}' detached
186 -`);
187 - }
188 - installed() {
189 - }
190 - show(_session, pid) {
191 - if (process.env.PWTEST_PRINT_DASHBOARD_PID_FOR_TEST)
192 - console.log(`### Dashboard opened with pid ${pid}.`);
193 - }
194 - toolResult(text) {
195 - console.log(text);
196 - }
197 - installStdio() {
198 - return "inherit";
199 - }
200 -}
201 -class JsonOutput {
202 - constructor() {
203 - this.json = true;
204 - }
205 - version(v) {
206 - this._emit({ version: v });
207 - }
208 - help(text) {
209 - this._emit({ help: text });
210 - }
211 - errorUnknownCommand(name, _globalHelp) {
212 - this._emit({ isError: true, error: `Unknown command: ${name}` });
213 - return process.exit(1);
214 - }
215 - errorUnknownOption(opts, _commandHelp) {
216 - this._emit({ isError: true, error: `Unknown option${opts.length > 1 ? "s" : ""}: ${opts.map((f) => `--${f}`).join(", ")}` });
217 - return process.exit(1);
218 - }
219 - errorTooManyArguments(expected, received, _commandHelp) {
220 - this._emit({ isError: true, error: `error: too many arguments: expected ${expected}, received ${received}` });
221 - return process.exit(1);
222 - }
223 - errorAttachConflict() {
224 - this._emit({ isError: true, error: `cannot use target name with --cdp, --endpoint, or --extension` });
225 - return process.exit(1);
226 - }
227 - errorDetachNotAttached(session) {
228 - this._emit({ isError: true, error: `session '${session}' was not attached; use close to stop it.` });
229 - return process.exit(1);
230 - }
231 - errorBrowserNotOpenForTool(session) {
232 - this._emit({ isError: true, error: `The browser '${session}' is not open, please run open first` });
233 - return process.exit(1);
234 - }
235 - errorAttachNoTarget() {
236 - this._emit({ isError: true, error: `no target specified for attach command; use one of [name], --cdp, --endpoint, or --extension to specify the target to attach to.` });
237 - return process.exit(1);
238 - }
239 - list({ all, browsers, servers, channelSessions }) {
240 - const payload = { browsers };
241 - if (all) {
242 - payload.servers = servers ?? [];
243 - payload.channelSessions = channelSessions ?? [];
244 - }
245 - this._emit(payload);
246 - }
247 - closeAll(sessions) {
248 - this._emit({ closed: sessions });
249 - }
250 - deleteData(session, result) {
251 - this._emit({ session, deleted: result.existed });
252 - }
253 - killAll(pids) {
254 - this._emit({ killed: pids.length, pids });
255 - }
256 - open(session, pid, toolResult) {
257 - this._emit({ session, pid, result: parseJsonText(toolResult) });
258 - }
259 - attach(session, pid, endpoint, toolResult) {
260 - this._emit({
261 - session,
262 - pid,
263 - ...endpoint ? { endpoint } : {},
264 - result: parseJsonText(toolResult)
265 - });
266 - }
267 - close(session, wasOpen) {
268 - this._emit({ session, status: wasOpen ? "closed" : "not-open" });
269 - }
270 - detach(session, wasAttached) {
271 - this._emit({ session, status: wasAttached ? "detached" : "not-attached" });
272 - }
273 - installed() {
274 - this._emit({ installed: true });
275 - }
276 - show(session, pid) {
277 - this._emit({ session, pid });
278 - }
279 - toolResult(text) {
280 - console.log(text);
281 - }
282 - installStdio() {
283 - return "ignore";
284 - }
285 - _emit(value) {
286 - console.log(JSON.stringify(value, null, 2));
287 - }
288 -}
289 -function parseJsonText(text) {
290 - try {
291 - return JSON.parse(text);
292 - } catch {
293 - return text;
294 - }
295 -}
296 -function renderBrowser(browser) {
297 - const lines = [`- ${browser.name}:`];
298 - lines.push(` - status: ${browser.status}`);
299 - if (browser.status === "open" && !browser.compatible)
300 - lines.push(` - version: v${browser.version} [incompatible please re-open]`);
301 - if (browser.browserType)
302 - lines.push(` - browser-type: ${browser.browserType}${browser.attached ? " (attached)" : ""}`);
303 - if (!browser.attached) {
304 - if (browser.userDataDir === null)
305 - lines.push(` - user-data-dir: <in-memory>`);
306 - else
307 - lines.push(` - user-data-dir: ${browser.userDataDir}`);
308 - if (browser.headed !== void 0)
309 - lines.push(` - headed: ${browser.headed}`);
310 - }
311 - return lines.join("\n");
312 -}
313 -function renderServer(server) {
314 - const lines = [`- browser "${server.title}":`];
315 - lines.push(` - browser: ${server.browser.browserName}`);
316 - lines.push(` - version: v${server.playwrightVersion}`);
317 - if (server.browser.userDataDir)
318 - lines.push(` - data-dir: ${server.browser.userDataDir}`);
319 - else
320 - lines.push(` - data-dir: <in-memory>`);
321 - lines.push(` - run \`playwright-cli attach "${server.title}"\` to attach`);
322 - return lines.join("\n");
323 -}
324 -function renderChannelSession(session) {
325 - const lines = [`- ${session.channel}:`];
326 - lines.push(` - data-dir: ${session.userDataDir}`);
327 - if (session.extensionInstalled)
328 - lines.push(` - attach (extension): \`playwright-cli attach --extension=${session.channel}\``);
329 - else
330 - lines.push(` - attach (extension): install at ${import_extension.playwrightExtensionInstallUrl}`);
331 - if (session.endpoint) {
332 - lines.push(` - attach (remote debugging): \`playwright-cli attach --cdp=${session.channel}\``);
333 - } else {
334 - const inspectScheme = session.channel.startsWith("msedge") ? "edge" : "chrome";
335 - lines.push(` - attach (remote debugging): enable at ${inspectScheme}://inspect/#remote-debugging`);
336 - }
337 - return lines.join("\n");
338 -}
339 -// Annotate the CommonJS export names for ESM import in node:
340 -0 && (module.exports = {
341 - JsonOutput,
342 - TextOutput
343 -});
node_modules/playwright-core/lib/tools/cli-client/program.js deleted
-380
@@ -1,380 +0,0 @@
1 -"use strict";
2 -var __create = Object.create;
3 -var __defProp = Object.defineProperty;
4 -var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5 -var __getOwnPropNames = Object.getOwnPropertyNames;
6 -var __getProtoOf = Object.getPrototypeOf;
7 -var __hasOwnProp = Object.prototype.hasOwnProperty;
8 -var __export = (target, all) => {
9 - for (var name in all)
10 - __defProp(target, name, { get: all[name], enumerable: true });
11 -};
12 -var __copyProps = (to, from, except, desc) => {
13 - if (from && typeof from === "object" || typeof from === "function") {
14 - for (let key of __getOwnPropNames(from))
15 - if (!__hasOwnProp.call(to, key) && key !== except)
16 - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17 - }
18 - return to;
19 -};
20 -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21 - // If the importer is in node compatibility mode or this is not an ESM
22 - // file that has been converted to a CommonJS file using a Babel-
23 - // compatible transform (i.e. "__esModule" has not been set), then set
24 - // "default" to the CommonJS "module.exports" for node compatibility.
25 - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26 - mod
27 -));
28 -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29 -var program_exports = {};
30 -__export(program_exports, {
31 - calculateSha1: () => calculateSha1,
32 - program: () => program
33 -});
34 -module.exports = __toCommonJS(program_exports);
35 -var import_child_process = require("child_process");
36 -var import_crypto = __toESM(require("crypto"));
37 -var import_os = __toESM(require("os"));
38 -var import_path = __toESM(require("path"));
39 -var import_channelSessions = require("./channelSessions");
40 -var import_output = require("./output");
41 -var import_registry = require("./registry");
42 -var import_session = require("./session");
43 -var import_package = require("../../package");
44 -var import_serverRegistry = require("../../serverRegistry");
45 -var import_minimist = require("./minimist");
46 -const globalOptions = [
47 - "json",
48 - "raw",
49 - "session"
50 -];
51 -const booleanOptions = [
52 - "all",
53 - "help",
54 - "json",
55 - "raw",
56 - "version"
57 -];
58 -async function program(options) {
59 - const clientInfo = (0, import_registry.createClientInfo)();
60 - const help = require((0, import_package.libPath)("tools", "cli-client", "help.json"));
61 - const argv = process.argv.slice(2);
62 - const boolean = [...help.booleanOptions, ...booleanOptions];
63 - const args = (0, import_minimist.minimist)(argv, { boolean, string: ["_"] });
64 - if (args.s) {
65 - args.session = args.s;
66 - delete args.s;
67 - }
68 - const output = args.json ? new import_output.JsonOutput() : new import_output.TextOutput();
69 - const commandName = args._?.[0];
70 - if (args.version || args.v) {
71 - output.version(options?.embedderVersion ?? clientInfo.version);
72 - process.exit(0);
73 - }
74 - const command = commandName && help.commands[commandName];
75 - if (args.help || args.h || !commandName) {
76 - if (command) {
77 - output.help(command.help);
78 - } else {
79 - const lines = ["playwright-cli - run playwright mcp commands from terminal"];
80 - if (process.env.CLAUDECODE || process.env.COPILOT_CLI)
81 - lines.push(`Agent skill: ${import_path.default.relative(process.cwd(), (0, import_package.libPath)("tools", "cli-client", "skill", "SKILL.md"))}`);
82 - lines.push(help.global);
83 - output.help(lines.join("\n\n"));
84 - }
85 - process.exit(0);
86 - }
87 - if (!command)
88 - output.errorUnknownCommand(commandName, help.global);
89 - validateFlags(args, command, output);
90 - validateArgs(args, command, output);
91 - const registry = await import_registry.Registry.load();
92 - const sessionName = (0, import_registry.resolveSessionName)(args.session);
93 - switch (commandName) {
94 - case "list": {
95 - const data = await collectList(registry, clientInfo, !!args.all);
96 - output.list(data);
97 - return;
98 - }
99 - case "close-all": {
100 - const entries = registry.entries(clientInfo);
101 - const closed = [];
102 - for (const entry of entries) {
103 - await new import_session.Session(entry).stop();
104 - closed.push(entry.config.name);
105 - }
106 - output.closeAll(closed);
107 - return;
108 - }
109 - case "delete-data": {
110 - const entry = registry.entry(clientInfo, sessionName);
111 - if (!entry) {
112 - output.deleteData(sessionName, { existed: false, deletedUserDataDir: false });
113 - return;
114 - }
115 - const result = await new import_session.Session(entry).deleteData();
116 - output.deleteData(sessionName, result);
117 - return;
118 - }
119 - case "kill-all": {
120 - const pids = await killAllDaemons();
121 - output.killAll(pids);
122 - return;
123 - }
124 - case "open": {
125 - const { pid } = await startSession(sessionName, registry, clientInfo, args, "open");
126 - const newEntry = await registry.loadEntry(clientInfo, sessionName);
127 - const params = args._.slice(1);
128 - const toolText = await runInSessionOrStop(newEntry, clientInfo, { _: ["goto", ...params.length ? params : ["about:blank"]] }, output);
129 - output.open(sessionName, pid, toolText);
130 - return;
131 - }
132 - case "attach": {
133 - const attachTarget = args._[1];
134 - if (attachTarget && (args.cdp || args.endpoint || args.extension))
135 - output.errorAttachConflict();
136 - if (attachTarget)
137 - args.endpoint = attachTarget;
138 - const extensionChannel = typeof args.extension === "string" ? args.extension : void 0;
139 - if (extensionChannel) {
140 - args.browser = extensionChannel;
141 - args.extension = true;
142 - }
143 - const cdpChannel = typeof args.cdp === "string" && (0, import_channelSessions.isKnownChannel)(args.cdp) ? args.cdp : void 0;
144 - const targetName = attachTarget ?? cdpChannel ?? extensionChannel ?? args.cdp;
145 - if (!targetName)
146 - output.errorAttachNoTarget();
147 - const attachSessionName = (0, import_registry.explicitSessionName)(args.session) ?? attachTarget ?? cdpChannel ?? extensionChannel ?? sessionName;
148 - args.session = attachSessionName;
149 - const { pid } = await startSession(attachSessionName, registry, clientInfo, args, "attach");
150 - const newEntry = await registry.loadEntry(clientInfo, attachSessionName);
151 - const toolText = await runInSessionOrStop(newEntry, clientInfo, { _: ["snapshot"], filename: "<auto>" }, output);
152 - output.attach(attachSessionName, pid, targetName, toolText);
153 - return;
154 - }
155 - case "close": {
156 - const closeEntry = registry.entry(clientInfo, sessionName);
157 - const { wasOpen } = closeEntry ? await new import_session.Session(closeEntry).stop() : { wasOpen: false };
158 - output.close(sessionName, wasOpen);
159 - return;
160 - }
161 - case "detach": {
162 - const detachEntry = registry.entry(clientInfo, sessionName);
163 - if (detachEntry && !detachEntry.config.attached)
164 - output.errorDetachNotAttached(sessionName);
165 - const { wasOpen } = detachEntry ? await new import_session.Session(detachEntry).stop() : { wasOpen: false };
166 - output.detach(sessionName, wasOpen);
167 - return;
168 - }
169 - case "install":
170 - await runInitWorkspace(args, output);
171 - output.installed();
172 - return;
173 - case "install-browser":
174 - await installBrowser();
175 - output.installed();
176 - return;
177 - case "show": {
178 - const daemonScript = (0, import_package.libPath)("entry", "dashboardApp.js");
179 - const daemonArgs = [
180 - daemonScript,
181 - `--sessionName=${sessionName}`,
182 - `--workspaceDir=${clientInfo.workspaceDir ?? ""}`
183 - ];
184 - if (args.port !== void 0)
185 - daemonArgs.push(`--port=${args.port}`);
186 - if (args.host !== void 0)
187 - daemonArgs.push(`--host=${args.host}`);
188 - if (args.kill) {
189 - daemonArgs.push(`--kill`);
190 - const child2 = (0, import_child_process.spawn)(process.execPath, daemonArgs, { stdio: "ignore" });
191 - await new Promise((resolve) => child2.on("exit", () => resolve()));
192 - return;
193 - }
194 - if (args.annotate) {
195 - const entry = registry.entry(clientInfo, sessionName);
196 - if (!entry)
197 - output.errorBrowserNotOpenForTool(sessionName);
198 - args.raw = true;
199 - const text = await runInSession(entry, clientInfo, args, output);
200 - output.toolResult(text);
201 - return;
202 - }
203 - const foreground = args.port !== void 0;
204 - const child = (0, import_child_process.spawn)(process.execPath, daemonArgs, {
205 - detached: !foreground,
206 - stdio: foreground ? "inherit" : "ignore"
207 - });
208 - if (foreground) {
209 - await new Promise((resolve) => child.on("exit", () => resolve()));
210 - return;
211 - }
212 - child.unref();
213 - output.show(sessionName, child.pid);
214 - return;
215 - }
216 - default: {
217 - const entry = registry.entry(clientInfo, sessionName);
218 - if (!entry)
219 - output.errorBrowserNotOpenForTool(sessionName);
220 - if (command.raw)
221 - args.raw = true;
222 - const text = await runInSession(entry, clientInfo, args, output);
223 - output.toolResult(text);
224 - }
225 - }
226 -}
227 -async function startSession(sessionName, registry, clientInfo, args, mode) {
228 - const entry = registry.entry(clientInfo, sessionName);
229 - if (entry)
230 - await new import_session.Session(entry).stop();
231 - return await import_session.Session.startDaemon(clientInfo, args, mode);
232 -}
233 -async function runInSession(entry, clientInfo, args, output) {
234 - const raw = !!args.raw;
235 - for (const globalOption of globalOptions)
236 - delete args[globalOption];
237 - const session = new import_session.Session(entry);
238 - const result = await session.run(clientInfo, args, { raw, json: output.json });
239 - return result.text;
240 -}
241 -async function runInSessionOrStop(entry, clientInfo, args, output) {
242 - try {
243 - return await runInSession(entry, clientInfo, args, output);
244 - } catch (e) {
245 - await new import_session.Session(entry).stop().catch(() => {
246 - });
247 - throw e;
248 - }
249 -}
250 -async function runInitWorkspace(args, output) {
251 - const cliPath = (0, import_package.libPath)("entry", "cliDaemon.js");
252 - const daemonArgs = [cliPath, "--init-workspace", ...args.skills ? ["--init-skills", String(args.skills)] : []];
253 - await new Promise((resolve, reject) => {
254 - const child = (0, import_child_process.spawn)(process.execPath, daemonArgs, {
255 - stdio: output.installStdio(),
256 - cwd: process.cwd()
257 - });
258 - child.on("close", (code) => {
259 - if (code === 0)
260 - resolve();
261 - else
262 - reject(new Error(`Workspace initialization failed with exit code ${code}`));
263 - });
264 - });
265 -}
266 -async function installBrowser() {
267 - const argv = process.argv.map((arg) => arg === "install-browser" ? "install" : arg);
268 - const { libCli } = require("../../coreBundle.js");
269 - const { program: program2 } = require("../../utilsBundle.js");
270 - if (!program2.version())
271 - libCli.decorateProgram(program2);
272 - program2.parse(argv);
273 -}
274 -const daemonProcessPatterns = ["run-mcp-server", "run-cli-server", "cli-daemon", "cliDaemon.js", "dashboardApp.js"];
275 -async function killAllDaemons() {
276 - const platform = import_os.default.platform();
277 - const pidFilterEnv = process.env.PWTEST_KILL_ALL_PID_FILTER_FOR_TEST;
278 - const pidFilter = pidFilterEnv ? new Set(pidFilterEnv.split(",").map((p) => parseInt(p, 10)).filter((n) => !isNaN(n))) : void 0;
279 - const killed = [];
280 - try {
281 - if (platform === "win32") {
282 - const clauses = [`(${daemonProcessPatterns.map((p) => `$_.CommandLine -like '*${p}*'`).join(" -or ")})`];
283 - if (pidFilter)
284 - clauses.push(`(${[...pidFilter].map((p) => `$_.ProcessId -eq ${p}`).join(" -or ")})`);
285 - const whereClause = clauses.join(" -and ");
286 - const result = (0, import_child_process.execSync)(
287 - `powershell -NoProfile -NonInteractive -Command "Get-CimInstance Win32_Process | Where-Object { ${whereClause} } | ForEach-Object { Stop-Process -Id $_.ProcessId -Force -ErrorAction SilentlyContinue; $_.ProcessId }"`,
288 - { encoding: "utf-8" }
289 - );
290 - const pids = result.split("\n").map((line) => line.trim()).filter((line) => /^\d+$/.test(line));
291 - for (const pid of pids)
292 - killed.push(parseInt(pid, 10));
293 - } else {
294 - const result = (0, import_child_process.execSync)("ps auxww", { encoding: "utf-8" });
295 - const lines = result.split("\n");
296 - for (const line of lines) {
297 - if (daemonProcessPatterns.some((p) => line.includes(p))) {
298 - const parts = line.trim().split(/\s+/);
299 - const pid = parts[1];
300 - if (pid && /^\d+$/.test(pid)) {
301 - const numericPid = parseInt(pid, 10);
302 - if (pidFilter && !pidFilter.has(numericPid))
303 - continue;
304 - try {
305 - process.kill(numericPid, "SIGKILL");
306 - killed.push(numericPid);
307 - } catch {
308 - }
309 - }
310 - }
311 - }
312 - }
313 - } catch (e) {
314 - }
315 - return killed;
316 -}
317 -async function collectList(registry, clientInfo, all) {
318 - const browsers = [];
319 - const entries = registry.entryMap();
320 - const serverEntries = await import_serverRegistry.serverRegistry.list();
321 - const key = (0, import_registry.clientKey)(clientInfo);
322 - for (const [workspaceKey, list] of entries) {
323 - if (!all && workspaceKey !== key)
324 - continue;
325 - for (const entry of list) {
326 - const session = new import_session.Session(entry);
327 - const canConnect = await session.canConnect();
328 - if (!canConnect) {
329 - await session.deleteSessionConfig();
330 - continue;
331 - }
332 - const config = session.config;
333 - const channel = config.browser?.launchOptions.channel ?? config.browser?.browserName;
334 - browsers.push({
335 - name: session.name,
336 - workspace: workspaceKey,
337 - status: canConnect ? "open" : "closed",
338 - browserType: channel,
339 - userDataDir: config.browser?.userDataDir ?? null,
340 - headed: config.browser ? !config.browser.launchOptions.headless : void 0,
341 - persistent: !!config.cli.persistent,
342 - attached: !!config.attached,
343 - compatible: session.isCompatible(clientInfo),
344 - version: config.version
345 - });
346 - }
347 - }
348 - if (!all)
349 - return { all, browsers };
350 - const servers = [...serverEntries.values()].flat();
351 - return { all, browsers, servers, channelSessions: await (0, import_channelSessions.listChannelSessions)() };
352 -}
353 -function validateFlags(args, command, output) {
354 - const unknownFlags = [];
355 - for (const key of Object.keys(args)) {
356 - if (key === "_")
357 - continue;
358 - if (globalOptions.includes(key))
359 - continue;
360 - if (!(key in command.flags))
361 - unknownFlags.push(key);
362 - }
363 - if (unknownFlags.length)
364 - output.errorUnknownOption(unknownFlags, command.help);
365 -}
366 -function validateArgs(args, command, output) {
367 - const positional = args._.slice(1);
368 - if (positional.length > command.args.length)
369 - output.errorTooManyArguments(command.args.length, positional.length, command.help);
370 -}
371 -function calculateSha1(buffer) {
372 - const hash = import_crypto.default.createHash("sha1");
373 - hash.update(buffer);
374 - return hash.digest("hex");
375 -}
376 -// Annotate the CommonJS export names for ESM import in node:
377 -0 && (module.exports = {
378 - calculateSha1,
379 - program
380 -});
node_modules/playwright-core/lib/tools/cli-client/registry.js deleted
-176
@@ -1,176 +0,0 @@
1 -"use strict";
2 -var __create = Object.create;
3 -var __defProp = Object.defineProperty;
4 -var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5 -var __getOwnPropNames = Object.getOwnPropertyNames;
6 -var __getProtoOf = Object.getPrototypeOf;
7 -var __hasOwnProp = Object.prototype.hasOwnProperty;
8 -var __export = (target, all) => {
9 - for (var name in all)
10 - __defProp(target, name, { get: all[name], enumerable: true });
11 -};
12 -var __copyProps = (to, from, except, desc) => {
13 - if (from && typeof from === "object" || typeof from === "function") {
14 - for (let key of __getOwnPropNames(from))
15 - if (!__hasOwnProp.call(to, key) && key !== except)
16 - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17 - }
18 - return to;
19 -};
20 -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21 - // If the importer is in node compatibility mode or this is not an ESM
22 - // file that has been converted to a CommonJS file using a Babel-
23 - // compatible transform (i.e. "__esModule" has not been set), then set
24 - // "default" to the CommonJS "module.exports" for node compatibility.
25 - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26 - mod
27 -));
28 -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29 -var registry_exports = {};
30 -__export(registry_exports, {
31 - Registry: () => Registry,
32 - baseDaemonDir: () => baseDaemonDir,
33 - clientKey: () => clientKey,
34 - createClientInfo: () => createClientInfo,
35 - explicitSessionName: () => explicitSessionName,
36 - resolveSessionName: () => resolveSessionName
37 -});
38 -module.exports = __toCommonJS(registry_exports);
39 -var import_crypto = __toESM(require("crypto"));
40 -var import_fs = __toESM(require("fs"));
41 -var import_os = __toESM(require("os"));
42 -var import_path = __toESM(require("path"));
43 -var import_package = require("../../package");
44 -function clientKey(clientInfo) {
45 - return clientInfo.workspaceDir || clientInfo.workspaceDirHash;
46 -}
47 -class Registry {
48 - constructor(files) {
49 - this._files = files;
50 - }
51 - entry(clientInfo, sessionName) {
52 - const key = clientKey(clientInfo);
53 - const entries = this._files.get(key) || [];
54 - return entries.find((entry) => entry.config.name === sessionName);
55 - }
56 - entries(clientInfo) {
57 - return this._files.get(clientKey(clientInfo)) || [];
58 - }
59 - entryMap() {
60 - return this._files;
61 - }
62 - async loadEntry(clientInfo, sessionName) {
63 - const entry = await Registry._loadSessionEntry(clientInfo.daemonProfilesDir, sessionName + ".session");
64 - if (!entry)
65 - throw new Error(`Could not start the session "${sessionName}"`);
66 - const key = clientKey(clientInfo);
67 - let list = this._files.get(key);
68 - if (!list) {
69 - list = [];
70 - this._files.set(key, list);
71 - }
72 - const oldIndex = list.findIndex((e) => e.config.name === sessionName);
73 - if (oldIndex !== -1)
74 - list.splice(oldIndex, 1);
75 - list.push(entry);
76 - return entry;
77 - }
78 - static async _loadSessionEntry(daemonDir, file) {
79 - try {
80 - const fileName = import_path.default.join(daemonDir, file);
81 - const data = await import_fs.default.promises.readFile(fileName, "utf-8");
82 - const config = JSON.parse(data);
83 - if (!config.name)
84 - config.name = import_path.default.basename(file, ".session");
85 - if (!config.timestamp)
86 - config.timestamp = 0;
87 - return { file: fileName, config, daemonDir };
88 - } catch {
89 - return void 0;
90 - }
91 - }
92 - static async load() {
93 - const sessions = /* @__PURE__ */ new Map();
94 - const hashDirs = await import_fs.default.promises.readdir(baseDaemonDir).catch(() => []);
95 - for (const workspaceDirHash of hashDirs) {
96 - const daemonDir = import_path.default.join(baseDaemonDir, workspaceDirHash);
97 - const stat = await import_fs.default.promises.stat(daemonDir);
98 - if (!stat.isDirectory())
99 - continue;
100 - const files = await import_fs.default.promises.readdir(daemonDir).catch(() => []);
101 - for (const file of files) {
102 - if (!file.endsWith(".session"))
103 - continue;
104 - const entry = await Registry._loadSessionEntry(daemonDir, file);
105 - if (!entry)
106 - continue;
107 - const key = entry.config.workspaceDir || workspaceDirHash;
108 - let list = sessions.get(key);
109 - if (!list) {
110 - list = [];
111 - sessions.set(key, list);
112 - }
113 - list.push(entry);
114 - }
115 - }
116 - return new Registry(sessions);
117 - }
118 -}
119 -const baseDaemonDir = (() => {
120 - if (process.env.PLAYWRIGHT_DAEMON_SESSION_DIR)
121 - return process.env.PLAYWRIGHT_DAEMON_SESSION_DIR;
122 - let localCacheDir;
123 - if (process.platform === "linux")
124 - localCacheDir = process.env.XDG_CACHE_HOME || import_path.default.join(import_os.default.homedir(), ".cache");
125 - if (process.platform === "darwin")
126 - localCacheDir = import_path.default.join(import_os.default.homedir(), "Library", "Caches");
127 - if (process.platform === "win32")
128 - localCacheDir = process.env.LOCALAPPDATA || import_path.default.join(import_os.default.homedir(), "AppData", "Local");
129 - if (!localCacheDir)
130 - throw new Error("Unsupported platform: " + process.platform);
131 - return import_path.default.join(localCacheDir, "ms-playwright", "daemon");
132 -})();
133 -function createClientInfo() {
134 - const workspaceDir = findWorkspaceDir(process.cwd());
135 - const version = process.env.PLAYWRIGHT_CLI_VERSION_FOR_TEST || import_package.packageJSON.version;
136 - const hash = import_crypto.default.createHash("sha1");
137 - hash.update(workspaceDir || import_package.packageRoot);
138 - const workspaceDirHash = hash.digest("hex").substring(0, 16);
139 - return {
140 - version,
141 - workspaceDir,
142 - workspaceDirHash,
143 - daemonProfilesDir: daemonProfilesDir(workspaceDirHash),
144 - homeDir: import_os.default.homedir()
145 - };
146 -}
147 -function findWorkspaceDir(startDir) {
148 - let dir = startDir;
149 - for (let i = 0; i < 10; i++) {
150 - if (import_fs.default.existsSync(import_path.default.join(dir, ".playwright")))
151 - return dir;
152 - const parentDir = import_path.default.dirname(dir);
153 - if (parentDir === dir)
154 - break;
155 - dir = parentDir;
156 - }
157 - return void 0;
158 -}
159 -const daemonProfilesDir = (workspaceDirHash) => {
160 - return import_path.default.join(baseDaemonDir, workspaceDirHash);
161 -};
162 -function explicitSessionName(sessionName) {
163 - return sessionName || process.env.PLAYWRIGHT_CLI_SESSION;
164 -}
165 -function resolveSessionName(sessionName) {
166 - return explicitSessionName(sessionName) || "default";
167 -}
168 -// Annotate the CommonJS export names for ESM import in node:
169 -0 && (module.exports = {
170 - Registry,
171 - baseDaemonDir,
172 - clientKey,
173 - createClientInfo,
174 - explicitSessionName,
175 - resolveSessionName
176 -});
node_modules/playwright-core/lib/tools/cli-client/session.js deleted
-265
@@ -1,265 +0,0 @@
1 -"use strict";
2 -var __create = Object.create;
3 -var __defProp = Object.defineProperty;
4 -var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5 -var __getOwnPropNames = Object.getOwnPropertyNames;
6 -var __getProtoOf = Object.getPrototypeOf;
7 -var __hasOwnProp = Object.prototype.hasOwnProperty;
8 -var __export = (target, all) => {
9 - for (var name in all)
10 - __defProp(target, name, { get: all[name], enumerable: true });
11 -};
12 -var __copyProps = (to, from, except, desc) => {
13 - if (from && typeof from === "object" || typeof from === "function") {
14 - for (let key of __getOwnPropNames(from))
15 - if (!__hasOwnProp.call(to, key) && key !== except)
16 - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17 - }
18 - return to;
19 -};
20 -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21 - // If the importer is in node compatibility mode or this is not an ESM
22 - // file that has been converted to a CommonJS file using a Babel-
23 - // compatible transform (i.e. "__esModule" has not been set), then set
24 - // "default" to the CommonJS "module.exports" for node compatibility.
25 - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26 - mod
27 -));
28 -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29 -var session_exports = {};
30 -__export(session_exports, {
31 - Session: () => Session
32 -});
33 -module.exports = __toCommonJS(session_exports);
34 -var import_child_process = require("child_process");
35 -var import_fs = __toESM(require("fs"));
36 -var import_net = __toESM(require("net"));
37 -var import_os = __toESM(require("os"));
38 -var import_path = __toESM(require("path"));
39 -var import_package = require("../../package");
40 -var import_socketConnection = require("../utils/socketConnection");
41 -var import_registry = require("./registry");
42 -class Session {
43 - constructor(sessionFile) {
44 - this.config = sessionFile.config;
45 - this.name = this.config.name;
46 - this._sessionFile = sessionFile;
47 - }
48 - isCompatible(clientInfo) {
49 - return (0, import_socketConnection.compareSemver)(clientInfo.version, this.config.version) >= 0;
50 - }
51 - async run(clientInfo, args, options) {
52 - if (!this.isCompatible(clientInfo))
53 - throw new Error(`Client is v${clientInfo.version}, session '${this.name}' is v${this.config.version}. Run
54 -
55 - playwright-cli${this.name !== "default" ? ` -s=${this.name}` : ""} open
56 -
57 -to restart the browser session.`);
58 - const { socket } = await this._connect();
59 - if (!socket)
60 - throw new Error(`Browser '${this.name}' is not open. Run
61 -
62 - playwright-cli${this.name !== "default" ? ` -s=${this.name}` : ""} open
63 -
64 -to start the browser session.`);
65 - return await SocketConnectionClient.sendAndClose(socket, "run", { args, cwd: process.cwd(), raw: options?.raw, json: options?.json });
66 - }
67 - async stop() {
68 - if (!await this.canConnect())
69 - return { wasOpen: false };
70 - await this._stopDaemon();
71 - return { wasOpen: true };
72 - }
73 - async deleteData() {
74 - await this.stop();
75 - const dataDirs = await import_fs.default.promises.readdir(this._sessionFile.daemonDir).catch(() => []);
76 - const matchingEntries = dataDirs.filter((file) => file === `${this.name}.session` || file.startsWith(`ud-${this.name}-`));
77 - if (matchingEntries.length === 0)
78 - return { existed: false, deletedUserDataDir: false };
79 - let deletedUserDataDir = false;
80 - for (const entry of matchingEntries) {
81 - const userDataDir = import_path.default.resolve(this._sessionFile.daemonDir, entry);
82 - for (let i = 0; i < 5; i++) {
83 - try {
84 - await import_fs.default.promises.rm(userDataDir, { recursive: true });
85 - if (entry.startsWith("ud-"))
86 - deletedUserDataDir = true;
87 - break;
88 - } catch (e) {
89 - if (e.code === "ENOENT")
90 - break;
91 - await new Promise((resolve) => setTimeout(resolve, 1e3));
92 - if (i === 4)
93 - throw e;
94 - }
95 - }
96 - }
97 - return { existed: true, deletedUserDataDir };
98 - }
99 - async _connect() {
100 - return await new Promise((resolve) => {
101 - const socket = import_net.default.createConnection(this.config.socketPath, () => {
102 - resolve({ socket });
103 - });
104 - socket.on("error", (error) => {
105 - if (import_os.default.platform() !== "win32")
106 - void import_fs.default.promises.unlink(this.config.socketPath).catch(() => {
107 - }).then(() => resolve({ error }));
108 - else
109 - resolve({ error });
110 - });
111 - });
112 - }
113 - async canConnect() {
114 - const { socket } = await this._connect();
115 - if (socket) {
116 - socket.destroy();
117 - return true;
118 - }
119 - return false;
120 - }
121 - static async startDaemon(clientInfo, cliArgs, mode) {
122 - await import_fs.default.promises.mkdir(clientInfo.daemonProfilesDir, { recursive: true });
123 - const cliPath = (0, import_package.libPath)("entry", "cliDaemon.js");
124 - const sessionName = (0, import_registry.resolveSessionName)(cliArgs.session);
125 - const errLog = import_path.default.join(clientInfo.daemonProfilesDir, sessionName + ".err");
126 - const err = import_fs.default.openSync(errLog, "w");
127 - const args = [
128 - cliPath,
129 - sessionName
130 - ];
131 - if (cliArgs.headed)
132 - args.push("--headed");
133 - if (cliArgs.extension)
134 - args.push("--extension");
135 - if (cliArgs.browser)
136 - args.push(`--browser=${cliArgs.browser}`);
137 - if (cliArgs.persistent)
138 - args.push("--persistent");
139 - if (cliArgs.profile)
140 - args.push(`--profile=${cliArgs.profile}`);
141 - if (cliArgs.config)
142 - args.push(`--config=${cliArgs.config}`);
143 - if (cliArgs.cdp)
144 - args.push(`--cdp=${cliArgs.cdp}`);
145 - if (cliArgs.endpoint)
146 - args.push(`--endpoint=${cliArgs.endpoint}`);
147 - else if (mode === "attach" && process.env.PLAYWRIGHT_CLI_SESSION)
148 - args.push(`--endpoint=${process.env.PLAYWRIGHT_CLI_SESSION}`);
149 - const child = (0, import_child_process.spawn)(process.execPath, args, {
150 - detached: true,
151 - stdio: ["ignore", "pipe", err],
152 - cwd: process.cwd()
153 - // Will be used as root.
154 - });
155 - let signalled = false;
156 - const sigintHandler = () => {
157 - signalled = true;
158 - child.kill("SIGINT");
159 - };
160 - const sigtermHandler = () => {
161 - signalled = true;
162 - child.kill("SIGTERM");
163 - };
164 - process.on("SIGINT", sigintHandler);
165 - process.on("SIGTERM", sigtermHandler);
166 - let outLog = "";
167 - const rejectWithPid = (reject, message) => reject(Object.assign(new Error(`Daemon pid=${child.pid}: ${message}`), { daemonPid: child.pid }));
168 - await new Promise((resolve, reject) => {
169 - child.stdout.on("data", (data) => {
170 - outLog += data.toString();
171 - if (!outLog.includes("<EOF>"))
172 - return;
173 - const errorMatch = outLog.match(/### Error\n([\s\S]*)<EOF>/);
174 - const error = errorMatch ? errorMatch[1].trim() : void 0;
175 - if (error) {
176 - const errLogContent = import_fs.default.readFileSync(errLog, "utf-8");
177 - rejectWithPid(reject, error + (errLogContent ? "\n" + errLogContent : ""));
178 - }
179 - const successMatch = outLog.match(/### Success\nDaemon listening on (.*)\n<EOF>/);
180 - if (successMatch)
181 - resolve();
182 - });
183 - child.on("close", (code) => {
184 - if (!signalled) {
185 - const errLogContent = import_fs.default.readFileSync(errLog, "utf-8");
186 - rejectWithPid(reject, `Daemon process exited with code ${code}` + (errLogContent ? "\n" + errLogContent : ""));
187 - }
188 - });
189 - });
190 - process.off("SIGINT", sigintHandler);
191 - process.off("SIGTERM", sigtermHandler);
192 - child.stdout.destroy();
193 - child.unref();
194 - return { pid: child.pid, sessionName, endpoint: cliArgs.endpoint };
195 - }
196 - async _stopDaemon() {
197 - const { socket } = await this._connect();
198 - if (!socket)
199 - return;
200 - let error;
201 - await SocketConnectionClient.sendAndClose(socket, "stop", {}).catch((e) => error = e);
202 - if (error && !error?.message?.includes("Session closed"))
203 - throw error;
204 - }
205 - async deleteSessionConfig() {
206 - await import_fs.default.promises.rm(this._sessionFile.file).catch(() => {
207 - });
208 - }
209 -}
210 -class SocketConnectionClient {
211 - constructor(socket) {
212 - this._nextMessageId = 1;
213 - this._callbacks = /* @__PURE__ */ new Map();
214 - this._connection = new import_socketConnection.SocketConnection(socket);
215 - this._connection.onmessage = (message) => this._onMessage(message);
216 - this._connection.onclose = () => this._rejectCallbacks();
217 - }
218 - async send(method, params = {}) {
219 - const messageId = this._nextMessageId++;
220 - const message = {
221 - id: messageId,
222 - method,
223 - params
224 - };
225 - const responsePromise = new Promise((resolve, reject) => {
226 - this._callbacks.set(messageId, { resolve, reject, method, params });
227 - });
228 - const [result] = await Promise.all([responsePromise, this._connection.send(message)]);
229 - return result;
230 - }
231 - static async sendAndClose(socket, method, params = {}) {
232 - const connection = new SocketConnectionClient(socket);
233 - try {
234 - return await connection.send(method, params);
235 - } finally {
236 - connection.close();
237 - }
238 - }
239 - close() {
240 - this._connection.close();
241 - }
242 - _onMessage(object) {
243 - if (object.id && this._callbacks.has(object.id)) {
244 - const callback = this._callbacks.get(object.id);
245 - this._callbacks.delete(object.id);
246 - if (object.error)
247 - callback.reject(new Error(object.error));
248 - else
249 - callback.resolve(object.result);
250 - } else if (object.id) {
251 - throw new Error(`Unexpected message id: ${object.id}`);
252 - } else {
253 - throw new Error(`Unexpected message without id: ${JSON.stringify(object)}`);
254 - }
255 - }
256 - _rejectCallbacks() {
257 - for (const callback of this._callbacks.values())
258 - callback.reject(new Error("Session closed"));
259 - this._callbacks.clear();
260 - }
261 -}
262 -// Annotate the CommonJS export names for ESM import in node:
263 -0 && (module.exports = {
264 - Session
265 -});
node_modules/playwright-core/lib/tools/cli-client/skill/SKILL.md deleted
-388
@@ -1,388 +0,0 @@
1 ----
2 -name: playwright-cli
3 -description: Automate browser interactions, test web pages and work with Playwright tests.
4 -allowed-tools: Bash(playwright-cli:*) Bash(npx:*) Bash(npm:*)
5 ----
6 -
7 -# Browser Automation with playwright-cli
8 -
9 -## Quick start
10 -
11 -```bash
12 -# open new browser
13 -playwright-cli open
14 -# navigate to a page
15 -playwright-cli goto https://playwright.dev
16 -# interact with the page using refs from the snapshot
17 -playwright-cli click e15
18 -playwright-cli type "page.click"
19 -playwright-cli press Enter
20 -# take a screenshot (rarely used, as snapshot is more common)
21 -playwright-cli screenshot
22 -# close the browser
23 -playwright-cli close
24 -```
25 -
26 -## Commands
27 -
28 -### Core
29 -
30 -```bash
31 -playwright-cli open
32 -# open and navigate right away
33 -playwright-cli open https://example.com/
34 -playwright-cli goto https://playwright.dev
35 -playwright-cli type "search query"
36 -playwright-cli click e3
37 -playwright-cli dblclick e7
38 -# --submit presses Enter after filling the element
39 -playwright-cli fill e5 "user@example.com" --submit
40 -playwright-cli drag e2 e8
41 -# drop files or data onto an element (from outside the page)
42 -playwright-cli drop e4 --path=./image.png
43 -playwright-cli drop e4 --data="text/plain=hello world"
44 -playwright-cli hover e4
45 -playwright-cli select e9 "option-value"
46 -playwright-cli upload ./document.pdf
47 -playwright-cli check e12
48 -playwright-cli uncheck e12
49 -playwright-cli snapshot
50 -playwright-cli eval "document.title"
51 -playwright-cli eval "el => el.textContent" e5
52 -# get element id, class, or any attribute not visible in the snapshot
53 -playwright-cli eval "el => el.id" e5
54 -playwright-cli eval "el => el.getAttribute('data-testid')" e5
55 -playwright-cli dialog-accept
56 -playwright-cli dialog-accept "confirmation text"
57 -playwright-cli dialog-dismiss
58 -playwright-cli resize 1920 1080
59 -playwright-cli close
60 -```
61 -
62 -### Navigation
63 -
64 -```bash
65 -playwright-cli go-back
66 -playwright-cli go-forward
67 -playwright-cli reload
68 -```
69 -
70 -### Keyboard
71 -
72 -```bash
73 -playwright-cli press Enter
74 -playwright-cli press ArrowDown
75 -playwright-cli keydown Shift
76 -playwright-cli keyup Shift
77 -```
78 -
79 -### Mouse
80 -
81 -```bash
82 -playwright-cli mousemove 150 300
83 -playwright-cli mousedown
84 -playwright-cli mousedown right
85 -playwright-cli mouseup
86 -playwright-cli mouseup right
87 -playwright-cli mousewheel 0 100
88 -```
89 -
90 -### Save as
91 -
92 -```bash
93 -playwright-cli screenshot
94 -playwright-cli screenshot e5
95 -playwright-cli screenshot --filename=page.png
96 -playwright-cli pdf --filename=page.pdf
97 -```
98 -
99 -### Tabs
100 -
101 -```bash
102 -playwright-cli tab-list
103 -playwright-cli tab-new
104 -playwright-cli tab-new https://example.com/page
105 -playwright-cli tab-close
106 -playwright-cli tab-close 2
107 -playwright-cli tab-select 0
108 -```
109 -
110 -### Storage
111 -
112 -```bash
113 -playwright-cli state-save
114 -playwright-cli state-save auth.json
115 -playwright-cli state-load auth.json
116 -
117 -# Cookies
118 -playwright-cli cookie-list
119 -playwright-cli cookie-list --domain=example.com
120 -playwright-cli cookie-get session_id
121 -playwright-cli cookie-set session_id abc123
122 -playwright-cli cookie-set session_id abc123 --domain=example.com --httpOnly --secure
123 -playwright-cli cookie-delete session_id
124 -playwright-cli cookie-clear
125 -
126 -# LocalStorage
127 -playwright-cli localstorage-list
128 -playwright-cli localstorage-get theme
129 -playwright-cli localstorage-set theme dark
130 -playwright-cli localstorage-delete theme
131 -playwright-cli localstorage-clear
132 -
133 -# SessionStorage
134 -playwright-cli sessionstorage-list
135 -playwright-cli sessionstorage-get step
136 -playwright-cli sessionstorage-set step 3
137 -playwright-cli sessionstorage-delete step
138 -playwright-cli sessionstorage-clear
139 -```
140 -
141 -### Network
142 -
143 -```bash
144 -playwright-cli route "**/*.jpg" --status=404
145 -playwright-cli route "https://api.example.com/**" --body='{"mock": true}'
146 -playwright-cli route-list
147 -playwright-cli unroute "**/*.jpg"
148 -playwright-cli unroute
149 -```
150 -
151 -### DevTools
152 -
153 -```bash
154 -playwright-cli console
155 -playwright-cli console warning
156 -playwright-cli requests
157 -playwright-cli request 5
158 -playwright-cli run-code "async page => await page.context().grantPermissions(['geolocation'])"
159 -playwright-cli run-code --filename=script.js
160 -playwright-cli tracing-start
161 -playwright-cli tracing-stop
162 -playwright-cli video-start video.webm
163 -playwright-cli video-chapter "Chapter Title" --description="Details" --duration=2000
164 -playwright-cli video-stop
165 -
166 -# launch the dashboard for UI review / design feedback — user annotates the page, you receive the annotated screenshot, snapshot, and notes
167 -playwright-cli show --annotate
168 -
169 -# generate a Playwright locator for an element from its ref or selector
170 -playwright-cli generate-locator e5 --raw
171 -
172 -# show a persistent highlight overlay for an element, optionally with a custom style
173 -playwright-cli highlight e5
174 -playwright-cli highlight e5 --style="outline: 3px dashed red"
175 -# hide a single element highlight, or all page highlights when no target is given
176 -playwright-cli highlight e5 --hide
177 -playwright-cli highlight --hide
178 -```
179 -
180 -## Raw output
181 -
182 -The global `--raw` option strips page status, generated code, and snapshot sections from the output, returning only the result value. Use it to pipe command output into other tools. Commands that don't produce output return nothing.
183 -
184 -```bash
185 -playwright-cli --raw eval "JSON.stringify(performance.timing)" | jq '.loadEventEnd - .navigationStart'
186 -playwright-cli --raw eval "JSON.stringify([...document.querySelectorAll('a')].map(a => a.href))" > links.json
187 -playwright-cli --raw snapshot > before.yml
188 -playwright-cli click e5
189 -playwright-cli --raw snapshot > after.yml
190 -diff before.yml after.yml
191 -TOKEN=$(playwright-cli --raw cookie-get session_id)
192 -playwright-cli --raw localstorage-get theme
193 -```
194 -
195 -For structured output wrapping every reply as JSON, pass --json
196 -```bash
197 -playwright-cli list --json
198 -```
199 -
200 -## Open parameters
201 -```bash
202 -# Use specific browser when creating session
203 -playwright-cli open --browser=chrome
204 -playwright-cli open --browser=firefox
205 -playwright-cli open --browser=webkit
206 -playwright-cli open --browser=msedge
207 -
208 -# Use persistent profile (by default profile is in-memory)
209 -playwright-cli open --persistent
210 -# Use persistent profile with custom directory
211 -playwright-cli open --profile=/path/to/profile
212 -
213 -# Connect to browser via Playwright Extension
214 -playwright-cli attach --extension=chrome
215 -
216 -# Connect to a running Chrome or Edge by channel name
217 -playwright-cli attach --cdp=chrome
218 -playwright-cli attach --cdp=msedge
219 -
220 -# Connect to a running browser via CDP endpoint
221 -playwright-cli attach --cdp=http://localhost:9222
222 -
223 -# Start with config file
224 -playwright-cli open --config=my-config.json
225 -
226 -# Close the browser
227 -playwright-cli close
228 -# Detach from an attached browser (leaves the external browser running)
229 -playwright-cli -s=msedge detach
230 -# Delete user data for the default session
231 -playwright-cli delete-data
232 -```
233 -
234 -## Snapshots
235 -
236 -After each command, playwright-cli provides a snapshot of the current browser state.
237 -
238 -```bash
239 -> playwright-cli goto https://example.com
240 -### Page
241 -- Page URL: https://example.com/
242 -- Page Title: Example Domain
243 -### Snapshot
244 -[Snapshot](.playwright-cli/page-2026-02-14T19-22-42-679Z.yml)
245 -```
246 -
247 -You can also take a snapshot on demand using `playwright-cli snapshot` command. All the options below can be combined as needed.
248 -
249 -```bash
250 -# default - save to a file with timestamp-based name
251 -playwright-cli snapshot
252 -
253 -# save to file, use when snapshot is a part of the workflow result
254 -playwright-cli snapshot --filename=after-click.yaml
255 -
256 -# snapshot an element instead of the whole page
257 -playwright-cli snapshot "#main"
258 -
259 -# limit snapshot depth for efficiency, take a partial snapshot afterwards
260 -playwright-cli snapshot --depth=4
261 -playwright-cli snapshot e34
262 -
263 -# include each element's bounding box as [box=x,y,width,height]
264 -playwright-cli snapshot --boxes
265 -```
266 -
267 -## Targeting elements
268 -
269 -By default, use refs from the snapshot to interact with page elements.
270 -
271 -```bash
272 -# get snapshot with refs
273 -playwright-cli snapshot
274 -
275 -# interact using a ref
276 -playwright-cli click e15
277 -```
278 -
279 -You can also use css selectors or Playwright locators.
280 -
281 -```bash
282 -# css selector
283 -playwright-cli click "#main > button.submit"
284 -
285 -# role locator
286 -playwright-cli click "getByRole('button', { name: 'Submit' })"
287 -
288 -# test id
289 -playwright-cli click "getByTestId('submit-button')"
290 -```
291 -
292 -## Browser Sessions
293 -
294 -```bash
295 -# create new browser session named "mysession" with persistent profile
296 -playwright-cli -s=mysession open example.com --persistent
297 -# same with manually specified profile directory (use when requested explicitly)
298 -playwright-cli -s=mysession open example.com --profile=/path/to/profile
299 -playwright-cli -s=mysession click e6
300 -playwright-cli -s=mysession close # stop a named browser
301 -playwright-cli -s=mysession delete-data # delete user data for persistent session
302 -
303 -playwright-cli list
304 -# Close all browsers
305 -playwright-cli close-all
306 -# Forcefully kill all browser processes
307 -playwright-cli kill-all
308 -```
309 -
310 -## Installation
311 -
312 -If global `playwright-cli` command is not available, try a local version via `npx playwright-cli`:
313 -
314 -```bash
315 -npx --no-install playwright-cli --version
316 -```
317 -
318 -When local version is available, use `npx playwright-cli` in all commands. Otherwise, install `playwright-cli` as a global command:
319 -
320 -```bash
321 -npm install -g @playwright/cli@latest
322 -```
323 -
324 -## Example: Form submission
325 -
326 -```bash
327 -playwright-cli open https://example.com/form
328 -playwright-cli snapshot
329 -
330 -playwright-cli fill e1 "user@example.com"
331 -playwright-cli fill e2 "password123"
332 -playwright-cli click e3
333 -playwright-cli snapshot
334 -playwright-cli close
335 -```
336 -
337 -## Example: Multi-tab workflow
338 -
339 -```bash
340 -playwright-cli open https://example.com
341 -playwright-cli tab-new https://example.com/other
342 -playwright-cli tab-list
343 -playwright-cli tab-select 0
344 -playwright-cli snapshot
345 -playwright-cli close
346 -```
347 -
348 -## Example: Debugging with DevTools
349 -
350 -```bash
351 -playwright-cli open https://example.com
352 -playwright-cli click e4
353 -playwright-cli fill e7 "test"
354 -playwright-cli console
355 -playwright-cli requests
356 -playwright-cli close
357 -```
358 -
359 -```bash
360 -playwright-cli open https://example.com
361 -playwright-cli tracing-start
362 -playwright-cli click e4
363 -playwright-cli fill e7 "test"
364 -playwright-cli tracing-stop
365 -playwright-cli close
366 -```
367 -
368 -## Example: Interactive session
369 -
370 -Ask the user for UI review or design feedback. The user draws boxes on the live page and types comments; you receive the annotated screenshot, the snapshot of the marked region, and the user's notes. Use this whenever the user asks for "UI review", "design feedback", or to "ask the user what they think / want / mean":
371 -
372 -```bash
373 -playwright-cli open https://example.com
374 -playwright-cli show --annotate
375 -```
376 -
377 -## Specific tasks
378 -
379 -* **Running and Debugging Playwright tests** [references/playwright-tests.md](references/playwright-tests.md)
380 -* **Request mocking** [references/request-mocking.md](references/request-mocking.md)
381 -* **Running Playwright code** [references/running-code.md](references/running-code.md)
382 -* **Browser session management** [references/session-management.md](references/session-management.md)
383 -* **Spec-driven testing (plan / generate / heal)** [references/spec-driven-testing.md](references/spec-driven-testing.md)
384 -* **Storage state (cookies, localStorage)** [references/storage-state.md](references/storage-state.md)
385 -* **Test generation** [references/test-generation.md](references/test-generation.md)
386 -* **Tracing** [references/tracing.md](references/tracing.md)
387 -* **Video recording** [references/video-recording.md](references/video-recording.md)
388 -* **Inspecting element attributes** [references/element-attributes.md](references/element-attributes.md)
node_modules/playwright-core/lib/tools/cli-client/skill/references/element-attributes.md deleted
-23
@@ -1,23 +0,0 @@
1 -# Inspecting Element Attributes
2 -
3 -When the snapshot doesn't show an element's `id`, `class`, `data-*` attributes, or other DOM properties, use `eval` to inspect them.
4 -
5 -## Examples
6 -
7 -```bash
8 -playwright-cli snapshot
9 -# snapshot shows a button as e7 but doesn't reveal its id or data attributes
10 -
11 -# get the element's id
12 -playwright-cli eval "el => el.id" e7
13 -
14 -# get all CSS classes
15 -playwright-cli eval "el => el.className" e7
16 -
17 -# get a specific attribute
18 -playwright-cli eval "el => el.getAttribute('data-testid')" e7
19 -playwright-cli eval "el => el.getAttribute('aria-label')" e7
20 -
21 -# get a computed style property
22 -playwright-cli eval "el => getComputedStyle(el).display" e7
23 -```
node_modules/playwright-core/lib/tools/cli-client/skill/references/playwright-tests.md deleted
-39
@@ -1,39 +0,0 @@
1 -# Running Playwright Tests
2 -
3 -To run Playwright tests, use the `npx playwright test` command, or a package manager script. To avoid opening the interactive html report, use `PLAYWRIGHT_HTML_OPEN=never` environment variable.
4 -
5 -```bash
6 -# Run all tests
7 -PLAYWRIGHT_HTML_OPEN=never npx playwright test
8 -
9 -# Run all tests through a custom npm script
10 -PLAYWRIGHT_HTML_OPEN=never npm run special-test-command
11 -```
12 -
13 -# Debugging Playwright Tests
14 -
15 -To debug a failing Playwright test, run it with `--debug=cli` option. This command will pause the test at the start and print the debugging instructions.
16 -
17 -**IMPORTANT**: run the command in the background and check the output until "Debugging Instructions" is printed. Make sure to stop the command after you have finished.
18 -
19 -Once instructions containing a session name are printed, use `playwright-cli` to attach the session and explore the page.
20 -
21 -```bash
22 -# Run the test
23 -PLAYWRIGHT_HTML_OPEN=never npx playwright test --debug=cli
24 -# ...
25 -# ... debugging instructions for "tw-abcdef" session ...
26 -# ...
27 -
28 -# Attach to the test
29 -playwright-cli attach tw-abcdef
30 -```
31 -
32 -Keep the test running in the background while you explore and look for a fix.
33 -The test is paused at the start, so you should step over or pause at a particular location
34 -where the problem is most likely to be.
35 -
36 -Every action you perform with `playwright-cli` generates corresponding Playwright TypeScript code.
37 -This code appears in the output and can be copied directly into the test. Most of the time, a specific locator or an expectation should be updated, but it could also be a bug in the app. Use your judgement.
38 -
39 -After fixing the test, stop the background test run. Rerun to check that test passes.
node_modules/playwright-core/lib/tools/cli-client/skill/references/request-mocking.md deleted
-87
@@ -1,87 +0,0 @@
1 -# Request Mocking
2 -
3 -Intercept, mock, modify, and block network requests.
4 -
5 -## CLI Route Commands
6 -
7 -```bash
8 -# Mock with custom status
9 -playwright-cli route "**/*.jpg" --status=404
10 -
11 -# Mock with JSON body
12 -playwright-cli route "**/api/users" --body='[{"id":1,"name":"Alice"}]' --content-type=application/json
13 -
14 -# Mock with custom headers
15 -playwright-cli route "**/api/data" --body='{"ok":true}' --header="X-Custom: value"
16 -
17 -# Remove headers from requests
18 -playwright-cli route "**/*" --remove-header=cookie,authorization
19 -
20 -# List active routes
21 -playwright-cli route-list
22 -
23 -# Remove a route or all routes
24 -playwright-cli unroute "**/*.jpg"
25 -playwright-cli unroute
26 -```
27 -
28 -## URL Patterns
29 -
30 -```
31 -**/api/users - Exact path match
32 -**/api/*/details - Wildcard in path
33 -**/*.{png,jpg,jpeg} - Match file extensions
34 -**/search?q=* - Match query parameters
35 -```
36 -
37 -## Advanced Mocking with run-code
38 -
39 -For conditional responses, request body inspection, response modification, or delays:
40 -
41 -### Conditional Response Based on Request
42 -
43 -```bash
44 -playwright-cli run-code "async page => {
45 - await page.route('**/api/login', route => {
46 - const body = route.request().postDataJSON();
47 - if (body.username === 'admin') {
48 - route.fulfill({ body: JSON.stringify({ token: 'mock-token' }) });
49 - } else {
50 - route.fulfill({ status: 401, body: JSON.stringify({ error: 'Invalid' }) });
51 - }
52 - });
53 -}"
54 -```
55 -
56 -### Modify Real Response
57 -
58 -```bash
59 -playwright-cli run-code "async page => {
60 - await page.route('**/api/user', async route => {
61 - const response = await route.fetch();
62 - const json = await response.json();
63 - json.isPremium = true;
64 - await route.fulfill({ response, json });
65 - });
66 -}"
67 -```
68 -
69 -### Simulate Network Failures
70 -
71 -```bash
72 -playwright-cli run-code "async page => {
73 - await page.route('**/api/offline', route => route.abort('internetdisconnected'));
74 -}"
75 -# Options: connectionrefused, timedout, connectionreset, internetdisconnected
76 -```
77 -
78 -### Delayed Response
79 -
80 -```bash
81 -playwright-cli run-code "async page => {
82 - await page.route('**/api/slow', async route => {
83 - await new Promise(r => setTimeout(r, 3000));
84 - route.fulfill({ body: JSON.stringify({ data: 'loaded' }) });
85 - });
86 -}"
87 -```
node_modules/playwright-core/lib/tools/cli-client/skill/references/running-code.md deleted
-241
@@ -1,241 +0,0 @@
1 -# Running Custom Playwright Code
2 -
3 -Use `run-code` to execute arbitrary Playwright code for advanced scenarios not covered by CLI commands.
4 -
5 -## Syntax
6 -
7 -```bash
8 -playwright-cli run-code "async page => {
9 - // Your Playwright code here
10 - // Access page.context() for browser context operations
11 -}"
12 -```
13 -
14 -You can also load the function from a file:
15 -
16 -```bash
17 -playwright-cli run-code --filename=./my-script.js
18 -```
19 -
20 -
21 -The code must be a single function expression, it is wrapped in `(...)` and evaluated.
22 -import/export/require syntax is not supported.
23 -
24 -## Geolocation
25 -
26 -```bash
27 -# Grant geolocation permission and set location
28 -playwright-cli run-code "async page => {
29 - await page.context().grantPermissions(['geolocation']);
30 - await page.context().setGeolocation({ latitude: 37.7749, longitude: -122.4194 });
31 -}"
32 -
33 -# Set location to London
34 -playwright-cli run-code "async page => {
35 - await page.context().grantPermissions(['geolocation']);
36 - await page.context().setGeolocation({ latitude: 51.5074, longitude: -0.1278 });
37 -}"
38 -
39 -# Clear geolocation override
40 -playwright-cli run-code "async page => {
41 - await page.context().clearPermissions();
42 -}"
43 -```
44 -
45 -## Permissions
46 -
47 -```bash
48 -# Grant multiple permissions
49 -playwright-cli run-code "async page => {
50 - await page.context().grantPermissions([
51 - 'geolocation',
52 - 'notifications',
53 - 'camera',
54 - 'microphone'
55 - ]);
56 -}"
57 -
58 -# Grant permissions for specific origin
59 -playwright-cli run-code "async page => {
60 - await page.context().grantPermissions(['clipboard-read'], {
61 - origin: 'https://example.com'
62 - });
63 -}"
64 -```
65 -
66 -## Media Emulation
67 -
68 -```bash
69 -# Emulate dark color scheme
70 -playwright-cli run-code "async page => {
71 - await page.emulateMedia({ colorScheme: 'dark' });
72 -}"
73 -
74 -# Emulate light color scheme
75 -playwright-cli run-code "async page => {
76 - await page.emulateMedia({ colorScheme: 'light' });
77 -}"
78 -
79 -# Emulate reduced motion
80 -playwright-cli run-code "async page => {
81 - await page.emulateMedia({ reducedMotion: 'reduce' });
82 -}"
83 -
84 -# Emulate print media
85 -playwright-cli run-code "async page => {
86 - await page.emulateMedia({ media: 'print' });
87 -}"
88 -```
89 -
90 -## Wait Strategies
91 -
92 -```bash
93 -# Wait for network idle
94 -playwright-cli run-code "async page => {
95 - await page.waitForLoadState('networkidle');
96 -}"
97 -
98 -# Wait for specific element
99 -playwright-cli run-code "async page => {
100 - await page.locator('.loading').waitFor({ state: 'hidden' });
101 -}"
102 -
103 -# Wait for function to return true
104 -playwright-cli run-code "async page => {
105 - await page.waitForFunction(() => window.appReady === true);
106 -}"
107 -
108 -# Wait with timeout
109 -playwright-cli run-code "async page => {
110 - await page.locator('.result').waitFor({ timeout: 10000 });
111 -}"
112 -```
113 -
114 -## Frames and Iframes
115 -
116 -```bash
117 -# Work with iframe
118 -playwright-cli run-code "async page => {
119 - const frame = page.locator('iframe#my-iframe').contentFrame();
120 - await frame.locator('button').click();
121 -}"
122 -
123 -# Get all frames
124 -playwright-cli run-code "async page => {
125 - const frames = page.frames();
126 - return frames.map(f => f.url());
127 -}"
128 -```
129 -
130 -## File Downloads
131 -
132 -```bash
133 -# Handle file download
134 -playwright-cli run-code "async page => {
135 - const downloadPromise = page.waitForEvent('download');
136 - await page.getByRole('link', { name: 'Download' }).click();
137 - const download = await downloadPromise;
138 - await download.saveAs('./downloaded-file.pdf');
139 - return download.suggestedFilename();
140 -}"
141 -```
142 -
143 -## Clipboard
144 -
145 -```bash
146 -# Read clipboard (requires permission)
147 -playwright-cli run-code "async page => {
148 - await page.context().grantPermissions(['clipboard-read']);
149 - return await page.evaluate(() => navigator.clipboard.readText());
150 -}"
151 -
152 -# Write to clipboard
153 -playwright-cli run-code "async page => {
154 - await page.evaluate(text => navigator.clipboard.writeText(text), 'Hello clipboard!');
155 -}"
156 -```
157 -
158 -## Page Information
159 -
160 -```bash
161 -# Get page title
162 -playwright-cli run-code "async page => {
163 - return await page.title();
164 -}"
165 -
166 -# Get current URL
167 -playwright-cli run-code "async page => {
168 - return page.url();
169 -}"
170 -
171 -# Get page content
172 -playwright-cli run-code "async page => {
173 - return await page.content();
174 -}"
175 -
176 -# Get viewport size
177 -playwright-cli run-code "async page => {
178 - return page.viewportSize();
179 -}"
180 -```
181 -
182 -## JavaScript Execution
183 -
184 -```bash
185 -# Execute JavaScript and return result
186 -playwright-cli run-code "async page => {
187 - return await page.evaluate(() => {
188 - return {
189 - userAgent: navigator.userAgent,
190 - language: navigator.language,
191 - cookiesEnabled: navigator.cookieEnabled
192 - };
193 - });
194 -}"
195 -
196 -# Pass arguments to evaluate
197 -playwright-cli run-code "async page => {
198 - const multiplier = 5;
199 - return await page.evaluate(m => document.querySelectorAll('li').length * m, multiplier);
200 -}"
201 -```
202 -
203 -## Error Handling
204 -
205 -```bash
206 -# Try-catch in run-code
207 -playwright-cli run-code "async page => {
208 - try {
209 - await page.getByRole('button', { name: 'Submit' }).click({ timeout: 1000 });
210 - return 'clicked';
211 - } catch (e) {
212 - return 'element not found';
213 - }
214 -}"
215 -```
216 -
217 -## Complex Workflows
218 -
219 -```bash
220 -# Login and save state
221 -playwright-cli run-code "async page => {
222 - await page.goto('https://example.com/login');
223 - await page.getByRole('textbox', { name: 'Email' }).fill('user@example.com');
224 - await page.getByRole('textbox', { name: 'Password' }).fill('secret');
225 - await page.getByRole('button', { name: 'Sign in' }).click();
226 - await page.waitForURL('**/dashboard');
227 - await page.context().storageState({ path: 'auth.json' });
228 - return 'Login successful';
229 -}"
230 -
231 -# Scrape data from multiple pages
232 -playwright-cli run-code "async page => {
233 - const results = [];
234 - for (let i = 1; i <= 3; i++) {
235 - await page.goto(\`https://example.com/page/\${i}\`);
236 - const items = await page.locator('.item').allTextContents();
237 - results.push(...items);
238 - }
239 - return results;
240 -}"
241 -```
node_modules/playwright-core/lib/tools/cli-client/skill/references/session-management.md deleted
-225
@@ -1,225 +0,0 @@
1 -# Browser Session Management
2 -
3 -Run multiple isolated browser sessions concurrently with state persistence.
4 -
5 -## Named Browser Sessions
6 -
7 -Use `-s` flag to isolate browser contexts:
8 -
9 -```bash
10 -# Browser 1: Authentication flow
11 -playwright-cli -s=auth open https://app.example.com/login
12 -
13 -# Browser 2: Public browsing (separate cookies, storage)
14 -playwright-cli -s=public open https://example.com
15 -
16 -# Commands are isolated by browser session
17 -playwright-cli -s=auth fill e1 "user@example.com"
18 -playwright-cli -s=public snapshot
19 -```
20 -
21 -## Browser Session Isolation Properties
22 -
23 -Each browser session has independent:
24 -- Cookies
25 -- LocalStorage / SessionStorage
26 -- IndexedDB
27 -- Cache
28 -- Browsing history
29 -- Open tabs
30 -
31 -## Browser Session Commands
32 -
33 -```bash
34 -# List all browser sessions
35 -playwright-cli list
36 -
37 -# Stop a browser session (close the browser)
38 -playwright-cli close # stop the default browser
39 -playwright-cli -s=mysession close # stop a named browser
40 -
41 -# Stop all browser sessions
42 -playwright-cli close-all
43 -
44 -# Forcefully kill all daemon processes (for stale/zombie processes)
45 -playwright-cli kill-all
46 -
47 -# Delete browser session user data (profile directory)
48 -playwright-cli delete-data # delete default browser data
49 -playwright-cli -s=mysession delete-data # delete named browser data
50 -```
51 -
52 -## Environment Variable
53 -
54 -Set a default browser session name via environment variable:
55 -
56 -```bash
57 -export PLAYWRIGHT_CLI_SESSION="mysession"
58 -playwright-cli open example.com # Uses "mysession" automatically
59 -```
60 -
61 -## Common Patterns
62 -
63 -### Concurrent Scraping
64 -
65 -```bash
66 -#!/bin/bash
67 -# Scrape multiple sites concurrently
68 -
69 -# Start all browsers
70 -playwright-cli -s=site1 open https://site1.com &
71 -playwright-cli -s=site2 open https://site2.com &
72 -playwright-cli -s=site3 open https://site3.com &
73 -wait
74 -
75 -# Take snapshots from each
76 -playwright-cli -s=site1 snapshot
77 -playwright-cli -s=site2 snapshot
78 -playwright-cli -s=site3 snapshot
79 -
80 -# Cleanup
81 -playwright-cli close-all
82 -```
83 -
84 -### A/B Testing Sessions
85 -
86 -```bash
87 -# Test different user experiences
88 -playwright-cli -s=variant-a open "https://app.com?variant=a"
89 -playwright-cli -s=variant-b open "https://app.com?variant=b"
90 -
91 -# Compare
92 -playwright-cli -s=variant-a screenshot
93 -playwright-cli -s=variant-b screenshot
94 -```
95 -
96 -### Persistent Profile
97 -
98 -By default, browser profile is kept in memory only. Use `--persistent` flag on `open` to persist the browser profile to disk:
99 -
100 -```bash
101 -# Use persistent profile (auto-generated location)
102 -playwright-cli open https://example.com --persistent
103 -
104 -# Use persistent profile with custom directory
105 -playwright-cli open https://example.com --profile=/path/to/profile
106 -```
107 -
108 -## Attaching to a Running Browser
109 -
110 -Use `attach` to connect to a browser that is already running, instead of launching a new one.
111 -
112 -### Attach by channel name
113 -
114 -Connect to a running Chrome or Edge instance by its channel name. The browser must have remote debugging enabled — navigate to `chrome://inspect/#remote-debugging` in the target browser and check "Allow remote debugging for this browser instance".
115 -
116 -```bash
117 -# Attach to Chrome
118 -playwright-cli attach --cdp=chrome
119 -
120 -# Attach to Chrome Canary
121 -playwright-cli attach --cdp=chrome-canary
122 -
123 -# Attach to Microsoft Edge
124 -playwright-cli attach --cdp=msedge
125 -
126 -# Attach to Edge Dev
127 -playwright-cli attach --cdp=msedge-dev
128 -```
129 -
130 -Supported channels: `chrome`, `chrome-beta`, `chrome-dev`, `chrome-canary`, `msedge`, `msedge-beta`, `msedge-dev`, `msedge-canary`.
131 -
132 -When `--session` is not provided, the session is named after the channel (e.g. `--cdp=msedge` creates a session called `msedge`), so parallel attaches to Chrome and Edge don't collide on `default`. Pass `--session=<name>` to override.
133 -
134 -### Attach via CDP endpoint
135 -
136 -Connect to a browser that exposes a Chrome DevTools Protocol endpoint:
137 -
138 -```bash
139 -playwright-cli attach --cdp=http://localhost:9222
140 -```
141 -
142 -### Attach via browser extension
143 -
144 -Connect to a browser with the Playwright extension installed:
145 -
146 -```bash
147 -playwright-cli attach --extension
148 -```
149 -
150 -### Detach
151 -
152 -Tear down an attached session without affecting the external browser:
153 -
154 -```bash
155 -# Detach the default attached session
156 -playwright-cli detach
157 -
158 -# Detach a specific attached session
159 -playwright-cli -s=msedge detach
160 -```
161 -
162 -`detach` only works on sessions created via `attach`. For sessions created via `open`, use `close`.
163 -
164 -## Default Browser Session
165 -
166 -When `-s` is omitted, commands use the default browser session:
167 -
168 -```bash
169 -# These use the same default browser session
170 -playwright-cli open https://example.com
171 -playwright-cli snapshot
172 -playwright-cli close # Stops default browser
173 -```
174 -
175 -## Browser Session Configuration
176 -
177 -Configure a browser session with specific settings when opening:
178 -
179 -```bash
180 -# Open with config file
181 -playwright-cli open https://example.com --config=.playwright/my-cli.json
182 -
183 -# Open with specific browser
184 -playwright-cli open https://example.com --browser=firefox
185 -
186 -# Open in headed mode
187 -playwright-cli open https://example.com --headed
188 -
189 -# Open with persistent profile
190 -playwright-cli open https://example.com --persistent
191 -```
192 -
193 -## Best Practices
194 -
195 -### 1. Name Browser Sessions Semantically
196 -
197 -```bash
198 -# GOOD: Clear purpose
199 -playwright-cli -s=github-auth open https://github.com
200 -playwright-cli -s=docs-scrape open https://docs.example.com
201 -
202 -# AVOID: Generic names
203 -playwright-cli -s=s1 open https://github.com
204 -```
205 -
206 -### 2. Always Clean Up
207 -
208 -```bash
209 -# Stop browsers when done
210 -playwright-cli -s=auth close
211 -playwright-cli -s=scrape close
212 -
213 -# Or stop all at once
214 -playwright-cli close-all
215 -
216 -# If browsers become unresponsive or zombie processes remain
217 -playwright-cli kill-all
218 -```
219 -
220 -### 3. Delete Stale Browser Data
221 -
222 -```bash
223 -# Remove old browser data to free disk space
224 -playwright-cli -s=oldsession delete-data
225 -```
node_modules/playwright-core/lib/tools/cli-client/skill/references/spec-driven-testing.md deleted
-305
@@ -1,305 +0,0 @@
1 -# Spec-driven testing (plan → generate → heal)
2 -
3 -End-to-end workflow for authoring and maintaining Playwright tests using `playwright-cli`. The three sections below can be used independently:
4 -
5 -- **Planning** — explore the app, produce a spec file describing what to test.
6 -- **Generate** — turn a spec into Playwright test files. Update the spec if it's vague or stale.
7 -- **Heal** — diagnose failing tests, fix the code, reconcile the spec with reality.
8 -
9 -All three lean on the same mechanic: run `npx playwright test --debug=cli` in the background, then `playwright-cli attach tw-XXXX` to drive the paused page interactively. See [playwright-tests.md](playwright-tests.md) for the debug/attach mechanics and [test-generation.md](test-generation.md) for how every `playwright-cli` action emits Playwright TypeScript.
10 -
11 ----
12 -
13 -## 1. Planning
14 -
15 -Goal: produce a spec file (e.g. `specs/<feature>.plan.md`) that enumerates the scenarios to test. **Always** write the spec to a file.
16 -
17 -### 1.1 Prerequisite: workspace
18 -
19 -Check the workspace has Playwright installed before anything else:
20 -
21 -```bash
22 -# Either of these confirms a workspace:
23 -test -f playwright.config.ts || test -f playwright.config.js
24 -npx --no-install playwright --version
25 -```
26 -
27 -If there is no Playwright install, bootstrap one and let the user pick the defaults:
28 -
29 -```bash
30 -npm init playwright@latest
31 -```
32 -
33 -### 1.2 Prerequisite: seed test
34 -
35 -A **seed test** is a minimal test that lands the page in the state every scenario starts from: navigation to the app, any required login, feature flags, etc. Scenarios assume a fresh start *after* the seed. `--debug=cli` pauses *inside* this test, so the seed is where every planning and generation session begins.
36 -
37 -Minimum viable seed:
38 -
39 -```ts
40 -// tests/seed.spec.ts
41 -import { test } from '@playwright/test';
42 -
43 -test('seed', async ({ page }) => {
44 - await page.goto('https://example.com/');
45 -});
46 -```
47 -
48 -Preferred — push navigation into a fixture so scenario tests reuse it:
49 -
50 -```ts
51 -// tests/fixtures.ts
52 -import { test as baseTest } from '@playwright/test';
53 -export { expect } from '@playwright/test';
54 -
55 -export const test = baseTest.extend({
56 - page: async ({ page }, use) => {
57 - await page.goto('https://example.com/');
58 - await use(page);
59 - },
60 -});
61 -```
62 -
63 -```ts
64 -// tests/seed.spec.ts
65 -import { test } from './fixtures';
66 -
67 -test('seed', async ({ page }) => {
68 - // Fixture already navigates. This empty body tells agents where to start.
69 -});
70 -```
71 -
72 -If no seed exists, create one that at least navigates to the app.
73 -
74 -### 1.3 Explore the app
75 -
76 -Launch the app via the seed in the background and attach:
77 -
78 -```bash
79 -PLAYWRIGHT_HTML_OPEN=never npx playwright test tests/seed.spec.ts --debug=cli
80 -# wait for "Debugging Instructions" and the session name tw-XXXX
81 -playwright-cli attach tw-XXXX
82 -```
83 -
84 -Resume so the seed runs, then probe the app:
85 -
86 -```bash
87 -playwright-cli resume # resume so that seed test runs fully
88 -playwright-cli snapshot # inventory of interactive elements
89 -playwright-cli click e5 # follow a flow
90 -playwright-cli eval "location.href" # read URL / state
91 -playwright-cli show --annotate # ask the user to point at something
92 -```
93 -
94 -Map out:
95 -
96 -- Interactive surfaces (forms, buttons, lists, filters, modals).
97 -- Primary user journeys end-to-end.
98 -- Edge cases: empty states, validation errors, very long input, boundary values.
99 -- Persistence: reload, local/session storage, URL fragments.
100 -- Navigation: which controls change the URL, back/forward behaviour.
101 -
102 -**Important**: Do not just open the app url with playwright-cli, always go through the test to capture any custom setup done there.
103 -**Important**: Stop the background test when done exploring.
104 -
105 -### 1.4 Write the spec file
106 -
107 -Save under `specs/<feature>.plan.md`. Use this structure:
108 -
109 -```markdown
110 -# <Feature> Test Plan
111 -
112 -## Application Overview
113 -
114 -<One paragraph describing what the feature does and why it matters.>
115 -
116 -## Test Scenarios
117 -
118 -### 1. <Group Name>
119 -
120 -**Seed:** `tests/seed.spec.ts`
121 -
122 -#### 1.1. <kebab-case-scenario-name>
123 -
124 -**File:** `tests/<group>/<kebab-case-scenario-name>.spec.ts`
125 -
126 -**Steps:**
127 - 1. <Concrete user step>
128 - - expect: <observable outcome>
129 - - expect: <another observable outcome>
130 - 2. <Next step>
131 - - expect: <outcome>
132 -
133 -#### 1.2. <next-scenario>
134 -...
135 -
136 -### 2. <Next Group>
137 -
138 -**Seed:** `tests/seed.spec.ts`
139 -...
140 -```
141 -
142 -Guidelines:
143 -
144 -- Each scenario is independent and starts from the seed's fresh state — never chain scenarios.
145 -- Scenario names are kebab-case and match the test file name (`should-add-single-todo` → `should-add-single-todo.spec.ts`).
146 -- Cover happy path, edge cases, validation, negative flows, persistence.
147 -- Write steps at the user level ("Type 'Buy milk' into the input"), not the API level ("call `fill`").
148 -- Put observable outcomes in `- expect:` bullets; each becomes an assertion during generation.
149 -
150 ----
151 -
152 -## 2. Generate
153 -
154 -Goal: take a spec file and produce Playwright test files. Optionally update the spec if it has drifted.
155 -
156 -### 2.1 Inputs
157 -
158 -- **Spec file**, e.g. `specs/basic-operations.plan.md`.
159 -- **Target**: either a single scenario (e.g. `1.2`), a whole group (`1`), or all.
160 -- **Seed file**, read from the `**Seed:**` line of the scenario's group.
161 -
162 -### 2.2 Generate one scenario
163 -
164 -For each target scenario, in sequence (never in parallel — scenarios share the seed session):
165 -
166 -```bash
167 -PLAYWRIGHT_HTML_OPEN=never npx playwright test <seed-file> --debug=cli # background
168 -playwright-cli attach tw-XXXX
169 -# resume
170 -```
171 -
172 -**Do not** just open the app url with playwright-cli, always go through the test to capture any custom setup done there.
173 -
174 -Walk the scenario's `Steps:` one by one with `playwright-cli`, treating the spec as the plan and the live app as the source of truth. If a step is vague ("click the button" — which button?), references an element that no longer exists, or contradicts the app's actual behaviour, use your judgement: update the spec to match what the app really does, then keep going. Editing the spec mid-generation is expected.
175 -
176 -Every action prints the equivalent Playwright TypeScript (see [test-generation.md](test-generation.md)):
177 -
178 -```bash
179 -playwright-cli snapshot # find refs
180 -playwright-cli fill e3 "John Doe" # -> page.getByRole('textbox', {...}).fill(...)
181 -playwright-cli press Enter
182 -playwright-cli click e7
183 -```
184 -
185 -For each `- expect:` bullet, add an explicit assertion. See [test-generation.md](test-generation.md) for details.
186 -
187 -Collect the generated code and write the test file at the path given in the spec:
188 -
189 -```ts
190 -// spec: specs/basic-operations.plan.md
191 -// seed: tests/seed.spec.ts
192 -import { test, expect } from './fixtures'; // or '@playwright/test' if no fixtures file
193 -
194 -test.describe('Singing in and out', () => {
195 - test('should sign in', async ({ page }) => {
196 - // 1. Navigate to the application
197 - // (handled by the seed fixture)
198 -
199 - // 2. Type 'John Doe' into the username field
200 - await page.getByRole('textbox', { name: 'username' }).fill('John Doe');
201 -
202 - // 3. Type password
203 - await page.getByRole('textbox', { name: 'password' }).fill('TestPassword');
204 -
205 - // 4. Press Enter to submit
206 - await page.getByRole('textbox', { name: 'password' }).press('Enter');
207 -
208 - await expect(page.getByRole('heading')).toContainText('Welcome, John Doe!');
209 - });
210 -});
211 -```
212 -
213 -Rules:
214 -
215 -- **One test per file.** File path, describe name, and test name come verbatim from the spec (minus the ordinal).
216 -- Prefix each numbered step with a `// N. <step text>` comment before its actions.
217 -- Use the describe group name verbatim from the spec (no `1.` ordinal).
218 -- Import from `./fixtures` if the project has one; otherwise `@playwright/test`.
219 -- **Important**: close the CLI session and stop the background test before moving to the next scenario.
220 -
221 -### 2.3 Generate multiple scenarios
222 -
223 -Loop 2.2 over the targeted scenarios one at a time, restarting the seed between each so every test starts from a clean page. This is safe to parallelise due to unique generated session names - just make sure each test run is stopped.
224 -
225 -### 2.4 Run generated tests
226 -
227 -After generation, run the new tests once:
228 -
229 -```bash
230 -PLAYWRIGHT_HTML_OPEN=never npx playwright test tests/<group>/<scenario>.spec.ts
231 -```
232 -
233 -Any failure goes to Section 3.
234 -
235 ----
236 -
237 -## 3. Heal
238 -
239 -Goal: fix failing tests, and update the spec if the app's intended behaviour changed.
240 -
241 -### 3.1 Find failing tests
242 -
243 -```bash
244 -PLAYWRIGHT_HTML_OPEN=never npx playwright test
245 -```
246 -
247 -Record the list of failing `<file>:<line>` entries and process them one at a time. Do not attempt parallel fixes — shared state and the single CLI session make that fragile.
248 -
249 -### 3.2 Debug one failure
250 -
251 -Run the single failing test in debug mode in the background, then attach:
252 -
253 -```bash
254 -PLAYWRIGHT_HTML_OPEN=never npx playwright test tests/<group>/<scenario>.spec.ts:<line> --debug=cli
255 -# wait for "Debugging Instructions" and the tw-XXXX session name
256 -playwright-cli attach tw-XXXX
257 -```
258 -
259 -The test is paused at the start. Step forward or run to until just before the failing action or assertion, then diagnose:
260 -
261 -```bash
262 -playwright-cli snapshot # did the element change / move / rename?
263 -playwright-cli console # app-side errors?
264 -playwright-cli network # failed request? wrong payload?
265 -playwright-cli show --annotate # ask the user to point somewhere
266 -```
267 -
268 -Common causes: selector drift, new wrapper element, label/ARIA rename, timing (transition, async load), assertion text updated in the app, test data leaking between runs.
269 -
270 -Rehearse the corrected interaction with `playwright-cli` — the generated code in the output is what you paste back into the test.
271 -
272 -### 3.3 Apply the fix
273 -
274 -Edit the test file: update the locator, assertion, step order, or inputs to match the corrected behaviour. Stop the background debug run. Rerun the single test to confirm green.
275 -
276 -Never skip hooks or add sleeps as a fix. Never use `networkidle`.
277 -
278 -### 3.4 Reconcile with the spec
279 -
280 -Open the spec referenced by the `// spec:` header in the test file and locate the scenario that matches the test.
281 -
282 -- **Fix was purely technical** (locator drift, better assertion shape) and the spec's user-level behaviour still matches the app → leave the spec alone.
283 -- **Fix changed user-visible steps, inputs, order, or expected outcomes** that the spec describes → update the spec to match reality. Keep the scenario id and file path stable; only the step / expect lines change.
284 -- **Unclear whether the app change is intentional** (spec is stale) **or a regression** (test was right, app is wrong) → **stop and ask the user**. Provide:
285 - - the scenario id (e.g. `2.3`),
286 - - the spec lines that no longer match,
287 - - the observed app behaviour (quote a snapshot excerpt or a concrete outcome).
288 -
289 -Only after the user answers, either update the spec (intentional change) or file/flag the test as covering a bug (regression).
290 -
291 -### 3.5 Iteration and giving up
292 -
293 -- Fix failures one at a time; rerun after each.
294 -- If after thorough investigation you are confident the test is correct but the app is wrong *and* the user has confirmed it's a bug: mark the test `test.fixme(...)` with a comment pointing at the user's decision or issue link. Never silently skip.
295 -
296 ----
297 -
298 -## Cross-references
299 -
300 -| For... | See |
301 -|---|---|
302 -| `--debug=cli` / attach mechanics | [playwright-tests.md](playwright-tests.md) |
303 -| How `playwright-cli` actions become TS | [test-generation.md](test-generation.md) |
304 -| Mocking requests during exploration/generation | [request-mocking.md](request-mocking.md) |
305 -| Managing the CLI browser session | [session-management.md](session-management.md) |
node_modules/playwright-core/lib/tools/cli-client/skill/references/storage-state.md deleted
-275
@@ -1,275 +0,0 @@
1 -# Storage Management
2 -
3 -Manage cookies, localStorage, sessionStorage, and browser storage state.
4 -
5 -## Storage State
6 -
7 -Save and restore complete browser state including cookies and storage.
8 -
9 -### Save Storage State
10 -
11 -```bash
12 -# Save to auto-generated filename (storage-state-{timestamp}.json)
13 -playwright-cli state-save
14 -
15 -# Save to specific filename
16 -playwright-cli state-save my-auth-state.json
17 -```
18 -
19 -### Restore Storage State
20 -
21 -```bash
22 -# Load storage state from file
23 -playwright-cli state-load my-auth-state.json
24 -
25 -# Reload page to apply cookies
26 -playwright-cli open https://example.com
27 -```
28 -
29 -### Storage State File Format
30 -
31 -The saved file contains:
32 -
33 -```json
34 -{
35 - "cookies": [
36 - {
37 - "name": "session_id",
38 - "value": "abc123",
39 - "domain": "example.com",
40 - "path": "/",
41 - "expires": 1735689600,
42 - "httpOnly": true,
43 - "secure": true,
44 - "sameSite": "Lax"
45 - }
46 - ],
47 - "origins": [
48 - {
49 - "origin": "https://example.com",
50 - "localStorage": [
51 - { "name": "theme", "value": "dark" },
52 - { "name": "user_id", "value": "12345" }
53 - ]
54 - }
55 - ]
56 -}
57 -```
58 -
59 -## Cookies
60 -
61 -### List All Cookies
62 -
63 -```bash
64 -playwright-cli cookie-list
65 -```
66 -
67 -### Filter Cookies by Domain
68 -
69 -```bash
70 -playwright-cli cookie-list --domain=example.com
71 -```
72 -
73 -### Filter Cookies by Path
74 -
75 -```bash
76 -playwright-cli cookie-list --path=/api
77 -```
78 -
79 -### Get Specific Cookie
80 -
81 -```bash
82 -playwright-cli cookie-get session_id
83 -```
84 -
85 -### Set a Cookie
86 -
87 -```bash
88 -# Basic cookie
89 -playwright-cli cookie-set session abc123
90 -
91 -# Cookie with options
92 -playwright-cli cookie-set session abc123 --domain=example.com --path=/ --httpOnly --secure --sameSite=Lax
93 -
94 -# Cookie with expiration (Unix timestamp)
95 -playwright-cli cookie-set remember_me token123 --expires=1735689600
96 -```
97 -
98 -### Delete a Cookie
99 -
100 -```bash
101 -playwright-cli cookie-delete session_id
102 -```
103 -
104 -### Clear All Cookies
105 -
106 -```bash
107 -playwright-cli cookie-clear
108 -```
109 -
110 -### Advanced: Multiple Cookies or Custom Options
111 -
112 -For complex scenarios like adding multiple cookies at once, use `run-code`:
113 -
114 -```bash
115 -playwright-cli run-code "async page => {
116 - await page.context().addCookies([
117 - { name: 'session_id', value: 'sess_abc123', domain: 'example.com', path: '/', httpOnly: true },
118 - { name: 'preferences', value: JSON.stringify({ theme: 'dark' }), domain: 'example.com', path: '/' }
119 - ]);
120 -}"
121 -```
122 -
123 -## Local Storage
124 -
125 -### List All localStorage Items
126 -
127 -```bash
128 -playwright-cli localstorage-list
129 -```
130 -
131 -### Get Single Value
132 -
133 -```bash
134 -playwright-cli localstorage-get token
135 -```
136 -
137 -### Set Value
138 -
139 -```bash
140 -playwright-cli localstorage-set theme dark
141 -```
142 -
143 -### Set JSON Value
144 -
145 -```bash
146 -playwright-cli localstorage-set user_settings '{"theme":"dark","language":"en"}'
147 -```
148 -
149 -### Delete Single Item
150 -
151 -```bash
152 -playwright-cli localstorage-delete token
153 -```
154 -
155 -### Clear All localStorage
156 -
157 -```bash
158 -playwright-cli localstorage-clear
159 -```
160 -
161 -### Advanced: Multiple Operations
162 -
163 -For complex scenarios like setting multiple values at once, use `run-code`:
164 -
165 -```bash
166 -playwright-cli run-code "async page => {
167 - await page.evaluate(() => {
168 - localStorage.setItem('token', 'jwt_abc123');
169 - localStorage.setItem('user_id', '12345');
170 - localStorage.setItem('expires_at', Date.now() + 3600000);
171 - });
172 -}"
173 -```
174 -
175 -## Session Storage
176 -
177 -### List All sessionStorage Items
178 -
179 -```bash
180 -playwright-cli sessionstorage-list
181 -```
182 -
183 -### Get Single Value
184 -
185 -```bash
186 -playwright-cli sessionstorage-get form_data
187 -```
188 -
189 -### Set Value
190 -
191 -```bash
192 -playwright-cli sessionstorage-set step 3
193 -```
194 -
195 -### Delete Single Item
196 -
197 -```bash
198 -playwright-cli sessionstorage-delete step
199 -```
200 -
201 -### Clear sessionStorage
202 -
203 -```bash
204 -playwright-cli sessionstorage-clear
205 -```
206 -
207 -## IndexedDB
208 -
209 -### List Databases
210 -
211 -```bash
212 -playwright-cli run-code "async page => {
213 - return await page.evaluate(async () => {
214 - const databases = await indexedDB.databases();
215 - return databases;
216 - });
217 -}"
218 -```
219 -
220 -### Delete Database
221 -
222 -```bash
223 -playwright-cli run-code "async page => {
224 - await page.evaluate(() => {
225 - indexedDB.deleteDatabase('myDatabase');
226 - });
227 -}"
228 -```
229 -
230 -## Common Patterns
231 -
232 -### Authentication State Reuse
233 -
234 -```bash
235 -# Step 1: Login and save state
236 -playwright-cli open https://app.example.com/login
237 -playwright-cli snapshot
238 -playwright-cli fill e1 "user@example.com"
239 -playwright-cli fill e2 "password123"
240 -playwright-cli click e3
241 -
242 -# Save the authenticated state
243 -playwright-cli state-save auth.json
244 -
245 -# Step 2: Later, restore state and skip login
246 -playwright-cli state-load auth.json
247 -playwright-cli open https://app.example.com/dashboard
248 -# Already logged in!
249 -```
250 -
251 -### Save and Restore Roundtrip
252 -
253 -```bash
254 -# Set up authentication state
255 -playwright-cli open https://example.com
256 -playwright-cli eval "() => { document.cookie = 'session=abc123'; localStorage.setItem('user', 'john'); }"
257 -
258 -# Save state to file
259 -playwright-cli state-save my-session.json
260 -
261 -# ... later, in a new session ...
262 -
263 -# Restore state
264 -playwright-cli state-load my-session.json
265 -playwright-cli open https://example.com
266 -# Cookies and localStorage are restored!
267 -```
268 -
269 -## Security Notes
270 -
271 -- Never commit storage state files containing auth tokens
272 -- Add `*.auth-state.json` to `.gitignore`
273 -- Delete state files after automation completes
274 -- Use environment variables for sensitive data
275 -- By default, sessions run in-memory mode which is safer for sensitive operations
node_modules/playwright-core/lib/tools/cli-client/skill/references/test-generation.md deleted
-134
@@ -1,134 +0,0 @@
1 -# Test Generation
2 -
3 -Generate Playwright test code automatically as you interact with the browser.
4 -
5 -## How It Works
6 -
7 -Every action you perform with `playwright-cli` generates corresponding Playwright TypeScript code.
8 -This code appears in the output and can be copied directly into your test files.
9 -
10 -## Example Workflow
11 -
12 -```bash
13 -# Start a session
14 -playwright-cli open https://example.com/login
15 -
16 -# Take a snapshot to see elements
17 -playwright-cli snapshot
18 -# Output shows: e1 [textbox "Email"], e2 [textbox "Password"], e3 [button "Sign In"]
19 -
20 -# Fill form fields - generates code automatically
21 -playwright-cli fill e1 "user@example.com"
22 -# Ran Playwright code:
23 -# await page.getByRole('textbox', { name: 'Email' }).fill('user@example.com');
24 -
25 -playwright-cli fill e2 "password123"
26 -# Ran Playwright code:
27 -# await page.getByRole('textbox', { name: 'Password' }).fill('password123');
28 -
29 -playwright-cli click e3
30 -# Ran Playwright code:
31 -# await page.getByRole('button', { name: 'Sign In' }).click();
32 -```
33 -
34 -## Building a Test File
35 -
36 -Collect the generated code into a Playwright test:
37 -
38 -```typescript
39 -import { test, expect } from '@playwright/test';
40 -
41 -test('login flow', async ({ page }) => {
42 - // Generated code from playwright-cli session:
43 - await page.goto('https://example.com/login');
44 - await page.getByRole('textbox', { name: 'Email' }).fill('user@example.com');
45 - await page.getByRole('textbox', { name: 'Password' }).fill('password123');
46 - await page.getByRole('button', { name: 'Sign In' }).click();
47 -
48 - // Add assertions
49 - await expect(page).toHaveURL(/.*dashboard/);
50 -});
51 -```
52 -
53 -## Best Practices
54 -
55 -### 1. Use Semantic Locators
56 -
57 -The generated code uses role-based locators when possible, which are more resilient:
58 -
59 -```typescript
60 -// Generated (good - semantic)
61 -await page.getByRole('button', { name: 'Submit' }).click();
62 -
63 -// Avoid (fragile - CSS selectors)
64 -await page.locator('#submit-btn').click();
65 -```
66 -
67 -### 2. Explore Before Recording
68 -
69 -Take snapshots to understand the page structure before recording actions:
70 -
71 -```bash
72 -playwright-cli open https://example.com
73 -playwright-cli snapshot
74 -# Review the element structure
75 -playwright-cli click e5
76 -```
77 -
78 -### 3. Add Assertions Manually
79 -
80 -Generated code captures actions but not assertions. Add expectations in your test using one of the recommended matchers:
81 -
82 -- `toBeVisible()` — element is rendered and visible
83 -- `toHaveText(text)` — element text content matches
84 -- `toHaveValue(value) / toBeEmpty()` — input/select value matches
85 -- `toBeChecked() / toBeUnchecked()` — checkbox state matches
86 -- `toMatchAriaSnapshot(snapshot)` — page (or locator) matches a partial accessibility snapshot
87 -
88 -Use `playwright-cli generate-locator <target>` to produce the locator expression for the assertion, and the snapshot/eval commands to capture the expected value.
89 -
90 -When asserting text content, make sure that generated locator does not contain text from the element itself. `getByTestId()` or `getByLabel()` usually work well with asserting text. When locator is text-based, prefer `toBeVisible()` instead.
91 -
92 -Snapshot to be matched does not have to contain all the information - only capture what's necessary for the assertion. You can use regular expressions for unstable values.
93 -
94 -```bash
95 -# Get a stable locator for an element ref to use in the assertion
96 -playwright-cli --raw generate-locator e5
97 -# getByRole('button', { name: 'Submit' })
98 -
99 -# Capture expected text content for toHaveText
100 -playwright-cli --raw eval "el => el.textContent" e5
101 -
102 -# Capture expected input value for toHaveValue/toBeEmpty
103 -playwright-cli --raw eval "el => el.value" e5
104 -
105 -# Capture expected aria snapshot for toMatchAriaSnapshot/toBeChecked
106 -# (whole page, or use a ref to scope to a region)
107 -playwright-cli --raw snapshot
108 -playwright-cli --raw snapshot e5
109 -```
110 -
111 -```typescript
112 -// Generated action
113 -await page.getByRole('button', { name: 'Submit' }).click();
114 -
115 -// Manual assertions using the outputs above:
116 -await expect(page.getByRole('alert', { name: 'Success' })).toBeVisible();
117 -await expect(page.getByTestId('main-header')).toHaveText('Welcome, user');
118 -await expect(page.getByRole('textbox', { name: 'Email' })).toHaveValue('user@example.com');
119 -await expect(page.getByRole('checkbox', { name: 'Enable notifications' })).toBeChecked();
120 -
121 -// toMatchAriaSnapshot on the whole page, finds a matching region
122 -await expect(page).toMatchAriaSnapshot(`
123 - - heading "Welcome, user"
124 - - link /\\d+ new messages?/
125 - - button "Sign out"
126 -`);
127 -
128 -// toMatchAriaSnapshot scoped to a region
129 -await expect(page.getByRole('navigation')).toMatchAriaSnapshot(`
130 - - link "Home"
131 - - link /\\d+ new messages?/
132 - - link "Profile"
133 -`);
134 -```
node_modules/playwright-core/lib/tools/cli-client/skill/references/tracing.md deleted
-139
@@ -1,139 +0,0 @@
1 -# Tracing
2 -
3 -Capture detailed execution traces for debugging and analysis. Traces include DOM snapshots, screenshots, network activity, and console logs.
4 -
5 -## Basic Usage
6 -
7 -```bash
8 -# Start trace recording
9 -playwright-cli tracing-start
10 -
11 -# Perform actions
12 -playwright-cli open https://example.com
13 -playwright-cli click e1
14 -playwright-cli fill e2 "test"
15 -
16 -# Stop trace recording
17 -playwright-cli tracing-stop
18 -```
19 -
20 -## Trace Output Files
21 -
22 -When you start tracing, Playwright creates a `traces/` directory with several files:
23 -
24 -### `trace-{timestamp}.trace`
25 -
26 -**Action log** - The main trace file containing:
27 -- Every action performed (clicks, fills, navigations)
28 -- DOM snapshots before and after each action
29 -- Screenshots at each step
30 -- Timing information
31 -- Console messages
32 -- Source locations
33 -
34 -### `trace-{timestamp}.network`
35 -
36 -**Network log** - Complete network activity:
37 -- All HTTP requests and responses
38 -- Request headers and bodies
39 -- Response headers and bodies
40 -- Timing (DNS, connect, TLS, TTFB, download)
41 -- Resource sizes
42 -- Failed requests and errors
43 -
44 -### `resources/`
45 -
46 -**Resources directory** - Cached resources:
47 -- Images, fonts, stylesheets, scripts
48 -- Response bodies for replay
49 -- Assets needed to reconstruct page state
50 -
51 -## What Traces Capture
52 -
53 -| Category | Details |
54 -|----------|---------|
55 -| **Actions** | Clicks, fills, hovers, keyboard input, navigations |
56 -| **DOM** | Full DOM snapshot before/after each action |
57 -| **Screenshots** | Visual state at each step |
58 -| **Network** | All requests, responses, headers, bodies, timing |
59 -| **Console** | All console.log, warn, error messages |
60 -| **Timing** | Precise timing for each operation |
61 -
62 -## Use Cases
63 -
64 -### Debugging Failed Actions
65 -
66 -```bash
67 -playwright-cli tracing-start
68 -playwright-cli open https://app.example.com
69 -
70 -# This click fails - why?
71 -playwright-cli click e5
72 -
73 -playwright-cli tracing-stop
74 -# Open trace to see DOM state when click was attempted
75 -```
76 -
77 -### Analyzing Performance
78 -
79 -```bash
80 -playwright-cli tracing-start
81 -playwright-cli open https://slow-site.com
82 -playwright-cli tracing-stop
83 -
84 -# View network waterfall to identify slow resources
85 -```
86 -
87 -### Capturing Evidence
88 -
89 -```bash
90 -# Record a complete user flow for documentation
91 -playwright-cli tracing-start
92 -
93 -playwright-cli open https://app.example.com/checkout
94 -playwright-cli fill e1 "4111111111111111"
95 -playwright-cli fill e2 "12/25"
96 -playwright-cli fill e3 "123"
97 -playwright-cli click e4
98 -
99 -playwright-cli tracing-stop
100 -# Trace shows exact sequence of events
101 -```
102 -
103 -## Trace vs Video vs Screenshot
104 -
105 -| Feature | Trace | Video | Screenshot |
106 -|---------|-------|-------|------------|
107 -| **Format** | .trace file | .webm video | .png/.jpeg image |
108 -| **DOM inspection** | Yes | No | No |
109 -| **Network details** | Yes | No | No |
110 -| **Step-by-step replay** | Yes | Continuous | Single frame |
111 -| **File size** | Medium | Large | Small |
112 -| **Best for** | Debugging | Demos | Quick capture |
113 -
114 -## Best Practices
115 -
116 -### 1. Start Tracing Before the Problem
117 -
118 -```bash
119 -# Trace the entire flow, not just the failing step
120 -playwright-cli tracing-start
121 -playwright-cli open https://example.com
122 -# ... all steps leading to the issue ...
123 -playwright-cli tracing-stop
124 -```
125 -
126 -### 2. Clean Up Old Traces
127 -
128 -Traces can consume significant disk space:
129 -
130 -```bash
131 -# Remove traces older than 7 days
132 -find .playwright-cli/traces -mtime +7 -delete
133 -```
134 -
135 -## Limitations
136 -
137 -- Traces add overhead to automation
138 -- Large traces can consume significant disk space
139 -- Some dynamic content may not replay perfectly
node_modules/playwright-core/lib/tools/cli-client/skill/references/video-recording.md deleted
-143
@@ -1,143 +0,0 @@
1 -# Video Recording
2 -
3 -Capture browser automation sessions as video for debugging, documentation, or verification. Produces WebM (VP8/VP9 codec).
4 -
5 -## Basic Recording
6 -
7 -```bash
8 -# Open browser first
9 -playwright-cli open
10 -
11 -# Start recording
12 -playwright-cli video-start demo.webm
13 -
14 -# Add a chapter marker for section transitions
15 -playwright-cli video-chapter "Getting Started" --description="Opening the homepage" --duration=2000
16 -
17 -# Navigate and perform actions
18 -playwright-cli goto https://example.com
19 -playwright-cli snapshot
20 -playwright-cli click e1
21 -
22 -# Add another chapter
23 -playwright-cli video-chapter "Filling Form" --description="Entering test data" --duration=2000
24 -playwright-cli fill e2 "test input"
25 -
26 -# Stop and save
27 -playwright-cli video-stop
28 -```
29 -
30 -## Best Practices
31 -
32 -### 1. Use Descriptive Filenames
33 -
34 -```bash
35 -# Include context in filename
36 -playwright-cli video-start recordings/login-flow-2024-01-15.webm
37 -playwright-cli video-start recordings/checkout-test-run-42.webm
38 -```
39 -
40 -### 2. Record entire hero scripts.
41 -
42 -When recording a video for the user or as a proof of work, it is best to create a code snippet and execute it with run-code.
43 -It allows pulling appropriate pauses between the actions and annotating the video. There are new Playwright APIs for that.
44 -
45 -1) Perform scenario using CLI and take note of all locators and actions. You'll need those locators to request their bounding boxes for highlight.
46 -2) Create a file with the intended script for video (below). Use pressSequentially w/ delay for nice typing, make reasonable pauses.
47 -3) Use playwright-cli run-code --filename your-script.js
48 -
49 -**Important**: Overlays are `pointer-events: none` — they do not interfere with page interactions. You can safely keep sticky overlays visible while clicking, filling, or performing any actions on the page.
50 -
51 -```js
52 -async page => {
53 - await page.screencast.start({ path: 'video.webm', size: { width: 1280, height: 800 } });
54 - await page.goto('https://demo.playwright.dev/todomvc');
55 -
56 - // Show a chapter card — blurs the page and shows a dialog.
57 - // Blocks until duration expires, then auto-removes.
58 - // Use this for simple use cases, but always feel free to hand-craft your own beautiful
59 - // overlay via await page.screencast.showOverlay().
60 - await page.screencast.showChapter('Adding Todo Items', {
61 - description: 'We will add several items to the todo list.',
62 - duration: 2000,
63 - });
64 -
65 - // Perform action
66 - await page.getByRole('textbox', { name: 'What needs to be done?' }).pressSequentially('Walk the dog', { delay: 60 });
67 - await page.getByRole('textbox', { name: 'What needs to be done?' }).press('Enter');
68 - await page.waitForTimeout(1000);
69 -
70 - // Show next chapter
71 - await page.screencast.showChapter('Verifying Results', {
72 - description: 'Checking the item appeared in the list.',
73 - duration: 2000,
74 - });
75 -
76 - // Add a sticky annotation that stays while you perform actions.
77 - // Overlays are pointer-events: none, so they won't block clicks.
78 - const annotation = await page.screencast.showOverlay(`
79 - <div style="position: absolute; top: 8px; right: 8px;
80 - padding: 6px 12px; background: rgba(0,0,0,0.7);
81 - border-radius: 8px; font-size: 13px; color: white;">
82 - ✓ Item added successfully
83 - </div>
84 - `);
85 -
86 - // Perform more actions while the annotation is visible
87 - await page.getByRole('textbox', { name: 'What needs to be done?' }).pressSequentially('Buy groceries', { delay: 60 });
88 - await page.getByRole('textbox', { name: 'What needs to be done?' }).press('Enter');
89 - await page.waitForTimeout(1500);
90 -
91 - // Remove the annotation when done
92 - await annotation.dispose();
93 -
94 - // You can also highlight relevant locators and provide contextual annotations.
95 - const bounds = await page.getByText('Walk the dog').boundingBox();
96 - await page.screencast.showOverlay(`
97 - <div style="position: absolute;
98 - top: ${bounds.y}px;
99 - left: ${bounds.x}px;
100 - width: ${bounds.width}px;
101 - height: ${bounds.height}px;
102 - border: 1px solid red;">
103 - </div>
104 - <div style="position: absolute;
105 - top: ${bounds.y + bounds.height + 5}px;
106 - left: ${bounds.x + bounds.width / 2}px;
107 - transform: translateX(-50%);
108 - padding: 6px;
109 - background: #808080;
110 - border-radius: 10px;
111 - font-size: 14px;
112 - color: white;">Check it out, it is right above this text
113 - </div>
114 - `, { duration: 2000 });
115 -
116 - await page.screencast.stop();
117 -}
118 -```
119 -
120 -Embrace creativity, overlays are powerful.
121 -
122 -### Overlay API Summary
123 -
124 -| Method | Use Case |
125 -|--------|----------|
126 -| `page.screencast.showChapter(title, { description?, duration?, styleSheet? })` | Full-screen chapter card with blurred backdrop — ideal for section transitions |
127 -| `page.screencast.showOverlay(html, { duration? })` | Custom HTML overlay — use for callouts, labels, highlights |
128 -| `disposable.dispose()` | Remove a sticky overlay added without duration |
129 -| `page.screencast.hideOverlays()` / `page.screencast.showOverlays()` | Temporarily hide/show all overlays |
130 -
131 -## Tracing vs Video
132 -
133 -| Feature | Video | Tracing |
134 -|---------|-------|---------|
135 -| Output | WebM file | Trace file (viewable in Trace Viewer) |
136 -| Shows | Visual recording | DOM snapshots, network, console, actions |
137 -| Use case | Demos, documentation | Debugging, analysis |
138 -| Size | Larger | Smaller |
139 -
140 -## Limitations
141 -
142 -- Recording adds slight overhead to automation
143 -- Large recordings can consume significant disk space
node_modules/playwright-core/lib/tools/dashboard/appIcon.png
Binary files a/node_modules/playwright-core/lib/tools/dashboard/appIcon.png and /dev/null differ
node_modules/playwright-core/lib/tools/trace/SKILL.md deleted
-171
@@ -1,171 +0,0 @@
1 ----
2 -name: playwright-trace
3 -description: Inspect Playwright trace files from the command line — list actions, view requests, console, errors, snapshots and screenshots.
4 -allowed-tools: Bash(npx:*)
5 ----
6 -
7 -# Playwright Trace CLI
8 -
9 -Inspect `.zip` trace files produced by Playwright tests without opening a browser.
10 -
11 -## Workflow
12 -
13 -1. Start with `trace open <trace.zip>` to extract the trace and see its metadata.
14 -2. Use `trace actions` to see all actions with their action IDs.
15 -3. Use `trace action <action-id>` to drill into a specific action — see parameters, logs, source location, and available snapshots.
16 -4. Use `trace requests`, `trace console`, or `trace errors` for cross-cutting views.
17 -5. Use `trace snapshot <action-id>` to get the DOM snapshot, or run a browser command against it.
18 -6. Use `trace close` to remove the extracted trace data when done.
19 -
20 -All commands after `open` operate on the currently opened trace — no need to pass the trace file again. Opening a new trace replaces the previous one.
21 -
22 -## Commands
23 -
24 -### Open a trace
25 -
26 -```bash
27 -# Extract trace and show metadata: browser, viewport, duration, action/error counts
28 -npx playwright trace open <trace.zip>
29 -```
30 -
31 -### Close a trace
32 -
33 -```bash
34 -# Remove extracted trace data
35 -npx playwright trace close
36 -```
37 -
38 -### Actions
39 -
40 -```bash
41 -# List all actions as a tree with action IDs and timing
42 -npx playwright trace actions
43 -
44 -# Filter by action title (regex, case-insensitive)
45 -npx playwright trace actions --grep "click"
46 -
47 -# Only failed actions
48 -npx playwright trace actions --errors-only
49 -```
50 -
51 -### Action details
52 -
53 -```bash
54 -# Show full details for one action: params, result, logs, source, snapshots
55 -npx playwright trace action <action-id>
56 -```
57 -
58 -The `action` command displays available snapshot phases (before, input, after) and the exact command to extract them.
59 -
60 -### Requests
61 -
62 -```bash
63 -# All network requests: method, status, URL, duration, size
64 -npx playwright trace requests
65 -
66 -# Filter by URL pattern
67 -npx playwright trace requests --grep "api"
68 -
69 -# Filter by HTTP method
70 -npx playwright trace requests --method POST
71 -
72 -# Only failed requests (status >= 400)
73 -npx playwright trace requests --failed
74 -```
75 -
76 -### Request details
77 -
78 -```bash
79 -# Show full details for one request: headers, body, security
80 -npx playwright trace request <request-id>
81 -```
82 -
83 -### Console
84 -
85 -```bash
86 -# All console messages and stdout/stderr
87 -npx playwright trace console
88 -
89 -# Only errors
90 -npx playwright trace console --errors-only
91 -
92 -# Only browser console (no stdout/stderr)
93 -npx playwright trace console --browser
94 -
95 -# Only stdout/stderr (no browser console)
96 -npx playwright trace console --stdio
97 -```
98 -
99 -### Errors
100 -
101 -```bash
102 -# All errors with stack traces and associated actions
103 -npx playwright trace errors
104 -```
105 -
106 -### Snapshots
107 -
108 -The `snapshot` command loads the DOM snapshot for an action into a headless browser and runs a single browser command against it. Without a browser command, it returns the accessibility snapshot.
109 -
110 -```bash
111 -# Get the accessibility snapshot (default)
112 -npx playwright trace snapshot <action-id>
113 -
114 -# Use a specific phase
115 -npx playwright trace snapshot <action-id> --name before
116 -
117 -# Run eval to query the DOM
118 -npx playwright trace snapshot <action-id> -- eval "document.title"
119 -npx playwright trace snapshot <action-id> -- eval "document.querySelector('#error').textContent"
120 -
121 -# Eval on a specific element ref (from the snapshot)
122 -npx playwright trace snapshot <action-id> -- eval "el => el.getAttribute('data-testid')" e5
123 -
124 -# Take a screenshot of the snapshot
125 -npx playwright trace snapshot <action-id> -- screenshot
126 -
127 -# Redirect output to a file
128 -npx playwright trace snapshot <action-id> -- eval "document.body.outerHTML" --filename=page.html
129 -npx playwright trace snapshot <action-id> -- screenshot --filename=screenshot.png
130 -```
131 -
132 -Only three browser commands are useful on a frozen snapshot: `snapshot`, `eval`, and `screenshot`.
133 -
134 -### Attachments
135 -
136 -```bash
137 -# List all trace attachments
138 -npx playwright trace attachments
139 -
140 -# Extract an attachment by its number
141 -npx playwright trace attachment 1
142 -npx playwright trace attachment 1 -o out.png
143 -```
144 -
145 -## Typical investigation
146 -
147 -```bash
148 -# 1. Open the trace and see what's inside
149 -npx playwright trace open test-results/my-test/trace.zip
150 -
151 -# 2. What actions ran?
152 -npx playwright trace actions
153 -
154 -# 3. Which action failed?
155 -npx playwright trace actions --errors-only
156 -
157 -# 4. What went wrong?
158 -npx playwright trace action 12
159 -
160 -# 5. What did the page look like at that moment?
161 -npx playwright trace snapshot 12
162 -
163 -# 6. Query the DOM for more detail
164 -npx playwright trace snapshot 12 -- eval "document.querySelector('.error-message').textContent"
165 -
166 -# 7. Any relevant network failures?
167 -npx playwright trace requests --failed
168 -
169 -# 8. Any console errors?
170 -npx playwright trace console --errors-only
171 -```
node_modules/playwright-core/lib/tools/utils/extension.js deleted
-78
@@ -1,78 +0,0 @@
1 -"use strict";
2 -var __create = Object.create;
3 -var __defProp = Object.defineProperty;
4 -var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5 -var __getOwnPropNames = Object.getOwnPropertyNames;
6 -var __getProtoOf = Object.getPrototypeOf;
7 -var __hasOwnProp = Object.prototype.hasOwnProperty;
8 -var __export = (target, all) => {
9 - for (var name in all)
10 - __defProp(target, name, { get: all[name], enumerable: true });
11 -};
12 -var __copyProps = (to, from, except, desc) => {
13 - if (from && typeof from === "object" || typeof from === "function") {
14 - for (let key of __getOwnPropNames(from))
15 - if (!__hasOwnProp.call(to, key) && key !== except)
16 - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17 - }
18 - return to;
19 -};
20 -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21 - // If the importer is in node compatibility mode or this is not an ESM
22 - // file that has been converted to a CommonJS file using a Babel-
23 - // compatible transform (i.e. "__esModule" has not been set), then set
24 - // "default" to the CommonJS "module.exports" for node compatibility.
25 - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26 - mod
27 -));
28 -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29 -var extension_exports = {};
30 -__export(extension_exports, {
31 - isPlaywrightExtensionInstalled: () => isPlaywrightExtensionInstalled,
32 - playwrightExtensionId: () => playwrightExtensionId,
33 - playwrightExtensionInstallUrl: () => playwrightExtensionInstallUrl
34 -});
35 -module.exports = __toCommonJS(extension_exports);
36 -var import_fs = __toESM(require("fs"));
37 -var import_path = __toESM(require("path"));
38 -const playwrightExtensionId = "mmlmfjhmonkocbjadbfplnigmagldckm";
39 -const playwrightExtensionInstallUrl = `https://chromewebstore.google.com/detail/playwright-extension/${playwrightExtensionId}`;
40 -async function isPlaywrightExtensionInstalled(userDataDir) {
41 - let entries;
42 - try {
43 - entries = await import_fs.default.promises.readdir(userDataDir);
44 - } catch {
45 - return false;
46 - }
47 - for (const entry of entries) {
48 - if (entry !== "Default" && !entry.startsWith("Profile "))
49 - continue;
50 - if (await isExtensionInstalledInProfile(import_path.default.join(userDataDir, entry)))
51 - return true;
52 - }
53 - return false;
54 -}
55 -async function isExtensionInstalledInProfile(profileDir) {
56 - if (await pathExists(import_path.default.join(profileDir, "Extensions", playwrightExtensionId)))
57 - return true;
58 - try {
59 - const prefs = await import_fs.default.promises.readFile(import_path.default.join(profileDir, "Preferences"), "utf-8");
60 - return prefs.includes(`"${playwrightExtensionId}"`);
61 - } catch {
62 - return false;
63 - }
64 -}
65 -async function pathExists(p) {
66 - try {
67 - await import_fs.default.promises.access(p);
68 - return true;
69 - } catch {
70 - return false;
71 - }
72 -}
73 -// Annotate the CommonJS export names for ESM import in node:
74 -0 && (module.exports = {
75 - isPlaywrightExtensionInstalled,
76 - playwrightExtensionId,
77 - playwrightExtensionInstallUrl
78 -});
node_modules/playwright-core/lib/tools/utils/socketConnection.js deleted
-108
@@ -1,108 +0,0 @@
1 -"use strict";
2 -var __defProp = Object.defineProperty;
3 -var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4 -var __getOwnPropNames = Object.getOwnPropertyNames;
5 -var __hasOwnProp = Object.prototype.hasOwnProperty;
6 -var __export = (target, all) => {
7 - for (var name in all)
8 - __defProp(target, name, { get: all[name], enumerable: true });
9 -};
10 -var __copyProps = (to, from, except, desc) => {
11 - if (from && typeof from === "object" || typeof from === "function") {
12 - for (let key of __getOwnPropNames(from))
13 - if (!__hasOwnProp.call(to, key) && key !== except)
14 - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15 - }
16 - return to;
17 -};
18 -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19 -var socketConnection_exports = {};
20 -__export(socketConnection_exports, {
21 - SocketConnection: () => SocketConnection,
22 - compareSemver: () => compareSemver
23 -});
24 -module.exports = __toCommonJS(socketConnection_exports);
25 -class SocketConnection {
26 - constructor(socket) {
27 - this._pendingBuffers = [];
28 - this._socket = socket;
29 - socket.on("data", (buffer) => this._onData(buffer));
30 - socket.on("close", () => {
31 - this.onclose?.();
32 - });
33 - socket.on("error", (e) => console.error(`error: ${e.message}`));
34 - }
35 - async send(message) {
36 - await new Promise((resolve, reject) => {
37 - this._socket.write(`${JSON.stringify(message)}
38 -`, (error) => {
39 - if (error)
40 - reject(error);
41 - else
42 - resolve(void 0);
43 - });
44 - });
45 - }
46 - close() {
47 - this._socket.destroy();
48 - }
49 - _onData(buffer) {
50 - let end = buffer.indexOf("\n");
51 - if (end === -1) {
52 - this._pendingBuffers.push(buffer);
53 - return;
54 - }
55 - this._pendingBuffers.push(buffer.slice(0, end));
56 - const message = Buffer.concat(this._pendingBuffers).toString();
57 - this._dispatchMessage(message);
58 - let start = end + 1;
59 - end = buffer.indexOf("\n", start);
60 - while (end !== -1) {
61 - const message2 = buffer.toString(void 0, start, end);
62 - this._dispatchMessage(message2);
63 - start = end + 1;
64 - end = buffer.indexOf("\n", start);
65 - }
66 - this._pendingBuffers = [buffer.slice(start)];
67 - }
68 - _dispatchMessage(message) {
69 - try {
70 - this.onmessage?.(JSON.parse(message));
71 - } catch (e) {
72 - console.error("failed to dispatch message", e);
73 - }
74 - }
75 -}
76 -function compareSemver(a, b) {
77 - const aBase = a.replace(/-.*$/, "");
78 - const bBase = b.replace(/-.*$/, "");
79 - const aParts = aBase.split(".").map(Number);
80 - const bParts = bBase.split(".").map(Number);
81 - for (let i = 0; i < 3; i++) {
82 - if (aParts[i] > bParts[i])
83 - return 1;
84 - if (aParts[i] < bParts[i])
85 - return -1;
86 - }
87 - const aTimestamp = parseSuffixTimestamp(a);
88 - const bTimestamp = parseSuffixTimestamp(b);
89 - if (aTimestamp > bTimestamp)
90 - return 1;
91 - if (aTimestamp < bTimestamp)
92 - return -1;
93 - return 0;
94 -}
95 -function parseSuffixTimestamp(version) {
96 - const match = version.match(/^\d+\.\d+\.\d+-(?:alpha|beta)-(.+)$/);
97 - if (!match)
98 - return Infinity;
99 - const suffix = match[1];
100 - if (/^\d{4}-\d{2}-\d{2}$/.test(suffix))
101 - return new Date(suffix).getTime();
102 - return Number(suffix);
103 -}
104 -// Annotate the CommonJS export names for ESM import in node:
105 -0 && (module.exports = {
106 - SocketConnection,
107 - compareSemver
108 -});
node_modules/playwright-core/lib/utilsBundle.js deleted
-85418
@@ -1,85418 +0,0 @@
1 -"use strict";
2 -var __create = Object.create;
3 -var __defProp = Object.defineProperty;
4 -var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5 -var __getOwnPropNames = Object.getOwnPropertyNames;
6 -var __getProtoOf = Object.getPrototypeOf;
7 -var __hasOwnProp = Object.prototype.hasOwnProperty;
8 -var __commonJS = (cb, mod) => function __require() {
9 - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
10 -};
11 -var __export = (target, all) => {
12 - for (var name in all)
13 - __defProp(target, name, { get: all[name], enumerable: true });
14 -};
15 -var __copyProps = (to, from, except, desc) => {
16 - if (from && typeof from === "object" || typeof from === "function") {
17 - for (let key of __getOwnPropNames(from))
18 - if (!__hasOwnProp.call(to, key) && key !== except)
19 - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
20 - }
21 - return to;
22 -};
23 -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
24 - // If the importer is in node compatibility mode or this is not an ESM
25 - // file that has been converted to a CommonJS file using a Babel-
26 - // compatible transform (i.e. "__esModule" has not been set), then set
27 - // "default" to the CommonJS "module.exports" for node compatibility.
28 - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
29 - mod
30 -));
31 -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
32 -
33 -// node_modules/colors/lib/styles.js
34 -var require_styles = __commonJS({
35 - "node_modules/colors/lib/styles.js"(exports2, module2) {
36 - var styles = {};
37 - module2["exports"] = styles;
38 - var codes = {
39 - reset: [0, 0],
40 - bold: [1, 22],
41 - dim: [2, 22],
42 - italic: [3, 23],
43 - underline: [4, 24],
44 - inverse: [7, 27],
45 - hidden: [8, 28],
46 - strikethrough: [9, 29],
47 - black: [30, 39],
48 - red: [31, 39],
49 - green: [32, 39],
50 - yellow: [33, 39],
51 - blue: [34, 39],
52 - magenta: [35, 39],
53 - cyan: [36, 39],
54 - white: [37, 39],
55 - gray: [90, 39],
56 - grey: [90, 39],
57 - brightRed: [91, 39],
58 - brightGreen: [92, 39],
59 - brightYellow: [93, 39],
60 - brightBlue: [94, 39],
61 - brightMagenta: [95, 39],
62 - brightCyan: [96, 39],
63 - brightWhite: [97, 39],
64 - bgBlack: [40, 49],
65 - bgRed: [41, 49],
66 - bgGreen: [42, 49],
67 - bgYellow: [43, 49],
68 - bgBlue: [44, 49],
69 - bgMagenta: [45, 49],
70 - bgCyan: [46, 49],
71 - bgWhite: [47, 49],
72 - bgGray: [100, 49],
73 - bgGrey: [100, 49],
74 - bgBrightRed: [101, 49],
75 - bgBrightGreen: [102, 49],
76 - bgBrightYellow: [103, 49],
77 - bgBrightBlue: [104, 49],
78 - bgBrightMagenta: [105, 49],
79 - bgBrightCyan: [106, 49],
80 - bgBrightWhite: [107, 49],
81 - // legacy styles for colors pre v1.0.0
82 - blackBG: [40, 49],
83 - redBG: [41, 49],
84 - greenBG: [42, 49],
85 - yellowBG: [43, 49],
86 - blueBG: [44, 49],
87 - magentaBG: [45, 49],
88 - cyanBG: [46, 49],
89 - whiteBG: [47, 49]
90 - };
91 - Object.keys(codes).forEach(function(key) {
92 - var val = codes[key];
93 - var style = styles[key] = [];
94 - style.open = "\x1B[" + val[0] + "m";
95 - style.close = "\x1B[" + val[1] + "m";
96 - });
97 - }
98 -});
99 -
100 -// node_modules/colors/lib/system/has-flag.js
101 -var require_has_flag = __commonJS({
102 - "node_modules/colors/lib/system/has-flag.js"(exports2, module2) {
103 - "use strict";
104 - module2.exports = function(flag, argv) {
105 - argv = argv || process.argv;
106 - var terminatorPos = argv.indexOf("--");
107 - var prefix = /^-{1,2}/.test(flag) ? "" : "--";
108 - var pos = argv.indexOf(prefix + flag);
109 - return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos);
110 - };
111 - }
112 -});
113 -
114 -// node_modules/colors/lib/system/supports-colors.js
115 -var require_supports_colors = __commonJS({
116 - "node_modules/colors/lib/system/supports-colors.js"(exports2, module2) {
117 - "use strict";
118 - var os = require("os");
119 - var hasFlag = require_has_flag();
120 - var env = process.env;
121 - var forceColor = void 0;
122 - if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false")) {
123 - forceColor = false;
124 - } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
125 - forceColor = true;
126 - }
127 - if ("FORCE_COLOR" in env) {
128 - forceColor = env.FORCE_COLOR.length === 0 || parseInt(env.FORCE_COLOR, 10) !== 0;
129 - }
130 - function translateLevel(level) {
131 - if (level === 0) {
132 - return false;
133 - }
134 - return {
135 - level,
136 - hasBasic: true,
137 - has256: level >= 2,
138 - has16m: level >= 3
139 - };
140 - }
141 - function supportsColor(stream) {
142 - if (forceColor === false) {
143 - return 0;
144 - }
145 - if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
146 - return 3;
147 - }
148 - if (hasFlag("color=256")) {
149 - return 2;
150 - }
151 - if (stream && !stream.isTTY && forceColor !== true) {
152 - return 0;
153 - }
154 - var min = forceColor ? 1 : 0;
155 - if (process.platform === "win32") {
156 - var osRelease = os.release().split(".");
157 - if (Number(process.versions.node.split(".")[0]) >= 8 && Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
158 - return Number(osRelease[2]) >= 14931 ? 3 : 2;
159 - }
160 - return 1;
161 - }
162 - if ("CI" in env) {
163 - if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI"].some(function(sign) {
164 - return sign in env;
165 - }) || env.CI_NAME === "codeship") {
166 - return 1;
167 - }
168 - return min;
169 - }
170 - if ("TEAMCITY_VERSION" in env) {
171 - return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
172 - }
173 - if ("TERM_PROGRAM" in env) {
174 - var version2 = parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
175 - switch (env.TERM_PROGRAM) {
176 - case "iTerm.app":
177 - return version2 >= 3 ? 3 : 2;
178 - case "Hyper":
179 - return 3;
180 - case "Apple_Terminal":
181 - return 2;
182 - }
183 - }
184 - if (/-256(color)?$/i.test(env.TERM)) {
185 - return 2;
186 - }
187 - if (/^screen|^xterm|^vt100|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
188 - return 1;
189 - }
190 - if ("COLORTERM" in env) {
191 - return 1;
192 - }
193 - if (env.TERM === "dumb") {
194 - return min;
195 - }
196 - return min;
197 - }
198 - function getSupportLevel(stream) {
199 - var level = supportsColor(stream);
200 - return translateLevel(level);
201 - }
202 - module2.exports = {
203 - supportsColor: getSupportLevel,
204 - stdout: getSupportLevel(process.stdout),
205 - stderr: getSupportLevel(process.stderr)
206 - };
207 - }
208 -});
209 -
210 -// node_modules/colors/lib/custom/trap.js
211 -var require_trap = __commonJS({
212 - "node_modules/colors/lib/custom/trap.js"(exports2, module2) {
213 - module2["exports"] = function runTheTrap(text, options) {
214 - var result = "";
215 - text = text || "Run the trap, drop the bass";
216 - text = text.split("");
217 - var trap = {
218 - a: ["@", "\u0104", "\u023A", "\u0245", "\u0394", "\u039B", "\u0414"],
219 - b: ["\xDF", "\u0181", "\u0243", "\u026E", "\u03B2", "\u0E3F"],
220 - c: ["\xA9", "\u023B", "\u03FE"],
221 - d: ["\xD0", "\u018A", "\u0500", "\u0501", "\u0502", "\u0503"],
222 - e: [
223 - "\xCB",
224 - "\u0115",
225 - "\u018E",
226 - "\u0258",
227 - "\u03A3",
228 - "\u03BE",
229 - "\u04BC",
230 - "\u0A6C"
231 - ],
232 - f: ["\u04FA"],
233 - g: ["\u0262"],
234 - h: ["\u0126", "\u0195", "\u04A2", "\u04BA", "\u04C7", "\u050A"],
235 - i: ["\u0F0F"],
236 - j: ["\u0134"],
237 - k: ["\u0138", "\u04A0", "\u04C3", "\u051E"],
238 - l: ["\u0139"],
239 - m: ["\u028D", "\u04CD", "\u04CE", "\u0520", "\u0521", "\u0D69"],
240 - n: ["\xD1", "\u014B", "\u019D", "\u0376", "\u03A0", "\u048A"],
241 - o: [
242 - "\xD8",
243 - "\xF5",
244 - "\xF8",
245 - "\u01FE",
246 - "\u0298",
247 - "\u047A",
248 - "\u05DD",
249 - "\u06DD",
250 - "\u0E4F"
251 - ],
252 - p: ["\u01F7", "\u048E"],
253 - q: ["\u09CD"],
254 - r: ["\xAE", "\u01A6", "\u0210", "\u024C", "\u0280", "\u042F"],
255 - s: ["\xA7", "\u03DE", "\u03DF", "\u03E8"],
256 - t: ["\u0141", "\u0166", "\u0373"],
257 - u: ["\u01B1", "\u054D"],
258 - v: ["\u05D8"],
259 - w: ["\u0428", "\u0460", "\u047C", "\u0D70"],
260 - x: ["\u04B2", "\u04FE", "\u04FC", "\u04FD"],
261 - y: ["\xA5", "\u04B0", "\u04CB"],
262 - z: ["\u01B5", "\u0240"]
263 - };
264 - text.forEach(function(c) {
265 - c = c.toLowerCase();
266 - var chars = trap[c] || [" "];
267 - var rand = Math.floor(Math.random() * chars.length);
268 - if (typeof trap[c] !== "undefined") {
269 - result += trap[c][rand];
270 - } else {
271 - result += c;
272 - }
273 - });
274 - return result;
275 - };
276 - }
277 -});
278 -
279 -// node_modules/colors/lib/custom/zalgo.js
280 -var require_zalgo = __commonJS({
281 - "node_modules/colors/lib/custom/zalgo.js"(exports2, module2) {
282 - module2["exports"] = function zalgo(text, options) {
283 - text = text || " he is here ";
284 - var soul = {
285 - "up": [
286 - "\u030D",
287 - "\u030E",
288 - "\u0304",
289 - "\u0305",
290 - "\u033F",
291 - "\u0311",
292 - "\u0306",
293 - "\u0310",
294 - "\u0352",
295 - "\u0357",
296 - "\u0351",
297 - "\u0307",
298 - "\u0308",
299 - "\u030A",
300 - "\u0342",
301 - "\u0313",
302 - "\u0308",
303 - "\u034A",
304 - "\u034B",
305 - "\u034C",
306 - "\u0303",
307 - "\u0302",
308 - "\u030C",
309 - "\u0350",
310 - "\u0300",
311 - "\u0301",
312 - "\u030B",
313 - "\u030F",
314 - "\u0312",
315 - "\u0313",
316 - "\u0314",
317 - "\u033D",
318 - "\u0309",
319 - "\u0363",
320 - "\u0364",
321 - "\u0365",
322 - "\u0366",
323 - "\u0367",
324 - "\u0368",
325 - "\u0369",
326 - "\u036A",
327 - "\u036B",
328 - "\u036C",
329 - "\u036D",
330 - "\u036E",
331 - "\u036F",
332 - "\u033E",
333 - "\u035B",
334 - "\u0346",
335 - "\u031A"
336 - ],
337 - "down": [
338 - "\u0316",
339 - "\u0317",
340 - "\u0318",
341 - "\u0319",
342 - "\u031C",
343 - "\u031D",
344 - "\u031E",
345 - "\u031F",
346 - "\u0320",
347 - "\u0324",
348 - "\u0325",
349 - "\u0326",
350 - "\u0329",
351 - "\u032A",
352 - "\u032B",
353 - "\u032C",
354 - "\u032D",
355 - "\u032E",
356 - "\u032F",
357 - "\u0330",
358 - "\u0331",
359 - "\u0332",
360 - "\u0333",
361 - "\u0339",
362 - "\u033A",
363 - "\u033B",
364 - "\u033C",
365 - "\u0345",
366 - "\u0347",
367 - "\u0348",
368 - "\u0349",
369 - "\u034D",
370 - "\u034E",
371 - "\u0353",
372 - "\u0354",
373 - "\u0355",
374 - "\u0356",
375 - "\u0359",
376 - "\u035A",
377 - "\u0323"
378 - ],
379 - "mid": [
380 - "\u0315",
381 - "\u031B",
382 - "\u0300",
383 - "\u0301",
384 - "\u0358",
385 - "\u0321",
386 - "\u0322",
387 - "\u0327",
388 - "\u0328",
389 - "\u0334",
390 - "\u0335",
391 - "\u0336",
392 - "\u035C",
393 - "\u035D",
394 - "\u035E",
395 - "\u035F",
396 - "\u0360",
397 - "\u0362",
398 - "\u0338",
399 - "\u0337",
400 - "\u0361",
401 - " \u0489"
402 - ]
403 - };
404 - var all = [].concat(soul.up, soul.down, soul.mid);
405 - function randomNumber(range) {
406 - var r = Math.floor(Math.random() * range);
407 - return r;
408 - }
409 - function isChar(character) {
410 - var bool = false;
411 - all.filter(function(i) {
412 - bool = i === character;
413 - });
414 - return bool;
415 - }
416 - function heComes(text2, options2) {
417 - var result = "";
418 - var counts;
419 - var l;
420 - options2 = options2 || {};
421 - options2["up"] = typeof options2["up"] !== "undefined" ? options2["up"] : true;
422 - options2["mid"] = typeof options2["mid"] !== "undefined" ? options2["mid"] : true;
423 - options2["down"] = typeof options2["down"] !== "undefined" ? options2["down"] : true;
424 - options2["size"] = typeof options2["size"] !== "undefined" ? options2["size"] : "maxi";
425 - text2 = text2.split("");
426 - for (l in text2) {
427 - if (isChar(l)) {
428 - continue;
429 - }
430 - result = result + text2[l];
431 - counts = { "up": 0, "down": 0, "mid": 0 };
432 - switch (options2.size) {
433 - case "mini":
434 - counts.up = randomNumber(8);
435 - counts.mid = randomNumber(2);
436 - counts.down = randomNumber(8);
437 - break;
438 - case "maxi":
439 - counts.up = randomNumber(16) + 3;
440 - counts.mid = randomNumber(4) + 1;
441 - counts.down = randomNumber(64) + 3;
442 - break;
443 - default:
444 - counts.up = randomNumber(8) + 1;
445 - counts.mid = randomNumber(6) / 2;
446 - counts.down = randomNumber(8) + 1;
447 - break;
448 - }
449 - var arr = ["up", "mid", "down"];
450 - for (var d in arr) {
451 - var index = arr[d];
452 - for (var i = 0; i <= counts[index]; i++) {
453 - if (options2[index]) {
454 - result = result + soul[index][randomNumber(soul[index].length)];
455 - }
456 - }
457 - }
458 - }
459 - return result;
460 - }
461 - return heComes(text, options);
462 - };
463 - }
464 -});
465 -
466 -// node_modules/colors/lib/maps/america.js
467 -var require_america = __commonJS({
468 - "node_modules/colors/lib/maps/america.js"(exports2, module2) {
469 - module2["exports"] = function(colors2) {
470 - return function(letter, i, exploded) {
471 - if (letter === " ") return letter;
472 - switch (i % 3) {
473 - case 0:
474 - return colors2.red(letter);
475 - case 1:
476 - return colors2.white(letter);
477 - case 2:
478 - return colors2.blue(letter);
479 - }
480 - };
481 - };
482 - }
483 -});
484 -
485 -// node_modules/colors/lib/maps/zebra.js
486 -var require_zebra = __commonJS({
487 - "node_modules/colors/lib/maps/zebra.js"(exports2, module2) {
488 - module2["exports"] = function(colors2) {
489 - return function(letter, i, exploded) {
490 - return i % 2 === 0 ? letter : colors2.inverse(letter);
491 - };
492 - };
493 - }
494 -});
495 -
496 -// node_modules/colors/lib/maps/rainbow.js
497 -var require_rainbow = __commonJS({
498 - "node_modules/colors/lib/maps/rainbow.js"(exports2, module2) {
499 - module2["exports"] = function(colors2) {
500 - var rainbowColors = ["red", "yellow", "green", "blue", "magenta"];
501 - return function(letter, i, exploded) {
502 - if (letter === " ") {
503 - return letter;
504 - } else {
505 - return colors2[rainbowColors[i++ % rainbowColors.length]](letter);
506 - }
507 - };
508 - };
509 - }
510 -});
511 -
512 -// node_modules/colors/lib/maps/random.js
513 -var require_random = __commonJS({
514 - "node_modules/colors/lib/maps/random.js"(exports2, module2) {
515 - module2["exports"] = function(colors2) {
516 - var available = [
517 - "underline",
518 - "inverse",
519 - "grey",
520 - "yellow",
521 - "red",
522 - "green",
523 - "blue",
524 - "white",
525 - "cyan",
526 - "magenta",
527 - "brightYellow",
528 - "brightRed",
529 - "brightGreen",
530 - "brightBlue",
531 - "brightWhite",
532 - "brightCyan",
533 - "brightMagenta"
534 - ];
535 - return function(letter, i, exploded) {
536 - return letter === " " ? letter : colors2[available[Math.round(Math.random() * (available.length - 2))]](letter);
537 - };
538 - };
539 - }
540 -});
541 -
542 -// node_modules/colors/lib/colors.js
543 -var require_colors = __commonJS({
544 - "node_modules/colors/lib/colors.js"(exports2, module2) {
545 - var colors2 = {};
546 - module2["exports"] = colors2;
547 - colors2.themes = {};
548 - var util2 = require("util");
549 - var ansiStyles = colors2.styles = require_styles();
550 - var defineProps = Object.defineProperties;
551 - var newLineRegex = new RegExp(/[\r\n]+/g);
552 - colors2.supportsColor = require_supports_colors().supportsColor;
553 - if (typeof colors2.enabled === "undefined") {
554 - colors2.enabled = colors2.supportsColor() !== false;
555 - }
556 - colors2.enable = function() {
557 - colors2.enabled = true;
558 - };
559 - colors2.disable = function() {
560 - colors2.enabled = false;
561 - };
562 - colors2.stripColors = colors2.strip = function(str) {
563 - return ("" + str).replace(/\x1B\[\d+m/g, "");
564 - };
565 - var stylize = colors2.stylize = function stylize2(str, style) {
566 - if (!colors2.enabled) {
567 - return str + "";
568 - }
569 - var styleMap = ansiStyles[style];
570 - if (!styleMap && style in colors2) {
571 - return colors2[style](str);
572 - }
573 - return styleMap.open + str + styleMap.close;
574 - };
575 - var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g;
576 - var escapeStringRegexp = function(str) {
577 - if (typeof str !== "string") {
578 - throw new TypeError("Expected a string");
579 - }
580 - return str.replace(matchOperatorsRe, "\\$&");
581 - };
582 - function build(_styles) {
583 - var builder = function builder2() {
584 - return applyStyle.apply(builder2, arguments);
585 - };
586 - builder._styles = _styles;
587 - builder.__proto__ = proto;
588 - return builder;
589 - }
590 - var styles = (function() {
591 - var ret = {};
592 - ansiStyles.grey = ansiStyles.gray;
593 - Object.keys(ansiStyles).forEach(function(key) {
594 - ansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), "g");
595 - ret[key] = {
596 - get: function() {
597 - return build(this._styles.concat(key));
598 - }
599 - };
600 - });
601 - return ret;
602 - })();
603 - var proto = defineProps(function colors3() {
604 - }, styles);
605 - function applyStyle() {
606 - var args = Array.prototype.slice.call(arguments);
607 - var str = args.map(function(arg) {
608 - if (arg != null && arg.constructor === String) {
609 - return arg;
610 - } else {
611 - return util2.inspect(arg);
612 - }
613 - }).join(" ");
614 - if (!colors2.enabled || !str) {
615 - return str;
616 - }
617 - var newLinesPresent = str.indexOf("\n") != -1;
618 - var nestedStyles = this._styles;
619 - var i = nestedStyles.length;
620 - while (i--) {
621 - var code = ansiStyles[nestedStyles[i]];
622 - str = code.open + str.replace(code.closeRe, code.open) + code.close;
623 - if (newLinesPresent) {
624 - str = str.replace(newLineRegex, function(match) {
625 - return code.close + match + code.open;
626 - });
627 - }
628 - }
629 - return str;
630 - }
631 - colors2.setTheme = function(theme) {
632 - if (typeof theme === "string") {
633 - console.log("colors.setTheme now only accepts an object, not a string. If you are trying to set a theme from a file, it is now your (the caller's) responsibility to require the file. The old syntax looked like colors.setTheme(__dirname + '/../themes/generic-logging.js'); The new syntax looks like colors.setTheme(require(__dirname + '/../themes/generic-logging.js'));");
634 - return;
635 - }
636 - for (var style in theme) {
637 - (function(style2) {
638 - colors2[style2] = function(str) {
639 - if (typeof theme[style2] === "object") {
640 - var out = str;
641 - for (var i in theme[style2]) {
642 - out = colors2[theme[style2][i]](out);
643 - }
644 - return out;
645 - }
646 - return colors2[theme[style2]](str);
647 - };
648 - })(style);
649 - }
650 - };
651 - function init() {
652 - var ret = {};
653 - Object.keys(styles).forEach(function(name) {
654 - ret[name] = {
655 - get: function() {
656 - return build([name]);
657 - }
658 - };
659 - });
660 - return ret;
661 - }
662 - var sequencer = function sequencer2(map3, str) {
663 - var exploded = str.split("");
664 - exploded = exploded.map(map3);
665 - return exploded.join("");
666 - };
667 - colors2.trap = require_trap();
668 - colors2.zalgo = require_zalgo();
669 - colors2.maps = {};
670 - colors2.maps.america = require_america()(colors2);
671 - colors2.maps.zebra = require_zebra()(colors2);
672 - colors2.maps.rainbow = require_rainbow()(colors2);
673 - colors2.maps.random = require_random()(colors2);
674 - for (map2 in colors2.maps) {
675 - (function(map3) {
676 - colors2[map3] = function(str) {
677 - return sequencer(colors2.maps[map3], str);
678 - };
679 - })(map2);
680 - }
681 - var map2;
682 - defineProps(colors2, init());
683 - }
684 -});
685 -
686 -// node_modules/colors/safe.js
687 -var require_safe = __commonJS({
688 - "node_modules/colors/safe.js"(exports2, module2) {
689 - var colors2 = require_colors();
690 - module2["exports"] = colors2;
691 - }
692 -});
693 -
694 -// node_modules/ms/index.js
695 -var require_ms = __commonJS({
696 - "node_modules/ms/index.js"(exports2, module2) {
697 - var s = 1e3;
698 - var m = s * 60;
699 - var h = m * 60;
700 - var d = h * 24;
701 - var w = d * 7;
702 - var y = d * 365.25;
703 - module2.exports = function(val, options) {
704 - options = options || {};
705 - var type = typeof val;
706 - if (type === "string" && val.length > 0) {
707 - return parse3(val);
708 - } else if (type === "number" && isFinite(val)) {
709 - return options.long ? fmtLong(val) : fmtShort(val);
710 - }
711 - throw new Error(
712 - "val is not a non-empty string or a valid number. val=" + JSON.stringify(val)
713 - );
714 - };
715 - function parse3(str) {
716 - str = String(str);
717 - if (str.length > 100) {
718 - return;
719 - }
720 - var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(
721 - str
722 - );
723 - if (!match) {
724 - return;
725 - }
726 - var n = parseFloat(match[1]);
727 - var type = (match[2] || "ms").toLowerCase();
728 - switch (type) {
729 - case "years":
730 - case "year":
731 - case "yrs":
732 - case "yr":
733 - case "y":
734 - return n * y;
735 - case "weeks":
736 - case "week":
737 - case "w":
738 - return n * w;
739 - case "days":
740 - case "day":
741 - case "d":
742 - return n * d;
743 - case "hours":
744 - case "hour":
745 - case "hrs":
746 - case "hr":
747 - case "h":
748 - return n * h;
749 - case "minutes":
750 - case "minute":
751 - case "mins":
752 - case "min":
753 - case "m":
754 - return n * m;
755 - case "seconds":
756 - case "second":
757 - case "secs":
758 - case "sec":
759 - case "s":
760 - return n * s;
761 - case "milliseconds":
762 - case "millisecond":
763 - case "msecs":
764 - case "msec":
765 - case "ms":
766 - return n;
767 - default:
768 - return void 0;
769 - }
770 - }
771 - function fmtShort(ms) {
772 - var msAbs = Math.abs(ms);
773 - if (msAbs >= d) {
774 - return Math.round(ms / d) + "d";
775 - }
776 - if (msAbs >= h) {
777 - return Math.round(ms / h) + "h";
778 - }
779 - if (msAbs >= m) {
780 - return Math.round(ms / m) + "m";
781 - }
782 - if (msAbs >= s) {
783 - return Math.round(ms / s) + "s";
784 - }
785 - return ms + "ms";
786 - }
787 - function fmtLong(ms) {
788 - var msAbs = Math.abs(ms);
789 - if (msAbs >= d) {
790 - return plural(ms, msAbs, d, "day");
791 - }
792 - if (msAbs >= h) {
793 - return plural(ms, msAbs, h, "hour");
794 - }
795 - if (msAbs >= m) {
796 - return plural(ms, msAbs, m, "minute");
797 - }
798 - if (msAbs >= s) {
799 - return plural(ms, msAbs, s, "second");
800 - }
801 - return ms + " ms";
802 - }
803 - function plural(ms, msAbs, n, name) {
804 - var isPlural = msAbs >= n * 1.5;
805 - return Math.round(ms / n) + " " + name + (isPlural ? "s" : "");
806 - }
807 - }
808 -});
809 -
810 -// node_modules/debug/src/common.js
811 -var require_common = __commonJS({
812 - "node_modules/debug/src/common.js"(exports2, module2) {
813 - function setup(env) {
814 - createDebug.debug = createDebug;
815 - createDebug.default = createDebug;
816 - createDebug.coerce = coerce;
817 - createDebug.disable = disable;
818 - createDebug.enable = enable;
819 - createDebug.enabled = enabled;
820 - createDebug.humanize = require_ms();
821 - createDebug.destroy = destroy;
822 - Object.keys(env).forEach((key) => {
823 - createDebug[key] = env[key];
824 - });
825 - createDebug.names = [];
826 - createDebug.skips = [];
827 - createDebug.formatters = {};
828 - function selectColor(namespace) {
829 - let hash2 = 0;
830 - for (let i = 0; i < namespace.length; i++) {
831 - hash2 = (hash2 << 5) - hash2 + namespace.charCodeAt(i);
832 - hash2 |= 0;
833 - }
834 - return createDebug.colors[Math.abs(hash2) % createDebug.colors.length];
835 - }
836 - createDebug.selectColor = selectColor;
837 - function createDebug(namespace) {
838 - let prevTime;
839 - let enableOverride = null;
840 - let namespacesCache;
841 - let enabledCache;
842 - function debug2(...args) {
843 - if (!debug2.enabled) {
844 - return;
845 - }
846 - const self = debug2;
847 - const curr = Number(/* @__PURE__ */ new Date());
848 - const ms = curr - (prevTime || curr);
849 - self.diff = ms;
850 - self.prev = prevTime;
851 - self.curr = curr;
852 - prevTime = curr;
853 - args[0] = createDebug.coerce(args[0]);
854 - if (typeof args[0] !== "string") {
855 - args.unshift("%O");
856 - }
857 - let index = 0;
858 - args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {
859 - if (match === "%%") {
860 - return "%";
861 - }
862 - index++;
863 - const formatter = createDebug.formatters[format];
864 - if (typeof formatter === "function") {
865 - const val = args[index];
866 - match = formatter.call(self, val);
867 - args.splice(index, 1);
868 - index--;
869 - }
870 - return match;
871 - });
872 - createDebug.formatArgs.call(self, args);
873 - const logFn = self.log || createDebug.log;
874 - logFn.apply(self, args);
875 - }
876 - debug2.namespace = namespace;
877 - debug2.useColors = createDebug.useColors();
878 - debug2.color = createDebug.selectColor(namespace);
879 - debug2.extend = extend2;
880 - debug2.destroy = createDebug.destroy;
881 - Object.defineProperty(debug2, "enabled", {
882 - enumerable: true,
883 - configurable: false,
884 - get: () => {
885 - if (enableOverride !== null) {
886 - return enableOverride;
887 - }
888 - if (namespacesCache !== createDebug.namespaces) {
889 - namespacesCache = createDebug.namespaces;
890 - enabledCache = createDebug.enabled(namespace);
891 - }
892 - return enabledCache;
893 - },
894 - set: (v) => {
895 - enableOverride = v;
896 - }
897 - });
898 - if (typeof createDebug.init === "function") {
899 - createDebug.init(debug2);
900 - }
901 - return debug2;
902 - }
903 - function extend2(namespace, delimiter) {
904 - const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace);
905 - newDebug.log = this.log;
906 - return newDebug;
907 - }
908 - function enable(namespaces) {
909 - createDebug.save(namespaces);
910 - createDebug.namespaces = namespaces;
911 - createDebug.names = [];
912 - createDebug.skips = [];
913 - const split = (typeof namespaces === "string" ? namespaces : "").trim().replace(/\s+/g, ",").split(",").filter(Boolean);
914 - for (const ns of split) {
915 - if (ns[0] === "-") {
916 - createDebug.skips.push(ns.slice(1));
917 - } else {
918 - createDebug.names.push(ns);
919 - }
920 - }
921 - }
922 - function matchesTemplate(search, template) {
923 - let searchIndex = 0;
924 - let templateIndex = 0;
925 - let starIndex = -1;
926 - let matchIndex = 0;
927 - while (searchIndex < search.length) {
928 - if (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === "*")) {
929 - if (template[templateIndex] === "*") {
930 - starIndex = templateIndex;
931 - matchIndex = searchIndex;
932 - templateIndex++;
933 - } else {
934 - searchIndex++;
935 - templateIndex++;
936 - }
937 - } else if (starIndex !== -1) {
938 - templateIndex = starIndex + 1;
939 - matchIndex++;
940 - searchIndex = matchIndex;
941 - } else {
942 - return false;
943 - }
944 - }
945 - while (templateIndex < template.length && template[templateIndex] === "*") {
946 - templateIndex++;
947 - }
948 - return templateIndex === template.length;
949 - }
950 - function disable() {
951 - const namespaces = [
952 - ...createDebug.names,
953 - ...createDebug.skips.map((namespace) => "-" + namespace)
954 - ].join(",");
955 - createDebug.enable("");
956 - return namespaces;
957 - }
958 - function enabled(name) {
959 - for (const skip of createDebug.skips) {
960 - if (matchesTemplate(name, skip)) {
961 - return false;
962 - }
963 - }
964 - for (const ns of createDebug.names) {
965 - if (matchesTemplate(name, ns)) {
966 - return true;
967 - }
968 - }
969 - return false;
970 - }
971 - function coerce(val) {
972 - if (val instanceof Error) {
973 - return val.stack || val.message;
974 - }
975 - return val;
976 - }
977 - function destroy() {
978 - console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
979 - }
980 - createDebug.enable(createDebug.load());
981 - return createDebug;
982 - }
983 - module2.exports = setup;
984 - }
985 -});
986 -
987 -// node_modules/debug/src/browser.js
988 -var require_browser = __commonJS({
989 - "node_modules/debug/src/browser.js"(exports2, module2) {
990 - exports2.formatArgs = formatArgs;
991 - exports2.save = save;
992 - exports2.load = load;
993 - exports2.useColors = useColors;
994 - exports2.storage = localstorage();
995 - exports2.destroy = /* @__PURE__ */ (() => {
996 - let warned = false;
997 - return () => {
998 - if (!warned) {
999 - warned = true;
1000 - console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
1001 - }
1002 - };
1003 - })();
1004 - exports2.colors = [
1005 - "#0000CC",
1006 - "#0000FF",
1007 - "#0033CC",
1008 - "#0033FF",
1009 - "#0066CC",
1010 - "#0066FF",
1011 - "#0099CC",
1012 - "#0099FF",
1013 - "#00CC00",
1014 - "#00CC33",
1015 - "#00CC66",
1016 - "#00CC99",
1017 - "#00CCCC",
1018 - "#00CCFF",
1019 - "#3300CC",
1020 - "#3300FF",
1021 - "#3333CC",
1022 - "#3333FF",
1023 - "#3366CC",
1024 - "#3366FF",
1025 - "#3399CC",
1026 - "#3399FF",
1027 - "#33CC00",
1028 - "#33CC33",
1029 - "#33CC66",
1030 - "#33CC99",
1031 - "#33CCCC",
1032 - "#33CCFF",
1033 - "#6600CC",
1034 - "#6600FF",
1035 - "#6633CC",
1036 - "#6633FF",
1037 - "#66CC00",
1038 - "#66CC33",
1039 - "#9900CC",
1040 - "#9900FF",
1041 - "#9933CC",
1042 - "#9933FF",
1043 - "#99CC00",
1044 - "#99CC33",
1045 - "#CC0000",
1046 - "#CC0033",
1047 - "#CC0066",
1048 - "#CC0099",
1049 - "#CC00CC",
1050 - "#CC00FF",
1051 - "#CC3300",
1052 - "#CC3333",
1053 - "#CC3366",
1054 - "#CC3399",
1055 - "#CC33CC",
1056 - "#CC33FF",
1057 - "#CC6600",
1058 - "#CC6633",
1059 - "#CC9900",
1060 - "#CC9933",
1061 - "#CCCC00",
1062 - "#CCCC33",
1063 - "#FF0000",
1064 - "#FF0033",
1065 - "#FF0066",
1066 - "#FF0099",
1067 - "#FF00CC",
1068 - "#FF00FF",
1069 - "#FF3300",
1070 - "#FF3333",
1071 - "#FF3366",
1072 - "#FF3399",
1073 - "#FF33CC",
1074 - "#FF33FF",
1075 - "#FF6600",
1076 - "#FF6633",
1077 - "#FF9900",
1078 - "#FF9933",
1079 - "#FFCC00",
1080 - "#FFCC33"
1081 - ];
1082 - function useColors() {
1083 - if (typeof window !== "undefined" && window.process && (window.process.type === "renderer" || window.process.__nwjs)) {
1084 - return true;
1085 - }
1086 - if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
1087 - return false;
1088 - }
1089 - let m;
1090 - return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // Is firebug? http://stackoverflow.com/a/398120/376773
1091 - typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31?
1092 - // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
1093 - typeof navigator !== "undefined" && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) && parseInt(m[1], 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker
1094 - typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);
1095 - }
1096 - function formatArgs(args) {
1097 - args[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args[0] + (this.useColors ? "%c " : " ") + "+" + module2.exports.humanize(this.diff);
1098 - if (!this.useColors) {
1099 - return;
1100 - }
1101 - const c = "color: " + this.color;
1102 - args.splice(1, 0, c, "color: inherit");
1103 - let index = 0;
1104 - let lastC = 0;
1105 - args[0].replace(/%[a-zA-Z%]/g, (match) => {
1106 - if (match === "%%") {
1107 - return;
1108 - }
1109 - index++;
1110 - if (match === "%c") {
1111 - lastC = index;
1112 - }
1113 - });
1114 - args.splice(lastC, 0, c);
1115 - }
1116 - exports2.log = console.debug || console.log || (() => {
1117 - });
1118 - function save(namespaces) {
1119 - try {
1120 - if (namespaces) {
1121 - exports2.storage.setItem("debug", namespaces);
1122 - } else {
1123 - exports2.storage.removeItem("debug");
1124 - }
1125 - } catch (error48) {
1126 - }
1127 - }
1128 - function load() {
1129 - let r;
1130 - try {
1131 - r = exports2.storage.getItem("debug") || exports2.storage.getItem("DEBUG");
1132 - } catch (error48) {
1133 - }
1134 - if (!r && typeof process !== "undefined" && "env" in process) {
1135 - r = process.env.DEBUG;
1136 - }
1137 - return r;
1138 - }
1139 - function localstorage() {
1140 - try {
1141 - return localStorage;
1142 - } catch (error48) {
1143 - }
1144 - }
1145 - module2.exports = require_common()(exports2);
1146 - var { formatters } = module2.exports;
1147 - formatters.j = function(v) {
1148 - try {
1149 - return JSON.stringify(v);
1150 - } catch (error48) {
1151 - return "[UnexpectedJSONParseError]: " + error48.message;
1152 - }
1153 - };
1154 - }
1155 -});
1156 -
1157 -// node_modules/has-flag/index.js
1158 -var require_has_flag2 = __commonJS({
1159 - "node_modules/has-flag/index.js"(exports2, module2) {
1160 - "use strict";
1161 - module2.exports = (flag, argv = process.argv) => {
1162 - const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
1163 - const position = argv.indexOf(prefix + flag);
1164 - const terminatorPosition = argv.indexOf("--");
1165 - return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
1166 - };
1167 - }
1168 -});
1169 -
1170 -// node_modules/supports-color/index.js
1171 -var require_supports_color = __commonJS({
1172 - "node_modules/supports-color/index.js"(exports2, module2) {
1173 - "use strict";
1174 - var os = require("os");
1175 - var tty = require("tty");
1176 - var hasFlag = require_has_flag2();
1177 - var { env } = process;
1178 - var flagForceColor;
1179 - if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
1180 - flagForceColor = 0;
1181 - } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
1182 - flagForceColor = 1;
1183 - }
1184 - function envForceColor() {
1185 - if ("FORCE_COLOR" in env) {
1186 - if (env.FORCE_COLOR === "true") {
1187 - return 1;
1188 - }
1189 - if (env.FORCE_COLOR === "false") {
1190 - return 0;
1191 - }
1192 - return env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);
1193 - }
1194 - }
1195 - function translateLevel(level) {
1196 - if (level === 0) {
1197 - return false;
1198 - }
1199 - return {
1200 - level,
1201 - hasBasic: true,
1202 - has256: level >= 2,
1203 - has16m: level >= 3
1204 - };
1205 - }
1206 - function supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
1207 - const noFlagForceColor = envForceColor();
1208 - if (noFlagForceColor !== void 0) {
1209 - flagForceColor = noFlagForceColor;
1210 - }
1211 - const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
1212 - if (forceColor === 0) {
1213 - return 0;
1214 - }
1215 - if (sniffFlags) {
1216 - if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
1217 - return 3;
1218 - }
1219 - if (hasFlag("color=256")) {
1220 - return 2;
1221 - }
1222 - }
1223 - if (haveStream && !streamIsTTY && forceColor === void 0) {
1224 - return 0;
1225 - }
1226 - const min = forceColor || 0;
1227 - if (env.TERM === "dumb") {
1228 - return min;
1229 - }
1230 - if (process.platform === "win32") {
1231 - const osRelease = os.release().split(".");
1232 - if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
1233 - return Number(osRelease[2]) >= 14931 ? 3 : 2;
1234 - }
1235 - return 1;
1236 - }
1237 - if ("CI" in env) {
1238 - if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "GITHUB_ACTIONS", "BUILDKITE", "DRONE"].some((sign) => sign in env) || env.CI_NAME === "codeship") {
1239 - return 1;
1240 - }
1241 - return min;
1242 - }
1243 - if ("TEAMCITY_VERSION" in env) {
1244 - return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
1245 - }
1246 - if (env.COLORTERM === "truecolor") {
1247 - return 3;
1248 - }
1249 - if ("TERM_PROGRAM" in env) {
1250 - const version2 = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
1251 - switch (env.TERM_PROGRAM) {
1252 - case "iTerm.app":
1253 - return version2 >= 3 ? 3 : 2;
1254 - case "Apple_Terminal":
1255 - return 2;
1256 - }
1257 - }
1258 - if (/-256(color)?$/i.test(env.TERM)) {
1259 - return 2;
1260 - }
1261 - if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
1262 - return 1;
1263 - }
1264 - if ("COLORTERM" in env) {
1265 - return 1;
1266 - }
1267 - return min;
1268 - }
1269 - function getSupportLevel(stream, options = {}) {
1270 - const level = supportsColor(stream, {
1271 - streamIsTTY: stream && stream.isTTY,
1272 - ...options
1273 - });
1274 - return translateLevel(level);
1275 - }
1276 - module2.exports = {
1277 - supportsColor: getSupportLevel,
1278 - stdout: getSupportLevel({ isTTY: tty.isatty(1) }),
1279 - stderr: getSupportLevel({ isTTY: tty.isatty(2) })
1280 - };
1281 - }
1282 -});
1283 -
1284 -// node_modules/debug/src/node.js
1285 -var require_node = __commonJS({
1286 - "node_modules/debug/src/node.js"(exports2, module2) {
1287 - var tty = require("tty");
1288 - var util2 = require("util");
1289 - exports2.init = init;
1290 - exports2.log = log;
1291 - exports2.formatArgs = formatArgs;
1292 - exports2.save = save;
1293 - exports2.load = load;
1294 - exports2.useColors = useColors;
1295 - exports2.destroy = util2.deprecate(
1296 - () => {
1297 - },
1298 - "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."
1299 - );
1300 - exports2.colors = [6, 2, 3, 4, 5, 1];
1301 - try {
1302 - const supportsColor = require_supports_color();
1303 - if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {
1304 - exports2.colors = [
1305 - 20,
1306 - 21,
1307 - 26,
1308 - 27,
1309 - 32,
1310 - 33,
1311 - 38,
1312 - 39,
1313 - 40,
1314 - 41,
1315 - 42,
1316 - 43,
1317 - 44,
1318 - 45,
1319 - 56,
1320 - 57,
1321 - 62,
1322 - 63,
1323 - 68,
1324 - 69,
1325 - 74,
1326 - 75,
1327 - 76,
1328 - 77,
1329 - 78,
1330 - 79,
1331 - 80,
1332 - 81,
1333 - 92,
1334 - 93,
1335 - 98,
1336 - 99,
1337 - 112,
1338 - 113,
1339 - 128,
1340 - 129,
1341 - 134,
1342 - 135,
1343 - 148,
1344 - 149,
1345 - 160,
1346 - 161,
1347 - 162,
1348 - 163,
1349 - 164,
1350 - 165,
1351 - 166,
1352 - 167,
1353 - 168,
1354 - 169,
1355 - 170,
1356 - 171,
1357 - 172,
1358 - 173,
1359 - 178,
1360 - 179,
1361 - 184,
1362 - 185,
1363 - 196,
1364 - 197,
1365 - 198,
1366 - 199,
1367 - 200,
1368 - 201,
1369 - 202,
1370 - 203,
1371 - 204,
1372 - 205,
1373 - 206,
1374 - 207,
1375 - 208,
1376 - 209,
1377 - 214,
1378 - 215,
1379 - 220,
1380 - 221
1381 - ];
1382 - }
1383 - } catch (error48) {
1384 - }
1385 - exports2.inspectOpts = Object.keys(process.env).filter((key) => {
1386 - return /^debug_/i.test(key);
1387 - }).reduce((obj, key) => {
1388 - const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_, k) => {
1389 - return k.toUpperCase();
1390 - });
1391 - let val = process.env[key];
1392 - if (/^(yes|on|true|enabled)$/i.test(val)) {
1393 - val = true;
1394 - } else if (/^(no|off|false|disabled)$/i.test(val)) {
1395 - val = false;
1396 - } else if (val === "null") {
1397 - val = null;
1398 - } else {
1399 - val = Number(val);
1400 - }
1401 - obj[prop] = val;
1402 - return obj;
1403 - }, {});
1404 - function useColors() {
1405 - return "colors" in exports2.inspectOpts ? Boolean(exports2.inspectOpts.colors) : tty.isatty(process.stderr.fd);
1406 - }
1407 - function formatArgs(args) {
1408 - const { namespace: name, useColors: useColors2 } = this;
1409 - if (useColors2) {
1410 - const c = this.color;
1411 - const colorCode = "\x1B[3" + (c < 8 ? c : "8;5;" + c);
1412 - const prefix = ` ${colorCode};1m${name} \x1B[0m`;
1413 - args[0] = prefix + args[0].split("\n").join("\n" + prefix);
1414 - args.push(colorCode + "m+" + module2.exports.humanize(this.diff) + "\x1B[0m");
1415 - } else {
1416 - args[0] = getDate() + name + " " + args[0];
1417 - }
1418 - }
1419 - function getDate() {
1420 - if (exports2.inspectOpts.hideDate) {
1421 - return "";
1422 - }
1423 - return (/* @__PURE__ */ new Date()).toISOString() + " ";
1424 - }
1425 - function log(...args) {
1426 - return process.stderr.write(util2.formatWithOptions(exports2.inspectOpts, ...args) + "\n");
1427 - }
1428 - function save(namespaces) {
1429 - if (namespaces) {
1430 - process.env.DEBUG = namespaces;
1431 - } else {
1432 - delete process.env.DEBUG;
1433 - }
1434 - }
1435 - function load() {
1436 - return process.env.DEBUG;
1437 - }
1438 - function init(debug2) {
1439 - debug2.inspectOpts = {};
1440 - const keys = Object.keys(exports2.inspectOpts);
1441 - for (let i = 0; i < keys.length; i++) {
1442 - debug2.inspectOpts[keys[i]] = exports2.inspectOpts[keys[i]];
1443 - }
1444 - }
1445 - module2.exports = require_common()(exports2);
1446 - var { formatters } = module2.exports;
1447 - formatters.o = function(v) {
1448 - this.inspectOpts.colors = this.useColors;
1449 - return util2.inspect(v, this.inspectOpts).split("\n").map((str) => str.trim()).join(" ");
1450 - };
1451 - formatters.O = function(v) {
1452 - this.inspectOpts.colors = this.useColors;
1453 - return util2.inspect(v, this.inspectOpts);
1454 - };
1455 - }
1456 -});
1457 -
1458 -// node_modules/debug/src/index.js
1459 -var require_src = __commonJS({
1460 - "node_modules/debug/src/index.js"(exports2, module2) {
1461 - if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) {
1462 - module2.exports = require_browser();
1463 - } else {
1464 - module2.exports = require_node();
1465 - }
1466 - }
1467 -});
1468 -
1469 -// node_modules/ini/lib/ini.js
1470 -var require_ini = __commonJS({
1471 - "node_modules/ini/lib/ini.js"(exports2, module2) {
1472 - var { hasOwnProperty } = Object.prototype;
1473 - var encode3 = (obj, opt = {}) => {
1474 - if (typeof opt === "string") {
1475 - opt = { section: opt };
1476 - }
1477 - opt.align = opt.align === true;
1478 - opt.newline = opt.newline === true;
1479 - opt.sort = opt.sort === true;
1480 - opt.whitespace = opt.whitespace === true || opt.align === true;
1481 - opt.platform = opt.platform || typeof process !== "undefined" && process.platform;
1482 - opt.bracketedArray = opt.bracketedArray !== false;
1483 - const eol = opt.platform === "win32" ? "\r\n" : "\n";
1484 - const separator = opt.whitespace ? " = " : "=";
1485 - const children = [];
1486 - const keys = opt.sort ? Object.keys(obj).sort() : Object.keys(obj);
1487 - let padToChars = 0;
1488 - if (opt.align) {
1489 - padToChars = safe(
1490 - keys.filter((k) => obj[k] === null || Array.isArray(obj[k]) || typeof obj[k] !== "object").map((k) => Array.isArray(obj[k]) ? `${k}[]` : k).concat([""]).reduce((a, b) => safe(a).length >= safe(b).length ? a : b)
1491 - ).length;
1492 - }
1493 - let out = "";
1494 - const arraySuffix = opt.bracketedArray ? "[]" : "";
1495 - for (const k of keys) {
1496 - const val = obj[k];
1497 - if (val && Array.isArray(val)) {
1498 - for (const item of val) {
1499 - out += safe(`${k}${arraySuffix}`).padEnd(padToChars, " ") + separator + safe(item) + eol;
1500 - }
1501 - } else if (val && typeof val === "object") {
1502 - children.push(k);
1503 - } else {
1504 - out += safe(k).padEnd(padToChars, " ") + separator + safe(val) + eol;
1505 - }
1506 - }
1507 - if (opt.section && out.length) {
1508 - out = "[" + safe(opt.section) + "]" + (opt.newline ? eol + eol : eol) + out;
1509 - }
1510 - for (const k of children) {
1511 - const nk = splitSections(k, ".").join("\\.");
1512 - const section = (opt.section ? opt.section + "." : "") + nk;
1513 - const child = encode3(obj[k], {
1514 - ...opt,
1515 - section
1516 - });
1517 - if (out.length && child.length) {
1518 - out += eol;
1519 - }
1520 - out += child;
1521 - }
1522 - return out;
1523 - };
1524 - function splitSections(str, separator) {
1525 - var lastMatchIndex = 0;
1526 - var lastSeparatorIndex = 0;
1527 - var nextIndex = 0;
1528 - var sections = [];
1529 - do {
1530 - nextIndex = str.indexOf(separator, lastMatchIndex);
1531 - if (nextIndex !== -1) {
1532 - lastMatchIndex = nextIndex + separator.length;
1533 - if (nextIndex > 0 && str[nextIndex - 1] === "\\") {
1534 - continue;
1535 - }
1536 - sections.push(str.slice(lastSeparatorIndex, nextIndex));
1537 - lastSeparatorIndex = nextIndex + separator.length;
1538 - }
1539 - } while (nextIndex !== -1);
1540 - sections.push(str.slice(lastSeparatorIndex));
1541 - return sections;
1542 - }
1543 - var decode3 = (str, opt = {}) => {
1544 - opt.bracketedArray = opt.bracketedArray !== false;
1545 - const out = /* @__PURE__ */ Object.create(null);
1546 - let p = out;
1547 - let section = null;
1548 - const re = /^\[([^\]]*)\]\s*$|^([^=]+)(=(.*))?$/i;
1549 - const lines = str.split(/[\r\n]+/g);
1550 - const duplicates = {};
1551 - for (const line of lines) {
1552 - if (!line || line.match(/^\s*[;#]/) || line.match(/^\s*$/)) {
1553 - continue;
1554 - }
1555 - const match = line.match(re);
1556 - if (!match) {
1557 - continue;
1558 - }
1559 - if (match[1] !== void 0) {
1560 - section = unsafe(match[1]);
1561 - if (section === "__proto__") {
1562 - p = /* @__PURE__ */ Object.create(null);
1563 - continue;
1564 - }
1565 - p = out[section] = out[section] || /* @__PURE__ */ Object.create(null);
1566 - continue;
1567 - }
1568 - const keyRaw = unsafe(match[2]);
1569 - let isArray;
1570 - if (opt.bracketedArray) {
1571 - isArray = keyRaw.length > 2 && keyRaw.slice(-2) === "[]";
1572 - } else {
1573 - duplicates[keyRaw] = (duplicates?.[keyRaw] || 0) + 1;
1574 - isArray = duplicates[keyRaw] > 1;
1575 - }
1576 - const key = isArray && keyRaw.endsWith("[]") ? keyRaw.slice(0, -2) : keyRaw;
1577 - if (key === "__proto__") {
1578 - continue;
1579 - }
1580 - const valueRaw = match[3] ? unsafe(match[4]) : true;
1581 - const value = valueRaw === "true" || valueRaw === "false" || valueRaw === "null" ? JSON.parse(valueRaw) : valueRaw;
1582 - if (isArray) {
1583 - if (!hasOwnProperty.call(p, key)) {
1584 - p[key] = [];
1585 - } else if (!Array.isArray(p[key])) {
1586 - p[key] = [p[key]];
1587 - }
1588 - }
1589 - if (Array.isArray(p[key])) {
1590 - p[key].push(value);
1591 - } else {
1592 - p[key] = value;
1593 - }
1594 - }
1595 - const remove = [];
1596 - for (const k of Object.keys(out)) {
1597 - if (!hasOwnProperty.call(out, k) || typeof out[k] !== "object" || Array.isArray(out[k])) {
1598 - continue;
1599 - }
1600 - const parts = splitSections(k, ".");
1601 - p = out;
1602 - const l = parts.pop();
1603 - const nl = l.replace(/\\\./g, ".");
1604 - for (const part of parts) {
1605 - if (part === "__proto__") {
1606 - continue;
1607 - }
1608 - if (!hasOwnProperty.call(p, part) || typeof p[part] !== "object") {
1609 - p[part] = /* @__PURE__ */ Object.create(null);
1610 - }
1611 - p = p[part];
1612 - }
1613 - if (p === out && nl === l) {
1614 - continue;
1615 - }
1616 - p[nl] = out[k];
1617 - remove.push(k);
1618 - }
1619 - for (const del of remove) {
1620 - delete out[del];
1621 - }
1622 - return out;
1623 - };
1624 - var isQuoted = (val) => {
1625 - return val.startsWith('"') && val.endsWith('"') || val.startsWith("'") && val.endsWith("'");
1626 - };
1627 - var safe = (val) => {
1628 - if (typeof val !== "string" || val.match(/[=\r\n]/) || val.match(/^\[/) || val.length > 1 && isQuoted(val) || val !== val.trim()) {
1629 - return JSON.stringify(val);
1630 - }
1631 - return val.split(";").join("\\;").split("#").join("\\#");
1632 - };
1633 - var unsafe = (val) => {
1634 - val = (val || "").trim();
1635 - if (isQuoted(val)) {
1636 - if (val.charAt(0) === "'") {
1637 - val = val.slice(1, -1);
1638 - }
1639 - try {
1640 - val = JSON.parse(val);
1641 - } catch {
1642 - }
1643 - } else {
1644 - let esc2 = false;
1645 - let unesc = "";
1646 - for (let i = 0, l = val.length; i < l; i++) {
1647 - const c = val.charAt(i);
1648 - if (esc2) {
1649 - if ("\\;#".indexOf(c) !== -1) {
1650 - unesc += c;
1651 - } else {
1652 - unesc += "\\" + c;
1653 - }
1654 - esc2 = false;
1655 - } else if (";#".indexOf(c) !== -1) {
1656 - break;
1657 - } else if (c === "\\") {
1658 - esc2 = true;
1659 - } else {
1660 - unesc += c;
1661 - }
1662 - }
1663 - if (esc2) {
1664 - unesc += "\\";
1665 - }
1666 - return unesc.trim();
1667 - }
1668 - return val;
1669 - };
1670 - module2.exports = {
1671 - parse: decode3,
1672 - decode: decode3,
1673 - stringify: encode3,
1674 - encode: encode3,
1675 - safe,
1676 - unsafe
1677 - };
1678 - }
1679 -});
1680 -
1681 -// node_modules/dotenv/package.json
1682 -var require_package = __commonJS({
1683 - "node_modules/dotenv/package.json"(exports2, module2) {
1684 - module2.exports = {
1685 - name: "dotenv",
1686 - version: "16.6.1",
1687 - description: "Loads environment variables from .env file",
1688 - main: "lib/main.js",
1689 - types: "lib/main.d.ts",
1690 - exports: {
1691 - ".": {
1692 - types: "./lib/main.d.ts",
1693 - require: "./lib/main.js",
1694 - default: "./lib/main.js"
1695 - },
1696 - "./config": "./config.js",
1697 - "./config.js": "./config.js",
1698 - "./lib/env-options": "./lib/env-options.js",
1699 - "./lib/env-options.js": "./lib/env-options.js",
1700 - "./lib/cli-options": "./lib/cli-options.js",
1701 - "./lib/cli-options.js": "./lib/cli-options.js",
1702 - "./package.json": "./package.json"
1703 - },
1704 - scripts: {
1705 - "dts-check": "tsc --project tests/types/tsconfig.json",
1706 - lint: "standard",
1707 - pretest: "npm run lint && npm run dts-check",
1708 - test: "tap run --allow-empty-coverage --disable-coverage --timeout=60000",
1709 - "test:coverage": "tap run --show-full-coverage --timeout=60000 --coverage-report=text --coverage-report=lcov",
1710 - prerelease: "npm test",
1711 - release: "standard-version"
1712 - },
1713 - repository: {
1714 - type: "git",
1715 - url: "git://github.com/motdotla/dotenv.git"
1716 - },
1717 - homepage: "https://github.com/motdotla/dotenv#readme",
1718 - funding: "https://dotenvx.com",
1719 - keywords: [
1720 - "dotenv",
1721 - "env",
1722 - ".env",
1723 - "environment",
1724 - "variables",
1725 - "config",
1726 - "settings"
1727 - ],
1728 - readmeFilename: "README.md",
1729 - license: "BSD-2-Clause",
1730 - devDependencies: {
1731 - "@types/node": "^18.11.3",
1732 - decache: "^4.6.2",
1733 - sinon: "^14.0.1",
1734 - standard: "^17.0.0",
1735 - "standard-version": "^9.5.0",
1736 - tap: "^19.2.0",
1737 - typescript: "^4.8.4"
1738 - },
1739 - engines: {
1740 - node: ">=12"
1741 - },
1742 - browser: {
1743 - fs: false
1744 - }
1745 - };
1746 - }
1747 -});
1748 -
1749 -// node_modules/dotenv/lib/main.js
1750 -var require_main = __commonJS({
1751 - "node_modules/dotenv/lib/main.js"(exports2, module2) {
1752 - var fs = require("fs");
1753 - var path = require("path");
1754 - var os = require("os");
1755 - var crypto4 = require("crypto");
1756 - var packageJson = require_package();
1757 - var version2 = packageJson.version;
1758 - var LINE = /(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;
1759 - function parse3(src) {
1760 - const obj = {};
1761 - let lines = src.toString();
1762 - lines = lines.replace(/\r\n?/mg, "\n");
1763 - let match;
1764 - while ((match = LINE.exec(lines)) != null) {
1765 - const key = match[1];
1766 - let value = match[2] || "";
1767 - value = value.trim();
1768 - const maybeQuote = value[0];
1769 - value = value.replace(/^(['"`])([\s\S]*)\1$/mg, "$2");
1770 - if (maybeQuote === '"') {
1771 - value = value.replace(/\\n/g, "\n");
1772 - value = value.replace(/\\r/g, "\r");
1773 - }
1774 - obj[key] = value;
1775 - }
1776 - return obj;
1777 - }
1778 - function _parseVault(options) {
1779 - options = options || {};
1780 - const vaultPath = _vaultPath(options);
1781 - options.path = vaultPath;
1782 - const result = DotenvModule.configDotenv(options);
1783 - if (!result.parsed) {
1784 - const err = new Error(`MISSING_DATA: Cannot parse ${vaultPath} for an unknown reason`);
1785 - err.code = "MISSING_DATA";
1786 - throw err;
1787 - }
1788 - const keys = _dotenvKey(options).split(",");
1789 - const length = keys.length;
1790 - let decrypted;
1791 - for (let i = 0; i < length; i++) {
1792 - try {
1793 - const key = keys[i].trim();
1794 - const attrs = _instructions(result, key);
1795 - decrypted = DotenvModule.decrypt(attrs.ciphertext, attrs.key);
1796 - break;
1797 - } catch (error48) {
1798 - if (i + 1 >= length) {
1799 - throw error48;
1800 - }
1801 - }
1802 - }
1803 - return DotenvModule.parse(decrypted);
1804 - }
1805 - function _warn(message) {
1806 - console.log(`[dotenv@${version2}][WARN] ${message}`);
1807 - }
1808 - function _debug(message) {
1809 - console.log(`[dotenv@${version2}][DEBUG] ${message}`);
1810 - }
1811 - function _log(message) {
1812 - console.log(`[dotenv@${version2}] ${message}`);
1813 - }
1814 - function _dotenvKey(options) {
1815 - if (options && options.DOTENV_KEY && options.DOTENV_KEY.length > 0) {
1816 - return options.DOTENV_KEY;
1817 - }
1818 - if (process.env.DOTENV_KEY && process.env.DOTENV_KEY.length > 0) {
1819 - return process.env.DOTENV_KEY;
1820 - }
1821 - return "";
1822 - }
1823 - function _instructions(result, dotenvKey) {
1824 - let uri;
1825 - try {
1826 - uri = new URL(dotenvKey);
1827 - } catch (error48) {
1828 - if (error48.code === "ERR_INVALID_URL") {
1829 - const err = new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");
1830 - err.code = "INVALID_DOTENV_KEY";
1831 - throw err;
1832 - }
1833 - throw error48;
1834 - }
1835 - const key = uri.password;
1836 - if (!key) {
1837 - const err = new Error("INVALID_DOTENV_KEY: Missing key part");
1838 - err.code = "INVALID_DOTENV_KEY";
1839 - throw err;
1840 - }
1841 - const environment = uri.searchParams.get("environment");
1842 - if (!environment) {
1843 - const err = new Error("INVALID_DOTENV_KEY: Missing environment part");
1844 - err.code = "INVALID_DOTENV_KEY";
1845 - throw err;
1846 - }
1847 - const environmentKey = `DOTENV_VAULT_${environment.toUpperCase()}`;
1848 - const ciphertext = result.parsed[environmentKey];
1849 - if (!ciphertext) {
1850 - const err = new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${environmentKey} in your .env.vault file.`);
1851 - err.code = "NOT_FOUND_DOTENV_ENVIRONMENT";
1852 - throw err;
1853 - }
1854 - return { ciphertext, key };
1855 - }
1856 - function _vaultPath(options) {
1857 - let possibleVaultPath = null;
1858 - if (options && options.path && options.path.length > 0) {
1859 - if (Array.isArray(options.path)) {
1860 - for (const filepath of options.path) {
1861 - if (fs.existsSync(filepath)) {
1862 - possibleVaultPath = filepath.endsWith(".vault") ? filepath : `${filepath}.vault`;
1863 - }
1864 - }
1865 - } else {
1866 - possibleVaultPath = options.path.endsWith(".vault") ? options.path : `${options.path}.vault`;
1867 - }
1868 - } else {
1869 - possibleVaultPath = path.resolve(process.cwd(), ".env.vault");
1870 - }
1871 - if (fs.existsSync(possibleVaultPath)) {
1872 - return possibleVaultPath;
1873 - }
1874 - return null;
1875 - }
1876 - function _resolveHome(envPath) {
1877 - return envPath[0] === "~" ? path.join(os.homedir(), envPath.slice(1)) : envPath;
1878 - }
1879 - function _configVault(options) {
1880 - const debug2 = Boolean(options && options.debug);
1881 - const quiet = options && "quiet" in options ? options.quiet : true;
1882 - if (debug2 || !quiet) {
1883 - _log("Loading env from encrypted .env.vault");
1884 - }
1885 - const parsed = DotenvModule._parseVault(options);
1886 - let processEnv = process.env;
1887 - if (options && options.processEnv != null) {
1888 - processEnv = options.processEnv;
1889 - }
1890 - DotenvModule.populate(processEnv, parsed, options);
1891 - return { parsed };
1892 - }
1893 - function configDotenv(options) {
1894 - const dotenvPath = path.resolve(process.cwd(), ".env");
1895 - let encoding = "utf8";
1896 - const debug2 = Boolean(options && options.debug);
1897 - const quiet = options && "quiet" in options ? options.quiet : true;
1898 - if (options && options.encoding) {
1899 - encoding = options.encoding;
1900 - } else {
1901 - if (debug2) {
1902 - _debug("No encoding is specified. UTF-8 is used by default");
1903 - }
1904 - }
1905 - let optionPaths = [dotenvPath];
1906 - if (options && options.path) {
1907 - if (!Array.isArray(options.path)) {
1908 - optionPaths = [_resolveHome(options.path)];
1909 - } else {
1910 - optionPaths = [];
1911 - for (const filepath of options.path) {
1912 - optionPaths.push(_resolveHome(filepath));
1913 - }
1914 - }
1915 - }
1916 - let lastError;
1917 - const parsedAll = {};
1918 - for (const path2 of optionPaths) {
1919 - try {
1920 - const parsed = DotenvModule.parse(fs.readFileSync(path2, { encoding }));
1921 - DotenvModule.populate(parsedAll, parsed, options);
1922 - } catch (e) {
1923 - if (debug2) {
1924 - _debug(`Failed to load ${path2} ${e.message}`);
1925 - }
1926 - lastError = e;
1927 - }
1928 - }
1929 - let processEnv = process.env;
1930 - if (options && options.processEnv != null) {
1931 - processEnv = options.processEnv;
1932 - }
1933 - DotenvModule.populate(processEnv, parsedAll, options);
1934 - if (debug2 || !quiet) {
1935 - const keysCount = Object.keys(parsedAll).length;
1936 - const shortPaths = [];
1937 - for (const filePath of optionPaths) {
1938 - try {
1939 - const relative = path.relative(process.cwd(), filePath);
1940 - shortPaths.push(relative);
1941 - } catch (e) {
1942 - if (debug2) {
1943 - _debug(`Failed to load ${filePath} ${e.message}`);
1944 - }
1945 - lastError = e;
1946 - }
1947 - }
1948 - _log(`injecting env (${keysCount}) from ${shortPaths.join(",")}`);
1949 - }
1950 - if (lastError) {
1951 - return { parsed: parsedAll, error: lastError };
1952 - } else {
1953 - return { parsed: parsedAll };
1954 - }
1955 - }
1956 - function config2(options) {
1957 - if (_dotenvKey(options).length === 0) {
1958 - return DotenvModule.configDotenv(options);
1959 - }
1960 - const vaultPath = _vaultPath(options);
1961 - if (!vaultPath) {
1962 - _warn(`You set DOTENV_KEY but you are missing a .env.vault file at ${vaultPath}. Did you forget to build it?`);
1963 - return DotenvModule.configDotenv(options);
1964 - }
1965 - return DotenvModule._configVault(options);
1966 - }
1967 - function decrypt(encrypted, keyStr) {
1968 - const key = Buffer.from(keyStr.slice(-64), "hex");
1969 - let ciphertext = Buffer.from(encrypted, "base64");
1970 - const nonce = ciphertext.subarray(0, 12);
1971 - const authTag = ciphertext.subarray(-16);
1972 - ciphertext = ciphertext.subarray(12, -16);
1973 - try {
1974 - const aesgcm = crypto4.createDecipheriv("aes-256-gcm", key, nonce);
1975 - aesgcm.setAuthTag(authTag);
1976 - return `${aesgcm.update(ciphertext)}${aesgcm.final()}`;
1977 - } catch (error48) {
1978 - const isRange = error48 instanceof RangeError;
1979 - const invalidKeyLength = error48.message === "Invalid key length";
1980 - const decryptionFailed = error48.message === "Unsupported state or unable to authenticate data";
1981 - if (isRange || invalidKeyLength) {
1982 - const err = new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");
1983 - err.code = "INVALID_DOTENV_KEY";
1984 - throw err;
1985 - } else if (decryptionFailed) {
1986 - const err = new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");
1987 - err.code = "DECRYPTION_FAILED";
1988 - throw err;
1989 - } else {
1990 - throw error48;
1991 - }
1992 - }
1993 - }
1994 - function populate(processEnv, parsed, options = {}) {
1995 - const debug2 = Boolean(options && options.debug);
1996 - const override = Boolean(options && options.override);
1997 - if (typeof parsed !== "object") {
1998 - const err = new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");
1999 - err.code = "OBJECT_REQUIRED";
2000 - throw err;
2001 - }
2002 - for (const key of Object.keys(parsed)) {
2003 - if (Object.prototype.hasOwnProperty.call(processEnv, key)) {
2004 - if (override === true) {
2005 - processEnv[key] = parsed[key];
2006 - }
2007 - if (debug2) {
2008 - if (override === true) {
2009 - _debug(`"${key}" is already defined and WAS overwritten`);
2010 - } else {
2011 - _debug(`"${key}" is already defined and was NOT overwritten`);
2012 - }
2013 - }
2014 - } else {
2015 - processEnv[key] = parsed[key];
2016 - }
2017 - }
2018 - }
2019 - var DotenvModule = {
2020 - configDotenv,
2021 - _configVault,
2022 - _parseVault,
2023 - config: config2,
2024 - decrypt,
2025 - parse: parse3,
2026 - populate
2027 - };
2028 - module2.exports.configDotenv = DotenvModule.configDotenv;
2029 - module2.exports._configVault = DotenvModule._configVault;
2030 - module2.exports._parseVault = DotenvModule._parseVault;
2031 - module2.exports.config = DotenvModule.config;
2032 - module2.exports.decrypt = DotenvModule.decrypt;
2033 - module2.exports.parse = DotenvModule.parse;
2034 - module2.exports.populate = DotenvModule.populate;
2035 - module2.exports = DotenvModule;
2036 - }
2037 -});
2038 -
2039 -// node_modules/agent-base/dist/helpers.js
2040 -var require_helpers = __commonJS({
2041 - "node_modules/agent-base/dist/helpers.js"(exports2) {
2042 - "use strict";
2043 - var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
2044 - if (k2 === void 0) k2 = k;
2045 - var desc = Object.getOwnPropertyDescriptor(m, k);
2046 - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
2047 - desc = { enumerable: true, get: function() {
2048 - return m[k];
2049 - } };
2050 - }
2051 - Object.defineProperty(o, k2, desc);
2052 - }) : (function(o, m, k, k2) {
2053 - if (k2 === void 0) k2 = k;
2054 - o[k2] = m[k];
2055 - }));
2056 - var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
2057 - Object.defineProperty(o, "default", { enumerable: true, value: v });
2058 - }) : function(o, v) {
2059 - o["default"] = v;
2060 - });
2061 - var __importStar = exports2 && exports2.__importStar || function(mod) {
2062 - if (mod && mod.__esModule) return mod;
2063 - var result = {};
2064 - if (mod != null) {
2065 - for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
2066 - }
2067 - __setModuleDefault(result, mod);
2068 - return result;
2069 - };
2070 - Object.defineProperty(exports2, "__esModule", { value: true });
2071 - exports2.req = exports2.json = exports2.toBuffer = void 0;
2072 - var http = __importStar(require("http"));
2073 - var https = __importStar(require("https"));
2074 - async function toBuffer(stream) {
2075 - let length = 0;
2076 - const chunks = [];
2077 - for await (const chunk of stream) {
2078 - length += chunk.length;
2079 - chunks.push(chunk);
2080 - }
2081 - return Buffer.concat(chunks, length);
2082 - }
2083 - exports2.toBuffer = toBuffer;
2084 - async function json2(stream) {
2085 - const buf = await toBuffer(stream);
2086 - const str = buf.toString("utf8");
2087 - try {
2088 - return JSON.parse(str);
2089 - } catch (_err) {
2090 - const err = _err;
2091 - err.message += ` (input: ${str})`;
2092 - throw err;
2093 - }
2094 - }
2095 - exports2.json = json2;
2096 - function req(url2, opts = {}) {
2097 - const href = typeof url2 === "string" ? url2 : url2.href;
2098 - const req2 = (href.startsWith("https:") ? https : http).request(url2, opts);
2099 - const promise2 = new Promise((resolve, reject) => {
2100 - req2.once("response", resolve).once("error", reject).end();
2101 - });
2102 - req2.then = promise2.then.bind(promise2);
2103 - return req2;
2104 - }
2105 - exports2.req = req;
2106 - }
2107 -});
2108 -
2109 -// node_modules/agent-base/dist/index.js
2110 -var require_dist = __commonJS({
2111 - "node_modules/agent-base/dist/index.js"(exports2) {
2112 - "use strict";
2113 - var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
2114 - if (k2 === void 0) k2 = k;
2115 - var desc = Object.getOwnPropertyDescriptor(m, k);
2116 - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
2117 - desc = { enumerable: true, get: function() {
2118 - return m[k];
2119 - } };
2120 - }
2121 - Object.defineProperty(o, k2, desc);
2122 - }) : (function(o, m, k, k2) {
2123 - if (k2 === void 0) k2 = k;
2124 - o[k2] = m[k];
2125 - }));
2126 - var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
2127 - Object.defineProperty(o, "default", { enumerable: true, value: v });
2128 - }) : function(o, v) {
2129 - o["default"] = v;
2130 - });
2131 - var __importStar = exports2 && exports2.__importStar || function(mod) {
2132 - if (mod && mod.__esModule) return mod;
2133 - var result = {};
2134 - if (mod != null) {
2135 - for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
2136 - }
2137 - __setModuleDefault(result, mod);
2138 - return result;
2139 - };
2140 - var __exportStar = exports2 && exports2.__exportStar || function(m, exports3) {
2141 - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding(exports3, m, p);
2142 - };
2143 - Object.defineProperty(exports2, "__esModule", { value: true });
2144 - exports2.Agent = void 0;
2145 - var net = __importStar(require("net"));
2146 - var http = __importStar(require("http"));
2147 - var https_1 = require("https");
2148 - __exportStar(require_helpers(), exports2);
2149 - var INTERNAL = Symbol("AgentBaseInternalState");
2150 - var Agent = class extends http.Agent {
2151 - constructor(opts) {
2152 - super(opts);
2153 - this[INTERNAL] = {};
2154 - }
2155 - /**
2156 - * Determine whether this is an `http` or `https` request.
2157 - */
2158 - isSecureEndpoint(options) {
2159 - if (options) {
2160 - if (typeof options.secureEndpoint === "boolean") {
2161 - return options.secureEndpoint;
2162 - }
2163 - if (typeof options.protocol === "string") {
2164 - return options.protocol === "https:";
2165 - }
2166 - }
2167 - const { stack } = new Error();
2168 - if (typeof stack !== "string")
2169 - return false;
2170 - return stack.split("\n").some((l) => l.indexOf("(https.js:") !== -1 || l.indexOf("node:https:") !== -1);
2171 - }
2172 - // In order to support async signatures in `connect()` and Node's native
2173 - // connection pooling in `http.Agent`, the array of sockets for each origin
2174 - // has to be updated synchronously. This is so the length of the array is
2175 - // accurate when `addRequest()` is next called. We achieve this by creating a
2176 - // fake socket and adding it to `sockets[origin]` and incrementing
2177 - // `totalSocketCount`.
2178 - incrementSockets(name) {
2179 - if (this.maxSockets === Infinity && this.maxTotalSockets === Infinity) {
2180 - return null;
2181 - }
2182 - if (!this.sockets[name]) {
2183 - this.sockets[name] = [];
2184 - }
2185 - const fakeSocket = new net.Socket({ writable: false });
2186 - this.sockets[name].push(fakeSocket);
2187 - this.totalSocketCount++;
2188 - return fakeSocket;
2189 - }
2190 - decrementSockets(name, socket) {
2191 - if (!this.sockets[name] || socket === null) {
2192 - return;
2193 - }
2194 - const sockets = this.sockets[name];
2195 - const index = sockets.indexOf(socket);
2196 - if (index !== -1) {
2197 - sockets.splice(index, 1);
2198 - this.totalSocketCount--;
2199 - if (sockets.length === 0) {
2200 - delete this.sockets[name];
2201 - }
2202 - }
2203 - }
2204 - // In order to properly update the socket pool, we need to call `getName()` on
2205 - // the core `https.Agent` if it is a secureEndpoint.
2206 - getName(options) {
2207 - const secureEndpoint = this.isSecureEndpoint(options);
2208 - if (secureEndpoint) {
2209 - return https_1.Agent.prototype.getName.call(this, options);
2210 - }
2211 - return super.getName(options);
2212 - }
2213 - createSocket(req, options, cb) {
2214 - const connectOpts = {
2215 - ...options,
2216 - secureEndpoint: this.isSecureEndpoint(options)
2217 - };
2218 - const name = this.getName(connectOpts);
2219 - const fakeSocket = this.incrementSockets(name);
2220 - Promise.resolve().then(() => this.connect(req, connectOpts)).then((socket) => {
2221 - this.decrementSockets(name, fakeSocket);
2222 - if (socket instanceof http.Agent) {
2223 - try {
2224 - return socket.addRequest(req, connectOpts);
2225 - } catch (err) {
2226 - return cb(err);
2227 - }
2228 - }
2229 - this[INTERNAL].currentSocket = socket;
2230 - super.createSocket(req, options, cb);
2231 - }, (err) => {
2232 - this.decrementSockets(name, fakeSocket);
2233 - cb(err);
2234 - });
2235 - }
2236 - createConnection() {
2237 - const socket = this[INTERNAL].currentSocket;
2238 - this[INTERNAL].currentSocket = void 0;
2239 - if (!socket) {
2240 - throw new Error("No socket was returned in the `connect()` function");
2241 - }
2242 - return socket;
2243 - }
2244 - get defaultPort() {
2245 - return this[INTERNAL].defaultPort ?? (this.protocol === "https:" ? 443 : 80);
2246 - }
2247 - set defaultPort(v) {
2248 - if (this[INTERNAL]) {
2249 - this[INTERNAL].defaultPort = v;
2250 - }
2251 - }
2252 - get protocol() {
2253 - return this[INTERNAL].protocol ?? (this.isSecureEndpoint() ? "https:" : "http:");
2254 - }
2255 - set protocol(v) {
2256 - if (this[INTERNAL]) {
2257 - this[INTERNAL].protocol = v;
2258 - }
2259 - }
2260 - };
2261 - exports2.Agent = Agent;
2262 - }
2263 -});
2264 -
2265 -// node_modules/https-proxy-agent/dist/parse-proxy-response.js
2266 -var require_parse_proxy_response = __commonJS({
2267 - "node_modules/https-proxy-agent/dist/parse-proxy-response.js"(exports2) {
2268 - "use strict";
2269 - var __importDefault = exports2 && exports2.__importDefault || function(mod) {
2270 - return mod && mod.__esModule ? mod : { "default": mod };
2271 - };
2272 - Object.defineProperty(exports2, "__esModule", { value: true });
2273 - exports2.parseProxyResponse = void 0;
2274 - var debug_1 = __importDefault(require_src());
2275 - var debug2 = (0, debug_1.default)("https-proxy-agent:parse-proxy-response");
2276 - function parseProxyResponse(socket) {
2277 - return new Promise((resolve, reject) => {
2278 - let buffersLength = 0;
2279 - const buffers = [];
2280 - function read() {
2281 - const b = socket.read();
2282 - if (b)
2283 - ondata(b);
2284 - else
2285 - socket.once("readable", read);
2286 - }
2287 - function cleanup() {
2288 - socket.removeListener("end", onend);
2289 - socket.removeListener("error", onerror);
2290 - socket.removeListener("readable", read);
2291 - }
2292 - function onend() {
2293 - cleanup();
2294 - debug2("onend");
2295 - reject(new Error("Proxy connection ended before receiving CONNECT response"));
2296 - }
2297 - function onerror(err) {
2298 - cleanup();
2299 - debug2("onerror %o", err);
2300 - reject(err);
2301 - }
2302 - function ondata(b) {
2303 - buffers.push(b);
2304 - buffersLength += b.length;
2305 - const buffered = Buffer.concat(buffers, buffersLength);
2306 - const endOfHeaders = buffered.indexOf("\r\n\r\n");
2307 - if (endOfHeaders === -1) {
2308 - debug2("have not received end of HTTP headers yet...");
2309 - read();
2310 - return;
2311 - }
2312 - const headerParts = buffered.slice(0, endOfHeaders).toString("ascii").split("\r\n");
2313 - const firstLine = headerParts.shift();
2314 - if (!firstLine) {
2315 - socket.destroy();
2316 - return reject(new Error("No header received from proxy CONNECT response"));
2317 - }
2318 - const firstLineParts = firstLine.split(" ");
2319 - const statusCode = +firstLineParts[1];
2320 - const statusText = firstLineParts.slice(2).join(" ");
2321 - const headers = {};
2322 - for (const header of headerParts) {
2323 - if (!header)
2324 - continue;
2325 - const firstColon = header.indexOf(":");
2326 - if (firstColon === -1) {
2327 - socket.destroy();
2328 - return reject(new Error(`Invalid header from proxy CONNECT response: "${header}"`));
2329 - }
2330 - const key = header.slice(0, firstColon).toLowerCase();
2331 - const value = header.slice(firstColon + 1).trimStart();
2332 - const current = headers[key];
2333 - if (typeof current === "string") {
2334 - headers[key] = [current, value];
2335 - } else if (Array.isArray(current)) {
2336 - current.push(value);
2337 - } else {
2338 - headers[key] = value;
2339 - }
2340 - }
2341 - debug2("got proxy server response: %o %o", firstLine, headers);
2342 - cleanup();
2343 - resolve({
2344 - connect: {
2345 - statusCode,
2346 - statusText,
2347 - headers
2348 - },
2349 - buffered
2350 - });
2351 - }
2352 - socket.on("error", onerror);
2353 - socket.on("end", onend);
2354 - read();
2355 - });
2356 - }
2357 - exports2.parseProxyResponse = parseProxyResponse;
2358 - }
2359 -});
2360 -
2361 -// node_modules/https-proxy-agent/dist/index.js
2362 -var require_dist2 = __commonJS({
2363 - "node_modules/https-proxy-agent/dist/index.js"(exports2) {
2364 - "use strict";
2365 - var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
2366 - if (k2 === void 0) k2 = k;
2367 - var desc = Object.getOwnPropertyDescriptor(m, k);
2368 - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
2369 - desc = { enumerable: true, get: function() {
2370 - return m[k];
2371 - } };
2372 - }
2373 - Object.defineProperty(o, k2, desc);
2374 - }) : (function(o, m, k, k2) {
2375 - if (k2 === void 0) k2 = k;
2376 - o[k2] = m[k];
2377 - }));
2378 - var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
2379 - Object.defineProperty(o, "default", { enumerable: true, value: v });
2380 - }) : function(o, v) {
2381 - o["default"] = v;
2382 - });
2383 - var __importStar = exports2 && exports2.__importStar || function(mod) {
2384 - if (mod && mod.__esModule) return mod;
2385 - var result = {};
2386 - if (mod != null) {
2387 - for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
2388 - }
2389 - __setModuleDefault(result, mod);
2390 - return result;
2391 - };
2392 - var __importDefault = exports2 && exports2.__importDefault || function(mod) {
2393 - return mod && mod.__esModule ? mod : { "default": mod };
2394 - };
2395 - Object.defineProperty(exports2, "__esModule", { value: true });
2396 - exports2.HttpsProxyAgent = void 0;
2397 - var net = __importStar(require("net"));
2398 - var tls = __importStar(require("tls"));
2399 - var assert_1 = __importDefault(require("assert"));
2400 - var debug_1 = __importDefault(require_src());
2401 - var agent_base_1 = require_dist();
2402 - var url_1 = require("url");
2403 - var parse_proxy_response_1 = require_parse_proxy_response();
2404 - var debug2 = (0, debug_1.default)("https-proxy-agent");
2405 - var setServernameFromNonIpHost = (options) => {
2406 - if (options.servername === void 0 && options.host && !net.isIP(options.host)) {
2407 - return {
2408 - ...options,
2409 - servername: options.host
2410 - };
2411 - }
2412 - return options;
2413 - };
2414 - var HttpsProxyAgent2 = class extends agent_base_1.Agent {
2415 - constructor(proxy, opts) {
2416 - super(opts);
2417 - this.options = { path: void 0 };
2418 - this.proxy = typeof proxy === "string" ? new url_1.URL(proxy) : proxy;
2419 - this.proxyHeaders = opts?.headers ?? {};
2420 - debug2("Creating new HttpsProxyAgent instance: %o", this.proxy.href);
2421 - const host = (this.proxy.hostname || this.proxy.host).replace(/^\[|\]$/g, "");
2422 - const port = this.proxy.port ? parseInt(this.proxy.port, 10) : this.proxy.protocol === "https:" ? 443 : 80;
2423 - this.connectOpts = {
2424 - // Attempt to negotiate http/1.1 for proxy servers that support http/2
2425 - ALPNProtocols: ["http/1.1"],
2426 - ...opts ? omit2(opts, "headers") : null,
2427 - host,
2428 - port
2429 - };
2430 - }
2431 - /**
2432 - * Called when the node-core HTTP client library is creating a
2433 - * new HTTP request.
2434 - */
2435 - async connect(req, opts) {
2436 - const { proxy } = this;
2437 - if (!opts.host) {
2438 - throw new TypeError('No "host" provided');
2439 - }
2440 - let socket;
2441 - if (proxy.protocol === "https:") {
2442 - debug2("Creating `tls.Socket`: %o", this.connectOpts);
2443 - socket = tls.connect(setServernameFromNonIpHost(this.connectOpts));
2444 - } else {
2445 - debug2("Creating `net.Socket`: %o", this.connectOpts);
2446 - socket = net.connect(this.connectOpts);
2447 - }
2448 - const headers = typeof this.proxyHeaders === "function" ? this.proxyHeaders() : { ...this.proxyHeaders };
2449 - const host = net.isIPv6(opts.host) ? `[${opts.host}]` : opts.host;
2450 - let payload = `CONNECT ${host}:${opts.port} HTTP/1.1\r
2451 -`;
2452 - if (proxy.username || proxy.password) {
2453 - const auth2 = `${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`;
2454 - headers["Proxy-Authorization"] = `Basic ${Buffer.from(auth2).toString("base64")}`;
2455 - }
2456 - headers.Host = `${host}:${opts.port}`;
2457 - if (!headers["Proxy-Connection"]) {
2458 - headers["Proxy-Connection"] = this.keepAlive ? "Keep-Alive" : "close";
2459 - }
2460 - for (const name of Object.keys(headers)) {
2461 - payload += `${name}: ${headers[name]}\r
2462 -`;
2463 - }
2464 - const proxyResponsePromise = (0, parse_proxy_response_1.parseProxyResponse)(socket);
2465 - socket.write(`${payload}\r
2466 -`);
2467 - const { connect, buffered } = await proxyResponsePromise;
2468 - req.emit("proxyConnect", connect);
2469 - this.emit("proxyConnect", connect, req);
2470 - if (connect.statusCode === 200) {
2471 - req.once("socket", resume);
2472 - if (opts.secureEndpoint) {
2473 - debug2("Upgrading socket connection to TLS");
2474 - return tls.connect({
2475 - ...omit2(setServernameFromNonIpHost(opts), "host", "path", "port"),
2476 - socket
2477 - });
2478 - }
2479 - return socket;
2480 - }
2481 - socket.destroy();
2482 - const fakeSocket = new net.Socket({ writable: false });
2483 - fakeSocket.readable = true;
2484 - req.once("socket", (s) => {
2485 - debug2("Replaying proxy buffer for failed request");
2486 - (0, assert_1.default)(s.listenerCount("data") > 0);
2487 - s.push(buffered);
2488 - s.push(null);
2489 - });
2490 - return fakeSocket;
2491 - }
2492 - };
2493 - HttpsProxyAgent2.protocols = ["http", "https"];
2494 - exports2.HttpsProxyAgent = HttpsProxyAgent2;
2495 - function resume(socket) {
2496 - socket.resume();
2497 - }
2498 - function omit2(obj, ...keys) {
2499 - const ret = {};
2500 - let key;
2501 - for (key in obj) {
2502 - if (!keys.includes(key)) {
2503 - ret[key] = obj[key];
2504 - }
2505 - }
2506 - return ret;
2507 - }
2508 - }
2509 -});
2510 -
2511 -// node_modules/jpeg-js/lib/encoder.js
2512 -var require_encoder = __commonJS({
2513 - "node_modules/jpeg-js/lib/encoder.js"(exports2, module2) {
2514 - var btoa2 = btoa2 || function(buf) {
2515 - return Buffer.from(buf).toString("base64");
2516 - };
2517 - function JPEGEncoder(quality) {
2518 - var self = this;
2519 - var fround = Math.round;
2520 - var ffloor = Math.floor;
2521 - var YTable = new Array(64);
2522 - var UVTable = new Array(64);
2523 - var fdtbl_Y = new Array(64);
2524 - var fdtbl_UV = new Array(64);
2525 - var YDC_HT;
2526 - var UVDC_HT;
2527 - var YAC_HT;
2528 - var UVAC_HT;
2529 - var bitcode = new Array(65535);
2530 - var category = new Array(65535);
2531 - var outputfDCTQuant = new Array(64);
2532 - var DU = new Array(64);
2533 - var byteout = [];
2534 - var bytenew = 0;
2535 - var bytepos = 7;
2536 - var YDU = new Array(64);
2537 - var UDU = new Array(64);
2538 - var VDU = new Array(64);
2539 - var clt = new Array(256);
2540 - var RGB_YUV_TABLE = new Array(2048);
2541 - var currentQuality;
2542 - var ZigZag = [
2543 - 0,
2544 - 1,
2545 - 5,
2546 - 6,
2547 - 14,
2548 - 15,
2549 - 27,
2550 - 28,
2551 - 2,
2552 - 4,
2553 - 7,
2554 - 13,
2555 - 16,
2556 - 26,
2557 - 29,
2558 - 42,
2559 - 3,
2560 - 8,
2561 - 12,
2562 - 17,
2563 - 25,
2564 - 30,
2565 - 41,
2566 - 43,
2567 - 9,
2568 - 11,
2569 - 18,
2570 - 24,
2571 - 31,
2572 - 40,
2573 - 44,
2574 - 53,
2575 - 10,
2576 - 19,
2577 - 23,
2578 - 32,
2579 - 39,
2580 - 45,
2581 - 52,
2582 - 54,
2583 - 20,
2584 - 22,
2585 - 33,
2586 - 38,
2587 - 46,
2588 - 51,
2589 - 55,
2590 - 60,
2591 - 21,
2592 - 34,
2593 - 37,
2594 - 47,
2595 - 50,
2596 - 56,
2597 - 59,
2598 - 61,
2599 - 35,
2600 - 36,
2601 - 48,
2602 - 49,
2603 - 57,
2604 - 58,
2605 - 62,
2606 - 63
2607 - ];
2608 - var std_dc_luminance_nrcodes = [0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0];
2609 - var std_dc_luminance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
2610 - var std_ac_luminance_nrcodes = [0, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 125];
2611 - var std_ac_luminance_values = [
2612 - 1,
2613 - 2,
2614 - 3,
2615 - 0,
2616 - 4,
2617 - 17,
2618 - 5,
2619 - 18,
2620 - 33,
2621 - 49,
2622 - 65,
2623 - 6,
2624 - 19,
2625 - 81,
2626 - 97,
2627 - 7,
2628 - 34,
2629 - 113,
2630 - 20,
2631 - 50,
2632 - 129,
2633 - 145,
2634 - 161,
2635 - 8,
2636 - 35,
2637 - 66,
2638 - 177,
2639 - 193,
2640 - 21,
2641 - 82,
2642 - 209,
2643 - 240,
2644 - 36,
2645 - 51,
2646 - 98,
2647 - 114,
2648 - 130,
2649 - 9,
2650 - 10,
2651 - 22,
2652 - 23,
2653 - 24,
2654 - 25,
2655 - 26,
2656 - 37,
2657 - 38,
2658 - 39,
2659 - 40,
2660 - 41,
2661 - 42,
2662 - 52,
2663 - 53,
2664 - 54,
2665 - 55,
2666 - 56,
2667 - 57,
2668 - 58,
2669 - 67,
2670 - 68,
2671 - 69,
2672 - 70,
2673 - 71,
2674 - 72,
2675 - 73,
2676 - 74,
2677 - 83,
2678 - 84,
2679 - 85,
2680 - 86,
2681 - 87,
2682 - 88,
2683 - 89,
2684 - 90,
2685 - 99,
2686 - 100,
2687 - 101,
2688 - 102,
2689 - 103,
2690 - 104,
2691 - 105,
2692 - 106,
2693 - 115,
2694 - 116,
2695 - 117,
2696 - 118,
2697 - 119,
2698 - 120,
2699 - 121,
2700 - 122,
2701 - 131,
2702 - 132,
2703 - 133,
2704 - 134,
2705 - 135,
2706 - 136,
2707 - 137,
2708 - 138,
2709 - 146,
2710 - 147,
2711 - 148,
2712 - 149,
2713 - 150,
2714 - 151,
2715 - 152,
2716 - 153,
2717 - 154,
2718 - 162,
2719 - 163,
2720 - 164,
2721 - 165,
2722 - 166,
2723 - 167,
2724 - 168,
2725 - 169,
2726 - 170,
2727 - 178,
2728 - 179,
2729 - 180,
2730 - 181,
2731 - 182,
2732 - 183,
2733 - 184,
2734 - 185,
2735 - 186,
2736 - 194,
2737 - 195,
2738 - 196,
2739 - 197,
2740 - 198,
2741 - 199,
2742 - 200,
2743 - 201,
2744 - 202,
2745 - 210,
2746 - 211,
2747 - 212,
2748 - 213,
2749 - 214,
2750 - 215,
2751 - 216,
2752 - 217,
2753 - 218,
2754 - 225,
2755 - 226,
2756 - 227,
2757 - 228,
2758 - 229,
2759 - 230,
2760 - 231,
2761 - 232,
2762 - 233,
2763 - 234,
2764 - 241,
2765 - 242,
2766 - 243,
2767 - 244,
2768 - 245,
2769 - 246,
2770 - 247,
2771 - 248,
2772 - 249,
2773 - 250
2774 - ];
2775 - var std_dc_chrominance_nrcodes = [0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0];
2776 - var std_dc_chrominance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
2777 - var std_ac_chrominance_nrcodes = [0, 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 119];
2778 - var std_ac_chrominance_values = [
2779 - 0,
2780 - 1,
2781 - 2,
2782 - 3,
2783 - 17,
2784 - 4,
2785 - 5,
2786 - 33,
2787 - 49,
2788 - 6,
2789 - 18,
2790 - 65,
2791 - 81,
2792 - 7,
2793 - 97,
2794 - 113,
2795 - 19,
2796 - 34,
2797 - 50,
2798 - 129,
2799 - 8,
2800 - 20,
2801 - 66,
2802 - 145,
2803 - 161,
2804 - 177,
2805 - 193,
2806 - 9,
2807 - 35,
2808 - 51,
2809 - 82,
2810 - 240,
2811 - 21,
2812 - 98,
2813 - 114,
2814 - 209,
2815 - 10,
2816 - 22,
2817 - 36,
2818 - 52,
2819 - 225,
2820 - 37,
2821 - 241,
2822 - 23,
2823 - 24,
2824 - 25,
2825 - 26,
2826 - 38,
2827 - 39,
2828 - 40,
2829 - 41,
2830 - 42,
2831 - 53,
2832 - 54,
2833 - 55,
2834 - 56,
2835 - 57,
2836 - 58,
2837 - 67,
2838 - 68,
2839 - 69,
2840 - 70,
2841 - 71,
2842 - 72,
2843 - 73,
2844 - 74,
2845 - 83,
2846 - 84,
2847 - 85,
2848 - 86,
2849 - 87,
2850 - 88,
2851 - 89,
2852 - 90,
2853 - 99,
2854 - 100,
2855 - 101,
2856 - 102,
2857 - 103,
2858 - 104,
2859 - 105,
2860 - 106,
2861 - 115,
2862 - 116,
2863 - 117,
2864 - 118,
2865 - 119,
2866 - 120,
2867 - 121,
2868 - 122,
2869 - 130,
2870 - 131,
2871 - 132,
2872 - 133,
2873 - 134,
2874 - 135,
2875 - 136,
2876 - 137,
2877 - 138,
2878 - 146,
2879 - 147,
2880 - 148,
2881 - 149,
2882 - 150,
2883 - 151,
2884 - 152,
2885 - 153,
2886 - 154,
2887 - 162,
2888 - 163,
2889 - 164,
2890 - 165,
2891 - 166,
2892 - 167,
2893 - 168,
2894 - 169,
2895 - 170,
2896 - 178,
2897 - 179,
2898 - 180,
2899 - 181,
2900 - 182,
2901 - 183,
2902 - 184,
2903 - 185,
2904 - 186,
2905 - 194,
2906 - 195,
2907 - 196,
2908 - 197,
2909 - 198,
2910 - 199,
2911 - 200,
2912 - 201,
2913 - 202,
2914 - 210,
2915 - 211,
2916 - 212,
2917 - 213,
2918 - 214,
2919 - 215,
2920 - 216,
2921 - 217,
2922 - 218,
2923 - 226,
2924 - 227,
2925 - 228,
2926 - 229,
2927 - 230,
2928 - 231,
2929 - 232,
2930 - 233,
2931 - 234,
2932 - 242,
2933 - 243,
2934 - 244,
2935 - 245,
2936 - 246,
2937 - 247,
2938 - 248,
2939 - 249,
2940 - 250
2941 - ];
2942 - function initQuantTables(sf) {
2943 - var YQT = [
2944 - 16,
2945 - 11,
2946 - 10,
2947 - 16,
2948 - 24,
2949 - 40,
2950 - 51,
2951 - 61,
2952 - 12,
2953 - 12,
2954 - 14,
2955 - 19,
2956 - 26,
2957 - 58,
2958 - 60,
2959 - 55,
2960 - 14,
2961 - 13,
2962 - 16,
2963 - 24,
2964 - 40,
2965 - 57,
2966 - 69,
2967 - 56,
2968 - 14,
2969 - 17,
2970 - 22,
2971 - 29,
2972 - 51,
2973 - 87,
2974 - 80,
2975 - 62,
2976 - 18,
2977 - 22,
2978 - 37,
2979 - 56,
2980 - 68,
2981 - 109,
2982 - 103,
2983 - 77,
2984 - 24,
2985 - 35,
2986 - 55,
2987 - 64,
2988 - 81,
2989 - 104,
2990 - 113,
2991 - 92,
2992 - 49,
2993 - 64,
2994 - 78,
2995 - 87,
2996 - 103,
2997 - 121,
2998 - 120,
2999 - 101,
3000 - 72,
3001 - 92,
3002 - 95,
3003 - 98,
3004 - 112,
3005 - 100,
3006 - 103,
3007 - 99
3008 - ];
3009 - for (var i = 0; i < 64; i++) {
3010 - var t = ffloor((YQT[i] * sf + 50) / 100);
3011 - if (t < 1) {
3012 - t = 1;
3013 - } else if (t > 255) {
3014 - t = 255;
3015 - }
3016 - YTable[ZigZag[i]] = t;
3017 - }
3018 - var UVQT = [
3019 - 17,
3020 - 18,
3021 - 24,
3022 - 47,
3023 - 99,
3024 - 99,
3025 - 99,
3026 - 99,
3027 - 18,
3028 - 21,
3029 - 26,
3030 - 66,
3031 - 99,
3032 - 99,
3033 - 99,
3034 - 99,
3035 - 24,
3036 - 26,
3037 - 56,
3038 - 99,
3039 - 99,
3040 - 99,
3041 - 99,
3042 - 99,
3043 - 47,
3044 - 66,
3045 - 99,
3046 - 99,
3047 - 99,
3048 - 99,
3049 - 99,
3050 - 99,
3051 - 99,
3052 - 99,
3053 - 99,
3054 - 99,
3055 - 99,
3056 - 99,
3057 - 99,
3058 - 99,
3059 - 99,
3060 - 99,
3061 - 99,
3062 - 99,
3063 - 99,
3064 - 99,
3065 - 99,
3066 - 99,
3067 - 99,
3068 - 99,
3069 - 99,
3070 - 99,
3071 - 99,
3072 - 99,
3073 - 99,
3074 - 99,
3075 - 99,
3076 - 99,
3077 - 99,
3078 - 99,
3079 - 99,
3080 - 99,
3081 - 99,
3082 - 99
3083 - ];
3084 - for (var j = 0; j < 64; j++) {
3085 - var u = ffloor((UVQT[j] * sf + 50) / 100);
3086 - if (u < 1) {
3087 - u = 1;
3088 - } else if (u > 255) {
3089 - u = 255;
3090 - }
3091 - UVTable[ZigZag[j]] = u;
3092 - }
3093 - var aasf = [
3094 - 1,
3095 - 1.387039845,
3096 - 1.306562965,
3097 - 1.175875602,
3098 - 1,
3099 - 0.785694958,
3100 - 0.5411961,
3101 - 0.275899379
3102 - ];
3103 - var k = 0;
3104 - for (var row = 0; row < 8; row++) {
3105 - for (var col = 0; col < 8; col++) {
3106 - fdtbl_Y[k] = 1 / (YTable[ZigZag[k]] * aasf[row] * aasf[col] * 8);
3107 - fdtbl_UV[k] = 1 / (UVTable[ZigZag[k]] * aasf[row] * aasf[col] * 8);
3108 - k++;
3109 - }
3110 - }
3111 - }
3112 - function computeHuffmanTbl(nrcodes, std_table) {
3113 - var codevalue = 0;
3114 - var pos_in_table = 0;
3115 - var HT = new Array();
3116 - for (var k = 1; k <= 16; k++) {
3117 - for (var j = 1; j <= nrcodes[k]; j++) {
3118 - HT[std_table[pos_in_table]] = [];
3119 - HT[std_table[pos_in_table]][0] = codevalue;
3120 - HT[std_table[pos_in_table]][1] = k;
3121 - pos_in_table++;
3122 - codevalue++;
3123 - }
3124 - codevalue *= 2;
3125 - }
3126 - return HT;
3127 - }
3128 - function initHuffmanTbl() {
3129 - YDC_HT = computeHuffmanTbl(std_dc_luminance_nrcodes, std_dc_luminance_values);
3130 - UVDC_HT = computeHuffmanTbl(std_dc_chrominance_nrcodes, std_dc_chrominance_values);
3131 - YAC_HT = computeHuffmanTbl(std_ac_luminance_nrcodes, std_ac_luminance_values);
3132 - UVAC_HT = computeHuffmanTbl(std_ac_chrominance_nrcodes, std_ac_chrominance_values);
3133 - }
3134 - function initCategoryNumber() {
3135 - var nrlower = 1;
3136 - var nrupper = 2;
3137 - for (var cat = 1; cat <= 15; cat++) {
3138 - for (var nr = nrlower; nr < nrupper; nr++) {
3139 - category[32767 + nr] = cat;
3140 - bitcode[32767 + nr] = [];
3141 - bitcode[32767 + nr][1] = cat;
3142 - bitcode[32767 + nr][0] = nr;
3143 - }
3144 - for (var nrneg = -(nrupper - 1); nrneg <= -nrlower; nrneg++) {
3145 - category[32767 + nrneg] = cat;
3146 - bitcode[32767 + nrneg] = [];
3147 - bitcode[32767 + nrneg][1] = cat;
3148 - bitcode[32767 + nrneg][0] = nrupper - 1 + nrneg;
3149 - }
3150 - nrlower <<= 1;
3151 - nrupper <<= 1;
3152 - }
3153 - }
3154 - function initRGBYUVTable() {
3155 - for (var i = 0; i < 256; i++) {
3156 - RGB_YUV_TABLE[i] = 19595 * i;
3157 - RGB_YUV_TABLE[i + 256 >> 0] = 38470 * i;
3158 - RGB_YUV_TABLE[i + 512 >> 0] = 7471 * i + 32768;
3159 - RGB_YUV_TABLE[i + 768 >> 0] = -11059 * i;
3160 - RGB_YUV_TABLE[i + 1024 >> 0] = -21709 * i;
3161 - RGB_YUV_TABLE[i + 1280 >> 0] = 32768 * i + 8421375;
3162 - RGB_YUV_TABLE[i + 1536 >> 0] = -27439 * i;
3163 - RGB_YUV_TABLE[i + 1792 >> 0] = -5329 * i;
3164 - }
3165 - }
3166 - function writeBits(bs) {
3167 - var value = bs[0];
3168 - var posval = bs[1] - 1;
3169 - while (posval >= 0) {
3170 - if (value & 1 << posval) {
3171 - bytenew |= 1 << bytepos;
3172 - }
3173 - posval--;
3174 - bytepos--;
3175 - if (bytepos < 0) {
3176 - if (bytenew == 255) {
3177 - writeByte(255);
3178 - writeByte(0);
3179 - } else {
3180 - writeByte(bytenew);
3181 - }
3182 - bytepos = 7;
3183 - bytenew = 0;
3184 - }
3185 - }
3186 - }
3187 - function writeByte(value) {
3188 - byteout.push(value);
3189 - }
3190 - function writeWord(value) {
3191 - writeByte(value >> 8 & 255);
3192 - writeByte(value & 255);
3193 - }
3194 - function fDCTQuant(data, fdtbl) {
3195 - var d0, d1, d2, d3, d4, d5, d6, d7;
3196 - var dataOff = 0;
3197 - var i;
3198 - var I8 = 8;
3199 - var I64 = 64;
3200 - for (i = 0; i < I8; ++i) {
3201 - d0 = data[dataOff];
3202 - d1 = data[dataOff + 1];
3203 - d2 = data[dataOff + 2];
3204 - d3 = data[dataOff + 3];
3205 - d4 = data[dataOff + 4];
3206 - d5 = data[dataOff + 5];
3207 - d6 = data[dataOff + 6];
3208 - d7 = data[dataOff + 7];
3209 - var tmp0 = d0 + d7;
3210 - var tmp7 = d0 - d7;
3211 - var tmp1 = d1 + d6;
3212 - var tmp6 = d1 - d6;
3213 - var tmp2 = d2 + d5;
3214 - var tmp5 = d2 - d5;
3215 - var tmp3 = d3 + d4;
3216 - var tmp4 = d3 - d4;
3217 - var tmp10 = tmp0 + tmp3;
3218 - var tmp13 = tmp0 - tmp3;
3219 - var tmp11 = tmp1 + tmp2;
3220 - var tmp12 = tmp1 - tmp2;
3221 - data[dataOff] = tmp10 + tmp11;
3222 - data[dataOff + 4] = tmp10 - tmp11;
3223 - var z1 = (tmp12 + tmp13) * 0.707106781;
3224 - data[dataOff + 2] = tmp13 + z1;
3225 - data[dataOff + 6] = tmp13 - z1;
3226 - tmp10 = tmp4 + tmp5;
3227 - tmp11 = tmp5 + tmp6;
3228 - tmp12 = tmp6 + tmp7;
3229 - var z5 = (tmp10 - tmp12) * 0.382683433;
3230 - var z2 = 0.5411961 * tmp10 + z5;
3231 - var z4 = 1.306562965 * tmp12 + z5;
3232 - var z3 = tmp11 * 0.707106781;
3233 - var z11 = tmp7 + z3;
3234 - var z13 = tmp7 - z3;
3235 - data[dataOff + 5] = z13 + z2;
3236 - data[dataOff + 3] = z13 - z2;
3237 - data[dataOff + 1] = z11 + z4;
3238 - data[dataOff + 7] = z11 - z4;
3239 - dataOff += 8;
3240 - }
3241 - dataOff = 0;
3242 - for (i = 0; i < I8; ++i) {
3243 - d0 = data[dataOff];
3244 - d1 = data[dataOff + 8];
3245 - d2 = data[dataOff + 16];
3246 - d3 = data[dataOff + 24];
3247 - d4 = data[dataOff + 32];
3248 - d5 = data[dataOff + 40];
3249 - d6 = data[dataOff + 48];
3250 - d7 = data[dataOff + 56];
3251 - var tmp0p2 = d0 + d7;
3252 - var tmp7p2 = d0 - d7;
3253 - var tmp1p2 = d1 + d6;
3254 - var tmp6p2 = d1 - d6;
3255 - var tmp2p2 = d2 + d5;
3256 - var tmp5p2 = d2 - d5;
3257 - var tmp3p2 = d3 + d4;
3258 - var tmp4p2 = d3 - d4;
3259 - var tmp10p2 = tmp0p2 + tmp3p2;
3260 - var tmp13p2 = tmp0p2 - tmp3p2;
3261 - var tmp11p2 = tmp1p2 + tmp2p2;
3262 - var tmp12p2 = tmp1p2 - tmp2p2;
3263 - data[dataOff] = tmp10p2 + tmp11p2;
3264 - data[dataOff + 32] = tmp10p2 - tmp11p2;
3265 - var z1p2 = (tmp12p2 + tmp13p2) * 0.707106781;
3266 - data[dataOff + 16] = tmp13p2 + z1p2;
3267 - data[dataOff + 48] = tmp13p2 - z1p2;
3268 - tmp10p2 = tmp4p2 + tmp5p2;
3269 - tmp11p2 = tmp5p2 + tmp6p2;
3270 - tmp12p2 = tmp6p2 + tmp7p2;
3271 - var z5p2 = (tmp10p2 - tmp12p2) * 0.382683433;
3272 - var z2p2 = 0.5411961 * tmp10p2 + z5p2;
3273 - var z4p2 = 1.306562965 * tmp12p2 + z5p2;
3274 - var z3p2 = tmp11p2 * 0.707106781;
3275 - var z11p2 = tmp7p2 + z3p2;
3276 - var z13p2 = tmp7p2 - z3p2;
3277 - data[dataOff + 40] = z13p2 + z2p2;
3278 - data[dataOff + 24] = z13p2 - z2p2;
3279 - data[dataOff + 8] = z11p2 + z4p2;
3280 - data[dataOff + 56] = z11p2 - z4p2;
3281 - dataOff++;
3282 - }
3283 - var fDCTQuant2;
3284 - for (i = 0; i < I64; ++i) {
3285 - fDCTQuant2 = data[i] * fdtbl[i];
3286 - outputfDCTQuant[i] = fDCTQuant2 > 0 ? fDCTQuant2 + 0.5 | 0 : fDCTQuant2 - 0.5 | 0;
3287 - }
3288 - return outputfDCTQuant;
3289 - }
3290 - function writeAPP0() {
3291 - writeWord(65504);
3292 - writeWord(16);
3293 - writeByte(74);
3294 - writeByte(70);
3295 - writeByte(73);
3296 - writeByte(70);
3297 - writeByte(0);
3298 - writeByte(1);
3299 - writeByte(1);
3300 - writeByte(0);
3301 - writeWord(1);
3302 - writeWord(1);
3303 - writeByte(0);
3304 - writeByte(0);
3305 - }
3306 - function writeAPP1(exifBuffer) {
3307 - if (!exifBuffer) return;
3308 - writeWord(65505);
3309 - if (exifBuffer[0] === 69 && exifBuffer[1] === 120 && exifBuffer[2] === 105 && exifBuffer[3] === 102) {
3310 - writeWord(exifBuffer.length + 2);
3311 - } else {
3312 - writeWord(exifBuffer.length + 5 + 2);
3313 - writeByte(69);
3314 - writeByte(120);
3315 - writeByte(105);
3316 - writeByte(102);
3317 - writeByte(0);
3318 - }
3319 - for (var i = 0; i < exifBuffer.length; i++) {
3320 - writeByte(exifBuffer[i]);
3321 - }
3322 - }
3323 - function writeSOF0(width, height) {
3324 - writeWord(65472);
3325 - writeWord(17);
3326 - writeByte(8);
3327 - writeWord(height);
3328 - writeWord(width);
3329 - writeByte(3);
3330 - writeByte(1);
3331 - writeByte(17);
3332 - writeByte(0);
3333 - writeByte(2);
3334 - writeByte(17);
3335 - writeByte(1);
3336 - writeByte(3);
3337 - writeByte(17);
3338 - writeByte(1);
3339 - }
3340 - function writeDQT() {
3341 - writeWord(65499);
3342 - writeWord(132);
3343 - writeByte(0);
3344 - for (var i = 0; i < 64; i++) {
3345 - writeByte(YTable[i]);
3346 - }
3347 - writeByte(1);
3348 - for (var j = 0; j < 64; j++) {
3349 - writeByte(UVTable[j]);
3350 - }
3351 - }
3352 - function writeDHT() {
3353 - writeWord(65476);
3354 - writeWord(418);
3355 - writeByte(0);
3356 - for (var i = 0; i < 16; i++) {
3357 - writeByte(std_dc_luminance_nrcodes[i + 1]);
3358 - }
3359 - for (var j = 0; j <= 11; j++) {
3360 - writeByte(std_dc_luminance_values[j]);
3361 - }
3362 - writeByte(16);
3363 - for (var k = 0; k < 16; k++) {
3364 - writeByte(std_ac_luminance_nrcodes[k + 1]);
3365 - }
3366 - for (var l = 0; l <= 161; l++) {
3367 - writeByte(std_ac_luminance_values[l]);
3368 - }
3369 - writeByte(1);
3370 - for (var m = 0; m < 16; m++) {
3371 - writeByte(std_dc_chrominance_nrcodes[m + 1]);
3372 - }
3373 - for (var n = 0; n <= 11; n++) {
3374 - writeByte(std_dc_chrominance_values[n]);
3375 - }
3376 - writeByte(17);
3377 - for (var o = 0; o < 16; o++) {
3378 - writeByte(std_ac_chrominance_nrcodes[o + 1]);
3379 - }
3380 - for (var p = 0; p <= 161; p++) {
3381 - writeByte(std_ac_chrominance_values[p]);
3382 - }
3383 - }
3384 - function writeCOM(comments) {
3385 - if (typeof comments === "undefined" || comments.constructor !== Array) return;
3386 - comments.forEach((e) => {
3387 - if (typeof e !== "string") return;
3388 - writeWord(65534);
3389 - var l = e.length;
3390 - writeWord(l + 2);
3391 - var i;
3392 - for (i = 0; i < l; i++)
3393 - writeByte(e.charCodeAt(i));
3394 - });
3395 - }
3396 - function writeSOS() {
3397 - writeWord(65498);
3398 - writeWord(12);
3399 - writeByte(3);
3400 - writeByte(1);
3401 - writeByte(0);
3402 - writeByte(2);
3403 - writeByte(17);
3404 - writeByte(3);
3405 - writeByte(17);
3406 - writeByte(0);
3407 - writeByte(63);
3408 - writeByte(0);
3409 - }
3410 - function processDU(CDU, fdtbl, DC, HTDC, HTAC) {
3411 - var EOB = HTAC[0];
3412 - var M16zeroes = HTAC[240];
3413 - var pos;
3414 - var I16 = 16;
3415 - var I63 = 63;
3416 - var I64 = 64;
3417 - var DU_DCT = fDCTQuant(CDU, fdtbl);
3418 - for (var j = 0; j < I64; ++j) {
3419 - DU[ZigZag[j]] = DU_DCT[j];
3420 - }
3421 - var Diff2 = DU[0] - DC;
3422 - DC = DU[0];
3423 - if (Diff2 == 0) {
3424 - writeBits(HTDC[0]);
3425 - } else {
3426 - pos = 32767 + Diff2;
3427 - writeBits(HTDC[category[pos]]);
3428 - writeBits(bitcode[pos]);
3429 - }
3430 - var end0pos = 63;
3431 - for (; end0pos > 0 && DU[end0pos] == 0; end0pos--) {
3432 - }
3433 - ;
3434 - if (end0pos == 0) {
3435 - writeBits(EOB);
3436 - return DC;
3437 - }
3438 - var i = 1;
3439 - var lng;
3440 - while (i <= end0pos) {
3441 - var startpos = i;
3442 - for (; DU[i] == 0 && i <= end0pos; ++i) {
3443 - }
3444 - var nrzeroes = i - startpos;
3445 - if (nrzeroes >= I16) {
3446 - lng = nrzeroes >> 4;
3447 - for (var nrmarker = 1; nrmarker <= lng; ++nrmarker)
3448 - writeBits(M16zeroes);
3449 - nrzeroes = nrzeroes & 15;
3450 - }
3451 - pos = 32767 + DU[i];
3452 - writeBits(HTAC[(nrzeroes << 4) + category[pos]]);
3453 - writeBits(bitcode[pos]);
3454 - i++;
3455 - }
3456 - if (end0pos != I63) {
3457 - writeBits(EOB);
3458 - }
3459 - return DC;
3460 - }
3461 - function initCharLookupTable() {
3462 - var sfcc = String.fromCharCode;
3463 - for (var i = 0; i < 256; i++) {
3464 - clt[i] = sfcc(i);
3465 - }
3466 - }
3467 - this.encode = function(image, quality2) {
3468 - var time_start = (/* @__PURE__ */ new Date()).getTime();
3469 - if (quality2) setQuality(quality2);
3470 - byteout = new Array();
3471 - bytenew = 0;
3472 - bytepos = 7;
3473 - writeWord(65496);
3474 - writeAPP0();
3475 - writeCOM(image.comments);
3476 - writeAPP1(image.exifBuffer);
3477 - writeDQT();
3478 - writeSOF0(image.width, image.height);
3479 - writeDHT();
3480 - writeSOS();
3481 - var DCY = 0;
3482 - var DCU = 0;
3483 - var DCV = 0;
3484 - bytenew = 0;
3485 - bytepos = 7;
3486 - this.encode.displayName = "_encode_";
3487 - var imageData = image.data;
3488 - var width = image.width;
3489 - var height = image.height;
3490 - var quadWidth = width * 4;
3491 - var tripleWidth = width * 3;
3492 - var x, y = 0;
3493 - var r, g, b;
3494 - var start, p, col, row, pos;
3495 - while (y < height) {
3496 - x = 0;
3497 - while (x < quadWidth) {
3498 - start = quadWidth * y + x;
3499 - p = start;
3500 - col = -1;
3501 - row = 0;
3502 - for (pos = 0; pos < 64; pos++) {
3503 - row = pos >> 3;
3504 - col = (pos & 7) * 4;
3505 - p = start + row * quadWidth + col;
3506 - if (y + row >= height) {
3507 - p -= quadWidth * (y + 1 + row - height);
3508 - }
3509 - if (x + col >= quadWidth) {
3510 - p -= x + col - quadWidth + 4;
3511 - }
3512 - r = imageData[p++];
3513 - g = imageData[p++];
3514 - b = imageData[p++];
3515 - YDU[pos] = (RGB_YUV_TABLE[r] + RGB_YUV_TABLE[g + 256 >> 0] + RGB_YUV_TABLE[b + 512 >> 0] >> 16) - 128;
3516 - UDU[pos] = (RGB_YUV_TABLE[r + 768 >> 0] + RGB_YUV_TABLE[g + 1024 >> 0] + RGB_YUV_TABLE[b + 1280 >> 0] >> 16) - 128;
3517 - VDU[pos] = (RGB_YUV_TABLE[r + 1280 >> 0] + RGB_YUV_TABLE[g + 1536 >> 0] + RGB_YUV_TABLE[b + 1792 >> 0] >> 16) - 128;
3518 - }
3519 - DCY = processDU(YDU, fdtbl_Y, DCY, YDC_HT, YAC_HT);
3520 - DCU = processDU(UDU, fdtbl_UV, DCU, UVDC_HT, UVAC_HT);
3521 - DCV = processDU(VDU, fdtbl_UV, DCV, UVDC_HT, UVAC_HT);
3522 - x += 32;
3523 - }
3524 - y += 8;
3525 - }
3526 - if (bytepos >= 0) {
3527 - var fillbits = [];
3528 - fillbits[1] = bytepos + 1;
3529 - fillbits[0] = (1 << bytepos + 1) - 1;
3530 - writeBits(fillbits);
3531 - }
3532 - writeWord(65497);
3533 - if (typeof module2 === "undefined") return new Uint8Array(byteout);
3534 - return Buffer.from(byteout);
3535 - var jpegDataUri = "data:image/jpeg;base64," + btoa2(byteout.join(""));
3536 - byteout = [];
3537 - var duration3 = (/* @__PURE__ */ new Date()).getTime() - time_start;
3538 - return jpegDataUri;
3539 - };
3540 - function setQuality(quality2) {
3541 - if (quality2 <= 0) {
3542 - quality2 = 1;
3543 - }
3544 - if (quality2 > 100) {
3545 - quality2 = 100;
3546 - }
3547 - if (currentQuality == quality2) return;
3548 - var sf = 0;
3549 - if (quality2 < 50) {
3550 - sf = Math.floor(5e3 / quality2);
3551 - } else {
3552 - sf = Math.floor(200 - quality2 * 2);
3553 - }
3554 - initQuantTables(sf);
3555 - currentQuality = quality2;
3556 - }
3557 - function init() {
3558 - var time_start = (/* @__PURE__ */ new Date()).getTime();
3559 - if (!quality) quality = 50;
3560 - initCharLookupTable();
3561 - initHuffmanTbl();
3562 - initCategoryNumber();
3563 - initRGBYUVTable();
3564 - setQuality(quality);
3565 - var duration3 = (/* @__PURE__ */ new Date()).getTime() - time_start;
3566 - }
3567 - init();
3568 - }
3569 - if (typeof module2 !== "undefined") {
3570 - module2.exports = encode3;
3571 - } else if (typeof window !== "undefined") {
3572 - window["jpeg-js"] = window["jpeg-js"] || {};
3573 - window["jpeg-js"].encode = encode3;
3574 - }
3575 - function encode3(imgData, qu) {
3576 - if (typeof qu === "undefined") qu = 50;
3577 - var encoder = new JPEGEncoder(qu);
3578 - var data = encoder.encode(imgData, qu);
3579 - return {
3580 - data,
3581 - width: imgData.width,
3582 - height: imgData.height
3583 - };
3584 - }
3585 - }
3586 -});
3587 -
3588 -// node_modules/jpeg-js/lib/decoder.js
3589 -var require_decoder = __commonJS({
3590 - "node_modules/jpeg-js/lib/decoder.js"(exports2, module2) {
3591 - var JpegImage = (function jpegImage() {
3592 - "use strict";
3593 - var dctZigZag = new Int32Array([
3594 - 0,
3595 - 1,
3596 - 8,
3597 - 16,
3598 - 9,
3599 - 2,
3600 - 3,
3601 - 10,
3602 - 17,
3603 - 24,
3604 - 32,
3605 - 25,
3606 - 18,
3607 - 11,
3608 - 4,
3609 - 5,
3610 - 12,
3611 - 19,
3612 - 26,
3613 - 33,
3614 - 40,
3615 - 48,
3616 - 41,
3617 - 34,
3618 - 27,
3619 - 20,
3620 - 13,
3621 - 6,
3622 - 7,
3623 - 14,
3624 - 21,
3625 - 28,
3626 - 35,
3627 - 42,
3628 - 49,
3629 - 56,
3630 - 57,
3631 - 50,
3632 - 43,
3633 - 36,
3634 - 29,
3635 - 22,
3636 - 15,
3637 - 23,
3638 - 30,
3639 - 37,
3640 - 44,
3641 - 51,
3642 - 58,
3643 - 59,
3644 - 52,
3645 - 45,
3646 - 38,
3647 - 31,
3648 - 39,
3649 - 46,
3650 - 53,
3651 - 60,
3652 - 61,
3653 - 54,
3654 - 47,
3655 - 55,
3656 - 62,
3657 - 63
3658 - ]);
3659 - var dctCos1 = 4017;
3660 - var dctSin1 = 799;
3661 - var dctCos3 = 3406;
3662 - var dctSin3 = 2276;
3663 - var dctCos6 = 1567;
3664 - var dctSin6 = 3784;
3665 - var dctSqrt2 = 5793;
3666 - var dctSqrt1d2 = 2896;
3667 - function constructor() {
3668 - }
3669 - function buildHuffmanTable(codeLengths, values) {
3670 - var k = 0, code = [], i, j, length = 16;
3671 - while (length > 0 && !codeLengths[length - 1])
3672 - length--;
3673 - code.push({ children: [], index: 0 });
3674 - var p = code[0], q;
3675 - for (i = 0; i < length; i++) {
3676 - for (j = 0; j < codeLengths[i]; j++) {
3677 - p = code.pop();
3678 - p.children[p.index] = values[k];
3679 - while (p.index > 0) {
3680 - if (code.length === 0)
3681 - throw new Error("Could not recreate Huffman Table");
3682 - p = code.pop();
3683 - }
3684 - p.index++;
3685 - code.push(p);
3686 - while (code.length <= i) {
3687 - code.push(q = { children: [], index: 0 });
3688 - p.children[p.index] = q.children;
3689 - p = q;
3690 - }
3691 - k++;
3692 - }
3693 - if (i + 1 < length) {
3694 - code.push(q = { children: [], index: 0 });
3695 - p.children[p.index] = q.children;
3696 - p = q;
3697 - }
3698 - }
3699 - return code[0].children;
3700 - }
3701 - function decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successivePrev, successive, opts) {
3702 - var precision = frame.precision;
3703 - var samplesPerLine = frame.samplesPerLine;
3704 - var scanLines = frame.scanLines;
3705 - var mcusPerLine = frame.mcusPerLine;
3706 - var progressive = frame.progressive;
3707 - var maxH = frame.maxH, maxV = frame.maxV;
3708 - var startOffset = offset, bitsData = 0, bitsCount = 0;
3709 - function readBit() {
3710 - if (bitsCount > 0) {
3711 - bitsCount--;
3712 - return bitsData >> bitsCount & 1;
3713 - }
3714 - bitsData = data[offset++];
3715 - if (bitsData == 255) {
3716 - var nextByte = data[offset++];
3717 - if (nextByte) {
3718 - throw new Error("unexpected marker: " + (bitsData << 8 | nextByte).toString(16));
3719 - }
3720 - }
3721 - bitsCount = 7;
3722 - return bitsData >>> 7;
3723 - }
3724 - function decodeHuffman(tree) {
3725 - var node = tree, bit;
3726 - while ((bit = readBit()) !== null) {
3727 - node = node[bit];
3728 - if (typeof node === "number")
3729 - return node;
3730 - if (typeof node !== "object")
3731 - throw new Error("invalid huffman sequence");
3732 - }
3733 - return null;
3734 - }
3735 - function receive(length) {
3736 - var n2 = 0;
3737 - while (length > 0) {
3738 - var bit = readBit();
3739 - if (bit === null) return;
3740 - n2 = n2 << 1 | bit;
3741 - length--;
3742 - }
3743 - return n2;
3744 - }
3745 - function receiveAndExtend(length) {
3746 - var n2 = receive(length);
3747 - if (n2 >= 1 << length - 1)
3748 - return n2;
3749 - return n2 + (-1 << length) + 1;
3750 - }
3751 - function decodeBaseline(component2, zz) {
3752 - var t = decodeHuffman(component2.huffmanTableDC);
3753 - var diff2 = t === 0 ? 0 : receiveAndExtend(t);
3754 - zz[0] = component2.pred += diff2;
3755 - var k2 = 1;
3756 - while (k2 < 64) {
3757 - var rs = decodeHuffman(component2.huffmanTableAC);
3758 - var s = rs & 15, r = rs >> 4;
3759 - if (s === 0) {
3760 - if (r < 15)
3761 - break;
3762 - k2 += 16;
3763 - continue;
3764 - }
3765 - k2 += r;
3766 - var z2 = dctZigZag[k2];
3767 - zz[z2] = receiveAndExtend(s);
3768 - k2++;
3769 - }
3770 - }
3771 - function decodeDCFirst(component2, zz) {
3772 - var t = decodeHuffman(component2.huffmanTableDC);
3773 - var diff2 = t === 0 ? 0 : receiveAndExtend(t) << successive;
3774 - zz[0] = component2.pred += diff2;
3775 - }
3776 - function decodeDCSuccessive(component2, zz) {
3777 - zz[0] |= readBit() << successive;
3778 - }
3779 - var eobrun = 0;
3780 - function decodeACFirst(component2, zz) {
3781 - if (eobrun > 0) {
3782 - eobrun--;
3783 - return;
3784 - }
3785 - var k2 = spectralStart, e = spectralEnd;
3786 - while (k2 <= e) {
3787 - var rs = decodeHuffman(component2.huffmanTableAC);
3788 - var s = rs & 15, r = rs >> 4;
3789 - if (s === 0) {
3790 - if (r < 15) {
3791 - eobrun = receive(r) + (1 << r) - 1;
3792 - break;
3793 - }
3794 - k2 += 16;
3795 - continue;
3796 - }
3797 - k2 += r;
3798 - var z2 = dctZigZag[k2];
3799 - zz[z2] = receiveAndExtend(s) * (1 << successive);
3800 - k2++;
3801 - }
3802 - }
3803 - var successiveACState = 0, successiveACNextValue;
3804 - function decodeACSuccessive(component2, zz) {
3805 - var k2 = spectralStart, e = spectralEnd, r = 0;
3806 - while (k2 <= e) {
3807 - var z2 = dctZigZag[k2];
3808 - var direction = zz[z2] < 0 ? -1 : 1;
3809 - switch (successiveACState) {
3810 - case 0:
3811 - var rs = decodeHuffman(component2.huffmanTableAC);
3812 - var s = rs & 15, r = rs >> 4;
3813 - if (s === 0) {
3814 - if (r < 15) {
3815 - eobrun = receive(r) + (1 << r);
3816 - successiveACState = 4;
3817 - } else {
3818 - r = 16;
3819 - successiveACState = 1;
3820 - }
3821 - } else {
3822 - if (s !== 1)
3823 - throw new Error("invalid ACn encoding");
3824 - successiveACNextValue = receiveAndExtend(s);
3825 - successiveACState = r ? 2 : 3;
3826 - }
3827 - continue;
3828 - case 1:
3829 - // skipping r zero items
3830 - case 2:
3831 - if (zz[z2])
3832 - zz[z2] += (readBit() << successive) * direction;
3833 - else {
3834 - r--;
3835 - if (r === 0)
3836 - successiveACState = successiveACState == 2 ? 3 : 0;
3837 - }
3838 - break;
3839 - case 3:
3840 - if (zz[z2])
3841 - zz[z2] += (readBit() << successive) * direction;
3842 - else {
3843 - zz[z2] = successiveACNextValue << successive;
3844 - successiveACState = 0;
3845 - }
3846 - break;
3847 - case 4:
3848 - if (zz[z2])
3849 - zz[z2] += (readBit() << successive) * direction;
3850 - break;
3851 - }
3852 - k2++;
3853 - }
3854 - if (successiveACState === 4) {
3855 - eobrun--;
3856 - if (eobrun === 0)
3857 - successiveACState = 0;
3858 - }
3859 - }
3860 - function decodeMcu(component2, decode4, mcu2, row, col) {
3861 - var mcuRow = mcu2 / mcusPerLine | 0;
3862 - var mcuCol = mcu2 % mcusPerLine;
3863 - var blockRow = mcuRow * component2.v + row;
3864 - var blockCol = mcuCol * component2.h + col;
3865 - if (component2.blocks[blockRow] === void 0 && opts.tolerantDecoding)
3866 - return;
3867 - decode4(component2, component2.blocks[blockRow][blockCol]);
3868 - }
3869 - function decodeBlock(component2, decode4, mcu2) {
3870 - var blockRow = mcu2 / component2.blocksPerLine | 0;
3871 - var blockCol = mcu2 % component2.blocksPerLine;
3872 - if (component2.blocks[blockRow] === void 0 && opts.tolerantDecoding)
3873 - return;
3874 - decode4(component2, component2.blocks[blockRow][blockCol]);
3875 - }
3876 - var componentsLength = components.length;
3877 - var component, i, j, k, n;
3878 - var decodeFn;
3879 - if (progressive) {
3880 - if (spectralStart === 0)
3881 - decodeFn = successivePrev === 0 ? decodeDCFirst : decodeDCSuccessive;
3882 - else
3883 - decodeFn = successivePrev === 0 ? decodeACFirst : decodeACSuccessive;
3884 - } else {
3885 - decodeFn = decodeBaseline;
3886 - }
3887 - var mcu = 0, marker;
3888 - var mcuExpected;
3889 - if (componentsLength == 1) {
3890 - mcuExpected = components[0].blocksPerLine * components[0].blocksPerColumn;
3891 - } else {
3892 - mcuExpected = mcusPerLine * frame.mcusPerColumn;
3893 - }
3894 - if (!resetInterval) resetInterval = mcuExpected;
3895 - var h, v;
3896 - while (mcu < mcuExpected) {
3897 - for (i = 0; i < componentsLength; i++)
3898 - components[i].pred = 0;
3899 - eobrun = 0;
3900 - if (componentsLength == 1) {
3901 - component = components[0];
3902 - for (n = 0; n < resetInterval; n++) {
3903 - decodeBlock(component, decodeFn, mcu);
3904 - mcu++;
3905 - }
3906 - } else {
3907 - for (n = 0; n < resetInterval; n++) {
3908 - for (i = 0; i < componentsLength; i++) {
3909 - component = components[i];
3910 - h = component.h;
3911 - v = component.v;
3912 - for (j = 0; j < v; j++) {
3913 - for (k = 0; k < h; k++) {
3914 - decodeMcu(component, decodeFn, mcu, j, k);
3915 - }
3916 - }
3917 - }
3918 - mcu++;
3919 - if (mcu === mcuExpected) break;
3920 - }
3921 - }
3922 - if (mcu === mcuExpected) {
3923 - do {
3924 - if (data[offset] === 255) {
3925 - if (data[offset + 1] !== 0) {
3926 - break;
3927 - }
3928 - }
3929 - offset += 1;
3930 - } while (offset < data.length - 2);
3931 - }
3932 - bitsCount = 0;
3933 - marker = data[offset] << 8 | data[offset + 1];
3934 - if (marker < 65280) {
3935 - throw new Error("marker was not found");
3936 - }
3937 - if (marker >= 65488 && marker <= 65495) {
3938 - offset += 2;
3939 - } else
3940 - break;
3941 - }
3942 - return offset - startOffset;
3943 - }
3944 - function buildComponentData(frame, component) {
3945 - var lines = [];
3946 - var blocksPerLine = component.blocksPerLine;
3947 - var blocksPerColumn = component.blocksPerColumn;
3948 - var samplesPerLine = blocksPerLine << 3;
3949 - var R = new Int32Array(64), r = new Uint8Array(64);
3950 - function quantizeAndInverse(zz, dataOut, dataIn) {
3951 - var qt = component.quantizationTable;
3952 - var v0, v1, v2, v3, v4, v5, v6, v7, t;
3953 - var p = dataIn;
3954 - var i2;
3955 - for (i2 = 0; i2 < 64; i2++)
3956 - p[i2] = zz[i2] * qt[i2];
3957 - for (i2 = 0; i2 < 8; ++i2) {
3958 - var row = 8 * i2;
3959 - if (p[1 + row] == 0 && p[2 + row] == 0 && p[3 + row] == 0 && p[4 + row] == 0 && p[5 + row] == 0 && p[6 + row] == 0 && p[7 + row] == 0) {
3960 - t = dctSqrt2 * p[0 + row] + 512 >> 10;
3961 - p[0 + row] = t;
3962 - p[1 + row] = t;
3963 - p[2 + row] = t;
3964 - p[3 + row] = t;
3965 - p[4 + row] = t;
3966 - p[5 + row] = t;
3967 - p[6 + row] = t;
3968 - p[7 + row] = t;
3969 - continue;
3970 - }
3971 - v0 = dctSqrt2 * p[0 + row] + 128 >> 8;
3972 - v1 = dctSqrt2 * p[4 + row] + 128 >> 8;
3973 - v2 = p[2 + row];
3974 - v3 = p[6 + row];
3975 - v4 = dctSqrt1d2 * (p[1 + row] - p[7 + row]) + 128 >> 8;
3976 - v7 = dctSqrt1d2 * (p[1 + row] + p[7 + row]) + 128 >> 8;
3977 - v5 = p[3 + row] << 4;
3978 - v6 = p[5 + row] << 4;
3979 - t = v0 - v1 + 1 >> 1;
3980 - v0 = v0 + v1 + 1 >> 1;
3981 - v1 = t;
3982 - t = v2 * dctSin6 + v3 * dctCos6 + 128 >> 8;
3983 - v2 = v2 * dctCos6 - v3 * dctSin6 + 128 >> 8;
3984 - v3 = t;
3985 - t = v4 - v6 + 1 >> 1;
3986 - v4 = v4 + v6 + 1 >> 1;
3987 - v6 = t;
3988 - t = v7 + v5 + 1 >> 1;
3989 - v5 = v7 - v5 + 1 >> 1;
3990 - v7 = t;
3991 - t = v0 - v3 + 1 >> 1;
3992 - v0 = v0 + v3 + 1 >> 1;
3993 - v3 = t;
3994 - t = v1 - v2 + 1 >> 1;
3995 - v1 = v1 + v2 + 1 >> 1;
3996 - v2 = t;
3997 - t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12;
3998 - v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12;
3999 - v7 = t;
4000 - t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12;
4001 - v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12;
4002 - v6 = t;
4003 - p[0 + row] = v0 + v7;
4004 - p[7 + row] = v0 - v7;
4005 - p[1 + row] = v1 + v6;
4006 - p[6 + row] = v1 - v6;
4007 - p[2 + row] = v2 + v5;
4008 - p[5 + row] = v2 - v5;
4009 - p[3 + row] = v3 + v4;
4010 - p[4 + row] = v3 - v4;
4011 - }
4012 - for (i2 = 0; i2 < 8; ++i2) {
4013 - var col = i2;
4014 - if (p[1 * 8 + col] == 0 && p[2 * 8 + col] == 0 && p[3 * 8 + col] == 0 && p[4 * 8 + col] == 0 && p[5 * 8 + col] == 0 && p[6 * 8 + col] == 0 && p[7 * 8 + col] == 0) {
4015 - t = dctSqrt2 * dataIn[i2 + 0] + 8192 >> 14;
4016 - p[0 * 8 + col] = t;
4017 - p[1 * 8 + col] = t;
4018 - p[2 * 8 + col] = t;
4019 - p[3 * 8 + col] = t;
4020 - p[4 * 8 + col] = t;
4021 - p[5 * 8 + col] = t;
4022 - p[6 * 8 + col] = t;
4023 - p[7 * 8 + col] = t;
4024 - continue;
4025 - }
4026 - v0 = dctSqrt2 * p[0 * 8 + col] + 2048 >> 12;
4027 - v1 = dctSqrt2 * p[4 * 8 + col] + 2048 >> 12;
4028 - v2 = p[2 * 8 + col];
4029 - v3 = p[6 * 8 + col];
4030 - v4 = dctSqrt1d2 * (p[1 * 8 + col] - p[7 * 8 + col]) + 2048 >> 12;
4031 - v7 = dctSqrt1d2 * (p[1 * 8 + col] + p[7 * 8 + col]) + 2048 >> 12;
4032 - v5 = p[3 * 8 + col];
4033 - v6 = p[5 * 8 + col];
4034 - t = v0 - v1 + 1 >> 1;
4035 - v0 = v0 + v1 + 1 >> 1;
4036 - v1 = t;
4037 - t = v2 * dctSin6 + v3 * dctCos6 + 2048 >> 12;
4038 - v2 = v2 * dctCos6 - v3 * dctSin6 + 2048 >> 12;
4039 - v3 = t;
4040 - t = v4 - v6 + 1 >> 1;
4041 - v4 = v4 + v6 + 1 >> 1;
4042 - v6 = t;
4043 - t = v7 + v5 + 1 >> 1;
4044 - v5 = v7 - v5 + 1 >> 1;
4045 - v7 = t;
4046 - t = v0 - v3 + 1 >> 1;
4047 - v0 = v0 + v3 + 1 >> 1;
4048 - v3 = t;
4049 - t = v1 - v2 + 1 >> 1;
4050 - v1 = v1 + v2 + 1 >> 1;
4051 - v2 = t;
4052 - t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12;
4053 - v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12;
4054 - v7 = t;
4055 - t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12;
4056 - v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12;
4057 - v6 = t;
4058 - p[0 * 8 + col] = v0 + v7;
4059 - p[7 * 8 + col] = v0 - v7;
4060 - p[1 * 8 + col] = v1 + v6;
4061 - p[6 * 8 + col] = v1 - v6;
4062 - p[2 * 8 + col] = v2 + v5;
4063 - p[5 * 8 + col] = v2 - v5;
4064 - p[3 * 8 + col] = v3 + v4;
4065 - p[4 * 8 + col] = v3 - v4;
4066 - }
4067 - for (i2 = 0; i2 < 64; ++i2) {
4068 - var sample2 = 128 + (p[i2] + 8 >> 4);
4069 - dataOut[i2] = sample2 < 0 ? 0 : sample2 > 255 ? 255 : sample2;
4070 - }
4071 - }
4072 - requestMemoryAllocation(samplesPerLine * blocksPerColumn * 8);
4073 - var i, j;
4074 - for (var blockRow = 0; blockRow < blocksPerColumn; blockRow++) {
4075 - var scanLine = blockRow << 3;
4076 - for (i = 0; i < 8; i++)
4077 - lines.push(new Uint8Array(samplesPerLine));
4078 - for (var blockCol = 0; blockCol < blocksPerLine; blockCol++) {
4079 - quantizeAndInverse(component.blocks[blockRow][blockCol], r, R);
4080 - var offset = 0, sample = blockCol << 3;
4081 - for (j = 0; j < 8; j++) {
4082 - var line = lines[scanLine + j];
4083 - for (i = 0; i < 8; i++)
4084 - line[sample + i] = r[offset++];
4085 - }
4086 - }
4087 - }
4088 - return lines;
4089 - }
4090 - function clampTo8bit(a) {
4091 - return a < 0 ? 0 : a > 255 ? 255 : a;
4092 - }
4093 - constructor.prototype = {
4094 - load: function load(path) {
4095 - var xhr = new XMLHttpRequest();
4096 - xhr.open("GET", path, true);
4097 - xhr.responseType = "arraybuffer";
4098 - xhr.onload = (function() {
4099 - var data = new Uint8Array(xhr.response || xhr.mozResponseArrayBuffer);
4100 - this.parse(data);
4101 - if (this.onload)
4102 - this.onload();
4103 - }).bind(this);
4104 - xhr.send(null);
4105 - },
4106 - parse: function parse3(data) {
4107 - var maxResolutionInPixels = this.opts.maxResolutionInMP * 1e3 * 1e3;
4108 - var offset = 0, length = data.length;
4109 - function readUint16() {
4110 - var value = data[offset] << 8 | data[offset + 1];
4111 - offset += 2;
4112 - return value;
4113 - }
4114 - function readDataBlock() {
4115 - var length2 = readUint16();
4116 - var array2 = data.subarray(offset, offset + length2 - 2);
4117 - offset += array2.length;
4118 - return array2;
4119 - }
4120 - function prepareComponents(frame2) {
4121 - var maxH2 = 1, maxV2 = 1;
4122 - var component2, componentId2;
4123 - for (componentId2 in frame2.components) {
4124 - if (frame2.components.hasOwnProperty(componentId2)) {
4125 - component2 = frame2.components[componentId2];
4126 - if (maxH2 < component2.h) maxH2 = component2.h;
4127 - if (maxV2 < component2.v) maxV2 = component2.v;
4128 - }
4129 - }
4130 - var mcusPerLine = Math.ceil(frame2.samplesPerLine / 8 / maxH2);
4131 - var mcusPerColumn = Math.ceil(frame2.scanLines / 8 / maxV2);
4132 - for (componentId2 in frame2.components) {
4133 - if (frame2.components.hasOwnProperty(componentId2)) {
4134 - component2 = frame2.components[componentId2];
4135 - var blocksPerLine = Math.ceil(Math.ceil(frame2.samplesPerLine / 8) * component2.h / maxH2);
4136 - var blocksPerColumn = Math.ceil(Math.ceil(frame2.scanLines / 8) * component2.v / maxV2);
4137 - var blocksPerLineForMcu = mcusPerLine * component2.h;
4138 - var blocksPerColumnForMcu = mcusPerColumn * component2.v;
4139 - var blocksToAllocate = blocksPerColumnForMcu * blocksPerLineForMcu;
4140 - var blocks = [];
4141 - requestMemoryAllocation(blocksToAllocate * 256);
4142 - for (var i2 = 0; i2 < blocksPerColumnForMcu; i2++) {
4143 - var row = [];
4144 - for (var j2 = 0; j2 < blocksPerLineForMcu; j2++)
4145 - row.push(new Int32Array(64));
4146 - blocks.push(row);
4147 - }
4148 - component2.blocksPerLine = blocksPerLine;
4149 - component2.blocksPerColumn = blocksPerColumn;
4150 - component2.blocks = blocks;
4151 - }
4152 - }
4153 - frame2.maxH = maxH2;
4154 - frame2.maxV = maxV2;
4155 - frame2.mcusPerLine = mcusPerLine;
4156 - frame2.mcusPerColumn = mcusPerColumn;
4157 - }
4158 - var jfif = null;
4159 - var adobe = null;
4160 - var pixels = null;
4161 - var frame, resetInterval;
4162 - var quantizationTables = [], frames = [];
4163 - var huffmanTablesAC = [], huffmanTablesDC = [];
4164 - var fileMarker = readUint16();
4165 - var malformedDataOffset = -1;
4166 - this.comments = [];
4167 - if (fileMarker != 65496) {
4168 - throw new Error("SOI not found");
4169 - }
4170 - fileMarker = readUint16();
4171 - while (fileMarker != 65497) {
4172 - var i, j, l;
4173 - switch (fileMarker) {
4174 - case 65280:
4175 - break;
4176 - case 65504:
4177 - // APP0 (Application Specific)
4178 - case 65505:
4179 - // APP1
4180 - case 65506:
4181 - // APP2
4182 - case 65507:
4183 - // APP3
4184 - case 65508:
4185 - // APP4
4186 - case 65509:
4187 - // APP5
4188 - case 65510:
4189 - // APP6
4190 - case 65511:
4191 - // APP7
4192 - case 65512:
4193 - // APP8
4194 - case 65513:
4195 - // APP9
4196 - case 65514:
4197 - // APP10
4198 - case 65515:
4199 - // APP11
4200 - case 65516:
4201 - // APP12
4202 - case 65517:
4203 - // APP13
4204 - case 65518:
4205 - // APP14
4206 - case 65519:
4207 - // APP15
4208 - case 65534:
4209 - var appData = readDataBlock();
4210 - if (fileMarker === 65534) {
4211 - var comment = String.fromCharCode.apply(null, appData);
4212 - this.comments.push(comment);
4213 - }
4214 - if (fileMarker === 65504) {
4215 - if (appData[0] === 74 && appData[1] === 70 && appData[2] === 73 && appData[3] === 70 && appData[4] === 0) {
4216 - jfif = {
4217 - version: { major: appData[5], minor: appData[6] },
4218 - densityUnits: appData[7],
4219 - xDensity: appData[8] << 8 | appData[9],
4220 - yDensity: appData[10] << 8 | appData[11],
4221 - thumbWidth: appData[12],
4222 - thumbHeight: appData[13],
4223 - thumbData: appData.subarray(14, 14 + 3 * appData[12] * appData[13])
4224 - };
4225 - }
4226 - }
4227 - if (fileMarker === 65505) {
4228 - if (appData[0] === 69 && appData[1] === 120 && appData[2] === 105 && appData[3] === 102 && appData[4] === 0) {
4229 - this.exifBuffer = appData.subarray(5, appData.length);
4230 - }
4231 - }
4232 - if (fileMarker === 65518) {
4233 - if (appData[0] === 65 && appData[1] === 100 && appData[2] === 111 && appData[3] === 98 && appData[4] === 101 && appData[5] === 0) {
4234 - adobe = {
4235 - version: appData[6],
4236 - flags0: appData[7] << 8 | appData[8],
4237 - flags1: appData[9] << 8 | appData[10],
4238 - transformCode: appData[11]
4239 - };
4240 - }
4241 - }
4242 - break;
4243 - case 65499:
4244 - var quantizationTablesLength = readUint16();
4245 - var quantizationTablesEnd = quantizationTablesLength + offset - 2;
4246 - while (offset < quantizationTablesEnd) {
4247 - var quantizationTableSpec = data[offset++];
4248 - requestMemoryAllocation(64 * 4);
4249 - var tableData = new Int32Array(64);
4250 - if (quantizationTableSpec >> 4 === 0) {
4251 - for (j = 0; j < 64; j++) {
4252 - var z2 = dctZigZag[j];
4253 - tableData[z2] = data[offset++];
4254 - }
4255 - } else if (quantizationTableSpec >> 4 === 1) {
4256 - for (j = 0; j < 64; j++) {
4257 - var z2 = dctZigZag[j];
4258 - tableData[z2] = readUint16();
4259 - }
4260 - } else
4261 - throw new Error("DQT: invalid table spec");
4262 - quantizationTables[quantizationTableSpec & 15] = tableData;
4263 - }
4264 - break;
4265 - case 65472:
4266 - // SOF0 (Start of Frame, Baseline DCT)
4267 - case 65473:
4268 - // SOF1 (Start of Frame, Extended DCT)
4269 - case 65474:
4270 - readUint16();
4271 - frame = {};
4272 - frame.extended = fileMarker === 65473;
4273 - frame.progressive = fileMarker === 65474;
4274 - frame.precision = data[offset++];
4275 - frame.scanLines = readUint16();
4276 - frame.samplesPerLine = readUint16();
4277 - frame.components = {};
4278 - frame.componentsOrder = [];
4279 - var pixelsInFrame = frame.scanLines * frame.samplesPerLine;
4280 - if (pixelsInFrame > maxResolutionInPixels) {
4281 - var exceededAmount = Math.ceil((pixelsInFrame - maxResolutionInPixels) / 1e6);
4282 - throw new Error(`maxResolutionInMP limit exceeded by ${exceededAmount}MP`);
4283 - }
4284 - var componentsCount = data[offset++], componentId;
4285 - var maxH = 0, maxV = 0;
4286 - for (i = 0; i < componentsCount; i++) {
4287 - componentId = data[offset];
4288 - var h = data[offset + 1] >> 4;
4289 - var v = data[offset + 1] & 15;
4290 - var qId = data[offset + 2];
4291 - if (h <= 0 || v <= 0) {
4292 - throw new Error("Invalid sampling factor, expected values above 0");
4293 - }
4294 - frame.componentsOrder.push(componentId);
4295 - frame.components[componentId] = {
4296 - h,
4297 - v,
4298 - quantizationIdx: qId
4299 - };
4300 - offset += 3;
4301 - }
4302 - prepareComponents(frame);
4303 - frames.push(frame);
4304 - break;
4305 - case 65476:
4306 - var huffmanLength = readUint16();
4307 - for (i = 2; i < huffmanLength; ) {
4308 - var huffmanTableSpec = data[offset++];
4309 - var codeLengths = new Uint8Array(16);
4310 - var codeLengthSum = 0;
4311 - for (j = 0; j < 16; j++, offset++) {
4312 - codeLengthSum += codeLengths[j] = data[offset];
4313 - }
4314 - requestMemoryAllocation(16 + codeLengthSum);
4315 - var huffmanValues = new Uint8Array(codeLengthSum);
4316 - for (j = 0; j < codeLengthSum; j++, offset++)
4317 - huffmanValues[j] = data[offset];
4318 - i += 17 + codeLengthSum;
4319 - (huffmanTableSpec >> 4 === 0 ? huffmanTablesDC : huffmanTablesAC)[huffmanTableSpec & 15] = buildHuffmanTable(codeLengths, huffmanValues);
4320 - }
4321 - break;
4322 - case 65501:
4323 - readUint16();
4324 - resetInterval = readUint16();
4325 - break;
4326 - case 65500:
4327 - readUint16();
4328 - readUint16();
4329 - break;
4330 - case 65498:
4331 - var scanLength = readUint16();
4332 - var selectorsCount = data[offset++];
4333 - var components = [], component;
4334 - for (i = 0; i < selectorsCount; i++) {
4335 - component = frame.components[data[offset++]];
4336 - var tableSpec = data[offset++];
4337 - component.huffmanTableDC = huffmanTablesDC[tableSpec >> 4];
4338 - component.huffmanTableAC = huffmanTablesAC[tableSpec & 15];
4339 - components.push(component);
4340 - }
4341 - var spectralStart = data[offset++];
4342 - var spectralEnd = data[offset++];
4343 - var successiveApproximation = data[offset++];
4344 - var processed = decodeScan(
4345 - data,
4346 - offset,
4347 - frame,
4348 - components,
4349 - resetInterval,
4350 - spectralStart,
4351 - spectralEnd,
4352 - successiveApproximation >> 4,
4353 - successiveApproximation & 15,
4354 - this.opts
4355 - );
4356 - offset += processed;
4357 - break;
4358 - case 65535:
4359 - if (data[offset] !== 255) {
4360 - offset--;
4361 - }
4362 - break;
4363 - default:
4364 - if (data[offset - 3] == 255 && data[offset - 2] >= 192 && data[offset - 2] <= 254) {
4365 - offset -= 3;
4366 - break;
4367 - } else if (fileMarker === 224 || fileMarker == 225) {
4368 - if (malformedDataOffset !== -1) {
4369 - throw new Error(`first unknown JPEG marker at offset ${malformedDataOffset.toString(16)}, second unknown JPEG marker ${fileMarker.toString(16)} at offset ${(offset - 1).toString(16)}`);
4370 - }
4371 - malformedDataOffset = offset - 1;
4372 - const nextOffset = readUint16();
4373 - if (data[offset + nextOffset - 2] === 255) {
4374 - offset += nextOffset - 2;
4375 - break;
4376 - }
4377 - }
4378 - throw new Error("unknown JPEG marker " + fileMarker.toString(16));
4379 - }
4380 - fileMarker = readUint16();
4381 - }
4382 - if (frames.length != 1)
4383 - throw new Error("only single frame JPEGs supported");
4384 - for (var i = 0; i < frames.length; i++) {
4385 - var cp = frames[i].components;
4386 - for (var j in cp) {
4387 - cp[j].quantizationTable = quantizationTables[cp[j].quantizationIdx];
4388 - delete cp[j].quantizationIdx;
4389 - }
4390 - }
4391 - this.width = frame.samplesPerLine;
4392 - this.height = frame.scanLines;
4393 - this.jfif = jfif;
4394 - this.adobe = adobe;
4395 - this.components = [];
4396 - for (var i = 0; i < frame.componentsOrder.length; i++) {
4397 - var component = frame.components[frame.componentsOrder[i]];
4398 - this.components.push({
4399 - lines: buildComponentData(frame, component),
4400 - scaleX: component.h / frame.maxH,
4401 - scaleY: component.v / frame.maxV
4402 - });
4403 - }
4404 - },
4405 - getData: function getData(width, height) {
4406 - var scaleX = this.width / width, scaleY = this.height / height;
4407 - var component1, component2, component3, component4;
4408 - var component1Line, component2Line, component3Line, component4Line;
4409 - var x, y;
4410 - var offset = 0;
4411 - var Y, Cb, Cr, K, C, M, Ye, R, G, B;
4412 - var colorTransform;
4413 - var dataLength = width * height * this.components.length;
4414 - requestMemoryAllocation(dataLength);
4415 - var data = new Uint8Array(dataLength);
4416 - switch (this.components.length) {
4417 - case 1:
4418 - component1 = this.components[0];
4419 - for (y = 0; y < height; y++) {
4420 - component1Line = component1.lines[0 | y * component1.scaleY * scaleY];
4421 - for (x = 0; x < width; x++) {
4422 - Y = component1Line[0 | x * component1.scaleX * scaleX];
4423 - data[offset++] = Y;
4424 - }
4425 - }
4426 - break;
4427 - case 2:
4428 - component1 = this.components[0];
4429 - component2 = this.components[1];
4430 - for (y = 0; y < height; y++) {
4431 - component1Line = component1.lines[0 | y * component1.scaleY * scaleY];
4432 - component2Line = component2.lines[0 | y * component2.scaleY * scaleY];
4433 - for (x = 0; x < width; x++) {
4434 - Y = component1Line[0 | x * component1.scaleX * scaleX];
4435 - data[offset++] = Y;
4436 - Y = component2Line[0 | x * component2.scaleX * scaleX];
4437 - data[offset++] = Y;
4438 - }
4439 - }
4440 - break;
4441 - case 3:
4442 - colorTransform = true;
4443 - if (this.adobe && this.adobe.transformCode)
4444 - colorTransform = true;
4445 - else if (typeof this.opts.colorTransform !== "undefined")
4446 - colorTransform = !!this.opts.colorTransform;
4447 - component1 = this.components[0];
4448 - component2 = this.components[1];
4449 - component3 = this.components[2];
4450 - for (y = 0; y < height; y++) {
4451 - component1Line = component1.lines[0 | y * component1.scaleY * scaleY];
4452 - component2Line = component2.lines[0 | y * component2.scaleY * scaleY];
4453 - component3Line = component3.lines[0 | y * component3.scaleY * scaleY];
4454 - for (x = 0; x < width; x++) {
4455 - if (!colorTransform) {
4456 - R = component1Line[0 | x * component1.scaleX * scaleX];
4457 - G = component2Line[0 | x * component2.scaleX * scaleX];
4458 - B = component3Line[0 | x * component3.scaleX * scaleX];
4459 - } else {
4460 - Y = component1Line[0 | x * component1.scaleX * scaleX];
4461 - Cb = component2Line[0 | x * component2.scaleX * scaleX];
4462 - Cr = component3Line[0 | x * component3.scaleX * scaleX];
4463 - R = clampTo8bit(Y + 1.402 * (Cr - 128));
4464 - G = clampTo8bit(Y - 0.3441363 * (Cb - 128) - 0.71413636 * (Cr - 128));
4465 - B = clampTo8bit(Y + 1.772 * (Cb - 128));
4466 - }
4467 - data[offset++] = R;
4468 - data[offset++] = G;
4469 - data[offset++] = B;
4470 - }
4471 - }
4472 - break;
4473 - case 4:
4474 - if (!this.adobe)
4475 - throw new Error("Unsupported color mode (4 components)");
4476 - colorTransform = false;
4477 - if (this.adobe && this.adobe.transformCode)
4478 - colorTransform = true;
4479 - else if (typeof this.opts.colorTransform !== "undefined")
4480 - colorTransform = !!this.opts.colorTransform;
4481 - component1 = this.components[0];
4482 - component2 = this.components[1];
4483 - component3 = this.components[2];
4484 - component4 = this.components[3];
4485 - for (y = 0; y < height; y++) {
4486 - component1Line = component1.lines[0 | y * component1.scaleY * scaleY];
4487 - component2Line = component2.lines[0 | y * component2.scaleY * scaleY];
4488 - component3Line = component3.lines[0 | y * component3.scaleY * scaleY];
4489 - component4Line = component4.lines[0 | y * component4.scaleY * scaleY];
4490 - for (x = 0; x < width; x++) {
4491 - if (!colorTransform) {
4492 - C = component1Line[0 | x * component1.scaleX * scaleX];
4493 - M = component2Line[0 | x * component2.scaleX * scaleX];
4494 - Ye = component3Line[0 | x * component3.scaleX * scaleX];
4495 - K = component4Line[0 | x * component4.scaleX * scaleX];
4496 - } else {
4497 - Y = component1Line[0 | x * component1.scaleX * scaleX];
4498 - Cb = component2Line[0 | x * component2.scaleX * scaleX];
4499 - Cr = component3Line[0 | x * component3.scaleX * scaleX];
4500 - K = component4Line[0 | x * component4.scaleX * scaleX];
4501 - C = 255 - clampTo8bit(Y + 1.402 * (Cr - 128));
4502 - M = 255 - clampTo8bit(Y - 0.3441363 * (Cb - 128) - 0.71413636 * (Cr - 128));
4503 - Ye = 255 - clampTo8bit(Y + 1.772 * (Cb - 128));
4504 - }
4505 - data[offset++] = 255 - C;
4506 - data[offset++] = 255 - M;
4507 - data[offset++] = 255 - Ye;
4508 - data[offset++] = 255 - K;
4509 - }
4510 - }
4511 - break;
4512 - default:
4513 - throw new Error("Unsupported color mode");
4514 - }
4515 - return data;
4516 - },
4517 - copyToImageData: function copyToImageData(imageData, formatAsRGBA) {
4518 - var width = imageData.width, height = imageData.height;
4519 - var imageDataArray = imageData.data;
4520 - var data = this.getData(width, height);
4521 - var i = 0, j = 0, x, y;
4522 - var Y, K, C, M, R, G, B;
4523 - switch (this.components.length) {
4524 - case 1:
4525 - for (y = 0; y < height; y++) {
4526 - for (x = 0; x < width; x++) {
4527 - Y = data[i++];
4528 - imageDataArray[j++] = Y;
4529 - imageDataArray[j++] = Y;
4530 - imageDataArray[j++] = Y;
4531 - if (formatAsRGBA) {
4532 - imageDataArray[j++] = 255;
4533 - }
4534 - }
4535 - }
4536 - break;
4537 - case 3:
4538 - for (y = 0; y < height; y++) {
4539 - for (x = 0; x < width; x++) {
4540 - R = data[i++];
4541 - G = data[i++];
4542 - B = data[i++];
4543 - imageDataArray[j++] = R;
4544 - imageDataArray[j++] = G;
4545 - imageDataArray[j++] = B;
4546 - if (formatAsRGBA) {
4547 - imageDataArray[j++] = 255;
4548 - }
4549 - }
4550 - }
4551 - break;
4552 - case 4:
4553 - for (y = 0; y < height; y++) {
4554 - for (x = 0; x < width; x++) {
4555 - C = data[i++];
4556 - M = data[i++];
4557 - Y = data[i++];
4558 - K = data[i++];
4559 - R = 255 - clampTo8bit(C * (1 - K / 255) + K);
4560 - G = 255 - clampTo8bit(M * (1 - K / 255) + K);
4561 - B = 255 - clampTo8bit(Y * (1 - K / 255) + K);
4562 - imageDataArray[j++] = R;
4563 - imageDataArray[j++] = G;
4564 - imageDataArray[j++] = B;
4565 - if (formatAsRGBA) {
4566 - imageDataArray[j++] = 255;
4567 - }
4568 - }
4569 - }
4570 - break;
4571 - default:
4572 - throw new Error("Unsupported color mode");
4573 - }
4574 - }
4575 - };
4576 - var totalBytesAllocated = 0;
4577 - var maxMemoryUsageBytes = 0;
4578 - function requestMemoryAllocation(increaseAmount = 0) {
4579 - var totalMemoryImpactBytes = totalBytesAllocated + increaseAmount;
4580 - if (totalMemoryImpactBytes > maxMemoryUsageBytes) {
4581 - var exceededAmount = Math.ceil((totalMemoryImpactBytes - maxMemoryUsageBytes) / 1024 / 1024);
4582 - throw new Error(`maxMemoryUsageInMB limit exceeded by at least ${exceededAmount}MB`);
4583 - }
4584 - totalBytesAllocated = totalMemoryImpactBytes;
4585 - }
4586 - constructor.resetMaxMemoryUsage = function(maxMemoryUsageBytes_) {
4587 - totalBytesAllocated = 0;
4588 - maxMemoryUsageBytes = maxMemoryUsageBytes_;
4589 - };
4590 - constructor.getBytesAllocated = function() {
4591 - return totalBytesAllocated;
4592 - };
4593 - constructor.requestMemoryAllocation = requestMemoryAllocation;
4594 - return constructor;
4595 - })();
4596 - if (typeof module2 !== "undefined") {
4597 - module2.exports = decode3;
4598 - } else if (typeof window !== "undefined") {
4599 - window["jpeg-js"] = window["jpeg-js"] || {};
4600 - window["jpeg-js"].decode = decode3;
4601 - }
4602 - function decode3(jpegData, userOpts = {}) {
4603 - var defaultOpts = {
4604 - // "undefined" means "Choose whether to transform colors based on the image’s color model."
4605 - colorTransform: void 0,
4606 - useTArray: false,
4607 - formatAsRGBA: true,
4608 - tolerantDecoding: true,
4609 - maxResolutionInMP: 100,
4610 - // Don't decode more than 100 megapixels
4611 - maxMemoryUsageInMB: 512
4612 - // Don't decode if memory footprint is more than 512MB
4613 - };
4614 - var opts = { ...defaultOpts, ...userOpts };
4615 - var arr = new Uint8Array(jpegData);
4616 - var decoder = new JpegImage();
4617 - decoder.opts = opts;
4618 - JpegImage.resetMaxMemoryUsage(opts.maxMemoryUsageInMB * 1024 * 1024);
4619 - decoder.parse(arr);
4620 - var channels = opts.formatAsRGBA ? 4 : 3;
4621 - var bytesNeeded = decoder.width * decoder.height * channels;
4622 - try {
4623 - JpegImage.requestMemoryAllocation(bytesNeeded);
4624 - var image = {
4625 - width: decoder.width,
4626 - height: decoder.height,
4627 - exifBuffer: decoder.exifBuffer,
4628 - data: opts.useTArray ? new Uint8Array(bytesNeeded) : Buffer.alloc(bytesNeeded)
4629 - };
4630 - if (decoder.comments.length > 0) {
4631 - image["comments"] = decoder.comments;
4632 - }
4633 - } catch (err) {
4634 - if (err instanceof RangeError) {
4635 - throw new Error("Could not allocate enough memory for the image. Required: " + bytesNeeded);
4636 - }
4637 - if (err instanceof ReferenceError) {
4638 - if (err.message === "Buffer is not defined") {
4639 - throw new Error("Buffer is not globally defined in this environment. Consider setting useTArray to true");
4640 - }
4641 - }
4642 - throw err;
4643 - }
4644 - decoder.copyToImageData(image, opts.formatAsRGBA);
4645 - return image;
4646 - }
4647 - }
4648 -});
4649 -
4650 -// node_modules/jpeg-js/index.js
4651 -var require_jpeg_js = __commonJS({
4652 - "node_modules/jpeg-js/index.js"(exports2, module2) {
4653 - var encode3 = require_encoder();
4654 - var decode3 = require_decoder();
4655 - module2.exports = {
4656 - encode: encode3,
4657 - decode: decode3
4658 - };
4659 - }
4660 -});
4661 -
4662 -// node_modules/mime/Mime.js
4663 -var require_Mime = __commonJS({
4664 - "node_modules/mime/Mime.js"(exports2, module2) {
4665 - "use strict";
4666 - function Mime() {
4667 - this._types = /* @__PURE__ */ Object.create(null);
4668 - this._extensions = /* @__PURE__ */ Object.create(null);
4669 - for (let i = 0; i < arguments.length; i++) {
4670 - this.define(arguments[i]);
4671 - }
4672 - this.define = this.define.bind(this);
4673 - this.getType = this.getType.bind(this);
4674 - this.getExtension = this.getExtension.bind(this);
4675 - }
4676 - Mime.prototype.define = function(typeMap, force) {
4677 - for (let type in typeMap) {
4678 - let extensions = typeMap[type].map(function(t) {
4679 - return t.toLowerCase();
4680 - });
4681 - type = type.toLowerCase();
4682 - for (let i = 0; i < extensions.length; i++) {
4683 - const ext = extensions[i];
4684 - if (ext[0] === "*") {
4685 - continue;
4686 - }
4687 - if (!force && ext in this._types) {
4688 - throw new Error(
4689 - 'Attempt to change mapping for "' + ext + '" extension from "' + this._types[ext] + '" to "' + type + '". Pass `force=true` to allow this, otherwise remove "' + ext + '" from the list of extensions for "' + type + '".'
4690 - );
4691 - }
4692 - this._types[ext] = type;
4693 - }
4694 - if (force || !this._extensions[type]) {
4695 - const ext = extensions[0];
4696 - this._extensions[type] = ext[0] !== "*" ? ext : ext.substr(1);
4697 - }
4698 - }
4699 - };
4700 - Mime.prototype.getType = function(path) {
4701 - path = String(path);
4702 - let last = path.replace(/^.*[/\\]/, "").toLowerCase();
4703 - let ext = last.replace(/^.*\./, "").toLowerCase();
4704 - let hasPath = last.length < path.length;
4705 - let hasDot = ext.length < last.length - 1;
4706 - return (hasDot || !hasPath) && this._types[ext] || null;
4707 - };
4708 - Mime.prototype.getExtension = function(type) {
4709 - type = /^\s*([^;\s]*)/.test(type) && RegExp.$1;
4710 - return type && this._extensions[type.toLowerCase()] || null;
4711 - };
4712 - module2.exports = Mime;
4713 - }
4714 -});
4715 -
4716 -// node_modules/mime/types/standard.js
4717 -var require_standard = __commonJS({
4718 - "node_modules/mime/types/standard.js"(exports2, module2) {
4719 - module2.exports = { "application/andrew-inset": ["ez"], "application/applixware": ["aw"], "application/atom+xml": ["atom"], "application/atomcat+xml": ["atomcat"], "application/atomdeleted+xml": ["atomdeleted"], "application/atomsvc+xml": ["atomsvc"], "application/atsc-dwd+xml": ["dwd"], "application/atsc-held+xml": ["held"], "application/atsc-rsat+xml": ["rsat"], "application/bdoc": ["bdoc"], "application/calendar+xml": ["xcs"], "application/ccxml+xml": ["ccxml"], "application/cdfx+xml": ["cdfx"], "application/cdmi-capability": ["cdmia"], "application/cdmi-container": ["cdmic"], "application/cdmi-domain": ["cdmid"], "application/cdmi-object": ["cdmio"], "application/cdmi-queue": ["cdmiq"], "application/cu-seeme": ["cu"], "application/dash+xml": ["mpd"], "application/davmount+xml": ["davmount"], "application/docbook+xml": ["dbk"], "application/dssc+der": ["dssc"], "application/dssc+xml": ["xdssc"], "application/ecmascript": ["es", "ecma"], "application/emma+xml": ["emma"], "application/emotionml+xml": ["emotionml"], "application/epub+zip": ["epub"], "application/exi": ["exi"], "application/express": ["exp"], "application/fdt+xml": ["fdt"], "application/font-tdpfr": ["pfr"], "application/geo+json": ["geojson"], "application/gml+xml": ["gml"], "application/gpx+xml": ["gpx"], "application/gxf": ["gxf"], "application/gzip": ["gz"], "application/hjson": ["hjson"], "application/hyperstudio": ["stk"], "application/inkml+xml": ["ink", "inkml"], "application/ipfix": ["ipfix"], "application/its+xml": ["its"], "application/java-archive": ["jar", "war", "ear"], "application/java-serialized-object": ["ser"], "application/java-vm": ["class"], "application/javascript": ["js", "mjs"], "application/json": ["json", "map"], "application/json5": ["json5"], "application/jsonml+json": ["jsonml"], "application/ld+json": ["jsonld"], "application/lgr+xml": ["lgr"], "application/lost+xml": ["lostxml"], "application/mac-binhex40": ["hqx"], "application/mac-compactpro": ["cpt"], "application/mads+xml": ["mads"], "application/manifest+json": ["webmanifest"], "application/marc": ["mrc"], "application/marcxml+xml": ["mrcx"], "application/mathematica": ["ma", "nb", "mb"], "application/mathml+xml": ["mathml"], "application/mbox": ["mbox"], "application/mediaservercontrol+xml": ["mscml"], "application/metalink+xml": ["metalink"], "application/metalink4+xml": ["meta4"], "application/mets+xml": ["mets"], "application/mmt-aei+xml": ["maei"], "application/mmt-usd+xml": ["musd"], "application/mods+xml": ["mods"], "application/mp21": ["m21", "mp21"], "application/mp4": ["mp4s", "m4p"], "application/msword": ["doc", "dot"], "application/mxf": ["mxf"], "application/n-quads": ["nq"], "application/n-triples": ["nt"], "application/node": ["cjs"], "application/octet-stream": ["bin", "dms", "lrf", "mar", "so", "dist", "distz", "pkg", "bpk", "dump", "elc", "deploy", "exe", "dll", "deb", "dmg", "iso", "img", "msi", "msp", "msm", "buffer"], "application/oda": ["oda"], "application/oebps-package+xml": ["opf"], "application/ogg": ["ogx"], "application/omdoc+xml": ["omdoc"], "application/onenote": ["onetoc", "onetoc2", "onetmp", "onepkg"], "application/oxps": ["oxps"], "application/p2p-overlay+xml": ["relo"], "application/patch-ops-error+xml": ["xer"], "application/pdf": ["pdf"], "application/pgp-encrypted": ["pgp"], "application/pgp-signature": ["asc", "sig"], "application/pics-rules": ["prf"], "application/pkcs10": ["p10"], "application/pkcs7-mime": ["p7m", "p7c"], "application/pkcs7-signature": ["p7s"], "application/pkcs8": ["p8"], "application/pkix-attr-cert": ["ac"], "application/pkix-cert": ["cer"], "application/pkix-crl": ["crl"], "application/pkix-pkipath": ["pkipath"], "application/pkixcmp": ["pki"], "application/pls+xml": ["pls"], "application/postscript": ["ai", "eps", "ps"], "application/provenance+xml": ["provx"], "application/pskc+xml": ["pskcxml"], "application/raml+yaml": ["raml"], "application/rdf+xml": ["rdf", "owl"], "application/reginfo+xml": ["rif"], "application/relax-ng-compact-syntax": ["rnc"], "application/resource-lists+xml": ["rl"], "application/resource-lists-diff+xml": ["rld"], "application/rls-services+xml": ["rs"], "application/route-apd+xml": ["rapd"], "application/route-s-tsid+xml": ["sls"], "application/route-usd+xml": ["rusd"], "application/rpki-ghostbusters": ["gbr"], "application/rpki-manifest": ["mft"], "application/rpki-roa": ["roa"], "application/rsd+xml": ["rsd"], "application/rss+xml": ["rss"], "application/rtf": ["rtf"], "application/sbml+xml": ["sbml"], "application/scvp-cv-request": ["scq"], "application/scvp-cv-response": ["scs"], "application/scvp-vp-request": ["spq"], "application/scvp-vp-response": ["spp"], "application/sdp": ["sdp"], "application/senml+xml": ["senmlx"], "application/sensml+xml": ["sensmlx"], "application/set-payment-initiation": ["setpay"], "application/set-registration-initiation": ["setreg"], "application/shf+xml": ["shf"], "application/sieve": ["siv", "sieve"], "application/smil+xml": ["smi", "smil"], "application/sparql-query": ["rq"], "application/sparql-results+xml": ["srx"], "application/srgs": ["gram"], "application/srgs+xml": ["grxml"], "application/sru+xml": ["sru"], "application/ssdl+xml": ["ssdl"], "application/ssml+xml": ["ssml"], "application/swid+xml": ["swidtag"], "application/tei+xml": ["tei", "teicorpus"], "application/thraud+xml": ["tfi"], "application/timestamped-data": ["tsd"], "application/toml": ["toml"], "application/trig": ["trig"], "application/ttml+xml": ["ttml"], "application/ubjson": ["ubj"], "application/urc-ressheet+xml": ["rsheet"], "application/urc-targetdesc+xml": ["td"], "application/voicexml+xml": ["vxml"], "application/wasm": ["wasm"], "application/widget": ["wgt"], "application/winhlp": ["hlp"], "application/wsdl+xml": ["wsdl"], "application/wspolicy+xml": ["wspolicy"], "application/xaml+xml": ["xaml"], "application/xcap-att+xml": ["xav"], "application/xcap-caps+xml": ["xca"], "application/xcap-diff+xml": ["xdf"], "application/xcap-el+xml": ["xel"], "application/xcap-ns+xml": ["xns"], "application/xenc+xml": ["xenc"], "application/xhtml+xml": ["xhtml", "xht"], "application/xliff+xml": ["xlf"], "application/xml": ["xml", "xsl", "xsd", "rng"], "application/xml-dtd": ["dtd"], "application/xop+xml": ["xop"], "application/xproc+xml": ["xpl"], "application/xslt+xml": ["*xsl", "xslt"], "application/xspf+xml": ["xspf"], "application/xv+xml": ["mxml", "xhvml", "xvml", "xvm"], "application/yang": ["yang"], "application/yin+xml": ["yin"], "application/zip": ["zip"], "audio/3gpp": ["*3gpp"], "audio/adpcm": ["adp"], "audio/amr": ["amr"], "audio/basic": ["au", "snd"], "audio/midi": ["mid", "midi", "kar", "rmi"], "audio/mobile-xmf": ["mxmf"], "audio/mp3": ["*mp3"], "audio/mp4": ["m4a", "mp4a"], "audio/mpeg": ["mpga", "mp2", "mp2a", "mp3", "m2a", "m3a"], "audio/ogg": ["oga", "ogg", "spx", "opus"], "audio/s3m": ["s3m"], "audio/silk": ["sil"], "audio/wav": ["wav"], "audio/wave": ["*wav"], "audio/webm": ["weba"], "audio/xm": ["xm"], "font/collection": ["ttc"], "font/otf": ["otf"], "font/ttf": ["ttf"], "font/woff": ["woff"], "font/woff2": ["woff2"], "image/aces": ["exr"], "image/apng": ["apng"], "image/avif": ["avif"], "image/bmp": ["bmp"], "image/cgm": ["cgm"], "image/dicom-rle": ["drle"], "image/emf": ["emf"], "image/fits": ["fits"], "image/g3fax": ["g3"], "image/gif": ["gif"], "image/heic": ["heic"], "image/heic-sequence": ["heics"], "image/heif": ["heif"], "image/heif-sequence": ["heifs"], "image/hej2k": ["hej2"], "image/hsj2": ["hsj2"], "image/ief": ["ief"], "image/jls": ["jls"], "image/jp2": ["jp2", "jpg2"], "image/jpeg": ["jpeg", "jpg", "jpe"], "image/jph": ["jph"], "image/jphc": ["jhc"], "image/jpm": ["jpm"], "image/jpx": ["jpx", "jpf"], "image/jxr": ["jxr"], "image/jxra": ["jxra"], "image/jxrs": ["jxrs"], "image/jxs": ["jxs"], "image/jxsc": ["jxsc"], "image/jxsi": ["jxsi"], "image/jxss": ["jxss"], "image/ktx": ["ktx"], "image/ktx2": ["ktx2"], "image/png": ["png"], "image/sgi": ["sgi"], "image/svg+xml": ["svg", "svgz"], "image/t38": ["t38"], "image/tiff": ["tif", "tiff"], "image/tiff-fx": ["tfx"], "image/webp": ["webp"], "image/wmf": ["wmf"], "message/disposition-notification": ["disposition-notification"], "message/global": ["u8msg"], "message/global-delivery-status": ["u8dsn"], "message/global-disposition-notification": ["u8mdn"], "message/global-headers": ["u8hdr"], "message/rfc822": ["eml", "mime"], "model/3mf": ["3mf"], "model/gltf+json": ["gltf"], "model/gltf-binary": ["glb"], "model/iges": ["igs", "iges"], "model/mesh": ["msh", "mesh", "silo"], "model/mtl": ["mtl"], "model/obj": ["obj"], "model/step+xml": ["stpx"], "model/step+zip": ["stpz"], "model/step-xml+zip": ["stpxz"], "model/stl": ["stl"], "model/vrml": ["wrl", "vrml"], "model/x3d+binary": ["*x3db", "x3dbz"], "model/x3d+fastinfoset": ["x3db"], "model/x3d+vrml": ["*x3dv", "x3dvz"], "model/x3d+xml": ["x3d", "x3dz"], "model/x3d-vrml": ["x3dv"], "text/cache-manifest": ["appcache", "manifest"], "text/calendar": ["ics", "ifb"], "text/coffeescript": ["coffee", "litcoffee"], "text/css": ["css"], "text/csv": ["csv"], "text/html": ["html", "htm", "shtml"], "text/jade": ["jade"], "text/jsx": ["jsx"], "text/less": ["less"], "text/markdown": ["markdown", "md"], "text/mathml": ["mml"], "text/mdx": ["mdx"], "text/n3": ["n3"], "text/plain": ["txt", "text", "conf", "def", "list", "log", "in", "ini"], "text/richtext": ["rtx"], "text/rtf": ["*rtf"], "text/sgml": ["sgml", "sgm"], "text/shex": ["shex"], "text/slim": ["slim", "slm"], "text/spdx": ["spdx"], "text/stylus": ["stylus", "styl"], "text/tab-separated-values": ["tsv"], "text/troff": ["t", "tr", "roff", "man", "me", "ms"], "text/turtle": ["ttl"], "text/uri-list": ["uri", "uris", "urls"], "text/vcard": ["vcard"], "text/vtt": ["vtt"], "text/xml": ["*xml"], "text/yaml": ["yaml", "yml"], "video/3gpp": ["3gp", "3gpp"], "video/3gpp2": ["3g2"], "video/h261": ["h261"], "video/h263": ["h263"], "video/h264": ["h264"], "video/iso.segment": ["m4s"], "video/jpeg": ["jpgv"], "video/jpm": ["*jpm", "jpgm"], "video/mj2": ["mj2", "mjp2"], "video/mp2t": ["ts"], "video/mp4": ["mp4", "mp4v", "mpg4"], "video/mpeg": ["mpeg", "mpg", "mpe", "m1v", "m2v"], "video/ogg": ["ogv"], "video/quicktime": ["qt", "mov"], "video/webm": ["webm"] };
4720 - }
4721 -});
4722 -
4723 -// node_modules/mime/types/other.js
4724 -var require_other = __commonJS({
4725 - "node_modules/mime/types/other.js"(exports2, module2) {
4726 - module2.exports = { "application/prs.cww": ["cww"], "application/vnd.1000minds.decision-model+xml": ["1km"], "application/vnd.3gpp.pic-bw-large": ["plb"], "application/vnd.3gpp.pic-bw-small": ["psb"], "application/vnd.3gpp.pic-bw-var": ["pvb"], "application/vnd.3gpp2.tcap": ["tcap"], "application/vnd.3m.post-it-notes": ["pwn"], "application/vnd.accpac.simply.aso": ["aso"], "application/vnd.accpac.simply.imp": ["imp"], "application/vnd.acucobol": ["acu"], "application/vnd.acucorp": ["atc", "acutc"], "application/vnd.adobe.air-application-installer-package+zip": ["air"], "application/vnd.adobe.formscentral.fcdt": ["fcdt"], "application/vnd.adobe.fxp": ["fxp", "fxpl"], "application/vnd.adobe.xdp+xml": ["xdp"], "application/vnd.adobe.xfdf": ["xfdf"], "application/vnd.ahead.space": ["ahead"], "application/vnd.airzip.filesecure.azf": ["azf"], "application/vnd.airzip.filesecure.azs": ["azs"], "application/vnd.amazon.ebook": ["azw"], "application/vnd.americandynamics.acc": ["acc"], "application/vnd.amiga.ami": ["ami"], "application/vnd.android.package-archive": ["apk"], "application/vnd.anser-web-certificate-issue-initiation": ["cii"], "application/vnd.anser-web-funds-transfer-initiation": ["fti"], "application/vnd.antix.game-component": ["atx"], "application/vnd.apple.installer+xml": ["mpkg"], "application/vnd.apple.keynote": ["key"], "application/vnd.apple.mpegurl": ["m3u8"], "application/vnd.apple.numbers": ["numbers"], "application/vnd.apple.pages": ["pages"], "application/vnd.apple.pkpass": ["pkpass"], "application/vnd.aristanetworks.swi": ["swi"], "application/vnd.astraea-software.iota": ["iota"], "application/vnd.audiograph": ["aep"], "application/vnd.balsamiq.bmml+xml": ["bmml"], "application/vnd.blueice.multipass": ["mpm"], "application/vnd.bmi": ["bmi"], "application/vnd.businessobjects": ["rep"], "application/vnd.chemdraw+xml": ["cdxml"], "application/vnd.chipnuts.karaoke-mmd": ["mmd"], "application/vnd.cinderella": ["cdy"], "application/vnd.citationstyles.style+xml": ["csl"], "application/vnd.claymore": ["cla"], "application/vnd.cloanto.rp9": ["rp9"], "application/vnd.clonk.c4group": ["c4g", "c4d", "c4f", "c4p", "c4u"], "application/vnd.cluetrust.cartomobile-config": ["c11amc"], "application/vnd.cluetrust.cartomobile-config-pkg": ["c11amz"], "application/vnd.commonspace": ["csp"], "application/vnd.contact.cmsg": ["cdbcmsg"], "application/vnd.cosmocaller": ["cmc"], "application/vnd.crick.clicker": ["clkx"], "application/vnd.crick.clicker.keyboard": ["clkk"], "application/vnd.crick.clicker.palette": ["clkp"], "application/vnd.crick.clicker.template": ["clkt"], "application/vnd.crick.clicker.wordbank": ["clkw"], "application/vnd.criticaltools.wbs+xml": ["wbs"], "application/vnd.ctc-posml": ["pml"], "application/vnd.cups-ppd": ["ppd"], "application/vnd.curl.car": ["car"], "application/vnd.curl.pcurl": ["pcurl"], "application/vnd.dart": ["dart"], "application/vnd.data-vision.rdz": ["rdz"], "application/vnd.dbf": ["dbf"], "application/vnd.dece.data": ["uvf", "uvvf", "uvd", "uvvd"], "application/vnd.dece.ttml+xml": ["uvt", "uvvt"], "application/vnd.dece.unspecified": ["uvx", "uvvx"], "application/vnd.dece.zip": ["uvz", "uvvz"], "application/vnd.denovo.fcselayout-link": ["fe_launch"], "application/vnd.dna": ["dna"], "application/vnd.dolby.mlp": ["mlp"], "application/vnd.dpgraph": ["dpg"], "application/vnd.dreamfactory": ["dfac"], "application/vnd.ds-keypoint": ["kpxx"], "application/vnd.dvb.ait": ["ait"], "application/vnd.dvb.service": ["svc"], "application/vnd.dynageo": ["geo"], "application/vnd.ecowin.chart": ["mag"], "application/vnd.enliven": ["nml"], "application/vnd.epson.esf": ["esf"], "application/vnd.epson.msf": ["msf"], "application/vnd.epson.quickanime": ["qam"], "application/vnd.epson.salt": ["slt"], "application/vnd.epson.ssf": ["ssf"], "application/vnd.eszigno3+xml": ["es3", "et3"], "application/vnd.ezpix-album": ["ez2"], "application/vnd.ezpix-package": ["ez3"], "application/vnd.fdf": ["fdf"], "application/vnd.fdsn.mseed": ["mseed"], "application/vnd.fdsn.seed": ["seed", "dataless"], "application/vnd.flographit": ["gph"], "application/vnd.fluxtime.clip": ["ftc"], "application/vnd.framemaker": ["fm", "frame", "maker", "book"], "application/vnd.frogans.fnc": ["fnc"], "application/vnd.frogans.ltf": ["ltf"], "application/vnd.fsc.weblaunch": ["fsc"], "application/vnd.fujitsu.oasys": ["oas"], "application/vnd.fujitsu.oasys2": ["oa2"], "application/vnd.fujitsu.oasys3": ["oa3"], "application/vnd.fujitsu.oasysgp": ["fg5"], "application/vnd.fujitsu.oasysprs": ["bh2"], "application/vnd.fujixerox.ddd": ["ddd"], "application/vnd.fujixerox.docuworks": ["xdw"], "application/vnd.fujixerox.docuworks.binder": ["xbd"], "application/vnd.fuzzysheet": ["fzs"], "application/vnd.genomatix.tuxedo": ["txd"], "application/vnd.geogebra.file": ["ggb"], "application/vnd.geogebra.tool": ["ggt"], "application/vnd.geometry-explorer": ["gex", "gre"], "application/vnd.geonext": ["gxt"], "application/vnd.geoplan": ["g2w"], "application/vnd.geospace": ["g3w"], "application/vnd.gmx": ["gmx"], "application/vnd.google-apps.document": ["gdoc"], "application/vnd.google-apps.presentation": ["gslides"], "application/vnd.google-apps.spreadsheet": ["gsheet"], "application/vnd.google-earth.kml+xml": ["kml"], "application/vnd.google-earth.kmz": ["kmz"], "application/vnd.grafeq": ["gqf", "gqs"], "application/vnd.groove-account": ["gac"], "application/vnd.groove-help": ["ghf"], "application/vnd.groove-identity-message": ["gim"], "application/vnd.groove-injector": ["grv"], "application/vnd.groove-tool-message": ["gtm"], "application/vnd.groove-tool-template": ["tpl"], "application/vnd.groove-vcard": ["vcg"], "application/vnd.hal+xml": ["hal"], "application/vnd.handheld-entertainment+xml": ["zmm"], "application/vnd.hbci": ["hbci"], "application/vnd.hhe.lesson-player": ["les"], "application/vnd.hp-hpgl": ["hpgl"], "application/vnd.hp-hpid": ["hpid"], "application/vnd.hp-hps": ["hps"], "application/vnd.hp-jlyt": ["jlt"], "application/vnd.hp-pcl": ["pcl"], "application/vnd.hp-pclxl": ["pclxl"], "application/vnd.hydrostatix.sof-data": ["sfd-hdstx"], "application/vnd.ibm.minipay": ["mpy"], "application/vnd.ibm.modcap": ["afp", "listafp", "list3820"], "application/vnd.ibm.rights-management": ["irm"], "application/vnd.ibm.secure-container": ["sc"], "application/vnd.iccprofile": ["icc", "icm"], "application/vnd.igloader": ["igl"], "application/vnd.immervision-ivp": ["ivp"], "application/vnd.immervision-ivu": ["ivu"], "application/vnd.insors.igm": ["igm"], "application/vnd.intercon.formnet": ["xpw", "xpx"], "application/vnd.intergeo": ["i2g"], "application/vnd.intu.qbo": ["qbo"], "application/vnd.intu.qfx": ["qfx"], "application/vnd.ipunplugged.rcprofile": ["rcprofile"], "application/vnd.irepository.package+xml": ["irp"], "application/vnd.is-xpr": ["xpr"], "application/vnd.isac.fcs": ["fcs"], "application/vnd.jam": ["jam"], "application/vnd.jcp.javame.midlet-rms": ["rms"], "application/vnd.jisp": ["jisp"], "application/vnd.joost.joda-archive": ["joda"], "application/vnd.kahootz": ["ktz", "ktr"], "application/vnd.kde.karbon": ["karbon"], "application/vnd.kde.kchart": ["chrt"], "application/vnd.kde.kformula": ["kfo"], "application/vnd.kde.kivio": ["flw"], "application/vnd.kde.kontour": ["kon"], "application/vnd.kde.kpresenter": ["kpr", "kpt"], "application/vnd.kde.kspread": ["ksp"], "application/vnd.kde.kword": ["kwd", "kwt"], "application/vnd.kenameaapp": ["htke"], "application/vnd.kidspiration": ["kia"], "application/vnd.kinar": ["kne", "knp"], "application/vnd.koan": ["skp", "skd", "skt", "skm"], "application/vnd.kodak-descriptor": ["sse"], "application/vnd.las.las+xml": ["lasxml"], "application/vnd.llamagraphics.life-balance.desktop": ["lbd"], "application/vnd.llamagraphics.life-balance.exchange+xml": ["lbe"], "application/vnd.lotus-1-2-3": ["123"], "application/vnd.lotus-approach": ["apr"], "application/vnd.lotus-freelance": ["pre"], "application/vnd.lotus-notes": ["nsf"], "application/vnd.lotus-organizer": ["org"], "application/vnd.lotus-screencam": ["scm"], "application/vnd.lotus-wordpro": ["lwp"], "application/vnd.macports.portpkg": ["portpkg"], "application/vnd.mapbox-vector-tile": ["mvt"], "application/vnd.mcd": ["mcd"], "application/vnd.medcalcdata": ["mc1"], "application/vnd.mediastation.cdkey": ["cdkey"], "application/vnd.mfer": ["mwf"], "application/vnd.mfmp": ["mfm"], "application/vnd.micrografx.flo": ["flo"], "application/vnd.micrografx.igx": ["igx"], "application/vnd.mif": ["mif"], "application/vnd.mobius.daf": ["daf"], "application/vnd.mobius.dis": ["dis"], "application/vnd.mobius.mbk": ["mbk"], "application/vnd.mobius.mqy": ["mqy"], "application/vnd.mobius.msl": ["msl"], "application/vnd.mobius.plc": ["plc"], "application/vnd.mobius.txf": ["txf"], "application/vnd.mophun.application": ["mpn"], "application/vnd.mophun.certificate": ["mpc"], "application/vnd.mozilla.xul+xml": ["xul"], "application/vnd.ms-artgalry": ["cil"], "application/vnd.ms-cab-compressed": ["cab"], "application/vnd.ms-excel": ["xls", "xlm", "xla", "xlc", "xlt", "xlw"], "application/vnd.ms-excel.addin.macroenabled.12": ["xlam"], "application/vnd.ms-excel.sheet.binary.macroenabled.12": ["xlsb"], "application/vnd.ms-excel.sheet.macroenabled.12": ["xlsm"], "application/vnd.ms-excel.template.macroenabled.12": ["xltm"], "application/vnd.ms-fontobject": ["eot"], "application/vnd.ms-htmlhelp": ["chm"], "application/vnd.ms-ims": ["ims"], "application/vnd.ms-lrm": ["lrm"], "application/vnd.ms-officetheme": ["thmx"], "application/vnd.ms-outlook": ["msg"], "application/vnd.ms-pki.seccat": ["cat"], "application/vnd.ms-pki.stl": ["*stl"], "application/vnd.ms-powerpoint": ["ppt", "pps", "pot"], "application/vnd.ms-powerpoint.addin.macroenabled.12": ["ppam"], "application/vnd.ms-powerpoint.presentation.macroenabled.12": ["pptm"], "application/vnd.ms-powerpoint.slide.macroenabled.12": ["sldm"], "application/vnd.ms-powerpoint.slideshow.macroenabled.12": ["ppsm"], "application/vnd.ms-powerpoint.template.macroenabled.12": ["potm"], "application/vnd.ms-project": ["mpp", "mpt"], "application/vnd.ms-word.document.macroenabled.12": ["docm"], "application/vnd.ms-word.template.macroenabled.12": ["dotm"], "application/vnd.ms-works": ["wps", "wks", "wcm", "wdb"], "application/vnd.ms-wpl": ["wpl"], "application/vnd.ms-xpsdocument": ["xps"], "application/vnd.mseq": ["mseq"], "application/vnd.musician": ["mus"], "application/vnd.muvee.style": ["msty"], "application/vnd.mynfc": ["taglet"], "application/vnd.neurolanguage.nlu": ["nlu"], "application/vnd.nitf": ["ntf", "nitf"], "application/vnd.noblenet-directory": ["nnd"], "application/vnd.noblenet-sealer": ["nns"], "application/vnd.noblenet-web": ["nnw"], "application/vnd.nokia.n-gage.ac+xml": ["*ac"], "application/vnd.nokia.n-gage.data": ["ngdat"], "application/vnd.nokia.n-gage.symbian.install": ["n-gage"], "application/vnd.nokia.radio-preset": ["rpst"], "application/vnd.nokia.radio-presets": ["rpss"], "application/vnd.novadigm.edm": ["edm"], "application/vnd.novadigm.edx": ["edx"], "application/vnd.novadigm.ext": ["ext"], "application/vnd.oasis.opendocument.chart": ["odc"], "application/vnd.oasis.opendocument.chart-template": ["otc"], "application/vnd.oasis.opendocument.database": ["odb"], "application/vnd.oasis.opendocument.formula": ["odf"], "application/vnd.oasis.opendocument.formula-template": ["odft"], "application/vnd.oasis.opendocument.graphics": ["odg"], "application/vnd.oasis.opendocument.graphics-template": ["otg"], "application/vnd.oasis.opendocument.image": ["odi"], "application/vnd.oasis.opendocument.image-template": ["oti"], "application/vnd.oasis.opendocument.presentation": ["odp"], "application/vnd.oasis.opendocument.presentation-template": ["otp"], "application/vnd.oasis.opendocument.spreadsheet": ["ods"], "application/vnd.oasis.opendocument.spreadsheet-template": ["ots"], "application/vnd.oasis.opendocument.text": ["odt"], "application/vnd.oasis.opendocument.text-master": ["odm"], "application/vnd.oasis.opendocument.text-template": ["ott"], "application/vnd.oasis.opendocument.text-web": ["oth"], "application/vnd.olpc-sugar": ["xo"], "application/vnd.oma.dd2+xml": ["dd2"], "application/vnd.openblox.game+xml": ["obgx"], "application/vnd.openofficeorg.extension": ["oxt"], "application/vnd.openstreetmap.data+xml": ["osm"], "application/vnd.openxmlformats-officedocument.presentationml.presentation": ["pptx"], "application/vnd.openxmlformats-officedocument.presentationml.slide": ["sldx"], "application/vnd.openxmlformats-officedocument.presentationml.slideshow": ["ppsx"], "application/vnd.openxmlformats-officedocument.presentationml.template": ["potx"], "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": ["xlsx"], "application/vnd.openxmlformats-officedocument.spreadsheetml.template": ["xltx"], "application/vnd.openxmlformats-officedocument.wordprocessingml.document": ["docx"], "application/vnd.openxmlformats-officedocument.wordprocessingml.template": ["dotx"], "application/vnd.osgeo.mapguide.package": ["mgp"], "application/vnd.osgi.dp": ["dp"], "application/vnd.osgi.subsystem": ["esa"], "application/vnd.palm": ["pdb", "pqa", "oprc"], "application/vnd.pawaafile": ["paw"], "application/vnd.pg.format": ["str"], "application/vnd.pg.osasli": ["ei6"], "application/vnd.picsel": ["efif"], "application/vnd.pmi.widget": ["wg"], "application/vnd.pocketlearn": ["plf"], "application/vnd.powerbuilder6": ["pbd"], "application/vnd.previewsystems.box": ["box"], "application/vnd.proteus.magazine": ["mgz"], "application/vnd.publishare-delta-tree": ["qps"], "application/vnd.pvi.ptid1": ["ptid"], "application/vnd.quark.quarkxpress": ["qxd", "qxt", "qwd", "qwt", "qxl", "qxb"], "application/vnd.rar": ["rar"], "application/vnd.realvnc.bed": ["bed"], "application/vnd.recordare.musicxml": ["mxl"], "application/vnd.recordare.musicxml+xml": ["musicxml"], "application/vnd.rig.cryptonote": ["cryptonote"], "application/vnd.rim.cod": ["cod"], "application/vnd.rn-realmedia": ["rm"], "application/vnd.rn-realmedia-vbr": ["rmvb"], "application/vnd.route66.link66+xml": ["link66"], "application/vnd.sailingtracker.track": ["st"], "application/vnd.seemail": ["see"], "application/vnd.sema": ["sema"], "application/vnd.semd": ["semd"], "application/vnd.semf": ["semf"], "application/vnd.shana.informed.formdata": ["ifm"], "application/vnd.shana.informed.formtemplate": ["itp"], "application/vnd.shana.informed.interchange": ["iif"], "application/vnd.shana.informed.package": ["ipk"], "application/vnd.simtech-mindmapper": ["twd", "twds"], "application/vnd.smaf": ["mmf"], "application/vnd.smart.teacher": ["teacher"], "application/vnd.software602.filler.form+xml": ["fo"], "application/vnd.solent.sdkm+xml": ["sdkm", "sdkd"], "application/vnd.spotfire.dxp": ["dxp"], "application/vnd.spotfire.sfs": ["sfs"], "application/vnd.stardivision.calc": ["sdc"], "application/vnd.stardivision.draw": ["sda"], "application/vnd.stardivision.impress": ["sdd"], "application/vnd.stardivision.math": ["smf"], "application/vnd.stardivision.writer": ["sdw", "vor"], "application/vnd.stardivision.writer-global": ["sgl"], "application/vnd.stepmania.package": ["smzip"], "application/vnd.stepmania.stepchart": ["sm"], "application/vnd.sun.wadl+xml": ["wadl"], "application/vnd.sun.xml.calc": ["sxc"], "application/vnd.sun.xml.calc.template": ["stc"], "application/vnd.sun.xml.draw": ["sxd"], "application/vnd.sun.xml.draw.template": ["std"], "application/vnd.sun.xml.impress": ["sxi"], "application/vnd.sun.xml.impress.template": ["sti"], "application/vnd.sun.xml.math": ["sxm"], "application/vnd.sun.xml.writer": ["sxw"], "application/vnd.sun.xml.writer.global": ["sxg"], "application/vnd.sun.xml.writer.template": ["stw"], "application/vnd.sus-calendar": ["sus", "susp"], "application/vnd.svd": ["svd"], "application/vnd.symbian.install": ["sis", "sisx"], "application/vnd.syncml+xml": ["xsm"], "application/vnd.syncml.dm+wbxml": ["bdm"], "application/vnd.syncml.dm+xml": ["xdm"], "application/vnd.syncml.dmddf+xml": ["ddf"], "application/vnd.tao.intent-module-archive": ["tao"], "application/vnd.tcpdump.pcap": ["pcap", "cap", "dmp"], "application/vnd.tmobile-livetv": ["tmo"], "application/vnd.trid.tpt": ["tpt"], "application/vnd.triscape.mxs": ["mxs"], "application/vnd.trueapp": ["tra"], "application/vnd.ufdl": ["ufd", "ufdl"], "application/vnd.uiq.theme": ["utz"], "application/vnd.umajin": ["umj"], "application/vnd.unity": ["unityweb"], "application/vnd.uoml+xml": ["uoml"], "application/vnd.vcx": ["vcx"], "application/vnd.visio": ["vsd", "vst", "vss", "vsw"], "application/vnd.visionary": ["vis"], "application/vnd.vsf": ["vsf"], "application/vnd.wap.wbxml": ["wbxml"], "application/vnd.wap.wmlc": ["wmlc"], "application/vnd.wap.wmlscriptc": ["wmlsc"], "application/vnd.webturbo": ["wtb"], "application/vnd.wolfram.player": ["nbp"], "application/vnd.wordperfect": ["wpd"], "application/vnd.wqd": ["wqd"], "application/vnd.wt.stf": ["stf"], "application/vnd.xara": ["xar"], "application/vnd.xfdl": ["xfdl"], "application/vnd.yamaha.hv-dic": ["hvd"], "application/vnd.yamaha.hv-script": ["hvs"], "application/vnd.yamaha.hv-voice": ["hvp"], "application/vnd.yamaha.openscoreformat": ["osf"], "application/vnd.yamaha.openscoreformat.osfpvg+xml": ["osfpvg"], "application/vnd.yamaha.smaf-audio": ["saf"], "application/vnd.yamaha.smaf-phrase": ["spf"], "application/vnd.yellowriver-custom-menu": ["cmp"], "application/vnd.zul": ["zir", "zirz"], "application/vnd.zzazz.deck+xml": ["zaz"], "application/x-7z-compressed": ["7z"], "application/x-abiword": ["abw"], "application/x-ace-compressed": ["ace"], "application/x-apple-diskimage": ["*dmg"], "application/x-arj": ["arj"], "application/x-authorware-bin": ["aab", "x32", "u32", "vox"], "application/x-authorware-map": ["aam"], "application/x-authorware-seg": ["aas"], "application/x-bcpio": ["bcpio"], "application/x-bdoc": ["*bdoc"], "application/x-bittorrent": ["torrent"], "application/x-blorb": ["blb", "blorb"], "application/x-bzip": ["bz"], "application/x-bzip2": ["bz2", "boz"], "application/x-cbr": ["cbr", "cba", "cbt", "cbz", "cb7"], "application/x-cdlink": ["vcd"], "application/x-cfs-compressed": ["cfs"], "application/x-chat": ["chat"], "application/x-chess-pgn": ["pgn"], "application/x-chrome-extension": ["crx"], "application/x-cocoa": ["cco"], "application/x-conference": ["nsc"], "application/x-cpio": ["cpio"], "application/x-csh": ["csh"], "application/x-debian-package": ["*deb", "udeb"], "application/x-dgc-compressed": ["dgc"], "application/x-director": ["dir", "dcr", "dxr", "cst", "cct", "cxt", "w3d", "fgd", "swa"], "application/x-doom": ["wad"], "application/x-dtbncx+xml": ["ncx"], "application/x-dtbook+xml": ["dtb"], "application/x-dtbresource+xml": ["res"], "application/x-dvi": ["dvi"], "application/x-envoy": ["evy"], "application/x-eva": ["eva"], "application/x-font-bdf": ["bdf"], "application/x-font-ghostscript": ["gsf"], "application/x-font-linux-psf": ["psf"], "application/x-font-pcf": ["pcf"], "application/x-font-snf": ["snf"], "application/x-font-type1": ["pfa", "pfb", "pfm", "afm"], "application/x-freearc": ["arc"], "application/x-futuresplash": ["spl"], "application/x-gca-compressed": ["gca"], "application/x-glulx": ["ulx"], "application/x-gnumeric": ["gnumeric"], "application/x-gramps-xml": ["gramps"], "application/x-gtar": ["gtar"], "application/x-hdf": ["hdf"], "application/x-httpd-php": ["php"], "application/x-install-instructions": ["install"], "application/x-iso9660-image": ["*iso"], "application/x-iwork-keynote-sffkey": ["*key"], "application/x-iwork-numbers-sffnumbers": ["*numbers"], "application/x-iwork-pages-sffpages": ["*pages"], "application/x-java-archive-diff": ["jardiff"], "application/x-java-jnlp-file": ["jnlp"], "application/x-keepass2": ["kdbx"], "application/x-latex": ["latex"], "application/x-lua-bytecode": ["luac"], "application/x-lzh-compressed": ["lzh", "lha"], "application/x-makeself": ["run"], "application/x-mie": ["mie"], "application/x-mobipocket-ebook": ["prc", "mobi"], "application/x-ms-application": ["application"], "application/x-ms-shortcut": ["lnk"], "application/x-ms-wmd": ["wmd"], "application/x-ms-wmz": ["wmz"], "application/x-ms-xbap": ["xbap"], "application/x-msaccess": ["mdb"], "application/x-msbinder": ["obd"], "application/x-mscardfile": ["crd"], "application/x-msclip": ["clp"], "application/x-msdos-program": ["*exe"], "application/x-msdownload": ["*exe", "*dll", "com", "bat", "*msi"], "application/x-msmediaview": ["mvb", "m13", "m14"], "application/x-msmetafile": ["*wmf", "*wmz", "*emf", "emz"], "application/x-msmoney": ["mny"], "application/x-mspublisher": ["pub"], "application/x-msschedule": ["scd"], "application/x-msterminal": ["trm"], "application/x-mswrite": ["wri"], "application/x-netcdf": ["nc", "cdf"], "application/x-ns-proxy-autoconfig": ["pac"], "application/x-nzb": ["nzb"], "application/x-perl": ["pl", "pm"], "application/x-pilot": ["*prc", "*pdb"], "application/x-pkcs12": ["p12", "pfx"], "application/x-pkcs7-certificates": ["p7b", "spc"], "application/x-pkcs7-certreqresp": ["p7r"], "application/x-rar-compressed": ["*rar"], "application/x-redhat-package-manager": ["rpm"], "application/x-research-info-systems": ["ris"], "application/x-sea": ["sea"], "application/x-sh": ["sh"], "application/x-shar": ["shar"], "application/x-shockwave-flash": ["swf"], "application/x-silverlight-app": ["xap"], "application/x-sql": ["sql"], "application/x-stuffit": ["sit"], "application/x-stuffitx": ["sitx"], "application/x-subrip": ["srt"], "application/x-sv4cpio": ["sv4cpio"], "application/x-sv4crc": ["sv4crc"], "application/x-t3vm-image": ["t3"], "application/x-tads": ["gam"], "application/x-tar": ["tar"], "application/x-tcl": ["tcl", "tk"], "application/x-tex": ["tex"], "application/x-tex-tfm": ["tfm"], "application/x-texinfo": ["texinfo", "texi"], "application/x-tgif": ["*obj"], "application/x-ustar": ["ustar"], "application/x-virtualbox-hdd": ["hdd"], "application/x-virtualbox-ova": ["ova"], "application/x-virtualbox-ovf": ["ovf"], "application/x-virtualbox-vbox": ["vbox"], "application/x-virtualbox-vbox-extpack": ["vbox-extpack"], "application/x-virtualbox-vdi": ["vdi"], "application/x-virtualbox-vhd": ["vhd"], "application/x-virtualbox-vmdk": ["vmdk"], "application/x-wais-source": ["src"], "application/x-web-app-manifest+json": ["webapp"], "application/x-x509-ca-cert": ["der", "crt", "pem"], "application/x-xfig": ["fig"], "application/x-xliff+xml": ["*xlf"], "application/x-xpinstall": ["xpi"], "application/x-xz": ["xz"], "application/x-zmachine": ["z1", "z2", "z3", "z4", "z5", "z6", "z7", "z8"], "audio/vnd.dece.audio": ["uva", "uvva"], "audio/vnd.digital-winds": ["eol"], "audio/vnd.dra": ["dra"], "audio/vnd.dts": ["dts"], "audio/vnd.dts.hd": ["dtshd"], "audio/vnd.lucent.voice": ["lvp"], "audio/vnd.ms-playready.media.pya": ["pya"], "audio/vnd.nuera.ecelp4800": ["ecelp4800"], "audio/vnd.nuera.ecelp7470": ["ecelp7470"], "audio/vnd.nuera.ecelp9600": ["ecelp9600"], "audio/vnd.rip": ["rip"], "audio/x-aac": ["aac"], "audio/x-aiff": ["aif", "aiff", "aifc"], "audio/x-caf": ["caf"], "audio/x-flac": ["flac"], "audio/x-m4a": ["*m4a"], "audio/x-matroska": ["mka"], "audio/x-mpegurl": ["m3u"], "audio/x-ms-wax": ["wax"], "audio/x-ms-wma": ["wma"], "audio/x-pn-realaudio": ["ram", "ra"], "audio/x-pn-realaudio-plugin": ["rmp"], "audio/x-realaudio": ["*ra"], "audio/x-wav": ["*wav"], "chemical/x-cdx": ["cdx"], "chemical/x-cif": ["cif"], "chemical/x-cmdf": ["cmdf"], "chemical/x-cml": ["cml"], "chemical/x-csml": ["csml"], "chemical/x-xyz": ["xyz"], "image/prs.btif": ["btif"], "image/prs.pti": ["pti"], "image/vnd.adobe.photoshop": ["psd"], "image/vnd.airzip.accelerator.azv": ["azv"], "image/vnd.dece.graphic": ["uvi", "uvvi", "uvg", "uvvg"], "image/vnd.djvu": ["djvu", "djv"], "image/vnd.dvb.subtitle": ["*sub"], "image/vnd.dwg": ["dwg"], "image/vnd.dxf": ["dxf"], "image/vnd.fastbidsheet": ["fbs"], "image/vnd.fpx": ["fpx"], "image/vnd.fst": ["fst"], "image/vnd.fujixerox.edmics-mmr": ["mmr"], "image/vnd.fujixerox.edmics-rlc": ["rlc"], "image/vnd.microsoft.icon": ["ico"], "image/vnd.ms-dds": ["dds"], "image/vnd.ms-modi": ["mdi"], "image/vnd.ms-photo": ["wdp"], "image/vnd.net-fpx": ["npx"], "image/vnd.pco.b16": ["b16"], "image/vnd.tencent.tap": ["tap"], "image/vnd.valve.source.texture": ["vtf"], "image/vnd.wap.wbmp": ["wbmp"], "image/vnd.xiff": ["xif"], "image/vnd.zbrush.pcx": ["pcx"], "image/x-3ds": ["3ds"], "image/x-cmu-raster": ["ras"], "image/x-cmx": ["cmx"], "image/x-freehand": ["fh", "fhc", "fh4", "fh5", "fh7"], "image/x-icon": ["*ico"], "image/x-jng": ["jng"], "image/x-mrsid-image": ["sid"], "image/x-ms-bmp": ["*bmp"], "image/x-pcx": ["*pcx"], "image/x-pict": ["pic", "pct"], "image/x-portable-anymap": ["pnm"], "image/x-portable-bitmap": ["pbm"], "image/x-portable-graymap": ["pgm"], "image/x-portable-pixmap": ["ppm"], "image/x-rgb": ["rgb"], "image/x-tga": ["tga"], "image/x-xbitmap": ["xbm"], "image/x-xpixmap": ["xpm"], "image/x-xwindowdump": ["xwd"], "message/vnd.wfa.wsc": ["wsc"], "model/vnd.collada+xml": ["dae"], "model/vnd.dwf": ["dwf"], "model/vnd.gdl": ["gdl"], "model/vnd.gtw": ["gtw"], "model/vnd.mts": ["mts"], "model/vnd.opengex": ["ogex"], "model/vnd.parasolid.transmit.binary": ["x_b"], "model/vnd.parasolid.transmit.text": ["x_t"], "model/vnd.sap.vds": ["vds"], "model/vnd.usdz+zip": ["usdz"], "model/vnd.valve.source.compiled-map": ["bsp"], "model/vnd.vtu": ["vtu"], "text/prs.lines.tag": ["dsc"], "text/vnd.curl": ["curl"], "text/vnd.curl.dcurl": ["dcurl"], "text/vnd.curl.mcurl": ["mcurl"], "text/vnd.curl.scurl": ["scurl"], "text/vnd.dvb.subtitle": ["sub"], "text/vnd.fly": ["fly"], "text/vnd.fmi.flexstor": ["flx"], "text/vnd.graphviz": ["gv"], "text/vnd.in3d.3dml": ["3dml"], "text/vnd.in3d.spot": ["spot"], "text/vnd.sun.j2me.app-descriptor": ["jad"], "text/vnd.wap.wml": ["wml"], "text/vnd.wap.wmlscript": ["wmls"], "text/x-asm": ["s", "asm"], "text/x-c": ["c", "cc", "cxx", "cpp", "h", "hh", "dic"], "text/x-component": ["htc"], "text/x-fortran": ["f", "for", "f77", "f90"], "text/x-handlebars-template": ["hbs"], "text/x-java-source": ["java"], "text/x-lua": ["lua"], "text/x-markdown": ["mkd"], "text/x-nfo": ["nfo"], "text/x-opml": ["opml"], "text/x-org": ["*org"], "text/x-pascal": ["p", "pas"], "text/x-processing": ["pde"], "text/x-sass": ["sass"], "text/x-scss": ["scss"], "text/x-setext": ["etx"], "text/x-sfv": ["sfv"], "text/x-suse-ymp": ["ymp"], "text/x-uuencode": ["uu"], "text/x-vcalendar": ["vcs"], "text/x-vcard": ["vcf"], "video/vnd.dece.hd": ["uvh", "uvvh"], "video/vnd.dece.mobile": ["uvm", "uvvm"], "video/vnd.dece.pd": ["uvp", "uvvp"], "video/vnd.dece.sd": ["uvs", "uvvs"], "video/vnd.dece.video": ["uvv", "uvvv"], "video/vnd.dvb.file": ["dvb"], "video/vnd.fvt": ["fvt"], "video/vnd.mpegurl": ["mxu", "m4u"], "video/vnd.ms-playready.media.pyv": ["pyv"], "video/vnd.uvvu.mp4": ["uvu", "uvvu"], "video/vnd.vivo": ["viv"], "video/x-f4v": ["f4v"], "video/x-fli": ["fli"], "video/x-flv": ["flv"], "video/x-m4v": ["m4v"], "video/x-matroska": ["mkv", "mk3d", "mks"], "video/x-mng": ["mng"], "video/x-ms-asf": ["asf", "asx"], "video/x-ms-vob": ["vob"], "video/x-ms-wm": ["wm"], "video/x-ms-wmv": ["wmv"], "video/x-ms-wmx": ["wmx"], "video/x-ms-wvx": ["wvx"], "video/x-msvideo": ["avi"], "video/x-sgi-movie": ["movie"], "video/x-smv": ["smv"], "x-conference/x-cooltalk": ["ice"] };
4727 - }
4728 -});
4729 -
4730 -// node_modules/mime/index.js
4731 -var require_mime = __commonJS({
4732 - "node_modules/mime/index.js"(exports2, module2) {
4733 - "use strict";
4734 - var Mime = require_Mime();
4735 - module2.exports = new Mime(require_standard(), require_other());
4736 - }
4737 -});
4738 -
4739 -// node_modules/concat-map/index.js
4740 -var require_concat_map = __commonJS({
4741 - "node_modules/concat-map/index.js"(exports2, module2) {
4742 - module2.exports = function(xs, fn) {
4743 - var res = [];
4744 - for (var i = 0; i < xs.length; i++) {
4745 - var x = fn(xs[i], i);
4746 - if (isArray(x)) res.push.apply(res, x);
4747 - else res.push(x);
4748 - }
4749 - return res;
4750 - };
4751 - var isArray = Array.isArray || function(xs) {
4752 - return Object.prototype.toString.call(xs) === "[object Array]";
4753 - };
4754 - }
4755 -});
4756 -
4757 -// node_modules/balanced-match/index.js
4758 -var require_balanced_match = __commonJS({
4759 - "node_modules/balanced-match/index.js"(exports2, module2) {
4760 - "use strict";
4761 - module2.exports = balanced;
4762 - function balanced(a, b, str) {
4763 - if (a instanceof RegExp) a = maybeMatch(a, str);
4764 - if (b instanceof RegExp) b = maybeMatch(b, str);
4765 - var r = range(a, b, str);
4766 - return r && {
4767 - start: r[0],
4768 - end: r[1],
4769 - pre: str.slice(0, r[0]),
4770 - body: str.slice(r[0] + a.length, r[1]),
4771 - post: str.slice(r[1] + b.length)
4772 - };
4773 - }
4774 - function maybeMatch(reg, str) {
4775 - var m = str.match(reg);
4776 - return m ? m[0] : null;
4777 - }
4778 - balanced.range = range;
4779 - function range(a, b, str) {
4780 - var begs, beg, left, right, result;
4781 - var ai = str.indexOf(a);
4782 - var bi = str.indexOf(b, ai + 1);
4783 - var i = ai;
4784 - if (ai >= 0 && bi > 0) {
4785 - if (a === b) {
4786 - return [ai, bi];
4787 - }
4788 - begs = [];
4789 - left = str.length;
4790 - while (i >= 0 && !result) {
4791 - if (i == ai) {
4792 - begs.push(i);
4793 - ai = str.indexOf(a, i + 1);
4794 - } else if (begs.length == 1) {
4795 - result = [begs.pop(), bi];
4796 - } else {
4797 - beg = begs.pop();
4798 - if (beg < left) {
4799 - left = beg;
4800 - right = bi;
4801 - }
4802 - bi = str.indexOf(b, i + 1);
4803 - }
4804 - i = ai < bi && ai >= 0 ? ai : bi;
4805 - }
4806 - if (begs.length) {
4807 - result = [left, right];
4808 - }
4809 - }
4810 - return result;
4811 - }
4812 - }
4813 -});
4814 -
4815 -// node_modules/brace-expansion/index.js
4816 -var require_brace_expansion = __commonJS({
4817 - "node_modules/brace-expansion/index.js"(exports2, module2) {
4818 - var concatMap = require_concat_map();
4819 - var balanced = require_balanced_match();
4820 - module2.exports = expandTop;
4821 - var escSlash = "\0SLASH" + Math.random() + "\0";
4822 - var escOpen = "\0OPEN" + Math.random() + "\0";
4823 - var escClose = "\0CLOSE" + Math.random() + "\0";
4824 - var escComma = "\0COMMA" + Math.random() + "\0";
4825 - var escPeriod = "\0PERIOD" + Math.random() + "\0";
4826 - function numeric(str) {
4827 - return parseInt(str, 10) == str ? parseInt(str, 10) : str.charCodeAt(0);
4828 - }
4829 - function escapeBraces(str) {
4830 - return str.split("\\\\").join(escSlash).split("\\{").join(escOpen).split("\\}").join(escClose).split("\\,").join(escComma).split("\\.").join(escPeriod);
4831 - }
4832 - function unescapeBraces(str) {
4833 - return str.split(escSlash).join("\\").split(escOpen).join("{").split(escClose).join("}").split(escComma).join(",").split(escPeriod).join(".");
4834 - }
4835 - function parseCommaParts(str) {
4836 - if (!str)
4837 - return [""];
4838 - var parts = [];
4839 - var m = balanced("{", "}", str);
4840 - if (!m)
4841 - return str.split(",");
4842 - var pre = m.pre;
4843 - var body = m.body;
4844 - var post = m.post;
4845 - var p = pre.split(",");
4846 - p[p.length - 1] += "{" + body + "}";
4847 - var postParts = parseCommaParts(post);
4848 - if (post.length) {
4849 - p[p.length - 1] += postParts.shift();
4850 - p.push.apply(p, postParts);
4851 - }
4852 - parts.push.apply(parts, p);
4853 - return parts;
4854 - }
4855 - function expandTop(str) {
4856 - if (!str)
4857 - return [];
4858 - if (str.substr(0, 2) === "{}") {
4859 - str = "\\{\\}" + str.substr(2);
4860 - }
4861 - return expand(escapeBraces(str), true).map(unescapeBraces);
4862 - }
4863 - function embrace(str) {
4864 - return "{" + str + "}";
4865 - }
4866 - function isPadded(el) {
4867 - return /^-?0\d/.test(el);
4868 - }
4869 - function lte(i, y) {
4870 - return i <= y;
4871 - }
4872 - function gte(i, y) {
4873 - return i >= y;
4874 - }
4875 - function expand(str, isTop) {
4876 - var expansions = [];
4877 - var m = balanced("{", "}", str);
4878 - if (!m || /\$$/.test(m.pre)) return [str];
4879 - var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
4880 - var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
4881 - var isSequence = isNumericSequence || isAlphaSequence;
4882 - var isOptions = m.body.indexOf(",") >= 0;
4883 - if (!isSequence && !isOptions) {
4884 - if (m.post.match(/,(?!,).*\}/)) {
4885 - str = m.pre + "{" + m.body + escClose + m.post;
4886 - return expand(str);
4887 - }
4888 - return [str];
4889 - }
4890 - var n;
4891 - if (isSequence) {
4892 - n = m.body.split(/\.\./);
4893 - } else {
4894 - n = parseCommaParts(m.body);
4895 - if (n.length === 1) {
4896 - n = expand(n[0], false).map(embrace);
4897 - if (n.length === 1) {
4898 - var post = m.post.length ? expand(m.post, false) : [""];
4899 - return post.map(function(p) {
4900 - return m.pre + n[0] + p;
4901 - });
4902 - }
4903 - }
4904 - }
4905 - var pre = m.pre;
4906 - var post = m.post.length ? expand(m.post, false) : [""];
4907 - var N;
4908 - if (isSequence) {
4909 - var x = numeric(n[0]);
4910 - var y = numeric(n[1]);
4911 - var width = Math.max(n[0].length, n[1].length);
4912 - var incr = n.length == 3 ? Math.abs(numeric(n[2])) : 1;
4913 - var test = lte;
4914 - var reverse = y < x;
4915 - if (reverse) {
4916 - incr *= -1;
4917 - test = gte;
4918 - }
4919 - var pad = n.some(isPadded);
4920 - N = [];
4921 - for (var i = x; test(i, y); i += incr) {
4922 - var c;
4923 - if (isAlphaSequence) {
4924 - c = String.fromCharCode(i);
4925 - if (c === "\\")
4926 - c = "";
4927 - } else {
4928 - c = String(i);
4929 - if (pad) {
4930 - var need = width - c.length;
4931 - if (need > 0) {
4932 - var z2 = new Array(need + 1).join("0");
4933 - if (i < 0)
4934 - c = "-" + z2 + c.slice(1);
4935 - else
4936 - c = z2 + c;
4937 - }
4938 - }
4939 - }
4940 - N.push(c);
4941 - }
4942 - } else {
4943 - N = concatMap(n, function(el) {
4944 - return expand(el, false);
4945 - });
4946 - }
4947 - for (var j = 0; j < N.length; j++) {
4948 - for (var k = 0; k < post.length; k++) {
4949 - var expansion = pre + N[j] + post[k];
4950 - if (!isTop || isSequence || expansion)
4951 - expansions.push(expansion);
4952 - }
4953 - }
4954 - return expansions;
4955 - }
4956 - }
4957 -});
4958 -
4959 -// node_modules/minimatch/minimatch.js
4960 -var require_minimatch = __commonJS({
4961 - "node_modules/minimatch/minimatch.js"(exports2, module2) {
4962 - module2.exports = minimatch2;
4963 - minimatch2.Minimatch = Minimatch;
4964 - var path = (function() {
4965 - try {
4966 - return require("path");
4967 - } catch (e) {
4968 - }
4969 - })() || {
4970 - sep: "/"
4971 - };
4972 - minimatch2.sep = path.sep;
4973 - var GLOBSTAR = minimatch2.GLOBSTAR = Minimatch.GLOBSTAR = {};
4974 - var expand = require_brace_expansion();
4975 - var plTypes = {
4976 - "!": { open: "(?:(?!(?:", close: "))[^/]*?)" },
4977 - "?": { open: "(?:", close: ")?" },
4978 - "+": { open: "(?:", close: ")+" },
4979 - "*": { open: "(?:", close: ")*" },
4980 - "@": { open: "(?:", close: ")" }
4981 - };
4982 - var qmark = "[^/]";
4983 - var star = qmark + "*?";
4984 - var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
4985 - var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
4986 - var reSpecials = charSet("().*{}+?[]^$\\!");
4987 - function charSet(s) {
4988 - return s.split("").reduce(function(set2, c) {
4989 - set2[c] = true;
4990 - return set2;
4991 - }, {});
4992 - }
4993 - var slashSplit = /\/+/;
4994 - minimatch2.filter = filter;
4995 - function filter(pattern, options) {
4996 - options = options || {};
4997 - return function(p, i, list) {
4998 - return minimatch2(p, pattern, options);
4999 - };

This file is too large to show in full.

node_modules/playwright-core/lib/utilsBundle.js.LICENSE deleted
-2002
@@ -1,2002 +0,0 @@
1 -packages/playwright-core/lib/utilsBundle.js
2 -
3 -THIRD-PARTY SOFTWARE NOTICES AND INFORMATION
4 -
5 -The following npm packages are inlined into this bundle.
6 -
7 -- @hono/node-server@1.19.11 (https://github.com/honojs/node-server)
8 -- @modelcontextprotocol/sdk@1.29.0 (https://github.com/modelcontextprotocol/typescript-sdk)
9 -- agent-base@7.1.4 (https://github.com/TooTallNate/proxy-agents)
10 -- ajv-formats@3.0.1 (https://github.com/ajv-validator/ajv-formats)
11 -- ajv@8.18.0 (https://github.com/ajv-validator/ajv)
12 -- ansi-colors@4.1.3 (https://github.com/doowb/ansi-colors)
13 -- anymatch@3.1.3 (https://github.com/micromatch/anymatch)
14 -- balanced-match@1.0.2 (https://github.com/juliangruber/balanced-match)
15 -- binary-extensions@2.3.0 (https://github.com/sindresorhus/binary-extensions)
16 -- brace-expansion@1.1.12 (https://github.com/juliangruber/brace-expansion)
17 -- braces@3.0.3 (https://github.com/micromatch/braces)
18 -- buffer-crc32@0.2.13 (https://github.com/brianloveswords/buffer-crc32)
19 -- buffer-from@1.1.2 (https://github.com/LinusU/buffer-from)
20 -- bytes@3.1.2 (https://github.com/visionmedia/bytes.js)
21 -- chokidar@3.6.0 (https://github.com/paulmillr/chokidar)
22 -- colors@1.4.0 (https://github.com/Marak/colors.js)
23 -- commander@13.1.0 (https://github.com/tj/commander.js)
24 -- concat-map@0.0.1 (https://github.com/substack/node-concat-map)
25 -- content-type@1.0.5 (https://github.com/jshttp/content-type)
26 -- cross-spawn@7.0.6 (https://github.com/moxystudio/node-cross-spawn)
27 -- debug@4.4.3 (https://github.com/debug-js/debug)
28 -- define-lazy-prop@2.0.0 (https://github.com/sindresorhus/define-lazy-prop)
29 -- diff@8.0.4 (https://github.com/kpdecker/jsdiff)
30 -- dotenv@16.6.1 (https://github.com/motdotla/dotenv)
31 -- end-of-stream@1.4.5 (https://github.com/mafintosh/end-of-stream)
32 -- enquirer@2.3.6 (https://github.com/enquirer/enquirer)
33 -- eventsource-parser@3.0.6 (https://github.com/rexxars/eventsource-parser)
34 -- eventsource@3.0.7 (git://git@github.com/EventSource/eventsource)
35 -- fast-deep-equal@3.1.3 (https://github.com/epoberezkin/fast-deep-equal)
36 -- fast-uri@3.1.0 (https://github.com/fastify/fast-uri)
37 -- fill-range@7.1.1 (https://github.com/jonschlinkert/fill-range)
38 -- get-east-asian-width@1.3.0 (https://github.com/sindresorhus/get-east-asian-width)
39 -- get-stream@5.2.0 (https://github.com/sindresorhus/get-stream)
40 -- glob-parent@5.1.2 (https://github.com/gulpjs/glob-parent)
41 -- graceful-fs@4.2.10 (https://github.com/isaacs/node-graceful-fs)
42 -- has-flag@4.0.0 (https://github.com/sindresorhus/has-flag)
43 -- https-proxy-agent@7.0.6 (https://github.com/TooTallNate/proxy-agents)
44 -- ini@6.0.0 (https://github.com/npm/ini)
45 -- ip-address@10.2.0 (https://github.com/beaugunderson/ip-address)
46 -- is-binary-path@2.1.0 (https://github.com/sindresorhus/is-binary-path)
47 -- is-docker@2.2.1 (https://github.com/sindresorhus/is-docker)
48 -- is-extglob@2.1.1 (https://github.com/jonschlinkert/is-extglob)
49 -- is-glob@4.0.3 (https://github.com/micromatch/is-glob)
50 -- is-number@7.0.0 (https://github.com/jonschlinkert/is-number)
51 -- is-wsl@2.2.0 (https://github.com/sindresorhus/is-wsl)
52 -- isexe@2.0.0 (https://github.com/isaacs/isexe)
53 -- jpeg-js@0.4.4 (https://github.com/eugeneware/jpeg-js)
54 -- json-schema-traverse@1.0.0 (https://github.com/epoberezkin/json-schema-traverse)
55 -- json5@2.2.3 (https://github.com/json5/json5)
56 -- mime@3.0.0 (https://github.com/broofa/mime)
57 -- minimatch@3.1.5 (https://github.com/isaacs/minimatch)
58 -- ms@2.1.3 (https://github.com/vercel/ms)
59 -- normalize-path@3.0.0 (https://github.com/jonschlinkert/normalize-path)
60 -- once@1.4.0 (https://github.com/isaacs/once)
61 -- open@8.4.0 (https://github.com/sindresorhus/open)
62 -- path-key@3.1.1 (https://github.com/sindresorhus/path-key)
63 -- picomatch@2.3.2 (https://github.com/micromatch/picomatch)
64 -- pkce-challenge@5.0.0 (https://github.com/crouchcd/pkce-challenge)
65 -- pngjs@6.0.0 (https://github.com/lukeapage/pngjs)
66 -- progress@2.0.3 (https://github.com/visionmedia/node-progress)
67 -- proxy-from-env@2.0.0 (https://github.com/Rob--W/proxy-from-env)
68 -- pump@3.0.3 (https://github.com/mafintosh/pump)
69 -- readdirp@3.6.0 (https://github.com/paulmillr/readdirp)
70 -- retry@0.12.0 (https://github.com/tim-kos/node-retry)
71 -- shebang-command@2.0.0 (https://github.com/kevva/shebang-command)
72 -- shebang-regex@3.0.0 (https://github.com/sindresorhus/shebang-regex)
73 -- signal-exit@3.0.7 (https://github.com/tapjs/signal-exit)
74 -- smart-buffer@4.2.0 (https://github.com/JoshGlazebrook/smart-buffer)
75 -- socks-proxy-agent@8.0.5 (https://github.com/TooTallNate/proxy-agents)
76 -- socks@2.8.7 (https://github.com/JoshGlazebrook/socks)
77 -- source-map-support@0.5.21 (https://github.com/evanw/node-source-map-support)
78 -- source-map@0.6.1 (https://github.com/mozilla/source-map)
79 -- supports-color@8.1.1 (https://github.com/chalk/supports-color)
80 -- to-regex-range@5.0.1 (https://github.com/micromatch/to-regex-range)
81 -- which@2.0.2 (https://github.com/isaacs/node-which)
82 -- wrappy@1.0.2 (https://github.com/npm/wrappy)
83 -- ws@8.17.1 (https://github.com/websockets/ws)
84 -- yaml@2.8.3 (https://github.com/eemeli/yaml)
85 -- yazl@2.5.1 (https://github.com/thejoshwolfe/yazl)
86 -- zod-to-json-schema@3.25.1 (https://github.com/StefanTerdell/zod-to-json-schema)
87 -- zod@4.3.6 (https://github.com/colinhacks/zod)
88 -
89 -%% @hono/node-server@1.19.11 NOTICES AND INFORMATION BEGIN HERE
90 -=========================================
91 -MIT License
92 -
93 -Copyright (c) 2022 - present, Yusuke Wada and Hono contributors
94 -
95 -Permission is hereby granted, free of charge, to any person obtaining a copy
96 -of this software and associated documentation files (the "Software"), to deal
97 -in the Software without restriction, including without limitation the rights
98 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
99 -copies of the Software, and to permit persons to whom the Software is
100 -furnished to do so, subject to the following conditions:
101 -
102 -The above copyright notice and this permission notice shall be included in all
103 -copies or substantial portions of the Software.
104 -
105 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
106 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
107 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
108 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
109 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
110 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
111 -SOFTWARE.
112 -=========================================
113 -END OF @hono/node-server@1.19.11 NOTICES AND INFORMATION
114 -
115 -%% @modelcontextprotocol/sdk@1.29.0 NOTICES AND INFORMATION BEGIN HERE
116 -=========================================
117 -MIT License
118 -
119 -Copyright (c) 2024 Anthropic, PBC
120 -
121 -Permission is hereby granted, free of charge, to any person obtaining a copy
122 -of this software and associated documentation files (the "Software"), to deal
123 -in the Software without restriction, including without limitation the rights
124 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
125 -copies of the Software, and to permit persons to whom the Software is
126 -furnished to do so, subject to the following conditions:
127 -
128 -The above copyright notice and this permission notice shall be included in all
129 -copies or substantial portions of the Software.
130 -
131 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
132 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
133 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
134 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
135 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
136 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
137 -SOFTWARE.
138 -=========================================
139 -END OF @modelcontextprotocol/sdk@1.29.0 NOTICES AND INFORMATION
140 -
141 -%% agent-base@7.1.4 NOTICES AND INFORMATION BEGIN HERE
142 -=========================================
143 -(The MIT License)
144 -
145 -Copyright (c) 2013 Nathan Rajlich <nathan@tootallnate.net>
146 -
147 -Permission is hereby granted, free of charge, to any person obtaining
148 -a copy of this software and associated documentation files (the
149 -'Software'), to deal in the Software without restriction, including
150 -without limitation the rights to use, copy, modify, merge, publish,
151 -distribute, sublicense, and/or sell copies of the Software, and to
152 -permit persons to whom the Software is furnished to do so, subject to
153 -the following conditions:
154 -
155 -The above copyright notice and this permission notice shall be
156 -included in all copies or substantial portions of the Software.
157 -
158 -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
159 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
160 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
161 -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
162 -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
163 -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
164 -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
165 -=========================================
166 -END OF agent-base@7.1.4 NOTICES AND INFORMATION
167 -
168 -%% ajv-formats@3.0.1 NOTICES AND INFORMATION BEGIN HERE
169 -=========================================
170 -MIT License
171 -
172 -Copyright (c) 2020 Evgeny Poberezkin
173 -
174 -Permission is hereby granted, free of charge, to any person obtaining a copy
175 -of this software and associated documentation files (the "Software"), to deal
176 -in the Software without restriction, including without limitation the rights
177 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
178 -copies of the Software, and to permit persons to whom the Software is
179 -furnished to do so, subject to the following conditions:
180 -
181 -The above copyright notice and this permission notice shall be included in all
182 -copies or substantial portions of the Software.
183 -
184 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
185 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
186 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
187 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
188 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
189 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
190 -SOFTWARE.
191 -=========================================
192 -END OF ajv-formats@3.0.1 NOTICES AND INFORMATION
193 -
194 -%% ajv@8.18.0 NOTICES AND INFORMATION BEGIN HERE
195 -=========================================
196 -The MIT License (MIT)
197 -
198 -Copyright (c) 2015-2021 Evgeny Poberezkin
199 -
200 -Permission is hereby granted, free of charge, to any person obtaining a copy
201 -of this software and associated documentation files (the "Software"), to deal
202 -in the Software without restriction, including without limitation the rights
203 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
204 -copies of the Software, and to permit persons to whom the Software is
205 -furnished to do so, subject to the following conditions:
206 -
207 -The above copyright notice and this permission notice shall be included in all
208 -copies or substantial portions of the Software.
209 -
210 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
211 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
212 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
213 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
214 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
215 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
216 -SOFTWARE.
217 -=========================================
218 -END OF ajv@8.18.0 NOTICES AND INFORMATION
219 -
220 -%% ansi-colors@4.1.3 NOTICES AND INFORMATION BEGIN HERE
221 -=========================================
222 -The MIT License (MIT)
223 -
224 -Copyright (c) 2015-present, Brian Woodward.
225 -
226 -Permission is hereby granted, free of charge, to any person obtaining a copy
227 -of this software and associated documentation files (the "Software"), to deal
228 -in the Software without restriction, including without limitation the rights
229 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
230 -copies of the Software, and to permit persons to whom the Software is
231 -furnished to do so, subject to the following conditions:
232 -
233 -The above copyright notice and this permission notice shall be included in
234 -all copies or substantial portions of the Software.
235 -
236 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
237 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
238 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
239 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
240 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
241 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
242 -THE SOFTWARE.
243 -=========================================
244 -END OF ansi-colors@4.1.3 NOTICES AND INFORMATION
245 -
246 -%% anymatch@3.1.3 NOTICES AND INFORMATION BEGIN HERE
247 -=========================================
248 -The ISC License
249 -
250 -Copyright (c) 2019 Elan Shanker, Paul Miller (https://paulmillr.com)
251 -
252 -Permission to use, copy, modify, and/or distribute this software for any
253 -purpose with or without fee is hereby granted, provided that the above
254 -copyright notice and this permission notice appear in all copies.
255 -
256 -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
257 -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
258 -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
259 -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
260 -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
261 -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
262 -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
263 -=========================================
264 -END OF anymatch@3.1.3 NOTICES AND INFORMATION
265 -
266 -%% balanced-match@1.0.2 NOTICES AND INFORMATION BEGIN HERE
267 -=========================================
268 -(MIT)
269 -
270 -Copyright (c) 2013 Julian Gruber &lt;julian@juliangruber.com&gt;
271 -
272 -Permission is hereby granted, free of charge, to any person obtaining a copy of
273 -this software and associated documentation files (the "Software"), to deal in
274 -the Software without restriction, including without limitation the rights to
275 -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
276 -of the Software, and to permit persons to whom the Software is furnished to do
277 -so, subject to the following conditions:
278 -
279 -The above copyright notice and this permission notice shall be included in all
280 -copies or substantial portions of the Software.
281 -
282 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
283 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
284 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
285 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
286 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
287 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
288 -SOFTWARE.
289 -=========================================
290 -END OF balanced-match@1.0.2 NOTICES AND INFORMATION
291 -
292 -%% binary-extensions@2.3.0 NOTICES AND INFORMATION BEGIN HERE
293 -=========================================
294 -MIT License
295 -
296 -Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
297 -Copyright (c) Paul Miller (https://paulmillr.com)
298 -
299 -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
300 -
301 -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
302 -
303 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
304 -=========================================
305 -END OF binary-extensions@2.3.0 NOTICES AND INFORMATION
306 -
307 -%% brace-expansion@1.1.12 NOTICES AND INFORMATION BEGIN HERE
308 -=========================================
309 -MIT License
310 -
311 -Copyright (c) 2013 Julian Gruber <julian@juliangruber.com>
312 -
313 -Permission is hereby granted, free of charge, to any person obtaining a copy
314 -of this software and associated documentation files (the "Software"), to deal
315 -in the Software without restriction, including without limitation the rights
316 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
317 -copies of the Software, and to permit persons to whom the Software is
318 -furnished to do so, subject to the following conditions:
319 -
320 -The above copyright notice and this permission notice shall be included in all
321 -copies or substantial portions of the Software.
322 -
323 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
324 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
325 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
326 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
327 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
328 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
329 -SOFTWARE.
330 -=========================================
331 -END OF brace-expansion@1.1.12 NOTICES AND INFORMATION
332 -
333 -%% braces@3.0.3 NOTICES AND INFORMATION BEGIN HERE
334 -=========================================
335 -The MIT License (MIT)
336 -
337 -Copyright (c) 2014-present, Jon Schlinkert.
338 -
339 -Permission is hereby granted, free of charge, to any person obtaining a copy
340 -of this software and associated documentation files (the "Software"), to deal
341 -in the Software without restriction, including without limitation the rights
342 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
343 -copies of the Software, and to permit persons to whom the Software is
344 -furnished to do so, subject to the following conditions:
345 -
346 -The above copyright notice and this permission notice shall be included in
347 -all copies or substantial portions of the Software.
348 -
349 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
350 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
351 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
352 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
353 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
354 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
355 -THE SOFTWARE.
356 -=========================================
357 -END OF braces@3.0.3 NOTICES AND INFORMATION
358 -
359 -%% buffer-crc32@0.2.13 NOTICES AND INFORMATION BEGIN HERE
360 -=========================================
361 -The MIT License
362 -
363 -Copyright (c) 2013 Brian J. Brennan
364 -
365 -Permission is hereby granted, free of charge, to any person obtaining a copy
366 -of this software and associated documentation files (the "Software"), to deal in
367 -the Software without restriction, including without limitation the rights to use,
368 -copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the
369 -Software, and to permit persons to whom the Software is furnished to do so,
370 -subject to the following conditions:
371 -
372 -The above copyright notice and this permission notice shall be included in all
373 -copies or substantial portions of the Software.
374 -
375 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
376 -INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
377 -PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
378 -FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
379 -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
380 -=========================================
381 -END OF buffer-crc32@0.2.13 NOTICES AND INFORMATION
382 -
383 -%% buffer-from@1.1.2 NOTICES AND INFORMATION BEGIN HERE
384 -=========================================
385 -MIT License
386 -
387 -Copyright (c) 2016, 2018 Linus Unnebäck
388 -
389 -Permission is hereby granted, free of charge, to any person obtaining a copy
390 -of this software and associated documentation files (the "Software"), to deal
391 -in the Software without restriction, including without limitation the rights
392 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
393 -copies of the Software, and to permit persons to whom the Software is
394 -furnished to do so, subject to the following conditions:
395 -
396 -The above copyright notice and this permission notice shall be included in all
397 -copies or substantial portions of the Software.
398 -
399 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
400 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
401 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
402 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
403 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
404 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
405 -SOFTWARE.
406 -=========================================
407 -END OF buffer-from@1.1.2 NOTICES AND INFORMATION
408 -
409 -%% bytes@3.1.2 NOTICES AND INFORMATION BEGIN HERE
410 -=========================================
411 -(The MIT License)
412 -
413 -Copyright (c) 2012-2014 TJ Holowaychuk <tj@vision-media.ca>
414 -Copyright (c) 2015 Jed Watson <jed.watson@me.com>
415 -
416 -Permission is hereby granted, free of charge, to any person obtaining
417 -a copy of this software and associated documentation files (the
418 -'Software'), to deal in the Software without restriction, including
419 -without limitation the rights to use, copy, modify, merge, publish,
420 -distribute, sublicense, and/or sell copies of the Software, and to
421 -permit persons to whom the Software is furnished to do so, subject to
422 -the following conditions:
423 -
424 -The above copyright notice and this permission notice shall be
425 -included in all copies or substantial portions of the Software.
426 -
427 -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
428 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
429 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
430 -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
431 -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
432 -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
433 -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
434 -=========================================
435 -END OF bytes@3.1.2 NOTICES AND INFORMATION
436 -
437 -%% chokidar@3.6.0 NOTICES AND INFORMATION BEGIN HERE
438 -=========================================
439 -The MIT License (MIT)
440 -
441 -Copyright (c) 2012-2019 Paul Miller (https://paulmillr.com), Elan Shanker
442 -
443 -Permission is hereby granted, free of charge, to any person obtaining a copy
444 -of this software and associated documentation files (the “Software”), to deal
445 -in the Software without restriction, including without limitation the rights
446 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
447 -copies of the Software, and to permit persons to whom the Software is
448 -furnished to do so, subject to the following conditions:
449 -
450 -The above copyright notice and this permission notice shall be included in
451 -all copies or substantial portions of the Software.
452 -
453 -THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
454 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
455 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
456 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
457 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
458 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
459 -THE SOFTWARE.
460 -=========================================
461 -END OF chokidar@3.6.0 NOTICES AND INFORMATION
462 -
463 -%% colors@1.4.0 NOTICES AND INFORMATION BEGIN HERE
464 -=========================================
465 -MIT License
466 -
467 -Original Library
468 - - Copyright (c) Marak Squires
469 -
470 -Additional Functionality
471 - - Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
472 -
473 -Permission is hereby granted, free of charge, to any person obtaining a copy
474 -of this software and associated documentation files (the "Software"), to deal
475 -in the Software without restriction, including without limitation the rights
476 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
477 -copies of the Software, and to permit persons to whom the Software is
478 -furnished to do so, subject to the following conditions:
479 -
480 -The above copyright notice and this permission notice shall be included in
481 -all copies or substantial portions of the Software.
482 -
483 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
484 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
485 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
486 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
487 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
488 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
489 -THE SOFTWARE.
490 -=========================================
491 -END OF colors@1.4.0 NOTICES AND INFORMATION
492 -
493 -%% commander@13.1.0 NOTICES AND INFORMATION BEGIN HERE
494 -=========================================
495 -(The MIT License)
496 -
497 -Copyright (c) 2011 TJ Holowaychuk <tj@vision-media.ca>
498 -
499 -Permission is hereby granted, free of charge, to any person obtaining
500 -a copy of this software and associated documentation files (the
501 -'Software'), to deal in the Software without restriction, including
502 -without limitation the rights to use, copy, modify, merge, publish,
503 -distribute, sublicense, and/or sell copies of the Software, and to
504 -permit persons to whom the Software is furnished to do so, subject to
505 -the following conditions:
506 -
507 -The above copyright notice and this permission notice shall be
508 -included in all copies or substantial portions of the Software.
509 -
510 -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
511 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
512 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
513 -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
514 -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
515 -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
516 -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
517 -=========================================
518 -END OF commander@13.1.0 NOTICES AND INFORMATION
519 -
520 -%% concat-map@0.0.1 NOTICES AND INFORMATION BEGIN HERE
521 -=========================================
522 -This software is released under the MIT license:
523 -
524 -Permission is hereby granted, free of charge, to any person obtaining a copy of
525 -this software and associated documentation files (the "Software"), to deal in
526 -the Software without restriction, including without limitation the rights to
527 -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
528 -the Software, and to permit persons to whom the Software is furnished to do so,
529 -subject to the following conditions:
530 -
531 -The above copyright notice and this permission notice shall be included in all
532 -copies or substantial portions of the Software.
533 -
534 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
535 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
536 -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
537 -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
538 -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
539 -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
540 -=========================================
541 -END OF concat-map@0.0.1 NOTICES AND INFORMATION
542 -
543 -%% content-type@1.0.5 NOTICES AND INFORMATION BEGIN HERE
544 -=========================================
545 -(The MIT License)
546 -
547 -Copyright (c) 2015 Douglas Christopher Wilson
548 -
549 -Permission is hereby granted, free of charge, to any person obtaining
550 -a copy of this software and associated documentation files (the
551 -'Software'), to deal in the Software without restriction, including
552 -without limitation the rights to use, copy, modify, merge, publish,
553 -distribute, sublicense, and/or sell copies of the Software, and to
554 -permit persons to whom the Software is furnished to do so, subject to
555 -the following conditions:
556 -
557 -The above copyright notice and this permission notice shall be
558 -included in all copies or substantial portions of the Software.
559 -
560 -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
561 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
562 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
563 -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
564 -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
565 -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
566 -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
567 -=========================================
568 -END OF content-type@1.0.5 NOTICES AND INFORMATION
569 -
570 -%% cross-spawn@7.0.6 NOTICES AND INFORMATION BEGIN HERE
571 -=========================================
572 -The MIT License (MIT)
573 -
574 -Copyright (c) 2018 Made With MOXY Lda <hello@moxy.studio>
575 -
576 -Permission is hereby granted, free of charge, to any person obtaining a copy
577 -of this software and associated documentation files (the "Software"), to deal
578 -in the Software without restriction, including without limitation the rights
579 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
580 -copies of the Software, and to permit persons to whom the Software is
581 -furnished to do so, subject to the following conditions:
582 -
583 -The above copyright notice and this permission notice shall be included in
584 -all copies or substantial portions of the Software.
585 -
586 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
587 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
588 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
589 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
590 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
591 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
592 -THE SOFTWARE.
593 -=========================================
594 -END OF cross-spawn@7.0.6 NOTICES AND INFORMATION
595 -
596 -%% debug@4.4.3 NOTICES AND INFORMATION BEGIN HERE
597 -=========================================
598 -(The MIT License)
599 -
600 -Copyright (c) 2014-2017 TJ Holowaychuk <tj@vision-media.ca>
601 -Copyright (c) 2018-2021 Josh Junon
602 -
603 -Permission is hereby granted, free of charge, to any person obtaining a copy of this software
604 -and associated documentation files (the 'Software'), to deal in the Software without restriction,
605 -including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
606 -and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
607 -subject to the following conditions:
608 -
609 -The above copyright notice and this permission notice shall be included in all copies or substantial
610 -portions of the Software.
611 -
612 -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
613 -LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
614 -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
615 -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
616 -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
617 -=========================================
618 -END OF debug@4.4.3 NOTICES AND INFORMATION
619 -
620 -%% define-lazy-prop@2.0.0 NOTICES AND INFORMATION BEGIN HERE
621 -=========================================
622 -MIT License
623 -
624 -Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
625 -
626 -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
627 -
628 -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
629 -
630 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
631 -=========================================
632 -END OF define-lazy-prop@2.0.0 NOTICES AND INFORMATION
633 -
634 -%% diff@8.0.4 NOTICES AND INFORMATION BEGIN HERE
635 -=========================================
636 -BSD 3-Clause License
637 -
638 -Copyright (c) 2009-2015, Kevin Decker <kpdecker@gmail.com>
639 -All rights reserved.
640 -
641 -Redistribution and use in source and binary forms, with or without
642 -modification, are permitted provided that the following conditions are met:
643 -
644 -1. Redistributions of source code must retain the above copyright notice, this
645 - list of conditions and the following disclaimer.
646 -
647 -2. Redistributions in binary form must reproduce the above copyright notice,
648 - this list of conditions and the following disclaimer in the documentation
649 - and/or other materials provided with the distribution.
650 -
651 -3. Neither the name of the copyright holder nor the names of its
652 - contributors may be used to endorse or promote products derived from
653 - this software without specific prior written permission.
654 -
655 -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
656 -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
657 -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
658 -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
659 -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
660 -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
661 -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
662 -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
663 -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
664 -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
665 -=========================================
666 -END OF diff@8.0.4 NOTICES AND INFORMATION
667 -
668 -%% dotenv@16.6.1 NOTICES AND INFORMATION BEGIN HERE
669 -=========================================
670 -Copyright (c) 2015, Scott Motte
671 -All rights reserved.
672 -
673 -Redistribution and use in source and binary forms, with or without
674 -modification, are permitted provided that the following conditions are met:
675 -
676 -* Redistributions of source code must retain the above copyright notice, this
677 - list of conditions and the following disclaimer.
678 -
679 -* Redistributions in binary form must reproduce the above copyright notice,
680 - this list of conditions and the following disclaimer in the documentation
681 - and/or other materials provided with the distribution.
682 -
683 -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
684 -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
685 -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
686 -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
687 -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
688 -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
689 -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
690 -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
691 -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
692 -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
693 -=========================================
694 -END OF dotenv@16.6.1 NOTICES AND INFORMATION
695 -
696 -%% end-of-stream@1.4.5 NOTICES AND INFORMATION BEGIN HERE
697 -=========================================
698 -The MIT License (MIT)
699 -
700 -Copyright (c) 2014 Mathias Buus
701 -
702 -Permission is hereby granted, free of charge, to any person obtaining a copy
703 -of this software and associated documentation files (the "Software"), to deal
704 -in the Software without restriction, including without limitation the rights
705 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
706 -copies of the Software, and to permit persons to whom the Software is
707 -furnished to do so, subject to the following conditions:
708 -
709 -The above copyright notice and this permission notice shall be included in
710 -all copies or substantial portions of the Software.
711 -
712 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
713 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
714 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
715 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
716 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
717 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
718 -THE SOFTWARE.
719 -=========================================
720 -END OF end-of-stream@1.4.5 NOTICES AND INFORMATION
721 -
722 -%% enquirer@2.3.6 NOTICES AND INFORMATION BEGIN HERE
723 -=========================================
724 -The MIT License (MIT)
725 -
726 -Copyright (c) 2016-present, Jon Schlinkert.
727 -
728 -Permission is hereby granted, free of charge, to any person obtaining a copy
729 -of this software and associated documentation files (the "Software"), to deal
730 -in the Software without restriction, including without limitation the rights
731 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
732 -copies of the Software, and to permit persons to whom the Software is
733 -furnished to do so, subject to the following conditions:
734 -
735 -The above copyright notice and this permission notice shall be included in
736 -all copies or substantial portions of the Software.
737 -
738 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
739 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
740 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
741 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
742 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
743 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
744 -THE SOFTWARE.
745 -=========================================
746 -END OF enquirer@2.3.6 NOTICES AND INFORMATION
747 -
748 -%% eventsource-parser@3.0.6 NOTICES AND INFORMATION BEGIN HERE
749 -=========================================
750 -MIT License
751 -
752 -Copyright (c) 2025 Espen Hovlandsdal <espen@hovlandsdal.com>
753 -
754 -Permission is hereby granted, free of charge, to any person obtaining a copy
755 -of this software and associated documentation files (the "Software"), to deal
756 -in the Software without restriction, including without limitation the rights
757 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
758 -copies of the Software, and to permit persons to whom the Software is
759 -furnished to do so, subject to the following conditions:
760 -
761 -The above copyright notice and this permission notice shall be included in all
762 -copies or substantial portions of the Software.
763 -
764 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
765 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
766 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
767 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
768 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
769 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
770 -SOFTWARE.
771 -=========================================
772 -END OF eventsource-parser@3.0.6 NOTICES AND INFORMATION
773 -
774 -%% eventsource@3.0.7 NOTICES AND INFORMATION BEGIN HERE
775 -=========================================
776 -The MIT License
777 -
778 -Copyright (c) EventSource GitHub organisation
779 -
780 -Permission is hereby granted, free of charge, to any person obtaining
781 -a copy of this software and associated documentation files (the
782 -"Software"), to deal in the Software without restriction, including
783 -without limitation the rights to use, copy, modify, merge, publish,
784 -distribute, sublicense, and/or sell copies of the Software, and to
785 -permit persons to whom the Software is furnished to do so, subject to
786 -the following conditions:
787 -
788 -The above copyright notice and this permission notice shall be
789 -included in all copies or substantial portions of the Software.
790 -
791 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
792 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
793 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
794 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
795 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
796 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
797 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
798 -=========================================
799 -END OF eventsource@3.0.7 NOTICES AND INFORMATION
800 -
801 -%% fast-deep-equal@3.1.3 NOTICES AND INFORMATION BEGIN HERE
802 -=========================================
803 -MIT License
804 -
805 -Copyright (c) 2017 Evgeny Poberezkin
806 -
807 -Permission is hereby granted, free of charge, to any person obtaining a copy
808 -of this software and associated documentation files (the "Software"), to deal
809 -in the Software without restriction, including without limitation the rights
810 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
811 -copies of the Software, and to permit persons to whom the Software is
812 -furnished to do so, subject to the following conditions:
813 -
814 -The above copyright notice and this permission notice shall be included in all
815 -copies or substantial portions of the Software.
816 -
817 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
818 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
819 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
820 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
821 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
822 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
823 -SOFTWARE.
824 -=========================================
825 -END OF fast-deep-equal@3.1.3 NOTICES AND INFORMATION
826 -
827 -%% fast-uri@3.1.0 NOTICES AND INFORMATION BEGIN HERE
828 -=========================================
829 -Copyright (c) 2011-2021, Gary Court until https://github.com/garycourt/uri-js/commit/a1acf730b4bba3f1097c9f52e7d9d3aba8cdcaae
830 -Copyright (c) 2021-present The Fastify team
831 -All rights reserved.
832 -
833 -The Fastify team members are listed at https://github.com/fastify/fastify#team.
834 -
835 -Redistribution and use in source and binary forms, with or without
836 -modification, are permitted provided that the following conditions are met:
837 - * Redistributions of source code must retain the above copyright
838 - notice, this list of conditions and the following disclaimer.
839 - * Redistributions in binary form must reproduce the above copyright
840 - notice, this list of conditions and the following disclaimer in the
841 - documentation and/or other materials provided with the distribution.
842 - * The names of any contributors may not be used to endorse or promote
843 - products derived from this software without specific prior written
844 - permission.
845 -
846 -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
847 -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
848 -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
849 -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS AND CONTRIBUTORS BE LIABLE FOR ANY
850 -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
851 -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
852 -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
853 -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
854 -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
855 -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
856 -
857 - * * *
858 -
859 -The complete list of contributors can be found at:
860 -- https://github.com/garycourt/uri-js/graphs/contributors
861 -=========================================
862 -END OF fast-uri@3.1.0 NOTICES AND INFORMATION
863 -
864 -%% fill-range@7.1.1 NOTICES AND INFORMATION BEGIN HERE
865 -=========================================
866 -The MIT License (MIT)
867 -
868 -Copyright (c) 2014-present, Jon Schlinkert.
869 -
870 -Permission is hereby granted, free of charge, to any person obtaining a copy
871 -of this software and associated documentation files (the "Software"), to deal
872 -in the Software without restriction, including without limitation the rights
873 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
874 -copies of the Software, and to permit persons to whom the Software is
875 -furnished to do so, subject to the following conditions:
876 -
877 -The above copyright notice and this permission notice shall be included in
878 -all copies or substantial portions of the Software.
879 -
880 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
881 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
882 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
883 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
884 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
885 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
886 -THE SOFTWARE.
887 -=========================================
888 -END OF fill-range@7.1.1 NOTICES AND INFORMATION
889 -
890 -%% get-east-asian-width@1.3.0 NOTICES AND INFORMATION BEGIN HERE
891 -=========================================
892 -MIT License
893 -
894 -Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
895 -
896 -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
897 -
898 -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
899 -
900 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
901 -=========================================
902 -END OF get-east-asian-width@1.3.0 NOTICES AND INFORMATION
903 -
904 -%% get-stream@5.2.0 NOTICES AND INFORMATION BEGIN HERE
905 -=========================================
906 -MIT License
907 -
908 -Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
909 -
910 -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
911 -
912 -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
913 -
914 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
915 -=========================================
916 -END OF get-stream@5.2.0 NOTICES AND INFORMATION
917 -
918 -%% glob-parent@5.1.2 NOTICES AND INFORMATION BEGIN HERE
919 -=========================================
920 -The ISC License
921 -
922 -Copyright (c) 2015, 2019 Elan Shanker
923 -
924 -Permission to use, copy, modify, and/or distribute this software for any
925 -purpose with or without fee is hereby granted, provided that the above
926 -copyright notice and this permission notice appear in all copies.
927 -
928 -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
929 -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
930 -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
931 -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
932 -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
933 -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
934 -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
935 -=========================================
936 -END OF glob-parent@5.1.2 NOTICES AND INFORMATION
937 -
938 -%% graceful-fs@4.2.10 NOTICES AND INFORMATION BEGIN HERE
939 -=========================================
940 -The ISC License
941 -
942 -Copyright (c) 2011-2022 Isaac Z. Schlueter, Ben Noordhuis, and Contributors
943 -
944 -Permission to use, copy, modify, and/or distribute this software for any
945 -purpose with or without fee is hereby granted, provided that the above
946 -copyright notice and this permission notice appear in all copies.
947 -
948 -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
949 -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
950 -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
951 -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
952 -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
953 -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
954 -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
955 -=========================================
956 -END OF graceful-fs@4.2.10 NOTICES AND INFORMATION
957 -
958 -%% has-flag@4.0.0 NOTICES AND INFORMATION BEGIN HERE
959 -=========================================
960 -MIT License
961 -
962 -Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
963 -
964 -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
965 -
966 -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
967 -
968 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
969 -=========================================
970 -END OF has-flag@4.0.0 NOTICES AND INFORMATION
971 -
972 -%% https-proxy-agent@7.0.6 NOTICES AND INFORMATION BEGIN HERE
973 -=========================================
974 -(The MIT License)
975 -
976 -Copyright (c) 2013 Nathan Rajlich <nathan@tootallnate.net>
977 -
978 -Permission is hereby granted, free of charge, to any person obtaining
979 -a copy of this software and associated documentation files (the
980 -'Software'), to deal in the Software without restriction, including
981 -without limitation the rights to use, copy, modify, merge, publish,
982 -distribute, sublicense, and/or sell copies of the Software, and to
983 -permit persons to whom the Software is furnished to do so, subject to
984 -the following conditions:
985 -
986 -The above copyright notice and this permission notice shall be
987 -included in all copies or substantial portions of the Software.
988 -
989 -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
990 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
991 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
992 -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
993 -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
994 -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
995 -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
996 -=========================================
997 -END OF https-proxy-agent@7.0.6 NOTICES AND INFORMATION
998 -
999 -%% ini@6.0.0 NOTICES AND INFORMATION BEGIN HERE
1000 -=========================================
1001 -The ISC License
1002 -
1003 -Copyright (c) Isaac Z. Schlueter and Contributors
1004 -
1005 -Permission to use, copy, modify, and/or distribute this software for any
1006 -purpose with or without fee is hereby granted, provided that the above
1007 -copyright notice and this permission notice appear in all copies.
1008 -
1009 -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
1010 -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
1011 -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
1012 -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1013 -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1014 -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
1015 -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1016 -=========================================
1017 -END OF ini@6.0.0 NOTICES AND INFORMATION
1018 -
1019 -%% ip-address@10.2.0 NOTICES AND INFORMATION BEGIN HERE
1020 -=========================================
1021 -Copyright (C) 2011 by Beau Gunderson
1022 -
1023 -Permission is hereby granted, free of charge, to any person obtaining a copy
1024 -of this software and associated documentation files (the "Software"), to deal
1025 -in the Software without restriction, including without limitation the rights
1026 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1027 -copies of the Software, and to permit persons to whom the Software is
1028 -furnished to do so, subject to the following conditions:
1029 -
1030 -The above copyright notice and this permission notice shall be included in
1031 -all copies or substantial portions of the Software.
1032 -
1033 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1034 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1035 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1036 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1037 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1038 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
1039 -THE SOFTWARE.
1040 -=========================================
1041 -END OF ip-address@10.2.0 NOTICES AND INFORMATION
1042 -
1043 -%% is-binary-path@2.1.0 NOTICES AND INFORMATION BEGIN HERE
1044 -=========================================
1045 -MIT License
1046 -
1047 -Copyright (c) 2019 Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com), Paul Miller (https://paulmillr.com)
1048 -
1049 -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
1050 -
1051 -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
1052 -
1053 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1054 -=========================================
1055 -END OF is-binary-path@2.1.0 NOTICES AND INFORMATION
1056 -
1057 -%% is-docker@2.2.1 NOTICES AND INFORMATION BEGIN HERE
1058 -=========================================
1059 -MIT License
1060 -
1061 -Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
1062 -
1063 -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
1064 -
1065 -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
1066 -
1067 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1068 -=========================================
1069 -END OF is-docker@2.2.1 NOTICES AND INFORMATION
1070 -
1071 -%% is-extglob@2.1.1 NOTICES AND INFORMATION BEGIN HERE
1072 -=========================================
1073 -The MIT License (MIT)
1074 -
1075 -Copyright (c) 2014-2016, Jon Schlinkert
1076 -
1077 -Permission is hereby granted, free of charge, to any person obtaining a copy
1078 -of this software and associated documentation files (the "Software"), to deal
1079 -in the Software without restriction, including without limitation the rights
1080 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1081 -copies of the Software, and to permit persons to whom the Software is
1082 -furnished to do so, subject to the following conditions:
1083 -
1084 -The above copyright notice and this permission notice shall be included in
1085 -all copies or substantial portions of the Software.
1086 -
1087 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1088 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1089 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1090 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1091 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1092 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
1093 -THE SOFTWARE.
1094 -=========================================
1095 -END OF is-extglob@2.1.1 NOTICES AND INFORMATION
1096 -
1097 -%% is-glob@4.0.3 NOTICES AND INFORMATION BEGIN HERE
1098 -=========================================
1099 -The MIT License (MIT)
1100 -
1101 -Copyright (c) 2014-2017, Jon Schlinkert.
1102 -
1103 -Permission is hereby granted, free of charge, to any person obtaining a copy
1104 -of this software and associated documentation files (the "Software"), to deal
1105 -in the Software without restriction, including without limitation the rights
1106 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1107 -copies of the Software, and to permit persons to whom the Software is
1108 -furnished to do so, subject to the following conditions:
1109 -
1110 -The above copyright notice and this permission notice shall be included in
1111 -all copies or substantial portions of the Software.
1112 -
1113 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1114 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1115 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1116 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1117 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1118 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
1119 -THE SOFTWARE.
1120 -=========================================
1121 -END OF is-glob@4.0.3 NOTICES AND INFORMATION
1122 -
1123 -%% is-number@7.0.0 NOTICES AND INFORMATION BEGIN HERE
1124 -=========================================
1125 -The MIT License (MIT)
1126 -
1127 -Copyright (c) 2014-present, Jon Schlinkert.
1128 -
1129 -Permission is hereby granted, free of charge, to any person obtaining a copy
1130 -of this software and associated documentation files (the "Software"), to deal
1131 -in the Software without restriction, including without limitation the rights
1132 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1133 -copies of the Software, and to permit persons to whom the Software is
1134 -furnished to do so, subject to the following conditions:
1135 -
1136 -The above copyright notice and this permission notice shall be included in
1137 -all copies or substantial portions of the Software.
1138 -
1139 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1140 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1141 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1142 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1143 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1144 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
1145 -THE SOFTWARE.
1146 -=========================================
1147 -END OF is-number@7.0.0 NOTICES AND INFORMATION
1148 -
1149 -%% is-wsl@2.2.0 NOTICES AND INFORMATION BEGIN HERE
1150 -=========================================
1151 -MIT License
1152 -
1153 -Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
1154 -
1155 -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
1156 -
1157 -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
1158 -
1159 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1160 -=========================================
1161 -END OF is-wsl@2.2.0 NOTICES AND INFORMATION
1162 -
1163 -%% isexe@2.0.0 NOTICES AND INFORMATION BEGIN HERE
1164 -=========================================
1165 -The ISC License
1166 -
1167 -Copyright (c) Isaac Z. Schlueter and Contributors
1168 -
1169 -Permission to use, copy, modify, and/or distribute this software for any
1170 -purpose with or without fee is hereby granted, provided that the above
1171 -copyright notice and this permission notice appear in all copies.
1172 -
1173 -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
1174 -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
1175 -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
1176 -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1177 -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1178 -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
1179 -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1180 -=========================================
1181 -END OF isexe@2.0.0 NOTICES AND INFORMATION
1182 -
1183 -%% jpeg-js@0.4.4 NOTICES AND INFORMATION BEGIN HERE
1184 -=========================================
1185 -Copyright (c) 2014, Eugene Ware
1186 -All rights reserved.
1187 -
1188 -Redistribution and use in source and binary forms, with or without
1189 -modification, are permitted provided that the following conditions are met:
1190 -
1191 -1. Redistributions of source code must retain the above copyright
1192 - notice, this list of conditions and the following disclaimer.
1193 -2. Redistributions in binary form must reproduce the above copyright
1194 - notice, this list of conditions and the following disclaimer in the
1195 - documentation and/or other materials provided with the distribution.
1196 -3. Neither the name of Eugene Ware nor the names of its contributors
1197 - may be used to endorse or promote products derived from this software
1198 - without specific prior written permission.
1199 -
1200 -THIS SOFTWARE IS PROVIDED BY EUGENE WARE ''AS IS'' AND ANY
1201 -EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
1202 -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
1203 -DISCLAIMED. IN NO EVENT SHALL EUGENE WARE BE LIABLE FOR ANY
1204 -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
1205 -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
1206 -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
1207 -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
1208 -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
1209 -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1210 -=========================================
1211 -END OF jpeg-js@0.4.4 NOTICES AND INFORMATION
1212 -
1213 -%% json-schema-traverse@1.0.0 NOTICES AND INFORMATION BEGIN HERE
1214 -=========================================
1215 -MIT License
1216 -
1217 -Copyright (c) 2017 Evgeny Poberezkin
1218 -
1219 -Permission is hereby granted, free of charge, to any person obtaining a copy
1220 -of this software and associated documentation files (the "Software"), to deal
1221 -in the Software without restriction, including without limitation the rights
1222 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1223 -copies of the Software, and to permit persons to whom the Software is
1224 -furnished to do so, subject to the following conditions:
1225 -
1226 -The above copyright notice and this permission notice shall be included in all
1227 -copies or substantial portions of the Software.
1228 -
1229 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1230 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1231 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1232 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1233 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1234 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1235 -SOFTWARE.
1236 -=========================================
1237 -END OF json-schema-traverse@1.0.0 NOTICES AND INFORMATION
1238 -
1239 -%% json5@2.2.3 NOTICES AND INFORMATION BEGIN HERE
1240 -=========================================
1241 -MIT License
1242 -
1243 -Copyright (c) 2012-2018 Aseem Kishore, and [others].
1244 -
1245 -Permission is hereby granted, free of charge, to any person obtaining a copy
1246 -of this software and associated documentation files (the "Software"), to deal
1247 -in the Software without restriction, including without limitation the rights
1248 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1249 -copies of the Software, and to permit persons to whom the Software is
1250 -furnished to do so, subject to the following conditions:
1251 -
1252 -The above copyright notice and this permission notice shall be included in all
1253 -copies or substantial portions of the Software.
1254 -
1255 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1256 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1257 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1258 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1259 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1260 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1261 -SOFTWARE.
1262 -
1263 -[others]: https://github.com/json5/json5/contributors
1264 -=========================================
1265 -END OF json5@2.2.3 NOTICES AND INFORMATION
1266 -
1267 -%% mime@3.0.0 NOTICES AND INFORMATION BEGIN HERE
1268 -=========================================
1269 -The MIT License (MIT)
1270 -
1271 -Copyright (c) 2010 Benjamin Thomas, Robert Kieffer
1272 -
1273 -Permission is hereby granted, free of charge, to any person obtaining a copy
1274 -of this software and associated documentation files (the "Software"), to deal
1275 -in the Software without restriction, including without limitation the rights
1276 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1277 -copies of the Software, and to permit persons to whom the Software is
1278 -furnished to do so, subject to the following conditions:
1279 -
1280 -The above copyright notice and this permission notice shall be included in
1281 -all copies or substantial portions of the Software.
1282 -
1283 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1284 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1285 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1286 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1287 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1288 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
1289 -THE SOFTWARE.
1290 -=========================================
1291 -END OF mime@3.0.0 NOTICES AND INFORMATION
1292 -
1293 -%% minimatch@3.1.5 NOTICES AND INFORMATION BEGIN HERE
1294 -=========================================
1295 -The ISC License
1296 -
1297 -Copyright (c) Isaac Z. Schlueter and Contributors
1298 -
1299 -Permission to use, copy, modify, and/or distribute this software for any
1300 -purpose with or without fee is hereby granted, provided that the above
1301 -copyright notice and this permission notice appear in all copies.
1302 -
1303 -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
1304 -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
1305 -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
1306 -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1307 -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1308 -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
1309 -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1310 -=========================================
1311 -END OF minimatch@3.1.5 NOTICES AND INFORMATION
1312 -
1313 -%% ms@2.1.3 NOTICES AND INFORMATION BEGIN HERE
1314 -=========================================
1315 -The MIT License (MIT)
1316 -
1317 -Copyright (c) 2020 Vercel, Inc.
1318 -
1319 -Permission is hereby granted, free of charge, to any person obtaining a copy
1320 -of this software and associated documentation files (the "Software"), to deal
1321 -in the Software without restriction, including without limitation the rights
1322 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1323 -copies of the Software, and to permit persons to whom the Software is
1324 -furnished to do so, subject to the following conditions:
1325 -
1326 -The above copyright notice and this permission notice shall be included in all
1327 -copies or substantial portions of the Software.
1328 -
1329 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1330 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1331 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1332 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1333 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1334 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1335 -SOFTWARE.
1336 -=========================================
1337 -END OF ms@2.1.3 NOTICES AND INFORMATION
1338 -
1339 -%% normalize-path@3.0.0 NOTICES AND INFORMATION BEGIN HERE
1340 -=========================================
1341 -The MIT License (MIT)
1342 -
1343 -Copyright (c) 2014-2018, Jon Schlinkert.
1344 -
1345 -Permission is hereby granted, free of charge, to any person obtaining a copy
1346 -of this software and associated documentation files (the "Software"), to deal
1347 -in the Software without restriction, including without limitation the rights
1348 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1349 -copies of the Software, and to permit persons to whom the Software is
1350 -furnished to do so, subject to the following conditions:
1351 -
1352 -The above copyright notice and this permission notice shall be included in
1353 -all copies or substantial portions of the Software.
1354 -
1355 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1356 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1357 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1358 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1359 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1360 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
1361 -THE SOFTWARE.
1362 -=========================================
1363 -END OF normalize-path@3.0.0 NOTICES AND INFORMATION
1364 -
1365 -%% once@1.4.0 NOTICES AND INFORMATION BEGIN HERE
1366 -=========================================
1367 -The ISC License
1368 -
1369 -Copyright (c) Isaac Z. Schlueter and Contributors
1370 -
1371 -Permission to use, copy, modify, and/or distribute this software for any
1372 -purpose with or without fee is hereby granted, provided that the above
1373 -copyright notice and this permission notice appear in all copies.
1374 -
1375 -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
1376 -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
1377 -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
1378 -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1379 -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1380 -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
1381 -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1382 -=========================================
1383 -END OF once@1.4.0 NOTICES AND INFORMATION
1384 -
1385 -%% open@8.4.0 NOTICES AND INFORMATION BEGIN HERE
1386 -=========================================
1387 -MIT License
1388 -
1389 -Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
1390 -
1391 -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
1392 -
1393 -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
1394 -
1395 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1396 -=========================================
1397 -END OF open@8.4.0 NOTICES AND INFORMATION
1398 -
1399 -%% path-key@3.1.1 NOTICES AND INFORMATION BEGIN HERE
1400 -=========================================
1401 -MIT License
1402 -
1403 -Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
1404 -
1405 -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
1406 -
1407 -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
1408 -
1409 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1410 -=========================================
1411 -END OF path-key@3.1.1 NOTICES AND INFORMATION
1412 -
1413 -%% picomatch@2.3.2 NOTICES AND INFORMATION BEGIN HERE
1414 -=========================================
1415 -The MIT License (MIT)
1416 -
1417 -Copyright (c) 2017-present, Jon Schlinkert.
1418 -
1419 -Permission is hereby granted, free of charge, to any person obtaining a copy
1420 -of this software and associated documentation files (the "Software"), to deal
1421 -in the Software without restriction, including without limitation the rights
1422 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1423 -copies of the Software, and to permit persons to whom the Software is
1424 -furnished to do so, subject to the following conditions:
1425 -
1426 -The above copyright notice and this permission notice shall be included in
1427 -all copies or substantial portions of the Software.
1428 -
1429 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1430 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1431 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1432 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1433 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1434 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
1435 -THE SOFTWARE.
1436 -=========================================
1437 -END OF picomatch@2.3.2 NOTICES AND INFORMATION
1438 -
1439 -%% pkce-challenge@5.0.0 NOTICES AND INFORMATION BEGIN HERE
1440 -=========================================
1441 -MIT License
1442 -
1443 -Copyright (c) 2019
1444 -
1445 -Permission is hereby granted, free of charge, to any person obtaining a copy
1446 -of this software and associated documentation files (the "Software"), to deal
1447 -in the Software without restriction, including without limitation the rights
1448 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1449 -copies of the Software, and to permit persons to whom the Software is
1450 -furnished to do so, subject to the following conditions:
1451 -
1452 -The above copyright notice and this permission notice shall be included in all
1453 -copies or substantial portions of the Software.
1454 -
1455 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1456 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1457 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1458 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1459 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1460 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1461 -SOFTWARE.
1462 -=========================================
1463 -END OF pkce-challenge@5.0.0 NOTICES AND INFORMATION
1464 -
1465 -%% pngjs@6.0.0 NOTICES AND INFORMATION BEGIN HERE
1466 -=========================================
1467 -pngjs2 original work Copyright (c) 2015 Luke Page & Original Contributors
1468 -pngjs derived work Copyright (c) 2012 Kuba Niegowski
1469 -
1470 -Permission is hereby granted, free of charge, to any person obtaining a copy
1471 -of this software and associated documentation files (the "Software"), to deal
1472 -in the Software without restriction, including without limitation the rights
1473 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1474 -copies of the Software, and to permit persons to whom the Software is
1475 -furnished to do so, subject to the following conditions:
1476 -
1477 -The above copyright notice and this permission notice shall be included in
1478 -all copies or substantial portions of the Software.
1479 -
1480 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1481 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1482 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1483 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1484 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1485 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
1486 -THE SOFTWARE.
1487 -=========================================
1488 -END OF pngjs@6.0.0 NOTICES AND INFORMATION
1489 -
1490 -%% progress@2.0.3 NOTICES AND INFORMATION BEGIN HERE
1491 -=========================================
1492 -(The MIT License)
1493 -
1494 -Copyright (c) 2017 TJ Holowaychuk <tj@vision-media.ca>
1495 -
1496 -Permission is hereby granted, free of charge, to any person obtaining
1497 -a copy of this software and associated documentation files (the
1498 -'Software'), to deal in the Software without restriction, including
1499 -without limitation the rights to use, copy, modify, merge, publish,
1500 -distribute, sublicense, and/or sell copies of the Software, and to
1501 -permit persons to whom the Software is furnished to do so, subject to
1502 -the following conditions:
1503 -
1504 -The above copyright notice and this permission notice shall be
1505 -included in all copies or substantial portions of the Software.
1506 -
1507 -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
1508 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1509 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
1510 -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
1511 -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
1512 -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
1513 -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1514 -=========================================
1515 -END OF progress@2.0.3 NOTICES AND INFORMATION
1516 -
1517 -%% proxy-from-env@2.0.0 NOTICES AND INFORMATION BEGIN HERE
1518 -=========================================
1519 -The MIT License
1520 -
1521 -Copyright (C) 2016-2018 Rob Wu <rob@robwu.nl>
1522 -
1523 -Permission is hereby granted, free of charge, to any person obtaining a copy of
1524 -this software and associated documentation files (the "Software"), to deal in
1525 -the Software without restriction, including without limitation the rights to
1526 -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
1527 -of the Software, and to permit persons to whom the Software is furnished to do
1528 -so, subject to the following conditions:
1529 -
1530 -The above copyright notice and this permission notice shall be included in all
1531 -copies or substantial portions of the Software.
1532 -
1533 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1534 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
1535 -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
1536 -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
1537 -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
1538 -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1539 -=========================================
1540 -END OF proxy-from-env@2.0.0 NOTICES AND INFORMATION
1541 -
1542 -%% pump@3.0.3 NOTICES AND INFORMATION BEGIN HERE
1543 -=========================================
1544 -The MIT License (MIT)
1545 -
1546 -Copyright (c) 2014 Mathias Buus
1547 -
1548 -Permission is hereby granted, free of charge, to any person obtaining a copy
1549 -of this software and associated documentation files (the "Software"), to deal
1550 -in the Software without restriction, including without limitation the rights
1551 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1552 -copies of the Software, and to permit persons to whom the Software is
1553 -furnished to do so, subject to the following conditions:
1554 -
1555 -The above copyright notice and this permission notice shall be included in
1556 -all copies or substantial portions of the Software.
1557 -
1558 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1559 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1560 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1561 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1562 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1563 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
1564 -THE SOFTWARE.
1565 -=========================================
1566 -END OF pump@3.0.3 NOTICES AND INFORMATION
1567 -
1568 -%% readdirp@3.6.0 NOTICES AND INFORMATION BEGIN HERE
1569 -=========================================
1570 -MIT License
1571 -
1572 -Copyright (c) 2012-2019 Thorsten Lorenz, Paul Miller (https://paulmillr.com)
1573 -
1574 -Permission is hereby granted, free of charge, to any person obtaining a copy
1575 -of this software and associated documentation files (the "Software"), to deal
1576 -in the Software without restriction, including without limitation the rights
1577 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1578 -copies of the Software, and to permit persons to whom the Software is
1579 -furnished to do so, subject to the following conditions:
1580 -
1581 -The above copyright notice and this permission notice shall be included in all
1582 -copies or substantial portions of the Software.
1583 -
1584 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1585 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1586 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1587 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1588 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1589 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1590 -SOFTWARE.
1591 -=========================================
1592 -END OF readdirp@3.6.0 NOTICES AND INFORMATION
1593 -
1594 -%% retry@0.12.0 NOTICES AND INFORMATION BEGIN HERE
1595 -=========================================
1596 -Copyright (c) 2011:
1597 -Tim Koschützki (tim@debuggable.com)
1598 -Felix Geisendörfer (felix@debuggable.com)
1599 -
1600 - Permission is hereby granted, free of charge, to any person obtaining a copy
1601 - of this software and associated documentation files (the "Software"), to deal
1602 - in the Software without restriction, including without limitation the rights
1603 - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1604 - copies of the Software, and to permit persons to whom the Software is
1605 - furnished to do so, subject to the following conditions:
1606 -
1607 - The above copyright notice and this permission notice shall be included in
1608 - all copies or substantial portions of the Software.
1609 -
1610 - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1611 - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1612 - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1613 - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1614 - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1615 - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
1616 - THE SOFTWARE.
1617 -=========================================
1618 -END OF retry@0.12.0 NOTICES AND INFORMATION
1619 -
1620 -%% shebang-command@2.0.0 NOTICES AND INFORMATION BEGIN HERE
1621 -=========================================
1622 -MIT License
1623 -
1624 -Copyright (c) Kevin Mårtensson <kevinmartensson@gmail.com> (github.com/kevva)
1625 -
1626 -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
1627 -
1628 -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
1629 -
1630 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1631 -=========================================
1632 -END OF shebang-command@2.0.0 NOTICES AND INFORMATION
1633 -
1634 -%% shebang-regex@3.0.0 NOTICES AND INFORMATION BEGIN HERE
1635 -=========================================
1636 -MIT License
1637 -
1638 -Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
1639 -
1640 -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
1641 -
1642 -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
1643 -
1644 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1645 -=========================================
1646 -END OF shebang-regex@3.0.0 NOTICES AND INFORMATION
1647 -
1648 -%% signal-exit@3.0.7 NOTICES AND INFORMATION BEGIN HERE
1649 -=========================================
1650 -The ISC License
1651 -
1652 -Copyright (c) 2015, Contributors
1653 -
1654 -Permission to use, copy, modify, and/or distribute this software
1655 -for any purpose with or without fee is hereby granted, provided
1656 -that the above copyright notice and this permission notice
1657 -appear in all copies.
1658 -
1659 -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
1660 -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
1661 -OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE
1662 -LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES
1663 -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
1664 -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
1665 -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1666 -=========================================
1667 -END OF signal-exit@3.0.7 NOTICES AND INFORMATION
1668 -
1669 -%% smart-buffer@4.2.0 NOTICES AND INFORMATION BEGIN HERE
1670 -=========================================
1671 -The MIT License (MIT)
1672 -
1673 -Copyright (c) 2013-2017 Josh Glazebrook
1674 -
1675 -Permission is hereby granted, free of charge, to any person obtaining a copy of
1676 -this software and associated documentation files (the "Software"), to deal in
1677 -the Software without restriction, including without limitation the rights to
1678 -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
1679 -the Software, and to permit persons to whom the Software is furnished to do so,
1680 -subject to the following conditions:
1681 -
1682 -The above copyright notice and this permission notice shall be included in all
1683 -copies or substantial portions of the Software.
1684 -
1685 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1686 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
1687 -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
1688 -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
1689 -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
1690 -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1691 -=========================================
1692 -END OF smart-buffer@4.2.0 NOTICES AND INFORMATION
1693 -
1694 -%% socks-proxy-agent@8.0.5 NOTICES AND INFORMATION BEGIN HERE
1695 -=========================================
1696 -(The MIT License)
1697 -
1698 -Copyright (c) 2013 Nathan Rajlich <nathan@tootallnate.net>
1699 -
1700 -Permission is hereby granted, free of charge, to any person obtaining
1701 -a copy of this software and associated documentation files (the
1702 -'Software'), to deal in the Software without restriction, including
1703 -without limitation the rights to use, copy, modify, merge, publish,
1704 -distribute, sublicense, and/or sell copies of the Software, and to
1705 -permit persons to whom the Software is furnished to do so, subject to
1706 -the following conditions:
1707 -
1708 -The above copyright notice and this permission notice shall be
1709 -included in all copies or substantial portions of the Software.
1710 -
1711 -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
1712 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1713 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
1714 -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
1715 -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
1716 -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
1717 -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1718 -=========================================
1719 -END OF socks-proxy-agent@8.0.5 NOTICES AND INFORMATION
1720 -
1721 -%% socks@2.8.7 NOTICES AND INFORMATION BEGIN HERE
1722 -=========================================
1723 -The MIT License (MIT)
1724 -
1725 -Copyright (c) 2013 Josh Glazebrook
1726 -
1727 -Permission is hereby granted, free of charge, to any person obtaining a copy of
1728 -this software and associated documentation files (the "Software"), to deal in
1729 -the Software without restriction, including without limitation the rights to
1730 -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
1731 -the Software, and to permit persons to whom the Software is furnished to do so,
1732 -subject to the following conditions:
1733 -
1734 -The above copyright notice and this permission notice shall be included in all
1735 -copies or substantial portions of the Software.
1736 -
1737 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1738 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
1739 -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
1740 -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
1741 -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
1742 -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1743 -=========================================
1744 -END OF socks@2.8.7 NOTICES AND INFORMATION
1745 -
1746 -%% source-map-support@0.5.21 NOTICES AND INFORMATION BEGIN HERE
1747 -=========================================
1748 -The MIT License (MIT)
1749 -
1750 -Copyright (c) 2014 Evan Wallace
1751 -
1752 -Permission is hereby granted, free of charge, to any person obtaining a copy
1753 -of this software and associated documentation files (the "Software"), to deal
1754 -in the Software without restriction, including without limitation the rights
1755 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1756 -copies of the Software, and to permit persons to whom the Software is
1757 -furnished to do so, subject to the following conditions:
1758 -
1759 -The above copyright notice and this permission notice shall be included in all
1760 -copies or substantial portions of the Software.
1761 -
1762 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1763 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1764 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1765 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1766 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1767 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1768 -SOFTWARE.
1769 -=========================================
1770 -END OF source-map-support@0.5.21 NOTICES AND INFORMATION
1771 -
1772 -%% source-map@0.6.1 NOTICES AND INFORMATION BEGIN HERE
1773 -=========================================
1774 -Copyright (c) 2009-2011, Mozilla Foundation and contributors
1775 -All rights reserved.
1776 -
1777 -Redistribution and use in source and binary forms, with or without
1778 -modification, are permitted provided that the following conditions are met:
1779 -
1780 -* Redistributions of source code must retain the above copyright notice, this
1781 - list of conditions and the following disclaimer.
1782 -
1783 -* Redistributions in binary form must reproduce the above copyright notice,
1784 - this list of conditions and the following disclaimer in the documentation
1785 - and/or other materials provided with the distribution.
1786 -
1787 -* Neither the names of the Mozilla Foundation nor the names of project
1788 - contributors may be used to endorse or promote products derived from this
1789 - software without specific prior written permission.
1790 -
1791 -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
1792 -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
1793 -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
1794 -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
1795 -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
1796 -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
1797 -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
1798 -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
1799 -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
1800 -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1801 -=========================================
1802 -END OF source-map@0.6.1 NOTICES AND INFORMATION
1803 -
1804 -%% supports-color@8.1.1 NOTICES AND INFORMATION BEGIN HERE
1805 -=========================================
1806 -MIT License
1807 -
1808 -Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
1809 -
1810 -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
1811 -
1812 -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
1813 -
1814 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1815 -=========================================
1816 -END OF supports-color@8.1.1 NOTICES AND INFORMATION
1817 -
1818 -%% to-regex-range@5.0.1 NOTICES AND INFORMATION BEGIN HERE
1819 -=========================================
1820 -The MIT License (MIT)
1821 -
1822 -Copyright (c) 2015-present, Jon Schlinkert.
1823 -
1824 -Permission is hereby granted, free of charge, to any person obtaining a copy
1825 -of this software and associated documentation files (the "Software"), to deal
1826 -in the Software without restriction, including without limitation the rights
1827 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1828 -copies of the Software, and to permit persons to whom the Software is
1829 -furnished to do so, subject to the following conditions:
1830 -
1831 -The above copyright notice and this permission notice shall be included in
1832 -all copies or substantial portions of the Software.
1833 -
1834 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1835 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1836 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1837 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1838 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1839 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
1840 -THE SOFTWARE.
1841 -=========================================
1842 -END OF to-regex-range@5.0.1 NOTICES AND INFORMATION
1843 -
1844 -%% which@2.0.2 NOTICES AND INFORMATION BEGIN HERE
1845 -=========================================
1846 -The ISC License
1847 -
1848 -Copyright (c) Isaac Z. Schlueter and Contributors
1849 -
1850 -Permission to use, copy, modify, and/or distribute this software for any
1851 -purpose with or without fee is hereby granted, provided that the above
1852 -copyright notice and this permission notice appear in all copies.
1853 -
1854 -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
1855 -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
1856 -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
1857 -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1858 -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1859 -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
1860 -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1861 -=========================================
1862 -END OF which@2.0.2 NOTICES AND INFORMATION
1863 -
1864 -%% wrappy@1.0.2 NOTICES AND INFORMATION BEGIN HERE
1865 -=========================================
1866 -The ISC License
1867 -
1868 -Copyright (c) Isaac Z. Schlueter and Contributors
1869 -
1870 -Permission to use, copy, modify, and/or distribute this software for any
1871 -purpose with or without fee is hereby granted, provided that the above
1872 -copyright notice and this permission notice appear in all copies.
1873 -
1874 -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
1875 -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
1876 -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
1877 -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1878 -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1879 -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
1880 -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1881 -=========================================
1882 -END OF wrappy@1.0.2 NOTICES AND INFORMATION
1883 -
1884 -%% ws@8.17.1 NOTICES AND INFORMATION BEGIN HERE
1885 -=========================================
1886 -Copyright (c) 2011 Einar Otto Stangvik <einaros@gmail.com>
1887 -Copyright (c) 2013 Arnout Kazemier and contributors
1888 -Copyright (c) 2016 Luigi Pinca and contributors
1889 -
1890 -Permission is hereby granted, free of charge, to any person obtaining a copy of
1891 -this software and associated documentation files (the "Software"), to deal in
1892 -the Software without restriction, including without limitation the rights to
1893 -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
1894 -the Software, and to permit persons to whom the Software is furnished to do so,
1895 -subject to the following conditions:
1896 -
1897 -The above copyright notice and this permission notice shall be included in all
1898 -copies or substantial portions of the Software.
1899 -
1900 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1901 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
1902 -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
1903 -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
1904 -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
1905 -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1906 -=========================================
1907 -END OF ws@8.17.1 NOTICES AND INFORMATION
1908 -
1909 -%% yaml@2.8.3 NOTICES AND INFORMATION BEGIN HERE
1910 -=========================================
1911 -Copyright Eemeli Aro <eemeli@gmail.com>
1912 -
1913 -Permission to use, copy, modify, and/or distribute this software for any purpose
1914 -with or without fee is hereby granted, provided that the above copyright notice
1915 -and this permission notice appear in all copies.
1916 -
1917 -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
1918 -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
1919 -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
1920 -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
1921 -OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
1922 -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
1923 -THIS SOFTWARE.
1924 -=========================================
1925 -END OF yaml@2.8.3 NOTICES AND INFORMATION
1926 -
1927 -%% yazl@2.5.1 NOTICES AND INFORMATION BEGIN HERE
1928 -=========================================
1929 -The MIT License (MIT)
1930 -
1931 -Copyright (c) 2014 Josh Wolfe
1932 -
1933 -Permission is hereby granted, free of charge, to any person obtaining a copy
1934 -of this software and associated documentation files (the "Software"), to deal
1935 -in the Software without restriction, including without limitation the rights
1936 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1937 -copies of the Software, and to permit persons to whom the Software is
1938 -furnished to do so, subject to the following conditions:
1939 -
1940 -The above copyright notice and this permission notice shall be included in all
1941 -copies or substantial portions of the Software.
1942 -
1943 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1944 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1945 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1946 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1947 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1948 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1949 -SOFTWARE.
1950 -=========================================
1951 -END OF yazl@2.5.1 NOTICES AND INFORMATION
1952 -
1953 -%% zod-to-json-schema@3.25.1 NOTICES AND INFORMATION BEGIN HERE
1954 -=========================================
1955 -ISC License
1956 -
1957 -Copyright (c) 2020, Stefan Terdell
1958 -
1959 -Permission to use, copy, modify, and/or distribute this software for any
1960 -purpose with or without fee is hereby granted, provided that the above
1961 -copyright notice and this permission notice appear in all copies.
1962 -
1963 -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
1964 -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
1965 -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
1966 -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1967 -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1968 -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
1969 -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1970 -=========================================
1971 -END OF zod-to-json-schema@3.25.1 NOTICES AND INFORMATION
1972 -
1973 -%% zod@4.3.6 NOTICES AND INFORMATION BEGIN HERE
1974 -=========================================
1975 -MIT License
1976 -
1977 -Copyright (c) 2025 Colin McDonnell
1978 -
1979 -Permission is hereby granted, free of charge, to any person obtaining a copy
1980 -of this software and associated documentation files (the "Software"), to deal
1981 -in the Software without restriction, including without limitation the rights
1982 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1983 -copies of the Software, and to permit persons to whom the Software is
1984 -furnished to do so, subject to the following conditions:
1985 -
1986 -The above copyright notice and this permission notice shall be included in all
1987 -copies or substantial portions of the Software.
1988 -
1989 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1990 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1991 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1992 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1993 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1994 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1995 -SOFTWARE.
1996 -=========================================
1997 -END OF zod@4.3.6 NOTICES AND INFORMATION
1998 -
1999 -SUMMARY
2000 -=========================================
2001 -Total Packages: 81
2002 -=========================================
\ No newline at end of file
node_modules/playwright-core/lib/vite/dashboard/assets/codicon-DCmgc-ay.ttf
Binary files a/node_modules/playwright-core/lib/vite/dashboard/assets/codicon-DCmgc-ay.ttf and /dev/null differ
node_modules/playwright-core/lib/vite/dashboard/assets/firefox-1bWoP6pv.svg deleted
-1
@@ -1 +0,0 @@
1 -<svg xmlns="http://www.w3.org/2000/svg" xmlns:x="http://www.w3.org/1999/xlink" viewBox="0 0 51500 51500"><radialGradient id="b" cx="87.4%" cy="-12.9%" r="128%" gradientTransform="matrix(.8 0 0 1 .18 .13)"><stop offset=".13" stop-color="#ffbd4f"/><stop offset=".28" stop-color="#ff980e"/><stop offset=".47" stop-color="#ff3750"/><stop offset=".78" stop-color="#eb0878"/><stop offset=".86" stop-color="#e50080"/></radialGradient><radialGradient id="d" cx="49%" cy="40%" r="128%" gradientTransform="matrix(.82 0 0 1 .09 0)"><stop offset=".3" stop-color="#960e18"/><stop offset=".35" stop-color="#b11927" stop-opacity=".74"/><stop offset=".43" stop-color="#db293d" stop-opacity=".34"/><stop offset=".5" stop-color="#f5334b" stop-opacity=".1"/><stop offset=".53" stop-color="#ff3750" stop-opacity="0"/></radialGradient><radialGradient id="e" cx="48%" cy="-12%" r="140%"><stop offset=".13" stop-color="#fff44f"/><stop offset=".53" stop-color="#ff980e"/></radialGradient><radialGradient id="f" cx="22.76%" cy="110.11%" r="100%"><stop offset=".35" stop-color="#3a8ee6"/><stop offset=".67" stop-color="#9059ff"/><stop offset="1" stop-color="#c139e6"/></radialGradient><radialGradient id="h" cx="52%" cy="33%" r="59%" gradientTransform="scale(.9 1)"><stop offset=".21" stop-color="#9059ff" stop-opacity="0"/><stop offset=".97" stop-color="#6e008b" stop-opacity=".6"/></radialGradient><radialGradient id="i" cx="210%" cy="-100%" r="290%"><stop offset=".1" stop-color="#ffe226"/><stop offset=".79" stop-color="#ff7139"/></radialGradient><radialGradient id="j" cx="84%" cy="-41%" r="180%"><stop offset=".11" stop-color="#fff44f"/><stop offset=".46" stop-color="#ff980e"/><stop offset=".72" stop-color="#ff3647"/><stop offset=".9" stop-color="#e31587"/></radialGradient><radialGradient id="k" cx="16.1%" cy="-18.6%" r="348.8%" gradientTransform="matrix(.10453 .46743 -.99452 .04913 -.05 -.26)"><stop offset="0" stop-color="#fff44f"/><stop offset=".3" stop-color="#ff980e"/><stop offset=".57" stop-color="#ff3647"/><stop offset=".74" stop-color="#e31587"/></radialGradient><radialGradient id="l" cx="18.9%" cy="-42.5%" r="238.4%"><stop offset=".14" stop-color="#fff44f"/><stop offset=".48" stop-color="#ff980e"/><stop offset=".66" stop-color="#ff3647"/><stop offset=".9" stop-color="#e31587"/></radialGradient><radialGradient id="m" cx="159.3%" cy="-44.72%" r="313.1%"><stop offset=".09" stop-color="#fff44f"/><stop offset=".63" stop-color="#ff980e"/></radialGradient><linearGradient id="a" x1="87.25%" x2="9.4%" y1="15.5%" y2="93.1%"><stop offset=".05" stop-color="#fff44f"/><stop offset=".37" stop-color="#ff980e"/><stop offset=".53" stop-color="#ff3647"/><stop offset=".7" stop-color="#e31587"/></linearGradient><linearGradient id="n" x1="80%" x2="18%" y1="14%" y2="84%"><stop offset=".17" stop-color="#fff44f" stop-opacity=".8"/><stop offset=".6" stop-color="#fff44f" stop-opacity="0"/></linearGradient><path id="c" d="M47870 16735c-1044-2512-3160-5224-4820-6082 1352 2650 2134 5310 2433 7294 0-6 2 5 4 22l4 26c2268 6147 1032 12398-748 16218-2754 5910-9420 11967-19857 11670-11276-318-21210-8683-23064-19643-338-1728 0-2605 170-4008-207 1080-286 1394-390 3315l-2 123c0 13270 10760 24030 24032 24030 11887 0 21756-8630 23690-19963l110-927c477-4120-53-8453-1560-12075z"/><path id="g" d="M25677 21050c-40 598-2150 2660-2890 2660-6834 0-7943 4133-7943 4133 303 3480 2726 6348 5660 7865 134 70 270 130 405 193a13277 13277 0 00706 289 10674 10674 0 003127 603c11978 562 14300-14320 5655-18640 2213-385 4510 505 5794 1407-2100-3672-6025-6150-10530-6150-285 0-564 24-844 43a12025 12025 0 00-6614 2549c366 310 780 724 1650 1583 1630 1606 5813 3270 5822 3465z"/><path fill="url(#a)" d="M47870 16735c-1044-2512-3160-5224-4820-6082 1352 2650 2134 5310 2433 7294l5 40c-2718-6773-7325-9505-11088-15452l-566-920a7372 7372 0 01-265-497 4370 4370 0 01-359-950 63 63 0 00-55-65 82 82 0 00-45 0l-12 7-17 10 10-14c-6037 3536-8085 10076-8274 13350a12025 12025 0 00-6614 2548 7136 7136 0 00-622-470 11134 11134 0 01-68-5873c-2468 1124-4390 2900-5785 4470h-10c-953-1206-886-5187-832-6018-10-52-710 363-802 425a17507 17507 0 00-2349 2012 21048 21048 0 00-2244 2692l-1 3v-3a20284 20284 0 00-3225 7280l-32 160a39700 39700 0 00-237 1500l-5 52a22907 22907 0 00-390 3316l-1 120c0 13270 10760 24030 24032 24030 11887 0 21756-8630 23690-19963l110-927c477-4120-53-8453-1560-12075zM20170 35545c113 53 220 112 334 164l16 10a12620 12620 0 01-350-174zm5506-14493zm19813-3060l-3-23 4 26z"/><use fill="url(#b)" x:href="#c"/><use fill="url(#d)" x:href="#c"/><path fill="url(#e)" d="M36192 19560l150 110a13070 13070 0 00-2231-2911C26640 9290 32150 563 33080 120l10-13c-6037 3535-8085 10076-8273 13348 280-20 560-43 844-43 4505 0 8430 2477 10530 6150z"/><use fill="url(#f)" x:href="#g"/><use fill="url(#h)" x:href="#g"/><path fill="url(#i)" d="M17083 15204a24404 24404 0 01498 330 11134 11134 0 01-67-5874c-2470 1125-4390 2900-5785 4470 115-3 3600-66 5354 1074z"/><path fill="url(#j)" d="M1822 26240c1855 10960 11788 19325 23063 19644 10437 296 17104-5762 19858-11670 1780-3820 3016-10070 748-16218v-2l-4-24c-2-17-4-28-4-22l5 40c853 5566-1980 10958-6405 14604l-13 30c-8625 7023-16878 4237-18550 3097a14410 14410 0 01-350-174c-5028-2403-7105-6984-6660-10913-4245 0-5693-3580-5693-3580s3812-2718 8836-355c4653 2190 9023 355 9023 354-10-195-4192-1860-5822-3465-872-860-1285-1272-1652-1583a7136 7136 0 00-622-470 28293 28293 0 00-498-330c-1753-1140-5240-1076-5355-1073h-10c-953-1207-886-5188-832-6020-10-50-710 363-802 426a17507 17507 0 00-2349 2012 21048 21048 0 00-2244 2692l-1 3v-3a20284 20284 0 00-3225 7280c-10 52-865 3784-444 5720z"/><path fill="url(#k)" d="M34110 16760a13070 13070 0 012231 2910l360 296c5450 5020 2594 12120 2380 12626 4426-3646 7258-9038 6405-14604-2716-6774-7323-9506-11086-15453l-566-920a7372 7372 0 01-265-497 4370 4370 0 01-359-950 63 63 0 00-55-65 82 82 0 00-45 0l-12 7-17 10c-930 443-6440 9170 1030 16640z"/><path fill="url(#l)" d="M36702 19965a4743 4743 0 00-360-295l-150-110c-1283-900-3580-1792-5794-1407 8644 4322 6323 19203-5655 18640a10674 10674 0 01-3127-603 13451 13451 0 01-706-289 9064 9064 0 01-405-193l16 10c1670 1140 9924 3925 18550-3097l13-30c213-506 3068-7606-2380-12626z"/><path fill="url(#m)" d="M14844 27844s1110-4133 7943-4133c740 0 2850-2062 2890-2660s-4370 1836-9023-354c-5024-2363-8836 354-8836 354s1448 3580 5693 3580c-445 3930 1632 8510 6660 10913 113 53 218 112 334 164-2935-1517-5358-4384-5660-7865z"/><path fill="url(#n)" d="M47870 16735c-1044-2512-3160-5224-4820-6082 1352 2650 2134 5310 2433 7294l5 40c-2718-6773-7325-9505-11088-15452l-566-920a7372 7372 0 01-265-497 4370 4370 0 01-359-950 63 63 0 00-55-65 82 82 0 00-45 0l-12 7-17 10 10-14c-6037 3536-8085 10076-8274 13350 280-20 560-43 845-43 4505 0 8430 2477 10530 6148-1284-900-3580-1792-5795-1407 8644 4322 6323 19203-5655 18640a10674 10674 0 01-3127-603 13451 13451 0 01-706-289 9064 9064 0 01-405-193l17 10a14410 14410 0 01-350-174c112 53 218 112 333 164-2935-1517-5358-4384-5660-7865 0 0 1108-4133 7942-4133 740 0 2850-2062 2890-2660-10-195-4190-1860-5822-3465-870-860-1285-1272-1650-1583a7136 7136 0 00-623-470 11134 11134 0 01-67-5873c-2470 1124-4390 2900-5785 4470h-10c-953-1207-886-5187-832-6020-10-50-710 363-802 426a17507 17507 0 00-2349 2012 21048 21048 0 00-2243 2692l-1 3v-3a20284 20284 0 00-3225 7280l-32 160a39787 39787 0 00-277 1515c-2 18 2-17 0 0a27956 27956 0 00-355 3353l-3 122c0 13270 10760 24030 24032 24030 11887 0 21756-8630 23690-19963l110-927c477-4120-53-8453-1560-12075zm-2384 1234l4 26v-2l-4-24z"/></svg>
\ No newline at end of file
node_modules/playwright-core/lib/vite/dashboard/assets/firefox-beta-k3eOH_eK.svg deleted
-1
@@ -1 +0,0 @@
1 -<svg xmlns="http://www.w3.org/2000/svg" xmlns:x="http://www.w3.org/1999/xlink" viewBox="0 0 51500 51500"><radialGradient id="d" cx="87.4%" cy="-12.9%" r="128%" gradientTransform="matrix(.8 0 0 1 .18 .13)"><stop offset=".13" stop-color="#ffbd4f"/><stop offset=".28" stop-color="#ff980e"/><stop offset=".47" stop-color="#ff3750"/><stop offset=".78" stop-color="#eb0878"/><stop offset=".86" stop-color="#e50080"/></radialGradient><radialGradient id="f" cx="49%" cy="40%" r="128%" gradientTransform="matrix(.82 0 0 1 .09 0)"><stop offset=".3" stop-color="#960e18"/><stop offset=".35" stop-color="#b11927" stop-opacity=".74"/><stop offset=".43" stop-color="#db293d" stop-opacity=".34"/><stop offset=".5" stop-color="#f5334b" stop-opacity=".1"/><stop offset=".53" stop-color="#ff3750" stop-opacity="0"/></radialGradient><radialGradient id="g" cx="48%" cy="-12%" r="140%"><stop offset=".13" stop-color="#fff44f"/><stop offset=".53" stop-color="#ff980e"/></radialGradient><radialGradient id="h" cx="22.76%" cy="110.11%" r="100%"><stop offset=".35" stop-color="#3a8ee6"/><stop offset=".67" stop-color="#9059ff"/><stop offset="1" stop-color="#c139e6"/></radialGradient><radialGradient id="j" cx="52%" cy="33%" r="59%" gradientTransform="scale(.9 1)"><stop offset=".21" stop-color="#9059ff" stop-opacity="0"/><stop offset=".97" stop-color="#6e008b" stop-opacity=".6"/></radialGradient><radialGradient id="k" cx="210%" cy="-100%" r="290%"><stop offset=".1" stop-color="#ffe226"/><stop offset=".79" stop-color="#ff7139"/></radialGradient><radialGradient id="l" cx="84%" cy="-41%" r="180%"><stop offset=".11" stop-color="#fff44f"/><stop offset=".46" stop-color="#ff980e"/><stop offset=".72" stop-color="#ff3647"/><stop offset=".9" stop-color="#e31587"/></radialGradient><radialGradient id="m" cx="16.1%" cy="-18.6%" r="348.8%" gradientTransform="matrix(.10453 .46743 -.99452 .04913 -.05 -.26)"><stop offset="0" stop-color="#fff44f"/><stop offset=".3" stop-color="#ff980e"/><stop offset=".57" stop-color="#ff3647"/><stop offset=".74" stop-color="#e31587"/></radialGradient><radialGradient id="n" cx="18.9%" cy="-42.5%" r="238.4%"><stop offset=".14" stop-color="#fff44f"/><stop offset=".48" stop-color="#ff980e"/><stop offset=".66" stop-color="#ff3647"/><stop offset=".9" stop-color="#e31587"/></radialGradient><radialGradient id="o" cx="159.3%" cy="-44.72%" r="313.1%"><stop offset=".09" stop-color="#fff44f"/><stop offset=".63" stop-color="#ff980e"/></radialGradient><linearGradient id="c" x1="87.25%" x2="9.4%" y1="15.5%" y2="93.1%"><stop offset=".05" stop-color="#fff44f"/><stop offset=".37" stop-color="#ff980e"/><stop offset=".53" stop-color="#ff3647"/><stop offset=".7" stop-color="#e31587"/></linearGradient><linearGradient id="p" x1="80%" x2="18%" y1="14%" y2="84%"><stop offset=".17" stop-color="#fff44f" stop-opacity=".8"/><stop offset=".6" stop-color="#fff44f" stop-opacity="0"/></linearGradient><linearGradient id="b" x1="44605" x2="38527" y1="43446" y2="37691" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#054096" stop-opacity=".5"/><stop offset=".05" stop-color="#0f3d9c" stop-opacity=".44"/><stop offset=".26" stop-color="#2f35b1" stop-opacity=".25"/><stop offset=".47" stop-color="#462fbf" stop-opacity=".1"/><stop offset=".67" stop-color="#542bc8" stop-opacity=".03"/><stop offset=".86" stop-color="#592acb" stop-opacity="0"/></linearGradient><linearGradient id="q" x1="28037" x2="49981" y1="37793" y2="47078" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#54ffbd"/><stop offset="1" stop-color="#0df"/></linearGradient><path id="a" d="M45068 32763H27508a937 937 0 00-937 937v2810a7493 7493 0 007492 7493h9718a5620 5620 0 005619-5620v-2459c0-1404-1405-3160-4332-3160z"/><path id="e" d="M47870 16735c-1044-2512-3160-5224-4820-6082 1352 2650 2134 5310 2433 7294 0-6 2 5 4 22l4 26c2268 6147 1032 12398-748 16218-2754 5910-9420 11967-19857 11670-11276-318-21210-8683-23064-19643-338-1728 0-2605 170-4008-207 1080-286 1394-390 3315l-2 123c0 13270 10760 24030 24032 24030 11887 0 21756-8630 23690-19963l110-927c477-4120-53-8453-1560-12075z"/><path id="i" d="M25677 21050c-40 598-2150 2660-2890 2660-6834 0-7943 4133-7943 4133 303 3480 2726 6348 5660 7865 134 70 270 130 405 193a13277 13277 0 00706 289 10674 10674 0 003127 603c11978 562 14300-14320 5655-18640 2213-385 4510 505 5794 1407-2100-3672-6025-6150-10530-6150-285 0-564 24-844 43a12025 12025 0 00-6614 2549c366 310 780 724 1650 1583 1630 1606 5813 3270 5822 3465z"/><filter id="r" width="300%" height="300%" x="-1" y="-1"><feOffset dx="-400" dy="-400" in="SourceGraphic"/><feColorMatrix values=".01 0 0 0 0 0 0 0 0 0 0 .2 0 0 0 0 0 0 .2 0"/><feGaussianBlur stdDeviation="800"/><feBlend in="SourceGraphic"/></filter><use fill="#008787" x:href="#a"/><use fill="url(#b)" opacity=".9" x:href="#a"/><path fill="url(#c)" d="M47870 16735c-1044-2512-3160-5224-4820-6082 1352 2650 2134 5310 2433 7294l5 40c-2718-6773-7325-9505-11088-15452l-566-920a7372 7372 0 01-265-497 4370 4370 0 01-359-950 63 63 0 00-55-65 82 82 0 00-45 0l-12 7-17 10 10-14c-6037 3536-8085 10076-8274 13350a12025 12025 0 00-6614 2548 7136 7136 0 00-622-470 11134 11134 0 01-68-5873c-2468 1124-4390 2900-5785 4470h-10c-953-1206-886-5187-832-6018-10-52-710 363-802 425a17507 17507 0 00-2349 2012 21048 21048 0 00-2244 2692l-1 3v-3a20284 20284 0 00-3225 7280l-32 160a39700 39700 0 00-237 1500l-5 52a22907 22907 0 00-390 3316l-1 120c0 13270 10760 24030 24032 24030 11887 0 21756-8630 23690-19963l110-927c477-4120-53-8453-1560-12075zM20170 35545c113 53 220 112 334 164l16 10a12620 12620 0 01-350-174zm5506-14493zm19813-3060l-3-23 4 26z"/><use fill="url(#d)" x:href="#e"/><use fill="url(#f)" x:href="#e"/><path fill="url(#g)" d="M36192 19560l150 110a13070 13070 0 00-2231-2911C26640 9290 32150 563 33080 120l10-13c-6037 3535-8085 10076-8273 13348 280-20 560-43 844-43 4505 0 8430 2477 10530 6150z"/><use fill="url(#h)" x:href="#i"/><use fill="url(#j)" x:href="#i"/><path fill="url(#k)" d="M17083 15204a24404 24404 0 01498 330 11134 11134 0 01-67-5874c-2470 1125-4390 2900-5785 4470 115-3 3600-66 5354 1074z"/><path fill="url(#l)" d="M1822 26240c1855 10960 11788 19325 23063 19644 10437 296 17104-5762 19858-11670 1780-3820 3016-10070 748-16218v-2l-4-24c-2-17-4-28-4-22l5 40c853 5566-1980 10958-6405 14604l-13 30c-8625 7023-16878 4237-18550 3097a14410 14410 0 01-350-174c-5028-2403-7105-6984-6660-10913-4245 0-5693-3580-5693-3580s3812-2718 8836-355c4653 2190 9023 355 9023 354-10-195-4192-1860-5822-3465-872-860-1285-1272-1652-1583a7136 7136 0 00-622-470 28293 28293 0 00-498-330c-1753-1140-5240-1076-5355-1073h-10c-953-1207-886-5188-832-6020-10-50-710 363-802 426a17507 17507 0 00-2349 2012 21048 21048 0 00-2244 2692l-1 3v-3a20284 20284 0 00-3225 7280c-10 52-865 3784-444 5720z"/><path fill="url(#m)" d="M34110 16760a13070 13070 0 012231 2910l360 296c5450 5020 2594 12120 2380 12626 4426-3646 7258-9038 6405-14604-2716-6774-7323-9506-11086-15453l-566-920a7372 7372 0 01-265-497 4370 4370 0 01-359-950 63 63 0 00-55-65 82 82 0 00-45 0l-12 7-17 10c-930 443-6440 9170 1030 16640z"/><path fill="url(#n)" d="M36702 19965a4743 4743 0 00-360-295l-150-110c-1283-900-3580-1792-5794-1407 8644 4322 6323 19203-5655 18640a10674 10674 0 01-3127-603 13451 13451 0 01-706-289 9064 9064 0 01-405-193l16 10c1670 1140 9924 3925 18550-3097l13-30c213-506 3068-7606-2380-12626z"/><path fill="url(#o)" d="M14844 27844s1110-4133 7943-4133c740 0 2850-2062 2890-2660s-4370 1836-9023-354c-5024-2363-8836 354-8836 354s1448 3580 5693 3580c-445 3930 1632 8510 6660 10913 113 53 218 112 334 164-2935-1517-5358-4384-5660-7865z"/><path fill="url(#p)" d="M47870 16735c-1044-2512-3160-5224-4820-6082 1352 2650 2134 5310 2433 7294l5 40c-2718-6773-7325-9505-11088-15452l-566-920a7372 7372 0 01-265-497 4370 4370 0 01-359-950 63 63 0 00-55-65 82 82 0 00-45 0l-12 7-17 10 10-14c-6037 3536-8085 10076-8274 13350 280-20 560-43 845-43 4505 0 8430 2477 10530 6148-1284-900-3580-1792-5795-1407 8644 4322 6323 19203-5655 18640a10674 10674 0 01-3127-603 13451 13451 0 01-706-289 9064 9064 0 01-405-193l17 10a14410 14410 0 01-350-174c112 53 218 112 333 164-2935-1517-5358-4384-5660-7865 0 0 1108-4133 7942-4133 740 0 2850-2062 2890-2660-10-195-4190-1860-5822-3465-870-860-1285-1272-1650-1583a7136 7136 0 00-623-470 11134 11134 0 01-67-5873c-2470 1124-4390 2900-5785 4470h-10c-953-1207-886-5187-832-6020-10-50-710 363-802 426a17507 17507 0 00-2349 2012 21048 21048 0 00-2243 2692l-1 3v-3a20284 20284 0 00-3225 7280l-32 160a39787 39787 0 00-277 1515c-2 18 2-17 0 0a27956 27956 0 00-355 3353l-3 122c0 13270 10760 24030 24032 24030 11887 0 21756-8630 23690-19963l110-927c477-4120-53-8453-1560-12075zm-2384 1234l4 26v-2l-4-24z"/><path fill="url(#q)" d="M48463 36861H32320a6919 6919 0 00-6920 6919v3384a937 937 0 00937 936h16143a6919 6919 0 006920-6919v-5257a937 937 0 01-937 937z" filter="url(#r)"/><path fill="#20123a" d="M32624 42417a1026 1026 0 00535-943c0-834-580-1300-1610-1300h-1923v4650h1936c1030 0 1668-458 1668-1376 0-483-217-834-605-1030zm-2114-1447h1057c470 0 694 198 694 523 0 318-204 554-680 554h-1070zm1063 3044h-1063v-1160h1025c567 0 784 210 784 573s-255 586-746 586zm2515 810h3127v-853h-2230v-1057h2230v-847h-2230v-1047h2230v-847h-3127zm7355-4650h-3458v828h1293v3820h885v-3820h1280zm2407 0h-885l-1758 4650h924l305-847h1943l305 847h924zm-1114 2987l675-1847 668 1847z"/></svg>
\ No newline at end of file
node_modules/playwright-core/lib/vite/dashboard/assets/firefox-nightly-Cp5nfeDT.svg deleted
-1
@@ -1 +0,0 @@
1 -<svg xmlns="http://www.w3.org/2000/svg" xmlns:x="http://www.w3.org/1999/xlink" viewBox="0 0 51500 51500"><radialGradient id="c" cx="-922719" cy="-981512" r="8080" gradientTransform="matrix(6.201 0 0 6.2 5764500 6090880)" x:href="#a"><stop offset=".11" stop-color="#3fe1b0"/><stop offset=".12" stop-color="#3bdcb3"/><stop offset=".25" stop-color="#1bb3d3"/><stop offset=".36" stop-color="#0799e6"/><stop offset=".42" stop-color="#0090ed"/><stop offset=".49" stop-color="#2482f1"/><stop offset=".64" stop-color="#7165fb"/><stop offset=".71" stop-color="#9059ff"/><stop offset=".8" stop-color="#7d49ed"/><stop offset=".86" stop-color="#7542e5"/></radialGradient><radialGradient id="e" cx="-925671" cy="-978209" r="8080" gradientTransform="matrix(6.201 0 0 6.2 5764500 6090880)" x:href="#a"><stop offset=".3" stop-color="#45278d"/><stop offset=".34" stop-color="#562896" stop-opacity=".8"/><stop offset=".43" stop-color="#782aa9" stop-opacity=".36"/><stop offset=".49" stop-color="#8d2bb5" stop-opacity=".1"/><stop offset=".53" stop-color="#952bb9" stop-opacity="0"/></radialGradient><radialGradient id="f" cx="30454" cy="-5865" r="5853" x:href="#a"><stop offset=".13" stop-color="#3fe1b0"/><stop offset=".29" stop-color="#28d0c8"/><stop offset=".53" stop-color="#00b3f4"/></radialGradient><radialGradient id="g" cx="18870" cy="39072" r="3847" x:href="#a"><stop offset=".29" stop-color="#0060df"/><stop offset=".42" stop-color="#2357e1"/><stop offset=".6" stop-color="#4f4ce3"/><stop offset=".75" stop-color="#6b45e4"/><stop offset=".83" stop-color="#7542e5"/></radialGradient><radialGradient id="i" cx="-925562" cy="-979155" r="2040" gradientTransform="matrix(6.027 -1.458 1.708 7.059 7275865 5582118)" x:href="#a"><stop offset=".21" stop-color="#45278d" stop-opacity="0"/><stop offset=".25" stop-color="#44268a" stop-opacity=".06"/><stop offset=".72" stop-color="#371f6f" stop-opacity=".6"/><stop offset=".96" stop-color="#321c64" stop-opacity=".8"/></radialGradient><radialGradient id="j" cx="-925773" cy="-981843" r="2768" gradientTransform="matrix(6.201 0 0 6.2 5764500 6090880)" x:href="#a"><stop offset="0" stop-color="#0df"/><stop offset=".23" stop-color="#00d6fd"/><stop offset=".57" stop-color="#00c3f8"/><stop offset=".79" stop-color="#00b3f4"/></radialGradient><radialGradient id="k" cx="-923598" cy="-983598" r="11808" gradientTransform="matrix(6.201 0 0 6.2 5764500 6090880)" x:href="#a"><stop offset=".13" stop-color="#3fe1b0"/><stop offset=".43" stop-color="#0df"/><stop offset=".48" stop-color="#1ec1ff"/><stop offset=".62" stop-color="#7077ff"/><stop offset=".69" stop-color="#9059ff"/><stop offset=".9" stop-color="#b833e1"/></radialGradient><radialGradient id="l" cx="-924717" cy="-982286" r="8650" gradientTransform="matrix(.649 6.166 -4.046 .426 -3344043 6120786)" x:href="#a"><stop offset="0" stop-color="#54ffbd"/><stop offset=".1" stop-color="#4cf3b8"/><stop offset=".2" stop-color="#3fe1b0"/><stop offset=".26" stop-color="#33d8bd"/><stop offset=".37" stop-color="#12c0e1"/><stop offset=".42" stop-color="#00b3f4"/><stop offset=".74" stop-color="#0060df"/></radialGradient><radialGradient id="m" cx="-925838" cy="-980818" r="7372" gradientTransform="matrix(6.201 0 0 6.2 5764500 6090880)" x:href="#a"><stop offset=".14" stop-color="#3fe1b0"/><stop offset=".43" stop-color="#0df"/><stop offset=".48" stop-color="#1ec1ff"/><stop offset=".62" stop-color="#7077ff"/><stop offset=".69" stop-color="#9059ff"/></radialGradient><radialGradient id="n" cx="-923892" cy="-980386" r="8069" gradientTransform="matrix(6.201 0 0 6.2 5764500 6090880)" x:href="#a"><stop offset=".09" stop-color="#54ffbd"/><stop offset=".24" stop-color="#41f7cc"/><stop offset=".54" stop-color="#0fe3f3"/><stop offset=".63" stop-color="#0df"/></radialGradient><linearGradient id="b" x1="4718" x2="5598" y1="12735" y2="38928" x:href="#a"><stop offset="0" stop-color="#3fe1b0"/><stop offset=".41" stop-color="#00b3f4"/><stop offset=".42" stop-color="#03b0f4"/><stop offset=".82" stop-color="#5561e9"/><stop offset="1" stop-color="#7542e5"/></linearGradient><linearGradient id="o" x1="44208" x2="10264" y1="7477" y2="41421" x:href="#a"><stop offset=".17" stop-color="#54ffbd" stop-opacity=".8"/><stop offset=".24" stop-color="#43f8ca" stop-opacity=".64"/><stop offset=".36" stop-color="#27ede1" stop-opacity=".37"/><stop offset=".47" stop-color="#12e4f1" stop-opacity=".17"/><stop offset=".55" stop-color="#05dffb" stop-opacity=".05"/><stop offset=".59" stop-color="#0df" stop-opacity="0"/></linearGradient><linearGradient id="a" gradientUnits="userSpaceOnUse"/><path id="d" d="M47870 16735c-1044-2512-3160-5224-4820-6082 1352 2650 2134 5310 2433 7294 0-6 2 5 4 22l4 26c2268 6147 1032 12398-748 16218-2754 5910-9420 11967-19857 11670-11276-318-21210-8683-23064-19643-338-1728 0-2605 170-4008-207 1080-286 1394-390 3315l-2 123c0 13270 10760 24030 24032 24030 11887 0 21756-8630 23690-19963l110-927c477-4120-53-8453-1560-12075z"/><path id="h" d="M25677 21050c-40 598-2150 2660-2890 2660-6834 0-7943 4133-7943 4133 303 3480 2726 6348 5660 7865 134 70 270 130 405 193a13277 13277 0 00706 289 10674 10674 0 003127 603c11978 562 14300-14320 5655-18640 2213-385 4510 505 5794 1407-2100-3672-6025-6150-10530-6150-285 0-564 24-844 43a12025 12025 0 00-6614 2549c366 310 780 724 1650 1583 1630 1606 5813 3270 5822 3465z"/><path fill="url(#b)" d="M47870 16735c-1044-2512-3160-5224-4820-6082 1352 2650 2134 5310 2433 7294l5 40c-2718-6773-7325-9505-11088-15452l-566-920a7372 7372 0 01-265-497 4370 4370 0 01-359-950 63 63 0 00-55-65 82 82 0 00-45 0l-12 7-17 10 10-14c-6037 3536-8085 10076-8274 13350a12025 12025 0 00-6614 2548 7136 7136 0 00-622-470 11134 11134 0 01-68-5873c-2468 1124-4390 2900-5785 4470h-10c-953-1206-886-5187-832-6018-10-52-710 363-802 425a17507 17507 0 00-2349 2012 21048 21048 0 00-2244 2692l-1 3v-3a20284 20284 0 00-3225 7280l-32 160a39700 39700 0 00-237 1500l-5 52a22907 22907 0 00-390 3316l-1 120c0 13270 10760 24030 24032 24030 11887 0 21756-8630 23690-19963l110-927c477-4120-53-8453-1560-12075zM20170 35545c113 53 220 112 334 164l16 10a12620 12620 0 01-350-174zm5506-14493zm19813-3060l-3-23 4 26z"/><use fill="url(#c)" x:href="#d"/><use fill="url(#e)" x:href="#d"/><path fill="url(#f)" d="M36192 19560l150 110a13070 13070 0 00-2231-2911C26640 9290 32150 563 33080 120l10-13c-6037 3535-8085 10076-8273 13348 280-20 560-43 844-43 4505 0 8430 2477 10530 6150z"/><use fill="url(#g)" x:href="#h"/><use fill="url(#i)" x:href="#h"/><path fill="url(#j)" d="M17083 15204a24404 24404 0 01498 330 11134 11134 0 01-67-5874c-2470 1125-4390 2900-5785 4470 115-3 3600-66 5354 1074z"/><path fill="url(#k)" d="M1822 26240c1855 10960 11788 19325 23063 19644 10437 296 17104-5762 19858-11670 1780-3820 3016-10070 748-16218v-2l-4-24c-2-17-4-28-4-22l5 40c853 5566-1980 10958-6405 14604l-13 30c-8625 7023-16878 4237-18550 3097a14410 14410 0 01-350-174c-5028-2403-7105-6984-6660-10913-4245 0-5693-3580-5693-3580s3812-2718 8836-355c4653 2190 9023 355 9023 354-10-195-4192-1860-5822-3465-872-860-1285-1272-1652-1583a7136 7136 0 00-622-470 28293 28293 0 00-498-330c-1753-1140-5240-1076-5355-1073h-10c-953-1207-886-5188-832-6020-10-50-710 363-802 426a17507 17507 0 00-2349 2012 21048 21048 0 00-2244 2692l-1 3v-3a20284 20284 0 00-3225 7280c-10 52-865 3784-444 5720z"/><path fill="url(#l)" d="M34110 16760a13070 13070 0 012231 2910l360 296c5450 5020 2594 12120 2380 12626 4426-3646 7258-9038 6405-14604-2716-6774-7323-9506-11086-15453l-566-920a7372 7372 0 01-265-497 4370 4370 0 01-359-950 63 63 0 00-55-65 82 82 0 00-45 0l-12 7-17 10c-930 443-6440 9170 1030 16640z"/><path fill="url(#m)" d="M36702 19965a4743 4743 0 00-360-295l-150-110c-1283-900-3580-1792-5794-1407 8644 4322 6323 19203-5655 18640a10674 10674 0 01-3127-603 13451 13451 0 01-706-289 9064 9064 0 01-405-193l16 10c1670 1140 9924 3925 18550-3097l13-30c213-506 3068-7606-2380-12626z"/><path fill="url(#n)" d="M14844 27844s1110-4133 7943-4133c740 0 2850-2062 2890-2660s-4370 1836-9023-354c-5024-2363-8836 354-8836 354s1448 3580 5693 3580c-445 3930 1632 8510 6660 10913 113 53 218 112 334 164-2935-1517-5358-4384-5660-7865z"/><path fill="url(#o)" d="M47870 16735c-1044-2512-3160-5224-4820-6082 1352 2650 2134 5310 2433 7294l5 40c-2718-6773-7325-9505-11088-15452l-566-920a7372 7372 0 01-265-497 4370 4370 0 01-359-950 63 63 0 00-55-65 82 82 0 00-45 0l-12 7-17 10 10-14c-6037 3536-8085 10076-8274 13350 280-20 560-43 845-43 4505 0 8430 2477 10530 6148-1284-900-3580-1792-5795-1407 8644 4322 6323 19203-5655 18640a10674 10674 0 01-3127-603 13451 13451 0 01-706-289 9064 9064 0 01-405-193l17 10a14410 14410 0 01-350-174c112 53 218 112 333 164-2935-1517-5358-4384-5660-7865 0 0 1108-4133 7942-4133 740 0 2850-2062 2890-2660-10-195-4190-1860-5822-3465-870-860-1285-1272-1650-1583a7136 7136 0 00-623-470 11134 11134 0 01-67-5873c-2470 1124-4390 2900-5785 4470h-10c-953-1207-886-5187-832-6020-10-50-710 363-802 426a17507 17507 0 00-2349 2012 21048 21048 0 00-2243 2692l-1 3v-3a20284 20284 0 00-3225 7280l-32 160a39787 39787 0 00-277 1515c-2 18 2-17 0 0a27956 27956 0 00-355 3353l-3 122c0 13270 10760 24030 24032 24030 11887 0 21756-8630 23690-19963l110-927c477-4120-53-8453-1560-12075zm-2384 1234l4 26v-2l-4-24z"/></svg>
\ No newline at end of file
node_modules/playwright-core/lib/vite/dashboard/assets/index-BY2S1tHT.css deleted
-1
@@ -1 +0,0 @@
1 -:root{--color-canvas-default-transparent: rgba(255,255,255,0);--color-marketing-icon-primary: #218bff;--color-marketing-icon-secondary: #54aeff;--color-diff-blob-addition-num-text: #24292f;--color-diff-blob-addition-fg: #24292f;--color-diff-blob-addition-num-bg: #CCFFD8;--color-diff-blob-addition-line-bg: #E6FFEC;--color-diff-blob-addition-word-bg: #ABF2BC;--color-diff-blob-deletion-num-text: #24292f;--color-diff-blob-deletion-fg: #24292f;--color-diff-blob-deletion-num-bg: #FFD7D5;--color-diff-blob-deletion-line-bg: #FFEBE9;--color-diff-blob-deletion-word-bg: rgba(255,129,130,.4);--color-diff-blob-hunk-num-bg: rgba(84,174,255,.4);--color-diff-blob-expander-icon: #57606a;--color-diff-blob-selected-line-highlight-mix-blend-mode: multiply;--color-diffstat-deletion-border: rgba(27,31,36,.15);--color-diffstat-addition-border: rgba(27,31,36,.15);--color-diffstat-addition-bg: #2da44e;--color-search-keyword-hl: #fff8c5;--color-prettylights-syntax-comment: #6e7781;--color-prettylights-syntax-constant: #0550ae;--color-prettylights-syntax-entity: #8250df;--color-prettylights-syntax-storage-modifier-import: #24292f;--color-prettylights-syntax-entity-tag: #116329;--color-prettylights-syntax-keyword: #cf222e;--color-prettylights-syntax-string: #0a3069;--color-prettylights-syntax-variable: #953800;--color-prettylights-syntax-brackethighlighter-unmatched: #82071e;--color-prettylights-syntax-invalid-illegal-text: #f6f8fa;--color-prettylights-syntax-invalid-illegal-bg: #82071e;--color-prettylights-syntax-carriage-return-text: #f6f8fa;--color-prettylights-syntax-carriage-return-bg: #cf222e;--color-prettylights-syntax-string-regexp: #116329;--color-prettylights-syntax-markup-list: #3b2300;--color-prettylights-syntax-markup-heading: #0550ae;--color-prettylights-syntax-markup-italic: #24292f;--color-prettylights-syntax-markup-bold: #24292f;--color-prettylights-syntax-markup-deleted-text: #82071e;--color-prettylights-syntax-markup-deleted-bg: #FFEBE9;--color-prettylights-syntax-markup-inserted-text: #116329;--color-prettylights-syntax-markup-inserted-bg: #dafbe1;--color-prettylights-syntax-markup-changed-text: #953800;--color-prettylights-syntax-markup-changed-bg: #ffd8b5;--color-prettylights-syntax-markup-ignored-text: #eaeef2;--color-prettylights-syntax-markup-ignored-bg: #0550ae;--color-prettylights-syntax-meta-diff-range: #8250df;--color-prettylights-syntax-brackethighlighter-angle: #57606a;--color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;--color-prettylights-syntax-constant-other-reference-link: #0a3069;--color-codemirror-text: #24292f;--color-codemirror-bg: #ffffff;--color-codemirror-gutters-bg: #ffffff;--color-codemirror-guttermarker-text: #ffffff;--color-codemirror-guttermarker-subtle-text: #6e7781;--color-codemirror-linenumber-text: #57606a;--color-codemirror-cursor: #24292f;--color-codemirror-selection-bg: rgba(84,174,255,.4);--color-codemirror-activeline-bg: rgba(234,238,242,.5);--color-codemirror-matchingbracket-text: #24292f;--color-codemirror-lines-bg: #ffffff;--color-codemirror-syntax-comment: #24292f;--color-codemirror-syntax-constant: #0550ae;--color-codemirror-syntax-entity: #8250df;--color-codemirror-syntax-keyword: #cf222e;--color-codemirror-syntax-storage: #cf222e;--color-codemirror-syntax-string: #0a3069;--color-codemirror-syntax-support: #0550ae;--color-codemirror-syntax-variable: #953800;--color-checks-bg: #24292f;--color-checks-run-border-width: 0px;--color-checks-container-border-width: 0px;--color-checks-text-primary: #f6f8fa;--color-checks-text-secondary: #8c959f;--color-checks-text-link: #54aeff;--color-checks-btn-icon: #afb8c1;--color-checks-btn-hover-icon: #f6f8fa;--color-checks-btn-hover-bg: rgba(255,255,255,.125);--color-checks-input-text: #eaeef2;--color-checks-input-placeholder-text: #8c959f;--color-checks-input-focus-text: #8c959f;--color-checks-input-bg: #32383f;--color-checks-input-shadow: none;--color-checks-donut-error: #fa4549;--color-checks-donut-pending: #bf8700;--color-checks-donut-success: #2da44e;--color-checks-donut-neutral: #afb8c1;--color-checks-dropdown-text: #afb8c1;--color-checks-dropdown-bg: #32383f;--color-checks-dropdown-border: #424a53;--color-checks-dropdown-shadow: rgba(27,31,36,.3);--color-checks-dropdown-hover-text: #f6f8fa;--color-checks-dropdown-hover-bg: #424a53;--color-checks-dropdown-btn-hover-text: #f6f8fa;--color-checks-dropdown-btn-hover-bg: #32383f;--color-checks-scrollbar-thumb-bg: #57606a;--color-checks-header-label-text: #d0d7de;--color-checks-header-label-open-text: #f6f8fa;--color-checks-header-border: #32383f;--color-checks-header-icon: #8c959f;--color-checks-line-text: #d0d7de;--color-checks-line-num-text: rgba(140,149,159,.75);--color-checks-line-timestamp-text: #8c959f;--color-checks-line-hover-bg: #32383f;--color-checks-line-selected-bg: rgba(33,139,255,.15);--color-checks-line-selected-num-text: #54aeff;--color-checks-line-dt-fm-text: #24292f;--color-checks-line-dt-fm-bg: #9a6700;--color-checks-gate-bg: rgba(125,78,0,.15);--color-checks-gate-text: #d0d7de;--color-checks-gate-waiting-text: #afb8c1;--color-checks-step-header-open-bg: #32383f;--color-checks-step-error-text: #ff8182;--color-checks-step-warning-text: #d4a72c;--color-checks-logline-text: #8c959f;--color-checks-logline-num-text: rgba(140,149,159,.75);--color-checks-logline-debug-text: #c297ff;--color-checks-logline-error-text: #d0d7de;--color-checks-logline-error-num-text: #ff8182;--color-checks-logline-error-bg: rgba(164,14,38,.15);--color-checks-logline-warning-text: #d0d7de;--color-checks-logline-warning-num-text: #d4a72c;--color-checks-logline-warning-bg: rgba(125,78,0,.15);--color-checks-logline-command-text: #54aeff;--color-checks-logline-section-text: #4ac26b;--color-checks-ansi-black: #24292f;--color-checks-ansi-black-bright: #32383f;--color-checks-ansi-white: #d0d7de;--color-checks-ansi-white-bright: #d0d7de;--color-checks-ansi-gray: #8c959f;--color-checks-ansi-red: #ff8182;--color-checks-ansi-red-bright: #ffaba8;--color-checks-ansi-green: #4ac26b;--color-checks-ansi-green-bright: #6fdd8b;--color-checks-ansi-yellow: #d4a72c;--color-checks-ansi-yellow-bright: #eac54f;--color-checks-ansi-blue: #54aeff;--color-checks-ansi-blue-bright: #80ccff;--color-checks-ansi-magenta: #c297ff;--color-checks-ansi-magenta-bright: #d8b9ff;--color-checks-ansi-cyan: #76e3ea;--color-checks-ansi-cyan-bright: #b3f0ff;--color-project-header-bg: #24292f;--color-project-sidebar-bg: #ffffff;--color-project-gradient-in: #ffffff;--color-project-gradient-out: rgba(255,255,255,0);--color-mktg-success: rgba(36,146,67,1);--color-mktg-info: rgba(19,119,234,1);--color-mktg-bg-shade-gradient-top: rgba(27,31,36,.065);--color-mktg-bg-shade-gradient-bottom: rgba(27,31,36,0);--color-mktg-btn-bg-top: hsla(228,82%,66%,1);--color-mktg-btn-bg-bottom: #4969ed;--color-mktg-btn-bg-overlay-top: hsla(228,74%,59%,1);--color-mktg-btn-bg-overlay-bottom: #3355e0;--color-mktg-btn-text: #ffffff;--color-mktg-btn-primary-bg-top: hsla(137,56%,46%,1);--color-mktg-btn-primary-bg-bottom: #2ea44f;--color-mktg-btn-primary-bg-overlay-top: hsla(134,60%,38%,1);--color-mktg-btn-primary-bg-overlay-bottom: #22863a;--color-mktg-btn-primary-text: #ffffff;--color-mktg-btn-enterprise-bg-top: hsla(249,100%,72%,1);--color-mktg-btn-enterprise-bg-bottom: #6f57ff;--color-mktg-btn-enterprise-bg-overlay-top: hsla(248,65%,63%,1);--color-mktg-btn-enterprise-bg-overlay-bottom: #614eda;--color-mktg-btn-enterprise-text: #ffffff;--color-mktg-btn-outline-text: #4969ed;--color-mktg-btn-outline-border: rgba(73,105,237,.3);--color-mktg-btn-outline-hover-text: #3355e0;--color-mktg-btn-outline-hover-border: rgba(51,85,224,.5);--color-mktg-btn-outline-focus-border: #4969ed;--color-mktg-btn-outline-focus-border-inset: rgba(73,105,237,.5);--color-mktg-btn-dark-text: #ffffff;--color-mktg-btn-dark-border: rgba(255,255,255,.3);--color-mktg-btn-dark-hover-text: #ffffff;--color-mktg-btn-dark-hover-border: rgba(255,255,255,.5);--color-mktg-btn-dark-focus-border: #ffffff;--color-mktg-btn-dark-focus-border-inset: rgba(255,255,255,.5);--color-avatar-bg: #ffffff;--color-avatar-border: rgba(27,31,36,.15);--color-avatar-stack-fade: #afb8c1;--color-avatar-stack-fade-more: #d0d7de;--color-avatar-child-shadow: -2px -2px 0 rgba(255,255,255,.8);--color-topic-tag-border: rgba(0,0,0,0);--color-select-menu-backdrop-border: rgba(0,0,0,0);--color-select-menu-tap-highlight: rgba(175,184,193,.5);--color-select-menu-tap-focus-bg: #b6e3ff;--color-overlay-shadow: 0 1px 3px rgba(27,31,36,.12), 0 8px 24px rgba(66,74,83,.12);--color-header-text: rgba(255,255,255,.7);--color-header-bg: #24292f;--color-header-logo: #ffffff;--color-header-search-bg: #24292f;--color-header-search-border: #57606a;--color-sidenav-selected-bg: #ffffff;--color-menu-bg-active: rgba(0,0,0,0);--color-control-transparent-bg-hover: #818b981a;--color-input-disabled-bg: rgba(175,184,193,.2);--color-timeline-badge-bg: #eaeef2;--color-ansi-black: #24292f;--color-ansi-black-bright: #57606a;--color-ansi-white: #6e7781;--color-ansi-white-bright: #8c959f;--color-ansi-gray: #6e7781;--color-ansi-red: #cf222e;--color-ansi-red-bright: #a40e26;--color-ansi-green: #116329;--color-ansi-green-bright: #1a7f37;--color-ansi-yellow: #4d2d00;--color-ansi-yellow-bright: #633c01;--color-ansi-blue: #0969da;--color-ansi-blue-bright: #218bff;--color-ansi-magenta: #8250df;--color-ansi-magenta-bright: #a475f9;--color-ansi-cyan: #1b7c83;--color-ansi-cyan-bright: #3192aa;--color-btn-text: #24292f;--color-btn-bg: #f6f8fa;--color-btn-border: rgba(27,31,36,.15);--color-btn-shadow: 0 1px 0 rgba(27,31,36,.04);--color-btn-inset-shadow: inset 0 1px 0 rgba(255,255,255,.25);--color-btn-hover-bg: #f3f4f6;--color-btn-hover-border: rgba(27,31,36,.15);--color-btn-active-bg: hsla(220,14%,93%,1);--color-btn-active-border: rgba(27,31,36,.15);--color-btn-selected-bg: hsla(220,14%,94%,1);--color-btn-focus-bg: #f6f8fa;--color-btn-focus-border: rgba(27,31,36,.15);--color-btn-focus-shadow: 0 0 0 3px rgba(9,105,218,.3);--color-btn-shadow-active: inset 0 .15em .3em rgba(27,31,36,.15);--color-btn-shadow-input-focus: 0 0 0 .2em rgba(9,105,218,.3);--color-btn-counter-bg: rgba(27,31,36,.08);--color-btn-primary-text: #ffffff;--color-btn-primary-bg: #2da44e;--color-btn-primary-border: rgba(27,31,36,.15);--color-btn-primary-shadow: 0 1px 0 rgba(27,31,36,.1);--color-btn-primary-inset-shadow: inset 0 1px 0 rgba(255,255,255,.03);--color-btn-primary-hover-bg: #2c974b;--color-btn-primary-hover-border: rgba(27,31,36,.15);--color-btn-primary-selected-bg: hsla(137,55%,36%,1);--color-btn-primary-selected-shadow: inset 0 1px 0 rgba(0,45,17,.2);--color-btn-primary-disabled-text: rgba(255,255,255,.8);--color-btn-primary-disabled-bg: #94d3a2;--color-btn-primary-disabled-border: rgba(27,31,36,.15);--color-btn-primary-focus-bg: #2da44e;--color-btn-primary-focus-border: rgba(27,31,36,.15);--color-btn-primary-focus-shadow: 0 0 0 3px rgba(45,164,78,.4);--color-btn-primary-icon: rgba(255,255,255,.8);--color-btn-primary-counter-bg: rgba(255,255,255,.2);--color-btn-outline-text: #0969da;--color-btn-outline-hover-text: #ffffff;--color-btn-outline-hover-bg: #0969da;--color-btn-outline-hover-border: rgba(27,31,36,.15);--color-btn-outline-hover-shadow: 0 1px 0 rgba(27,31,36,.1);--color-btn-outline-hover-inset-shadow: inset 0 1px 0 rgba(255,255,255,.03);--color-btn-outline-hover-counter-bg: rgba(255,255,255,.2);--color-btn-outline-selected-text: #ffffff;--color-btn-outline-selected-bg: hsla(212,92%,42%,1);--color-btn-outline-selected-border: rgba(27,31,36,.15);--color-btn-outline-selected-shadow: inset 0 1px 0 rgba(0,33,85,.2);--color-btn-outline-disabled-text: rgba(9,105,218,.5);--color-btn-outline-disabled-bg: #f6f8fa;--color-btn-outline-disabled-counter-bg: rgba(9,105,218,.05);--color-btn-outline-focus-border: rgba(27,31,36,.15);--color-btn-outline-focus-shadow: 0 0 0 3px rgba(5,80,174,.4);--color-btn-outline-counter-bg: rgba(9,105,218,.1);--color-btn-danger-text: #cf222e;--color-btn-danger-hover-text: #ffffff;--color-btn-danger-hover-bg: #a40e26;--color-btn-danger-hover-border: rgba(27,31,36,.15);--color-btn-danger-hover-shadow: 0 1px 0 rgba(27,31,36,.1);--color-btn-danger-hover-inset-shadow: inset 0 1px 0 rgba(255,255,255,.03);--color-btn-danger-hover-counter-bg: rgba(255,255,255,.2);--color-btn-danger-selected-text: #ffffff;--color-btn-danger-selected-bg: hsla(356,72%,44%,1);--color-btn-danger-selected-border: rgba(27,31,36,.15);--color-btn-danger-selected-shadow: inset 0 1px 0 rgba(76,0,20,.2);--color-btn-danger-disabled-text: rgba(207,34,46,.5);--color-btn-danger-disabled-bg: #f6f8fa;--color-btn-danger-disabled-counter-bg: rgba(207,34,46,.05);--color-btn-danger-focus-border: rgba(27,31,36,.15);--color-btn-danger-focus-shadow: 0 0 0 3px rgba(164,14,38,.4);--color-btn-danger-counter-bg: rgba(207,34,46,.1);--color-btn-danger-icon: #cf222e;--color-btn-danger-hover-icon: #ffffff;--color-underlinenav-icon: #6e7781;--color-underlinenav-border-hover: rgba(175,184,193,.2);--color-fg-default: #24292f;--color-fg-muted: #57606a;--color-fg-subtle: #6e7781;--color-fg-on-emphasis: #ffffff;--color-canvas-default: #ffffff;--color-canvas-overlay: #ffffff;--color-canvas-inset: #f6f8fa;--color-canvas-subtle: #f6f8fa;--color-border-default: #d0d7de;--color-border-muted: hsla(210,18%,87%,1);--color-border-subtle: rgba(27,31,36,.15);--color-shadow-small: 0 1px 0 rgba(27,31,36,.04);--color-shadow-medium: 0 3px 6px rgba(140,149,159,.15);--color-shadow-large: 0 8px 24px rgba(140,149,159,.2);--color-shadow-extra-large: 0 12px 28px rgba(140,149,159,.3);--color-neutral-emphasis-plus: #24292f;--color-neutral-emphasis: #6e7781;--color-neutral-muted: rgba(175,184,193,.2);--color-neutral-subtle: rgba(234,238,242,.5);--color-accent-fg: #0969da;--color-accent-emphasis: #0969da;--color-accent-muted: rgba(84,174,255,.4);--color-accent-subtle: #ddf4ff;--color-success-fg: #1a7f37;--color-success-emphasis: #2da44e;--color-success-muted: rgba(74,194,107,.4);--color-success-subtle: #dafbe1;--color-attention-fg: #9a6700;--color-attention-emphasis: #bf8700;--color-attention-muted: rgba(212,167,44,.4);--color-attention-subtle: #fff8c5;--color-severe-fg: #bc4c00;--color-severe-emphasis: #bc4c00;--color-severe-muted: rgba(251,143,68,.4);--color-severe-subtle: #fff1e5;--color-danger-fg: #cf222e;--color-danger-emphasis: #cf222e;--color-danger-muted: rgba(255,129,130,.4);--color-danger-subtle: #FFEBE9;--color-done-fg: #8250df;--color-done-emphasis: #8250df;--color-done-muted: rgba(194,151,255,.4);--color-done-subtle: #fbefff;--color-sponsors-fg: #bf3989;--color-sponsors-emphasis: #bf3989;--color-sponsors-muted: rgba(255,128,200,.4);--color-sponsors-subtle: #ffeff7;--color-primer-canvas-backdrop: rgba(27,31,36,.5);--color-primer-canvas-sticky: rgba(255,255,255,.95);--color-primer-border-active: #FD8C73;--color-primer-border-contrast: rgba(27,31,36,.1);--color-primer-shadow-highlight: inset 0 1px 0 rgba(255,255,255,.25);--color-primer-shadow-inset: inset 0 1px 0 rgba(208,215,222,.2);--color-primer-shadow-focus: 0 0 0 3px rgba(9,105,218,.3);--color-scale-black: #1b1f24;--color-scale-white: #ffffff;--color-scale-gray-0: #f6f8fa;--color-scale-gray-1: #eaeef2;--color-scale-gray-2: #d0d7de;--color-scale-gray-3: #afb8c1;--color-scale-gray-4: #8c959f;--color-scale-gray-5: #6e7781;--color-scale-gray-6: #57606a;--color-scale-gray-7: #424a53;--color-scale-gray-8: #32383f;--color-scale-gray-9: #24292f;--color-scale-blue-0: #ddf4ff;--color-scale-blue-1: #b6e3ff;--color-scale-blue-2: #80ccff;--color-scale-blue-3: #54aeff;--color-scale-blue-4: #218bff;--color-scale-blue-5: #0969da;--color-scale-blue-6: #0550ae;--color-scale-blue-7: #033d8b;--color-scale-blue-8: #0a3069;--color-scale-blue-9: #002155;--color-scale-green-0: #dafbe1;--color-scale-green-1: #aceebb;--color-scale-green-2: #6fdd8b;--color-scale-green-3: #4ac26b;--color-scale-green-4: #2da44e;--color-scale-green-5: #1a7f37;--color-scale-green-6: #116329;--color-scale-green-7: #044f1e;--color-scale-green-8: #003d16;--color-scale-green-9: #002d11;--color-scale-yellow-0: #fff8c5;--color-scale-yellow-1: #fae17d;--color-scale-yellow-2: #eac54f;--color-scale-yellow-3: #d4a72c;--color-scale-yellow-4: #bf8700;--color-scale-yellow-5: #9a6700;--color-scale-yellow-6: #7d4e00;--color-scale-yellow-7: #633c01;--color-scale-yellow-8: #4d2d00;--color-scale-yellow-9: #3b2300;--color-scale-orange-0: #fff1e5;--color-scale-orange-1: #ffd8b5;--color-scale-orange-2: #ffb77c;--color-scale-orange-3: #fb8f44;--color-scale-orange-4: #e16f24;--color-scale-orange-5: #bc4c00;--color-scale-orange-6: #953800;--color-scale-orange-7: #762c00;--color-scale-orange-8: #5c2200;--color-scale-orange-9: #471700;--color-scale-red-0: #FFEBE9;--color-scale-red-1: #ffcecb;--color-scale-red-2: #ffaba8;--color-scale-red-3: #ff8182;--color-scale-red-4: #fa4549;--color-scale-red-5: #cf222e;--color-scale-red-6: #a40e26;--color-scale-red-7: #82071e;--color-scale-red-8: #660018;--color-scale-red-9: #4c0014;--color-scale-purple-0: #fbefff;--color-scale-purple-1: #ecd8ff;--color-scale-purple-2: #d8b9ff;--color-scale-purple-3: #c297ff;--color-scale-purple-4: #a475f9;--color-scale-purple-5: #8250df;--color-scale-purple-6: #6639ba;--color-scale-purple-7: #512a97;--color-scale-purple-8: #3e1f79;--color-scale-purple-9: #2e1461;--color-scale-pink-0: #ffeff7;--color-scale-pink-1: #ffd3eb;--color-scale-pink-2: #ffadda;--color-scale-pink-3: #ff80c8;--color-scale-pink-4: #e85aad;--color-scale-pink-5: #bf3989;--color-scale-pink-6: #99286e;--color-scale-pink-7: #772057;--color-scale-pink-8: #611347;--color-scale-pink-9: #4d0336;--color-scale-coral-0: #FFF0EB;--color-scale-coral-1: #FFD6CC;--color-scale-coral-2: #FFB4A1;--color-scale-coral-3: #FD8C73;--color-scale-coral-4: #EC6547;--color-scale-coral-5: #C4432B;--color-scale-coral-6: #9E2F1C;--color-scale-coral-7: #801F0F;--color-scale-coral-8: #691105;--color-scale-coral-9: #510901 }:root.dark-mode{color-scheme:dark;--color-canvas-default-transparent: rgba(13,17,23,0);--color-marketing-icon-primary: #79c0ff;--color-marketing-icon-secondary: #1f6feb;--color-diff-blob-addition-num-text: #c9d1d9;--color-diff-blob-addition-fg: #c9d1d9;--color-diff-blob-addition-num-bg: rgba(63,185,80,.3);--color-diff-blob-addition-line-bg: rgba(46,160,67,.15);--color-diff-blob-addition-word-bg: rgba(46,160,67,.4);--color-diff-blob-deletion-num-text: #c9d1d9;--color-diff-blob-deletion-fg: #c9d1d9;--color-diff-blob-deletion-num-bg: rgba(248,81,73,.3);--color-diff-blob-deletion-line-bg: rgba(248,81,73,.15);--color-diff-blob-deletion-word-bg: rgba(248,81,73,.4);--color-diff-blob-hunk-num-bg: rgba(56,139,253,.4);--color-diff-blob-expander-icon: #8b949e;--color-diff-blob-selected-line-highlight-mix-blend-mode: screen;--color-diffstat-deletion-border: rgba(240,246,252,.1);--color-diffstat-addition-border: rgba(240,246,252,.1);--color-diffstat-addition-bg: #3fb950;--color-search-keyword-hl: rgba(210,153,34,.4);--color-prettylights-syntax-comment: #8b949e;--color-prettylights-syntax-constant: #79c0ff;--color-prettylights-syntax-entity: #d2a8ff;--color-prettylights-syntax-storage-modifier-import: #c9d1d9;--color-prettylights-syntax-entity-tag: #7ee787;--color-prettylights-syntax-keyword: #ff7b72;--color-prettylights-syntax-string: #a5d6ff;--color-prettylights-syntax-variable: #ffa657;--color-prettylights-syntax-brackethighlighter-unmatched: #f85149;--color-prettylights-syntax-invalid-illegal-text: #f0f6fc;--color-prettylights-syntax-invalid-illegal-bg: #8e1519;--color-prettylights-syntax-carriage-return-text: #f0f6fc;--color-prettylights-syntax-carriage-return-bg: #b62324;--color-prettylights-syntax-string-regexp: #7ee787;--color-prettylights-syntax-markup-list: #f2cc60;--color-prettylights-syntax-markup-heading: #1f6feb;--color-prettylights-syntax-markup-italic: #c9d1d9;--color-prettylights-syntax-markup-bold: #c9d1d9;--color-prettylights-syntax-markup-deleted-text: #ffdcd7;--color-prettylights-syntax-markup-deleted-bg: #67060c;--color-prettylights-syntax-markup-inserted-text: #aff5b4;--color-prettylights-syntax-markup-inserted-bg: #033a16;--color-prettylights-syntax-markup-changed-text: #ffdfb6;--color-prettylights-syntax-markup-changed-bg: #5a1e02;--color-prettylights-syntax-markup-ignored-text: #c9d1d9;--color-prettylights-syntax-markup-ignored-bg: #1158c7;--color-prettylights-syntax-meta-diff-range: #d2a8ff;--color-prettylights-syntax-brackethighlighter-angle: #8b949e;--color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;--color-prettylights-syntax-constant-other-reference-link: #a5d6ff;--color-codemirror-text: #c9d1d9;--color-codemirror-bg: #0d1117;--color-codemirror-gutters-bg: #0d1117;--color-codemirror-guttermarker-text: #0d1117;--color-codemirror-guttermarker-subtle-text: #484f58;--color-codemirror-linenumber-text: #8b949e;--color-codemirror-cursor: #c9d1d9;--color-codemirror-selection-bg: rgba(56,139,253,.4);--color-codemirror-activeline-bg: rgba(110,118,129,.1);--color-codemirror-matchingbracket-text: #c9d1d9;--color-codemirror-lines-bg: #0d1117;--color-codemirror-syntax-comment: #8b949e;--color-codemirror-syntax-constant: #79c0ff;--color-codemirror-syntax-entity: #d2a8ff;--color-codemirror-syntax-keyword: #ff7b72;--color-codemirror-syntax-storage: #ff7b72;--color-codemirror-syntax-string: #a5d6ff;--color-codemirror-syntax-support: #79c0ff;--color-codemirror-syntax-variable: #ffa657;--color-checks-bg: #010409;--color-checks-run-border-width: 1px;--color-checks-container-border-width: 1px;--color-checks-text-primary: #c9d1d9;--color-checks-text-secondary: #8b949e;--color-checks-text-link: #58a6ff;--color-checks-btn-icon: #8b949e;--color-checks-btn-hover-icon: #c9d1d9;--color-checks-btn-hover-bg: rgba(110,118,129,.1);--color-checks-input-text: #8b949e;--color-checks-input-placeholder-text: #484f58;--color-checks-input-focus-text: #c9d1d9;--color-checks-input-bg: #161b22;--color-checks-input-shadow: none;--color-checks-donut-error: #f85149;--color-checks-donut-pending: #d29922;--color-checks-donut-success: #2ea043;--color-checks-donut-neutral: #8b949e;--color-checks-dropdown-text: #c9d1d9;--color-checks-dropdown-bg: #161b22;--color-checks-dropdown-border: #30363d;--color-checks-dropdown-shadow: rgba(1,4,9,.3);--color-checks-dropdown-hover-text: #c9d1d9;--color-checks-dropdown-hover-bg: rgba(110,118,129,.1);--color-checks-dropdown-btn-hover-text: #c9d1d9;--color-checks-dropdown-btn-hover-bg: rgba(110,118,129,.1);--color-checks-scrollbar-thumb-bg: rgba(110,118,129,.4);--color-checks-header-label-text: #8b949e;--color-checks-header-label-open-text: #c9d1d9;--color-checks-header-border: #21262d;--color-checks-header-icon: #8b949e;--color-checks-line-text: #8b949e;--color-checks-line-num-text: #484f58;--color-checks-line-timestamp-text: #484f58;--color-checks-line-hover-bg: rgba(110,118,129,.1);--color-checks-line-selected-bg: rgba(56,139,253,.15);--color-checks-line-selected-num-text: #58a6ff;--color-checks-line-dt-fm-text: #f0f6fc;--color-checks-line-dt-fm-bg: #9e6a03;--color-checks-gate-bg: rgba(187,128,9,.15);--color-checks-gate-text: #8b949e;--color-checks-gate-waiting-text: #d29922;--color-checks-step-header-open-bg: #161b22;--color-checks-step-error-text: #f85149;--color-checks-step-warning-text: #d29922;--color-checks-logline-text: #8b949e;--color-checks-logline-num-text: #484f58;--color-checks-logline-debug-text: #a371f7;--color-checks-logline-error-text: #8b949e;--color-checks-logline-error-num-text: #484f58;--color-checks-logline-error-bg: rgba(248,81,73,.15);--color-checks-logline-warning-text: #8b949e;--color-checks-logline-warning-num-text: #d29922;--color-checks-logline-warning-bg: rgba(187,128,9,.15);--color-checks-logline-command-text: #58a6ff;--color-checks-logline-section-text: #3fb950;--color-checks-ansi-black: #0d1117;--color-checks-ansi-black-bright: #161b22;--color-checks-ansi-white: #b1bac4;--color-checks-ansi-white-bright: #b1bac4;--color-checks-ansi-gray: #6e7681;--color-checks-ansi-red: #ff7b72;--color-checks-ansi-red-bright: #ffa198;--color-checks-ansi-green: #3fb950;--color-checks-ansi-green-bright: #56d364;--color-checks-ansi-yellow: #d29922;--color-checks-ansi-yellow-bright: #e3b341;--color-checks-ansi-blue: #58a6ff;--color-checks-ansi-blue-bright: #79c0ff;--color-checks-ansi-magenta: #bc8cff;--color-checks-ansi-magenta-bright: #d2a8ff;--color-checks-ansi-cyan: #76e3ea;--color-checks-ansi-cyan-bright: #b3f0ff;--color-project-header-bg: #0d1117;--color-project-sidebar-bg: #161b22;--color-project-gradient-in: #161b22;--color-project-gradient-out: rgba(22,27,34,0);--color-mktg-success: rgba(41,147,61,1);--color-mktg-info: rgba(42,123,243,1);--color-mktg-bg-shade-gradient-top: rgba(1,4,9,.065);--color-mktg-bg-shade-gradient-bottom: rgba(1,4,9,0);--color-mktg-btn-bg-top: hsla(228,82%,66%,1);--color-mktg-btn-bg-bottom: #4969ed;--color-mktg-btn-bg-overlay-top: hsla(228,74%,59%,1);--color-mktg-btn-bg-overlay-bottom: #3355e0;--color-mktg-btn-text: #f0f6fc;--color-mktg-btn-primary-bg-top: hsla(137,56%,46%,1);--color-mktg-btn-primary-bg-bottom: #2ea44f;--color-mktg-btn-primary-bg-overlay-top: hsla(134,60%,38%,1);--color-mktg-btn-primary-bg-overlay-bottom: #22863a;--color-mktg-btn-primary-text: #f0f6fc;--color-mktg-btn-enterprise-bg-top: hsla(249,100%,72%,1);--color-mktg-btn-enterprise-bg-bottom: #6f57ff;--color-mktg-btn-enterprise-bg-overlay-top: hsla(248,65%,63%,1);--color-mktg-btn-enterprise-bg-overlay-bottom: #614eda;--color-mktg-btn-enterprise-text: #f0f6fc;--color-mktg-btn-outline-text: #f0f6fc;--color-mktg-btn-outline-border: rgba(240,246,252,.3);--color-mktg-btn-outline-hover-text: #f0f6fc;--color-mktg-btn-outline-hover-border: rgba(240,246,252,.5);--color-mktg-btn-outline-focus-border: #f0f6fc;--color-mktg-btn-outline-focus-border-inset: rgba(240,246,252,.5);--color-mktg-btn-dark-text: #f0f6fc;--color-mktg-btn-dark-border: rgba(240,246,252,.3);--color-mktg-btn-dark-hover-text: #f0f6fc;--color-mktg-btn-dark-hover-border: rgba(240,246,252,.5);--color-mktg-btn-dark-focus-border: #f0f6fc;--color-mktg-btn-dark-focus-border-inset: rgba(240,246,252,.5);--color-avatar-bg: rgba(240,246,252,.1);--color-avatar-border: rgba(240,246,252,.1);--color-avatar-stack-fade: #30363d;--color-avatar-stack-fade-more: #21262d;--color-avatar-child-shadow: -2px -2px 0 #0d1117;--color-topic-tag-border: rgba(0,0,0,0);--color-select-menu-backdrop-border: #484f58;--color-select-menu-tap-highlight: rgba(48,54,61,.5);--color-select-menu-tap-focus-bg: #0c2d6b;--color-overlay-shadow: 0 0 0 1px #30363d, 0 16px 32px rgba(1,4,9,.85);--color-header-text: rgba(240,246,252,.7);--color-header-bg: #161b22;--color-header-logo: #f0f6fc;--color-header-search-bg: #0d1117;--color-header-search-border: #30363d;--color-sidenav-selected-bg: #21262d;--color-menu-bg-active: #161b22;--color-control-transparent-bg-hover: #656c7633;--color-input-disabled-bg: rgba(110,118,129,0);--color-timeline-badge-bg: #21262d;--color-ansi-black: #484f58;--color-ansi-black-bright: #6e7681;--color-ansi-white: #b1bac4;--color-ansi-white-bright: #f0f6fc;--color-ansi-gray: #6e7681;--color-ansi-red: #ff7b72;--color-ansi-red-bright: #ffa198;--color-ansi-green: #3fb950;--color-ansi-green-bright: #56d364;--color-ansi-yellow: #d29922;--color-ansi-yellow-bright: #e3b341;--color-ansi-blue: #58a6ff;--color-ansi-blue-bright: #79c0ff;--color-ansi-magenta: #bc8cff;--color-ansi-magenta-bright: #d2a8ff;--color-ansi-cyan: #39c5cf;--color-ansi-cyan-bright: #56d4dd;--color-btn-text: #c9d1d9;--color-btn-bg: #21262d;--color-btn-border: rgba(240,246,252,.1);--color-btn-shadow: 0 0 transparent;--color-btn-inset-shadow: 0 0 transparent;--color-btn-hover-bg: #30363d;--color-btn-hover-border: #8b949e;--color-btn-active-bg: hsla(212,12%,18%,1);--color-btn-active-border: #6e7681;--color-btn-selected-bg: #161b22;--color-btn-focus-bg: #21262d;--color-btn-focus-border: #8b949e;--color-btn-focus-shadow: 0 0 0 3px rgba(139,148,158,.3);--color-btn-shadow-active: inset 0 .15em .3em rgba(1,4,9,.15);--color-btn-shadow-input-focus: 0 0 0 .2em rgba(31,111,235,.3);--color-btn-counter-bg: #30363d;--color-btn-primary-text: #ffffff;--color-btn-primary-bg: #238636;--color-btn-primary-border: rgba(240,246,252,.1);--color-btn-primary-shadow: 0 0 transparent;--color-btn-primary-inset-shadow: 0 0 transparent;--color-btn-primary-hover-bg: #2ea043;--color-btn-primary-hover-border: rgba(240,246,252,.1);--color-btn-primary-selected-bg: #238636;--color-btn-primary-selected-shadow: 0 0 transparent;--color-btn-primary-disabled-text: rgba(240,246,252,.5);--color-btn-primary-disabled-bg: rgba(35,134,54,.6);--color-btn-primary-disabled-border: rgba(240,246,252,.1);--color-btn-primary-focus-bg: #238636;--color-btn-primary-focus-border: rgba(240,246,252,.1);--color-btn-primary-focus-shadow: 0 0 0 3px rgba(46,164,79,.4);--color-btn-primary-icon: #f0f6fc;--color-btn-primary-counter-bg: rgba(240,246,252,.2);--color-btn-outline-text: #58a6ff;--color-btn-outline-hover-text: #58a6ff;--color-btn-outline-hover-bg: #30363d;--color-btn-outline-hover-border: rgba(240,246,252,.1);--color-btn-outline-hover-shadow: 0 1px 0 rgba(1,4,9,.1);--color-btn-outline-hover-inset-shadow: inset 0 1px 0 rgba(240,246,252,.03);--color-btn-outline-hover-counter-bg: rgba(240,246,252,.2);--color-btn-outline-selected-text: #f0f6fc;--color-btn-outline-selected-bg: #0d419d;--color-btn-outline-selected-border: rgba(240,246,252,.1);--color-btn-outline-selected-shadow: 0 0 transparent;--color-btn-outline-disabled-text: rgba(88,166,255,.5);--color-btn-outline-disabled-bg: #0d1117;--color-btn-outline-disabled-counter-bg: rgba(31,111,235,.05);--color-btn-outline-focus-border: rgba(240,246,252,.1);--color-btn-outline-focus-shadow: 0 0 0 3px rgba(17,88,199,.4);--color-btn-outline-counter-bg: rgba(31,111,235,.1);--color-btn-danger-text: #f85149;--color-btn-danger-hover-text: #f0f6fc;--color-btn-danger-hover-bg: #da3633;--color-btn-danger-hover-border: #f85149;--color-btn-danger-hover-shadow: 0 0 transparent;--color-btn-danger-hover-inset-shadow: 0 0 transparent;--color-btn-danger-hover-icon: #f0f6fc;--color-btn-danger-hover-counter-bg: rgba(255,255,255,.2);--color-btn-danger-selected-text: #ffffff;--color-btn-danger-selected-bg: #b62324;--color-btn-danger-selected-border: #ff7b72;--color-btn-danger-selected-shadow: 0 0 transparent;--color-btn-danger-disabled-text: rgba(248,81,73,.5);--color-btn-danger-disabled-bg: #0d1117;--color-btn-danger-disabled-counter-bg: rgba(218,54,51,.05);--color-btn-danger-focus-border: #f85149;--color-btn-danger-focus-shadow: 0 0 0 3px rgba(248,81,73,.4);--color-btn-danger-counter-bg: rgba(218,54,51,.1);--color-btn-danger-icon: #f85149;--color-underlinenav-icon: #484f58;--color-underlinenav-border-hover: rgba(110,118,129,.4);--color-fg-default: #c9d1d9;--color-fg-muted: #8b949e;--color-fg-subtle: #484f58;--color-fg-on-emphasis: #f0f6fc;--color-canvas-default: #0d1117;--color-canvas-overlay: #161b22;--color-canvas-inset: #010409;--color-canvas-subtle: #161b22;--color-border-default: #30363d;--color-border-muted: #21262d;--color-border-subtle: rgba(240,246,252,.1);--color-shadow-small: 0 0 transparent;--color-shadow-medium: 0 3px 6px #010409;--color-shadow-large: 0 8px 24px #010409;--color-shadow-extra-large: 0 12px 48px #010409;--color-neutral-emphasis-plus: #6e7681;--color-neutral-emphasis: #6e7681;--color-neutral-muted: rgba(110,118,129,.4);--color-neutral-subtle: rgba(110,118,129,.1);--color-accent-fg: #58a6ff;--color-accent-emphasis: #1f6feb;--color-accent-muted: rgba(56,139,253,.4);--color-accent-subtle: rgba(56,139,253,.15);--color-success-fg: #3fb950;--color-success-emphasis: #238636;--color-success-muted: rgba(46,160,67,.4);--color-success-subtle: rgba(46,160,67,.15);--color-attention-fg: #d29922;--color-attention-emphasis: #9e6a03;--color-attention-muted: rgba(187,128,9,.4);--color-attention-subtle: rgba(187,128,9,.15);--color-severe-fg: #db6d28;--color-severe-emphasis: #bd561d;--color-severe-muted: rgba(219,109,40,.4);--color-severe-subtle: rgba(219,109,40,.15);--color-danger-fg: #f85149;--color-danger-emphasis: #da3633;--color-danger-muted: rgba(248,81,73,.4);--color-danger-subtle: rgba(248,81,73,.15);--color-done-fg: #a371f7;--color-done-emphasis: #8957e5;--color-done-muted: rgba(163,113,247,.4);--color-done-subtle: rgba(163,113,247,.15);--color-sponsors-fg: #db61a2;--color-sponsors-emphasis: #bf4b8a;--color-sponsors-muted: rgba(219,97,162,.4);--color-sponsors-subtle: rgba(219,97,162,.15);--color-primer-canvas-backdrop: rgba(1,4,9,.8);--color-primer-canvas-sticky: rgba(13,17,23,.95);--color-primer-border-active: #F78166;--color-primer-border-contrast: rgba(240,246,252,.2);--color-primer-shadow-highlight: 0 0 transparent;--color-primer-shadow-inset: 0 0 transparent;--color-primer-shadow-focus: 0 0 0 3px #0c2d6b;--color-scale-black: #010409;--color-scale-white: #f0f6fc;--color-scale-gray-0: #f0f6fc;--color-scale-gray-1: #c9d1d9;--color-scale-gray-2: #b1bac4;--color-scale-gray-3: #8b949e;--color-scale-gray-4: #6e7681;--color-scale-gray-5: #484f58;--color-scale-gray-6: #30363d;--color-scale-gray-7: #21262d;--color-scale-gray-8: #161b22;--color-scale-gray-9: #0d1117;--color-scale-blue-0: #cae8ff;--color-scale-blue-1: #a5d6ff;--color-scale-blue-2: #79c0ff;--color-scale-blue-3: #58a6ff;--color-scale-blue-4: #388bfd;--color-scale-blue-5: #1f6feb;--color-scale-blue-6: #1158c7;--color-scale-blue-7: #0d419d;--color-scale-blue-8: #0c2d6b;--color-scale-blue-9: #051d4d;--color-scale-green-0: #aff5b4;--color-scale-green-1: #7ee787;--color-scale-green-2: #56d364;--color-scale-green-3: #3fb950;--color-scale-green-4: #2ea043;--color-scale-green-5: #238636;--color-scale-green-6: #196c2e;--color-scale-green-7: #0f5323;--color-scale-green-8: #033a16;--color-scale-green-9: #04260f;--color-scale-yellow-0: #f8e3a1;--color-scale-yellow-1: #f2cc60;--color-scale-yellow-2: #e3b341;--color-scale-yellow-3: #d29922;--color-scale-yellow-4: #bb8009;--color-scale-yellow-5: #9e6a03;--color-scale-yellow-6: #845306;--color-scale-yellow-7: #693e00;--color-scale-yellow-8: #4b2900;--color-scale-yellow-9: #341a00;--color-scale-orange-0: #ffdfb6;--color-scale-orange-1: #ffc680;--color-scale-orange-2: #ffa657;--color-scale-orange-3: #f0883e;--color-scale-orange-4: #db6d28;--color-scale-orange-5: #bd561d;--color-scale-orange-6: #9b4215;--color-scale-orange-7: #762d0a;--color-scale-orange-8: #5a1e02;--color-scale-orange-9: #3d1300;--color-scale-red-0: #ffdcd7;--color-scale-red-1: #ffc1ba;--color-scale-red-2: #ffa198;--color-scale-red-3: #ff7b72;--color-scale-red-4: #f85149;--color-scale-red-5: #da3633;--color-scale-red-6: #b62324;--color-scale-red-7: #8e1519;--color-scale-red-8: #67060c;--color-scale-red-9: #490202;--color-scale-purple-0: #eddeff;--color-scale-purple-1: #e2c5ff;--color-scale-purple-2: #d2a8ff;--color-scale-purple-3: #bc8cff;--color-scale-purple-4: #a371f7;--color-scale-purple-5: #8957e5;--color-scale-purple-6: #6e40c9;--color-scale-purple-7: #553098;--color-scale-purple-8: #3c1e70;--color-scale-purple-9: #271052;--color-scale-pink-0: #ffdaec;--color-scale-pink-1: #ffbedd;--color-scale-pink-2: #ff9bce;--color-scale-pink-3: #f778ba;--color-scale-pink-4: #db61a2;--color-scale-pink-5: #bf4b8a;--color-scale-pink-6: #9e3670;--color-scale-pink-7: #7d2457;--color-scale-pink-8: #5e103e;--color-scale-pink-9: #42062a;--color-scale-coral-0: #FFDDD2;--color-scale-coral-1: #FFC2B2;--color-scale-coral-2: #FFA28B;--color-scale-coral-3: #F78166;--color-scale-coral-4: #EA6045;--color-scale-coral-5: #CF462D;--color-scale-coral-6: #AC3220;--color-scale-coral-7: #872012;--color-scale-coral-8: #640D04;--color-scale-coral-9: #460701 }:root{color-scheme:light dark}body{--transparent-blue: #2196F355;--light-pink: #ff69b460;--gray: #888888;--sidebar-width: 250px;--box-shadow: rgba(0, 0, 0, .133) 0px 1.6px 3.6px 0px, rgba(0, 0, 0, .11) 0px .3px .9px 0px}html,body{width:100%;height:100%;padding:0;margin:0;overflow:hidden;display:flex;overscroll-behavior-x:none}#root{width:100%;height:100%;display:flex}body,dialog{background-color:var(--vscode-panel-background);color:var(--vscode-foreground);font-family:var(--vscode-font-family);font-weight:var(--vscode-font-weight);font-size:var(--vscode-font-size);-webkit-font-smoothing:antialiased}a{color:var(--vscode-textLink-foreground)}dialog{border:none;padding:0;box-shadow:var(--box-shadow);line-height:28px;max-width:400px}dialog .title{display:flex;align-items:center;margin:0;padding:0 5px;height:32px;background-color:var(--vscode-sideBar-background);max-width:400px}dialog .title .codicon{margin-right:3px}dialog .body{padding:10px;text-align:center}.button{color:var(--vscode-button-foreground);background:var(--vscode-button-background);margin:10px;border:none;height:28px;min-width:40px;cursor:pointer;-webkit-user-select:none;user-select:none}.button:focus{outline:1px solid var(--vscode-focusBorder)}.button:hover{background:var(--vscode-button-hoverBackground)}.button.secondary{color:var(--vscode-button-secondaryForeground);background:var(--vscode-button-secondaryBackground)}.button.secondary:hover{background:var(--vscode-button-secondaryHoverBackground)}*{box-sizing:border-box;min-width:0;min-height:0}*[hidden],.hidden{display:none!important}.invisible{visibility:hidden!important}svg{fill:currentColor}.vbox{display:flex;flex-direction:column;flex:auto;position:relative}.fill{position:absolute;top:0;right:0;bottom:0;left:0}.hbox{display:flex;flex:auto;position:relative}.spacer{flex:auto}.codicon-check{color:var(--vscode-charts-green)}.codicon-error{color:var(--vscode-errorForeground)}.codicon-warning{color:var(--vscode-list-warningForeground)}.codicon-circle-outline{color:var(--vscode-disabledForeground)}input[type=text],input[type=search]{color:var(--vscode-input-foreground);background-color:var(--vscode-input-background);border:none;outline:none}.codicon-loading{animation:spin 1s infinite linear}::placeholder{color:var(--vscode-input-placeholderForeground)}@keyframes spin{to{transform:rotate(360deg)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--color-canvas-default);color:var(--color-fg-default)}body *{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}#root{height:100%}button{background:none;border:none;color:var(--color-fg-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}button:hover{color:var(--color-fg-default)}svg{fill:none}.dashboard-view{--interactive-orange: 238 134 12;--recording-red: 239 68 68;display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden;position:relative}.dashboard-view.has-annotate-sidebar{flex-direction:row}.dashboard-main{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0}.mode-toggle.toolbar-button.toggled,.mode-toggle.toolbar-button.toggled>.codicon{color:var(--color-fg-on-emphasis)}.mode-toggle.toolbar-button.toggled.mode-interactive{background:rgb(var(--interactive-orange));box-shadow:0 0 0 2px rgb(var(--interactive-orange) / .35)}.mode-toggle.toolbar-button.toggled.mode-record{background:rgb(var(--recording-red));box-shadow:0 0 0 2px rgb(var(--recording-red) / .35)}.mode-toggle.flash{animation:mode-toggle-flash .45s ease-in-out 4}@keyframes mode-toggle-flash{0%,to{box-shadow:0 0 rgb(var(--interactive-orange) / 0)}50%{box-shadow:0 0 0 4px rgb(var(--interactive-orange) / .6);background:rgb(var(--interactive-orange) / .25)}}.toolbar{display:flex;align-items:center;gap:4px;height:40px;min-height:40px;background:var(--color-canvas-overlay);padding:0 8px;position:relative;z-index:100;border-bottom:1px solid var(--color-border-muted);overflow:visible}:root.light-mode .toolbar{background:var(--color-canvas-subtle)}.browser-window{display:flex;flex-direction:column;border:1px solid var(--color-border-default);border-radius:10px;overflow:hidden;box-shadow:0 4px 20px #0003;background:var(--color-canvas-default);position:relative}.browser-chrome{display:flex;align-items:center;gap:4px;height:40px;min-height:40px;padding:0 8px;background:var(--color-canvas-overlay);border-bottom:1px solid var(--color-border-muted);position:relative;overflow:visible}:root.light-mode .browser-chrome{background:var(--color-canvas-subtle)}.omnibox-wrap{flex:1;display:flex;align-items:center;position:relative;min-width:0}.nav-btn{width:32px;height:32px;border-radius:50%}.nav-btn:hover{background:var(--color-neutral-subtle)}.nav-btn:active{background:var(--color-neutral-muted)}.nav-btn[aria-disabled]{color:var(--color-fg-subtle);cursor:default}.nav-btn[aria-disabled]:hover{background:none}.nav-btn svg{width:18px;height:18px}.omnibox{flex:1;height:30px;padding:0 12px;font-size:13px;font-family:inherit;background:var(--color-canvas-inset);color:var(--color-fg-default);border:1px solid var(--color-border-default);border-radius:16px;outline:none;min-width:0}:root.light-mode .omnibox{background:var(--color-canvas-default)}.omnibox:focus{border-color:var(--color-accent-fg);background:var(--color-canvas-default);box-shadow:0 0 0 2px var(--color-accent-muted)}:root.light-mode .omnibox:focus{background:var(--color-canvas-default)}.omnibox::placeholder{color:var(--color-fg-subtle)}.omnibox::selection{background:var(--color-accent-muted)}.omnibox[aria-disabled]{color:var(--color-fg-subtle);cursor:default}.viewport-wrapper{flex:1;display:flex;overflow:hidden;position:relative;min-height:0}.viewport-main{flex:1;display:flex;align-items:center;justify-content:center;position:relative;min-width:0;min-height:0}.screen{position:relative;outline:none;flex:1;min-height:0;width:100%}.display{display:block;width:100%;height:100%;background:var(--color-canvas-subtle);object-fit:contain}.screen-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:14px;z-index:10;pointer-events:none;background:var(--color-canvas-subtle);color:var(--color-fg-subtle)}.screen-overlay.has-frame{background:#c8c8c880}.screen-overlay.has-frame>span{background:#fff6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#000c;padding:12px 24px;border-radius:12px;font-weight:500;border:1px solid rgba(255,255,255,.15);box-shadow:0 0 24px 12px #fff3}.mode-record.toggled>.codicon{animation:mode-record-pulse 1.5s ease-in-out infinite}@keyframes mode-record-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.mode-record-label{display:inline-block;margin-left:5px;white-space:nowrap;animation:mode-record-label-slide-in .3s ease both}@keyframes mode-record-label-slide-in{0%{max-width:0;opacity:0;overflow:hidden}to{max-width:100px;opacity:1;overflow:hidden}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0000008c;z-index:1000;padding:24px}.modal{display:flex;flex-direction:column;width:100%;height:100%;background:var(--color-canvas-default);border:1px solid var(--color-border-default);border-radius:10px;box-shadow:0 10px 40px #00000073;overflow:hidden}.modal-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:4px;height:40px;min-height:40px;background:var(--color-canvas-overlay);padding:0 8px;border-bottom:1px solid var(--color-border-muted)}:root.light-mode .modal-toolbar{background:var(--color-canvas-subtle)}.modal-title{margin-right:auto;padding-left:4px;font-size:13px;font-weight:600;color:var(--color-fg-default)}.modal-body{position:relative;flex:1;display:flex;align-items:center;justify-content:center;min-height:0;padding:16px}.recording-body{background:#000}.recording-video{max-width:100%;max-height:100%;object-fit:contain;display:block}:root{--vscode-font-family: system-ui, "Ubuntu", "Droid Sans", sans-serif;--vscode-font-weight: normal;--vscode-font-size: 13px;--vscode-editor-font-family: "Droid Sans Mono", "monospace", monospace;--vscode-editor-font-weight: normal;--vscode-editor-font-size: 14px;--vscode-foreground: #616161;--vscode-disabledForeground: rgba(97, 97, 97, .5);--vscode-errorForeground: #a1260d;--vscode-descriptionForeground: #717171;--vscode-icon-foreground: #424242;--vscode-focusBorder: #0090f1;--vscode-textSeparator-foreground: rgba(0, 0, 0, .18);--vscode-textLink-foreground: #006ab1;--vscode-textLink-activeForeground: #006ab1;--vscode-textPreformat-foreground: #a31515;--vscode-textBlockQuote-background: rgba(127, 127, 127, .1);--vscode-textBlockQuote-border: rgba(0, 122, 204, .5);--vscode-textCodeBlock-background: rgba(220, 220, 220, .4);--vscode-widget-shadow: rgba(0, 0, 0, .16);--vscode-input-background: #ffffff;--vscode-input-foreground: #616161;--vscode-inputOption-activeBorder: #007acc;--vscode-inputOption-hoverBackground: rgba(184, 184, 184, .31);--vscode-inputOption-activeBackground: rgba(0, 144, 241, .2);--vscode-inputOption-activeForeground: #000000;--vscode-input-placeholderForeground: #767676;--vscode-inputValidation-infoBackground: #d6ecf2;--vscode-inputValidation-infoBorder: #007acc;--vscode-inputValidation-warningBackground: #f6f5d2;--vscode-inputValidation-warningBorder: #b89500;--vscode-inputValidation-errorBackground: #f2dede;--vscode-inputValidation-errorBorder: #be1100;--vscode-dropdown-background: #ffffff;--vscode-dropdown-border: #cecece;--vscode-checkbox-background: #ffffff;--vscode-checkbox-border: #cecece;--vscode-button-foreground: #ffffff;--vscode-button-separator: rgba(255, 255, 255, .4);--vscode-button-background: #007acc;--vscode-button-hoverBackground: #0062a3;--vscode-button-secondaryForeground: #ffffff;--vscode-button-secondaryBackground: #5f6a79;--vscode-button-secondaryHoverBackground: #4c5561;--vscode-badge-background: #c4c4c4;--vscode-badge-foreground: #333333;--vscode-scrollbar-shadow: #dddddd;--vscode-scrollbarSlider-background: rgba(100, 100, 100, .4);--vscode-scrollbarSlider-hoverBackground: rgba(100, 100, 100, .7);--vscode-scrollbarSlider-activeBackground: rgba(0, 0, 0, .6);--vscode-progressBar-background: #0e70c0;--vscode-editorError-foreground: #e51400;--vscode-editorWarning-foreground: #bf8803;--vscode-editorInfo-foreground: #1a85ff;--vscode-editorHint-foreground: #6c6c6c;--vscode-sash-hoverBorder: #0090f1;--vscode-editor-background: #ffffff;--vscode-editor-foreground: #000000;--vscode-editorStickyScroll-background: #ffffff;--vscode-editorStickyScrollHover-background: #f0f0f0;--vscode-editorWidget-background: #f3f3f3;--vscode-editorWidget-foreground: #616161;--vscode-editorWidget-border: #c8c8c8;--vscode-quickInput-background: #f3f3f3;--vscode-quickInput-foreground: #616161;--vscode-quickInputTitle-background: rgba(0, 0, 0, .06);--vscode-pickerGroup-foreground: #0066bf;--vscode-pickerGroup-border: #cccedb;--vscode-keybindingLabel-background: rgba(221, 221, 221, .4);--vscode-keybindingLabel-foreground: #555555;--vscode-keybindingLabel-border: rgba(204, 204, 204, .4);--vscode-keybindingLabel-bottomBorder: rgba(187, 187, 187, .4);--vscode-editor-selectionBackground: #add6ff;--vscode-editor-inactiveSelectionBackground: #e5ebf1;--vscode-editor-selectionHighlightBackground: rgba(173, 214, 255, .5);--vscode-editor-findMatchBackground: #a8ac94;--vscode-editor-findMatchHighlightBackground: rgba(234, 92, 0, .33);--vscode-editor-findRangeHighlightBackground: rgba(180, 180, 180, .3);--vscode-searchEditor-findMatchBackground: rgba(234, 92, 0, .22);--vscode-editor-hoverHighlightBackground: rgba(173, 214, 255, .15);--vscode-editorHoverWidget-background: #f3f3f3;--vscode-editorHoverWidget-foreground: #616161;--vscode-editorHoverWidget-border: #c8c8c8;--vscode-editorHoverWidget-statusBarBackground: #e7e7e7;--vscode-editorLink-activeForeground: #0000ff;--vscode-editorInlayHint-foreground: rgba(51, 51, 51, .8);--vscode-editorInlayHint-background: rgba(196, 196, 196, .3);--vscode-editorInlayHint-typeForeground: rgba(51, 51, 51, .8);--vscode-editorInlayHint-typeBackground: rgba(196, 196, 196, .3);--vscode-editorInlayHint-parameterForeground: rgba(51, 51, 51, .8);--vscode-editorInlayHint-parameterBackground: rgba(196, 196, 196, .3);--vscode-editorLightBulb-foreground: #ddb100;--vscode-editorLightBulbAutoFix-foreground: #007acc;--vscode-diffEditor-insertedTextBackground: rgba(156, 204, 44, .4);--vscode-diffEditor-removedTextBackground: rgba(255, 0, 0, .3);--vscode-diffEditor-insertedLineBackground: rgba(155, 185, 85, .2);--vscode-diffEditor-removedLineBackground: rgba(255, 0, 0, .2);--vscode-diffEditor-diagonalFill: rgba(34, 34, 34, .2);--vscode-list-focusOutline: #0090f1;--vscode-list-focusAndSelectionOutline: #90c2f9;--vscode-list-activeSelectionBackground: #0060c0;--vscode-list-activeSelectionForeground: #ffffff;--vscode-list-activeSelectionIconForeground: #ffffff;--vscode-list-inactiveSelectionBackground: #e4e6f1;--vscode-list-hoverBackground: #e8e8e8;--vscode-list-dropBackground: #d6ebff;--vscode-list-highlightForeground: #0066bf;--vscode-list-focusHighlightForeground: #bbe7ff;--vscode-list-invalidItemForeground: #b89500;--vscode-list-errorForeground: #b01011;--vscode-list-warningForeground: #855f00;--vscode-listFilterWidget-background: #f3f3f3;--vscode-listFilterWidget-outline: rgba(0, 0, 0, 0);--vscode-listFilterWidget-noMatchesOutline: #be1100;--vscode-listFilterWidget-shadow: rgba(0, 0, 0, .16);--vscode-list-filterMatchBackground: rgba(234, 92, 0, .33);--vscode-tree-indentGuidesStroke: #a9a9a9;--vscode-tree-tableColumnsBorder: rgba(97, 97, 97, .13);--vscode-tree-tableOddRowsBackground: rgba(97, 97, 97, .04);--vscode-list-deemphasizedForeground: #8e8e90;--vscode-quickInputList-focusForeground: #ffffff;--vscode-quickInputList-focusIconForeground: #ffffff;--vscode-quickInputList-focusBackground: #0060c0;--vscode-menu-foreground: #616161;--vscode-menu-background: #ffffff;--vscode-menu-selectionForeground: #ffffff;--vscode-menu-selectionBackground: #0060c0;--vscode-menu-separatorBackground: #d4d4d4;--vscode-toolbar-hoverBackground: rgba(184, 184, 184, .31);--vscode-toolbar-activeBackground: rgba(166, 166, 166, .31);--vscode-editor-snippetTabstopHighlightBackground: rgba(10, 50, 100, .2);--vscode-editor-snippetFinalTabstopHighlightBorder: rgba(10, 50, 100, .5);--vscode-breadcrumb-foreground: rgba(97, 97, 97, .8);--vscode-breadcrumb-background: #ffffff;--vscode-breadcrumb-focusForeground: #4e4e4e;--vscode-breadcrumb-activeSelectionForeground: #4e4e4e;--vscode-breadcrumbPicker-background: #f3f3f3;--vscode-merge-currentHeaderBackground: rgba(64, 200, 174, .5);--vscode-merge-currentContentBackground: rgba(64, 200, 174, .2);--vscode-merge-incomingHeaderBackground: rgba(64, 166, 255, .5);--vscode-merge-incomingContentBackground: rgba(64, 166, 255, .2);--vscode-merge-commonHeaderBackground: rgba(96, 96, 96, .4);--vscode-merge-commonContentBackground: rgba(96, 96, 96, .16);--vscode-editorOverviewRuler-currentContentForeground: rgba(64, 200, 174, .5);--vscode-editorOverviewRuler-incomingContentForeground: rgba(64, 166, 255, .5);--vscode-editorOverviewRuler-commonContentForeground: rgba(96, 96, 96, .4);--vscode-editorOverviewRuler-findMatchForeground: rgba(209, 134, 22, .49);--vscode-editorOverviewRuler-selectionHighlightForeground: rgba(160, 160, 160, .8);--vscode-minimap-findMatchHighlight: #d18616;--vscode-minimap-selectionOccurrenceHighlight: #c9c9c9;--vscode-minimap-selectionHighlight: #add6ff;--vscode-minimap-errorHighlight: rgba(255, 18, 18, .7);--vscode-minimap-warningHighlight: #bf8803;--vscode-minimap-foregroundOpacity: #000000;--vscode-minimapSlider-background: rgba(100, 100, 100, .2);--vscode-minimapSlider-hoverBackground: rgba(100, 100, 100, .35);--vscode-minimapSlider-activeBackground: rgba(0, 0, 0, .3);--vscode-problemsErrorIcon-foreground: #e51400;--vscode-problemsWarningIcon-foreground: #bf8803;--vscode-problemsInfoIcon-foreground: #1a85ff;--vscode-charts-foreground: #616161;--vscode-charts-lines: rgba(97, 97, 97, .5);--vscode-charts-red: #e51400;--vscode-charts-blue: #1a85ff;--vscode-charts-yellow: #bf8803;--vscode-charts-orange: #d18616;--vscode-charts-green: #388a34;--vscode-charts-purple: #652d90;--vscode-editor-lineHighlightBorder: #eeeeee;--vscode-editor-rangeHighlightBackground: rgba(253, 255, 0, .2);--vscode-editor-symbolHighlightBackground: rgba(234, 92, 0, .33);--vscode-editorCursor-foreground: #000000;--vscode-editorWhitespace-foreground: rgba(51, 51, 51, .2);--vscode-editorIndentGuide-background: #d3d3d3;--vscode-editorIndentGuide-activeBackground: #939393;--vscode-editorLineNumber-foreground: #237893;--vscode-editorActiveLineNumber-foreground: #0b216f;--vscode-editorLineNumber-activeForeground: #0b216f;--vscode-editorRuler-foreground: #d3d3d3;--vscode-editorCodeLens-foreground: #919191;--vscode-editorBracketMatch-background: rgba(0, 100, 0, .1);--vscode-editorBracketMatch-border: #b9b9b9;--vscode-editorOverviewRuler-border: rgba(127, 127, 127, .3);--vscode-editorGutter-background: #ffffff;--vscode-editorUnnecessaryCode-opacity: rgba(0, 0, 0, .47);--vscode-editorGhostText-foreground: rgba(0, 0, 0, .47);--vscode-editorOverviewRuler-rangeHighlightForeground: rgba(0, 122, 204, .6);--vscode-editorOverviewRuler-errorForeground: rgba(255, 18, 18, .7);--vscode-editorOverviewRuler-warningForeground: #bf8803;--vscode-editorOverviewRuler-infoForeground: #1a85ff;--vscode-editorBracketHighlight-foreground1: #0431fa;--vscode-editorBracketHighlight-foreground2: #319331;--vscode-editorBracketHighlight-foreground3: #7b3814;--vscode-editorBracketHighlight-foreground4: rgba(0, 0, 0, 0);--vscode-editorBracketHighlight-foreground5: rgba(0, 0, 0, 0);--vscode-editorBracketHighlight-foreground6: rgba(0, 0, 0, 0);--vscode-editorBracketHighlight-unexpectedBracket\.foreground: rgba(255, 18, 18, .8);--vscode-editorBracketPairGuide-background1: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background2: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background3: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background4: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background5: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background6: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground1: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground2: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground3: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground4: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground5: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground6: rgba(0, 0, 0, 0);--vscode-editorUnicodeHighlight-border: #cea33d;--vscode-editorUnicodeHighlight-background: rgba(206, 163, 61, .08);--vscode-symbolIcon-arrayForeground: #616161;--vscode-symbolIcon-booleanForeground: #616161;--vscode-symbolIcon-classForeground: #d67e00;--vscode-symbolIcon-colorForeground: #616161;--vscode-symbolIcon-constantForeground: #616161;--vscode-symbolIcon-constructorForeground: #652d90;--vscode-symbolIcon-enumeratorForeground: #d67e00;--vscode-symbolIcon-enumeratorMemberForeground: #007acc;--vscode-symbolIcon-eventForeground: #d67e00;--vscode-symbolIcon-fieldForeground: #007acc;--vscode-symbolIcon-fileForeground: #616161;--vscode-symbolIcon-folderForeground: #616161;--vscode-symbolIcon-functionForeground: #652d90;--vscode-symbolIcon-interfaceForeground: #007acc;--vscode-symbolIcon-keyForeground: #616161;--vscode-symbolIcon-keywordForeground: #616161;--vscode-symbolIcon-methodForeground: #652d90;--vscode-symbolIcon-moduleForeground: #616161;--vscode-symbolIcon-namespaceForeground: #616161;--vscode-symbolIcon-nullForeground: #616161;--vscode-symbolIcon-numberForeground: #616161;--vscode-symbolIcon-objectForeground: #616161;--vscode-symbolIcon-operatorForeground: #616161;--vscode-symbolIcon-packageForeground: #616161;--vscode-symbolIcon-propertyForeground: #616161;--vscode-symbolIcon-referenceForeground: #616161;--vscode-symbolIcon-snippetForeground: #616161;--vscode-symbolIcon-stringForeground: #616161;--vscode-symbolIcon-structForeground: #616161;--vscode-symbolIcon-textForeground: #616161;--vscode-symbolIcon-typeParameterForeground: #616161;--vscode-symbolIcon-unitForeground: #616161;--vscode-symbolIcon-variableForeground: #007acc;--vscode-editorHoverWidget-highlightForeground: #0066bf;--vscode-editorOverviewRuler-bracketMatchForeground: #a0a0a0;--vscode-editor-foldBackground: rgba(173, 214, 255, .3);--vscode-editorGutter-foldingControlForeground: #424242;--vscode-editor-linkedEditingBackground: rgba(255, 0, 0, .3);--vscode-editor-wordHighlightBackground: rgba(87, 87, 87, .25);--vscode-editor-wordHighlightStrongBackground: rgba(14, 99, 156, .25);--vscode-editorOverviewRuler-wordHighlightForeground: rgba(160, 160, 160, .8);--vscode-editorOverviewRuler-wordHighlightStrongForeground: rgba(192, 160, 192, .8);--vscode-peekViewTitle-background: rgba(26, 133, 255, .1);--vscode-peekViewTitleLabel-foreground: #000000;--vscode-peekViewTitleDescription-foreground: #616161;--vscode-peekView-border: #1a85ff;--vscode-peekViewResult-background: #f3f3f3;--vscode-peekViewResult-lineForeground: #646465;--vscode-peekViewResult-fileForeground: #1e1e1e;--vscode-peekViewResult-selectionBackground: rgba(51, 153, 255, .2);--vscode-peekViewResult-selectionForeground: #6c6c6c;--vscode-peekViewEditor-background: #f2f8fc;--vscode-peekViewEditorGutter-background: #f2f8fc;--vscode-peekViewResult-matchHighlightBackground: rgba(234, 92, 0, .3);--vscode-peekViewEditor-matchHighlightBackground: rgba(245, 216, 2, .87);--vscode-editorMarkerNavigationError-background: #e51400;--vscode-editorMarkerNavigationError-headerBackground: rgba(229, 20, 0, .1);--vscode-editorMarkerNavigationWarning-background: #bf8803;--vscode-editorMarkerNavigationWarning-headerBackground: rgba(191, 136, 3, .1);--vscode-editorMarkerNavigationInfo-background: #1a85ff;--vscode-editorMarkerNavigationInfo-headerBackground: rgba(26, 133, 255, .1);--vscode-editorMarkerNavigation-background: #ffffff;--vscode-editorSuggestWidget-background: #f3f3f3;--vscode-editorSuggestWidget-border: #c8c8c8;--vscode-editorSuggestWidget-foreground: #000000;--vscode-editorSuggestWidget-selectedForeground: #ffffff;--vscode-editorSuggestWidget-selectedIconForeground: #ffffff;--vscode-editorSuggestWidget-selectedBackground: #0060c0;--vscode-editorSuggestWidget-highlightForeground: #0066bf;--vscode-editorSuggestWidget-focusHighlightForeground: #bbe7ff;--vscode-editorSuggestWidgetStatus-foreground: rgba(0, 0, 0, .5);--vscode-tab-activeBackground: #ffffff;--vscode-tab-unfocusedActiveBackground: #ffffff;--vscode-tab-inactiveBackground: #ececec;--vscode-tab-unfocusedInactiveBackground: #ececec;--vscode-tab-activeForeground: #333333;--vscode-tab-inactiveForeground: rgba(51, 51, 51, .7);--vscode-tab-unfocusedActiveForeground: rgba(51, 51, 51, .7);--vscode-tab-unfocusedInactiveForeground: rgba(51, 51, 51, .35);--vscode-tab-border: #f3f3f3;--vscode-tab-lastPinnedBorder: rgba(97, 97, 97, .19);--vscode-tab-activeModifiedBorder: #33aaee;--vscode-tab-inactiveModifiedBorder: rgba(51, 170, 238, .5);--vscode-tab-unfocusedActiveModifiedBorder: rgba(51, 170, 238, .7);--vscode-tab-unfocusedInactiveModifiedBorder: rgba(51, 170, 238, .25);--vscode-editorPane-background: #ffffff;--vscode-editorGroupHeader-tabsBackground: #f3f3f3;--vscode-editorGroupHeader-noTabsBackground: #ffffff;--vscode-editorGroup-border: #e7e7e7;--vscode-editorGroup-dropBackground: rgba(38, 119, 203, .18);--vscode-editorGroup-dropIntoPromptForeground: #616161;--vscode-editorGroup-dropIntoPromptBackground: #f3f3f3;--vscode-sideBySideEditor-horizontalBorder: #e7e7e7;--vscode-sideBySideEditor-verticalBorder: #e7e7e7;--vscode-panel-background: #ffffff;--vscode-panel-border: rgba(128, 128, 128, .35);--vscode-panelTitle-activeForeground: #424242;--vscode-panelTitle-inactiveForeground: rgba(66, 66, 66, .75);--vscode-panelTitle-activeBorder: #424242;--vscode-panelInput-border: #dddddd;--vscode-panel-dropBorder: #424242;--vscode-panelSection-dropBackground: rgba(38, 119, 203, .18);--vscode-panelSectionHeader-background: rgba(128, 128, 128, .2);--vscode-panelSection-border: rgba(128, 128, 128, .35);--vscode-banner-background: #004386;--vscode-banner-foreground: #ffffff;--vscode-banner-iconForeground: #1a85ff;--vscode-statusBar-foreground: #ffffff;--vscode-statusBar-noFolderForeground: #ffffff;--vscode-statusBar-background: #007acc;--vscode-statusBar-noFolderBackground: #68217a;--vscode-statusBar-focusBorder: #ffffff;--vscode-statusBarItem-activeBackground: rgba(255, 255, 255, .18);--vscode-statusBarItem-focusBorder: #ffffff;--vscode-statusBarItem-hoverBackground: rgba(255, 255, 255, .12);--vscode-statusBarItem-compactHoverBackground: rgba(255, 255, 255, .2);--vscode-statusBarItem-prominentForeground: #ffffff;--vscode-statusBarItem-prominentBackground: rgba(0, 0, 0, .5);--vscode-statusBarItem-prominentHoverBackground: rgba(0, 0, 0, .3);--vscode-statusBarItem-errorBackground: #c72e0f;--vscode-statusBarItem-errorForeground: #ffffff;--vscode-statusBarItem-warningBackground: #725102;--vscode-statusBarItem-warningForeground: #ffffff;--vscode-activityBar-background: #2c2c2c;--vscode-activityBar-foreground: #ffffff;--vscode-activityBar-inactiveForeground: rgba(255, 255, 255, .4);--vscode-activityBar-activeBorder: #ffffff;--vscode-activityBar-dropBorder: #ffffff;--vscode-activityBarBadge-background: #007acc;--vscode-activityBarBadge-foreground: #ffffff;--vscode-statusBarItem-remoteBackground: #16825d;--vscode-statusBarItem-remoteForeground: #ffffff;--vscode-extensionBadge-remoteBackground: #007acc;--vscode-extensionBadge-remoteForeground: #ffffff;--vscode-sideBar-background: #f3f3f3;--vscode-sideBarTitle-foreground: #6f6f6f;--vscode-sideBar-dropBackground: rgba(38, 119, 203, .18);--vscode-sideBarSectionHeader-background: rgba(0, 0, 0, 0);--vscode-sideBarSectionHeader-border: rgba(97, 97, 97, .19);--vscode-titleBar-activeForeground: #333333;--vscode-titleBar-inactiveForeground: rgba(51, 51, 51, .6);--vscode-titleBar-activeBackground: #dddddd;--vscode-titleBar-inactiveBackground: rgba(221, 221, 221, .6);--vscode-menubar-selectionForeground: #333333;--vscode-menubar-selectionBackground: rgba(184, 184, 184, .31);--vscode-notifications-foreground: #616161;--vscode-notifications-background: #f3f3f3;--vscode-notificationLink-foreground: #006ab1;--vscode-notificationCenterHeader-background: #e7e7e7;--vscode-notifications-border: #e7e7e7;--vscode-notificationsErrorIcon-foreground: #e51400;--vscode-notificationsWarningIcon-foreground: #bf8803;--vscode-notificationsInfoIcon-foreground: #1a85ff;--vscode-commandCenter-foreground: #333333;--vscode-commandCenter-activeForeground: #333333;--vscode-commandCenter-activeBackground: rgba(184, 184, 184, .31);--vscode-commandCenter-border: rgba(128, 128, 128, .35);--vscode-editorCommentsWidget-resolvedBorder: rgba(97, 97, 97, .5);--vscode-editorCommentsWidget-unresolvedBorder: #1a85ff;--vscode-editorCommentsWidget-rangeBackground: rgba(26, 133, 255, .1);--vscode-editorCommentsWidget-rangeBorder: rgba(26, 133, 255, .4);--vscode-editorCommentsWidget-rangeActiveBackground: rgba(26, 133, 255, .1);--vscode-editorCommentsWidget-rangeActiveBorder: rgba(26, 133, 255, .4);--vscode-editorGutter-commentRangeForeground: #d5d8e9;--vscode-debugToolBar-background: #f3f3f3;--vscode-debugIcon-startForeground: #388a34;--vscode-editor-stackFrameHighlightBackground: rgba(255, 255, 102, .45);--vscode-editor-focusedStackFrameHighlightBackground: rgba(206, 231, 206, .45);--vscode-mergeEditor-change\.background: rgba(155, 185, 85, .2);--vscode-mergeEditor-change\.word\.background: rgba(156, 204, 44, .4);--vscode-mergeEditor-conflict\.unhandledUnfocused\.border: rgba(255, 166, 0, .48);--vscode-mergeEditor-conflict\.unhandledFocused\.border: #ffa600;--vscode-mergeEditor-conflict\.handledUnfocused\.border: rgba(134, 134, 134, .29);--vscode-mergeEditor-conflict\.handledFocused\.border: rgba(193, 193, 193, .8);--vscode-mergeEditor-conflict\.handled\.minimapOverViewRuler: rgba(173, 172, 168, .93);--vscode-mergeEditor-conflict\.unhandled\.minimapOverViewRuler: #fcba03;--vscode-mergeEditor-conflictingLines\.background: rgba(255, 234, 0, .28);--vscode-settings-headerForeground: #444444;--vscode-settings-modifiedItemIndicator: #66afe0;--vscode-settings-headerBorder: rgba(128, 128, 128, .35);--vscode-settings-sashBorder: rgba(128, 128, 128, .35);--vscode-settings-dropdownBackground: #ffffff;--vscode-settings-dropdownBorder: #cecece;--vscode-settings-dropdownListBorder: #c8c8c8;--vscode-settings-checkboxBackground: #ffffff;--vscode-settings-checkboxBorder: #cecece;--vscode-settings-textInputBackground: #ffffff;--vscode-settings-textInputForeground: #616161;--vscode-settings-textInputBorder: #cecece;--vscode-settings-numberInputBackground: #ffffff;--vscode-settings-numberInputForeground: #616161;--vscode-settings-numberInputBorder: #cecece;--vscode-settings-focusedRowBackground: rgba(232, 232, 232, .6);--vscode-settings-rowHoverBackground: rgba(232, 232, 232, .3);--vscode-settings-focusedRowBorder: rgba(0, 0, 0, .12);--vscode-terminal-foreground: #333333;--vscode-terminal-selectionBackground: #add6ff;--vscode-terminal-inactiveSelectionBackground: #e5ebf1;--vscode-terminalCommandDecoration-defaultBackground: rgba(0, 0, 0, .25);--vscode-terminalCommandDecoration-successBackground: #2090d3;--vscode-terminalCommandDecoration-errorBackground: #e51400;--vscode-terminalOverviewRuler-cursorForeground: rgba(160, 160, 160, .8);--vscode-terminal-border: rgba(128, 128, 128, .35);--vscode-terminal-findMatchBackground: #a8ac94;--vscode-terminal-findMatchHighlightBackground: rgba(234, 92, 0, .33);--vscode-terminalOverviewRuler-findMatchForeground: rgba(209, 134, 22, .49);--vscode-terminal-dropBackground: rgba(38, 119, 203, .18);--vscode-testing-iconFailed: #f14c4c;--vscode-testing-iconErrored: #f14c4c;--vscode-testing-iconPassed: #73c991;--vscode-testing-runAction: #73c991;--vscode-testing-iconQueued: #cca700;--vscode-testing-iconUnset: #848484;--vscode-testing-iconSkipped: #848484;--vscode-testing-peekBorder: #e51400;--vscode-testing-peekHeaderBackground: rgba(229, 20, 0, .1);--vscode-testing-message\.error\.decorationForeground: #e51400;--vscode-testing-message\.error\.lineBackground: rgba(255, 0, 0, .2);--vscode-testing-message\.info\.decorationForeground: rgba(0, 0, 0, .5);--vscode-welcomePage-tileBackground: #f3f3f3;--vscode-welcomePage-tileHoverBackground: #dbdbdb;--vscode-welcomePage-tileShadow: rgba(0, 0, 0, .16);--vscode-welcomePage-progress\.background: #ffffff;--vscode-welcomePage-progress\.foreground: #006ab1;--vscode-debugExceptionWidget-border: #a31515;--vscode-debugExceptionWidget-background: #f1dfde;--vscode-ports-iconRunningProcessForeground: #369432;--vscode-statusBar-debuggingBackground: #cc6633;--vscode-statusBar-debuggingForeground: #ffffff;--vscode-editor-inlineValuesForeground: rgba(0, 0, 0, .5);--vscode-editor-inlineValuesBackground: rgba(255, 200, 0, .2);--vscode-editorGutter-modifiedBackground: #2090d3;--vscode-editorGutter-addedBackground: #48985d;--vscode-editorGutter-deletedBackground: #e51400;--vscode-minimapGutter-modifiedBackground: #2090d3;--vscode-minimapGutter-addedBackground: #48985d;--vscode-minimapGutter-deletedBackground: #e51400;--vscode-editorOverviewRuler-modifiedForeground: rgba(32, 144, 211, .6);--vscode-editorOverviewRuler-addedForeground: rgba(72, 152, 93, .6);--vscode-editorOverviewRuler-deletedForeground: rgba(229, 20, 0, .6);--vscode-debugIcon-breakpointForeground: #e51400;--vscode-debugIcon-breakpointDisabledForeground: #848484;--vscode-debugIcon-breakpointUnverifiedForeground: #848484;--vscode-debugIcon-breakpointCurrentStackframeForeground: #be8700;--vscode-debugIcon-breakpointStackframeForeground: #89d185;--vscode-notebook-cellBorderColor: #e8e8e8;--vscode-notebook-focusedEditorBorder: #0090f1;--vscode-notebookStatusSuccessIcon-foreground: #388a34;--vscode-notebookStatusErrorIcon-foreground: #a1260d;--vscode-notebookStatusRunningIcon-foreground: #616161;--vscode-notebook-cellToolbarSeparator: rgba(128, 128, 128, .35);--vscode-notebook-selectedCellBackground: rgba(200, 221, 241, .31);--vscode-notebook-selectedCellBorder: #e8e8e8;--vscode-notebook-focusedCellBorder: #0090f1;--vscode-notebook-inactiveFocusedCellBorder: #e8e8e8;--vscode-notebook-cellStatusBarItemHoverBackground: rgba(0, 0, 0, .08);--vscode-notebook-cellInsertionIndicator: #0090f1;--vscode-notebookScrollbarSlider-background: rgba(100, 100, 100, .4);--vscode-notebookScrollbarSlider-hoverBackground: rgba(100, 100, 100, .7);--vscode-notebookScrollbarSlider-activeBackground: rgba(0, 0, 0, .6);--vscode-notebook-symbolHighlightBackground: rgba(253, 255, 0, .2);--vscode-notebook-cellEditorBackground: #f3f3f3;--vscode-notebook-editorBackground: #ffffff;--vscode-keybindingTable-headerBackground: rgba(97, 97, 97, .04);--vscode-keybindingTable-rowsBackground: rgba(97, 97, 97, .04);--vscode-scm-providerBorder: #c8c8c8;--vscode-searchEditor-textInputBorder: #cecece;--vscode-debugTokenExpression-name: #9b46b0;--vscode-debugTokenExpression-value: rgba(108, 108, 108, .8);--vscode-debugTokenExpression-string: #a31515;--vscode-debugTokenExpression-boolean: #0000ff;--vscode-debugTokenExpression-number: #098658;--vscode-debugTokenExpression-error: #e51400;--vscode-debugView-exceptionLabelForeground: #ffffff;--vscode-debugView-exceptionLabelBackground: #a31515;--vscode-debugView-stateLabelForeground: #616161;--vscode-debugView-stateLabelBackground: rgba(136, 136, 136, .27);--vscode-debugView-valueChangedHighlight: #569cd6;--vscode-debugConsole-infoForeground: #1a85ff;--vscode-debugConsole-warningForeground: #bf8803;--vscode-debugConsole-errorForeground: #a1260d;--vscode-debugConsole-sourceForeground: #616161;--vscode-debugConsoleInputIcon-foreground: #616161;--vscode-debugIcon-pauseForeground: #007acc;--vscode-debugIcon-stopForeground: #a1260d;--vscode-debugIcon-disconnectForeground: #a1260d;--vscode-debugIcon-restartForeground: #388a34;--vscode-debugIcon-stepOverForeground: #007acc;--vscode-debugIcon-stepIntoForeground: #007acc;--vscode-debugIcon-stepOutForeground: #007acc;--vscode-debugIcon-continueForeground: #007acc;--vscode-debugIcon-stepBackForeground: #007acc;--vscode-extensionButton-prominentBackground: #007acc;--vscode-extensionButton-prominentForeground: #ffffff;--vscode-extensionButton-prominentHoverBackground: #0062a3;--vscode-extensionIcon-starForeground: #df6100;--vscode-extensionIcon-verifiedForeground: #006ab1;--vscode-extensionIcon-preReleaseForeground: #1d9271;--vscode-extensionIcon-sponsorForeground: #b51e78;--vscode-terminal-ansiBlack: #000000;--vscode-terminal-ansiRed: #cd3131;--vscode-terminal-ansiGreen: #00bc00;--vscode-terminal-ansiYellow: #949800;--vscode-terminal-ansiBlue: #0451a5;--vscode-terminal-ansiMagenta: #bc05bc;--vscode-terminal-ansiCyan: #0598bc;--vscode-terminal-ansiWhite: #555555;--vscode-terminal-ansiBrightBlack: #666666;--vscode-terminal-ansiBrightRed: #cd3131;--vscode-terminal-ansiBrightGreen: #14ce14;--vscode-terminal-ansiBrightYellow: #b5ba00;--vscode-terminal-ansiBrightBlue: #0451a5;--vscode-terminal-ansiBrightMagenta: #bc05bc;--vscode-terminal-ansiBrightCyan: #0598bc;--vscode-terminal-ansiBrightWhite: #a5a5a5;--vscode-interactive-activeCodeBorder: #1a85ff;--vscode-interactive-inactiveCodeBorder: #e4e6f1;--vscode-gitDecoration-addedResourceForeground: #587c0c;--vscode-gitDecoration-modifiedResourceForeground: #895503;--vscode-gitDecoration-deletedResourceForeground: #ad0707;--vscode-gitDecoration-renamedResourceForeground: #007100;--vscode-gitDecoration-untrackedResourceForeground: #007100;--vscode-gitDecoration-ignoredResourceForeground: #8e8e90;--vscode-gitDecoration-stageModifiedResourceForeground: #895503;--vscode-gitDecoration-stageDeletedResourceForeground: #ad0707;--vscode-gitDecoration-conflictingResourceForeground: #ad0707;--vscode-gitDecoration-submoduleResourceForeground: #1258a7}:root.light-mode{color-scheme:light}:root.dark-mode{color-scheme:dark;--vscode-font-family: system-ui, "Ubuntu", "Droid Sans", sans-serif;--vscode-font-weight: normal;--vscode-font-size: 13px;--vscode-editor-font-family: "Droid Sans Mono", "monospace", monospace;--vscode-editor-font-weight: normal;--vscode-editor-font-size: 14px;--vscode-foreground: #cccccc;--vscode-disabledForeground: rgba(204, 204, 204, .5);--vscode-errorForeground: #f48771;--vscode-descriptionForeground: rgba(204, 204, 204, .7);--vscode-icon-foreground: #c5c5c5;--vscode-focusBorder: #007fd4;--vscode-textSeparator-foreground: rgba(255, 255, 255, .18);--vscode-textLink-foreground: #3794ff;--vscode-textLink-activeForeground: #3794ff;--vscode-textPreformat-foreground: #d7ba7d;--vscode-textBlockQuote-background: rgba(127, 127, 127, .1);--vscode-textBlockQuote-border: rgba(0, 122, 204, .5);--vscode-textCodeBlock-background: rgba(10, 10, 10, .4);--vscode-widget-shadow: rgba(0, 0, 0, .36);--vscode-input-background: #3c3c3c;--vscode-input-foreground: #cccccc;--vscode-inputOption-activeBorder: #007acc;--vscode-inputOption-hoverBackground: rgba(90, 93, 94, .5);--vscode-inputOption-activeBackground: rgba(0, 127, 212, .4);--vscode-inputOption-activeForeground: #ffffff;--vscode-input-placeholderForeground: #a6a6a6;--vscode-inputValidation-infoBackground: #063b49;--vscode-inputValidation-infoBorder: #007acc;--vscode-inputValidation-warningBackground: #352a05;--vscode-inputValidation-warningBorder: #b89500;--vscode-inputValidation-errorBackground: #5a1d1d;--vscode-inputValidation-errorBorder: #be1100;--vscode-dropdown-background: #3c3c3c;--vscode-dropdown-foreground: #f0f0f0;--vscode-dropdown-border: #3c3c3c;--vscode-checkbox-background: #3c3c3c;--vscode-checkbox-foreground: #f0f0f0;--vscode-checkbox-border: #3c3c3c;--vscode-button-foreground: #ffffff;--vscode-button-separator: rgba(255, 255, 255, .4);--vscode-button-background: #0e639c;--vscode-button-hoverBackground: #1177bb;--vscode-button-secondaryForeground: #ffffff;--vscode-button-secondaryBackground: #3a3d41;--vscode-button-secondaryHoverBackground: #45494e;--vscode-badge-background: #4d4d4d;--vscode-badge-foreground: #ffffff;--vscode-scrollbar-shadow: #000000;--vscode-scrollbarSlider-background: rgba(121, 121, 121, .4);--vscode-scrollbarSlider-hoverBackground: rgba(100, 100, 100, .7);--vscode-scrollbarSlider-activeBackground: rgba(191, 191, 191, .4);--vscode-progressBar-background: #0e70c0;--vscode-editorError-foreground: #f14c4c;--vscode-editorWarning-foreground: #cca700;--vscode-editorInfo-foreground: #3794ff;--vscode-editorHint-foreground: rgba(238, 238, 238, .7);--vscode-sash-hoverBorder: #007fd4;--vscode-editor-background: #1e1e1e;--vscode-editor-foreground: #d4d4d4;--vscode-editorStickyScroll-background: #1e1e1e;--vscode-editorStickyScrollHover-background: #2a2d2e;--vscode-editorWidget-background: #252526;--vscode-editorWidget-foreground: #cccccc;--vscode-editorWidget-border: #454545;--vscode-quickInput-background: #252526;--vscode-quickInput-foreground: #cccccc;--vscode-quickInputTitle-background: rgba(255, 255, 255, .1);--vscode-pickerGroup-foreground: #3794ff;--vscode-pickerGroup-border: #3f3f46;--vscode-keybindingLabel-background: rgba(128, 128, 128, .17);--vscode-keybindingLabel-foreground: #cccccc;--vscode-keybindingLabel-border: rgba(51, 51, 51, .6);--vscode-keybindingLabel-bottomBorder: rgba(68, 68, 68, .6);--vscode-editor-selectionBackground: #264f78;--vscode-editor-inactiveSelectionBackground: #3a3d41;--vscode-editor-selectionHighlightBackground: rgba(173, 214, 255, .15);--vscode-editor-findMatchBackground: #515c6a;--vscode-editor-findMatchHighlightBackground: rgba(234, 92, 0, .33);--vscode-editor-findRangeHighlightBackground: rgba(58, 61, 65, .4);--vscode-searchEditor-findMatchBackground: rgba(234, 92, 0, .22);--vscode-editor-hoverHighlightBackground: rgba(38, 79, 120, .25);--vscode-editorHoverWidget-background: #252526;--vscode-editorHoverWidget-foreground: #cccccc;--vscode-editorHoverWidget-border: #454545;--vscode-editorHoverWidget-statusBarBackground: #2c2c2d;--vscode-editorLink-activeForeground: #4e94ce;--vscode-editorInlayHint-foreground: rgba(255, 255, 255, .8);--vscode-editorInlayHint-background: rgba(77, 77, 77, .6);--vscode-editorInlayHint-typeForeground: rgba(255, 255, 255, .8);--vscode-editorInlayHint-typeBackground: rgba(77, 77, 77, .6);--vscode-editorInlayHint-parameterForeground: rgba(255, 255, 255, .8);--vscode-editorInlayHint-parameterBackground: rgba(77, 77, 77, .6);--vscode-editorLightBulb-foreground: #ffcc00;--vscode-editorLightBulbAutoFix-foreground: #75beff;--vscode-diffEditor-insertedTextBackground: rgba(156, 204, 44, .2);--vscode-diffEditor-removedTextBackground: rgba(255, 0, 0, .4);--vscode-diffEditor-insertedLineBackground: rgba(155, 185, 85, .2);--vscode-diffEditor-removedLineBackground: rgba(255, 0, 0, .2);--vscode-diffEditor-diagonalFill: rgba(204, 204, 204, .2);--vscode-list-focusOutline: #007fd4;--vscode-list-activeSelectionBackground: #04395e;--vscode-list-activeSelectionForeground: #ffffff;--vscode-list-activeSelectionIconForeground: #ffffff;--vscode-list-inactiveSelectionBackground: #37373d;--vscode-list-hoverBackground: #2a2d2e;--vscode-list-dropBackground: #383b3d;--vscode-list-highlightForeground: #2aaaff;--vscode-list-focusHighlightForeground: #2aaaff;--vscode-list-invalidItemForeground: #b89500;--vscode-list-errorForeground: #f88070;--vscode-list-warningForeground: #cca700;--vscode-listFilterWidget-background: #252526;--vscode-listFilterWidget-outline: rgba(0, 0, 0, 0);--vscode-listFilterWidget-noMatchesOutline: #be1100;--vscode-listFilterWidget-shadow: rgba(0, 0, 0, .36);--vscode-list-filterMatchBackground: rgba(234, 92, 0, .33);--vscode-tree-indentGuidesStroke: #585858;--vscode-tree-tableColumnsBorder: rgba(204, 204, 204, .13);--vscode-tree-tableOddRowsBackground: rgba(204, 204, 204, .04);--vscode-list-deemphasizedForeground: #8c8c8c;--vscode-quickInputList-focusForeground: #ffffff;--vscode-quickInputList-focusIconForeground: #ffffff;--vscode-quickInputList-focusBackground: #04395e;--vscode-menu-foreground: #cccccc;--vscode-menu-background: #303031;--vscode-menu-selectionForeground: #ffffff;--vscode-menu-selectionBackground: #04395e;--vscode-menu-separatorBackground: #606060;--vscode-toolbar-hoverBackground: rgba(90, 93, 94, .31);--vscode-toolbar-activeBackground: rgba(99, 102, 103, .31);--vscode-editor-snippetTabstopHighlightBackground: rgba(124, 124, 124, .3);--vscode-editor-snippetFinalTabstopHighlightBorder: #525252;--vscode-breadcrumb-foreground: rgba(204, 204, 204, .8);--vscode-breadcrumb-background: #1e1e1e;--vscode-breadcrumb-focusForeground: #e0e0e0;--vscode-breadcrumb-activeSelectionForeground: #e0e0e0;--vscode-breadcrumbPicker-background: #252526;--vscode-merge-currentHeaderBackground: rgba(64, 200, 174, .5);--vscode-merge-currentContentBackground: rgba(64, 200, 174, .2);--vscode-merge-incomingHeaderBackground: rgba(64, 166, 255, .5);--vscode-merge-incomingContentBackground: rgba(64, 166, 255, .2);--vscode-merge-commonHeaderBackground: rgba(96, 96, 96, .4);--vscode-merge-commonContentBackground: rgba(96, 96, 96, .16);--vscode-editorOverviewRuler-currentContentForeground: rgba(64, 200, 174, .5);--vscode-editorOverviewRuler-incomingContentForeground: rgba(64, 166, 255, .5);--vscode-editorOverviewRuler-commonContentForeground: rgba(96, 96, 96, .4);--vscode-editorOverviewRuler-findMatchForeground: rgba(209, 134, 22, .49);--vscode-editorOverviewRuler-selectionHighlightForeground: rgba(160, 160, 160, .8);--vscode-minimap-findMatchHighlight: #d18616;--vscode-minimap-selectionOccurrenceHighlight: #676767;--vscode-minimap-selectionHighlight: #264f78;--vscode-minimap-errorHighlight: rgba(255, 18, 18, .7);--vscode-minimap-warningHighlight: #cca700;--vscode-minimap-foregroundOpacity: #000000;--vscode-minimapSlider-background: rgba(121, 121, 121, .2);--vscode-minimapSlider-hoverBackground: rgba(100, 100, 100, .35);--vscode-minimapSlider-activeBackground: rgba(191, 191, 191, .2);--vscode-problemsErrorIcon-foreground: #f14c4c;--vscode-problemsWarningIcon-foreground: #cca700;--vscode-problemsInfoIcon-foreground: #3794ff;--vscode-charts-foreground: #cccccc;--vscode-charts-lines: rgba(204, 204, 204, .5);--vscode-charts-red: #f14c4c;--vscode-charts-blue: #3794ff;--vscode-charts-yellow: #cca700;--vscode-charts-orange: #d18616;--vscode-charts-green: #89d185;--vscode-charts-purple: #b180d7;--vscode-editor-lineHighlightBorder: #282828;--vscode-editor-rangeHighlightBackground: rgba(255, 255, 255, .04);--vscode-editor-symbolHighlightBackground: rgba(234, 92, 0, .33);--vscode-editorCursor-foreground: #aeafad;--vscode-editorWhitespace-foreground: rgba(227, 228, 226, .16);--vscode-editorIndentGuide-background: #404040;--vscode-editorIndentGuide-activeBackground: #707070;--vscode-editorLineNumber-foreground: #858585;--vscode-editorActiveLineNumber-foreground: #c6c6c6;--vscode-editorLineNumber-activeForeground: #c6c6c6;--vscode-editorRuler-foreground: #5a5a5a;--vscode-editorCodeLens-foreground: #999999;--vscode-editorBracketMatch-background: rgba(0, 100, 0, .1);--vscode-editorBracketMatch-border: #888888;--vscode-editorOverviewRuler-border: rgba(127, 127, 127, .3);--vscode-editorGutter-background: #1e1e1e;--vscode-editorUnnecessaryCode-opacity: rgba(0, 0, 0, .67);--vscode-editorGhostText-foreground: rgba(255, 255, 255, .34);--vscode-editorOverviewRuler-rangeHighlightForeground: rgba(0, 122, 204, .6);--vscode-editorOverviewRuler-errorForeground: rgba(255, 18, 18, .7);--vscode-editorOverviewRuler-warningForeground: #cca700;--vscode-editorOverviewRuler-infoForeground: #3794ff;--vscode-editorBracketHighlight-foreground1: #ffd700;--vscode-editorBracketHighlight-foreground2: #da70d6;--vscode-editorBracketHighlight-foreground3: #179fff;--vscode-editorBracketHighlight-foreground4: rgba(0, 0, 0, 0);--vscode-editorBracketHighlight-foreground5: rgba(0, 0, 0, 0);--vscode-editorBracketHighlight-foreground6: rgba(0, 0, 0, 0);--vscode-editorBracketHighlight-unexpectedBracket\.foreground: rgba(255, 18, 18, .8);--vscode-editorBracketPairGuide-background1: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background2: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background3: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background4: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background5: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background6: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground1: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground2: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground3: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground4: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground5: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground6: rgba(0, 0, 0, 0);--vscode-editorUnicodeHighlight-border: #bd9b03;--vscode-editorUnicodeHighlight-background: rgba(189, 155, 3, .15);--vscode-symbolIcon-arrayForeground: #cccccc;--vscode-symbolIcon-booleanForeground: #cccccc;--vscode-symbolIcon-classForeground: #ee9d28;--vscode-symbolIcon-colorForeground: #cccccc;--vscode-symbolIcon-constantForeground: #cccccc;--vscode-symbolIcon-constructorForeground: #b180d7;--vscode-symbolIcon-enumeratorForeground: #ee9d28;--vscode-symbolIcon-enumeratorMemberForeground: #75beff;--vscode-symbolIcon-eventForeground: #ee9d28;--vscode-symbolIcon-fieldForeground: #75beff;--vscode-symbolIcon-fileForeground: #cccccc;--vscode-symbolIcon-folderForeground: #cccccc;--vscode-symbolIcon-functionForeground: #b180d7;--vscode-symbolIcon-interfaceForeground: #75beff;--vscode-symbolIcon-keyForeground: #cccccc;--vscode-symbolIcon-keywordForeground: #cccccc;--vscode-symbolIcon-methodForeground: #b180d7;--vscode-symbolIcon-moduleForeground: #cccccc;--vscode-symbolIcon-namespaceForeground: #cccccc;--vscode-symbolIcon-nullForeground: #cccccc;--vscode-symbolIcon-numberForeground: #cccccc;--vscode-symbolIcon-objectForeground: #cccccc;--vscode-symbolIcon-operatorForeground: #cccccc;--vscode-symbolIcon-packageForeground: #cccccc;--vscode-symbolIcon-propertyForeground: #cccccc;--vscode-symbolIcon-referenceForeground: #cccccc;--vscode-symbolIcon-snippetForeground: #cccccc;--vscode-symbolIcon-stringForeground: #cccccc;--vscode-symbolIcon-structForeground: #cccccc;--vscode-symbolIcon-textForeground: #cccccc;--vscode-symbolIcon-typeParameterForeground: #cccccc;--vscode-symbolIcon-unitForeground: #cccccc;--vscode-symbolIcon-variableForeground: #75beff;--vscode-editorHoverWidget-highlightForeground: #2aaaff;--vscode-editorOverviewRuler-bracketMatchForeground: #a0a0a0;--vscode-editor-foldBackground: rgba(38, 79, 120, .3);--vscode-editorGutter-foldingControlForeground: #c5c5c5;--vscode-editor-linkedEditingBackground: rgba(255, 0, 0, .3);--vscode-editor-wordHighlightBackground: rgba(87, 87, 87, .72);--vscode-editor-wordHighlightStrongBackground: rgba(0, 73, 114, .72);--vscode-editorOverviewRuler-wordHighlightForeground: rgba(160, 160, 160, .8);--vscode-editorOverviewRuler-wordHighlightStrongForeground: rgba(192, 160, 192, .8);--vscode-peekViewTitle-background: rgba(55, 148, 255, .1);--vscode-peekViewTitleLabel-foreground: #ffffff;--vscode-peekViewTitleDescription-foreground: rgba(204, 204, 204, .7);--vscode-peekView-border: #3794ff;--vscode-peekViewResult-background: #252526;--vscode-peekViewResult-lineForeground: #bbbbbb;--vscode-peekViewResult-fileForeground: #ffffff;--vscode-peekViewResult-selectionBackground: rgba(51, 153, 255, .2);--vscode-peekViewResult-selectionForeground: #ffffff;--vscode-peekViewEditor-background: #001f33;--vscode-peekViewEditorGutter-background: #001f33;--vscode-peekViewResult-matchHighlightBackground: rgba(234, 92, 0, .3);--vscode-peekViewEditor-matchHighlightBackground: rgba(255, 143, 0, .6);--vscode-editorMarkerNavigationError-background: #f14c4c;--vscode-editorMarkerNavigationError-headerBackground: rgba(241, 76, 76, .1);--vscode-editorMarkerNavigationWarning-background: #cca700;--vscode-editorMarkerNavigationWarning-headerBackground: rgba(204, 167, 0, .1);--vscode-editorMarkerNavigationInfo-background: #3794ff;--vscode-editorMarkerNavigationInfo-headerBackground: rgba(55, 148, 255, .1);--vscode-editorMarkerNavigation-background: #1e1e1e;--vscode-editorSuggestWidget-background: #252526;--vscode-editorSuggestWidget-border: #454545;--vscode-editorSuggestWidget-foreground: #d4d4d4;--vscode-editorSuggestWidget-selectedForeground: #ffffff;--vscode-editorSuggestWidget-selectedIconForeground: #ffffff;--vscode-editorSuggestWidget-selectedBackground: #04395e;--vscode-editorSuggestWidget-highlightForeground: #2aaaff;--vscode-editorSuggestWidget-focusHighlightForeground: #2aaaff;--vscode-editorSuggestWidgetStatus-foreground: rgba(212, 212, 212, .5);--vscode-tab-activeBackground: #1e1e1e;--vscode-tab-unfocusedActiveBackground: #1e1e1e;--vscode-tab-inactiveBackground: #2d2d2d;--vscode-tab-unfocusedInactiveBackground: #2d2d2d;--vscode-tab-activeForeground: #ffffff;--vscode-tab-inactiveForeground: rgba(255, 255, 255, .5);--vscode-tab-unfocusedActiveForeground: rgba(255, 255, 255, .5);--vscode-tab-unfocusedInactiveForeground: rgba(255, 255, 255, .25);--vscode-tab-border: #252526;--vscode-tab-lastPinnedBorder: rgba(204, 204, 204, .2);--vscode-tab-activeModifiedBorder: #3399cc;--vscode-tab-inactiveModifiedBorder: rgba(51, 153, 204, .5);--vscode-tab-unfocusedActiveModifiedBorder: rgba(51, 153, 204, .5);--vscode-tab-unfocusedInactiveModifiedBorder: rgba(51, 153, 204, .25);--vscode-editorPane-background: #1e1e1e;--vscode-editorGroupHeader-tabsBackground: #252526;--vscode-editorGroupHeader-noTabsBackground: #1e1e1e;--vscode-editorGroup-border: #444444;--vscode-editorGroup-dropBackground: rgba(83, 89, 93, .5);--vscode-editorGroup-dropIntoPromptForeground: #cccccc;--vscode-editorGroup-dropIntoPromptBackground: #252526;--vscode-sideBySideEditor-horizontalBorder: #444444;--vscode-sideBySideEditor-verticalBorder: #444444;--vscode-panel-background: #1e1e1e;--vscode-panel-border: rgba(128, 128, 128, .35);--vscode-panelTitle-activeForeground: #e7e7e7;--vscode-panelTitle-inactiveForeground: rgba(231, 231, 231, .6);--vscode-panelTitle-activeBorder: #e7e7e7;--vscode-panel-dropBorder: #e7e7e7;--vscode-panelSection-dropBackground: rgba(83, 89, 93, .5);--vscode-panelSectionHeader-background: rgba(128, 128, 128, .2);--vscode-panelSection-border: rgba(128, 128, 128, .35);--vscode-banner-background: #04395e;--vscode-banner-foreground: #ffffff;--vscode-banner-iconForeground: #3794ff;--vscode-statusBar-foreground: #ffffff;--vscode-statusBar-noFolderForeground: #ffffff;--vscode-statusBar-background: #007acc;--vscode-statusBar-noFolderBackground: #68217a;--vscode-statusBar-focusBorder: #ffffff;--vscode-statusBarItem-activeBackground: rgba(255, 255, 255, .18);--vscode-statusBarItem-focusBorder: #ffffff;--vscode-statusBarItem-hoverBackground: rgba(255, 255, 255, .12);--vscode-statusBarItem-compactHoverBackground: rgba(255, 255, 255, .2);--vscode-statusBarItem-prominentForeground: #ffffff;--vscode-statusBarItem-prominentBackground: rgba(0, 0, 0, .5);--vscode-statusBarItem-prominentHoverBackground: rgba(0, 0, 0, .3);--vscode-statusBarItem-errorBackground: #c72e0f;--vscode-statusBarItem-errorForeground: #ffffff;--vscode-statusBarItem-warningBackground: #7a6400;--vscode-statusBarItem-warningForeground: #ffffff;--vscode-activityBar-background: #333333;--vscode-activityBar-foreground: #ffffff;--vscode-activityBar-inactiveForeground: rgba(255, 255, 255, .4);--vscode-activityBar-activeBorder: #ffffff;--vscode-activityBar-dropBorder: #ffffff;--vscode-activityBarBadge-background: #007acc;--vscode-activityBarBadge-foreground: #ffffff;--vscode-statusBarItem-remoteBackground: #16825d;--vscode-statusBarItem-remoteForeground: #ffffff;--vscode-extensionBadge-remoteBackground: #007acc;--vscode-extensionBadge-remoteForeground: #ffffff;--vscode-sideBar-background: #252526;--vscode-sideBarTitle-foreground: #bbbbbb;--vscode-sideBar-dropBackground: rgba(83, 89, 93, .5);--vscode-sideBarSectionHeader-background: rgba(0, 0, 0, 0);--vscode-sideBarSectionHeader-border: rgba(204, 204, 204, .2);--vscode-titleBar-activeForeground: #cccccc;--vscode-titleBar-inactiveForeground: rgba(204, 204, 204, .6);--vscode-titleBar-activeBackground: #3c3c3c;--vscode-titleBar-inactiveBackground: rgba(60, 60, 60, .6);--vscode-menubar-selectionForeground: #cccccc;--vscode-menubar-selectionBackground: rgba(90, 93, 94, .31);--vscode-notifications-foreground: #cccccc;--vscode-notifications-background: #252526;--vscode-notificationLink-foreground: #3794ff;--vscode-notificationCenterHeader-background: #303031;--vscode-notifications-border: #303031;--vscode-notificationsErrorIcon-foreground: #f14c4c;--vscode-notificationsWarningIcon-foreground: #cca700;--vscode-notificationsInfoIcon-foreground: #3794ff;--vscode-commandCenter-foreground: #cccccc;--vscode-commandCenter-activeForeground: #cccccc;--vscode-commandCenter-activeBackground: rgba(90, 93, 94, .31);--vscode-commandCenter-border: rgba(128, 128, 128, .35);--vscode-editorCommentsWidget-resolvedBorder: rgba(204, 204, 204, .5);--vscode-editorCommentsWidget-unresolvedBorder: #3794ff;--vscode-editorCommentsWidget-rangeBackground: rgba(55, 148, 255, .1);--vscode-editorCommentsWidget-rangeBorder: rgba(55, 148, 255, .4);--vscode-editorCommentsWidget-rangeActiveBackground: rgba(55, 148, 255, .1);--vscode-editorCommentsWidget-rangeActiveBorder: rgba(55, 148, 255, .4);--vscode-editorGutter-commentRangeForeground: #37373d;--vscode-debugToolBar-background: #333333;--vscode-debugIcon-startForeground: #89d185;--vscode-editor-stackFrameHighlightBackground: rgba(255, 255, 0, .2);--vscode-editor-focusedStackFrameHighlightBackground: rgba(122, 189, 122, .3);--vscode-mergeEditor-change\.background: rgba(155, 185, 85, .2);--vscode-mergeEditor-change\.word\.background: rgba(156, 204, 44, .2);--vscode-mergeEditor-conflict\.unhandledUnfocused\.border: rgba(255, 166, 0, .48);--vscode-mergeEditor-conflict\.unhandledFocused\.border: #ffa600;--vscode-mergeEditor-conflict\.handledUnfocused\.border: rgba(134, 134, 134, .29);--vscode-mergeEditor-conflict\.handledFocused\.border: rgba(193, 193, 193, .8);--vscode-mergeEditor-conflict\.handled\.minimapOverViewRuler: rgba(173, 172, 168, .93);--vscode-mergeEditor-conflict\.unhandled\.minimapOverViewRuler: #fcba03;--vscode-mergeEditor-conflictingLines\.background: rgba(255, 234, 0, .28);--vscode-settings-headerForeground: #e7e7e7;--vscode-settings-modifiedItemIndicator: #0c7d9d;--vscode-settings-headerBorder: rgba(128, 128, 128, .35);--vscode-settings-sashBorder: rgba(128, 128, 128, .35);--vscode-settings-dropdownBackground: #3c3c3c;--vscode-settings-dropdownForeground: #f0f0f0;--vscode-settings-dropdownBorder: #3c3c3c;--vscode-settings-dropdownListBorder: #454545;--vscode-settings-checkboxBackground: #3c3c3c;--vscode-settings-checkboxForeground: #f0f0f0;--vscode-settings-checkboxBorder: #3c3c3c;--vscode-settings-textInputBackground: #3c3c3c;--vscode-settings-textInputForeground: #cccccc;--vscode-settings-numberInputBackground: #3c3c3c;--vscode-settings-numberInputForeground: #cccccc;--vscode-settings-focusedRowBackground: rgba(42, 45, 46, .6);--vscode-settings-rowHoverBackground: rgba(42, 45, 46, .3);--vscode-settings-focusedRowBorder: rgba(255, 255, 255, .12);--vscode-terminal-foreground: #cccccc;--vscode-terminal-selectionBackground: #264f78;--vscode-terminal-inactiveSelectionBackground: #3a3d41;--vscode-terminalCommandDecoration-defaultBackground: rgba(255, 255, 255, .25);--vscode-terminalCommandDecoration-successBackground: #1b81a8;--vscode-terminalCommandDecoration-errorBackground: #f14c4c;--vscode-terminalOverviewRuler-cursorForeground: rgba(160, 160, 160, .8);--vscode-terminal-border: rgba(128, 128, 128, .35);--vscode-terminal-findMatchBackground: #515c6a;--vscode-terminal-findMatchHighlightBackground: rgba(234, 92, 0, .33);--vscode-terminalOverviewRuler-findMatchForeground: rgba(209, 134, 22, .49);--vscode-terminal-dropBackground: rgba(83, 89, 93, .5);--vscode-testing-iconFailed: #f14c4c;--vscode-testing-iconErrored: #f14c4c;--vscode-testing-iconPassed: #73c991;--vscode-testing-runAction: #73c991;--vscode-testing-iconQueued: #cca700;--vscode-testing-iconUnset: #848484;--vscode-testing-iconSkipped: #848484;--vscode-testing-peekBorder: #f14c4c;--vscode-testing-peekHeaderBackground: rgba(241, 76, 76, .1);--vscode-testing-message\.error\.decorationForeground: #f14c4c;--vscode-testing-message\.error\.lineBackground: rgba(255, 0, 0, .2);--vscode-testing-message\.info\.decorationForeground: rgba(212, 212, 212, .5);--vscode-welcomePage-tileBackground: #252526;--vscode-welcomePage-tileHoverBackground: #2c2c2d;--vscode-welcomePage-tileShadow: rgba(0, 0, 0, .36);--vscode-welcomePage-progress\.background: #3c3c3c;--vscode-welcomePage-progress\.foreground: #3794ff;--vscode-debugExceptionWidget-border: #a31515;--vscode-debugExceptionWidget-background: #420b0d;--vscode-ports-iconRunningProcessForeground: #369432;--vscode-statusBar-debuggingBackground: #cc6633;--vscode-statusBar-debuggingForeground: #ffffff;--vscode-editor-inlineValuesForeground: rgba(255, 255, 255, .5);--vscode-editor-inlineValuesBackground: rgba(255, 200, 0, .2);--vscode-editorGutter-modifiedBackground: #1b81a8;--vscode-editorGutter-addedBackground: #487e02;--vscode-editorGutter-deletedBackground: #f14c4c;--vscode-minimapGutter-modifiedBackground: #1b81a8;--vscode-minimapGutter-addedBackground: #487e02;--vscode-minimapGutter-deletedBackground: #f14c4c;--vscode-editorOverviewRuler-modifiedForeground: rgba(27, 129, 168, .6);--vscode-editorOverviewRuler-addedForeground: rgba(72, 126, 2, .6);--vscode-editorOverviewRuler-deletedForeground: rgba(241, 76, 76, .6);--vscode-debugIcon-breakpointForeground: #e51400;--vscode-debugIcon-breakpointDisabledForeground: #848484;--vscode-debugIcon-breakpointUnverifiedForeground: #848484;--vscode-debugIcon-breakpointCurrentStackframeForeground: #ffcc00;--vscode-debugIcon-breakpointStackframeForeground: #89d185;--vscode-notebook-cellBorderColor: #37373d;--vscode-notebook-focusedEditorBorder: #007fd4;--vscode-notebookStatusSuccessIcon-foreground: #89d185;--vscode-notebookStatusErrorIcon-foreground: #f48771;--vscode-notebookStatusRunningIcon-foreground: #cccccc;--vscode-notebook-cellToolbarSeparator: rgba(128, 128, 128, .35);--vscode-notebook-selectedCellBackground: #37373d;--vscode-notebook-selectedCellBorder: #37373d;--vscode-notebook-focusedCellBorder: #007fd4;--vscode-notebook-inactiveFocusedCellBorder: #37373d;--vscode-notebook-cellStatusBarItemHoverBackground: rgba(255, 255, 255, .15);--vscode-notebook-cellInsertionIndicator: #007fd4;--vscode-notebookScrollbarSlider-background: rgba(121, 121, 121, .4);--vscode-notebookScrollbarSlider-hoverBackground: rgba(100, 100, 100, .7);--vscode-notebookScrollbarSlider-activeBackground: rgba(191, 191, 191, .4);--vscode-notebook-symbolHighlightBackground: rgba(255, 255, 255, .04);--vscode-notebook-cellEditorBackground: #252526;--vscode-notebook-editorBackground: #1e1e1e;--vscode-keybindingTable-headerBackground: rgba(204, 204, 204, .04);--vscode-keybindingTable-rowsBackground: rgba(204, 204, 204, .04);--vscode-scm-providerBorder: #454545;--vscode-debugTokenExpression-name: #c586c0;--vscode-debugTokenExpression-value: rgba(204, 204, 204, .6);--vscode-debugTokenExpression-string: #ce9178;--vscode-debugTokenExpression-boolean: #4e94ce;--vscode-debugTokenExpression-number: #b5cea8;--vscode-debugTokenExpression-error: #f48771;--vscode-debugView-exceptionLabelForeground: #cccccc;--vscode-debugView-exceptionLabelBackground: #6c2022;--vscode-debugView-stateLabelForeground: #cccccc;--vscode-debugView-stateLabelBackground: rgba(136, 136, 136, .27);--vscode-debugView-valueChangedHighlight: #569cd6;--vscode-debugConsole-infoForeground: #3794ff;--vscode-debugConsole-warningForeground: #cca700;--vscode-debugConsole-errorForeground: #f48771;--vscode-debugConsole-sourceForeground: #cccccc;--vscode-debugConsoleInputIcon-foreground: #cccccc;--vscode-debugIcon-pauseForeground: #75beff;--vscode-debugIcon-stopForeground: #f48771;--vscode-debugIcon-disconnectForeground: #f48771;--vscode-debugIcon-restartForeground: #89d185;--vscode-debugIcon-stepOverForeground: #75beff;--vscode-debugIcon-stepIntoForeground: #75beff;--vscode-debugIcon-stepOutForeground: #75beff;--vscode-debugIcon-continueForeground: #75beff;--vscode-debugIcon-stepBackForeground: #75beff;--vscode-extensionButton-prominentBackground: #0e639c;--vscode-extensionButton-prominentForeground: #ffffff;--vscode-extensionButton-prominentHoverBackground: #1177bb;--vscode-extensionIcon-starForeground: #ff8e00;--vscode-extensionIcon-verifiedForeground: #3794ff;--vscode-extensionIcon-preReleaseForeground: #1d9271;--vscode-extensionIcon-sponsorForeground: #d758b3;--vscode-terminal-ansiBlack: #000000;--vscode-terminal-ansiRed: #cd3131;--vscode-terminal-ansiGreen: #0dbc79;--vscode-terminal-ansiYellow: #e5e510;--vscode-terminal-ansiBlue: #2472c8;--vscode-terminal-ansiMagenta: #bc3fbc;--vscode-terminal-ansiCyan: #11a8cd;--vscode-terminal-ansiWhite: #e5e5e5;--vscode-terminal-ansiBrightBlack: #666666;--vscode-terminal-ansiBrightRed: #f14c4c;--vscode-terminal-ansiBrightGreen: #23d18b;--vscode-terminal-ansiBrightYellow: #f5f543;--vscode-terminal-ansiBrightBlue: #3b8eea;--vscode-terminal-ansiBrightMagenta: #d670d6;--vscode-terminal-ansiBrightCyan: #29b8db;--vscode-terminal-ansiBrightWhite: #e5e5e5;--vscode-interactive-activeCodeBorder: #3794ff;--vscode-interactive-inactiveCodeBorder: #37373d;--vscode-gitDecoration-addedResourceForeground: #81b88b;--vscode-gitDecoration-modifiedResourceForeground: #e2c08d;--vscode-gitDecoration-deletedResourceForeground: #c74e39;--vscode-gitDecoration-renamedResourceForeground: #73c991;--vscode-gitDecoration-untrackedResourceForeground: #73c991;--vscode-gitDecoration-ignoredResourceForeground: #8c8c8c;--vscode-gitDecoration-stageModifiedResourceForeground: #e2c08d;--vscode-gitDecoration-stageDeletedResourceForeground: #c74e39;--vscode-gitDecoration-conflictingResourceForeground: #e4676b;--vscode-gitDecoration-submoduleResourceForeground: #8db9e2}.toolbar-button{position:relative;flex:none;border:none;outline:none;color:var(--vscode-sideBarTitle-foreground);background:transparent;padding:4px;cursor:pointer;display:inline-flex;align-items:center;border-radius:4px}.toolbar-button:disabled{color:var(--vscode-disabledForeground)!important;cursor:default}.toolbar-button:not(:disabled):hover{background-color:var(--vscode-toolbar-hoverBackground)}.toolbar-button:not(:disabled):active{background-color:var(--vscode-toolbar-activeBackground)}.toolbar-button.toggled{color:var(--vscode-notificationLink-foreground)}.toolbar-button-error-badge{position:absolute;top:2px;right:2px;width:7px;height:7px;border-radius:50%;background-color:var(--vscode-notificationsErrorIcon-foreground)}.toolbar-separator{flex:none;background-color:var(--vscode-menu-separatorBackground);width:1px;padding:0;margin:5px 4px;height:16px}@font-face{font-family:codicon;src:url(/assets/codicon-DCmgc-ay.ttf) format("truetype")}.codicon{font: 16px/1 codicon;flex:none;display:inline-block;text-decoration:none;text-rendering:auto;text-align:center;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.codicon-add:before{content:""}.codicon-plus:before{content:""}.codicon-gist-new:before{content:""}.codicon-repo-create:before{content:""}.codicon-lightbulb:before{content:""}.codicon-light-bulb:before{content:""}.codicon-repo:before{content:""}.codicon-repo-delete:before{content:""}.codicon-gist-fork:before{content:""}.codicon-repo-forked:before{content:""}.codicon-git-pull-request:before{content:""}.codicon-git-pull-request-abandoned:before{content:""}.codicon-record-keys:before{content:""}.codicon-keyboard:before{content:""}.codicon-tag:before{content:""}.codicon-git-pull-request-label:before{content:""}.codicon-tag-add:before{content:""}.codicon-tag-remove:before{content:""}.codicon-person:before{content:""}.codicon-person-follow:before{content:""}.codicon-person-outline:before{content:""}.codicon-person-filled:before{content:""}.codicon-git-branch:before{content:""}.codicon-git-branch-create:before{content:""}.codicon-git-branch-delete:before{content:""}.codicon-source-control:before{content:""}.codicon-mirror:before{content:""}.codicon-mirror-public:before{content:""}.codicon-star:before{content:""}.codicon-star-add:before{content:""}.codicon-star-delete:before{content:""}.codicon-star-empty:before{content:""}.codicon-comment:before{content:""}.codicon-comment-add:before{content:""}.codicon-alert:before{content:""}.codicon-warning:before{content:""}.codicon-search:before{content:""}.codicon-search-save:before{content:""}.codicon-log-out:before{content:""}.codicon-sign-out:before{content:""}.codicon-log-in:before{content:""}.codicon-sign-in:before{content:""}.codicon-eye:before{content:""}.codicon-eye-unwatch:before{content:""}.codicon-eye-watch:before{content:""}.codicon-circle-filled:before{content:""}.codicon-primitive-dot:before{content:""}.codicon-close-dirty:before{content:""}.codicon-debug-breakpoint:before{content:""}.codicon-debug-breakpoint-disabled:before{content:""}.codicon-debug-hint:before{content:""}.codicon-terminal-decoration-success:before{content:""}.codicon-primitive-square:before{content:""}.codicon-edit:before{content:""}.codicon-pencil:before{content:""}.codicon-info:before{content:""}.codicon-issue-opened:before{content:""}.codicon-gist-private:before{content:""}.codicon-git-fork-private:before{content:""}.codicon-lock:before{content:""}.codicon-mirror-private:before{content:""}.codicon-close:before{content:""}.codicon-remove-close:before{content:""}.codicon-x:before{content:""}.codicon-repo-sync:before{content:""}.codicon-sync:before{content:""}.codicon-clone:before{content:""}.codicon-desktop-download:before{content:""}.codicon-beaker:before{content:""}.codicon-microscope:before{content:""}.codicon-vm:before{content:""}.codicon-device-desktop:before{content:""}.codicon-file:before{content:""}.codicon-file-text:before{content:""}.codicon-more:before{content:""}.codicon-ellipsis:before{content:""}.codicon-kebab-horizontal:before{content:""}.codicon-mail-reply:before{content:""}.codicon-reply:before{content:""}.codicon-organization:before{content:""}.codicon-organization-filled:before{content:""}.codicon-organization-outline:before{content:""}.codicon-new-file:before{content:""}.codicon-file-add:before{content:""}.codicon-new-folder:before{content:""}.codicon-file-directory-create:before{content:""}.codicon-trash:before{content:""}.codicon-trashcan:before{content:""}.codicon-history:before{content:""}.codicon-clock:before{content:""}.codicon-folder:before{content:""}.codicon-file-directory:before{content:""}.codicon-symbol-folder:before{content:""}.codicon-logo-github:before{content:""}.codicon-mark-github:before{content:""}.codicon-github:before{content:""}.codicon-terminal:before{content:""}.codicon-console:before{content:""}.codicon-repl:before{content:""}.codicon-zap:before{content:""}.codicon-symbol-event:before{content:""}.codicon-error:before{content:""}.codicon-stop:before{content:""}.codicon-variable:before{content:""}.codicon-symbol-variable:before{content:""}.codicon-array:before{content:""}.codicon-symbol-array:before{content:""}.codicon-symbol-module:before{content:""}.codicon-symbol-package:before{content:""}.codicon-symbol-namespace:before{content:""}.codicon-symbol-object:before{content:""}.codicon-symbol-method:before{content:""}.codicon-symbol-function:before{content:""}.codicon-symbol-constructor:before{content:""}.codicon-symbol-boolean:before{content:""}.codicon-symbol-null:before{content:""}.codicon-symbol-numeric:before{content:""}.codicon-symbol-number:before{content:""}.codicon-symbol-structure:before{content:""}.codicon-symbol-struct:before{content:""}.codicon-symbol-parameter:before{content:""}.codicon-symbol-type-parameter:before{content:""}.codicon-symbol-key:before{content:""}.codicon-symbol-text:before{content:""}.codicon-symbol-reference:before{content:""}.codicon-go-to-file:before{content:""}.codicon-symbol-enum:before{content:""}.codicon-symbol-value:before{content:""}.codicon-symbol-ruler:before{content:""}.codicon-symbol-unit:before{content:""}.codicon-activate-breakpoints:before{content:""}.codicon-archive:before{content:""}.codicon-arrow-both:before{content:""}.codicon-arrow-down:before{content:""}.codicon-arrow-left:before{content:""}.codicon-arrow-right:before{content:""}.codicon-arrow-small-down:before{content:""}.codicon-arrow-small-left:before{content:""}.codicon-arrow-small-right:before{content:""}.codicon-arrow-small-up:before{content:""}.codicon-arrow-up:before{content:""}.codicon-bell:before{content:""}.codicon-bold:before{content:""}.codicon-book:before{content:""}.codicon-bookmark:before{content:""}.codicon-debug-breakpoint-conditional-unverified:before{content:""}.codicon-debug-breakpoint-conditional:before{content:""}.codicon-debug-breakpoint-conditional-disabled:before{content:""}.codicon-debug-breakpoint-data-unverified:before{content:""}.codicon-debug-breakpoint-data:before{content:""}.codicon-debug-breakpoint-data-disabled:before{content:""}.codicon-debug-breakpoint-log-unverified:before{content:""}.codicon-debug-breakpoint-log:before{content:""}.codicon-debug-breakpoint-log-disabled:before{content:""}.codicon-briefcase:before{content:""}.codicon-broadcast:before{content:""}.codicon-browser:before{content:""}.codicon-bug:before{content:""}.codicon-calendar:before{content:""}.codicon-case-sensitive:before{content:""}.codicon-check:before{content:""}.codicon-checklist:before{content:""}.codicon-chevron-down:before{content:""}.codicon-chevron-left:before{content:""}.codicon-chevron-right:before{content:""}.codicon-chevron-up:before{content:""}.codicon-chrome-close:before{content:""}.codicon-chrome-maximize:before{content:""}.codicon-chrome-minimize:before{content:""}.codicon-chrome-restore:before{content:""}.codicon-circle-outline:before{content:""}.codicon-circle:before{content:""}.codicon-debug-breakpoint-unverified:before{content:""}.codicon-terminal-decoration-incomplete:before{content:""}.codicon-circle-slash:before{content:""}.codicon-circuit-board:before{content:""}.codicon-clear-all:before{content:""}.codicon-clippy:before{content:""}.codicon-close-all:before{content:""}.codicon-cloud-download:before{content:""}.codicon-cloud-upload:before{content:""}.codicon-code:before{content:""}.codicon-collapse-all:before{content:""}.codicon-color-mode:before{content:""}.codicon-comment-discussion:before{content:""}.codicon-credit-card:before{content:""}.codicon-dash:before{content:""}.codicon-dashboard:before{content:""}.codicon-database:before{content:""}.codicon-debug-continue:before{content:""}.codicon-debug-disconnect:before{content:""}.codicon-debug-pause:before{content:""}.codicon-debug-restart:before{content:""}.codicon-debug-start:before{content:""}.codicon-debug-step-into:before{content:""}.codicon-debug-step-out:before{content:""}.codicon-debug-step-over:before{content:""}.codicon-debug-stop:before{content:""}.codicon-debug:before{content:""}.codicon-device-camera-video:before{content:""}.codicon-device-camera:before{content:""}.codicon-device-mobile:before{content:""}.codicon-diff-added:before{content:""}.codicon-diff-ignored:before{content:""}.codicon-diff-modified:before{content:""}.codicon-diff-removed:before{content:""}.codicon-diff-renamed:before{content:""}.codicon-diff:before{content:""}.codicon-diff-sidebyside:before{content:""}.codicon-discard:before{content:""}.codicon-editor-layout:before{content:""}.codicon-empty-window:before{content:""}.codicon-exclude:before{content:""}.codicon-extensions:before{content:""}.codicon-eye-closed:before{content:""}.codicon-file-binary:before{content:""}.codicon-file-code:before{content:""}.codicon-file-media:before{content:""}.codicon-file-pdf:before{content:""}.codicon-file-submodule:before{content:""}.codicon-file-symlink-directory:before{content:""}.codicon-file-symlink-file:before{content:""}.codicon-file-zip:before{content:""}.codicon-files:before{content:""}.codicon-filter:before{content:""}.codicon-flame:before{content:""}.codicon-fold-down:before{content:""}.codicon-fold-up:before{content:""}.codicon-fold:before{content:""}.codicon-folder-active:before{content:""}.codicon-folder-opened:before{content:""}.codicon-gear:before{content:""}.codicon-gift:before{content:""}.codicon-gist-secret:before{content:""}.codicon-gist:before{content:""}.codicon-git-commit:before{content:""}.codicon-git-compare:before{content:""}.codicon-compare-changes:before{content:""}.codicon-git-merge:before{content:""}.codicon-github-action:before{content:""}.codicon-github-alt:before{content:""}.codicon-globe:before{content:""}.codicon-grabber:before{content:""}.codicon-graph:before{content:""}.codicon-gripper:before{content:""}.codicon-heart:before{content:""}.codicon-home:before{content:""}.codicon-horizontal-rule:before{content:""}.codicon-hubot:before{content:""}.codicon-inbox:before{content:""}.codicon-issue-reopened:before{content:""}.codicon-issues:before{content:""}.codicon-italic:before{content:""}.codicon-jersey:before{content:""}.codicon-json:before{content:""}.codicon-kebab-vertical:before{content:""}.codicon-key:before{content:""}.codicon-law:before{content:""}.codicon-lightbulb-autofix:before{content:""}.codicon-link-external:before{content:""}.codicon-link:before{content:""}.codicon-list-ordered:before{content:""}.codicon-list-unordered:before{content:""}.codicon-live-share:before{content:""}.codicon-loading:before{content:""}.codicon-location:before{content:""}.codicon-mail-read:before{content:""}.codicon-mail:before{content:""}.codicon-markdown:before{content:""}.codicon-megaphone:before{content:""}.codicon-mention:before{content:""}.codicon-milestone:before{content:""}.codicon-git-pull-request-milestone:before{content:""}.codicon-mortar-board:before{content:""}.codicon-move:before{content:""}.codicon-multiple-windows:before{content:""}.codicon-mute:before{content:""}.codicon-no-newline:before{content:""}.codicon-note:before{content:""}.codicon-octoface:before{content:""}.codicon-open-preview:before{content:""}.codicon-package:before{content:""}.codicon-paintcan:before{content:""}.codicon-pin:before{content:""}.codicon-play:before{content:""}.codicon-run:before{content:""}.codicon-plug:before{content:""}.codicon-preserve-case:before{content:""}.codicon-preview:before{content:""}.codicon-project:before{content:""}.codicon-pulse:before{content:""}.codicon-question:before{content:""}.codicon-quote:before{content:""}.codicon-radio-tower:before{content:""}.codicon-reactions:before{content:""}.codicon-references:before{content:""}.codicon-refresh:before{content:""}.codicon-regex:before{content:""}.codicon-remote-explorer:before{content:""}.codicon-remote:before{content:""}.codicon-remove:before{content:""}.codicon-replace-all:before{content:""}.codicon-replace:before{content:""}.codicon-repo-clone:before{content:""}.codicon-repo-force-push:before{content:""}.codicon-repo-pull:before{content:""}.codicon-repo-push:before{content:""}.codicon-report:before{content:""}.codicon-request-changes:before{content:""}.codicon-rocket:before{content:""}.codicon-root-folder-opened:before{content:""}.codicon-root-folder:before{content:""}.codicon-rss:before{content:""}.codicon-ruby:before{content:""}.codicon-save-all:before{content:""}.codicon-save-as:before{content:""}.codicon-save:before{content:""}.codicon-screen-full:before{content:""}.codicon-screen-normal:before{content:""}.codicon-search-stop:before{content:""}.codicon-server:before{content:""}.codicon-settings-gear:before{content:""}.codicon-settings:before{content:""}.codicon-shield:before{content:""}.codicon-smiley:before{content:""}.codicon-sort-precedence:before{content:""}.codicon-split-horizontal:before{content:""}.codicon-split-vertical:before{content:""}.codicon-squirrel:before{content:""}.codicon-star-full:before{content:""}.codicon-star-half:before{content:""}.codicon-symbol-class:before{content:""}.codicon-symbol-color:before{content:""}.codicon-symbol-constant:before{content:""}.codicon-symbol-enum-member:before{content:""}.codicon-symbol-field:before{content:""}.codicon-symbol-file:before{content:""}.codicon-symbol-interface:before{content:""}.codicon-symbol-keyword:before{content:""}.codicon-symbol-misc:before{content:""}.codicon-symbol-operator:before{content:""}.codicon-symbol-property:before{content:""}.codicon-wrench:before{content:""}.codicon-wrench-subaction:before{content:""}.codicon-symbol-snippet:before{content:""}.codicon-tasklist:before{content:""}.codicon-telescope:before{content:""}.codicon-text-size:before{content:""}.codicon-three-bars:before{content:""}.codicon-thumbsdown:before{content:""}.codicon-thumbsup:before{content:""}.codicon-tools:before{content:""}.codicon-triangle-down:before{content:""}.codicon-triangle-left:before{content:""}.codicon-triangle-right:before{content:""}.codicon-triangle-up:before{content:""}.codicon-twitter:before{content:""}.codicon-unfold:before{content:""}.codicon-unlock:before{content:""}.codicon-unmute:before{content:""}.codicon-unverified:before{content:""}.codicon-verified:before{content:""}.codicon-versions:before{content:""}.codicon-vm-active:before{content:""}.codicon-vm-outline:before{content:""}.codicon-vm-running:before{content:""}.codicon-watch:before{content:""}.codicon-whitespace:before{content:""}.codicon-whole-word:before{content:""}.codicon-window:before{content:""}.codicon-word-wrap:before{content:""}.codicon-zoom-in:before{content:""}.codicon-zoom-out:before{content:""}.codicon-list-filter:before{content:""}.codicon-list-flat:before{content:""}.codicon-list-selection:before{content:""}.codicon-selection:before{content:""}.codicon-list-tree:before{content:""}.codicon-debug-breakpoint-function-unverified:before{content:""}.codicon-debug-breakpoint-function:before{content:""}.codicon-debug-breakpoint-function-disabled:before{content:""}.codicon-debug-stackframe-active:before{content:""}.codicon-circle-small-filled:before{content:""}.codicon-debug-stackframe-dot:before{content:""}.codicon-terminal-decoration-mark:before{content:""}.codicon-debug-stackframe:before{content:""}.codicon-debug-stackframe-focused:before{content:""}.codicon-debug-breakpoint-unsupported:before{content:""}.codicon-symbol-string:before{content:""}.codicon-debug-reverse-continue:before{content:""}.codicon-debug-step-back:before{content:""}.codicon-debug-restart-frame:before{content:""}.codicon-debug-alt:before{content:""}.codicon-call-incoming:before{content:""}.codicon-call-outgoing:before{content:""}.codicon-menu:before{content:""}.codicon-expand-all:before{content:""}.codicon-feedback:before{content:""}.codicon-git-pull-request-reviewer:before{content:""}.codicon-group-by-ref-type:before{content:""}.codicon-ungroup-by-ref-type:before{content:""}.codicon-account:before{content:""}.codicon-git-pull-request-assignee:before{content:""}.codicon-bell-dot:before{content:""}.codicon-debug-console:before{content:""}.codicon-library:before{content:""}.codicon-output:before{content:""}.codicon-run-all:before{content:""}.codicon-sync-ignored:before{content:""}.codicon-pinned:before{content:""}.codicon-github-inverted:before{content:""}.codicon-server-process:before{content:""}.codicon-server-environment:before{content:""}.codicon-pass:before{content:""}.codicon-issue-closed:before{content:""}.codicon-stop-circle:before{content:""}.codicon-play-circle:before{content:""}.codicon-record:before{content:""}.codicon-debug-alt-small:before{content:""}.codicon-vm-connect:before{content:""}.codicon-cloud:before{content:""}.codicon-merge:before{content:""}.codicon-export:before{content:""}.codicon-graph-left:before{content:""}.codicon-magnet:before{content:""}.codicon-notebook:before{content:""}.codicon-redo:before{content:""}.codicon-check-all:before{content:""}.codicon-pinned-dirty:before{content:""}.codicon-pass-filled:before{content:""}.codicon-circle-large-filled:before{content:""}.codicon-circle-large:before{content:""}.codicon-circle-large-outline:before{content:""}.codicon-combine:before{content:""}.codicon-gather:before{content:""}.codicon-table:before{content:""}.codicon-variable-group:before{content:""}.codicon-type-hierarchy:before{content:""}.codicon-type-hierarchy-sub:before{content:""}.codicon-type-hierarchy-super:before{content:""}.codicon-git-pull-request-create:before{content:""}.codicon-run-above:before{content:""}.codicon-run-below:before{content:""}.codicon-notebook-template:before{content:""}.codicon-debug-rerun:before{content:""}.codicon-workspace-trusted:before{content:""}.codicon-workspace-untrusted:before{content:""}.codicon-workspace-unknown:before{content:""}.codicon-terminal-cmd:before{content:""}.codicon-terminal-debian:before{content:""}.codicon-terminal-linux:before{content:""}.codicon-terminal-powershell:before{content:""}.codicon-terminal-tmux:before{content:""}.codicon-terminal-ubuntu:before{content:""}.codicon-terminal-bash:before{content:""}.codicon-arrow-swap:before{content:""}.codicon-copy:before{content:""}.codicon-person-add:before{content:""}.codicon-filter-filled:before{content:""}.codicon-wand:before{content:""}.codicon-debug-line-by-line:before{content:""}.codicon-inspect:before{content:""}.codicon-layers:before{content:""}.codicon-layers-dot:before{content:""}.codicon-layers-active:before{content:""}.codicon-compass:before{content:""}.codicon-compass-dot:before{content:""}.codicon-compass-active:before{content:""}.codicon-azure:before{content:""}.codicon-issue-draft:before{content:""}.codicon-git-pull-request-closed:before{content:""}.codicon-git-pull-request-draft:before{content:""}.codicon-debug-all:before{content:""}.codicon-debug-coverage:before{content:""}.codicon-run-errors:before{content:""}.codicon-folder-library:before{content:""}.codicon-debug-continue-small:before{content:""}.codicon-beaker-stop:before{content:""}.codicon-graph-line:before{content:""}.codicon-graph-scatter:before{content:""}.codicon-pie-chart:before{content:""}.codicon-bracket:before{content:""}.codicon-bracket-dot:before{content:""}.codicon-bracket-error:before{content:""}.codicon-lock-small:before{content:""}.codicon-azure-devops:before{content:""}.codicon-verified-filled:before{content:""}.codicon-newline:before{content:""}.codicon-layout:before{content:""}.codicon-layout-activitybar-left:before{content:""}.codicon-layout-activitybar-right:before{content:""}.codicon-layout-panel-left:before{content:""}.codicon-layout-panel-center:before{content:""}.codicon-layout-panel-justify:before{content:""}.codicon-layout-panel-right:before{content:""}.codicon-layout-panel:before{content:""}.codicon-layout-sidebar-left:before{content:""}.codicon-layout-sidebar-right:before{content:""}.codicon-layout-statusbar:before{content:""}.codicon-layout-menubar:before{content:""}.codicon-layout-centered:before{content:""}.codicon-target:before{content:""}.codicon-indent:before{content:""}.codicon-record-small:before{content:""}.codicon-error-small:before{content:""}.codicon-terminal-decoration-error:before{content:""}.codicon-arrow-circle-down:before{content:""}.codicon-arrow-circle-left:before{content:""}.codicon-arrow-circle-right:before{content:""}.codicon-arrow-circle-up:before{content:""}.codicon-layout-sidebar-right-off:before{content:""}.codicon-layout-panel-off:before{content:""}.codicon-layout-sidebar-left-off:before{content:""}.codicon-blank:before{content:""}.codicon-heart-filled:before{content:""}.codicon-map:before{content:""}.codicon-map-horizontal:before{content:""}.codicon-fold-horizontal:before{content:""}.codicon-map-filled:before{content:""}.codicon-map-horizontal-filled:before{content:""}.codicon-fold-horizontal-filled:before{content:""}.codicon-circle-small:before{content:""}.codicon-bell-slash:before{content:""}.codicon-bell-slash-dot:before{content:""}.codicon-comment-unresolved:before{content:""}.codicon-git-pull-request-go-to-changes:before{content:""}.codicon-git-pull-request-new-changes:before{content:""}.codicon-search-fuzzy:before{content:""}.codicon-comment-draft:before{content:""}.codicon-send:before{content:""}.codicon-sparkle:before{content:""}.codicon-insert:before{content:""}.codicon-mic:before{content:""}.codicon-thumbsdown-filled:before{content:""}.codicon-thumbsup-filled:before{content:""}.codicon-coffee:before{content:""}.codicon-snake:before{content:""}.codicon-game:before{content:""}.codicon-vr:before{content:""}.codicon-chip:before{content:""}.codicon-piano:before{content:""}.codicon-music:before{content:""}.codicon-mic-filled:before{content:""}.codicon-repo-fetch:before{content:""}.codicon-copilot:before{content:""}.codicon-lightbulb-sparkle:before{content:""}.codicon-robot:before{content:""}.codicon-sparkle-filled:before{content:""}.codicon-diff-single:before{content:""}.codicon-diff-multiple:before{content:""}.codicon-surround-with:before{content:""}.codicon-share:before{content:""}.codicon-git-stash:before{content:""}.codicon-git-stash-apply:before{content:""}.codicon-git-stash-pop:before{content:""}.codicon-vscode:before{content:""}.codicon-vscode-insiders:before{content:""}.codicon-code-oss:before{content:""}.codicon-run-coverage:before{content:""}.codicon-run-all-coverage:before{content:""}.codicon-coverage:before{content:""}.codicon-github-project:before{content:""}.codicon-map-vertical:before{content:""}.codicon-fold-vertical:before{content:""}.codicon-map-vertical-filled:before{content:""}.codicon-fold-vertical-filled:before{content:""}.codicon-go-to-search:before{content:""}.codicon-percentage:before{content:""}.codicon-sort-percentage:before{content:""}.codicon-attach:before{content:""}.codicon-git-fetch:before{content:""}:root{--annotations-blue: 54 116 209}.annotations-layer,.annotations-rect,.annotations-popover,.annotations-color-swatch{--annotation-color: var(--annotations-blue)}.annotations-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;outline:none;cursor:crosshair}.annotations-layer:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.annotations-action-btn{height:26px;padding:0 12px;font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;background:var(--color-neutral-subtle);color:var(--color-fg-default);border:1px solid var(--color-border-muted);border-radius:999px;cursor:pointer;line-height:1}:root.dark-mode .annotations-action-btn{background:var(--color-neutral-muted);border-color:var(--color-border-default)}.annotations-action-btn:hover:not(:disabled){background:var(--color-neutral-muted)}.annotations-action-btn:disabled{opacity:.5;cursor:default}.annotations-action-btn.danger{background:transparent;color:var(--color-danger-fg);border-color:var(--color-border-muted)}.annotations-action-btn.danger:hover:not(:disabled){background:var(--color-danger-subtle)}.annotations-rect{position:absolute;box-sizing:border-box;border:2px solid rgb(var(--annotation-color));background:rgb(var(--annotation-color) / .12);cursor:pointer;transition:box-shadow .12s ease}.annotations-rect:hover{box-shadow:0 0 0 3px rgb(var(--annotation-color) / .25)}.annotations-rect.selected{box-shadow:0 0 0 3px rgb(var(--annotation-color) / .4);border-style:solid;border-color:rgb(var(--annotation-color));cursor:move}.annotations-rect.draft{border-style:dashed;background:rgb(var(--annotation-color) / .18);pointer-events:none}.annotations-handle{position:absolute;width:10px;height:10px;background:#fff;border:1.5px solid rgb(var(--annotation-color));border-radius:2px;box-sizing:border-box;z-index:1}.annotations-handle-nw{left:-6px;top:-6px;cursor:nwse-resize}.annotations-handle-n{left:50%;top:-6px;margin-left:-5px;cursor:ns-resize}.annotations-handle-ne{right:-6px;top:-6px;cursor:nesw-resize}.annotations-handle-e{right:-6px;top:50%;margin-top:-5px;cursor:ew-resize}.annotations-handle-se{right:-6px;bottom:-6px;cursor:nwse-resize}.annotations-handle-s{left:50%;bottom:-6px;margin-left:-5px;cursor:ns-resize}.annotations-handle-sw{left:-6px;bottom:-6px;cursor:nesw-resize}.annotations-handle-w{left:-6px;top:50%;margin-top:-5px;cursor:ew-resize}.annotations-label{position:absolute;top:-2px;left:-2px;max-width:calc(100% + 4px);padding:2px 6px;background:rgb(var(--annotation-color));color:#fff;font-size:11px;font-weight:500;border-radius:2px 2px 2px 0;transform:translateY(-100%);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:text}.annotations-label:hover{background:rgb(var(--annotation-color) / .85)}.annotations-popover{position:absolute;min-width:220px;max-width:320px;background:var(--color-canvas-overlay);border:1px solid var(--color-border-default);border-radius:8px;padding:8px;box-shadow:0 8px 24px #0000004d;display:flex;flex-direction:column;gap:6px;z-index:10;cursor:default}.annotations-textarea{width:100%;min-height:64px;resize:vertical;padding:6px 8px;font-family:inherit;font-size:12px;color:var(--color-fg-default);background:var(--color-canvas-default);border:1px solid var(--color-border-muted);border-radius:6px;outline:none;box-sizing:border-box}.annotations-textarea:focus{border-color:rgb(var(--annotation-color))}.annotations-popover-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.annotations-popover-actions{display:flex;gap:6px;justify-content:flex-end}.annotations-color-picker{display:flex;align-items:center;gap:4px}.annotations-color-swatch{width:14px;height:14px;padding:0;border:2px solid transparent;border-radius:50%;background:rgb(var(--annotation-color));cursor:pointer;transition:box-shadow .12s ease,transform .12s ease}.annotations-color-swatch:hover{box-shadow:0 0 0 2px rgb(var(--annotation-color) / .35)}.annotations-color-swatch.selected{border-color:var(--color-fg-default);transform:scale(1.1)}.annotate-modal-image{max-width:100%;max-height:100%;object-fit:contain;display:block;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;box-shadow:0 0 0 1px var(--color-border-muted),0 0 8px var(--color-border-muted)}.annotate-sidebar{width:260px;flex-shrink:0;display:flex;flex-direction:column;background:var(--color-canvas-subtle);border-left:1px solid var(--color-border-muted);min-height:0}.annotate-sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:6px;height:40px;min-height:40px;padding:0 8px;border-bottom:1px solid var(--color-border-muted);background:var(--color-canvas-overlay)}:root.light-mode .annotate-sidebar-header{background:var(--color-canvas-subtle)}.annotate-sidebar-list{flex:1;min-height:0;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:6px}.annotate-sidebar-thumb{position:relative;flex-shrink:0;border:1px solid var(--color-border-muted);border-radius:6px;background:var(--color-canvas-default);overflow:hidden}.annotate-sidebar-thumb:hover{border-color:var(--color-border-default)}.annotate-sidebar-thumb.selected{border-color:var(--color-accent-fg, #2f81f7);box-shadow:0 0 0 1px var(--color-accent-fg, #2f81f7)}.annotate-sidebar-thumb-button{display:block;width:100%;padding:0;background:transparent;border:0;text-align:left;color:inherit;font:inherit;cursor:pointer}.annotate-sidebar-thumb-img-wrap{position:relative;display:block;width:100%;background:var(--color-canvas-overlay);overflow:hidden}.annotate-sidebar-thumb-img{display:block;width:100%;height:100%;object-fit:cover}.annotate-sidebar-thumb-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.annotate-sidebar-thumb-rect{position:absolute;border:1.5px solid rgb(var(--annotation-color));background:rgb(var(--annotation-color) / .12);border-radius:2px;pointer-events:none;box-sizing:border-box}.annotate-sidebar-thumb-rect.hovered{background:rgb(var(--annotation-color) / .32)}.annotate-sidebar-thumb-remove.toolbar-button{position:absolute;top:4px;right:4px;padding:2px;background:#0000008c;color:#fff;border-radius:50%;opacity:0;transition:opacity .12s ease;z-index:1}.annotate-sidebar-thumb-remove.toolbar-button:not(:disabled):hover{background:#000000bf;color:#fff}.annotate-sidebar-thumb:hover .annotate-sidebar-thumb-remove,.annotate-sidebar-thumb-remove:focus-visible{opacity:1}.annotate-sidebar-comments{list-style:none;margin:0;padding:4px 8px 6px;display:flex;flex-direction:column;gap:3px}.annotate-sidebar-comment{display:block;width:100%;text-align:left;background:rgb(var(--annotation-color) / .12);border:1px solid rgb(var(--annotation-color) / .35);border-radius:4px;color:var(--color-fg-default);font-size:11px;line-height:1.4;padding:3px 6px;cursor:pointer;white-space:pre-wrap;word-break:break-word}.annotate-sidebar-comment:hover{background:rgb(var(--annotation-color) / .2)}.annotate-sidebar-comment.empty{color:var(--color-fg-muted);font-style:italic}.annotate-sidebar-feedback-wrap{display:grid;margin:8px 8px 4px;flex-shrink:0}.annotate-sidebar-feedback-wrap:after{content:attr(data-value) " ";white-space:pre-wrap;word-break:break-word;visibility:hidden;padding:6px 8px;font-size:12px;font-family:inherit;border:1px solid transparent;border-radius:4px;min-height:56px;grid-area:1 / 1 / 2 / 2}.annotate-sidebar-feedback{grid-area:1 / 1 / 2 / 2;padding:6px 8px;background:var(--vscode-input-background, #1e1e1e);color:var(--vscode-input-foreground, #cccccc);border:1px solid var(--color-border-muted);border-radius:4px;font-size:12px;font-family:inherit;resize:none;min-height:56px;overflow:hidden;outline:none}.annotate-sidebar-feedback:focus{border-color:var(--vscode-focusBorder, #007fd4)}.annotate-sidebar-submit{margin:4px 8px 8px;padding:8px 12px;background:var(--color-accent-fg, #2f81f7);color:#fff;border:0;border-radius:6px;cursor:pointer;font-weight:500;font-size:13px;flex-shrink:0}.annotate-sidebar-submit:hover:not(:disabled){filter:brightness(1.05)}.annotate-sidebar-submit:disabled{opacity:.55;cursor:not-allowed}.annotate-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:stretch;justify-content:center;padding:16px;background:#0000008c;z-index:100;min-height:0}.annotate-overlay-window{flex:1;display:flex;flex-direction:column;border:1px solid var(--color-border-default);border-radius:10px;overflow:hidden;box-shadow:0 4px 20px #00000059;background:var(--color-canvas-default);min-height:0}.annotate-overlay-chrome{display:flex;align-items:center;gap:4px;height:40px;min-height:40px;padding:0 8px;background:var(--color-canvas-overlay);border-bottom:1px solid var(--color-border-muted)}:root.light-mode .annotate-overlay-chrome{background:var(--color-canvas-subtle)}.annotate-overlay-titlebar{flex:1;display:flex;align-items:center;gap:6px;height:30px;padding:0 4px;font-size:13px;color:var(--color-fg-default);min-width:0;overflow:hidden;white-space:nowrap}.annotate-overlay-title-text{font-weight:500;color:var(--color-fg-default);overflow:hidden;text-overflow:ellipsis;flex-shrink:0;max-width:40%}.annotate-overlay-title-sep{color:var(--color-fg-subtle)}.annotate-overlay-title-url{flex:1;font-family:var(--monospace-font, monospace);font-size:12px;color:var(--color-fg-muted);overflow:hidden;text-overflow:ellipsis}.annotate-overlay-canvas{flex:1;position:relative;display:flex;align-items:center;justify-content:center;min-height:0;padding:12px;background:var(--color-canvas-default)}.dashboard-shell-sidebar{width:100%;height:100%;background:var(--color-canvas-default);display:flex;flex-direction:column;overflow:hidden;border-right:1px solid var(--color-border-muted)}.dashboard-shell-sidebar-header{height:40px;min-height:40px;display:flex;align-items:center;justify-content:space-between;padding:0 8px;border-bottom:1px solid var(--color-border-muted)}.dashboard-shell-sidebar-title{margin:0;font-size:12px;font-weight:600;text-transform:uppercase;color:var(--color-fg-muted);letter-spacing:.03em}.dashboard-shell-sidebar-content{flex:1;overflow:auto;padding:0}.sidebar-empty{color:var(--color-fg-subtle);font-size:13px;padding:8px 12px}.dashboard-shell-main{flex:1;display:flex;flex-direction:column;height:100%;min-width:0;min-height:0}.dashboard-shell-main>.vbox{flex:1;min-height:0}.dashboard-shell-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--color-fg-muted);font-size:14px}.workspace-group{margin:0}.workspace-header{margin:0;padding:8px 12px 4px;font-size:12px;color:var(--color-fg-muted);font-weight:400}.workspace-path-full{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:rtl;text-align:left;unicode-bidi:plaintext}.sidebar-session-list{display:flex;flex-direction:column;gap:0}.session-chip.sidebar-session{border:none;border-radius:0;background:transparent;overflow:hidden;cursor:default;position:relative}.sidebar-session-row{width:100%;display:flex;align-items:center;gap:8px;text-align:left;padding:8px 4px 4px 8px}.session-browser-icon-wrap{position:relative;width:18px;height:18px;border-radius:50%;flex-shrink:0}.session-browser-icon{width:100%;height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:opacity .12s ease}.session-browser-icon .browser-icon-img{width:80%;height:80%;display:block}.session-browser-icon .browser-icon-fallback{width:100%;height:100%;border-radius:50%;background:var(--color-fg-subtle);color:var(--color-canvas-default);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700}.session-browser-close{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;opacity:0;pointer-events:none;transition:opacity .12s ease}.session-browser-close .codicon{font-size:10px}.session-browser-icon-wrap:hover .session-browser-icon{opacity:0}.session-browser-icon-wrap:hover .session-browser-close{opacity:1;pointer-events:auto}.session-browser-close:hover{background:var(--color-neutral-muted)}.session-chip-name{font-size:13px;font-weight:600;color:var(--color-fg-default);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.sidebar-session-row-actions{margin-left:auto;display:flex;align-items:center;gap:4px}.sidebar-session-new-tab .codicon{font-size:12px}.sidebar-session-new-tab:hover:not(:disabled){background:var(--color-neutral-muted)}.sidebar-tabs-loading{color:var(--color-fg-subtle);font-size:12px;padding:4px 12px 6px 38px;margin:0;flex:none;display:block;justify-content:flex-start;text-align:left}.sidebar-session .list-view-entry{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--color-fg-muted);border-radius:0;padding:4px 4px 4px 24px;line-height:1.4}.sidebar-session .list-view-entry:hover{background:var(--color-neutral-muted)}.sidebar-tab-favicon{width:14px;height:14px;flex-shrink:0;margin-top:0;align-self:center}.sidebar-tab-favicon.placeholder{border-radius:2px;background:var(--color-fg-subtle);color:var(--color-canvas-default);display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700}.sidebar-tab-text{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.sidebar-tab-title{color:var(--color-fg-default);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-tab-url{font-size:11px;color:var(--color-fg-muted);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-tab-close{margin-left:auto;align-self:center;opacity:0;pointer-events:none;transition:opacity .12s ease}.sidebar-session .list-view-entry:hover .sidebar-tab-close,.sidebar-tab-close:focus-visible{opacity:1;pointer-events:auto}.sidebar-tab-close .codicon{font-size:12px}.sidebar-tab-close:not(:disabled):hover{background:var(--color-neutral-muted)}.settings-button-container{position:relative}.settings-gear-btn{width:28px;height:28px;justify-content:center}.settings-gear-btn svg{width:16px;height:16px;fill:currentColor}.settings-popup{position:absolute;top:100%;right:0;margin-top:4px;background:var(--color-canvas-overlay);border:1px solid var(--color-neutral-muted);border-radius:8px;padding:8px 0;min-width:160px;box-shadow:var(--color-overlay-shadow);z-index:100;-webkit-user-select:none;user-select:none}.settings-popup .setting-row{display:flex;flex-direction:column;gap:4px;padding:6px 12px}.settings-popup .setting-label{font-size:11px;font-weight:600;color:var(--color-fg-subtle);text-transform:uppercase;letter-spacing:.04em}.settings-popup .setting-options{display:flex;flex-direction:column}.settings-popup .setting-option{display:flex;align-items:center;justify-content:flex-start;height:28px;padding:0 8px;border-radius:4px;font-size:12px;color:var(--color-fg-muted);cursor:pointer}.settings-popup .setting-option:hover{background:var(--color-neutral-subtle);color:var(--color-fg-default)}.settings-popup .setting-option.selected{color:var(--color-accent-fg)}.list-view-content{display:flex;flex-direction:column;flex:auto;position:relative;-webkit-user-select:none;user-select:none;overflow:hidden auto;outline:1px solid transparent}.list-view-entry{display:flex;flex:none;cursor:pointer;align-items:center;white-space:nowrap;line-height:28px;padding-left:5px}.list-view-content.not-selectable>.list-view-entry{cursor:inherit}.list-view-entry.highlighted:not(.selected){background-color:var(--vscode-list-inactiveSelectionBackground)!important}.list-view-entry.selected{z-index:10}.list-view-indent{min-width:16px}.list-view-content:focus .list-view-entry.selected{background-color:var(--vscode-list-activeSelectionBackground);color:var(--vscode-list-activeSelectionForeground);outline:1px solid var(--vscode-focusBorder)}.list-view-content .list-view-entry.selected{background-color:var(--vscode-list-inactiveSelectionBackground)}.list-view-content:focus .list-view-entry.selected *{color:var(--vscode-list-activeSelectionForeground)!important;background-color:transparent!important}.list-view-content:focus .list-view-entry.selected .codicon{color:var(--vscode-list-activeSelectionForeground)!important}.list-view-empty{flex:auto;display:flex;align-items:center;justify-content:center}.list-view-entry.error{color:var(--vscode-list-errorForeground);background-color:var(--vscode-inputValidation-errorBackground)}.list-view-entry.warning{color:var(--vscode-list-warningForeground);background-color:var(--vscode-inputValidation-warningBackground)}.list-view-entry.info{background-color:var(--vscode-inputValidation-infoBackground)}.split-view{display:flex;flex:auto;position:relative}.split-view.vertical{flex-direction:column}.split-view.vertical.sidebar-first{flex-direction:column-reverse}.split-view.horizontal{flex-direction:row}.split-view.horizontal.sidebar-first{flex-direction:row-reverse}.split-view-main{display:flex;flex:auto}.split-view-sidebar{display:flex;flex:none}.split-view.vertical:not(.sidebar-first)>.split-view-sidebar{border-top:1px solid var(--vscode-panel-border)}.split-view.horizontal:not(.sidebar-first)>.split-view-sidebar{border-left:1px solid var(--vscode-panel-border)}.split-view.vertical.sidebar-first>.split-view-sidebar{border-bottom:1px solid var(--vscode-panel-border)}.split-view.horizontal.sidebar-first>.split-view-sidebar{border-right:1px solid var(--vscode-panel-border)}.split-view-resizer{position:absolute;z-index:100}.split-view.vertical>.split-view-resizer{left:0;right:0;height:12px;cursor:ns-resize}.split-view.horizontal>.split-view-resizer{top:0;bottom:0;width:12px;cursor:ew-resize}
node_modules/playwright-core/lib/vite/dashboard/assets/index-DpEq2p62.js deleted
-52
@@ -1,52 +0,0 @@
1 -(function(){const i=document.createElement("link").relList;if(i&&i.supports&&i.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const o of r)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&s(h)}).observe(document,{childList:!0,subtree:!0});function f(r){const o={};return r.integrity&&(o.integrity=r.integrity),r.referrerPolicy&&(o.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?o.credentials="include":r.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function s(r){if(r.ep)return;r.ep=!0;const o=f(r);fetch(r.href,o)}})();function wg(u){return u&&u.__esModule&&Object.prototype.hasOwnProperty.call(u,"default")?u.default:u}var rr={exports:{}},Zi={};/**
2 - * @license React
3 - * react-jsx-runtime.production.js
4 - *
5 - * Copyright (c) Meta Platforms, Inc. and affiliates.
6 - *
7 - * This source code is licensed under the MIT license found in the
8 - * LICENSE file in the root directory of this source tree.
9 - */var y1;function Og(){if(y1)return Zi;y1=1;var u=Symbol.for("react.transitional.element"),i=Symbol.for("react.fragment");function f(s,r,o){var h=null;if(o!==void 0&&(h=""+o),r.key!==void 0&&(h=""+r.key),"key"in r){o={};for(var v in r)v!=="key"&&(o[v]=r[v])}else o=r;return r=o.ref,{$$typeof:u,type:s,key:h,ref:r!==void 0?r:null,props:o}}return Zi.Fragment=i,Zi.jsx=f,Zi.jsxs=f,Zi}var g1;function Rg(){return g1||(g1=1,rr.exports=Og()),rr.exports}var O=Rg(),or={exports:{}},Et={};/**
10 - * @license React
11 - * react.production.js
12 - *
13 - * Copyright (c) Meta Platforms, Inc. and affiliates.
14 - *
15 - * This source code is licensed under the MIT license found in the
16 - * LICENSE file in the root directory of this source tree.
17 - */var v1;function Dg(){if(v1)return Et;v1=1;var u=Symbol.for("react.transitional.element"),i=Symbol.for("react.portal"),f=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),r=Symbol.for("react.profiler"),o=Symbol.for("react.consumer"),h=Symbol.for("react.context"),v=Symbol.for("react.forward_ref"),m=Symbol.for("react.suspense"),y=Symbol.for("react.memo"),_=Symbol.for("react.lazy"),p=Symbol.for("react.activity"),b=Symbol.iterator;function T(E){return E===null||typeof E!="object"?null:(E=b&&E[b]||E["@@iterator"],typeof E=="function"?E:null)}var D={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},G=Object.assign,W={};function J(E,R,k){this.props=E,this.context=R,this.refs=W,this.updater=k||D}J.prototype.isReactComponent={},J.prototype.setState=function(E,R){if(typeof E!="object"&&typeof E!="function"&&E!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,E,R,"setState")},J.prototype.forceUpdate=function(E){this.updater.enqueueForceUpdate(this,E,"forceUpdate")};function Z(){}Z.prototype=J.prototype;function $(E,R,k){this.props=E,this.context=R,this.refs=W,this.updater=k||D}var I=$.prototype=new Z;I.constructor=$,G(I,J.prototype),I.isPureReactComponent=!0;var B=Array.isArray;function it(){}var X={H:null,A:null,T:null,S:null},et=Object.prototype.hasOwnProperty;function ut(E,R,k){var w=k.ref;return{$$typeof:u,type:E,key:R,ref:w!==void 0?w:null,props:k}}function st(E,R){return ut(E.type,R,E.props)}function at(E){return typeof E=="object"&&E!==null&&E.$$typeof===u}function _t(E){var R={"=":"=0",":":"=2"};return"$"+E.replace(/[=:]/g,function(k){return R[k]})}var pt=/\/+/g;function yt(E,R){return typeof E=="object"&&E!==null&&E.key!=null?_t(""+E.key):R.toString(36)}function ot(E){switch(E.status){case"fulfilled":return E.value;case"rejected":throw E.reason;default:switch(typeof E.status=="string"?E.then(it,it):(E.status="pending",E.then(function(R){E.status==="pending"&&(E.status="fulfilled",E.value=R)},function(R){E.status==="pending"&&(E.status="rejected",E.reason=R)})),E.status){case"fulfilled":return E.value;case"rejected":throw E.reason}}throw E}function N(E,R,k,w,U){var L=typeof E;(L==="undefined"||L==="boolean")&&(E=null);var P=!1;if(E===null)P=!0;else switch(L){case"bigint":case"string":case"number":P=!0;break;case"object":switch(E.$$typeof){case u:case i:P=!0;break;case _:return P=E._init,N(P(E._payload),R,k,w,U)}}if(P)return U=U(E),P=w===""?"."+yt(E,0):w,B(U)?(k="",P!=null&&(k=P.replace(pt,"$&/")+"/"),N(U,R,k,"",function(Yt){return Yt})):U!=null&&(at(U)&&(U=st(U,k+(U.key==null||E&&E.key===U.key?"":(""+U.key).replace(pt,"$&/")+"/")+P)),R.push(U)),1;P=0;var H=w===""?".":w+":";if(B(E))for(var ht=0;ht<E.length;ht++)w=E[ht],L=H+yt(w,ht),P+=N(w,R,k,L,U);else if(ht=T(E),typeof ht=="function")for(E=ht.call(E),ht=0;!(w=E.next()).done;)w=w.value,L=H+yt(w,ht++),P+=N(w,R,k,L,U);else if(L==="object"){if(typeof E.then=="function")return N(ot(E),R,k,w,U);throw R=String(E),Error("Objects are not valid as a React child (found: "+(R==="[object Object]"?"object with keys {"+Object.keys(E).join(", ")+"}":R)+"). If you meant to render a collection of children, use an array instead.")}return P}function V(E,R,k){if(E==null)return E;var w=[],U=0;return N(E,w,"","",function(L){return R.call(k,L,U++)}),w}function lt(E){if(E._status===-1){var R=E._result;R=R(),R.then(function(k){(E._status===0||E._status===-1)&&(E._status=1,E._result=k)},function(k){(E._status===0||E._status===-1)&&(E._status=2,E._result=k)}),E._status===-1&&(E._status=0,E._result=R)}if(E._status===1)return E._result.default;throw E._result}var rt=typeof reportError=="function"?reportError:function(E){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var R=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof E=="object"&&E!==null&&typeof E.message=="string"?String(E.message):String(E),error:E});if(!window.dispatchEvent(R))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",E);return}console.error(E)},gt={map:V,forEach:function(E,R,k){V(E,function(){R.apply(this,arguments)},k)},count:function(E){var R=0;return V(E,function(){R++}),R},toArray:function(E){return V(E,function(R){return R})||[]},only:function(E){if(!at(E))throw Error("React.Children.only expected to receive a single React element child.");return E}};return Et.Activity=p,Et.Children=gt,Et.Component=J,Et.Fragment=f,Et.Profiler=r,Et.PureComponent=$,Et.StrictMode=s,Et.Suspense=m,Et.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=X,Et.__COMPILER_RUNTIME={__proto__:null,c:function(E){return X.H.useMemoCache(E)}},Et.cache=function(E){return function(){return E.apply(null,arguments)}},Et.cacheSignal=function(){return null},Et.cloneElement=function(E,R,k){if(E==null)throw Error("The argument must be a React element, but you passed "+E+".");var w=G({},E.props),U=E.key;if(R!=null)for(L in R.key!==void 0&&(U=""+R.key),R)!et.call(R,L)||L==="key"||L==="__self"||L==="__source"||L==="ref"&&R.ref===void 0||(w[L]=R[L]);var L=arguments.length-2;if(L===1)w.children=k;else if(1<L){for(var P=Array(L),H=0;H<L;H++)P[H]=arguments[H+2];w.children=P}return ut(E.type,U,w)},Et.createContext=function(E){return E={$$typeof:h,_currentValue:E,_currentValue2:E,_threadCount:0,Provider:null,Consumer:null},E.Provider=E,E.Consumer={$$typeof:o,_context:E},E},Et.createElement=function(E,R,k){var w,U={},L=null;if(R!=null)for(w in R.key!==void 0&&(L=""+R.key),R)et.call(R,w)&&w!=="key"&&w!=="__self"&&w!=="__source"&&(U[w]=R[w]);var P=arguments.length-2;if(P===1)U.children=k;else if(1<P){for(var H=Array(P),ht=0;ht<P;ht++)H[ht]=arguments[ht+2];U.children=H}if(E&&E.defaultProps)for(w in P=E.defaultProps,P)U[w]===void 0&&(U[w]=P[w]);return ut(E,L,U)},Et.createRef=function(){return{current:null}},Et.forwardRef=function(E){return{$$typeof:v,render:E}},Et.isValidElement=at,Et.lazy=function(E){return{$$typeof:_,_payload:{_status:-1,_result:E},_init:lt}},Et.memo=function(E,R){return{$$typeof:y,type:E,compare:R===void 0?null:R}},Et.startTransition=function(E){var R=X.T,k={};X.T=k;try{var w=E(),U=X.S;U!==null&&U(k,w),typeof w=="object"&&w!==null&&typeof w.then=="function"&&w.then(it,rt)}catch(L){rt(L)}finally{R!==null&&k.types!==null&&(R.types=k.types),X.T=R}},Et.unstable_useCacheRefresh=function(){return X.H.useCacheRefresh()},Et.use=function(E){return X.H.use(E)},Et.useActionState=function(E,R,k){return X.H.useActionState(E,R,k)},Et.useCallback=function(E,R){return X.H.useCallback(E,R)},Et.useContext=function(E){return X.H.useContext(E)},Et.useDebugValue=function(){},Et.useDeferredValue=function(E,R){return X.H.useDeferredValue(E,R)},Et.useEffect=function(E,R){return X.H.useEffect(E,R)},Et.useEffectEvent=function(E){return X.H.useEffectEvent(E)},Et.useId=function(){return X.H.useId()},Et.useImperativeHandle=function(E,R,k){return X.H.useImperativeHandle(E,R,k)},Et.useInsertionEffect=function(E,R){return X.H.useInsertionEffect(E,R)},Et.useLayoutEffect=function(E,R){return X.H.useLayoutEffect(E,R)},Et.useMemo=function(E,R){return X.H.useMemo(E,R)},Et.useOptimistic=function(E,R){return X.H.useOptimistic(E,R)},Et.useReducer=function(E,R,k){return X.H.useReducer(E,R,k)},Et.useRef=function(E){return X.H.useRef(E)},Et.useState=function(E){return X.H.useState(E)},Et.useSyncExternalStore=function(E,R,k){return X.H.useSyncExternalStore(E,R,k)},Et.useTransition=function(){return X.H.useTransition()},Et.version="19.2.1",Et}var _1;function kr(){return _1||(_1=1,or.exports=Dg()),or.exports}var Wn=kr();const mt=wg(Wn);var dr={exports:{}},Xi={},hr={exports:{}},mr={};/**
18 - * @license React
19 - * scheduler.production.js
20 - *
21 - * Copyright (c) Meta Platforms, Inc. and affiliates.
22 - *
23 - * This source code is licensed under the MIT license found in the
24 - * LICENSE file in the root directory of this source tree.
25 - */var p1;function zg(){return p1||(p1=1,(function(u){function i(N,V){var lt=N.length;N.push(V);t:for(;0<lt;){var rt=lt-1>>>1,gt=N[rt];if(0<r(gt,V))N[rt]=V,N[lt]=gt,lt=rt;else break t}}function f(N){return N.length===0?null:N[0]}function s(N){if(N.length===0)return null;var V=N[0],lt=N.pop();if(lt!==V){N[0]=lt;t:for(var rt=0,gt=N.length,E=gt>>>1;rt<E;){var R=2*(rt+1)-1,k=N[R],w=R+1,U=N[w];if(0>r(k,lt))w<gt&&0>r(U,k)?(N[rt]=U,N[w]=lt,rt=w):(N[rt]=k,N[R]=lt,rt=R);else if(w<gt&&0>r(U,lt))N[rt]=U,N[w]=lt,rt=w;else break t}}return V}function r(N,V){var lt=N.sortIndex-V.sortIndex;return lt!==0?lt:N.id-V.id}if(u.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var o=performance;u.unstable_now=function(){return o.now()}}else{var h=Date,v=h.now();u.unstable_now=function(){return h.now()-v}}var m=[],y=[],_=1,p=null,b=3,T=!1,D=!1,G=!1,W=!1,J=typeof setTimeout=="function"?setTimeout:null,Z=typeof clearTimeout=="function"?clearTimeout:null,$=typeof setImmediate<"u"?setImmediate:null;function I(N){for(var V=f(y);V!==null;){if(V.callback===null)s(y);else if(V.startTime<=N)s(y),V.sortIndex=V.expirationTime,i(m,V);else break;V=f(y)}}function B(N){if(G=!1,I(N),!D)if(f(m)!==null)D=!0,it||(it=!0,_t());else{var V=f(y);V!==null&&ot(B,V.startTime-N)}}var it=!1,X=-1,et=5,ut=-1;function st(){return W?!0:!(u.unstable_now()-ut<et)}function at(){if(W=!1,it){var N=u.unstable_now();ut=N;var V=!0;try{t:{D=!1,G&&(G=!1,Z(X),X=-1),T=!0;var lt=b;try{e:{for(I(N),p=f(m);p!==null&&!(p.expirationTime>N&&st());){var rt=p.callback;if(typeof rt=="function"){p.callback=null,b=p.priorityLevel;var gt=rt(p.expirationTime<=N);if(N=u.unstable_now(),typeof gt=="function"){p.callback=gt,I(N),V=!0;break e}p===f(m)&&s(m),I(N)}else s(m);p=f(m)}if(p!==null)V=!0;else{var E=f(y);E!==null&&ot(B,E.startTime-N),V=!1}}break t}finally{p=null,b=lt,T=!1}V=void 0}}finally{V?_t():it=!1}}}var _t;if(typeof $=="function")_t=function(){$(at)};else if(typeof MessageChannel<"u"){var pt=new MessageChannel,yt=pt.port2;pt.port1.onmessage=at,_t=function(){yt.postMessage(null)}}else _t=function(){J(at,0)};function ot(N,V){X=J(function(){N(u.unstable_now())},V)}u.unstable_IdlePriority=5,u.unstable_ImmediatePriority=1,u.unstable_LowPriority=4,u.unstable_NormalPriority=3,u.unstable_Profiling=null,u.unstable_UserBlockingPriority=2,u.unstable_cancelCallback=function(N){N.callback=null},u.unstable_forceFrameRate=function(N){0>N||125<N?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):et=0<N?Math.floor(1e3/N):5},u.unstable_getCurrentPriorityLevel=function(){return b},u.unstable_next=function(N){switch(b){case 1:case 2:case 3:var V=3;break;default:V=b}var lt=b;b=V;try{return N()}finally{b=lt}},u.unstable_requestPaint=function(){W=!0},u.unstable_runWithPriority=function(N,V){switch(N){case 1:case 2:case 3:case 4:case 5:break;default:N=3}var lt=b;b=N;try{return V()}finally{b=lt}},u.unstable_scheduleCallback=function(N,V,lt){var rt=u.unstable_now();switch(typeof lt=="object"&&lt!==null?(lt=lt.delay,lt=typeof lt=="number"&&0<lt?rt+lt:rt):lt=rt,N){case 1:var gt=-1;break;case 2:gt=250;break;case 5:gt=1073741823;break;case 4:gt=1e4;break;default:gt=5e3}return gt=lt+gt,N={id:_++,callback:V,priorityLevel:N,startTime:lt,expirationTime:gt,sortIndex:-1},lt>rt?(N.sortIndex=lt,i(y,N),f(m)===null&&N===f(y)&&(G?(Z(X),X=-1):G=!0,ot(B,lt-rt))):(N.sortIndex=gt,i(m,N),D||T||(D=!0,it||(it=!0,_t()))),N},u.unstable_shouldYield=st,u.unstable_wrapCallback=function(N){var V=b;return function(){var lt=b;b=V;try{return N.apply(this,arguments)}finally{b=lt}}}})(mr)),mr}var b1;function Ng(){return b1||(b1=1,hr.exports=zg()),hr.exports}var yr={exports:{}},He={};/**
26 - * @license React
27 - * react-dom.production.js
28 - *
29 - * Copyright (c) Meta Platforms, Inc. and affiliates.
30 - *
31 - * This source code is licensed under the MIT license found in the
32 - * LICENSE file in the root directory of this source tree.
33 - */var S1;function Mg(){if(S1)return He;S1=1;var u=kr();function i(m){var y="https://react.dev/errors/"+m;if(1<arguments.length){y+="?args[]="+encodeURIComponent(arguments[1]);for(var _=2;_<arguments.length;_++)y+="&args[]="+encodeURIComponent(arguments[_])}return"Minified React error #"+m+"; visit "+y+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function f(){}var s={d:{f,r:function(){throw Error(i(522))},D:f,C:f,L:f,m:f,X:f,S:f,M:f},p:0,findDOMNode:null},r=Symbol.for("react.portal");function o(m,y,_){var p=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:r,key:p==null?null:""+p,children:m,containerInfo:y,implementation:_}}var h=u.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function v(m,y){if(m==="font")return"";if(typeof y=="string")return y==="use-credentials"?y:""}return He.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=s,He.createPortal=function(m,y){var _=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!y||y.nodeType!==1&&y.nodeType!==9&&y.nodeType!==11)throw Error(i(299));return o(m,y,null,_)},He.flushSync=function(m){var y=h.T,_=s.p;try{if(h.T=null,s.p=2,m)return m()}finally{h.T=y,s.p=_,s.d.f()}},He.preconnect=function(m,y){typeof m=="string"&&(y?(y=y.crossOrigin,y=typeof y=="string"?y==="use-credentials"?y:"":void 0):y=null,s.d.C(m,y))},He.prefetchDNS=function(m){typeof m=="string"&&s.d.D(m)},He.preinit=function(m,y){if(typeof m=="string"&&y&&typeof y.as=="string"){var _=y.as,p=v(_,y.crossOrigin),b=typeof y.integrity=="string"?y.integrity:void 0,T=typeof y.fetchPriority=="string"?y.fetchPriority:void 0;_==="style"?s.d.S(m,typeof y.precedence=="string"?y.precedence:void 0,{crossOrigin:p,integrity:b,fetchPriority:T}):_==="script"&&s.d.X(m,{crossOrigin:p,integrity:b,fetchPriority:T,nonce:typeof y.nonce=="string"?y.nonce:void 0})}},He.preinitModule=function(m,y){if(typeof m=="string")if(typeof y=="object"&&y!==null){if(y.as==null||y.as==="script"){var _=v(y.as,y.crossOrigin);s.d.M(m,{crossOrigin:_,integrity:typeof y.integrity=="string"?y.integrity:void 0,nonce:typeof y.nonce=="string"?y.nonce:void 0})}}else y==null&&s.d.M(m)},He.preload=function(m,y){if(typeof m=="string"&&typeof y=="object"&&y!==null&&typeof y.as=="string"){var _=y.as,p=v(_,y.crossOrigin);s.d.L(m,_,{crossOrigin:p,integrity:typeof y.integrity=="string"?y.integrity:void 0,nonce:typeof y.nonce=="string"?y.nonce:void 0,type:typeof y.type=="string"?y.type:void 0,fetchPriority:typeof y.fetchPriority=="string"?y.fetchPriority:void 0,referrerPolicy:typeof y.referrerPolicy=="string"?y.referrerPolicy:void 0,imageSrcSet:typeof y.imageSrcSet=="string"?y.imageSrcSet:void 0,imageSizes:typeof y.imageSizes=="string"?y.imageSizes:void 0,media:typeof y.media=="string"?y.media:void 0})}},He.preloadModule=function(m,y){if(typeof m=="string")if(y){var _=v(y.as,y.crossOrigin);s.d.m(m,{as:typeof y.as=="string"&&y.as!=="script"?y.as:void 0,crossOrigin:_,integrity:typeof y.integrity=="string"?y.integrity:void 0})}else s.d.m(m)},He.requestFormReset=function(m){s.d.r(m)},He.unstable_batchedUpdates=function(m,y){return m(y)},He.useFormState=function(m,y,_){return h.H.useFormState(m,y,_)},He.useFormStatus=function(){return h.H.useHostTransitionStatus()},He.version="19.2.1",He}var E1;function Ug(){if(E1)return yr.exports;E1=1;function u(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(u)}catch(i){console.error(i)}}return u(),yr.exports=Mg(),yr.exports}/**
34 - * @license React
35 - * react-dom-client.production.js
36 - *
37 - * Copyright (c) Meta Platforms, Inc. and affiliates.
38 - *
39 - * This source code is licensed under the MIT license found in the
40 - * LICENSE file in the root directory of this source tree.
41 - */var T1;function Cg(){if(T1)return Xi;T1=1;var u=Ng(),i=kr(),f=Ug();function s(t){var e="https://react.dev/errors/"+t;if(1<arguments.length){e+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)e+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+t+"; visit "+e+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function r(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)}function o(t){var e=t,n=t;if(t.alternate)for(;e.return;)e=e.return;else{t=e;do e=t,(e.flags&4098)!==0&&(n=e.return),t=e.return;while(t)}return e.tag===3?n:null}function h(t){if(t.tag===13){var e=t.memoizedState;if(e===null&&(t=t.alternate,t!==null&&(e=t.memoizedState)),e!==null)return e.dehydrated}return null}function v(t){if(t.tag===31){var e=t.memoizedState;if(e===null&&(t=t.alternate,t!==null&&(e=t.memoizedState)),e!==null)return e.dehydrated}return null}function m(t){if(o(t)!==t)throw Error(s(188))}function y(t){var e=t.alternate;if(!e){if(e=o(t),e===null)throw Error(s(188));return e!==t?null:t}for(var n=t,a=e;;){var l=n.return;if(l===null)break;var c=l.alternate;if(c===null){if(a=l.return,a!==null){n=a;continue}break}if(l.child===c.child){for(c=l.child;c;){if(c===n)return m(l),t;if(c===a)return m(l),e;c=c.sibling}throw Error(s(188))}if(n.return!==a.return)n=l,a=c;else{for(var d=!1,g=l.child;g;){if(g===n){d=!0,n=l,a=c;break}if(g===a){d=!0,a=l,n=c;break}g=g.sibling}if(!d){for(g=c.child;g;){if(g===n){d=!0,n=c,a=l;break}if(g===a){d=!0,a=c,n=l;break}g=g.sibling}if(!d)throw Error(s(189))}}if(n.alternate!==a)throw Error(s(190))}if(n.tag!==3)throw Error(s(188));return n.stateNode.current===n?t:e}function _(t){var e=t.tag;if(e===5||e===26||e===27||e===6)return t;for(t=t.child;t!==null;){if(e=_(t),e!==null)return e;t=t.sibling}return null}var p=Object.assign,b=Symbol.for("react.element"),T=Symbol.for("react.transitional.element"),D=Symbol.for("react.portal"),G=Symbol.for("react.fragment"),W=Symbol.for("react.strict_mode"),J=Symbol.for("react.profiler"),Z=Symbol.for("react.consumer"),$=Symbol.for("react.context"),I=Symbol.for("react.forward_ref"),B=Symbol.for("react.suspense"),it=Symbol.for("react.suspense_list"),X=Symbol.for("react.memo"),et=Symbol.for("react.lazy"),ut=Symbol.for("react.activity"),st=Symbol.for("react.memo_cache_sentinel"),at=Symbol.iterator;function _t(t){return t===null||typeof t!="object"?null:(t=at&&t[at]||t["@@iterator"],typeof t=="function"?t:null)}var pt=Symbol.for("react.client.reference");function yt(t){if(t==null)return null;if(typeof t=="function")return t.$$typeof===pt?null:t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case G:return"Fragment";case J:return"Profiler";case W:return"StrictMode";case B:return"Suspense";case it:return"SuspenseList";case ut:return"Activity"}if(typeof t=="object")switch(t.$$typeof){case D:return"Portal";case $:return t.displayName||"Context";case Z:return(t._context.displayName||"Context")+".Consumer";case I:var e=t.render;return t=t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case X:return e=t.displayName||null,e!==null?e:yt(t.type)||"Memo";case et:e=t._payload,t=t._init;try{return yt(t(e))}catch{}}return null}var ot=Array.isArray,N=i.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,V=f.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,lt={pending:!1,data:null,method:null,action:null},rt=[],gt=-1;function E(t){return{current:t}}function R(t){0>gt||(t.current=rt[gt],rt[gt]=null,gt--)}function k(t,e){gt++,rt[gt]=t.current,t.current=e}var w=E(null),U=E(null),L=E(null),P=E(null);function H(t,e){switch(k(L,e),k(U,t),k(w,null),e.nodeType){case 9:case 11:t=(t=e.documentElement)&&(t=t.namespaceURI)?Bd(t):0;break;default:if(t=e.tagName,e=e.namespaceURI)e=Bd(e),t=Yd(e,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}R(w),k(w,t)}function ht(){R(w),R(U),R(L)}function Yt(t){t.memoizedState!==null&&k(P,t);var e=w.current,n=Yd(e,t.type);e!==n&&(k(U,t),k(w,n))}function Ft(t){U.current===t&&(R(w),R(U)),P.current===t&&(R(P),Bi._currentValue=lt)}var ae,oe;function Jt(t){if(ae===void 0)try{throw Error()}catch(n){var e=n.stack.trim().match(/\n( *(at )?)/);ae=e&&e[1]||"",oe=-1<n.stack.indexOf(`
42 - at`)?" (<anonymous>)":-1<n.stack.indexOf("@")?"@unknown:0:0":""}return`
43 -`+ae+t+oe}var Gt=!1;function kt(t,e){if(!t||Gt)return"";Gt=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var a={DetermineComponentFrameRoot:function(){try{if(e){var K=function(){throw Error()};if(Object.defineProperty(K.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(K,[])}catch(j){var C=j}Reflect.construct(t,[],K)}else{try{K.call()}catch(j){C=j}t.call(K.prototype)}}else{try{throw Error()}catch(j){C=j}(K=t())&&typeof K.catch=="function"&&K.catch(function(){})}}catch(j){if(j&&C&&typeof j.stack=="string")return[j.stack,C.stack]}return[null,null]}};a.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var l=Object.getOwnPropertyDescriptor(a.DetermineComponentFrameRoot,"name");l&&l.configurable&&Object.defineProperty(a.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var c=a.DetermineComponentFrameRoot(),d=c[0],g=c[1];if(d&&g){var S=d.split(`
44 -`),M=g.split(`
45 -`);for(l=a=0;a<S.length&&!S[a].includes("DetermineComponentFrameRoot");)a++;for(;l<M.length&&!M[l].includes("DetermineComponentFrameRoot");)l++;if(a===S.length||l===M.length)for(a=S.length-1,l=M.length-1;1<=a&&0<=l&&S[a]!==M[l];)l--;for(;1<=a&&0<=l;a--,l--)if(S[a]!==M[l]){if(a!==1||l!==1)do if(a--,l--,0>l||S[a]!==M[l]){var q=`
46 -`+S[a].replace(" at new "," at ");return t.displayName&&q.includes("<anonymous>")&&(q=q.replace("<anonymous>",t.displayName)),q}while(1<=a&&0<=l);break}}}finally{Gt=!1,Error.prepareStackTrace=n}return(n=t?t.displayName||t.name:"")?Jt(n):""}function je(t,e){switch(t.tag){case 26:case 27:case 5:return Jt(t.type);case 16:return Jt("Lazy");case 13:return t.child!==e&&e!==null?Jt("Suspense Fallback"):Jt("Suspense");case 19:return Jt("SuspenseList");case 0:case 15:return kt(t.type,!1);case 11:return kt(t.type.render,!1);case 1:return kt(t.type,!0);case 31:return Jt("Activity");default:return""}}function Be(t){try{var e="",n=null;do e+=je(t,n),n=t,t=t.return;while(t);return e}catch(a){return`
47 -Error generating stack: `+a.message+`
48 -`+a.stack}}var qe=Object.prototype.hasOwnProperty,Ce=u.unstable_scheduleCallback,Ae=u.unstable_cancelCallback,wn=u.unstable_shouldYield,nl=u.unstable_requestPaint,xe=u.unstable_now,al=u.unstable_getCurrentPriorityLevel,ll=u.unstable_ImmediatePriority,_e=u.unstable_UserBlockingPriority,ea=u.unstable_NormalPriority,Jc=u.unstable_LowPriority,Wl=u.unstable_IdlePriority,kc=u.log,Ic=u.unstable_setDisableYieldValue,Ua=null,Y=null;function tt(t){if(typeof kc=="function"&&Ic(t),Y&&typeof Y.setStrictMode=="function")try{Y.setStrictMode(Ua,t)}catch{}}var F=Math.clz32?Math.clz32:St,nt=Math.log,ct=Math.LN2;function St(t){return t>>>=0,t===0?32:31-(nt(t)/ct|0)|0}var wt=256,de=262144,Le=4194304;function pn(t){var e=t&42;if(e!==0)return e;switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Ca(t,e,n){var a=t.pendingLanes;if(a===0)return 0;var l=0,c=t.suspendedLanes,d=t.pingedLanes;t=t.warmLanes;var g=a&134217727;return g!==0?(a=g&~c,a!==0?l=pn(a):(d&=g,d!==0?l=pn(d):n||(n=g&~t,n!==0&&(l=pn(n))))):(g=a&~c,g!==0?l=pn(g):d!==0?l=pn(d):n||(n=a&~t,n!==0&&(l=pn(n)))),l===0?0:e!==0&&e!==l&&(e&c)===0&&(c=l&-l,n=e&-e,c>=n||c===32&&(n&4194048)!==0)?e:l}function na(t,e){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&e)===0}function h3(t,e){switch(t){case 1:case 2:case 4:case 8:case 64:return e+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function po(){var t=Le;return Le<<=1,(Le&62914560)===0&&(Le=4194304),t}function Wc(t){for(var e=[],n=0;31>n;n++)e.push(t);return e}function $l(t,e){t.pendingLanes|=e,e!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function m3(t,e,n,a,l,c){var d=t.pendingLanes;t.pendingLanes=n,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=n,t.entangledLanes&=n,t.errorRecoveryDisabledLanes&=n,t.shellSuspendCounter=0;var g=t.entanglements,S=t.expirationTimes,M=t.hiddenUpdates;for(n=d&~n;0<n;){var q=31-F(n),K=1<<q;g[q]=0,S[q]=-1;var C=M[q];if(C!==null)for(M[q]=null,q=0;q<C.length;q++){var j=C[q];j!==null&&(j.lane&=-536870913)}n&=~K}a!==0&&bo(t,a,0),c!==0&&l===0&&t.tag!==0&&(t.suspendedLanes|=c&~(d&~e))}function bo(t,e,n){t.pendingLanes|=e,t.suspendedLanes&=~e;var a=31-F(e);t.entangledLanes|=e,t.entanglements[a]=t.entanglements[a]|1073741824|n&261930}function So(t,e){var n=t.entangledLanes|=e;for(t=t.entanglements;n;){var a=31-F(n),l=1<<a;l&e|t[a]&e&&(t[a]|=e),n&=~l}}function Eo(t,e){var n=e&-e;return n=(n&42)!==0?1:$c(n),(n&(t.suspendedLanes|e))!==0?0:n}function $c(t){switch(t){case 2:t=1;break;case 8:t=4;break;case 32:t=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:t=128;break;case 268435456:t=134217728;break;default:t=0}return t}function Pc(t){return t&=-t,2<t?8<t?(t&134217727)!==0?32:268435456:8:2}function To(){var t=V.p;return t!==0?t:(t=window.event,t===void 0?32:s1(t.type))}function Ao(t,e){var n=V.p;try{return V.p=t,e()}finally{V.p=n}}var aa=Math.random().toString(36).slice(2),we="__reactFiber$"+aa,Ze="__reactProps$"+aa,il="__reactContainer$"+aa,ts="__reactEvents$"+aa,y3="__reactListeners$"+aa,g3="__reactHandles$"+aa,xo="__reactResources$"+aa,Pl="__reactMarker$"+aa;function es(t){delete t[we],delete t[Ze],delete t[ts],delete t[y3],delete t[g3]}function ul(t){var e=t[we];if(e)return e;for(var n=t.parentNode;n;){if(e=n[il]||n[we]){if(n=e.alternate,e.child!==null||n!==null&&n.child!==null)for(t=Fd(t);t!==null;){if(n=t[we])return n;t=Fd(t)}return e}t=n,n=t.parentNode}return null}function cl(t){if(t=t[we]||t[il]){var e=t.tag;if(e===5||e===6||e===13||e===31||e===26||e===27||e===3)return t}return null}function ti(t){var e=t.tag;if(e===5||e===26||e===27||e===6)return t.stateNode;throw Error(s(33))}function sl(t){var e=t[xo];return e||(e=t[xo]={hoistableStyles:new Map,hoistableScripts:new Map}),e}function be(t){t[Pl]=!0}var wo=new Set,Oo={};function La(t,e){fl(t,e),fl(t+"Capture",e)}function fl(t,e){for(Oo[t]=e,t=0;t<e.length;t++)wo.add(e[t])}var v3=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),Ro={},Do={};function _3(t){return qe.call(Do,t)?!0:qe.call(Ro,t)?!1:v3.test(t)?Do[t]=!0:(Ro[t]=!0,!1)}function uu(t,e,n){if(_3(e))if(n===null)t.removeAttribute(e);else{switch(typeof n){case"undefined":case"function":case"symbol":t.removeAttribute(e);return;case"boolean":var a=e.toLowerCase().slice(0,5);if(a!=="data-"&&a!=="aria-"){t.removeAttribute(e);return}}t.setAttribute(e,""+n)}}function cu(t,e,n){if(n===null)t.removeAttribute(e);else{switch(typeof n){case"undefined":case"function":case"symbol":case"boolean":t.removeAttribute(e);return}t.setAttribute(e,""+n)}}function Un(t,e,n,a){if(a===null)t.removeAttribute(n);else{switch(typeof a){case"undefined":case"function":case"symbol":case"boolean":t.removeAttribute(n);return}t.setAttributeNS(e,n,""+a)}}function un(t){switch(typeof t){case"bigint":case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function zo(t){var e=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function p3(t,e,n){var a=Object.getOwnPropertyDescriptor(t.constructor.prototype,e);if(!t.hasOwnProperty(e)&&typeof a<"u"&&typeof a.get=="function"&&typeof a.set=="function"){var l=a.get,c=a.set;return Object.defineProperty(t,e,{configurable:!0,get:function(){return l.call(this)},set:function(d){n=""+d,c.call(this,d)}}),Object.defineProperty(t,e,{enumerable:a.enumerable}),{getValue:function(){return n},setValue:function(d){n=""+d},stopTracking:function(){t._valueTracker=null,delete t[e]}}}}function ns(t){if(!t._valueTracker){var e=zo(t)?"checked":"value";t._valueTracker=p3(t,e,""+t[e])}}function No(t){if(!t)return!1;var e=t._valueTracker;if(!e)return!0;var n=e.getValue(),a="";return t&&(a=zo(t)?t.checked?"true":"false":t.value),t=a,t!==n?(e.setValue(t),!0):!1}function su(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var b3=/[\n"\\]/g;function cn(t){return t.replace(b3,function(e){return"\\"+e.charCodeAt(0).toString(16)+" "})}function as(t,e,n,a,l,c,d,g){t.name="",d!=null&&typeof d!="function"&&typeof d!="symbol"&&typeof d!="boolean"?t.type=d:t.removeAttribute("type"),e!=null?d==="number"?(e===0&&t.value===""||t.value!=e)&&(t.value=""+un(e)):t.value!==""+un(e)&&(t.value=""+un(e)):d!=="submit"&&d!=="reset"||t.removeAttribute("value"),e!=null?ls(t,d,un(e)):n!=null?ls(t,d,un(n)):a!=null&&t.removeAttribute("value"),l==null&&c!=null&&(t.defaultChecked=!!c),l!=null&&(t.checked=l&&typeof l!="function"&&typeof l!="symbol"),g!=null&&typeof g!="function"&&typeof g!="symbol"&&typeof g!="boolean"?t.name=""+un(g):t.removeAttribute("name")}function Mo(t,e,n,a,l,c,d,g){if(c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"&&(t.type=c),e!=null||n!=null){if(!(c!=="submit"&&c!=="reset"||e!=null)){ns(t);return}n=n!=null?""+un(n):"",e=e!=null?""+un(e):n,g||e===t.value||(t.value=e),t.defaultValue=e}a=a??l,a=typeof a!="function"&&typeof a!="symbol"&&!!a,t.checked=g?t.checked:!!a,t.defaultChecked=!!a,d!=null&&typeof d!="function"&&typeof d!="symbol"&&typeof d!="boolean"&&(t.name=d),ns(t)}function ls(t,e,n){e==="number"&&su(t.ownerDocument)===t||t.defaultValue===""+n||(t.defaultValue=""+n)}function rl(t,e,n,a){if(t=t.options,e){e={};for(var l=0;l<n.length;l++)e["$"+n[l]]=!0;for(n=0;n<t.length;n++)l=e.hasOwnProperty("$"+t[n].value),t[n].selected!==l&&(t[n].selected=l),l&&a&&(t[n].defaultSelected=!0)}else{for(n=""+un(n),e=null,l=0;l<t.length;l++){if(t[l].value===n){t[l].selected=!0,a&&(t[l].defaultSelected=!0);return}e!==null||t[l].disabled||(e=t[l])}e!==null&&(e.selected=!0)}}function Uo(t,e,n){if(e!=null&&(e=""+un(e),e!==t.value&&(t.value=e),n==null)){t.defaultValue!==e&&(t.defaultValue=e);return}t.defaultValue=n!=null?""+un(n):""}function Co(t,e,n,a){if(e==null){if(a!=null){if(n!=null)throw Error(s(92));if(ot(a)){if(1<a.length)throw Error(s(93));a=a[0]}n=a}n==null&&(n=""),e=n}n=un(e),t.defaultValue=n,a=t.textContent,a===n&&a!==""&&a!==null&&(t.value=a),ns(t)}function ol(t,e){if(e){var n=t.firstChild;if(n&&n===t.lastChild&&n.nodeType===3){n.nodeValue=e;return}}t.textContent=e}var S3=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function Lo(t,e,n){var a=e.indexOf("--")===0;n==null||typeof n=="boolean"||n===""?a?t.setProperty(e,""):e==="float"?t.cssFloat="":t[e]="":a?t.setProperty(e,n):typeof n!="number"||n===0||S3.has(e)?e==="float"?t.cssFloat=n:t[e]=(""+n).trim():t[e]=n+"px"}function Ho(t,e,n){if(e!=null&&typeof e!="object")throw Error(s(62));if(t=t.style,n!=null){for(var a in n)!n.hasOwnProperty(a)||e!=null&&e.hasOwnProperty(a)||(a.indexOf("--")===0?t.setProperty(a,""):a==="float"?t.cssFloat="":t[a]="");for(var l in e)a=e[l],e.hasOwnProperty(l)&&n[l]!==a&&Lo(t,l,a)}else for(var c in e)e.hasOwnProperty(c)&&Lo(t,c,e[c])}function is(t){if(t.indexOf("-")===-1)return!1;switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var E3=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),T3=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function fu(t){return T3.test(""+t)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":t}function Cn(){}var us=null;function cs(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var dl=null,hl=null;function jo(t){var e=cl(t);if(e&&(t=e.stateNode)){var n=t[Ze]||null;t:switch(t=e.stateNode,e.type){case"input":if(as(t,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),e=n.name,n.type==="radio"&&e!=null){for(n=t;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll('input[name="'+cn(""+e)+'"][type="radio"]'),e=0;e<n.length;e++){var a=n[e];if(a!==t&&a.form===t.form){var l=a[Ze]||null;if(!l)throw Error(s(90));as(a,l.value,l.defaultValue,l.defaultValue,l.checked,l.defaultChecked,l.type,l.name)}}for(e=0;e<n.length;e++)a=n[e],a.form===t.form&&No(a)}break t;case"textarea":Uo(t,n.value,n.defaultValue);break t;case"select":e=n.value,e!=null&&rl(t,!!n.multiple,e,!1)}}}var ss=!1;function Bo(t,e,n){if(ss)return t(e,n);ss=!0;try{var a=t(e);return a}finally{if(ss=!1,(dl!==null||hl!==null)&&(Iu(),dl&&(e=dl,t=hl,hl=dl=null,jo(e),t)))for(e=0;e<t.length;e++)jo(t[e])}}function ei(t,e){var n=t.stateNode;if(n===null)return null;var a=n[Ze]||null;if(a===null)return null;n=a[e];t:switch(e){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(a=!a.disabled)||(t=t.type,a=!(t==="button"||t==="input"||t==="select"||t==="textarea")),t=!a;break t;default:t=!1}if(t)return null;if(n&&typeof n!="function")throw Error(s(231,e,typeof n));return n}var Ln=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),fs=!1;if(Ln)try{var ni={};Object.defineProperty(ni,"passive",{get:function(){fs=!0}}),window.addEventListener("test",ni,ni),window.removeEventListener("test",ni,ni)}catch{fs=!1}var la=null,rs=null,ru=null;function Yo(){if(ru)return ru;var t,e=rs,n=e.length,a,l="value"in la?la.value:la.textContent,c=l.length;for(t=0;t<n&&e[t]===l[t];t++);var d=n-t;for(a=1;a<=d&&e[n-a]===l[c-a];a++);return ru=l.slice(t,1<a?1-a:void 0)}function ou(t){var e=t.keyCode;return"charCode"in t?(t=t.charCode,t===0&&e===13&&(t=13)):t=e,t===10&&(t=13),32<=t||t===13?t:0}function du(){return!0}function Go(){return!1}function Xe(t){function e(n,a,l,c,d){this._reactName=n,this._targetInst=l,this.type=a,this.nativeEvent=c,this.target=d,this.currentTarget=null;for(var g in t)t.hasOwnProperty(g)&&(n=t[g],this[g]=n?n(c):c[g]);return this.isDefaultPrevented=(c.defaultPrevented!=null?c.defaultPrevented:c.returnValue===!1)?du:Go,this.isPropagationStopped=Go,this}return p(e.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=du)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=du)},persist:function(){},isPersistent:du}),e}var Ha={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(t){return t.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},hu=Xe(Ha),ai=p({},Ha,{view:0,detail:0}),A3=Xe(ai),os,ds,li,mu=p({},ai,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:ms,button:0,buttons:0,relatedTarget:function(t){return t.relatedTarget===void 0?t.fromElement===t.srcElement?t.toElement:t.fromElement:t.relatedTarget},movementX:function(t){return"movementX"in t?t.movementX:(t!==li&&(li&&t.type==="mousemove"?(os=t.screenX-li.screenX,ds=t.screenY-li.screenY):ds=os=0,li=t),os)},movementY:function(t){return"movementY"in t?t.movementY:ds}}),qo=Xe(mu),x3=p({},mu,{dataTransfer:0}),w3=Xe(x3),O3=p({},ai,{relatedTarget:0}),hs=Xe(O3),R3=p({},Ha,{animationName:0,elapsedTime:0,pseudoElement:0}),D3=Xe(R3),z3=p({},Ha,{clipboardData:function(t){return"clipboardData"in t?t.clipboardData:window.clipboardData}}),N3=Xe(z3),M3=p({},Ha,{data:0}),Zo=Xe(M3),U3={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},C3={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},L3={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function H3(t){var e=this.nativeEvent;return e.getModifierState?e.getModifierState(t):(t=L3[t])?!!e[t]:!1}function ms(){return H3}var j3=p({},ai,{key:function(t){if(t.key){var e=U3[t.key]||t.key;if(e!=="Unidentified")return e}return t.type==="keypress"?(t=ou(t),t===13?"Enter":String.fromCharCode(t)):t.type==="keydown"||t.type==="keyup"?C3[t.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:ms,charCode:function(t){return t.type==="keypress"?ou(t):0},keyCode:function(t){return t.type==="keydown"||t.type==="keyup"?t.keyCode:0},which:function(t){return t.type==="keypress"?ou(t):t.type==="keydown"||t.type==="keyup"?t.keyCode:0}}),B3=Xe(j3),Y3=p({},mu,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Xo=Xe(Y3),G3=p({},ai,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:ms}),q3=Xe(G3),Z3=p({},Ha,{propertyName:0,elapsedTime:0,pseudoElement:0}),X3=Xe(Z3),V3=p({},mu,{deltaX:function(t){return"deltaX"in t?t.deltaX:"wheelDeltaX"in t?-t.wheelDeltaX:0},deltaY:function(t){return"deltaY"in t?t.deltaY:"wheelDeltaY"in t?-t.wheelDeltaY:"wheelDelta"in t?-t.wheelDelta:0},deltaZ:0,deltaMode:0}),Q3=Xe(V3),F3=p({},Ha,{newState:0,oldState:0}),K3=Xe(F3),J3=[9,13,27,32],ys=Ln&&"CompositionEvent"in window,ii=null;Ln&&"documentMode"in document&&(ii=document.documentMode);var k3=Ln&&"TextEvent"in window&&!ii,Vo=Ln&&(!ys||ii&&8<ii&&11>=ii),Qo=" ",Fo=!1;function Ko(t,e){switch(t){case"keyup":return J3.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Jo(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var ml=!1;function I3(t,e){switch(t){case"compositionend":return Jo(e);case"keypress":return e.which!==32?null:(Fo=!0,Qo);case"textInput":return t=e.data,t===Qo&&Fo?null:t;default:return null}}function W3(t,e){if(ml)return t==="compositionend"||!ys&&Ko(t,e)?(t=Yo(),ru=rs=la=null,ml=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1<e.char.length)return e.char;if(e.which)return String.fromCharCode(e.which)}return null;case"compositionend":return Vo&&e.locale!=="ko"?null:e.data;default:return null}}var $3={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function ko(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e==="input"?!!$3[t.type]:e==="textarea"}function Io(t,e,n,a){dl?hl?hl.push(a):hl=[a]:dl=a,e=ac(e,"onChange"),0<e.length&&(n=new hu("onChange","change",null,n,a),t.push({event:n,listeners:e}))}var ui=null,ci=null;function P3(t){Md(t,0)}function yu(t){var e=ti(t);if(No(e))return t}function Wo(t,e){if(t==="change")return e}var $o=!1;if(Ln){var gs;if(Ln){var vs="oninput"in document;if(!vs){var Po=document.createElement("div");Po.setAttribute("oninput","return;"),vs=typeof Po.oninput=="function"}gs=vs}else gs=!1;$o=gs&&(!document.documentMode||9<document.documentMode)}function t0(){ui&&(ui.detachEvent("onpropertychange",e0),ci=ui=null)}function e0(t){if(t.propertyName==="value"&&yu(ci)){var e=[];Io(e,ci,t,cs(t)),Bo(P3,e)}}function ty(t,e,n){t==="focusin"?(t0(),ui=e,ci=n,ui.attachEvent("onpropertychange",e0)):t==="focusout"&&t0()}function ey(t){if(t==="selectionchange"||t==="keyup"||t==="keydown")return yu(ci)}function ny(t,e){if(t==="click")return yu(e)}function ay(t,e){if(t==="input"||t==="change")return yu(e)}function ly(t,e){return t===e&&(t!==0||1/t===1/e)||t!==t&&e!==e}var Ie=typeof Object.is=="function"?Object.is:ly;function si(t,e){if(Ie(t,e))return!0;if(typeof t!="object"||t===null||typeof e!="object"||e===null)return!1;var n=Object.keys(t),a=Object.keys(e);if(n.length!==a.length)return!1;for(a=0;a<n.length;a++){var l=n[a];if(!qe.call(e,l)||!Ie(t[l],e[l]))return!1}return!0}function n0(t){for(;t&&t.firstChild;)t=t.firstChild;return t}function a0(t,e){var n=n0(t);t=0;for(var a;n;){if(n.nodeType===3){if(a=t+n.textContent.length,t<=e&&a>=e)return{node:n,offset:e-t};t=a}t:{for(;n;){if(n.nextSibling){n=n.nextSibling;break t}n=n.parentNode}n=void 0}n=n0(n)}}function l0(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?l0(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function i0(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var e=su(t.document);e instanceof t.HTMLIFrameElement;){try{var n=typeof e.contentWindow.location.href=="string"}catch{n=!1}if(n)t=e.contentWindow;else break;e=su(t.document)}return e}function _s(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}var iy=Ln&&"documentMode"in document&&11>=document.documentMode,yl=null,ps=null,fi=null,bs=!1;function u0(t,e,n){var a=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;bs||yl==null||yl!==su(a)||(a=yl,"selectionStart"in a&&_s(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),fi&&si(fi,a)||(fi=a,a=ac(ps,"onSelect"),0<a.length&&(e=new hu("onSelect","select",null,e,n),t.push({event:e,listeners:a}),e.target=yl)))}function ja(t,e){var n={};return n[t.toLowerCase()]=e.toLowerCase(),n["Webkit"+t]="webkit"+e,n["Moz"+t]="moz"+e,n}var gl={animationend:ja("Animation","AnimationEnd"),animationiteration:ja("Animation","AnimationIteration"),animationstart:ja("Animation","AnimationStart"),transitionrun:ja("Transition","TransitionRun"),transitionstart:ja("Transition","TransitionStart"),transitioncancel:ja("Transition","TransitionCancel"),transitionend:ja("Transition","TransitionEnd")},Ss={},c0={};Ln&&(c0=document.createElement("div").style,"AnimationEvent"in window||(delete gl.animationend.animation,delete gl.animationiteration.animation,delete gl.animationstart.animation),"TransitionEvent"in window||delete gl.transitionend.transition);function Ba(t){if(Ss[t])return Ss[t];if(!gl[t])return t;var e=gl[t],n;for(n in e)if(e.hasOwnProperty(n)&&n in c0)return Ss[t]=e[n];return t}var s0=Ba("animationend"),f0=Ba("animationiteration"),r0=Ba("animationstart"),uy=Ba("transitionrun"),cy=Ba("transitionstart"),sy=Ba("transitioncancel"),o0=Ba("transitionend"),d0=new Map,Es="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");Es.push("scrollEnd");function bn(t,e){d0.set(t,e),La(e,[t])}var gu=typeof reportError=="function"?reportError:function(t){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var e=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof t=="object"&&t!==null&&typeof t.message=="string"?String(t.message):String(t),error:t});if(!window.dispatchEvent(e))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",t);return}console.error(t)},sn=[],vl=0,Ts=0;function vu(){for(var t=vl,e=Ts=vl=0;e<t;){var n=sn[e];sn[e++]=null;var a=sn[e];sn[e++]=null;var l=sn[e];sn[e++]=null;var c=sn[e];if(sn[e++]=null,a!==null&&l!==null){var d=a.pending;d===null?l.next=l:(l.next=d.next,d.next=l),a.pending=l}c!==0&&h0(n,l,c)}}function _u(t,e,n,a){sn[vl++]=t,sn[vl++]=e,sn[vl++]=n,sn[vl++]=a,Ts|=a,t.lanes|=a,t=t.alternate,t!==null&&(t.lanes|=a)}function As(t,e,n,a){return _u(t,e,n,a),pu(t)}function Ya(t,e){return _u(t,null,null,e),pu(t)}function h0(t,e,n){t.lanes|=n;var a=t.alternate;a!==null&&(a.lanes|=n);for(var l=!1,c=t.return;c!==null;)c.childLanes|=n,a=c.alternate,a!==null&&(a.childLanes|=n),c.tag===22&&(t=c.stateNode,t===null||t._visibility&1||(l=!0)),t=c,c=c.return;return t.tag===3?(c=t.stateNode,l&&e!==null&&(l=31-F(n),t=c.hiddenUpdates,a=t[l],a===null?t[l]=[e]:a.push(e),e.lane=n|536870912),c):null}function pu(t){if(50<Ni)throw Ni=0,Cf=null,Error(s(185));for(var e=t.return;e!==null;)t=e,e=t.return;return t.tag===3?t.stateNode:null}var _l={};function fy(t,e,n,a){this.tag=t,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=e,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=a,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function We(t,e,n,a){return new fy(t,e,n,a)}function xs(t){return t=t.prototype,!(!t||!t.isReactComponent)}function Hn(t,e){var n=t.alternate;return n===null?(n=We(t.tag,e,t.key,t.mode),n.elementType=t.elementType,n.type=t.type,n.stateNode=t.stateNode,n.alternate=t,t.alternate=n):(n.pendingProps=e,n.type=t.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=t.flags&65011712,n.childLanes=t.childLanes,n.lanes=t.lanes,n.child=t.child,n.memoizedProps=t.memoizedProps,n.memoizedState=t.memoizedState,n.updateQueue=t.updateQueue,e=t.dependencies,n.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},n.sibling=t.sibling,n.index=t.index,n.ref=t.ref,n.refCleanup=t.refCleanup,n}function m0(t,e){t.flags&=65011714;var n=t.alternate;return n===null?(t.childLanes=0,t.lanes=e,t.child=null,t.subtreeFlags=0,t.memoizedProps=null,t.memoizedState=null,t.updateQueue=null,t.dependencies=null,t.stateNode=null):(t.childLanes=n.childLanes,t.lanes=n.lanes,t.child=n.child,t.subtreeFlags=0,t.deletions=null,t.memoizedProps=n.memoizedProps,t.memoizedState=n.memoizedState,t.updateQueue=n.updateQueue,t.type=n.type,e=n.dependencies,t.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),t}function bu(t,e,n,a,l,c){var d=0;if(a=t,typeof t=="function")xs(t)&&(d=1);else if(typeof t=="string")d=mg(t,n,w.current)?26:t==="html"||t==="head"||t==="body"?27:5;else t:switch(t){case ut:return t=We(31,n,e,l),t.elementType=ut,t.lanes=c,t;case G:return Ga(n.children,l,c,e);case W:d=8,l|=24;break;case J:return t=We(12,n,e,l|2),t.elementType=J,t.lanes=c,t;case B:return t=We(13,n,e,l),t.elementType=B,t.lanes=c,t;case it:return t=We(19,n,e,l),t.elementType=it,t.lanes=c,t;default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case $:d=10;break t;case Z:d=9;break t;case I:d=11;break t;case X:d=14;break t;case et:d=16,a=null;break t}d=29,n=Error(s(130,t===null?"null":typeof t,"")),a=null}return e=We(d,n,e,l),e.elementType=t,e.type=a,e.lanes=c,e}function Ga(t,e,n,a){return t=We(7,t,a,e),t.lanes=n,t}function ws(t,e,n){return t=We(6,t,null,e),t.lanes=n,t}function y0(t){var e=We(18,null,null,0);return e.stateNode=t,e}function Os(t,e,n){return e=We(4,t.children!==null?t.children:[],t.key,e),e.lanes=n,e.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},e}var g0=new WeakMap;function fn(t,e){if(typeof t=="object"&&t!==null){var n=g0.get(t);return n!==void 0?n:(e={value:t,source:e,stack:Be(e)},g0.set(t,e),e)}return{value:t,source:e,stack:Be(e)}}var pl=[],bl=0,Su=null,ri=0,rn=[],on=0,ia=null,On=1,Rn="";function jn(t,e){pl[bl++]=ri,pl[bl++]=Su,Su=t,ri=e}function v0(t,e,n){rn[on++]=On,rn[on++]=Rn,rn[on++]=ia,ia=t;var a=On;t=Rn;var l=32-F(a)-1;a&=~(1<<l),n+=1;var c=32-F(e)+l;if(30<c){var d=l-l%5;c=(a&(1<<d)-1).toString(32),a>>=d,l-=d,On=1<<32-F(e)+l|n<<l|a,Rn=c+t}else On=1<<c|n<<l|a,Rn=t}function Rs(t){t.return!==null&&(jn(t,1),v0(t,1,0))}function Ds(t){for(;t===Su;)Su=pl[--bl],pl[bl]=null,ri=pl[--bl],pl[bl]=null;for(;t===ia;)ia=rn[--on],rn[on]=null,Rn=rn[--on],rn[on]=null,On=rn[--on],rn[on]=null}function _0(t,e){rn[on++]=On,rn[on++]=Rn,rn[on++]=ia,On=e.id,Rn=e.overflow,ia=t}var Oe=null,It=null,Ut=!1,ua=null,dn=!1,zs=Error(s(519));function ca(t){var e=Error(s(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw oi(fn(e,t)),zs}function p0(t){var e=t.stateNode,n=t.type,a=t.memoizedProps;switch(e[we]=t,e[Ze]=a,n){case"dialog":Rt("cancel",e),Rt("close",e);break;case"iframe":case"object":case"embed":Rt("load",e);break;case"video":case"audio":for(n=0;n<Ui.length;n++)Rt(Ui[n],e);break;case"source":Rt("error",e);break;case"img":case"image":case"link":Rt("error",e),Rt("load",e);break;case"details":Rt("toggle",e);break;case"input":Rt("invalid",e),Mo(e,a.value,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name,!0);break;case"select":Rt("invalid",e);break;case"textarea":Rt("invalid",e),Co(e,a.value,a.defaultValue,a.children)}n=a.children,typeof n!="string"&&typeof n!="number"&&typeof n!="bigint"||e.textContent===""+n||a.suppressHydrationWarning===!0||Hd(e.textContent,n)?(a.popover!=null&&(Rt("beforetoggle",e),Rt("toggle",e)),a.onScroll!=null&&Rt("scroll",e),a.onScrollEnd!=null&&Rt("scrollend",e),a.onClick!=null&&(e.onclick=Cn),e=!0):e=!1,e||ca(t,!0)}function b0(t){for(Oe=t.return;Oe;)switch(Oe.tag){case 5:case 31:case 13:dn=!1;return;case 27:case 3:dn=!0;return;default:Oe=Oe.return}}function Sl(t){if(t!==Oe)return!1;if(!Ut)return b0(t),Ut=!0,!1;var e=t.tag,n;if((n=e!==3&&e!==27)&&((n=e===5)&&(n=t.type,n=!(n!=="form"&&n!=="button")||kf(t.type,t.memoizedProps)),n=!n),n&&It&&ca(t),b0(t),e===13){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(s(317));It=Qd(t)}else if(e===31){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(s(317));It=Qd(t)}else e===27?(e=It,Sa(t.type)?(t=tr,tr=null,It=t):It=e):It=Oe?mn(t.stateNode.nextSibling):null;return!0}function qa(){It=Oe=null,Ut=!1}function Ns(){var t=ua;return t!==null&&(Ke===null?Ke=t:Ke.push.apply(Ke,t),ua=null),t}function oi(t){ua===null?ua=[t]:ua.push(t)}var Ms=E(null),Za=null,Bn=null;function sa(t,e,n){k(Ms,e._currentValue),e._currentValue=n}function Yn(t){t._currentValue=Ms.current,R(Ms)}function Us(t,e,n){for(;t!==null;){var a=t.alternate;if((t.childLanes&e)!==e?(t.childLanes|=e,a!==null&&(a.childLanes|=e)):a!==null&&(a.childLanes&e)!==e&&(a.childLanes|=e),t===n)break;t=t.return}}function Cs(t,e,n,a){var l=t.child;for(l!==null&&(l.return=t);l!==null;){var c=l.dependencies;if(c!==null){var d=l.child;c=c.firstContext;t:for(;c!==null;){var g=c;c=l;for(var S=0;S<e.length;S++)if(g.context===e[S]){c.lanes|=n,g=c.alternate,g!==null&&(g.lanes|=n),Us(c.return,n,t),a||(d=null);break t}c=g.next}}else if(l.tag===18){if(d=l.return,d===null)throw Error(s(341));d.lanes|=n,c=d.alternate,c!==null&&(c.lanes|=n),Us(d,n,t),d=null}else d=l.child;if(d!==null)d.return=l;else for(d=l;d!==null;){if(d===t){d=null;break}if(l=d.sibling,l!==null){l.return=d.return,d=l;break}d=d.return}l=d}}function El(t,e,n,a){t=null;for(var l=e,c=!1;l!==null;){if(!c){if((l.flags&524288)!==0)c=!0;else if((l.flags&262144)!==0)break}if(l.tag===10){var d=l.alternate;if(d===null)throw Error(s(387));if(d=d.memoizedProps,d!==null){var g=l.type;Ie(l.pendingProps.value,d.value)||(t!==null?t.push(g):t=[g])}}else if(l===P.current){if(d=l.alternate,d===null)throw Error(s(387));d.memoizedState.memoizedState!==l.memoizedState.memoizedState&&(t!==null?t.push(Bi):t=[Bi])}l=l.return}t!==null&&Cs(e,t,n,a),e.flags|=262144}function Eu(t){for(t=t.firstContext;t!==null;){if(!Ie(t.context._currentValue,t.memoizedValue))return!0;t=t.next}return!1}function Xa(t){Za=t,Bn=null,t=t.dependencies,t!==null&&(t.firstContext=null)}function Re(t){return S0(Za,t)}function Tu(t,e){return Za===null&&Xa(t),S0(t,e)}function S0(t,e){var n=e._currentValue;if(e={context:e,memoizedValue:n,next:null},Bn===null){if(t===null)throw Error(s(308));Bn=e,t.dependencies={lanes:0,firstContext:e},t.flags|=524288}else Bn=Bn.next=e;return n}var ry=typeof AbortController<"u"?AbortController:function(){var t=[],e=this.signal={aborted:!1,addEventListener:function(n,a){t.push(a)}};this.abort=function(){e.aborted=!0,t.forEach(function(n){return n()})}},oy=u.unstable_scheduleCallback,dy=u.unstable_NormalPriority,he={$$typeof:$,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Ls(){return{controller:new ry,data:new Map,refCount:0}}function di(t){t.refCount--,t.refCount===0&&oy(dy,function(){t.controller.abort()})}var hi=null,Hs=0,Tl=0,Al=null;function hy(t,e){if(hi===null){var n=hi=[];Hs=0,Tl=Gf(),Al={status:"pending",value:void 0,then:function(a){n.push(a)}}}return Hs++,e.then(E0,E0),e}function E0(){if(--Hs===0&&hi!==null){Al!==null&&(Al.status="fulfilled");var t=hi;hi=null,Tl=0,Al=null;for(var e=0;e<t.length;e++)(0,t[e])()}}function my(t,e){var n=[],a={status:"pending",value:null,reason:null,then:function(l){n.push(l)}};return t.then(function(){a.status="fulfilled",a.value=e;for(var l=0;l<n.length;l++)(0,n[l])(e)},function(l){for(a.status="rejected",a.reason=l,l=0;l<n.length;l++)(0,n[l])(void 0)}),a}var T0=N.S;N.S=function(t,e){ud=xe(),typeof e=="object"&&e!==null&&typeof e.then=="function"&&hy(t,e),T0!==null&&T0(t,e)};var Va=E(null);function js(){var t=Va.current;return t!==null?t:Kt.pooledCache}function Au(t,e){e===null?k(Va,Va.current):k(Va,e.pool)}function A0(){var t=js();return t===null?null:{parent:he._currentValue,pool:t}}var xl=Error(s(460)),Bs=Error(s(474)),xu=Error(s(542)),wu={then:function(){}};function x0(t){return t=t.status,t==="fulfilled"||t==="rejected"}function w0(t,e,n){switch(n=t[n],n===void 0?t.push(e):n!==e&&(e.then(Cn,Cn),e=n),e.status){case"fulfilled":return e.value;case"rejected":throw t=e.reason,R0(t),t;default:if(typeof e.status=="string")e.then(Cn,Cn);else{if(t=Kt,t!==null&&100<t.shellSuspendCounter)throw Error(s(482));t=e,t.status="pending",t.then(function(a){if(e.status==="pending"){var l=e;l.status="fulfilled",l.value=a}},function(a){if(e.status==="pending"){var l=e;l.status="rejected",l.reason=a}})}switch(e.status){case"fulfilled":return e.value;case"rejected":throw t=e.reason,R0(t),t}throw Fa=e,xl}}function Qa(t){try{var e=t._init;return e(t._payload)}catch(n){throw n!==null&&typeof n=="object"&&typeof n.then=="function"?(Fa=n,xl):n}}var Fa=null;function O0(){if(Fa===null)throw Error(s(459));var t=Fa;return Fa=null,t}function R0(t){if(t===xl||t===xu)throw Error(s(483))}var wl=null,mi=0;function Ou(t){var e=mi;return mi+=1,wl===null&&(wl=[]),w0(wl,t,e)}function yi(t,e){e=e.props.ref,t.ref=e!==void 0?e:null}function Ru(t,e){throw e.$$typeof===b?Error(s(525)):(t=Object.prototype.toString.call(e),Error(s(31,t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)))}function D0(t){function e(x,A){if(t){var z=x.deletions;z===null?(x.deletions=[A],x.flags|=16):z.push(A)}}function n(x,A){if(!t)return null;for(;A!==null;)e(x,A),A=A.sibling;return null}function a(x){for(var A=new Map;x!==null;)x.key!==null?A.set(x.key,x):A.set(x.index,x),x=x.sibling;return A}function l(x,A){return x=Hn(x,A),x.index=0,x.sibling=null,x}function c(x,A,z){return x.index=z,t?(z=x.alternate,z!==null?(z=z.index,z<A?(x.flags|=67108866,A):z):(x.flags|=67108866,A)):(x.flags|=1048576,A)}function d(x){return t&&x.alternate===null&&(x.flags|=67108866),x}function g(x,A,z,Q){return A===null||A.tag!==6?(A=ws(z,x.mode,Q),A.return=x,A):(A=l(A,z),A.return=x,A)}function S(x,A,z,Q){var vt=z.type;return vt===G?q(x,A,z.props.children,Q,z.key):A!==null&&(A.elementType===vt||typeof vt=="object"&&vt!==null&&vt.$$typeof===et&&Qa(vt)===A.type)?(A=l(A,z.props),yi(A,z),A.return=x,A):(A=bu(z.type,z.key,z.props,null,x.mode,Q),yi(A,z),A.return=x,A)}function M(x,A,z,Q){return A===null||A.tag!==4||A.stateNode.containerInfo!==z.containerInfo||A.stateNode.implementation!==z.implementation?(A=Os(z,x.mode,Q),A.return=x,A):(A=l(A,z.children||[]),A.return=x,A)}function q(x,A,z,Q,vt){return A===null||A.tag!==7?(A=Ga(z,x.mode,Q,vt),A.return=x,A):(A=l(A,z),A.return=x,A)}function K(x,A,z){if(typeof A=="string"&&A!==""||typeof A=="number"||typeof A=="bigint")return A=ws(""+A,x.mode,z),A.return=x,A;if(typeof A=="object"&&A!==null){switch(A.$$typeof){case T:return z=bu(A.type,A.key,A.props,null,x.mode,z),yi(z,A),z.return=x,z;case D:return A=Os(A,x.mode,z),A.return=x,A;case et:return A=Qa(A),K(x,A,z)}if(ot(A)||_t(A))return A=Ga(A,x.mode,z,null),A.return=x,A;if(typeof A.then=="function")return K(x,Ou(A),z);if(A.$$typeof===$)return K(x,Tu(x,A),z);Ru(x,A)}return null}function C(x,A,z,Q){var vt=A!==null?A.key:null;if(typeof z=="string"&&z!==""||typeof z=="number"||typeof z=="bigint")return vt!==null?null:g(x,A,""+z,Q);if(typeof z=="object"&&z!==null){switch(z.$$typeof){case T:return z.key===vt?S(x,A,z,Q):null;case D:return z.key===vt?M(x,A,z,Q):null;case et:return z=Qa(z),C(x,A,z,Q)}if(ot(z)||_t(z))return vt!==null?null:q(x,A,z,Q,null);if(typeof z.then=="function")return C(x,A,Ou(z),Q);if(z.$$typeof===$)return C(x,A,Tu(x,z),Q);Ru(x,z)}return null}function j(x,A,z,Q,vt){if(typeof Q=="string"&&Q!==""||typeof Q=="number"||typeof Q=="bigint")return x=x.get(z)||null,g(A,x,""+Q,vt);if(typeof Q=="object"&&Q!==null){switch(Q.$$typeof){case T:return x=x.get(Q.key===null?z:Q.key)||null,S(A,x,Q,vt);case D:return x=x.get(Q.key===null?z:Q.key)||null,M(A,x,Q,vt);case et:return Q=Qa(Q),j(x,A,z,Q,vt)}if(ot(Q)||_t(Q))return x=x.get(z)||null,q(A,x,Q,vt,null);if(typeof Q.then=="function")return j(x,A,z,Ou(Q),vt);if(Q.$$typeof===$)return j(x,A,z,Tu(A,Q),vt);Ru(A,Q)}return null}function ft(x,A,z,Q){for(var vt=null,Ht=null,dt=A,xt=A=0,Mt=null;dt!==null&&xt<z.length;xt++){dt.index>xt?(Mt=dt,dt=null):Mt=dt.sibling;var jt=C(x,dt,z[xt],Q);if(jt===null){dt===null&&(dt=Mt);break}t&&dt&&jt.alternate===null&&e(x,dt),A=c(jt,A,xt),Ht===null?vt=jt:Ht.sibling=jt,Ht=jt,dt=Mt}if(xt===z.length)return n(x,dt),Ut&&jn(x,xt),vt;if(dt===null){for(;xt<z.length;xt++)dt=K(x,z[xt],Q),dt!==null&&(A=c(dt,A,xt),Ht===null?vt=dt:Ht.sibling=dt,Ht=dt);return Ut&&jn(x,xt),vt}for(dt=a(dt);xt<z.length;xt++)Mt=j(dt,x,xt,z[xt],Q),Mt!==null&&(t&&Mt.alternate!==null&&dt.delete(Mt.key===null?xt:Mt.key),A=c(Mt,A,xt),Ht===null?vt=Mt:Ht.sibling=Mt,Ht=Mt);return t&&dt.forEach(function(wa){return e(x,wa)}),Ut&&jn(x,xt),vt}function bt(x,A,z,Q){if(z==null)throw Error(s(151));for(var vt=null,Ht=null,dt=A,xt=A=0,Mt=null,jt=z.next();dt!==null&&!jt.done;xt++,jt=z.next()){dt.index>xt?(Mt=dt,dt=null):Mt=dt.sibling;var wa=C(x,dt,jt.value,Q);if(wa===null){dt===null&&(dt=Mt);break}t&&dt&&wa.alternate===null&&e(x,dt),A=c(wa,A,xt),Ht===null?vt=wa:Ht.sibling=wa,Ht=wa,dt=Mt}if(jt.done)return n(x,dt),Ut&&jn(x,xt),vt;if(dt===null){for(;!jt.done;xt++,jt=z.next())jt=K(x,jt.value,Q),jt!==null&&(A=c(jt,A,xt),Ht===null?vt=jt:Ht.sibling=jt,Ht=jt);return Ut&&jn(x,xt),vt}for(dt=a(dt);!jt.done;xt++,jt=z.next())jt=j(dt,x,xt,jt.value,Q),jt!==null&&(t&&jt.alternate!==null&&dt.delete(jt.key===null?xt:jt.key),A=c(jt,A,xt),Ht===null?vt=jt:Ht.sibling=jt,Ht=jt);return t&&dt.forEach(function(xg){return e(x,xg)}),Ut&&jn(x,xt),vt}function Qt(x,A,z,Q){if(typeof z=="object"&&z!==null&&z.type===G&&z.key===null&&(z=z.props.children),typeof z=="object"&&z!==null){switch(z.$$typeof){case T:t:{for(var vt=z.key;A!==null;){if(A.key===vt){if(vt=z.type,vt===G){if(A.tag===7){n(x,A.sibling),Q=l(A,z.props.children),Q.return=x,x=Q;break t}}else if(A.elementType===vt||typeof vt=="object"&&vt!==null&&vt.$$typeof===et&&Qa(vt)===A.type){n(x,A.sibling),Q=l(A,z.props),yi(Q,z),Q.return=x,x=Q;break t}n(x,A);break}else e(x,A);A=A.sibling}z.type===G?(Q=Ga(z.props.children,x.mode,Q,z.key),Q.return=x,x=Q):(Q=bu(z.type,z.key,z.props,null,x.mode,Q),yi(Q,z),Q.return=x,x=Q)}return d(x);case D:t:{for(vt=z.key;A!==null;){if(A.key===vt)if(A.tag===4&&A.stateNode.containerInfo===z.containerInfo&&A.stateNode.implementation===z.implementation){n(x,A.sibling),Q=l(A,z.children||[]),Q.return=x,x=Q;break t}else{n(x,A);break}else e(x,A);A=A.sibling}Q=Os(z,x.mode,Q),Q.return=x,x=Q}return d(x);case et:return z=Qa(z),Qt(x,A,z,Q)}if(ot(z))return ft(x,A,z,Q);if(_t(z)){if(vt=_t(z),typeof vt!="function")throw Error(s(150));return z=vt.call(z),bt(x,A,z,Q)}if(typeof z.then=="function")return Qt(x,A,Ou(z),Q);if(z.$$typeof===$)return Qt(x,A,Tu(x,z),Q);Ru(x,z)}return typeof z=="string"&&z!==""||typeof z=="number"||typeof z=="bigint"?(z=""+z,A!==null&&A.tag===6?(n(x,A.sibling),Q=l(A,z),Q.return=x,x=Q):(n(x,A),Q=ws(z,x.mode,Q),Q.return=x,x=Q),d(x)):n(x,A)}return function(x,A,z,Q){try{mi=0;var vt=Qt(x,A,z,Q);return wl=null,vt}catch(dt){if(dt===xl||dt===xu)throw dt;var Ht=We(29,dt,null,x.mode);return Ht.lanes=Q,Ht.return=x,Ht}finally{}}}var Ka=D0(!0),z0=D0(!1),fa=!1;function Ys(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Gs(t,e){t=t.updateQueue,e.updateQueue===t&&(e.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function ra(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function oa(t,e,n){var a=t.updateQueue;if(a===null)return null;if(a=a.shared,(Bt&2)!==0){var l=a.pending;return l===null?e.next=e:(e.next=l.next,l.next=e),a.pending=e,e=pu(t),h0(t,null,n),e}return _u(t,a,e,n),pu(t)}function gi(t,e,n){if(e=e.updateQueue,e!==null&&(e=e.shared,(n&4194048)!==0)){var a=e.lanes;a&=t.pendingLanes,n|=a,e.lanes=n,So(t,n)}}function qs(t,e){var n=t.updateQueue,a=t.alternate;if(a!==null&&(a=a.updateQueue,n===a)){var l=null,c=null;if(n=n.firstBaseUpdate,n!==null){do{var d={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};c===null?l=c=d:c=c.next=d,n=n.next}while(n!==null);c===null?l=c=e:c=c.next=e}else l=c=e;n={baseState:a.baseState,firstBaseUpdate:l,lastBaseUpdate:c,shared:a.shared,callbacks:a.callbacks},t.updateQueue=n;return}t=n.lastBaseUpdate,t===null?n.firstBaseUpdate=e:t.next=e,n.lastBaseUpdate=e}var Zs=!1;function vi(){if(Zs){var t=Al;if(t!==null)throw t}}function _i(t,e,n,a){Zs=!1;var l=t.updateQueue;fa=!1;var c=l.firstBaseUpdate,d=l.lastBaseUpdate,g=l.shared.pending;if(g!==null){l.shared.pending=null;var S=g,M=S.next;S.next=null,d===null?c=M:d.next=M,d=S;var q=t.alternate;q!==null&&(q=q.updateQueue,g=q.lastBaseUpdate,g!==d&&(g===null?q.firstBaseUpdate=M:g.next=M,q.lastBaseUpdate=S))}if(c!==null){var K=l.baseState;d=0,q=M=S=null,g=c;do{var C=g.lane&-536870913,j=C!==g.lane;if(j?(Nt&C)===C:(a&C)===C){C!==0&&C===Tl&&(Zs=!0),q!==null&&(q=q.next={lane:0,tag:g.tag,payload:g.payload,callback:null,next:null});t:{var ft=t,bt=g;C=e;var Qt=n;switch(bt.tag){case 1:if(ft=bt.payload,typeof ft=="function"){K=ft.call(Qt,K,C);break t}K=ft;break t;case 3:ft.flags=ft.flags&-65537|128;case 0:if(ft=bt.payload,C=typeof ft=="function"?ft.call(Qt,K,C):ft,C==null)break t;K=p({},K,C);break t;case 2:fa=!0}}C=g.callback,C!==null&&(t.flags|=64,j&&(t.flags|=8192),j=l.callbacks,j===null?l.callbacks=[C]:j.push(C))}else j={lane:C,tag:g.tag,payload:g.payload,callback:g.callback,next:null},q===null?(M=q=j,S=K):q=q.next=j,d|=C;if(g=g.next,g===null){if(g=l.shared.pending,g===null)break;j=g,g=j.next,j.next=null,l.lastBaseUpdate=j,l.shared.pending=null}}while(!0);q===null&&(S=K),l.baseState=S,l.firstBaseUpdate=M,l.lastBaseUpdate=q,c===null&&(l.shared.lanes=0),ga|=d,t.lanes=d,t.memoizedState=K}}function N0(t,e){if(typeof t!="function")throw Error(s(191,t));t.call(e)}function M0(t,e){var n=t.callbacks;if(n!==null)for(t.callbacks=null,t=0;t<n.length;t++)N0(n[t],e)}var Ol=E(null),Du=E(0);function U0(t,e){t=Jn,k(Du,t),k(Ol,e),Jn=t|e.baseLanes}function Xs(){k(Du,Jn),k(Ol,Ol.current)}function Vs(){Jn=Du.current,R(Ol),R(Du)}var $e=E(null),hn=null;function da(t){var e=t.alternate;k(se,se.current&1),k($e,t),hn===null&&(e===null||Ol.current!==null||e.memoizedState!==null)&&(hn=t)}function Qs(t){k(se,se.current),k($e,t),hn===null&&(hn=t)}function C0(t){t.tag===22?(k(se,se.current),k($e,t),hn===null&&(hn=t)):ha()}function ha(){k(se,se.current),k($e,$e.current)}function Pe(t){R($e),hn===t&&(hn=null),R(se)}var se=E(0);function zu(t){for(var e=t;e!==null;){if(e.tag===13){var n=e.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||$f(n)||Pf(n)))return e}else if(e.tag===19&&(e.memoizedProps.revealOrder==="forwards"||e.memoizedProps.revealOrder==="backwards"||e.memoizedProps.revealOrder==="unstable_legacy-backwards"||e.memoizedProps.revealOrder==="together")){if((e.flags&128)!==0)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break;for(;e.sibling===null;){if(e.return===null||e.return===t)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var Gn=0,Tt=null,Xt=null,me=null,Nu=!1,Rl=!1,Ja=!1,Mu=0,pi=0,Dl=null,yy=0;function ie(){throw Error(s(321))}function Fs(t,e){if(e===null)return!1;for(var n=0;n<e.length&&n<t.length;n++)if(!Ie(t[n],e[n]))return!1;return!0}function Ks(t,e,n,a,l,c){return Gn=c,Tt=e,e.memoizedState=null,e.updateQueue=null,e.lanes=0,N.H=t===null||t.memoizedState===null?v2:ff,Ja=!1,c=n(a,l),Ja=!1,Rl&&(c=H0(e,n,a,l)),L0(t),c}function L0(t){N.H=Ei;var e=Xt!==null&&Xt.next!==null;if(Gn=0,me=Xt=Tt=null,Nu=!1,pi=0,Dl=null,e)throw Error(s(300));t===null||ye||(t=t.dependencies,t!==null&&Eu(t)&&(ye=!0))}function H0(t,e,n,a){Tt=t;var l=0;do{if(Rl&&(Dl=null),pi=0,Rl=!1,25<=l)throw Error(s(301));if(l+=1,me=Xt=null,t.updateQueue!=null){var c=t.updateQueue;c.lastEffect=null,c.events=null,c.stores=null,c.memoCache!=null&&(c.memoCache.index=0)}N.H=_2,c=e(n,a)}while(Rl);return c}function gy(){var t=N.H,e=t.useState()[0];return e=typeof e.then=="function"?bi(e):e,t=t.useState()[0],(Xt!==null?Xt.memoizedState:null)!==t&&(Tt.flags|=1024),e}function Js(){var t=Mu!==0;return Mu=0,t}function ks(t,e,n){e.updateQueue=t.updateQueue,e.flags&=-2053,t.lanes&=~n}function Is(t){if(Nu){for(t=t.memoizedState;t!==null;){var e=t.queue;e!==null&&(e.pending=null),t=t.next}Nu=!1}Gn=0,me=Xt=Tt=null,Rl=!1,pi=Mu=0,Dl=null}function Ye(){var t={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return me===null?Tt.memoizedState=me=t:me=me.next=t,me}function fe(){if(Xt===null){var t=Tt.alternate;t=t!==null?t.memoizedState:null}else t=Xt.next;var e=me===null?Tt.memoizedState:me.next;if(e!==null)me=e,Xt=t;else{if(t===null)throw Tt.alternate===null?Error(s(467)):Error(s(310));Xt=t,t={memoizedState:Xt.memoizedState,baseState:Xt.baseState,baseQueue:Xt.baseQueue,queue:Xt.queue,next:null},me===null?Tt.memoizedState=me=t:me=me.next=t}return me}function Uu(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function bi(t){var e=pi;return pi+=1,Dl===null&&(Dl=[]),t=w0(Dl,t,e),e=Tt,(me===null?e.memoizedState:me.next)===null&&(e=e.alternate,N.H=e===null||e.memoizedState===null?v2:ff),t}function Cu(t){if(t!==null&&typeof t=="object"){if(typeof t.then=="function")return bi(t);if(t.$$typeof===$)return Re(t)}throw Error(s(438,String(t)))}function Ws(t){var e=null,n=Tt.updateQueue;if(n!==null&&(e=n.memoCache),e==null){var a=Tt.alternate;a!==null&&(a=a.updateQueue,a!==null&&(a=a.memoCache,a!=null&&(e={data:a.data.map(function(l){return l.slice()}),index:0})))}if(e==null&&(e={data:[],index:0}),n===null&&(n=Uu(),Tt.updateQueue=n),n.memoCache=e,n=e.data[e.index],n===void 0)for(n=e.data[e.index]=Array(t),a=0;a<t;a++)n[a]=st;return e.index++,n}function qn(t,e){return typeof e=="function"?e(t):e}function Lu(t){var e=fe();return $s(e,Xt,t)}function $s(t,e,n){var a=t.queue;if(a===null)throw Error(s(311));a.lastRenderedReducer=n;var l=t.baseQueue,c=a.pending;if(c!==null){if(l!==null){var d=l.next;l.next=c.next,c.next=d}e.baseQueue=l=c,a.pending=null}if(c=t.baseState,l===null)t.memoizedState=c;else{e=l.next;var g=d=null,S=null,M=e,q=!1;do{var K=M.lane&-536870913;if(K!==M.lane?(Nt&K)===K:(Gn&K)===K){var C=M.revertLane;if(C===0)S!==null&&(S=S.next={lane:0,revertLane:0,gesture:null,action:M.action,hasEagerState:M.hasEagerState,eagerState:M.eagerState,next:null}),K===Tl&&(q=!0);else if((Gn&C)===C){M=M.next,C===Tl&&(q=!0);continue}else K={lane:0,revertLane:M.revertLane,gesture:null,action:M.action,hasEagerState:M.hasEagerState,eagerState:M.eagerState,next:null},S===null?(g=S=K,d=c):S=S.next=K,Tt.lanes|=C,ga|=C;K=M.action,Ja&&n(c,K),c=M.hasEagerState?M.eagerState:n(c,K)}else C={lane:K,revertLane:M.revertLane,gesture:M.gesture,action:M.action,hasEagerState:M.hasEagerState,eagerState:M.eagerState,next:null},S===null?(g=S=C,d=c):S=S.next=C,Tt.lanes|=K,ga|=K;M=M.next}while(M!==null&&M!==e);if(S===null?d=c:S.next=g,!Ie(c,t.memoizedState)&&(ye=!0,q&&(n=Al,n!==null)))throw n;t.memoizedState=c,t.baseState=d,t.baseQueue=S,a.lastRenderedState=c}return l===null&&(a.lanes=0),[t.memoizedState,a.dispatch]}function Ps(t){var e=fe(),n=e.queue;if(n===null)throw Error(s(311));n.lastRenderedReducer=t;var a=n.dispatch,l=n.pending,c=e.memoizedState;if(l!==null){n.pending=null;var d=l=l.next;do c=t(c,d.action),d=d.next;while(d!==l);Ie(c,e.memoizedState)||(ye=!0),e.memoizedState=c,e.baseQueue===null&&(e.baseState=c),n.lastRenderedState=c}return[c,a]}function j0(t,e,n){var a=Tt,l=fe(),c=Ut;if(c){if(n===void 0)throw Error(s(407));n=n()}else n=e();var d=!Ie((Xt||l).memoizedState,n);if(d&&(l.memoizedState=n,ye=!0),l=l.queue,nf(G0.bind(null,a,l,t),[t]),l.getSnapshot!==e||d||me!==null&&me.memoizedState.tag&1){if(a.flags|=2048,zl(9,{destroy:void 0},Y0.bind(null,a,l,n,e),null),Kt===null)throw Error(s(349));c||(Gn&127)!==0||B0(a,e,n)}return n}function B0(t,e,n){t.flags|=16384,t={getSnapshot:e,value:n},e=Tt.updateQueue,e===null?(e=Uu(),Tt.updateQueue=e,e.stores=[t]):(n=e.stores,n===null?e.stores=[t]:n.push(t))}function Y0(t,e,n,a){e.value=n,e.getSnapshot=a,q0(e)&&Z0(t)}function G0(t,e,n){return n(function(){q0(e)&&Z0(t)})}function q0(t){var e=t.getSnapshot;t=t.value;try{var n=e();return!Ie(t,n)}catch{return!0}}function Z0(t){var e=Ya(t,2);e!==null&&Je(e,t,2)}function tf(t){var e=Ye();if(typeof t=="function"){var n=t;if(t=n(),Ja){tt(!0);try{n()}finally{tt(!1)}}}return e.memoizedState=e.baseState=t,e.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:qn,lastRenderedState:t},e}function X0(t,e,n,a){return t.baseState=n,$s(t,Xt,typeof a=="function"?a:qn)}function vy(t,e,n,a,l){if(Bu(t))throw Error(s(485));if(t=e.action,t!==null){var c={payload:l,action:t,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(d){c.listeners.push(d)}};N.T!==null?n(!0):c.isTransition=!1,a(c),n=e.pending,n===null?(c.next=e.pending=c,V0(e,c)):(c.next=n.next,e.pending=n.next=c)}}function V0(t,e){var n=e.action,a=e.payload,l=t.state;if(e.isTransition){var c=N.T,d={};N.T=d;try{var g=n(l,a),S=N.S;S!==null&&S(d,g),Q0(t,e,g)}catch(M){ef(t,e,M)}finally{c!==null&&d.types!==null&&(c.types=d.types),N.T=c}}else try{c=n(l,a),Q0(t,e,c)}catch(M){ef(t,e,M)}}function Q0(t,e,n){n!==null&&typeof n=="object"&&typeof n.then=="function"?n.then(function(a){F0(t,e,a)},function(a){return ef(t,e,a)}):F0(t,e,n)}function F0(t,e,n){e.status="fulfilled",e.value=n,K0(e),t.state=n,e=t.pending,e!==null&&(n=e.next,n===e?t.pending=null:(n=n.next,e.next=n,V0(t,n)))}function ef(t,e,n){var a=t.pending;if(t.pending=null,a!==null){a=a.next;do e.status="rejected",e.reason=n,K0(e),e=e.next;while(e!==a)}t.action=null}function K0(t){t=t.listeners;for(var e=0;e<t.length;e++)(0,t[e])()}function J0(t,e){return e}function k0(t,e){if(Ut){var n=Kt.formState;if(n!==null){t:{var a=Tt;if(Ut){if(It){e:{for(var l=It,c=dn;l.nodeType!==8;){if(!c){l=null;break e}if(l=mn(l.nextSibling),l===null){l=null;break e}}c=l.data,l=c==="F!"||c==="F"?l:null}if(l){It=mn(l.nextSibling),a=l.data==="F!";break t}}ca(a)}a=!1}a&&(e=n[0])}}return n=Ye(),n.memoizedState=n.baseState=e,a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:J0,lastRenderedState:e},n.queue=a,n=m2.bind(null,Tt,a),a.dispatch=n,a=tf(!1),c=sf.bind(null,Tt,!1,a.queue),a=Ye(),l={state:e,dispatch:null,action:t,pending:null},a.queue=l,n=vy.bind(null,Tt,l,c,n),l.dispatch=n,a.memoizedState=t,[e,n,!1]}function I0(t){var e=fe();return W0(e,Xt,t)}function W0(t,e,n){if(e=$s(t,e,J0)[0],t=Lu(qn)[0],typeof e=="object"&&e!==null&&typeof e.then=="function")try{var a=bi(e)}catch(d){throw d===xl?xu:d}else a=e;e=fe();var l=e.queue,c=l.dispatch;return n!==e.memoizedState&&(Tt.flags|=2048,zl(9,{destroy:void 0},_y.bind(null,l,n),null)),[a,c,t]}function _y(t,e){t.action=e}function $0(t){var e=fe(),n=Xt;if(n!==null)return W0(e,n,t);fe(),e=e.memoizedState,n=fe();var a=n.queue.dispatch;return n.memoizedState=t,[e,a,!1]}function zl(t,e,n,a){return t={tag:t,create:n,deps:a,inst:e,next:null},e=Tt.updateQueue,e===null&&(e=Uu(),Tt.updateQueue=e),n=e.lastEffect,n===null?e.lastEffect=t.next=t:(a=n.next,n.next=t,t.next=a,e.lastEffect=t),t}function P0(){return fe().memoizedState}function Hu(t,e,n,a){var l=Ye();Tt.flags|=t,l.memoizedState=zl(1|e,{destroy:void 0},n,a===void 0?null:a)}function ju(t,e,n,a){var l=fe();a=a===void 0?null:a;var c=l.memoizedState.inst;Xt!==null&&a!==null&&Fs(a,Xt.memoizedState.deps)?l.memoizedState=zl(e,c,n,a):(Tt.flags|=t,l.memoizedState=zl(1|e,c,n,a))}function t2(t,e){Hu(8390656,8,t,e)}function nf(t,e){ju(2048,8,t,e)}function py(t){Tt.flags|=4;var e=Tt.updateQueue;if(e===null)e=Uu(),Tt.updateQueue=e,e.events=[t];else{var n=e.events;n===null?e.events=[t]:n.push(t)}}function e2(t){var e=fe().memoizedState;return py({ref:e,nextImpl:t}),function(){if((Bt&2)!==0)throw Error(s(440));return e.impl.apply(void 0,arguments)}}function n2(t,e){return ju(4,2,t,e)}function a2(t,e){return ju(4,4,t,e)}function l2(t,e){if(typeof e=="function"){t=t();var n=e(t);return function(){typeof n=="function"?n():e(null)}}if(e!=null)return t=t(),e.current=t,function(){e.current=null}}function i2(t,e,n){n=n!=null?n.concat([t]):null,ju(4,4,l2.bind(null,e,t),n)}function af(){}function u2(t,e){var n=fe();e=e===void 0?null:e;var a=n.memoizedState;return e!==null&&Fs(e,a[1])?a[0]:(n.memoizedState=[t,e],t)}function c2(t,e){var n=fe();e=e===void 0?null:e;var a=n.memoizedState;if(e!==null&&Fs(e,a[1]))return a[0];if(a=t(),Ja){tt(!0);try{t()}finally{tt(!1)}}return n.memoizedState=[a,e],a}function lf(t,e,n){return n===void 0||(Gn&1073741824)!==0&&(Nt&261930)===0?t.memoizedState=e:(t.memoizedState=n,t=sd(),Tt.lanes|=t,ga|=t,n)}function s2(t,e,n,a){return Ie(n,e)?n:Ol.current!==null?(t=lf(t,n,a),Ie(t,e)||(ye=!0),t):(Gn&42)===0||(Gn&1073741824)!==0&&(Nt&261930)===0?(ye=!0,t.memoizedState=n):(t=sd(),Tt.lanes|=t,ga|=t,e)}function f2(t,e,n,a,l){var c=V.p;V.p=c!==0&&8>c?c:8;var d=N.T,g={};N.T=g,sf(t,!1,e,n);try{var S=l(),M=N.S;if(M!==null&&M(g,S),S!==null&&typeof S=="object"&&typeof S.then=="function"){var q=my(S,a);Si(t,e,q,nn(t))}else Si(t,e,a,nn(t))}catch(K){Si(t,e,{then:function(){},status:"rejected",reason:K},nn())}finally{V.p=c,d!==null&&g.types!==null&&(d.types=g.types),N.T=d}}function by(){}function uf(t,e,n,a){if(t.tag!==5)throw Error(s(476));var l=r2(t).queue;f2(t,l,e,lt,n===null?by:function(){return o2(t),n(a)})}function r2(t){var e=t.memoizedState;if(e!==null)return e;e={memoizedState:lt,baseState:lt,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:qn,lastRenderedState:lt},next:null};var n={};return e.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:qn,lastRenderedState:n},next:null},t.memoizedState=e,t=t.alternate,t!==null&&(t.memoizedState=e),e}function o2(t){var e=r2(t);e.next===null&&(e=t.alternate.memoizedState),Si(t,e.next.queue,{},nn())}function cf(){return Re(Bi)}function d2(){return fe().memoizedState}function h2(){return fe().memoizedState}function Sy(t){for(var e=t.return;e!==null;){switch(e.tag){case 24:case 3:var n=nn();t=ra(n);var a=oa(e,t,n);a!==null&&(Je(a,e,n),gi(a,e,n)),e={cache:Ls()},t.payload=e;return}e=e.return}}function Ey(t,e,n){var a=nn();n={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Bu(t)?y2(e,n):(n=As(t,e,n,a),n!==null&&(Je(n,t,a),g2(n,e,a)))}function m2(t,e,n){var a=nn();Si(t,e,n,a)}function Si(t,e,n,a){var l={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Bu(t))y2(e,l);else{var c=t.alternate;if(t.lanes===0&&(c===null||c.lanes===0)&&(c=e.lastRenderedReducer,c!==null))try{var d=e.lastRenderedState,g=c(d,n);if(l.hasEagerState=!0,l.eagerState=g,Ie(g,d))return _u(t,e,l,0),Kt===null&&vu(),!1}catch{}finally{}if(n=As(t,e,l,a),n!==null)return Je(n,t,a),g2(n,e,a),!0}return!1}function sf(t,e,n,a){if(a={lane:2,revertLane:Gf(),gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},Bu(t)){if(e)throw Error(s(479))}else e=As(t,n,a,2),e!==null&&Je(e,t,2)}function Bu(t){var e=t.alternate;return t===Tt||e!==null&&e===Tt}function y2(t,e){Rl=Nu=!0;var n=t.pending;n===null?e.next=e:(e.next=n.next,n.next=e),t.pending=e}function g2(t,e,n){if((n&4194048)!==0){var a=e.lanes;a&=t.pendingLanes,n|=a,e.lanes=n,So(t,n)}}var Ei={readContext:Re,use:Cu,useCallback:ie,useContext:ie,useEffect:ie,useImperativeHandle:ie,useLayoutEffect:ie,useInsertionEffect:ie,useMemo:ie,useReducer:ie,useRef:ie,useState:ie,useDebugValue:ie,useDeferredValue:ie,useTransition:ie,useSyncExternalStore:ie,useId:ie,useHostTransitionStatus:ie,useFormState:ie,useActionState:ie,useOptimistic:ie,useMemoCache:ie,useCacheRefresh:ie};Ei.useEffectEvent=ie;var v2={readContext:Re,use:Cu,useCallback:function(t,e){return Ye().memoizedState=[t,e===void 0?null:e],t},useContext:Re,useEffect:t2,useImperativeHandle:function(t,e,n){n=n!=null?n.concat([t]):null,Hu(4194308,4,l2.bind(null,e,t),n)},useLayoutEffect:function(t,e){return Hu(4194308,4,t,e)},useInsertionEffect:function(t,e){Hu(4,2,t,e)},useMemo:function(t,e){var n=Ye();e=e===void 0?null:e;var a=t();if(Ja){tt(!0);try{t()}finally{tt(!1)}}return n.memoizedState=[a,e],a},useReducer:function(t,e,n){var a=Ye();if(n!==void 0){var l=n(e);if(Ja){tt(!0);try{n(e)}finally{tt(!1)}}}else l=e;return a.memoizedState=a.baseState=l,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:l},a.queue=t,t=t.dispatch=Ey.bind(null,Tt,t),[a.memoizedState,t]},useRef:function(t){var e=Ye();return t={current:t},e.memoizedState=t},useState:function(t){t=tf(t);var e=t.queue,n=m2.bind(null,Tt,e);return e.dispatch=n,[t.memoizedState,n]},useDebugValue:af,useDeferredValue:function(t,e){var n=Ye();return lf(n,t,e)},useTransition:function(){var t=tf(!1);return t=f2.bind(null,Tt,t.queue,!0,!1),Ye().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,e,n){var a=Tt,l=Ye();if(Ut){if(n===void 0)throw Error(s(407));n=n()}else{if(n=e(),Kt===null)throw Error(s(349));(Nt&127)!==0||B0(a,e,n)}l.memoizedState=n;var c={value:n,getSnapshot:e};return l.queue=c,t2(G0.bind(null,a,c,t),[t]),a.flags|=2048,zl(9,{destroy:void 0},Y0.bind(null,a,c,n,e),null),n},useId:function(){var t=Ye(),e=Kt.identifierPrefix;if(Ut){var n=Rn,a=On;n=(a&~(1<<32-F(a)-1)).toString(32)+n,e="_"+e+"R_"+n,n=Mu++,0<n&&(e+="H"+n.toString(32)),e+="_"}else n=yy++,e="_"+e+"r_"+n.toString(32)+"_";return t.memoizedState=e},useHostTransitionStatus:cf,useFormState:k0,useActionState:k0,useOptimistic:function(t){var e=Ye();e.memoizedState=e.baseState=t;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return e.queue=n,e=sf.bind(null,Tt,!0,n),n.dispatch=e,[t,e]},useMemoCache:Ws,useCacheRefresh:function(){return Ye().memoizedState=Sy.bind(null,Tt)},useEffectEvent:function(t){var e=Ye(),n={impl:t};return e.memoizedState=n,function(){if((Bt&2)!==0)throw Error(s(440));return n.impl.apply(void 0,arguments)}}},ff={readContext:Re,use:Cu,useCallback:u2,useContext:Re,useEffect:nf,useImperativeHandle:i2,useInsertionEffect:n2,useLayoutEffect:a2,useMemo:c2,useReducer:Lu,useRef:P0,useState:function(){return Lu(qn)},useDebugValue:af,useDeferredValue:function(t,e){var n=fe();return s2(n,Xt.memoizedState,t,e)},useTransition:function(){var t=Lu(qn)[0],e=fe().memoizedState;return[typeof t=="boolean"?t:bi(t),e]},useSyncExternalStore:j0,useId:d2,useHostTransitionStatus:cf,useFormState:I0,useActionState:I0,useOptimistic:function(t,e){var n=fe();return X0(n,Xt,t,e)},useMemoCache:Ws,useCacheRefresh:h2};ff.useEffectEvent=e2;var _2={readContext:Re,use:Cu,useCallback:u2,useContext:Re,useEffect:nf,useImperativeHandle:i2,useInsertionEffect:n2,useLayoutEffect:a2,useMemo:c2,useReducer:Ps,useRef:P0,useState:function(){return Ps(qn)},useDebugValue:af,useDeferredValue:function(t,e){var n=fe();return Xt===null?lf(n,t,e):s2(n,Xt.memoizedState,t,e)},useTransition:function(){var t=Ps(qn)[0],e=fe().memoizedState;return[typeof t=="boolean"?t:bi(t),e]},useSyncExternalStore:j0,useId:d2,useHostTransitionStatus:cf,useFormState:$0,useActionState:$0,useOptimistic:function(t,e){var n=fe();return Xt!==null?X0(n,Xt,t,e):(n.baseState=t,[t,n.queue.dispatch])},useMemoCache:Ws,useCacheRefresh:h2};_2.useEffectEvent=e2;function rf(t,e,n,a){e=t.memoizedState,n=n(a,e),n=n==null?e:p({},e,n),t.memoizedState=n,t.lanes===0&&(t.updateQueue.baseState=n)}var of={enqueueSetState:function(t,e,n){t=t._reactInternals;var a=nn(),l=ra(a);l.payload=e,n!=null&&(l.callback=n),e=oa(t,l,a),e!==null&&(Je(e,t,a),gi(e,t,a))},enqueueReplaceState:function(t,e,n){t=t._reactInternals;var a=nn(),l=ra(a);l.tag=1,l.payload=e,n!=null&&(l.callback=n),e=oa(t,l,a),e!==null&&(Je(e,t,a),gi(e,t,a))},enqueueForceUpdate:function(t,e){t=t._reactInternals;var n=nn(),a=ra(n);a.tag=2,e!=null&&(a.callback=e),e=oa(t,a,n),e!==null&&(Je(e,t,n),gi(e,t,n))}};function p2(t,e,n,a,l,c,d){return t=t.stateNode,typeof t.shouldComponentUpdate=="function"?t.shouldComponentUpdate(a,c,d):e.prototype&&e.prototype.isPureReactComponent?!si(n,a)||!si(l,c):!0}function b2(t,e,n,a){t=e.state,typeof e.componentWillReceiveProps=="function"&&e.componentWillReceiveProps(n,a),typeof e.UNSAFE_componentWillReceiveProps=="function"&&e.UNSAFE_componentWillReceiveProps(n,a),e.state!==t&&of.enqueueReplaceState(e,e.state,null)}function ka(t,e){var n=e;if("ref"in e){n={};for(var a in e)a!=="ref"&&(n[a]=e[a])}if(t=t.defaultProps){n===e&&(n=p({},n));for(var l in t)n[l]===void 0&&(n[l]=t[l])}return n}function S2(t){gu(t)}function E2(t){console.error(t)}function T2(t){gu(t)}function Yu(t,e){try{var n=t.onUncaughtError;n(e.value,{componentStack:e.stack})}catch(a){setTimeout(function(){throw a})}}function A2(t,e,n){try{var a=t.onCaughtError;a(n.value,{componentStack:n.stack,errorBoundary:e.tag===1?e.stateNode:null})}catch(l){setTimeout(function(){throw l})}}function df(t,e,n){return n=ra(n),n.tag=3,n.payload={element:null},n.callback=function(){Yu(t,e)},n}function x2(t){return t=ra(t),t.tag=3,t}function w2(t,e,n,a){var l=n.type.getDerivedStateFromError;if(typeof l=="function"){var c=a.value;t.payload=function(){return l(c)},t.callback=function(){A2(e,n,a)}}var d=n.stateNode;d!==null&&typeof d.componentDidCatch=="function"&&(t.callback=function(){A2(e,n,a),typeof l!="function"&&(va===null?va=new Set([this]):va.add(this));var g=a.stack;this.componentDidCatch(a.value,{componentStack:g!==null?g:""})})}function Ty(t,e,n,a,l){if(n.flags|=32768,a!==null&&typeof a=="object"&&typeof a.then=="function"){if(e=n.alternate,e!==null&&El(e,n,l,!0),n=$e.current,n!==null){switch(n.tag){case 31:case 13:return hn===null?Wu():n.alternate===null&&ue===0&&(ue=3),n.flags&=-257,n.flags|=65536,n.lanes=l,a===wu?n.flags|=16384:(e=n.updateQueue,e===null?n.updateQueue=new Set([a]):e.add(a),jf(t,a,l)),!1;case 22:return n.flags|=65536,a===wu?n.flags|=16384:(e=n.updateQueue,e===null?(e={transitions:null,markerInstances:null,retryQueue:new Set([a])},n.updateQueue=e):(n=e.retryQueue,n===null?e.retryQueue=new Set([a]):n.add(a)),jf(t,a,l)),!1}throw Error(s(435,n.tag))}return jf(t,a,l),Wu(),!1}if(Ut)return e=$e.current,e!==null?((e.flags&65536)===0&&(e.flags|=256),e.flags|=65536,e.lanes=l,a!==zs&&(t=Error(s(422),{cause:a}),oi(fn(t,n)))):(a!==zs&&(e=Error(s(423),{cause:a}),oi(fn(e,n))),t=t.current.alternate,t.flags|=65536,l&=-l,t.lanes|=l,a=fn(a,n),l=df(t.stateNode,a,l),qs(t,l),ue!==4&&(ue=2)),!1;var c=Error(s(520),{cause:a});if(c=fn(c,n),zi===null?zi=[c]:zi.push(c),ue!==4&&(ue=2),e===null)return!0;a=fn(a,n),n=e;do{switch(n.tag){case 3:return n.flags|=65536,t=l&-l,n.lanes|=t,t=df(n.stateNode,a,t),qs(n,t),!1;case 1:if(e=n.type,c=n.stateNode,(n.flags&128)===0&&(typeof e.getDerivedStateFromError=="function"||c!==null&&typeof c.componentDidCatch=="function"&&(va===null||!va.has(c))))return n.flags|=65536,l&=-l,n.lanes|=l,l=x2(l),w2(l,t,n,a),qs(n,l),!1}n=n.return}while(n!==null);return!1}var hf=Error(s(461)),ye=!1;function De(t,e,n,a){e.child=t===null?z0(e,null,n,a):Ka(e,t.child,n,a)}function O2(t,e,n,a,l){n=n.render;var c=e.ref;if("ref"in a){var d={};for(var g in a)g!=="ref"&&(d[g]=a[g])}else d=a;return Xa(e),a=Ks(t,e,n,d,c,l),g=Js(),t!==null&&!ye?(ks(t,e,l),Zn(t,e,l)):(Ut&&g&&Rs(e),e.flags|=1,De(t,e,a,l),e.child)}function R2(t,e,n,a,l){if(t===null){var c=n.type;return typeof c=="function"&&!xs(c)&&c.defaultProps===void 0&&n.compare===null?(e.tag=15,e.type=c,D2(t,e,c,a,l)):(t=bu(n.type,null,a,e,e.mode,l),t.ref=e.ref,t.return=e,e.child=t)}if(c=t.child,!Sf(t,l)){var d=c.memoizedProps;if(n=n.compare,n=n!==null?n:si,n(d,a)&&t.ref===e.ref)return Zn(t,e,l)}return e.flags|=1,t=Hn(c,a),t.ref=e.ref,t.return=e,e.child=t}function D2(t,e,n,a,l){if(t!==null){var c=t.memoizedProps;if(si(c,a)&&t.ref===e.ref)if(ye=!1,e.pendingProps=a=c,Sf(t,l))(t.flags&131072)!==0&&(ye=!0);else return e.lanes=t.lanes,Zn(t,e,l)}return mf(t,e,n,a,l)}function z2(t,e,n,a){var l=a.children,c=t!==null?t.memoizedState:null;if(t===null&&e.stateNode===null&&(e.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),a.mode==="hidden"){if((e.flags&128)!==0){if(c=c!==null?c.baseLanes|n:n,t!==null){for(a=e.child=t.child,l=0;a!==null;)l=l|a.lanes|a.childLanes,a=a.sibling;a=l&~c}else a=0,e.child=null;return N2(t,e,c,n,a)}if((n&536870912)!==0)e.memoizedState={baseLanes:0,cachePool:null},t!==null&&Au(e,c!==null?c.cachePool:null),c!==null?U0(e,c):Xs(),C0(e);else return a=e.lanes=536870912,N2(t,e,c!==null?c.baseLanes|n:n,n,a)}else c!==null?(Au(e,c.cachePool),U0(e,c),ha(),e.memoizedState=null):(t!==null&&Au(e,null),Xs(),ha());return De(t,e,l,n),e.child}function Ti(t,e){return t!==null&&t.tag===22||e.stateNode!==null||(e.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),e.sibling}function N2(t,e,n,a,l){var c=js();return c=c===null?null:{parent:he._currentValue,pool:c},e.memoizedState={baseLanes:n,cachePool:c},t!==null&&Au(e,null),Xs(),C0(e),t!==null&&El(t,e,a,!0),e.childLanes=l,null}function Gu(t,e){return e=Zu({mode:e.mode,children:e.children},t.mode),e.ref=t.ref,t.child=e,e.return=t,e}function M2(t,e,n){return Ka(e,t.child,null,n),t=Gu(e,e.pendingProps),t.flags|=2,Pe(e),e.memoizedState=null,t}function Ay(t,e,n){var a=e.pendingProps,l=(e.flags&128)!==0;if(e.flags&=-129,t===null){if(Ut){if(a.mode==="hidden")return t=Gu(e,a),e.lanes=536870912,Ti(null,t);if(Qs(e),(t=It)?(t=Vd(t,dn),t=t!==null&&t.data==="&"?t:null,t!==null&&(e.memoizedState={dehydrated:t,treeContext:ia!==null?{id:On,overflow:Rn}:null,retryLane:536870912,hydrationErrors:null},n=y0(t),n.return=e,e.child=n,Oe=e,It=null)):t=null,t===null)throw ca(e);return e.lanes=536870912,null}return Gu(e,a)}var c=t.memoizedState;if(c!==null){var d=c.dehydrated;if(Qs(e),l)if(e.flags&256)e.flags&=-257,e=M2(t,e,n);else if(e.memoizedState!==null)e.child=t.child,e.flags|=128,e=null;else throw Error(s(558));else if(ye||El(t,e,n,!1),l=(n&t.childLanes)!==0,ye||l){if(a=Kt,a!==null&&(d=Eo(a,n),d!==0&&d!==c.retryLane))throw c.retryLane=d,Ya(t,d),Je(a,t,d),hf;Wu(),e=M2(t,e,n)}else t=c.treeContext,It=mn(d.nextSibling),Oe=e,Ut=!0,ua=null,dn=!1,t!==null&&_0(e,t),e=Gu(e,a),e.flags|=4096;return e}return t=Hn(t.child,{mode:a.mode,children:a.children}),t.ref=e.ref,e.child=t,t.return=e,t}function qu(t,e){var n=e.ref;if(n===null)t!==null&&t.ref!==null&&(e.flags|=4194816);else{if(typeof n!="function"&&typeof n!="object")throw Error(s(284));(t===null||t.ref!==n)&&(e.flags|=4194816)}}function mf(t,e,n,a,l){return Xa(e),n=Ks(t,e,n,a,void 0,l),a=Js(),t!==null&&!ye?(ks(t,e,l),Zn(t,e,l)):(Ut&&a&&Rs(e),e.flags|=1,De(t,e,n,l),e.child)}function U2(t,e,n,a,l,c){return Xa(e),e.updateQueue=null,n=H0(e,a,n,l),L0(t),a=Js(),t!==null&&!ye?(ks(t,e,c),Zn(t,e,c)):(Ut&&a&&Rs(e),e.flags|=1,De(t,e,n,c),e.child)}function C2(t,e,n,a,l){if(Xa(e),e.stateNode===null){var c=_l,d=n.contextType;typeof d=="object"&&d!==null&&(c=Re(d)),c=new n(a,c),e.memoizedState=c.state!==null&&c.state!==void 0?c.state:null,c.updater=of,e.stateNode=c,c._reactInternals=e,c=e.stateNode,c.props=a,c.state=e.memoizedState,c.refs={},Ys(e),d=n.contextType,c.context=typeof d=="object"&&d!==null?Re(d):_l,c.state=e.memoizedState,d=n.getDerivedStateFromProps,typeof d=="function"&&(rf(e,n,d,a),c.state=e.memoizedState),typeof n.getDerivedStateFromProps=="function"||typeof c.getSnapshotBeforeUpdate=="function"||typeof c.UNSAFE_componentWillMount!="function"&&typeof c.componentWillMount!="function"||(d=c.state,typeof c.componentWillMount=="function"&&c.componentWillMount(),typeof c.UNSAFE_componentWillMount=="function"&&c.UNSAFE_componentWillMount(),d!==c.state&&of.enqueueReplaceState(c,c.state,null),_i(e,a,c,l),vi(),c.state=e.memoizedState),typeof c.componentDidMount=="function"&&(e.flags|=4194308),a=!0}else if(t===null){c=e.stateNode;var g=e.memoizedProps,S=ka(n,g);c.props=S;var M=c.context,q=n.contextType;d=_l,typeof q=="object"&&q!==null&&(d=Re(q));var K=n.getDerivedStateFromProps;q=typeof K=="function"||typeof c.getSnapshotBeforeUpdate=="function",g=e.pendingProps!==g,q||typeof c.UNSAFE_componentWillReceiveProps!="function"&&typeof c.componentWillReceiveProps!="function"||(g||M!==d)&&b2(e,c,a,d),fa=!1;var C=e.memoizedState;c.state=C,_i(e,a,c,l),vi(),M=e.memoizedState,g||C!==M||fa?(typeof K=="function"&&(rf(e,n,K,a),M=e.memoizedState),(S=fa||p2(e,n,S,a,C,M,d))?(q||typeof c.UNSAFE_componentWillMount!="function"&&typeof c.componentWillMount!="function"||(typeof c.componentWillMount=="function"&&c.componentWillMount(),typeof c.UNSAFE_componentWillMount=="function"&&c.UNSAFE_componentWillMount()),typeof c.componentDidMount=="function"&&(e.flags|=4194308)):(typeof c.componentDidMount=="function"&&(e.flags|=4194308),e.memoizedProps=a,e.memoizedState=M),c.props=a,c.state=M,c.context=d,a=S):(typeof c.componentDidMount=="function"&&(e.flags|=4194308),a=!1)}else{c=e.stateNode,Gs(t,e),d=e.memoizedProps,q=ka(n,d),c.props=q,K=e.pendingProps,C=c.context,M=n.contextType,S=_l,typeof M=="object"&&M!==null&&(S=Re(M)),g=n.getDerivedStateFromProps,(M=typeof g=="function"||typeof c.getSnapshotBeforeUpdate=="function")||typeof c.UNSAFE_componentWillReceiveProps!="function"&&typeof c.componentWillReceiveProps!="function"||(d!==K||C!==S)&&b2(e,c,a,S),fa=!1,C=e.memoizedState,c.state=C,_i(e,a,c,l),vi();var j=e.memoizedState;d!==K||C!==j||fa||t!==null&&t.dependencies!==null&&Eu(t.dependencies)?(typeof g=="function"&&(rf(e,n,g,a),j=e.memoizedState),(q=fa||p2(e,n,q,a,C,j,S)||t!==null&&t.dependencies!==null&&Eu(t.dependencies))?(M||typeof c.UNSAFE_componentWillUpdate!="function"&&typeof c.componentWillUpdate!="function"||(typeof c.componentWillUpdate=="function"&&c.componentWillUpdate(a,j,S),typeof c.UNSAFE_componentWillUpdate=="function"&&c.UNSAFE_componentWillUpdate(a,j,S)),typeof c.componentDidUpdate=="function"&&(e.flags|=4),typeof c.getSnapshotBeforeUpdate=="function"&&(e.flags|=1024)):(typeof c.componentDidUpdate!="function"||d===t.memoizedProps&&C===t.memoizedState||(e.flags|=4),typeof c.getSnapshotBeforeUpdate!="function"||d===t.memoizedProps&&C===t.memoizedState||(e.flags|=1024),e.memoizedProps=a,e.memoizedState=j),c.props=a,c.state=j,c.context=S,a=q):(typeof c.componentDidUpdate!="function"||d===t.memoizedProps&&C===t.memoizedState||(e.flags|=4),typeof c.getSnapshotBeforeUpdate!="function"||d===t.memoizedProps&&C===t.memoizedState||(e.flags|=1024),a=!1)}return c=a,qu(t,e),a=(e.flags&128)!==0,c||a?(c=e.stateNode,n=a&&typeof n.getDerivedStateFromError!="function"?null:c.render(),e.flags|=1,t!==null&&a?(e.child=Ka(e,t.child,null,l),e.child=Ka(e,null,n,l)):De(t,e,n,l),e.memoizedState=c.state,t=e.child):t=Zn(t,e,l),t}function L2(t,e,n,a){return qa(),e.flags|=256,De(t,e,n,a),e.child}var yf={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function gf(t){return{baseLanes:t,cachePool:A0()}}function vf(t,e,n){return t=t!==null?t.childLanes&~n:0,e&&(t|=en),t}function H2(t,e,n){var a=e.pendingProps,l=!1,c=(e.flags&128)!==0,d;if((d=c)||(d=t!==null&&t.memoizedState===null?!1:(se.current&2)!==0),d&&(l=!0,e.flags&=-129),d=(e.flags&32)!==0,e.flags&=-33,t===null){if(Ut){if(l?da(e):ha(),(t=It)?(t=Vd(t,dn),t=t!==null&&t.data!=="&"?t:null,t!==null&&(e.memoizedState={dehydrated:t,treeContext:ia!==null?{id:On,overflow:Rn}:null,retryLane:536870912,hydrationErrors:null},n=y0(t),n.return=e,e.child=n,Oe=e,It=null)):t=null,t===null)throw ca(e);return Pf(t)?e.lanes=32:e.lanes=536870912,null}var g=a.children;return a=a.fallback,l?(ha(),l=e.mode,g=Zu({mode:"hidden",children:g},l),a=Ga(a,l,n,null),g.return=e,a.return=e,g.sibling=a,e.child=g,a=e.child,a.memoizedState=gf(n),a.childLanes=vf(t,d,n),e.memoizedState=yf,Ti(null,a)):(da(e),_f(e,g))}var S=t.memoizedState;if(S!==null&&(g=S.dehydrated,g!==null)){if(c)e.flags&256?(da(e),e.flags&=-257,e=pf(t,e,n)):e.memoizedState!==null?(ha(),e.child=t.child,e.flags|=128,e=null):(ha(),g=a.fallback,l=e.mode,a=Zu({mode:"visible",children:a.children},l),g=Ga(g,l,n,null),g.flags|=2,a.return=e,g.return=e,a.sibling=g,e.child=a,Ka(e,t.child,null,n),a=e.child,a.memoizedState=gf(n),a.childLanes=vf(t,d,n),e.memoizedState=yf,e=Ti(null,a));else if(da(e),Pf(g)){if(d=g.nextSibling&&g.nextSibling.dataset,d)var M=d.dgst;d=M,a=Error(s(419)),a.stack="",a.digest=d,oi({value:a,source:null,stack:null}),e=pf(t,e,n)}else if(ye||El(t,e,n,!1),d=(n&t.childLanes)!==0,ye||d){if(d=Kt,d!==null&&(a=Eo(d,n),a!==0&&a!==S.retryLane))throw S.retryLane=a,Ya(t,a),Je(d,t,a),hf;$f(g)||Wu(),e=pf(t,e,n)}else $f(g)?(e.flags|=192,e.child=t.child,e=null):(t=S.treeContext,It=mn(g.nextSibling),Oe=e,Ut=!0,ua=null,dn=!1,t!==null&&_0(e,t),e=_f(e,a.children),e.flags|=4096);return e}return l?(ha(),g=a.fallback,l=e.mode,S=t.child,M=S.sibling,a=Hn(S,{mode:"hidden",children:a.children}),a.subtreeFlags=S.subtreeFlags&65011712,M!==null?g=Hn(M,g):(g=Ga(g,l,n,null),g.flags|=2),g.return=e,a.return=e,a.sibling=g,e.child=a,Ti(null,a),a=e.child,g=t.child.memoizedState,g===null?g=gf(n):(l=g.cachePool,l!==null?(S=he._currentValue,l=l.parent!==S?{parent:S,pool:S}:l):l=A0(),g={baseLanes:g.baseLanes|n,cachePool:l}),a.memoizedState=g,a.childLanes=vf(t,d,n),e.memoizedState=yf,Ti(t.child,a)):(da(e),n=t.child,t=n.sibling,n=Hn(n,{mode:"visible",children:a.children}),n.return=e,n.sibling=null,t!==null&&(d=e.deletions,d===null?(e.deletions=[t],e.flags|=16):d.push(t)),e.child=n,e.memoizedState=null,n)}function _f(t,e){return e=Zu({mode:"visible",children:e},t.mode),e.return=t,t.child=e}function Zu(t,e){return t=We(22,t,null,e),t.lanes=0,t}function pf(t,e,n){return Ka(e,t.child,null,n),t=_f(e,e.pendingProps.children),t.flags|=2,e.memoizedState=null,t}function j2(t,e,n){t.lanes|=e;var a=t.alternate;a!==null&&(a.lanes|=e),Us(t.return,e,n)}function bf(t,e,n,a,l,c){var d=t.memoizedState;d===null?t.memoizedState={isBackwards:e,rendering:null,renderingStartTime:0,last:a,tail:n,tailMode:l,treeForkCount:c}:(d.isBackwards=e,d.rendering=null,d.renderingStartTime=0,d.last=a,d.tail=n,d.tailMode=l,d.treeForkCount=c)}function B2(t,e,n){var a=e.pendingProps,l=a.revealOrder,c=a.tail;a=a.children;var d=se.current,g=(d&2)!==0;if(g?(d=d&1|2,e.flags|=128):d&=1,k(se,d),De(t,e,a,n),a=Ut?ri:0,!g&&t!==null&&(t.flags&128)!==0)t:for(t=e.child;t!==null;){if(t.tag===13)t.memoizedState!==null&&j2(t,n,e);else if(t.tag===19)j2(t,n,e);else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break t;for(;t.sibling===null;){if(t.return===null||t.return===e)break t;t=t.return}t.sibling.return=t.return,t=t.sibling}switch(l){case"forwards":for(n=e.child,l=null;n!==null;)t=n.alternate,t!==null&&zu(t)===null&&(l=n),n=n.sibling;n=l,n===null?(l=e.child,e.child=null):(l=n.sibling,n.sibling=null),bf(e,!1,l,n,c,a);break;case"backwards":case"unstable_legacy-backwards":for(n=null,l=e.child,e.child=null;l!==null;){if(t=l.alternate,t!==null&&zu(t)===null){e.child=l;break}t=l.sibling,l.sibling=n,n=l,l=t}bf(e,!0,n,null,c,a);break;case"together":bf(e,!1,null,null,void 0,a);break;default:e.memoizedState=null}return e.child}function Zn(t,e,n){if(t!==null&&(e.dependencies=t.dependencies),ga|=e.lanes,(n&e.childLanes)===0)if(t!==null){if(El(t,e,n,!1),(n&e.childLanes)===0)return null}else return null;if(t!==null&&e.child!==t.child)throw Error(s(153));if(e.child!==null){for(t=e.child,n=Hn(t,t.pendingProps),e.child=n,n.return=e;t.sibling!==null;)t=t.sibling,n=n.sibling=Hn(t,t.pendingProps),n.return=e;n.sibling=null}return e.child}function Sf(t,e){return(t.lanes&e)!==0?!0:(t=t.dependencies,!!(t!==null&&Eu(t)))}function xy(t,e,n){switch(e.tag){case 3:H(e,e.stateNode.containerInfo),sa(e,he,t.memoizedState.cache),qa();break;case 27:case 5:Yt(e);break;case 4:H(e,e.stateNode.containerInfo);break;case 10:sa(e,e.type,e.memoizedProps.value);break;case 31:if(e.memoizedState!==null)return e.flags|=128,Qs(e),null;break;case 13:var a=e.memoizedState;if(a!==null)return a.dehydrated!==null?(da(e),e.flags|=128,null):(n&e.child.childLanes)!==0?H2(t,e,n):(da(e),t=Zn(t,e,n),t!==null?t.sibling:null);da(e);break;case 19:var l=(t.flags&128)!==0;if(a=(n&e.childLanes)!==0,a||(El(t,e,n,!1),a=(n&e.childLanes)!==0),l){if(a)return B2(t,e,n);e.flags|=128}if(l=e.memoizedState,l!==null&&(l.rendering=null,l.tail=null,l.lastEffect=null),k(se,se.current),a)break;return null;case 22:return e.lanes=0,z2(t,e,n,e.pendingProps);case 24:sa(e,he,t.memoizedState.cache)}return Zn(t,e,n)}function Y2(t,e,n){if(t!==null)if(t.memoizedProps!==e.pendingProps)ye=!0;else{if(!Sf(t,n)&&(e.flags&128)===0)return ye=!1,xy(t,e,n);ye=(t.flags&131072)!==0}else ye=!1,Ut&&(e.flags&1048576)!==0&&v0(e,ri,e.index);switch(e.lanes=0,e.tag){case 16:t:{var a=e.pendingProps;if(t=Qa(e.elementType),e.type=t,typeof t=="function")xs(t)?(a=ka(t,a),e.tag=1,e=C2(null,e,t,a,n)):(e.tag=0,e=mf(null,e,t,a,n));else{if(t!=null){var l=t.$$typeof;if(l===I){e.tag=11,e=O2(null,e,t,a,n);break t}else if(l===X){e.tag=14,e=R2(null,e,t,a,n);break t}}throw e=yt(t)||t,Error(s(306,e,""))}}return e;case 0:return mf(t,e,e.type,e.pendingProps,n);case 1:return a=e.type,l=ka(a,e.pendingProps),C2(t,e,a,l,n);case 3:t:{if(H(e,e.stateNode.containerInfo),t===null)throw Error(s(387));a=e.pendingProps;var c=e.memoizedState;l=c.element,Gs(t,e),_i(e,a,null,n);var d=e.memoizedState;if(a=d.cache,sa(e,he,a),a!==c.cache&&Cs(e,[he],n,!0),vi(),a=d.element,c.isDehydrated)if(c={element:a,isDehydrated:!1,cache:d.cache},e.updateQueue.baseState=c,e.memoizedState=c,e.flags&256){e=L2(t,e,a,n);break t}else if(a!==l){l=fn(Error(s(424)),e),oi(l),e=L2(t,e,a,n);break t}else{switch(t=e.stateNode.containerInfo,t.nodeType){case 9:t=t.body;break;default:t=t.nodeName==="HTML"?t.ownerDocument.body:t}for(It=mn(t.firstChild),Oe=e,Ut=!0,ua=null,dn=!0,n=z0(e,null,a,n),e.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(qa(),a===l){e=Zn(t,e,n);break t}De(t,e,a,n)}e=e.child}return e;case 26:return qu(t,e),t===null?(n=Id(e.type,null,e.pendingProps,null))?e.memoizedState=n:Ut||(n=e.type,t=e.pendingProps,a=lc(L.current).createElement(n),a[we]=e,a[Ze]=t,ze(a,n,t),be(a),e.stateNode=a):e.memoizedState=Id(e.type,t.memoizedProps,e.pendingProps,t.memoizedState),null;case 27:return Yt(e),t===null&&Ut&&(a=e.stateNode=Kd(e.type,e.pendingProps,L.current),Oe=e,dn=!0,l=It,Sa(e.type)?(tr=l,It=mn(a.firstChild)):It=l),De(t,e,e.pendingProps.children,n),qu(t,e),t===null&&(e.flags|=4194304),e.child;case 5:return t===null&&Ut&&((l=a=It)&&(a=eg(a,e.type,e.pendingProps,dn),a!==null?(e.stateNode=a,Oe=e,It=mn(a.firstChild),dn=!1,l=!0):l=!1),l||ca(e)),Yt(e),l=e.type,c=e.pendingProps,d=t!==null?t.memoizedProps:null,a=c.children,kf(l,c)?a=null:d!==null&&kf(l,d)&&(e.flags|=32),e.memoizedState!==null&&(l=Ks(t,e,gy,null,null,n),Bi._currentValue=l),qu(t,e),De(t,e,a,n),e.child;case 6:return t===null&&Ut&&((t=n=It)&&(n=ng(n,e.pendingProps,dn),n!==null?(e.stateNode=n,Oe=e,It=null,t=!0):t=!1),t||ca(e)),null;case 13:return H2(t,e,n);case 4:return H(e,e.stateNode.containerInfo),a=e.pendingProps,t===null?e.child=Ka(e,null,a,n):De(t,e,a,n),e.child;case 11:return O2(t,e,e.type,e.pendingProps,n);case 7:return De(t,e,e.pendingProps,n),e.child;case 8:return De(t,e,e.pendingProps.children,n),e.child;case 12:return De(t,e,e.pendingProps.children,n),e.child;case 10:return a=e.pendingProps,sa(e,e.type,a.value),De(t,e,a.children,n),e.child;case 9:return l=e.type._context,a=e.pendingProps.children,Xa(e),l=Re(l),a=a(l),e.flags|=1,De(t,e,a,n),e.child;case 14:return R2(t,e,e.type,e.pendingProps,n);case 15:return D2(t,e,e.type,e.pendingProps,n);case 19:return B2(t,e,n);case 31:return Ay(t,e,n);case 22:return z2(t,e,n,e.pendingProps);case 24:return Xa(e),a=Re(he),t===null?(l=js(),l===null&&(l=Kt,c=Ls(),l.pooledCache=c,c.refCount++,c!==null&&(l.pooledCacheLanes|=n),l=c),e.memoizedState={parent:a,cache:l},Ys(e),sa(e,he,l)):((t.lanes&n)!==0&&(Gs(t,e),_i(e,null,null,n),vi()),l=t.memoizedState,c=e.memoizedState,l.parent!==a?(l={parent:a,cache:a},e.memoizedState=l,e.lanes===0&&(e.memoizedState=e.updateQueue.baseState=l),sa(e,he,a)):(a=c.cache,sa(e,he,a),a!==l.cache&&Cs(e,[he],n,!0))),De(t,e,e.pendingProps.children,n),e.child;case 29:throw e.pendingProps}throw Error(s(156,e.tag))}function Xn(t){t.flags|=4}function Ef(t,e,n,a,l){if((e=(t.mode&32)!==0)&&(e=!1),e){if(t.flags|=16777216,(l&335544128)===l)if(t.stateNode.complete)t.flags|=8192;else if(dd())t.flags|=8192;else throw Fa=wu,Bs}else t.flags&=-16777217}function G2(t,e){if(e.type!=="stylesheet"||(e.state.loading&4)!==0)t.flags&=-16777217;else if(t.flags|=16777216,!e1(e))if(dd())t.flags|=8192;else throw Fa=wu,Bs}function Xu(t,e){e!==null&&(t.flags|=4),t.flags&16384&&(e=t.tag!==22?po():536870912,t.lanes|=e,Cl|=e)}function Ai(t,e){if(!Ut)switch(t.tailMode){case"hidden":e=t.tail;for(var n=null;e!==null;)e.alternate!==null&&(n=e),e=e.sibling;n===null?t.tail=null:n.sibling=null;break;case"collapsed":n=t.tail;for(var a=null;n!==null;)n.alternate!==null&&(a=n),n=n.sibling;a===null?e||t.tail===null?t.tail=null:t.tail.sibling=null:a.sibling=null}}function Wt(t){var e=t.alternate!==null&&t.alternate.child===t.child,n=0,a=0;if(e)for(var l=t.child;l!==null;)n|=l.lanes|l.childLanes,a|=l.subtreeFlags&65011712,a|=l.flags&65011712,l.return=t,l=l.sibling;else for(l=t.child;l!==null;)n|=l.lanes|l.childLanes,a|=l.subtreeFlags,a|=l.flags,l.return=t,l=l.sibling;return t.subtreeFlags|=a,t.childLanes=n,e}function wy(t,e,n){var a=e.pendingProps;switch(Ds(e),e.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Wt(e),null;case 1:return Wt(e),null;case 3:return n=e.stateNode,a=null,t!==null&&(a=t.memoizedState.cache),e.memoizedState.cache!==a&&(e.flags|=2048),Yn(he),ht(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(t===null||t.child===null)&&(Sl(e)?Xn(e):t===null||t.memoizedState.isDehydrated&&(e.flags&256)===0||(e.flags|=1024,Ns())),Wt(e),null;case 26:var l=e.type,c=e.memoizedState;return t===null?(Xn(e),c!==null?(Wt(e),G2(e,c)):(Wt(e),Ef(e,l,null,a,n))):c?c!==t.memoizedState?(Xn(e),Wt(e),G2(e,c)):(Wt(e),e.flags&=-16777217):(t=t.memoizedProps,t!==a&&Xn(e),Wt(e),Ef(e,l,t,a,n)),null;case 27:if(Ft(e),n=L.current,l=e.type,t!==null&&e.stateNode!=null)t.memoizedProps!==a&&Xn(e);else{if(!a){if(e.stateNode===null)throw Error(s(166));return Wt(e),null}t=w.current,Sl(e)?p0(e):(t=Kd(l,a,n),e.stateNode=t,Xn(e))}return Wt(e),null;case 5:if(Ft(e),l=e.type,t!==null&&e.stateNode!=null)t.memoizedProps!==a&&Xn(e);else{if(!a){if(e.stateNode===null)throw Error(s(166));return Wt(e),null}if(c=w.current,Sl(e))p0(e);else{var d=lc(L.current);switch(c){case 1:c=d.createElementNS("http://www.w3.org/2000/svg",l);break;case 2:c=d.createElementNS("http://www.w3.org/1998/Math/MathML",l);break;default:switch(l){case"svg":c=d.createElementNS("http://www.w3.org/2000/svg",l);break;case"math":c=d.createElementNS("http://www.w3.org/1998/Math/MathML",l);break;case"script":c=d.createElement("div"),c.innerHTML="<script><\/script>",c=c.removeChild(c.firstChild);break;case"select":c=typeof a.is=="string"?d.createElement("select",{is:a.is}):d.createElement("select"),a.multiple?c.multiple=!0:a.size&&(c.size=a.size);break;default:c=typeof a.is=="string"?d.createElement(l,{is:a.is}):d.createElement(l)}}c[we]=e,c[Ze]=a;t:for(d=e.child;d!==null;){if(d.tag===5||d.tag===6)c.appendChild(d.stateNode);else if(d.tag!==4&&d.tag!==27&&d.child!==null){d.child.return=d,d=d.child;continue}if(d===e)break t;for(;d.sibling===null;){if(d.return===null||d.return===e)break t;d=d.return}d.sibling.return=d.return,d=d.sibling}e.stateNode=c;t:switch(ze(c,l,a),l){case"button":case"input":case"select":case"textarea":a=!!a.autoFocus;break t;case"img":a=!0;break t;default:a=!1}a&&Xn(e)}}return Wt(e),Ef(e,e.type,t===null?null:t.memoizedProps,e.pendingProps,n),null;case 6:if(t&&e.stateNode!=null)t.memoizedProps!==a&&Xn(e);else{if(typeof a!="string"&&e.stateNode===null)throw Error(s(166));if(t=L.current,Sl(e)){if(t=e.stateNode,n=e.memoizedProps,a=null,l=Oe,l!==null)switch(l.tag){case 27:case 5:a=l.memoizedProps}t[we]=e,t=!!(t.nodeValue===n||a!==null&&a.suppressHydrationWarning===!0||Hd(t.nodeValue,n)),t||ca(e,!0)}else t=lc(t).createTextNode(a),t[we]=e,e.stateNode=t}return Wt(e),null;case 31:if(n=e.memoizedState,t===null||t.memoizedState!==null){if(a=Sl(e),n!==null){if(t===null){if(!a)throw Error(s(318));if(t=e.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(s(557));t[we]=e}else qa(),(e.flags&128)===0&&(e.memoizedState=null),e.flags|=4;Wt(e),t=!1}else n=Ns(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=n),t=!0;if(!t)return e.flags&256?(Pe(e),e):(Pe(e),null);if((e.flags&128)!==0)throw Error(s(558))}return Wt(e),null;case 13:if(a=e.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(l=Sl(e),a!==null&&a.dehydrated!==null){if(t===null){if(!l)throw Error(s(318));if(l=e.memoizedState,l=l!==null?l.dehydrated:null,!l)throw Error(s(317));l[we]=e}else qa(),(e.flags&128)===0&&(e.memoizedState=null),e.flags|=4;Wt(e),l=!1}else l=Ns(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=l),l=!0;if(!l)return e.flags&256?(Pe(e),e):(Pe(e),null)}return Pe(e),(e.flags&128)!==0?(e.lanes=n,e):(n=a!==null,t=t!==null&&t.memoizedState!==null,n&&(a=e.child,l=null,a.alternate!==null&&a.alternate.memoizedState!==null&&a.alternate.memoizedState.cachePool!==null&&(l=a.alternate.memoizedState.cachePool.pool),c=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(c=a.memoizedState.cachePool.pool),c!==l&&(a.flags|=2048)),n!==t&&n&&(e.child.flags|=8192),Xu(e,e.updateQueue),Wt(e),null);case 4:return ht(),t===null&&Vf(e.stateNode.containerInfo),Wt(e),null;case 10:return Yn(e.type),Wt(e),null;case 19:if(R(se),a=e.memoizedState,a===null)return Wt(e),null;if(l=(e.flags&128)!==0,c=a.rendering,c===null)if(l)Ai(a,!1);else{if(ue!==0||t!==null&&(t.flags&128)!==0)for(t=e.child;t!==null;){if(c=zu(t),c!==null){for(e.flags|=128,Ai(a,!1),t=c.updateQueue,e.updateQueue=t,Xu(e,t),e.subtreeFlags=0,t=n,n=e.child;n!==null;)m0(n,t),n=n.sibling;return k(se,se.current&1|2),Ut&&jn(e,a.treeForkCount),e.child}t=t.sibling}a.tail!==null&&xe()>Ju&&(e.flags|=128,l=!0,Ai(a,!1),e.lanes=4194304)}else{if(!l)if(t=zu(c),t!==null){if(e.flags|=128,l=!0,t=t.updateQueue,e.updateQueue=t,Xu(e,t),Ai(a,!0),a.tail===null&&a.tailMode==="hidden"&&!c.alternate&&!Ut)return Wt(e),null}else 2*xe()-a.renderingStartTime>Ju&&n!==536870912&&(e.flags|=128,l=!0,Ai(a,!1),e.lanes=4194304);a.isBackwards?(c.sibling=e.child,e.child=c):(t=a.last,t!==null?t.sibling=c:e.child=c,a.last=c)}return a.tail!==null?(t=a.tail,a.rendering=t,a.tail=t.sibling,a.renderingStartTime=xe(),t.sibling=null,n=se.current,k(se,l?n&1|2:n&1),Ut&&jn(e,a.treeForkCount),t):(Wt(e),null);case 22:case 23:return Pe(e),Vs(),a=e.memoizedState!==null,t!==null?t.memoizedState!==null!==a&&(e.flags|=8192):a&&(e.flags|=8192),a?(n&536870912)!==0&&(e.flags&128)===0&&(Wt(e),e.subtreeFlags&6&&(e.flags|=8192)):Wt(e),n=e.updateQueue,n!==null&&Xu(e,n.retryQueue),n=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(n=t.memoizedState.cachePool.pool),a=null,e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),a!==n&&(e.flags|=2048),t!==null&&R(Va),null;case 24:return n=null,t!==null&&(n=t.memoizedState.cache),e.memoizedState.cache!==n&&(e.flags|=2048),Yn(he),Wt(e),null;case 25:return null;case 30:return null}throw Error(s(156,e.tag))}function Oy(t,e){switch(Ds(e),e.tag){case 1:return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 3:return Yn(he),ht(),t=e.flags,(t&65536)!==0&&(t&128)===0?(e.flags=t&-65537|128,e):null;case 26:case 27:case 5:return Ft(e),null;case 31:if(e.memoizedState!==null){if(Pe(e),e.alternate===null)throw Error(s(340));qa()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 13:if(Pe(e),t=e.memoizedState,t!==null&&t.dehydrated!==null){if(e.alternate===null)throw Error(s(340));qa()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 19:return R(se),null;case 4:return ht(),null;case 10:return Yn(e.type),null;case 22:case 23:return Pe(e),Vs(),t!==null&&R(Va),t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 24:return Yn(he),null;case 25:return null;default:return null}}function q2(t,e){switch(Ds(e),e.tag){case 3:Yn(he),ht();break;case 26:case 27:case 5:Ft(e);break;case 4:ht();break;case 31:e.memoizedState!==null&&Pe(e);break;case 13:Pe(e);break;case 19:R(se);break;case 10:Yn(e.type);break;case 22:case 23:Pe(e),Vs(),t!==null&&R(Va);break;case 24:Yn(he)}}function xi(t,e){try{var n=e.updateQueue,a=n!==null?n.lastEffect:null;if(a!==null){var l=a.next;n=l;do{if((n.tag&t)===t){a=void 0;var c=n.create,d=n.inst;a=c(),d.destroy=a}n=n.next}while(n!==l)}}catch(g){Zt(e,e.return,g)}}function ma(t,e,n){try{var a=e.updateQueue,l=a!==null?a.lastEffect:null;if(l!==null){var c=l.next;a=c;do{if((a.tag&t)===t){var d=a.inst,g=d.destroy;if(g!==void 0){d.destroy=void 0,l=e;var S=n,M=g;try{M()}catch(q){Zt(l,S,q)}}}a=a.next}while(a!==c)}}catch(q){Zt(e,e.return,q)}}function Z2(t){var e=t.updateQueue;if(e!==null){var n=t.stateNode;try{M0(e,n)}catch(a){Zt(t,t.return,a)}}}function X2(t,e,n){n.props=ka(t.type,t.memoizedProps),n.state=t.memoizedState;try{n.componentWillUnmount()}catch(a){Zt(t,e,a)}}function wi(t,e){try{var n=t.ref;if(n!==null){switch(t.tag){case 26:case 27:case 5:var a=t.stateNode;break;case 30:a=t.stateNode;break;default:a=t.stateNode}typeof n=="function"?t.refCleanup=n(a):n.current=a}}catch(l){Zt(t,e,l)}}function Dn(t,e){var n=t.ref,a=t.refCleanup;if(n!==null)if(typeof a=="function")try{a()}catch(l){Zt(t,e,l)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(l){Zt(t,e,l)}else n.current=null}function V2(t){var e=t.type,n=t.memoizedProps,a=t.stateNode;try{t:switch(e){case"button":case"input":case"select":case"textarea":n.autoFocus&&a.focus();break t;case"img":n.src?a.src=n.src:n.srcSet&&(a.srcset=n.srcSet)}}catch(l){Zt(t,t.return,l)}}function Tf(t,e,n){try{var a=t.stateNode;ky(a,t.type,n,e),a[Ze]=e}catch(l){Zt(t,t.return,l)}}function Q2(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&Sa(t.type)||t.tag===4}function Af(t){t:for(;;){for(;t.sibling===null;){if(t.return===null||Q2(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&Sa(t.type)||t.flags&2||t.child===null||t.tag===4)continue t;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function xf(t,e,n){var a=t.tag;if(a===5||a===6)t=t.stateNode,e?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(t,e):(e=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,e.appendChild(t),n=n._reactRootContainer,n!=null||e.onclick!==null||(e.onclick=Cn));else if(a!==4&&(a===27&&Sa(t.type)&&(n=t.stateNode,e=null),t=t.child,t!==null))for(xf(t,e,n),t=t.sibling;t!==null;)xf(t,e,n),t=t.sibling}function Vu(t,e,n){var a=t.tag;if(a===5||a===6)t=t.stateNode,e?n.insertBefore(t,e):n.appendChild(t);else if(a!==4&&(a===27&&Sa(t.type)&&(n=t.stateNode),t=t.child,t!==null))for(Vu(t,e,n),t=t.sibling;t!==null;)Vu(t,e,n),t=t.sibling}function F2(t){var e=t.stateNode,n=t.memoizedProps;try{for(var a=t.type,l=e.attributes;l.length;)e.removeAttributeNode(l[0]);ze(e,a,n),e[we]=t,e[Ze]=n}catch(c){Zt(t,t.return,c)}}var Vn=!1,ge=!1,wf=!1,K2=typeof WeakSet=="function"?WeakSet:Set,Se=null;function Ry(t,e){if(t=t.containerInfo,Kf=oc,t=i0(t),_s(t)){if("selectionStart"in t)var n={start:t.selectionStart,end:t.selectionEnd};else t:{n=(n=t.ownerDocument)&&n.defaultView||window;var a=n.getSelection&&n.getSelection();if(a&&a.rangeCount!==0){n=a.anchorNode;var l=a.anchorOffset,c=a.focusNode;a=a.focusOffset;try{n.nodeType,c.nodeType}catch{n=null;break t}var d=0,g=-1,S=-1,M=0,q=0,K=t,C=null;e:for(;;){for(var j;K!==n||l!==0&&K.nodeType!==3||(g=d+l),K!==c||a!==0&&K.nodeType!==3||(S=d+a),K.nodeType===3&&(d+=K.nodeValue.length),(j=K.firstChild)!==null;)C=K,K=j;for(;;){if(K===t)break e;if(C===n&&++M===l&&(g=d),C===c&&++q===a&&(S=d),(j=K.nextSibling)!==null)break;K=C,C=K.parentNode}K=j}n=g===-1||S===-1?null:{start:g,end:S}}else n=null}n=n||{start:0,end:0}}else n=null;for(Jf={focusedElem:t,selectionRange:n},oc=!1,Se=e;Se!==null;)if(e=Se,t=e.child,(e.subtreeFlags&1028)!==0&&t!==null)t.return=e,Se=t;else for(;Se!==null;){switch(e=Se,c=e.alternate,t=e.flags,e.tag){case 0:if((t&4)!==0&&(t=e.updateQueue,t=t!==null?t.events:null,t!==null))for(n=0;n<t.length;n++)l=t[n],l.ref.impl=l.nextImpl;break;case 11:case 15:break;case 1:if((t&1024)!==0&&c!==null){t=void 0,n=e,l=c.memoizedProps,c=c.memoizedState,a=n.stateNode;try{var ft=ka(n.type,l);t=a.getSnapshotBeforeUpdate(ft,c),a.__reactInternalSnapshotBeforeUpdate=t}catch(bt){Zt(n,n.return,bt)}}break;case 3:if((t&1024)!==0){if(t=e.stateNode.containerInfo,n=t.nodeType,n===9)Wf(t);else if(n===1)switch(t.nodeName){case"HEAD":case"HTML":case"BODY":Wf(t);break;default:t.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((t&1024)!==0)throw Error(s(163))}if(t=e.sibling,t!==null){t.return=e.return,Se=t;break}Se=e.return}}function J2(t,e,n){var a=n.flags;switch(n.tag){case 0:case 11:case 15:Fn(t,n),a&4&&xi(5,n);break;case 1:if(Fn(t,n),a&4)if(t=n.stateNode,e===null)try{t.componentDidMount()}catch(d){Zt(n,n.return,d)}else{var l=ka(n.type,e.memoizedProps);e=e.memoizedState;try{t.componentDidUpdate(l,e,t.__reactInternalSnapshotBeforeUpdate)}catch(d){Zt(n,n.return,d)}}a&64&&Z2(n),a&512&&wi(n,n.return);break;case 3:if(Fn(t,n),a&64&&(t=n.updateQueue,t!==null)){if(e=null,n.child!==null)switch(n.child.tag){case 27:case 5:e=n.child.stateNode;break;case 1:e=n.child.stateNode}try{M0(t,e)}catch(d){Zt(n,n.return,d)}}break;case 27:e===null&&a&4&&F2(n);case 26:case 5:Fn(t,n),e===null&&a&4&&V2(n),a&512&&wi(n,n.return);break;case 12:Fn(t,n);break;case 31:Fn(t,n),a&4&&W2(t,n);break;case 13:Fn(t,n),a&4&&$2(t,n),a&64&&(t=n.memoizedState,t!==null&&(t=t.dehydrated,t!==null&&(n=jy.bind(null,n),ag(t,n))));break;case 22:if(a=n.memoizedState!==null||Vn,!a){e=e!==null&&e.memoizedState!==null||ge,l=Vn;var c=ge;Vn=a,(ge=e)&&!c?Kn(t,n,(n.subtreeFlags&8772)!==0):Fn(t,n),Vn=l,ge=c}break;case 30:break;default:Fn(t,n)}}function k2(t){var e=t.alternate;e!==null&&(t.alternate=null,k2(e)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(e=t.stateNode,e!==null&&es(e)),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}var te=null,Ve=!1;function Qn(t,e,n){for(n=n.child;n!==null;)I2(t,e,n),n=n.sibling}function I2(t,e,n){if(Y&&typeof Y.onCommitFiberUnmount=="function")try{Y.onCommitFiberUnmount(Ua,n)}catch{}switch(n.tag){case 26:ge||Dn(n,e),Qn(t,e,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:ge||Dn(n,e);var a=te,l=Ve;Sa(n.type)&&(te=n.stateNode,Ve=!1),Qn(t,e,n),Li(n.stateNode),te=a,Ve=l;break;case 5:ge||Dn(n,e);case 6:if(a=te,l=Ve,te=null,Qn(t,e,n),te=a,Ve=l,te!==null)if(Ve)try{(te.nodeType===9?te.body:te.nodeName==="HTML"?te.ownerDocument.body:te).removeChild(n.stateNode)}catch(c){Zt(n,e,c)}else try{te.removeChild(n.stateNode)}catch(c){Zt(n,e,c)}break;case 18:te!==null&&(Ve?(t=te,Zd(t.nodeType===9?t.body:t.nodeName==="HTML"?t.ownerDocument.body:t,n.stateNode),Zl(t)):Zd(te,n.stateNode));break;case 4:a=te,l=Ve,te=n.stateNode.containerInfo,Ve=!0,Qn(t,e,n),te=a,Ve=l;break;case 0:case 11:case 14:case 15:ma(2,n,e),ge||ma(4,n,e),Qn(t,e,n);break;case 1:ge||(Dn(n,e),a=n.stateNode,typeof a.componentWillUnmount=="function"&&X2(n,e,a)),Qn(t,e,n);break;case 21:Qn(t,e,n);break;case 22:ge=(a=ge)||n.memoizedState!==null,Qn(t,e,n),ge=a;break;default:Qn(t,e,n)}}function W2(t,e){if(e.memoizedState===null&&(t=e.alternate,t!==null&&(t=t.memoizedState,t!==null))){t=t.dehydrated;try{Zl(t)}catch(n){Zt(e,e.return,n)}}}function $2(t,e){if(e.memoizedState===null&&(t=e.alternate,t!==null&&(t=t.memoizedState,t!==null&&(t=t.dehydrated,t!==null))))try{Zl(t)}catch(n){Zt(e,e.return,n)}}function Dy(t){switch(t.tag){case 31:case 13:case 19:var e=t.stateNode;return e===null&&(e=t.stateNode=new K2),e;case 22:return t=t.stateNode,e=t._retryCache,e===null&&(e=t._retryCache=new K2),e;default:throw Error(s(435,t.tag))}}function Qu(t,e){var n=Dy(t);e.forEach(function(a){if(!n.has(a)){n.add(a);var l=By.bind(null,t,a);a.then(l,l)}})}function Qe(t,e){var n=e.deletions;if(n!==null)for(var a=0;a<n.length;a++){var l=n[a],c=t,d=e,g=d;t:for(;g!==null;){switch(g.tag){case 27:if(Sa(g.type)){te=g.stateNode,Ve=!1;break t}break;case 5:te=g.stateNode,Ve=!1;break t;case 3:case 4:te=g.stateNode.containerInfo,Ve=!0;break t}g=g.return}if(te===null)throw Error(s(160));I2(c,d,l),te=null,Ve=!1,c=l.alternate,c!==null&&(c.return=null),l.return=null}if(e.subtreeFlags&13886)for(e=e.child;e!==null;)P2(e,t),e=e.sibling}var Sn=null;function P2(t,e){var n=t.alternate,a=t.flags;switch(t.tag){case 0:case 11:case 14:case 15:Qe(e,t),Fe(t),a&4&&(ma(3,t,t.return),xi(3,t),ma(5,t,t.return));break;case 1:Qe(e,t),Fe(t),a&512&&(ge||n===null||Dn(n,n.return)),a&64&&Vn&&(t=t.updateQueue,t!==null&&(a=t.callbacks,a!==null&&(n=t.shared.hiddenCallbacks,t.shared.hiddenCallbacks=n===null?a:n.concat(a))));break;case 26:var l=Sn;if(Qe(e,t),Fe(t),a&512&&(ge||n===null||Dn(n,n.return)),a&4){var c=n!==null?n.memoizedState:null;if(a=t.memoizedState,n===null)if(a===null)if(t.stateNode===null){t:{a=t.type,n=t.memoizedProps,l=l.ownerDocument||l;e:switch(a){case"title":c=l.getElementsByTagName("title")[0],(!c||c[Pl]||c[we]||c.namespaceURI==="http://www.w3.org/2000/svg"||c.hasAttribute("itemprop"))&&(c=l.createElement(a),l.head.insertBefore(c,l.querySelector("head > title"))),ze(c,a,n),c[we]=t,be(c),a=c;break t;case"link":var d=Pd("link","href",l).get(a+(n.href||""));if(d){for(var g=0;g<d.length;g++)if(c=d[g],c.getAttribute("href")===(n.href==null||n.href===""?null:n.href)&&c.getAttribute("rel")===(n.rel==null?null:n.rel)&&c.getAttribute("title")===(n.title==null?null:n.title)&&c.getAttribute("crossorigin")===(n.crossOrigin==null?null:n.crossOrigin)){d.splice(g,1);break e}}c=l.createElement(a),ze(c,a,n),l.head.appendChild(c);break;case"meta":if(d=Pd("meta","content",l).get(a+(n.content||""))){for(g=0;g<d.length;g++)if(c=d[g],c.getAttribute("content")===(n.content==null?null:""+n.content)&&c.getAttribute("name")===(n.name==null?null:n.name)&&c.getAttribute("property")===(n.property==null?null:n.property)&&c.getAttribute("http-equiv")===(n.httpEquiv==null?null:n.httpEquiv)&&c.getAttribute("charset")===(n.charSet==null?null:n.charSet)){d.splice(g,1);break e}}c=l.createElement(a),ze(c,a,n),l.head.appendChild(c);break;default:throw Error(s(468,a))}c[we]=t,be(c),a=c}t.stateNode=a}else t1(l,t.type,t.stateNode);else t.stateNode=$d(l,a,t.memoizedProps);else c!==a?(c===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):c.count--,a===null?t1(l,t.type,t.stateNode):$d(l,a,t.memoizedProps)):a===null&&t.stateNode!==null&&Tf(t,t.memoizedProps,n.memoizedProps)}break;case 27:Qe(e,t),Fe(t),a&512&&(ge||n===null||Dn(n,n.return)),n!==null&&a&4&&Tf(t,t.memoizedProps,n.memoizedProps);break;case 5:if(Qe(e,t),Fe(t),a&512&&(ge||n===null||Dn(n,n.return)),t.flags&32){l=t.stateNode;try{ol(l,"")}catch(ft){Zt(t,t.return,ft)}}a&4&&t.stateNode!=null&&(l=t.memoizedProps,Tf(t,l,n!==null?n.memoizedProps:l)),a&1024&&(wf=!0);break;case 6:if(Qe(e,t),Fe(t),a&4){if(t.stateNode===null)throw Error(s(162));a=t.memoizedProps,n=t.stateNode;try{n.nodeValue=a}catch(ft){Zt(t,t.return,ft)}}break;case 3:if(cc=null,l=Sn,Sn=ic(e.containerInfo),Qe(e,t),Sn=l,Fe(t),a&4&&n!==null&&n.memoizedState.isDehydrated)try{Zl(e.containerInfo)}catch(ft){Zt(t,t.return,ft)}wf&&(wf=!1,td(t));break;case 4:a=Sn,Sn=ic(t.stateNode.containerInfo),Qe(e,t),Fe(t),Sn=a;break;case 12:Qe(e,t),Fe(t);break;case 31:Qe(e,t),Fe(t),a&4&&(a=t.updateQueue,a!==null&&(t.updateQueue=null,Qu(t,a)));break;case 13:Qe(e,t),Fe(t),t.child.flags&8192&&t.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(Ku=xe()),a&4&&(a=t.updateQueue,a!==null&&(t.updateQueue=null,Qu(t,a)));break;case 22:l=t.memoizedState!==null;var S=n!==null&&n.memoizedState!==null,M=Vn,q=ge;if(Vn=M||l,ge=q||S,Qe(e,t),ge=q,Vn=M,Fe(t),a&8192)t:for(e=t.stateNode,e._visibility=l?e._visibility&-2:e._visibility|1,l&&(n===null||S||Vn||ge||Ia(t)),n=null,e=t;;){if(e.tag===5||e.tag===26){if(n===null){S=n=e;try{if(c=S.stateNode,l)d=c.style,typeof d.setProperty=="function"?d.setProperty("display","none","important"):d.display="none";else{g=S.stateNode;var K=S.memoizedProps.style,C=K!=null&&K.hasOwnProperty("display")?K.display:null;g.style.display=C==null||typeof C=="boolean"?"":(""+C).trim()}}catch(ft){Zt(S,S.return,ft)}}}else if(e.tag===6){if(n===null){S=e;try{S.stateNode.nodeValue=l?"":S.memoizedProps}catch(ft){Zt(S,S.return,ft)}}}else if(e.tag===18){if(n===null){S=e;try{var j=S.stateNode;l?Xd(j,!0):Xd(S.stateNode,!1)}catch(ft){Zt(S,S.return,ft)}}}else if((e.tag!==22&&e.tag!==23||e.memoizedState===null||e===t)&&e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break t;for(;e.sibling===null;){if(e.return===null||e.return===t)break t;n===e&&(n=null),e=e.return}n===e&&(n=null),e.sibling.return=e.return,e=e.sibling}a&4&&(a=t.updateQueue,a!==null&&(n=a.retryQueue,n!==null&&(a.retryQueue=null,Qu(t,n))));break;case 19:Qe(e,t),Fe(t),a&4&&(a=t.updateQueue,a!==null&&(t.updateQueue=null,Qu(t,a)));break;case 30:break;case 21:break;default:Qe(e,t),Fe(t)}}function Fe(t){var e=t.flags;if(e&2){try{for(var n,a=t.return;a!==null;){if(Q2(a)){n=a;break}a=a.return}if(n==null)throw Error(s(160));switch(n.tag){case 27:var l=n.stateNode,c=Af(t);Vu(t,c,l);break;case 5:var d=n.stateNode;n.flags&32&&(ol(d,""),n.flags&=-33);var g=Af(t);Vu(t,g,d);break;case 3:case 4:var S=n.stateNode.containerInfo,M=Af(t);xf(t,M,S);break;default:throw Error(s(161))}}catch(q){Zt(t,t.return,q)}t.flags&=-3}e&4096&&(t.flags&=-4097)}function td(t){if(t.subtreeFlags&1024)for(t=t.child;t!==null;){var e=t;td(e),e.tag===5&&e.flags&1024&&e.stateNode.reset(),t=t.sibling}}function Fn(t,e){if(e.subtreeFlags&8772)for(e=e.child;e!==null;)J2(t,e.alternate,e),e=e.sibling}function Ia(t){for(t=t.child;t!==null;){var e=t;switch(e.tag){case 0:case 11:case 14:case 15:ma(4,e,e.return),Ia(e);break;case 1:Dn(e,e.return);var n=e.stateNode;typeof n.componentWillUnmount=="function"&&X2(e,e.return,n),Ia(e);break;case 27:Li(e.stateNode);case 26:case 5:Dn(e,e.return),Ia(e);break;case 22:e.memoizedState===null&&Ia(e);break;case 30:Ia(e);break;default:Ia(e)}t=t.sibling}}function Kn(t,e,n){for(n=n&&(e.subtreeFlags&8772)!==0,e=e.child;e!==null;){var a=e.alternate,l=t,c=e,d=c.flags;switch(c.tag){case 0:case 11:case 15:Kn(l,c,n),xi(4,c);break;case 1:if(Kn(l,c,n),a=c,l=a.stateNode,typeof l.componentDidMount=="function")try{l.componentDidMount()}catch(M){Zt(a,a.return,M)}if(a=c,l=a.updateQueue,l!==null){var g=a.stateNode;try{var S=l.shared.hiddenCallbacks;if(S!==null)for(l.shared.hiddenCallbacks=null,l=0;l<S.length;l++)N0(S[l],g)}catch(M){Zt(a,a.return,M)}}n&&d&64&&Z2(c),wi(c,c.return);break;case 27:F2(c);case 26:case 5:Kn(l,c,n),n&&a===null&&d&4&&V2(c),wi(c,c.return);break;case 12:Kn(l,c,n);break;case 31:Kn(l,c,n),n&&d&4&&W2(l,c);break;case 13:Kn(l,c,n),n&&d&4&&$2(l,c);break;case 22:c.memoizedState===null&&Kn(l,c,n),wi(c,c.return);break;case 30:break;default:Kn(l,c,n)}e=e.sibling}}function Of(t,e){var n=null;t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(n=t.memoizedState.cachePool.pool),t=null,e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(t=e.memoizedState.cachePool.pool),t!==n&&(t!=null&&t.refCount++,n!=null&&di(n))}function Rf(t,e){t=null,e.alternate!==null&&(t=e.alternate.memoizedState.cache),e=e.memoizedState.cache,e!==t&&(e.refCount++,t!=null&&di(t))}function En(t,e,n,a){if(e.subtreeFlags&10256)for(e=e.child;e!==null;)ed(t,e,n,a),e=e.sibling}function ed(t,e,n,a){var l=e.flags;switch(e.tag){case 0:case 11:case 15:En(t,e,n,a),l&2048&&xi(9,e);break;case 1:En(t,e,n,a);break;case 3:En(t,e,n,a),l&2048&&(t=null,e.alternate!==null&&(t=e.alternate.memoizedState.cache),e=e.memoizedState.cache,e!==t&&(e.refCount++,t!=null&&di(t)));break;case 12:if(l&2048){En(t,e,n,a),t=e.stateNode;try{var c=e.memoizedProps,d=c.id,g=c.onPostCommit;typeof g=="function"&&g(d,e.alternate===null?"mount":"update",t.passiveEffectDuration,-0)}catch(S){Zt(e,e.return,S)}}else En(t,e,n,a);break;case 31:En(t,e,n,a);break;case 13:En(t,e,n,a);break;case 23:break;case 22:c=e.stateNode,d=e.alternate,e.memoizedState!==null?c._visibility&2?En(t,e,n,a):Oi(t,e):c._visibility&2?En(t,e,n,a):(c._visibility|=2,Nl(t,e,n,a,(e.subtreeFlags&10256)!==0||!1)),l&2048&&Of(d,e);break;case 24:En(t,e,n,a),l&2048&&Rf(e.alternate,e);break;default:En(t,e,n,a)}}function Nl(t,e,n,a,l){for(l=l&&((e.subtreeFlags&10256)!==0||!1),e=e.child;e!==null;){var c=t,d=e,g=n,S=a,M=d.flags;switch(d.tag){case 0:case 11:case 15:Nl(c,d,g,S,l),xi(8,d);break;case 23:break;case 22:var q=d.stateNode;d.memoizedState!==null?q._visibility&2?Nl(c,d,g,S,l):Oi(c,d):(q._visibility|=2,Nl(c,d,g,S,l)),l&&M&2048&&Of(d.alternate,d);break;case 24:Nl(c,d,g,S,l),l&&M&2048&&Rf(d.alternate,d);break;default:Nl(c,d,g,S,l)}e=e.sibling}}function Oi(t,e){if(e.subtreeFlags&10256)for(e=e.child;e!==null;){var n=t,a=e,l=a.flags;switch(a.tag){case 22:Oi(n,a),l&2048&&Of(a.alternate,a);break;case 24:Oi(n,a),l&2048&&Rf(a.alternate,a);break;default:Oi(n,a)}e=e.sibling}}var Ri=8192;function Ml(t,e,n){if(t.subtreeFlags&Ri)for(t=t.child;t!==null;)nd(t,e,n),t=t.sibling}function nd(t,e,n){switch(t.tag){case 26:Ml(t,e,n),t.flags&Ri&&t.memoizedState!==null&&yg(n,Sn,t.memoizedState,t.memoizedProps);break;case 5:Ml(t,e,n);break;case 3:case 4:var a=Sn;Sn=ic(t.stateNode.containerInfo),Ml(t,e,n),Sn=a;break;case 22:t.memoizedState===null&&(a=t.alternate,a!==null&&a.memoizedState!==null?(a=Ri,Ri=16777216,Ml(t,e,n),Ri=a):Ml(t,e,n));break;default:Ml(t,e,n)}}function ad(t){var e=t.alternate;if(e!==null&&(t=e.child,t!==null)){e.child=null;do e=t.sibling,t.sibling=null,t=e;while(t!==null)}}function Di(t){var e=t.deletions;if((t.flags&16)!==0){if(e!==null)for(var n=0;n<e.length;n++){var a=e[n];Se=a,id(a,t)}ad(t)}if(t.subtreeFlags&10256)for(t=t.child;t!==null;)ld(t),t=t.sibling}function ld(t){switch(t.tag){case 0:case 11:case 15:Di(t),t.flags&2048&&ma(9,t,t.return);break;case 3:Di(t);break;case 12:Di(t);break;case 22:var e=t.stateNode;t.memoizedState!==null&&e._visibility&2&&(t.return===null||t.return.tag!==13)?(e._visibility&=-3,Fu(t)):Di(t);break;default:Di(t)}}function Fu(t){var e=t.deletions;if((t.flags&16)!==0){if(e!==null)for(var n=0;n<e.length;n++){var a=e[n];Se=a,id(a,t)}ad(t)}for(t=t.child;t!==null;){switch(e=t,e.tag){case 0:case 11:case 15:ma(8,e,e.return),Fu(e);break;case 22:n=e.stateNode,n._visibility&2&&(n._visibility&=-3,Fu(e));break;default:Fu(e)}t=t.sibling}}function id(t,e){for(;Se!==null;){var n=Se;switch(n.tag){case 0:case 11:case 15:ma(8,n,e);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var a=n.memoizedState.cachePool.pool;a!=null&&a.refCount++}break;case 24:di(n.memoizedState.cache)}if(a=n.child,a!==null)a.return=n,Se=a;else t:for(n=t;Se!==null;){a=Se;var l=a.sibling,c=a.return;if(k2(a),a===n){Se=null;break t}if(l!==null){l.return=c,Se=l;break t}Se=c}}}var zy={getCacheForType:function(t){var e=Re(he),n=e.data.get(t);return n===void 0&&(n=t(),e.data.set(t,n)),n},cacheSignal:function(){return Re(he).controller.signal}},Ny=typeof WeakMap=="function"?WeakMap:Map,Bt=0,Kt=null,Ot=null,Nt=0,qt=0,tn=null,ya=!1,Ul=!1,Df=!1,Jn=0,ue=0,ga=0,Wa=0,zf=0,en=0,Cl=0,zi=null,Ke=null,Nf=!1,Ku=0,ud=0,Ju=1/0,ku=null,va=null,pe=0,_a=null,Ll=null,kn=0,Mf=0,Uf=null,cd=null,Ni=0,Cf=null;function nn(){return(Bt&2)!==0&&Nt!==0?Nt&-Nt:N.T!==null?Gf():To()}function sd(){if(en===0)if((Nt&536870912)===0||Ut){var t=de;de<<=1,(de&3932160)===0&&(de=262144),en=t}else en=536870912;return t=$e.current,t!==null&&(t.flags|=32),en}function Je(t,e,n){(t===Kt&&(qt===2||qt===9)||t.cancelPendingCommit!==null)&&(Hl(t,0),pa(t,Nt,en,!1)),$l(t,n),((Bt&2)===0||t!==Kt)&&(t===Kt&&((Bt&2)===0&&(Wa|=n),ue===4&&pa(t,Nt,en,!1)),zn(t))}function fd(t,e,n){if((Bt&6)!==0)throw Error(s(327));var a=!n&&(e&127)===0&&(e&t.expiredLanes)===0||na(t,e),l=a?Cy(t,e):Hf(t,e,!0),c=a;do{if(l===0){Ul&&!a&&pa(t,e,0,!1);break}else{if(n=t.current.alternate,c&&!My(n)){l=Hf(t,e,!1),c=!1;continue}if(l===2){if(c=e,t.errorRecoveryDisabledLanes&c)var d=0;else d=t.pendingLanes&-536870913,d=d!==0?d:d&536870912?536870912:0;if(d!==0){e=d;t:{var g=t;l=zi;var S=g.current.memoizedState.isDehydrated;if(S&&(Hl(g,d).flags|=256),d=Hf(g,d,!1),d!==2){if(Df&&!S){g.errorRecoveryDisabledLanes|=c,Wa|=c,l=4;break t}c=Ke,Ke=l,c!==null&&(Ke===null?Ke=c:Ke.push.apply(Ke,c))}l=d}if(c=!1,l!==2)continue}}if(l===1){Hl(t,0),pa(t,e,0,!0);break}t:{switch(a=t,c=l,c){case 0:case 1:throw Error(s(345));case 4:if((e&4194048)!==e)break;case 6:pa(a,e,en,!ya);break t;case 2:Ke=null;break;case 3:case 5:break;default:throw Error(s(329))}if((e&62914560)===e&&(l=Ku+300-xe(),10<l)){if(pa(a,e,en,!ya),Ca(a,0,!0)!==0)break t;kn=e,a.timeoutHandle=Gd(rd.bind(null,a,n,Ke,ku,Nf,e,en,Wa,Cl,ya,c,"Throttled",-0,0),l);break t}rd(a,n,Ke,ku,Nf,e,en,Wa,Cl,ya,c,null,-0,0)}}break}while(!0);zn(t)}function rd(t,e,n,a,l,c,d,g,S,M,q,K,C,j){if(t.timeoutHandle=-1,K=e.subtreeFlags,K&8192||(K&16785408)===16785408){K={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:Cn},nd(e,c,K);var ft=(c&62914560)===c?Ku-xe():(c&4194048)===c?ud-xe():0;if(ft=gg(K,ft),ft!==null){kn=c,t.cancelPendingCommit=ft(_d.bind(null,t,e,c,n,a,l,d,g,S,q,K,null,C,j)),pa(t,c,d,!M);return}}_d(t,e,c,n,a,l,d,g,S)}function My(t){for(var e=t;;){var n=e.tag;if((n===0||n===11||n===15)&&e.flags&16384&&(n=e.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var a=0;a<n.length;a++){var l=n[a],c=l.getSnapshot;l=l.value;try{if(!Ie(c(),l))return!1}catch{return!1}}if(n=e.child,e.subtreeFlags&16384&&n!==null)n.return=e,e=n;else{if(e===t)break;for(;e.sibling===null;){if(e.return===null||e.return===t)return!0;e=e.return}e.sibling.return=e.return,e=e.sibling}}return!0}function pa(t,e,n,a){e&=~zf,e&=~Wa,t.suspendedLanes|=e,t.pingedLanes&=~e,a&&(t.warmLanes|=e),a=t.expirationTimes;for(var l=e;0<l;){var c=31-F(l),d=1<<c;a[c]=-1,l&=~d}n!==0&&bo(t,n,e)}function Iu(){return(Bt&6)===0?(Mi(0),!1):!0}function Lf(){if(Ot!==null){if(qt===0)var t=Ot.return;else t=Ot,Bn=Za=null,Is(t),wl=null,mi=0,t=Ot;for(;t!==null;)q2(t.alternate,t),t=t.return;Ot=null}}function Hl(t,e){var n=t.timeoutHandle;n!==-1&&(t.timeoutHandle=-1,$y(n)),n=t.cancelPendingCommit,n!==null&&(t.cancelPendingCommit=null,n()),kn=0,Lf(),Kt=t,Ot=n=Hn(t.current,null),Nt=e,qt=0,tn=null,ya=!1,Ul=na(t,e),Df=!1,Cl=en=zf=Wa=ga=ue=0,Ke=zi=null,Nf=!1,(e&8)!==0&&(e|=e&32);var a=t.entangledLanes;if(a!==0)for(t=t.entanglements,a&=e;0<a;){var l=31-F(a),c=1<<l;e|=t[l],a&=~c}return Jn=e,vu(),n}function od(t,e){Tt=null,N.H=Ei,e===xl||e===xu?(e=O0(),qt=3):e===Bs?(e=O0(),qt=4):qt=e===hf?8:e!==null&&typeof e=="object"&&typeof e.then=="function"?6:1,tn=e,Ot===null&&(ue=1,Yu(t,fn(e,t.current)))}function dd(){var t=$e.current;return t===null?!0:(Nt&4194048)===Nt?hn===null:(Nt&62914560)===Nt||(Nt&536870912)!==0?t===hn:!1}function hd(){var t=N.H;return N.H=Ei,t===null?Ei:t}function md(){var t=N.A;return N.A=zy,t}function Wu(){ue=4,ya||(Nt&4194048)!==Nt&&$e.current!==null||(Ul=!0),(ga&134217727)===0&&(Wa&134217727)===0||Kt===null||pa(Kt,Nt,en,!1)}function Hf(t,e,n){var a=Bt;Bt|=2;var l=hd(),c=md();(Kt!==t||Nt!==e)&&(ku=null,Hl(t,e)),e=!1;var d=ue;t:do try{if(qt!==0&&Ot!==null){var g=Ot,S=tn;switch(qt){case 8:Lf(),d=6;break t;case 3:case 2:case 9:case 6:$e.current===null&&(e=!0);var M=qt;if(qt=0,tn=null,jl(t,g,S,M),n&&Ul){d=0;break t}break;default:M=qt,qt=0,tn=null,jl(t,g,S,M)}}Uy(),d=ue;break}catch(q){od(t,q)}while(!0);return e&&t.shellSuspendCounter++,Bn=Za=null,Bt=a,N.H=l,N.A=c,Ot===null&&(Kt=null,Nt=0,vu()),d}function Uy(){for(;Ot!==null;)yd(Ot)}function Cy(t,e){var n=Bt;Bt|=2;var a=hd(),l=md();Kt!==t||Nt!==e?(ku=null,Ju=xe()+500,Hl(t,e)):Ul=na(t,e);t:do try{if(qt!==0&&Ot!==null){e=Ot;var c=tn;e:switch(qt){case 1:qt=0,tn=null,jl(t,e,c,1);break;case 2:case 9:if(x0(c)){qt=0,tn=null,gd(e);break}e=function(){qt!==2&&qt!==9||Kt!==t||(qt=7),zn(t)},c.then(e,e);break t;case 3:qt=7;break t;case 4:qt=5;break t;case 7:x0(c)?(qt=0,tn=null,gd(e)):(qt=0,tn=null,jl(t,e,c,7));break;case 5:var d=null;switch(Ot.tag){case 26:d=Ot.memoizedState;case 5:case 27:var g=Ot;if(d?e1(d):g.stateNode.complete){qt=0,tn=null;var S=g.sibling;if(S!==null)Ot=S;else{var M=g.return;M!==null?(Ot=M,$u(M)):Ot=null}break e}}qt=0,tn=null,jl(t,e,c,5);break;case 6:qt=0,tn=null,jl(t,e,c,6);break;case 8:Lf(),ue=6;break t;default:throw Error(s(462))}}Ly();break}catch(q){od(t,q)}while(!0);return Bn=Za=null,N.H=a,N.A=l,Bt=n,Ot!==null?0:(Kt=null,Nt=0,vu(),ue)}function Ly(){for(;Ot!==null&&!wn();)yd(Ot)}function yd(t){var e=Y2(t.alternate,t,Jn);t.memoizedProps=t.pendingProps,e===null?$u(t):Ot=e}function gd(t){var e=t,n=e.alternate;switch(e.tag){case 15:case 0:e=U2(n,e,e.pendingProps,e.type,void 0,Nt);break;case 11:e=U2(n,e,e.pendingProps,e.type.render,e.ref,Nt);break;case 5:Is(e);default:q2(n,e),e=Ot=m0(e,Jn),e=Y2(n,e,Jn)}t.memoizedProps=t.pendingProps,e===null?$u(t):Ot=e}function jl(t,e,n,a){Bn=Za=null,Is(e),wl=null,mi=0;var l=e.return;try{if(Ty(t,l,e,n,Nt)){ue=1,Yu(t,fn(n,t.current)),Ot=null;return}}catch(c){if(l!==null)throw Ot=l,c;ue=1,Yu(t,fn(n,t.current)),Ot=null;return}e.flags&32768?(Ut||a===1?t=!0:Ul||(Nt&536870912)!==0?t=!1:(ya=t=!0,(a===2||a===9||a===3||a===6)&&(a=$e.current,a!==null&&a.tag===13&&(a.flags|=16384))),vd(e,t)):$u(e)}function $u(t){var e=t;do{if((e.flags&32768)!==0){vd(e,ya);return}t=e.return;var n=wy(e.alternate,e,Jn);if(n!==null){Ot=n;return}if(e=e.sibling,e!==null){Ot=e;return}Ot=e=t}while(e!==null);ue===0&&(ue=5)}function vd(t,e){do{var n=Oy(t.alternate,t);if(n!==null){n.flags&=32767,Ot=n;return}if(n=t.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!e&&(t=t.sibling,t!==null)){Ot=t;return}Ot=t=n}while(t!==null);ue=6,Ot=null}function _d(t,e,n,a,l,c,d,g,S){t.cancelPendingCommit=null;do Pu();while(pe!==0);if((Bt&6)!==0)throw Error(s(327));if(e!==null){if(e===t.current)throw Error(s(177));if(c=e.lanes|e.childLanes,c|=Ts,m3(t,n,c,d,g,S),t===Kt&&(Ot=Kt=null,Nt=0),Ll=e,_a=t,kn=n,Mf=c,Uf=l,cd=a,(e.subtreeFlags&10256)!==0||(e.flags&10256)!==0?(t.callbackNode=null,t.callbackPriority=0,Yy(ea,function(){return Td(),null})):(t.callbackNode=null,t.callbackPriority=0),a=(e.flags&13878)!==0,(e.subtreeFlags&13878)!==0||a){a=N.T,N.T=null,l=V.p,V.p=2,d=Bt,Bt|=4;try{Ry(t,e,n)}finally{Bt=d,V.p=l,N.T=a}}pe=1,pd(),bd(),Sd()}}function pd(){if(pe===1){pe=0;var t=_a,e=Ll,n=(e.flags&13878)!==0;if((e.subtreeFlags&13878)!==0||n){n=N.T,N.T=null;var a=V.p;V.p=2;var l=Bt;Bt|=4;try{P2(e,t);var c=Jf,d=i0(t.containerInfo),g=c.focusedElem,S=c.selectionRange;if(d!==g&&g&&g.ownerDocument&&l0(g.ownerDocument.documentElement,g)){if(S!==null&&_s(g)){var M=S.start,q=S.end;if(q===void 0&&(q=M),"selectionStart"in g)g.selectionStart=M,g.selectionEnd=Math.min(q,g.value.length);else{var K=g.ownerDocument||document,C=K&&K.defaultView||window;if(C.getSelection){var j=C.getSelection(),ft=g.textContent.length,bt=Math.min(S.start,ft),Qt=S.end===void 0?bt:Math.min(S.end,ft);!j.extend&&bt>Qt&&(d=Qt,Qt=bt,bt=d);var x=a0(g,bt),A=a0(g,Qt);if(x&&A&&(j.rangeCount!==1||j.anchorNode!==x.node||j.anchorOffset!==x.offset||j.focusNode!==A.node||j.focusOffset!==A.offset)){var z=K.createRange();z.setStart(x.node,x.offset),j.removeAllRanges(),bt>Qt?(j.addRange(z),j.extend(A.node,A.offset)):(z.setEnd(A.node,A.offset),j.addRange(z))}}}}for(K=[],j=g;j=j.parentNode;)j.nodeType===1&&K.push({element:j,left:j.scrollLeft,top:j.scrollTop});for(typeof g.focus=="function"&&g.focus(),g=0;g<K.length;g++){var Q=K[g];Q.element.scrollLeft=Q.left,Q.element.scrollTop=Q.top}}oc=!!Kf,Jf=Kf=null}finally{Bt=l,V.p=a,N.T=n}}t.current=e,pe=2}}function bd(){if(pe===2){pe=0;var t=_a,e=Ll,n=(e.flags&8772)!==0;if((e.subtreeFlags&8772)!==0||n){n=N.T,N.T=null;var a=V.p;V.p=2;var l=Bt;Bt|=4;try{J2(t,e.alternate,e)}finally{Bt=l,V.p=a,N.T=n}}pe=3}}function Sd(){if(pe===4||pe===3){pe=0,nl();var t=_a,e=Ll,n=kn,a=cd;(e.subtreeFlags&10256)!==0||(e.flags&10256)!==0?pe=5:(pe=0,Ll=_a=null,Ed(t,t.pendingLanes));var l=t.pendingLanes;if(l===0&&(va=null),Pc(n),e=e.stateNode,Y&&typeof Y.onCommitFiberRoot=="function")try{Y.onCommitFiberRoot(Ua,e,void 0,(e.current.flags&128)===128)}catch{}if(a!==null){e=N.T,l=V.p,V.p=2,N.T=null;try{for(var c=t.onRecoverableError,d=0;d<a.length;d++){var g=a[d];c(g.value,{componentStack:g.stack})}}finally{N.T=e,V.p=l}}(kn&3)!==0&&Pu(),zn(t),l=t.pendingLanes,(n&261930)!==0&&(l&42)!==0?t===Cf?Ni++:(Ni=0,Cf=t):Ni=0,Mi(0)}}function Ed(t,e){(t.pooledCacheLanes&=e)===0&&(e=t.pooledCache,e!=null&&(t.pooledCache=null,di(e)))}function Pu(){return pd(),bd(),Sd(),Td()}function Td(){if(pe!==5)return!1;var t=_a,e=Mf;Mf=0;var n=Pc(kn),a=N.T,l=V.p;try{V.p=32>n?32:n,N.T=null,n=Uf,Uf=null;var c=_a,d=kn;if(pe=0,Ll=_a=null,kn=0,(Bt&6)!==0)throw Error(s(331));var g=Bt;if(Bt|=4,ld(c.current),ed(c,c.current,d,n),Bt=g,Mi(0,!1),Y&&typeof Y.onPostCommitFiberRoot=="function")try{Y.onPostCommitFiberRoot(Ua,c)}catch{}return!0}finally{V.p=l,N.T=a,Ed(t,e)}}function Ad(t,e,n){e=fn(n,e),e=df(t.stateNode,e,2),t=oa(t,e,2),t!==null&&($l(t,2),zn(t))}function Zt(t,e,n){if(t.tag===3)Ad(t,t,n);else for(;e!==null;){if(e.tag===3){Ad(e,t,n);break}else if(e.tag===1){var a=e.stateNode;if(typeof e.type.getDerivedStateFromError=="function"||typeof a.componentDidCatch=="function"&&(va===null||!va.has(a))){t=fn(n,t),n=x2(2),a=oa(e,n,2),a!==null&&(w2(n,a,e,t),$l(a,2),zn(a));break}}e=e.return}}function jf(t,e,n){var a=t.pingCache;if(a===null){a=t.pingCache=new Ny;var l=new Set;a.set(e,l)}else l=a.get(e),l===void 0&&(l=new Set,a.set(e,l));l.has(n)||(Df=!0,l.add(n),t=Hy.bind(null,t,e,n),e.then(t,t))}function Hy(t,e,n){var a=t.pingCache;a!==null&&a.delete(e),t.pingedLanes|=t.suspendedLanes&n,t.warmLanes&=~n,Kt===t&&(Nt&n)===n&&(ue===4||ue===3&&(Nt&62914560)===Nt&&300>xe()-Ku?(Bt&2)===0&&Hl(t,0):zf|=n,Cl===Nt&&(Cl=0)),zn(t)}function xd(t,e){e===0&&(e=po()),t=Ya(t,e),t!==null&&($l(t,e),zn(t))}function jy(t){var e=t.memoizedState,n=0;e!==null&&(n=e.retryLane),xd(t,n)}function By(t,e){var n=0;switch(t.tag){case 31:case 13:var a=t.stateNode,l=t.memoizedState;l!==null&&(n=l.retryLane);break;case 19:a=t.stateNode;break;case 22:a=t.stateNode._retryCache;break;default:throw Error(s(314))}a!==null&&a.delete(e),xd(t,n)}function Yy(t,e){return Ce(t,e)}var tc=null,Bl=null,Bf=!1,ec=!1,Yf=!1,ba=0;function zn(t){t!==Bl&&t.next===null&&(Bl===null?tc=Bl=t:Bl=Bl.next=t),ec=!0,Bf||(Bf=!0,qy())}function Mi(t,e){if(!Yf&&ec){Yf=!0;do for(var n=!1,a=tc;a!==null;){if(t!==0){var l=a.pendingLanes;if(l===0)var c=0;else{var d=a.suspendedLanes,g=a.pingedLanes;c=(1<<31-F(42|t)+1)-1,c&=l&~(d&~g),c=c&201326741?c&201326741|1:c?c|2:0}c!==0&&(n=!0,Dd(a,c))}else c=Nt,c=Ca(a,a===Kt?c:0,a.cancelPendingCommit!==null||a.timeoutHandle!==-1),(c&3)===0||na(a,c)||(n=!0,Dd(a,c));a=a.next}while(n);Yf=!1}}function Gy(){wd()}function wd(){ec=Bf=!1;var t=0;ba!==0&&Wy()&&(t=ba);for(var e=xe(),n=null,a=tc;a!==null;){var l=a.next,c=Od(a,e);c===0?(a.next=null,n===null?tc=l:n.next=l,l===null&&(Bl=n)):(n=a,(t!==0||(c&3)!==0)&&(ec=!0)),a=l}pe!==0&&pe!==5||Mi(t),ba!==0&&(ba=0)}function Od(t,e){for(var n=t.suspendedLanes,a=t.pingedLanes,l=t.expirationTimes,c=t.pendingLanes&-62914561;0<c;){var d=31-F(c),g=1<<d,S=l[d];S===-1?((g&n)===0||(g&a)!==0)&&(l[d]=h3(g,e)):S<=e&&(t.expiredLanes|=g),c&=~g}if(e=Kt,n=Nt,n=Ca(t,t===e?n:0,t.cancelPendingCommit!==null||t.timeoutHandle!==-1),a=t.callbackNode,n===0||t===e&&(qt===2||qt===9)||t.cancelPendingCommit!==null)return a!==null&&a!==null&&Ae(a),t.callbackNode=null,t.callbackPriority=0;if((n&3)===0||na(t,n)){if(e=n&-n,e===t.callbackPriority)return e;switch(a!==null&&Ae(a),Pc(n)){case 2:case 8:n=_e;break;case 32:n=ea;break;case 268435456:n=Wl;break;default:n=ea}return a=Rd.bind(null,t),n=Ce(n,a),t.callbackPriority=e,t.callbackNode=n,e}return a!==null&&a!==null&&Ae(a),t.callbackPriority=2,t.callbackNode=null,2}function Rd(t,e){if(pe!==0&&pe!==5)return t.callbackNode=null,t.callbackPriority=0,null;var n=t.callbackNode;if(Pu()&&t.callbackNode!==n)return null;var a=Nt;return a=Ca(t,t===Kt?a:0,t.cancelPendingCommit!==null||t.timeoutHandle!==-1),a===0?null:(fd(t,a,e),Od(t,xe()),t.callbackNode!=null&&t.callbackNode===n?Rd.bind(null,t):null)}function Dd(t,e){if(Pu())return null;fd(t,e,!0)}function qy(){Py(function(){(Bt&6)!==0?Ce(ll,Gy):wd()})}function Gf(){if(ba===0){var t=Tl;t===0&&(t=wt,wt<<=1,(wt&261888)===0&&(wt=256)),ba=t}return ba}function zd(t){return t==null||typeof t=="symbol"||typeof t=="boolean"?null:typeof t=="function"?t:fu(""+t)}function Nd(t,e){var n=e.ownerDocument.createElement("input");return n.name=e.name,n.value=e.value,t.id&&n.setAttribute("form",t.id),e.parentNode.insertBefore(n,e),t=new FormData(t),n.parentNode.removeChild(n),t}function Zy(t,e,n,a,l){if(e==="submit"&&n&&n.stateNode===l){var c=zd((l[Ze]||null).action),d=a.submitter;d&&(e=(e=d[Ze]||null)?zd(e.formAction):d.getAttribute("formAction"),e!==null&&(c=e,d=null));var g=new hu("action","action",null,a,l);t.push({event:g,listeners:[{instance:null,listener:function(){if(a.defaultPrevented){if(ba!==0){var S=d?Nd(l,d):new FormData(l);uf(n,{pending:!0,data:S,method:l.method,action:c},null,S)}}else typeof c=="function"&&(g.preventDefault(),S=d?Nd(l,d):new FormData(l),uf(n,{pending:!0,data:S,method:l.method,action:c},c,S))},currentTarget:l}]})}}for(var qf=0;qf<Es.length;qf++){var Zf=Es[qf],Xy=Zf.toLowerCase(),Vy=Zf[0].toUpperCase()+Zf.slice(1);bn(Xy,"on"+Vy)}bn(s0,"onAnimationEnd"),bn(f0,"onAnimationIteration"),bn(r0,"onAnimationStart"),bn("dblclick","onDoubleClick"),bn("focusin","onFocus"),bn("focusout","onBlur"),bn(uy,"onTransitionRun"),bn(cy,"onTransitionStart"),bn(sy,"onTransitionCancel"),bn(o0,"onTransitionEnd"),fl("onMouseEnter",["mouseout","mouseover"]),fl("onMouseLeave",["mouseout","mouseover"]),fl("onPointerEnter",["pointerout","pointerover"]),fl("onPointerLeave",["pointerout","pointerover"]),La("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),La("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),La("onBeforeInput",["compositionend","keypress","textInput","paste"]),La("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),La("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),La("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Ui="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Qy=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(Ui));function Md(t,e){e=(e&4)!==0;for(var n=0;n<t.length;n++){var a=t[n],l=a.event;a=a.listeners;t:{var c=void 0;if(e)for(var d=a.length-1;0<=d;d--){var g=a[d],S=g.instance,M=g.currentTarget;if(g=g.listener,S!==c&&l.isPropagationStopped())break t;c=g,l.currentTarget=M;try{c(l)}catch(q){gu(q)}l.currentTarget=null,c=S}else for(d=0;d<a.length;d++){if(g=a[d],S=g.instance,M=g.currentTarget,g=g.listener,S!==c&&l.isPropagationStopped())break t;c=g,l.currentTarget=M;try{c(l)}catch(q){gu(q)}l.currentTarget=null,c=S}}}}function Rt(t,e){var n=e[ts];n===void 0&&(n=e[ts]=new Set);var a=t+"__bubble";n.has(a)||(Ud(e,t,2,!1),n.add(a))}function Xf(t,e,n){var a=0;e&&(a|=4),Ud(n,t,a,e)}var nc="_reactListening"+Math.random().toString(36).slice(2);function Vf(t){if(!t[nc]){t[nc]=!0,wo.forEach(function(n){n!=="selectionchange"&&(Qy.has(n)||Xf(n,!1,t),Xf(n,!0,t))});var e=t.nodeType===9?t:t.ownerDocument;e===null||e[nc]||(e[nc]=!0,Xf("selectionchange",!1,e))}}function Ud(t,e,n,a){switch(s1(e)){case 2:var l=pg;break;case 8:l=bg;break;default:l=ir}n=l.bind(null,e,n,t),l=void 0,!fs||e!=="touchstart"&&e!=="touchmove"&&e!=="wheel"||(l=!0),a?l!==void 0?t.addEventListener(e,n,{capture:!0,passive:l}):t.addEventListener(e,n,!0):l!==void 0?t.addEventListener(e,n,{passive:l}):t.addEventListener(e,n,!1)}function Qf(t,e,n,a,l){var c=a;if((e&1)===0&&(e&2)===0&&a!==null)t:for(;;){if(a===null)return;var d=a.tag;if(d===3||d===4){var g=a.stateNode.containerInfo;if(g===l)break;if(d===4)for(d=a.return;d!==null;){var S=d.tag;if((S===3||S===4)&&d.stateNode.containerInfo===l)return;d=d.return}for(;g!==null;){if(d=ul(g),d===null)return;if(S=d.tag,S===5||S===6||S===26||S===27){a=c=d;continue t}g=g.parentNode}}a=a.return}Bo(function(){var M=c,q=cs(n),K=[];t:{var C=d0.get(t);if(C!==void 0){var j=hu,ft=t;switch(t){case"keypress":if(ou(n)===0)break t;case"keydown":case"keyup":j=B3;break;case"focusin":ft="focus",j=hs;break;case"focusout":ft="blur",j=hs;break;case"beforeblur":case"afterblur":j=hs;break;case"click":if(n.button===2)break t;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":j=qo;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":j=w3;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":j=q3;break;case s0:case f0:case r0:j=D3;break;case o0:j=X3;break;case"scroll":case"scrollend":j=A3;break;case"wheel":j=Q3;break;case"copy":case"cut":case"paste":j=N3;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":j=Xo;break;case"toggle":case"beforetoggle":j=K3}var bt=(e&4)!==0,Qt=!bt&&(t==="scroll"||t==="scrollend"),x=bt?C!==null?C+"Capture":null:C;bt=[];for(var A=M,z;A!==null;){var Q=A;if(z=Q.stateNode,Q=Q.tag,Q!==5&&Q!==26&&Q!==27||z===null||x===null||(Q=ei(A,x),Q!=null&&bt.push(Ci(A,Q,z))),Qt)break;A=A.return}0<bt.length&&(C=new j(C,ft,null,n,q),K.push({event:C,listeners:bt}))}}if((e&7)===0){t:{if(C=t==="mouseover"||t==="pointerover",j=t==="mouseout"||t==="pointerout",C&&n!==us&&(ft=n.relatedTarget||n.fromElement)&&(ul(ft)||ft[il]))break t;if((j||C)&&(C=q.window===q?q:(C=q.ownerDocument)?C.defaultView||C.parentWindow:window,j?(ft=n.relatedTarget||n.toElement,j=M,ft=ft?ul(ft):null,ft!==null&&(Qt=o(ft),bt=ft.tag,ft!==Qt||bt!==5&&bt!==27&&bt!==6)&&(ft=null)):(j=null,ft=M),j!==ft)){if(bt=qo,Q="onMouseLeave",x="onMouseEnter",A="mouse",(t==="pointerout"||t==="pointerover")&&(bt=Xo,Q="onPointerLeave",x="onPointerEnter",A="pointer"),Qt=j==null?C:ti(j),z=ft==null?C:ti(ft),C=new bt(Q,A+"leave",j,n,q),C.target=Qt,C.relatedTarget=z,Q=null,ul(q)===M&&(bt=new bt(x,A+"enter",ft,n,q),bt.target=z,bt.relatedTarget=Qt,Q=bt),Qt=Q,j&&ft)e:{for(bt=Fy,x=j,A=ft,z=0,Q=x;Q;Q=bt(Q))z++;Q=0;for(var vt=A;vt;vt=bt(vt))Q++;for(;0<z-Q;)x=bt(x),z--;for(;0<Q-z;)A=bt(A),Q--;for(;z--;){if(x===A||A!==null&&x===A.alternate){bt=x;break e}x=bt(x),A=bt(A)}bt=null}else bt=null;j!==null&&Cd(K,C,j,bt,!1),ft!==null&&Qt!==null&&Cd(K,Qt,ft,bt,!0)}}t:{if(C=M?ti(M):window,j=C.nodeName&&C.nodeName.toLowerCase(),j==="select"||j==="input"&&C.type==="file")var Ht=Wo;else if(ko(C))if($o)Ht=ay;else{Ht=ey;var dt=ty}else j=C.nodeName,!j||j.toLowerCase()!=="input"||C.type!=="checkbox"&&C.type!=="radio"?M&&is(M.elementType)&&(Ht=Wo):Ht=ny;if(Ht&&(Ht=Ht(t,M))){Io(K,Ht,n,q);break t}dt&&dt(t,C,M),t==="focusout"&&M&&C.type==="number"&&M.memoizedProps.value!=null&&ls(C,"number",C.value)}switch(dt=M?ti(M):window,t){case"focusin":(ko(dt)||dt.contentEditable==="true")&&(yl=dt,ps=M,fi=null);break;case"focusout":fi=ps=yl=null;break;case"mousedown":bs=!0;break;case"contextmenu":case"mouseup":case"dragend":bs=!1,u0(K,n,q);break;case"selectionchange":if(iy)break;case"keydown":case"keyup":u0(K,n,q)}var xt;if(ys)t:{switch(t){case"compositionstart":var Mt="onCompositionStart";break t;case"compositionend":Mt="onCompositionEnd";break t;case"compositionupdate":Mt="onCompositionUpdate";break t}Mt=void 0}else ml?Ko(t,n)&&(Mt="onCompositionEnd"):t==="keydown"&&n.keyCode===229&&(Mt="onCompositionStart");Mt&&(Vo&&n.locale!=="ko"&&(ml||Mt!=="onCompositionStart"?Mt==="onCompositionEnd"&&ml&&(xt=Yo()):(la=q,rs="value"in la?la.value:la.textContent,ml=!0)),dt=ac(M,Mt),0<dt.length&&(Mt=new Zo(Mt,t,null,n,q),K.push({event:Mt,listeners:dt}),xt?Mt.data=xt:(xt=Jo(n),xt!==null&&(Mt.data=xt)))),(xt=k3?I3(t,n):W3(t,n))&&(Mt=ac(M,"onBeforeInput"),0<Mt.length&&(dt=new Zo("onBeforeInput","beforeinput",null,n,q),K.push({event:dt,listeners:Mt}),dt.data=xt)),Zy(K,t,M,n,q)}Md(K,e)})}function Ci(t,e,n){return{instance:t,listener:e,currentTarget:n}}function ac(t,e){for(var n=e+"Capture",a=[];t!==null;){var l=t,c=l.stateNode;if(l=l.tag,l!==5&&l!==26&&l!==27||c===null||(l=ei(t,n),l!=null&&a.unshift(Ci(t,l,c)),l=ei(t,e),l!=null&&a.push(Ci(t,l,c))),t.tag===3)return a;t=t.return}return[]}function Fy(t){if(t===null)return null;do t=t.return;while(t&&t.tag!==5&&t.tag!==27);return t||null}function Cd(t,e,n,a,l){for(var c=e._reactName,d=[];n!==null&&n!==a;){var g=n,S=g.alternate,M=g.stateNode;if(g=g.tag,S!==null&&S===a)break;g!==5&&g!==26&&g!==27||M===null||(S=M,l?(M=ei(n,c),M!=null&&d.unshift(Ci(n,M,S))):l||(M=ei(n,c),M!=null&&d.push(Ci(n,M,S)))),n=n.return}d.length!==0&&t.push({event:e,listeners:d})}var Ky=/\r\n?/g,Jy=/\u0000|\uFFFD/g;function Ld(t){return(typeof t=="string"?t:""+t).replace(Ky,`
49 -`).replace(Jy,"")}function Hd(t,e){return e=Ld(e),Ld(t)===e}function Vt(t,e,n,a,l,c){switch(n){case"children":typeof a=="string"?e==="body"||e==="textarea"&&a===""||ol(t,a):(typeof a=="number"||typeof a=="bigint")&&e!=="body"&&ol(t,""+a);break;case"className":cu(t,"class",a);break;case"tabIndex":cu(t,"tabindex",a);break;case"dir":case"role":case"viewBox":case"width":case"height":cu(t,n,a);break;case"style":Ho(t,a,c);break;case"data":if(e!=="object"){cu(t,"data",a);break}case"src":case"href":if(a===""&&(e!=="a"||n!=="href")){t.removeAttribute(n);break}if(a==null||typeof a=="function"||typeof a=="symbol"||typeof a=="boolean"){t.removeAttribute(n);break}a=fu(""+a),t.setAttribute(n,a);break;case"action":case"formAction":if(typeof a=="function"){t.setAttribute(n,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof c=="function"&&(n==="formAction"?(e!=="input"&&Vt(t,e,"name",l.name,l,null),Vt(t,e,"formEncType",l.formEncType,l,null),Vt(t,e,"formMethod",l.formMethod,l,null),Vt(t,e,"formTarget",l.formTarget,l,null)):(Vt(t,e,"encType",l.encType,l,null),Vt(t,e,"method",l.method,l,null),Vt(t,e,"target",l.target,l,null)));if(a==null||typeof a=="symbol"||typeof a=="boolean"){t.removeAttribute(n);break}a=fu(""+a),t.setAttribute(n,a);break;case"onClick":a!=null&&(t.onclick=Cn);break;case"onScroll":a!=null&&Rt("scroll",t);break;case"onScrollEnd":a!=null&&Rt("scrollend",t);break;case"dangerouslySetInnerHTML":if(a!=null){if(typeof a!="object"||!("__html"in a))throw Error(s(61));if(n=a.__html,n!=null){if(l.children!=null)throw Error(s(60));t.innerHTML=n}}break;case"multiple":t.multiple=a&&typeof a!="function"&&typeof a!="symbol";break;case"muted":t.muted=a&&typeof a!="function"&&typeof a!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(a==null||typeof a=="function"||typeof a=="boolean"||typeof a=="symbol"){t.removeAttribute("xlink:href");break}n=fu(""+a),t.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",n);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":a!=null&&typeof a!="function"&&typeof a!="symbol"?t.setAttribute(n,""+a):t.removeAttribute(n);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":a&&typeof a!="function"&&typeof a!="symbol"?t.setAttribute(n,""):t.removeAttribute(n);break;case"capture":case"download":a===!0?t.setAttribute(n,""):a!==!1&&a!=null&&typeof a!="function"&&typeof a!="symbol"?t.setAttribute(n,a):t.removeAttribute(n);break;case"cols":case"rows":case"size":case"span":a!=null&&typeof a!="function"&&typeof a!="symbol"&&!isNaN(a)&&1<=a?t.setAttribute(n,a):t.removeAttribute(n);break;case"rowSpan":case"start":a==null||typeof a=="function"||typeof a=="symbol"||isNaN(a)?t.removeAttribute(n):t.setAttribute(n,a);break;case"popover":Rt("beforetoggle",t),Rt("toggle",t),uu(t,"popover",a);break;case"xlinkActuate":Un(t,"http://www.w3.org/1999/xlink","xlink:actuate",a);break;case"xlinkArcrole":Un(t,"http://www.w3.org/1999/xlink","xlink:arcrole",a);break;case"xlinkRole":Un(t,"http://www.w3.org/1999/xlink","xlink:role",a);break;case"xlinkShow":Un(t,"http://www.w3.org/1999/xlink","xlink:show",a);break;case"xlinkTitle":Un(t,"http://www.w3.org/1999/xlink","xlink:title",a);break;case"xlinkType":Un(t,"http://www.w3.org/1999/xlink","xlink:type",a);break;case"xmlBase":Un(t,"http://www.w3.org/XML/1998/namespace","xml:base",a);break;case"xmlLang":Un(t,"http://www.w3.org/XML/1998/namespace","xml:lang",a);break;case"xmlSpace":Un(t,"http://www.w3.org/XML/1998/namespace","xml:space",a);break;case"is":uu(t,"is",a);break;case"innerText":case"textContent":break;default:(!(2<n.length)||n[0]!=="o"&&n[0]!=="O"||n[1]!=="n"&&n[1]!=="N")&&(n=E3.get(n)||n,uu(t,n,a))}}function Ff(t,e,n,a,l,c){switch(n){case"style":Ho(t,a,c);break;case"dangerouslySetInnerHTML":if(a!=null){if(typeof a!="object"||!("__html"in a))throw Error(s(61));if(n=a.__html,n!=null){if(l.children!=null)throw Error(s(60));t.innerHTML=n}}break;case"children":typeof a=="string"?ol(t,a):(typeof a=="number"||typeof a=="bigint")&&ol(t,""+a);break;case"onScroll":a!=null&&Rt("scroll",t);break;case"onScrollEnd":a!=null&&Rt("scrollend",t);break;case"onClick":a!=null&&(t.onclick=Cn);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Oo.hasOwnProperty(n))t:{if(n[0]==="o"&&n[1]==="n"&&(l=n.endsWith("Capture"),e=n.slice(2,l?n.length-7:void 0),c=t[Ze]||null,c=c!=null?c[n]:null,typeof c=="function"&&t.removeEventListener(e,c,l),typeof a=="function")){typeof c!="function"&&c!==null&&(n in t?t[n]=null:t.hasAttribute(n)&&t.removeAttribute(n)),t.addEventListener(e,a,l);break t}n in t?t[n]=a:a===!0?t.setAttribute(n,""):uu(t,n,a)}}}function ze(t,e,n){switch(e){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":Rt("error",t),Rt("load",t);var a=!1,l=!1,c;for(c in n)if(n.hasOwnProperty(c)){var d=n[c];if(d!=null)switch(c){case"src":a=!0;break;case"srcSet":l=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(s(137,e));default:Vt(t,e,c,d,n,null)}}l&&Vt(t,e,"srcSet",n.srcSet,n,null),a&&Vt(t,e,"src",n.src,n,null);return;case"input":Rt("invalid",t);var g=c=d=l=null,S=null,M=null;for(a in n)if(n.hasOwnProperty(a)){var q=n[a];if(q!=null)switch(a){case"name":l=q;break;case"type":d=q;break;case"checked":S=q;break;case"defaultChecked":M=q;break;case"value":c=q;break;case"defaultValue":g=q;break;case"children":case"dangerouslySetInnerHTML":if(q!=null)throw Error(s(137,e));break;default:Vt(t,e,a,q,n,null)}}Mo(t,c,g,S,M,d,l,!1);return;case"select":Rt("invalid",t),a=d=c=null;for(l in n)if(n.hasOwnProperty(l)&&(g=n[l],g!=null))switch(l){case"value":c=g;break;case"defaultValue":d=g;break;case"multiple":a=g;default:Vt(t,e,l,g,n,null)}e=c,n=d,t.multiple=!!a,e!=null?rl(t,!!a,e,!1):n!=null&&rl(t,!!a,n,!0);return;case"textarea":Rt("invalid",t),c=l=a=null;for(d in n)if(n.hasOwnProperty(d)&&(g=n[d],g!=null))switch(d){case"value":a=g;break;case"defaultValue":l=g;break;case"children":c=g;break;case"dangerouslySetInnerHTML":if(g!=null)throw Error(s(91));break;default:Vt(t,e,d,g,n,null)}Co(t,a,l,c);return;case"option":for(S in n)if(n.hasOwnProperty(S)&&(a=n[S],a!=null))switch(S){case"selected":t.selected=a&&typeof a!="function"&&typeof a!="symbol";break;default:Vt(t,e,S,a,n,null)}return;case"dialog":Rt("beforetoggle",t),Rt("toggle",t),Rt("cancel",t),Rt("close",t);break;case"iframe":case"object":Rt("load",t);break;case"video":case"audio":for(a=0;a<Ui.length;a++)Rt(Ui[a],t);break;case"image":Rt("error",t),Rt("load",t);break;case"details":Rt("toggle",t);break;case"embed":case"source":case"link":Rt("error",t),Rt("load",t);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(M in n)if(n.hasOwnProperty(M)&&(a=n[M],a!=null))switch(M){case"children":case"dangerouslySetInnerHTML":throw Error(s(137,e));default:Vt(t,e,M,a,n,null)}return;default:if(is(e)){for(q in n)n.hasOwnProperty(q)&&(a=n[q],a!==void 0&&Ff(t,e,q,a,n,void 0));return}}for(g in n)n.hasOwnProperty(g)&&(a=n[g],a!=null&&Vt(t,e,g,a,n,null))}function ky(t,e,n,a){switch(e){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var l=null,c=null,d=null,g=null,S=null,M=null,q=null;for(j in n){var K=n[j];if(n.hasOwnProperty(j)&&K!=null)switch(j){case"checked":break;case"value":break;case"defaultValue":S=K;default:a.hasOwnProperty(j)||Vt(t,e,j,null,a,K)}}for(var C in a){var j=a[C];if(K=n[C],a.hasOwnProperty(C)&&(j!=null||K!=null))switch(C){case"type":c=j;break;case"name":l=j;break;case"checked":M=j;break;case"defaultChecked":q=j;break;case"value":d=j;break;case"defaultValue":g=j;break;case"children":case"dangerouslySetInnerHTML":if(j!=null)throw Error(s(137,e));break;default:j!==K&&Vt(t,e,C,j,a,K)}}as(t,d,g,S,M,q,c,l);return;case"select":j=d=g=C=null;for(c in n)if(S=n[c],n.hasOwnProperty(c)&&S!=null)switch(c){case"value":break;case"multiple":j=S;default:a.hasOwnProperty(c)||Vt(t,e,c,null,a,S)}for(l in a)if(c=a[l],S=n[l],a.hasOwnProperty(l)&&(c!=null||S!=null))switch(l){case"value":C=c;break;case"defaultValue":g=c;break;case"multiple":d=c;default:c!==S&&Vt(t,e,l,c,a,S)}e=g,n=d,a=j,C!=null?rl(t,!!n,C,!1):!!a!=!!n&&(e!=null?rl(t,!!n,e,!0):rl(t,!!n,n?[]:"",!1));return;case"textarea":j=C=null;for(g in n)if(l=n[g],n.hasOwnProperty(g)&&l!=null&&!a.hasOwnProperty(g))switch(g){case"value":break;case"children":break;default:Vt(t,e,g,null,a,l)}for(d in a)if(l=a[d],c=n[d],a.hasOwnProperty(d)&&(l!=null||c!=null))switch(d){case"value":C=l;break;case"defaultValue":j=l;break;case"children":break;case"dangerouslySetInnerHTML":if(l!=null)throw Error(s(91));break;default:l!==c&&Vt(t,e,d,l,a,c)}Uo(t,C,j);return;case"option":for(var ft in n)if(C=n[ft],n.hasOwnProperty(ft)&&C!=null&&!a.hasOwnProperty(ft))switch(ft){case"selected":t.selected=!1;break;default:Vt(t,e,ft,null,a,C)}for(S in a)if(C=a[S],j=n[S],a.hasOwnProperty(S)&&C!==j&&(C!=null||j!=null))switch(S){case"selected":t.selected=C&&typeof C!="function"&&typeof C!="symbol";break;default:Vt(t,e,S,C,a,j)}return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var bt in n)C=n[bt],n.hasOwnProperty(bt)&&C!=null&&!a.hasOwnProperty(bt)&&Vt(t,e,bt,null,a,C);for(M in a)if(C=a[M],j=n[M],a.hasOwnProperty(M)&&C!==j&&(C!=null||j!=null))switch(M){case"children":case"dangerouslySetInnerHTML":if(C!=null)throw Error(s(137,e));break;default:Vt(t,e,M,C,a,j)}return;default:if(is(e)){for(var Qt in n)C=n[Qt],n.hasOwnProperty(Qt)&&C!==void 0&&!a.hasOwnProperty(Qt)&&Ff(t,e,Qt,void 0,a,C);for(q in a)C=a[q],j=n[q],!a.hasOwnProperty(q)||C===j||C===void 0&&j===void 0||Ff(t,e,q,C,a,j);return}}for(var x in n)C=n[x],n.hasOwnProperty(x)&&C!=null&&!a.hasOwnProperty(x)&&Vt(t,e,x,null,a,C);for(K in a)C=a[K],j=n[K],!a.hasOwnProperty(K)||C===j||C==null&&j==null||Vt(t,e,K,C,a,j)}function jd(t){switch(t){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function Iy(){if(typeof performance.getEntriesByType=="function"){for(var t=0,e=0,n=performance.getEntriesByType("resource"),a=0;a<n.length;a++){var l=n[a],c=l.transferSize,d=l.initiatorType,g=l.duration;if(c&&g&&jd(d)){for(d=0,g=l.responseEnd,a+=1;a<n.length;a++){var S=n[a],M=S.startTime;if(M>g)break;var q=S.transferSize,K=S.initiatorType;q&&jd(K)&&(S=S.responseEnd,d+=q*(S<g?1:(g-M)/(S-M)))}if(--a,e+=8*(c+d)/(l.duration/1e3),t++,10<t)break}}if(0<t)return e/t/1e6}return navigator.connection&&(t=navigator.connection.downlink,typeof t=="number")?t:5}var Kf=null,Jf=null;function lc(t){return t.nodeType===9?t:t.ownerDocument}function Bd(t){switch(t){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function Yd(t,e){if(t===0)switch(e){case"svg":return 1;case"math":return 2;default:return 0}return t===1&&e==="foreignObject"?0:t}function kf(t,e){return t==="textarea"||t==="noscript"||typeof e.children=="string"||typeof e.children=="number"||typeof e.children=="bigint"||typeof e.dangerouslySetInnerHTML=="object"&&e.dangerouslySetInnerHTML!==null&&e.dangerouslySetInnerHTML.__html!=null}var If=null;function Wy(){var t=window.event;return t&&t.type==="popstate"?t===If?!1:(If=t,!0):(If=null,!1)}var Gd=typeof setTimeout=="function"?setTimeout:void 0,$y=typeof clearTimeout=="function"?clearTimeout:void 0,qd=typeof Promise=="function"?Promise:void 0,Py=typeof queueMicrotask=="function"?queueMicrotask:typeof qd<"u"?function(t){return qd.resolve(null).then(t).catch(tg)}:Gd;function tg(t){setTimeout(function(){throw t})}function Sa(t){return t==="head"}function Zd(t,e){var n=e,a=0;do{var l=n.nextSibling;if(t.removeChild(n),l&&l.nodeType===8)if(n=l.data,n==="/$"||n==="/&"){if(a===0){t.removeChild(l),Zl(e);return}a--}else if(n==="$"||n==="$?"||n==="$~"||n==="$!"||n==="&")a++;else if(n==="html")Li(t.ownerDocument.documentElement);else if(n==="head"){n=t.ownerDocument.head,Li(n);for(var c=n.firstChild;c;){var d=c.nextSibling,g=c.nodeName;c[Pl]||g==="SCRIPT"||g==="STYLE"||g==="LINK"&&c.rel.toLowerCase()==="stylesheet"||n.removeChild(c),c=d}}else n==="body"&&Li(t.ownerDocument.body);n=l}while(n);Zl(e)}function Xd(t,e){var n=t;t=0;do{var a=n.nextSibling;if(n.nodeType===1?e?(n._stashedDisplay=n.style.display,n.style.display="none"):(n.style.display=n._stashedDisplay||"",n.getAttribute("style")===""&&n.removeAttribute("style")):n.nodeType===3&&(e?(n._stashedText=n.nodeValue,n.nodeValue=""):n.nodeValue=n._stashedText||""),a&&a.nodeType===8)if(n=a.data,n==="/$"){if(t===0)break;t--}else n!=="$"&&n!=="$?"&&n!=="$~"&&n!=="$!"||t++;n=a}while(n)}function Wf(t){var e=t.firstChild;for(e&&e.nodeType===10&&(e=e.nextSibling);e;){var n=e;switch(e=e.nextSibling,n.nodeName){case"HTML":case"HEAD":case"BODY":Wf(n),es(n);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(n.rel.toLowerCase()==="stylesheet")continue}t.removeChild(n)}}function eg(t,e,n,a){for(;t.nodeType===1;){var l=n;if(t.nodeName.toLowerCase()!==e.toLowerCase()){if(!a&&(t.nodeName!=="INPUT"||t.type!=="hidden"))break}else if(a){if(!t[Pl])switch(e){case"meta":if(!t.hasAttribute("itemprop"))break;return t;case"link":if(c=t.getAttribute("rel"),c==="stylesheet"&&t.hasAttribute("data-precedence"))break;if(c!==l.rel||t.getAttribute("href")!==(l.href==null||l.href===""?null:l.href)||t.getAttribute("crossorigin")!==(l.crossOrigin==null?null:l.crossOrigin)||t.getAttribute("title")!==(l.title==null?null:l.title))break;return t;case"style":if(t.hasAttribute("data-precedence"))break;return t;case"script":if(c=t.getAttribute("src"),(c!==(l.src==null?null:l.src)||t.getAttribute("type")!==(l.type==null?null:l.type)||t.getAttribute("crossorigin")!==(l.crossOrigin==null?null:l.crossOrigin))&&c&&t.hasAttribute("async")&&!t.hasAttribute("itemprop"))break;return t;default:return t}}else if(e==="input"&&t.type==="hidden"){var c=l.name==null?null:""+l.name;if(l.type==="hidden"&&t.getAttribute("name")===c)return t}else return t;if(t=mn(t.nextSibling),t===null)break}return null}function ng(t,e,n){if(e==="")return null;for(;t.nodeType!==3;)if((t.nodeType!==1||t.nodeName!=="INPUT"||t.type!=="hidden")&&!n||(t=mn(t.nextSibling),t===null))return null;return t}function Vd(t,e){for(;t.nodeType!==8;)if((t.nodeType!==1||t.nodeName!=="INPUT"||t.type!=="hidden")&&!e||(t=mn(t.nextSibling),t===null))return null;return t}function $f(t){return t.data==="$?"||t.data==="$~"}function Pf(t){return t.data==="$!"||t.data==="$?"&&t.ownerDocument.readyState!=="loading"}function ag(t,e){var n=t.ownerDocument;if(t.data==="$~")t._reactRetry=e;else if(t.data!=="$?"||n.readyState!=="loading")e();else{var a=function(){e(),n.removeEventListener("DOMContentLoaded",a)};n.addEventListener("DOMContentLoaded",a),t._reactRetry=a}}function mn(t){for(;t!=null;t=t.nextSibling){var e=t.nodeType;if(e===1||e===3)break;if(e===8){if(e=t.data,e==="$"||e==="$!"||e==="$?"||e==="$~"||e==="&"||e==="F!"||e==="F")break;if(e==="/$"||e==="/&")return null}}return t}var tr=null;function Qd(t){t=t.nextSibling;for(var e=0;t;){if(t.nodeType===8){var n=t.data;if(n==="/$"||n==="/&"){if(e===0)return mn(t.nextSibling);e--}else n!=="$"&&n!=="$!"&&n!=="$?"&&n!=="$~"&&n!=="&"||e++}t=t.nextSibling}return null}function Fd(t){t=t.previousSibling;for(var e=0;t;){if(t.nodeType===8){var n=t.data;if(n==="$"||n==="$!"||n==="$?"||n==="$~"||n==="&"){if(e===0)return t;e--}else n!=="/$"&&n!=="/&"||e++}t=t.previousSibling}return null}function Kd(t,e,n){switch(e=lc(n),t){case"html":if(t=e.documentElement,!t)throw Error(s(452));return t;case"head":if(t=e.head,!t)throw Error(s(453));return t;case"body":if(t=e.body,!t)throw Error(s(454));return t;default:throw Error(s(451))}}function Li(t){for(var e=t.attributes;e.length;)t.removeAttributeNode(e[0]);es(t)}var yn=new Map,Jd=new Set;function ic(t){return typeof t.getRootNode=="function"?t.getRootNode():t.nodeType===9?t:t.ownerDocument}var In=V.d;V.d={f:lg,r:ig,D:ug,C:cg,L:sg,m:fg,X:og,S:rg,M:dg};function lg(){var t=In.f(),e=Iu();return t||e}function ig(t){var e=cl(t);e!==null&&e.tag===5&&e.type==="form"?o2(e):In.r(t)}var Yl=typeof document>"u"?null:document;function kd(t,e,n){var a=Yl;if(a&&typeof e=="string"&&e){var l=cn(e);l='link[rel="'+t+'"][href="'+l+'"]',typeof n=="string"&&(l+='[crossorigin="'+n+'"]'),Jd.has(l)||(Jd.add(l),t={rel:t,crossOrigin:n,href:e},a.querySelector(l)===null&&(e=a.createElement("link"),ze(e,"link",t),be(e),a.head.appendChild(e)))}}function ug(t){In.D(t),kd("dns-prefetch",t,null)}function cg(t,e){In.C(t,e),kd("preconnect",t,e)}function sg(t,e,n){In.L(t,e,n);var a=Yl;if(a&&t&&e){var l='link[rel="preload"][as="'+cn(e)+'"]';e==="image"&&n&&n.imageSrcSet?(l+='[imagesrcset="'+cn(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(l+='[imagesizes="'+cn(n.imageSizes)+'"]')):l+='[href="'+cn(t)+'"]';var c=l;switch(e){case"style":c=Gl(t);break;case"script":c=ql(t)}yn.has(c)||(t=p({rel:"preload",href:e==="image"&&n&&n.imageSrcSet?void 0:t,as:e},n),yn.set(c,t),a.querySelector(l)!==null||e==="style"&&a.querySelector(Hi(c))||e==="script"&&a.querySelector(ji(c))||(e=a.createElement("link"),ze(e,"link",t),be(e),a.head.appendChild(e)))}}function fg(t,e){In.m(t,e);var n=Yl;if(n&&t){var a=e&&typeof e.as=="string"?e.as:"script",l='link[rel="modulepreload"][as="'+cn(a)+'"][href="'+cn(t)+'"]',c=l;switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":c=ql(t)}if(!yn.has(c)&&(t=p({rel:"modulepreload",href:t},e),yn.set(c,t),n.querySelector(l)===null)){switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(ji(c)))return}a=n.createElement("link"),ze(a,"link",t),be(a),n.head.appendChild(a)}}}function rg(t,e,n){In.S(t,e,n);var a=Yl;if(a&&t){var l=sl(a).hoistableStyles,c=Gl(t);e=e||"default";var d=l.get(c);if(!d){var g={loading:0,preload:null};if(d=a.querySelector(Hi(c)))g.loading=5;else{t=p({rel:"stylesheet",href:t,"data-precedence":e},n),(n=yn.get(c))&&er(t,n);var S=d=a.createElement("link");be(S),ze(S,"link",t),S._p=new Promise(function(M,q){S.onload=M,S.onerror=q}),S.addEventListener("load",function(){g.loading|=1}),S.addEventListener("error",function(){g.loading|=2}),g.loading|=4,uc(d,e,a)}d={type:"stylesheet",instance:d,count:1,state:g},l.set(c,d)}}}function og(t,e){In.X(t,e);var n=Yl;if(n&&t){var a=sl(n).hoistableScripts,l=ql(t),c=a.get(l);c||(c=n.querySelector(ji(l)),c||(t=p({src:t,async:!0},e),(e=yn.get(l))&&nr(t,e),c=n.createElement("script"),be(c),ze(c,"link",t),n.head.appendChild(c)),c={type:"script",instance:c,count:1,state:null},a.set(l,c))}}function dg(t,e){In.M(t,e);var n=Yl;if(n&&t){var a=sl(n).hoistableScripts,l=ql(t),c=a.get(l);c||(c=n.querySelector(ji(l)),c||(t=p({src:t,async:!0,type:"module"},e),(e=yn.get(l))&&nr(t,e),c=n.createElement("script"),be(c),ze(c,"link",t),n.head.appendChild(c)),c={type:"script",instance:c,count:1,state:null},a.set(l,c))}}function Id(t,e,n,a){var l=(l=L.current)?ic(l):null;if(!l)throw Error(s(446));switch(t){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(e=Gl(n.href),n=sl(l).hoistableStyles,a=n.get(e),a||(a={type:"style",instance:null,count:0,state:null},n.set(e,a)),a):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){t=Gl(n.href);var c=sl(l).hoistableStyles,d=c.get(t);if(d||(l=l.ownerDocument||l,d={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},c.set(t,d),(c=l.querySelector(Hi(t)))&&!c._p&&(d.instance=c,d.state.loading=5),yn.has(t)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},yn.set(t,n),c||hg(l,t,n,d.state))),e&&a===null)throw Error(s(528,""));return d}if(e&&a!==null)throw Error(s(529,""));return null;case"script":return e=n.async,n=n.src,typeof n=="string"&&e&&typeof e!="function"&&typeof e!="symbol"?(e=ql(n),n=sl(l).hoistableScripts,a=n.get(e),a||(a={type:"script",instance:null,count:0,state:null},n.set(e,a)),a):{type:"void",instance:null,count:0,state:null};default:throw Error(s(444,t))}}function Gl(t){return'href="'+cn(t)+'"'}function Hi(t){return'link[rel="stylesheet"]['+t+"]"}function Wd(t){return p({},t,{"data-precedence":t.precedence,precedence:null})}function hg(t,e,n,a){t.querySelector('link[rel="preload"][as="style"]['+e+"]")?a.loading=1:(e=t.createElement("link"),a.preload=e,e.addEventListener("load",function(){return a.loading|=1}),e.addEventListener("error",function(){return a.loading|=2}),ze(e,"link",n),be(e),t.head.appendChild(e))}function ql(t){return'[src="'+cn(t)+'"]'}function ji(t){return"script[async]"+t}function $d(t,e,n){if(e.count++,e.instance===null)switch(e.type){case"style":var a=t.querySelector('style[data-href~="'+cn(n.href)+'"]');if(a)return e.instance=a,be(a),a;var l=p({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return a=(t.ownerDocument||t).createElement("style"),be(a),ze(a,"style",l),uc(a,n.precedence,t),e.instance=a;case"stylesheet":l=Gl(n.href);var c=t.querySelector(Hi(l));if(c)return e.state.loading|=4,e.instance=c,be(c),c;a=Wd(n),(l=yn.get(l))&&er(a,l),c=(t.ownerDocument||t).createElement("link"),be(c);var d=c;return d._p=new Promise(function(g,S){d.onload=g,d.onerror=S}),ze(c,"link",a),e.state.loading|=4,uc(c,n.precedence,t),e.instance=c;case"script":return c=ql(n.src),(l=t.querySelector(ji(c)))?(e.instance=l,be(l),l):(a=n,(l=yn.get(c))&&(a=p({},n),nr(a,l)),t=t.ownerDocument||t,l=t.createElement("script"),be(l),ze(l,"link",a),t.head.appendChild(l),e.instance=l);case"void":return null;default:throw Error(s(443,e.type))}else e.type==="stylesheet"&&(e.state.loading&4)===0&&(a=e.instance,e.state.loading|=4,uc(a,n.precedence,t));return e.instance}function uc(t,e,n){for(var a=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),l=a.length?a[a.length-1]:null,c=l,d=0;d<a.length;d++){var g=a[d];if(g.dataset.precedence===e)c=g;else if(c!==l)break}c?c.parentNode.insertBefore(t,c.nextSibling):(e=n.nodeType===9?n.head:n,e.insertBefore(t,e.firstChild))}function er(t,e){t.crossOrigin==null&&(t.crossOrigin=e.crossOrigin),t.referrerPolicy==null&&(t.referrerPolicy=e.referrerPolicy),t.title==null&&(t.title=e.title)}function nr(t,e){t.crossOrigin==null&&(t.crossOrigin=e.crossOrigin),t.referrerPolicy==null&&(t.referrerPolicy=e.referrerPolicy),t.integrity==null&&(t.integrity=e.integrity)}var cc=null;function Pd(t,e,n){if(cc===null){var a=new Map,l=cc=new Map;l.set(n,a)}else l=cc,a=l.get(n),a||(a=new Map,l.set(n,a));if(a.has(t))return a;for(a.set(t,null),n=n.getElementsByTagName(t),l=0;l<n.length;l++){var c=n[l];if(!(c[Pl]||c[we]||t==="link"&&c.getAttribute("rel")==="stylesheet")&&c.namespaceURI!=="http://www.w3.org/2000/svg"){var d=c.getAttribute(e)||"";d=t+d;var g=a.get(d);g?g.push(c):a.set(d,[c])}}return a}function t1(t,e,n){t=t.ownerDocument||t,t.head.insertBefore(n,e==="title"?t.querySelector("head > title"):null)}function mg(t,e,n){if(n===1||e.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof e.precedence!="string"||typeof e.href!="string"||e.href==="")break;return!0;case"link":if(typeof e.rel!="string"||typeof e.href!="string"||e.href===""||e.onLoad||e.onError)break;switch(e.rel){case"stylesheet":return t=e.disabled,typeof e.precedence=="string"&&t==null;default:return!0}case"script":if(e.async&&typeof e.async!="function"&&typeof e.async!="symbol"&&!e.onLoad&&!e.onError&&e.src&&typeof e.src=="string")return!0}return!1}function e1(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function yg(t,e,n,a){if(n.type==="stylesheet"&&(typeof a.media!="string"||matchMedia(a.media).matches!==!1)&&(n.state.loading&4)===0){if(n.instance===null){var l=Gl(a.href),c=e.querySelector(Hi(l));if(c){e=c._p,e!==null&&typeof e=="object"&&typeof e.then=="function"&&(t.count++,t=sc.bind(t),e.then(t,t)),n.state.loading|=4,n.instance=c,be(c);return}c=e.ownerDocument||e,a=Wd(a),(l=yn.get(l))&&er(a,l),c=c.createElement("link"),be(c);var d=c;d._p=new Promise(function(g,S){d.onload=g,d.onerror=S}),ze(c,"link",a),n.instance=c}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(n,e),(e=n.state.preload)&&(n.state.loading&3)===0&&(t.count++,n=sc.bind(t),e.addEventListener("load",n),e.addEventListener("error",n))}}var ar=0;function gg(t,e){return t.stylesheets&&t.count===0&&rc(t,t.stylesheets),0<t.count||0<t.imgCount?function(n){var a=setTimeout(function(){if(t.stylesheets&&rc(t,t.stylesheets),t.unsuspend){var c=t.unsuspend;t.unsuspend=null,c()}},6e4+e);0<t.imgBytes&&ar===0&&(ar=62500*Iy());var l=setTimeout(function(){if(t.waitingForImages=!1,t.count===0&&(t.stylesheets&&rc(t,t.stylesheets),t.unsuspend)){var c=t.unsuspend;t.unsuspend=null,c()}},(t.imgBytes>ar?50:800)+e);return t.unsuspend=n,function(){t.unsuspend=null,clearTimeout(a),clearTimeout(l)}}:null}function sc(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)rc(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var fc=null;function rc(t,e){t.stylesheets=null,t.unsuspend!==null&&(t.count++,fc=new Map,e.forEach(vg,t),fc=null,sc.call(t))}function vg(t,e){if(!(e.state.loading&4)){var n=fc.get(t);if(n)var a=n.get(null);else{n=new Map,fc.set(t,n);for(var l=t.querySelectorAll("link[data-precedence],style[data-precedence]"),c=0;c<l.length;c++){var d=l[c];(d.nodeName==="LINK"||d.getAttribute("media")!=="not all")&&(n.set(d.dataset.precedence,d),a=d)}a&&n.set(null,a)}l=e.instance,d=l.getAttribute("data-precedence"),c=n.get(d)||a,c===a&&n.set(null,l),n.set(d,l),this.count++,a=sc.bind(this),l.addEventListener("load",a),l.addEventListener("error",a),c?c.parentNode.insertBefore(l,c.nextSibling):(t=t.nodeType===9?t.head:t,t.insertBefore(l,t.firstChild)),e.state.loading|=4}}var Bi={$$typeof:$,Provider:null,Consumer:null,_currentValue:lt,_currentValue2:lt,_threadCount:0};function _g(t,e,n,a,l,c,d,g,S){this.tag=1,this.containerInfo=t,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Wc(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Wc(0),this.hiddenUpdates=Wc(null),this.identifierPrefix=a,this.onUncaughtError=l,this.onCaughtError=c,this.onRecoverableError=d,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=S,this.incompleteTransitions=new Map}function n1(t,e,n,a,l,c,d,g,S,M,q,K){return t=new _g(t,e,n,d,S,M,q,K,g),e=1,c===!0&&(e|=24),c=We(3,null,null,e),t.current=c,c.stateNode=t,e=Ls(),e.refCount++,t.pooledCache=e,e.refCount++,c.memoizedState={element:a,isDehydrated:n,cache:e},Ys(c),t}function a1(t){return t?(t=_l,t):_l}function l1(t,e,n,a,l,c){l=a1(l),a.context===null?a.context=l:a.pendingContext=l,a=ra(e),a.payload={element:n},c=c===void 0?null:c,c!==null&&(a.callback=c),n=oa(t,a,e),n!==null&&(Je(n,t,e),gi(n,t,e))}function i1(t,e){if(t=t.memoizedState,t!==null&&t.dehydrated!==null){var n=t.retryLane;t.retryLane=n!==0&&n<e?n:e}}function lr(t,e){i1(t,e),(t=t.alternate)&&i1(t,e)}function u1(t){if(t.tag===13||t.tag===31){var e=Ya(t,67108864);e!==null&&Je(e,t,67108864),lr(t,67108864)}}function c1(t){if(t.tag===13||t.tag===31){var e=nn();e=$c(e);var n=Ya(t,e);n!==null&&Je(n,t,e),lr(t,e)}}var oc=!0;function pg(t,e,n,a){var l=N.T;N.T=null;var c=V.p;try{V.p=2,ir(t,e,n,a)}finally{V.p=c,N.T=l}}function bg(t,e,n,a){var l=N.T;N.T=null;var c=V.p;try{V.p=8,ir(t,e,n,a)}finally{V.p=c,N.T=l}}function ir(t,e,n,a){if(oc){var l=ur(a);if(l===null)Qf(t,e,a,dc,n),f1(t,a);else if(Eg(l,t,e,n,a))a.stopPropagation();else if(f1(t,a),e&4&&-1<Sg.indexOf(t)){for(;l!==null;){var c=cl(l);if(c!==null)switch(c.tag){case 3:if(c=c.stateNode,c.current.memoizedState.isDehydrated){var d=pn(c.pendingLanes);if(d!==0){var g=c;for(g.pendingLanes|=2,g.entangledLanes|=2;d;){var S=1<<31-F(d);g.entanglements[1]|=S,d&=~S}zn(c),(Bt&6)===0&&(Ju=xe()+500,Mi(0))}}break;case 31:case 13:g=Ya(c,2),g!==null&&Je(g,c,2),Iu(),lr(c,2)}if(c=ur(a),c===null&&Qf(t,e,a,dc,n),c===l)break;l=c}l!==null&&a.stopPropagation()}else Qf(t,e,a,null,n)}}function ur(t){return t=cs(t),cr(t)}var dc=null;function cr(t){if(dc=null,t=ul(t),t!==null){var e=o(t);if(e===null)t=null;else{var n=e.tag;if(n===13){if(t=h(e),t!==null)return t;t=null}else if(n===31){if(t=v(e),t!==null)return t;t=null}else if(n===3){if(e.stateNode.current.memoizedState.isDehydrated)return e.tag===3?e.stateNode.containerInfo:null;t=null}else e!==t&&(t=null)}}return dc=t,null}function s1(t){switch(t){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(al()){case ll:return 2;case _e:return 8;case ea:case Jc:return 32;case Wl:return 268435456;default:return 32}default:return 32}}var sr=!1,Ea=null,Ta=null,Aa=null,Yi=new Map,Gi=new Map,xa=[],Sg="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function f1(t,e){switch(t){case"focusin":case"focusout":Ea=null;break;case"dragenter":case"dragleave":Ta=null;break;case"mouseover":case"mouseout":Aa=null;break;case"pointerover":case"pointerout":Yi.delete(e.pointerId);break;case"gotpointercapture":case"lostpointercapture":Gi.delete(e.pointerId)}}function qi(t,e,n,a,l,c){return t===null||t.nativeEvent!==c?(t={blockedOn:e,domEventName:n,eventSystemFlags:a,nativeEvent:c,targetContainers:[l]},e!==null&&(e=cl(e),e!==null&&u1(e)),t):(t.eventSystemFlags|=a,e=t.targetContainers,l!==null&&e.indexOf(l)===-1&&e.push(l),t)}function Eg(t,e,n,a,l){switch(e){case"focusin":return Ea=qi(Ea,t,e,n,a,l),!0;case"dragenter":return Ta=qi(Ta,t,e,n,a,l),!0;case"mouseover":return Aa=qi(Aa,t,e,n,a,l),!0;case"pointerover":var c=l.pointerId;return Yi.set(c,qi(Yi.get(c)||null,t,e,n,a,l)),!0;case"gotpointercapture":return c=l.pointerId,Gi.set(c,qi(Gi.get(c)||null,t,e,n,a,l)),!0}return!1}function r1(t){var e=ul(t.target);if(e!==null){var n=o(e);if(n!==null){if(e=n.tag,e===13){if(e=h(n),e!==null){t.blockedOn=e,Ao(t.priority,function(){c1(n)});return}}else if(e===31){if(e=v(n),e!==null){t.blockedOn=e,Ao(t.priority,function(){c1(n)});return}}else if(e===3&&n.stateNode.current.memoizedState.isDehydrated){t.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}t.blockedOn=null}function hc(t){if(t.blockedOn!==null)return!1;for(var e=t.targetContainers;0<e.length;){var n=ur(t.nativeEvent);if(n===null){n=t.nativeEvent;var a=new n.constructor(n.type,n);us=a,n.target.dispatchEvent(a),us=null}else return e=cl(n),e!==null&&u1(e),t.blockedOn=n,!1;e.shift()}return!0}function o1(t,e,n){hc(t)&&n.delete(e)}function Tg(){sr=!1,Ea!==null&&hc(Ea)&&(Ea=null),Ta!==null&&hc(Ta)&&(Ta=null),Aa!==null&&hc(Aa)&&(Aa=null),Yi.forEach(o1),Gi.forEach(o1)}function mc(t,e){t.blockedOn===e&&(t.blockedOn=null,sr||(sr=!0,u.unstable_scheduleCallback(u.unstable_NormalPriority,Tg)))}var yc=null;function d1(t){yc!==t&&(yc=t,u.unstable_scheduleCallback(u.unstable_NormalPriority,function(){yc===t&&(yc=null);for(var e=0;e<t.length;e+=3){var n=t[e],a=t[e+1],l=t[e+2];if(typeof a!="function"){if(cr(a||n)===null)continue;break}var c=cl(n);c!==null&&(t.splice(e,3),e-=3,uf(c,{pending:!0,data:l,method:n.method,action:a},a,l))}}))}function Zl(t){function e(S){return mc(S,t)}Ea!==null&&mc(Ea,t),Ta!==null&&mc(Ta,t),Aa!==null&&mc(Aa,t),Yi.forEach(e),Gi.forEach(e);for(var n=0;n<xa.length;n++){var a=xa[n];a.blockedOn===t&&(a.blockedOn=null)}for(;0<xa.length&&(n=xa[0],n.blockedOn===null);)r1(n),n.blockedOn===null&&xa.shift();if(n=(t.ownerDocument||t).$$reactFormReplay,n!=null)for(a=0;a<n.length;a+=3){var l=n[a],c=n[a+1],d=l[Ze]||null;if(typeof c=="function")d||d1(n);else if(d){var g=null;if(c&&c.hasAttribute("formAction")){if(l=c,d=c[Ze]||null)g=d.formAction;else if(cr(l)!==null)continue}else g=d.action;typeof g=="function"?n[a+1]=g:(n.splice(a,3),a-=3),d1(n)}}}function h1(){function t(c){c.canIntercept&&c.info==="react-transition"&&c.intercept({handler:function(){return new Promise(function(d){return l=d})},focusReset:"manual",scroll:"manual"})}function e(){l!==null&&(l(),l=null),a||setTimeout(n,20)}function n(){if(!a&&!navigation.transition){var c=navigation.currentEntry;c&&c.url!=null&&navigation.navigate(c.url,{state:c.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var a=!1,l=null;return navigation.addEventListener("navigate",t),navigation.addEventListener("navigatesuccess",e),navigation.addEventListener("navigateerror",e),setTimeout(n,100),function(){a=!0,navigation.removeEventListener("navigate",t),navigation.removeEventListener("navigatesuccess",e),navigation.removeEventListener("navigateerror",e),l!==null&&(l(),l=null)}}}function fr(t){this._internalRoot=t}gc.prototype.render=fr.prototype.render=function(t){var e=this._internalRoot;if(e===null)throw Error(s(409));var n=e.current,a=nn();l1(n,a,t,e,null,null)},gc.prototype.unmount=fr.prototype.unmount=function(){var t=this._internalRoot;if(t!==null){this._internalRoot=null;var e=t.containerInfo;l1(t.current,2,null,t,null,null),Iu(),e[il]=null}};function gc(t){this._internalRoot=t}gc.prototype.unstable_scheduleHydration=function(t){if(t){var e=To();t={blockedOn:null,target:t,priority:e};for(var n=0;n<xa.length&&e!==0&&e<xa[n].priority;n++);xa.splice(n,0,t),n===0&&r1(t)}};var m1=i.version;if(m1!=="19.2.1")throw Error(s(527,m1,"19.2.1"));V.findDOMNode=function(t){var e=t._reactInternals;if(e===void 0)throw typeof t.render=="function"?Error(s(188)):(t=Object.keys(t).join(","),Error(s(268,t)));return t=y(e),t=t!==null?_(t):null,t=t===null?null:t.stateNode,t};var Ag={bundleType:0,version:"19.2.1",rendererPackageName:"react-dom",currentDispatcherRef:N,reconcilerVersion:"19.2.1"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var vc=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!vc.isDisabled&&vc.supportsFiber)try{Ua=vc.inject(Ag),Y=vc}catch{}}return Xi.createRoot=function(t,e){if(!r(t))throw Error(s(299));var n=!1,a="",l=S2,c=E2,d=T2;return e!=null&&(e.unstable_strictMode===!0&&(n=!0),e.identifierPrefix!==void 0&&(a=e.identifierPrefix),e.onUncaughtError!==void 0&&(l=e.onUncaughtError),e.onCaughtError!==void 0&&(c=e.onCaughtError),e.onRecoverableError!==void 0&&(d=e.onRecoverableError)),e=n1(t,1,!1,null,null,n,a,null,l,c,d,h1),t[il]=e.current,Vf(t),new fr(e)},Xi.hydrateRoot=function(t,e,n){if(!r(t))throw Error(s(299));var a=!1,l="",c=S2,d=E2,g=T2,S=null;return n!=null&&(n.unstable_strictMode===!0&&(a=!0),n.identifierPrefix!==void 0&&(l=n.identifierPrefix),n.onUncaughtError!==void 0&&(c=n.onUncaughtError),n.onCaughtError!==void 0&&(d=n.onCaughtError),n.onRecoverableError!==void 0&&(g=n.onRecoverableError),n.formState!==void 0&&(S=n.formState)),e=n1(t,1,!0,e,n??null,a,l,S,c,d,g,h1),e.context=a1(null),n=e.current,a=nn(),a=$c(a),l=ra(a),l.callback=null,oa(n,l,a),n=a,e.current.lanes=n,$l(e,n),zn(e),t[il]=e.current,Vf(t),new gc(e)},Xi.version="19.2.1",Xi}var A1;function Lg(){if(A1)return dr.exports;A1=1;function u(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(u)}catch(i){console.error(i)}}return u(),dr.exports=Cg(),dr.exports}var Hg=Lg();function jg(){const u=mt.useRef(null),[i]=yh(u);return[i,u]}function yh(u){const[i,f]=mt.useState(new DOMRect(0,0,10,10)),s=mt.useCallback(()=>{const r=u==null?void 0:u.current;r&&f(r.getBoundingClientRect())},[u]);return mt.useLayoutEffect(()=>{const r=u==null?void 0:u.current;if(!r)return;s();const o=new ResizeObserver(s);return o.observe(r),window.addEventListener("resize",s),()=>{o.disconnect(),window.removeEventListener("resize",s)}},[s,u]),[i,s]}function x1(u,i){u&&(i=Pa.getObject(u,i));const[f,s]=mt.useState(i),r=mt.useCallback(o=>{u?Pa.setObject(u,o):s(o)},[u,s]);return mt.useEffect(()=>{if(u){const o=()=>s(Pa.getObject(u,i));return Pa.onChangeEmitter.addEventListener(u,o),()=>Pa.onChangeEmitter.removeEventListener(u,o)}},[i,u]),[f,r]}class Bg{constructor(){this.onChangeEmitter=new EventTarget}getString(i,f){return localStorage[i]||f}setString(i,f){var s;localStorage[i]=f,this.onChangeEmitter.dispatchEvent(new Event(i)),(s=window.saveSettings)==null||s.call(window)}getObject(i,f){if(!localStorage[i])return f;try{return JSON.parse(localStorage[i])}catch{return f}}setObject(i,f){var s;localStorage[i]=JSON.stringify(f),this.onChangeEmitter.dispatchEvent(new Event(i)),(s=window.saveSettings)==null||s.call(window)}}const Pa=new Bg;function Ji(...u){return u.filter(Boolean).join(" ")}function Yg(u){u&&(u!=null&&u.scrollIntoViewIfNeeded?u.scrollIntoViewIfNeeded(!1):u==null||u.scrollIntoView())}const Gg="system",gh="theme",qg=[{label:"Dark mode",value:"dark-mode"},{label:"Light mode",value:"light-mode"},{label:"System",value:"system"}],vh=window.matchMedia("(prefers-color-scheme: dark)");function Zg(){document.playwrightThemeInitialized||(document.playwrightThemeInitialized=!0,document.defaultView.addEventListener("focus",u=>{u.target.document.nodeType===Node.DOCUMENT_NODE&&document.body.classList.remove("inactive")},!1),document.defaultView.addEventListener("blur",u=>{document.body.classList.add("inactive")},!1),Dr(zr()),vh.addEventListener("change",()=>{Dr(zr())}))}const Xg=new Set;function Dr(u){const i=Vg(),f=u==="system"?vh.matches?"dark-mode":"light-mode":u;if(i!==f){i&&document.documentElement.classList.remove(i),document.documentElement.classList.add(f);for(const s of Xg)s(f)}}function zr(){return Pa.getString(gh,Gg)}function Vg(){return document.documentElement.classList.contains("dark-mode")?"dark-mode":document.documentElement.classList.contains("light-mode")?"light-mode":null}function Qg(){const[u,i]=mt.useState(zr());return mt.useEffect(()=>{Pa.setString(gh,u),Dr(u)},[u]),[u,i]}const Fg="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='-10%20-10%20276%20276'%3e%3clinearGradient%20id='a'%20x1='145'%20x2='34'%20y1='253'%20y2='61'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0'%20stop-color='%231e8e3e'/%3e%3cstop%20offset='1'%20stop-color='%2334a853'/%3e%3c/linearGradient%3e%3clinearGradient%20id='b'%20x1='111'%20x2='222'%20y1='254'%20y2='62'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0'%20stop-color='%23fcc934'/%3e%3cstop%20offset='1'%20stop-color='%23fbbc04'/%3e%3c/linearGradient%3e%3clinearGradient%20id='c'%20x1='17'%20x2='239'%20y1='80'%20y2='80'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0'%20stop-color='%23d93025'/%3e%3cstop%20offset='1'%20stop-color='%23ea4335'/%3e%3c/linearGradient%3e%3ccircle%20cx='128'%20cy='128'%20r='64'%20fill='%23fff'/%3e%3cpath%20fill='url(%23a)'%20d='M96%20183.4A63.7%2063.7%200%200%201%2072.6%20160L17.2%2064A128%20128%200%200%200%20128%20256l55.4-96A64%2064%200%200%201%2096%20183.4Z'/%3e%3cpath%20fill='url(%23b)'%20d='M192%20128a63.7%2063.7%200%200%201-8.6%2032L128%20256A128%20128%200%200%200%20238.9%2064h-111a64%2064%200%200%201%2064%2064Z'/%3e%3ccircle%20cx='128'%20cy='128'%20r='52'%20fill='%231a73e8'/%3e%3cpath%20fill='url(%23c)'%20d='M96%2072.6a63.7%2063.7%200%200%201%2032-8.6h110.8a128%20128%200%200%200-221.7%200l55.5%2096A64%2064%200%200%201%2096%2072.6Z'/%3e%3c/svg%3e",Kg="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='%23fff'%20viewBox='-190%20-190%205180%205180'%3e%3clinearGradient%20id='a'%20x1='2149'%20x2='4207'%20y1='4638'%20y2='1076'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0'%20stop-color='%23fcc934'/%3e%3cstop%20offset='1'%20stop-color='%23fbbc04'/%3e%3c/linearGradient%3e%3clinearGradient%20id='b'%20x1='2823'%20x2='-214'%20y1='4031'%20y2='2278'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0'%20stop-color='%231e8e3e'/%3e%3cstop%20offset='1'%20stop-color='%2334a853'/%3e%3c/linearGradient%3e%3clinearGradient%20id='c'%20x1='371'%20x2='4429'%20y1='1501'%20y2='1501'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0'%20stop-color='%23d93025'/%3e%3cstop%20offset='1'%20stop-color='%23ea4335'/%3e%3c/linearGradient%3e%3cpath%20fill='%23202124'%20d='M4400%203676c-45%2080-93%20157-145%20228l541-228z'/%3e%3cpath%20d='M2399%203600a1200%201200%200%201%200-1%200z'/%3e%3cpath%20fill='url(%23a)'%20d='M3440%203001%202402%204800a2394%202394%200%200%200%202398-2400c0-421-112-835-323-1200H2400l-2%201a1198%201198%200%200%201%201041%201800z'/%3e%3cpath%20fill='url(%23b)'%20d='M1360%203001%20322%201202a2398%202398%200%200%200%202078%203598l1038-1799v-1a1199%201199%200%200%201-2078%202z'/%3e%3cpath%20fill='%231a73e8'%20d='M2399%203351a950%20950%200%201%200%200-1900%20950%20950%200%200%200%200%201900z'/%3e%3cpath%20fill='url(%23c)'%20d='M2399%201200h2076a2396%202396%200%200%200-4153%202l1038%201800h2a1200%201200%200%200%201%201037-1802z'/%3e%3cpath%20fill='%233c4043'%20d='M1575%202250c0-40%2033-74%2075-74h3149v1500H1649a75%2075%200%200%201-74-75z'/%3e%3cpath%20d='M2442%202883a199%20199%200%200%200%20115-185c1-44-10-87-34-124a244%20244%200%200%200-94-86c-38-20-81-30-125-30h-317v880h334c46%201%2090-10%20131-32a250%20250%200%200%200%20135-220%20216%20216%200%200%200-145-203zm-40%20325c-23%2014-50%2022-76%2021h-226v-286h222c28%200%2055%206%2079%2020a146%20146%200%200%201%2070%20123c0%2024-6%2047-17%2068-13%2022-30%2041-53%2054zm25-444a140%20140%200%200%201-124%2070h-203v-267h209c25%200%2050%207%2071%2020a140%20140%200%200%201%2065%20113c0%2022-6%2044-18%2063zm733-40a296%20296%200%200%200-160-42%20292%20292%200%200%200-264%20171%20389%20389%200%200%200%203%20340%20300%20300%200%200%200%20270%20164%20300%20300%200%200%200%20276-167l3-5-96-48-3%205c-40%2072-100%20110-176%20110a192%20192%200%200%201-168-95%20240%20240%200%200%201-32-112h481l1-4a377%20377%200%200%200-32-200%20277%20277%200%200%200-103-117zm-160%2064c35-1%2070%208%20100%2026%2025%2015%2045%2037%2059%2064%2010%2022%2018%2045%2020%2070h-360c10-44%2031-84%2063-114s74-47%20118-46zm657%20462a76%2076%200%200%201-62-25c-12-15-18-40-18-73v-340h150v-105h-150v-175h-114v175h-108v105h108v364c0%2027%203%2053%2012%2078a160%20160%200%200%200%2094%2090c23%2010%2047%2014%2071%2013%2017%200%2033%200%2050-3%2012-3%2025-7%2037-13l4-1v-115l-9%205c-20%2013-42%2020-65%2020zm656-500a283%20283%200%200%200-200-68c-50%200-100%2010-144%2033-40%2020-76%2051-101%2090l-3%204%2086%2066%203-5c17-26%2040-47%2067-61%2028-15%2060-22%2092-22%2043-2%2085%2013%20118%2040a142%20142%200%200%201%2046%20108v29a418%20418%200%200%200-170-36c-75%200-139%2019-189%2056s-75%2092-75%20160a205%20205%200%200%200%20114%20186%20268%20268%200%200%200%20245-5c30-17%2056-41%2076-70v83h108v-401c0-78-25-141-73-186zm-224%20504c-34%202-67-10-94-30a96%2096%200%200%201-36-79%20108%20108%200%200%201%2040-88c28-22%2070-34%20124-34a315%20315%200%200%201%20155%2042%20198%20198%200%200%201-95%20164c-28%2017-60%2026-94%2025z'/%3e%3c/svg%3e",Jg="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='-10%20-10%20276%20276'%3e%3ccircle%20cx='128'%20cy='128'%20r='64'%20fill='%23fff'/%3e%3cpath%20fill='%23fbbc04'%20d='M96%20183.4A63.7%2063.7%200%200%201%2072.6%20160L17.2%2064A128%20128%200%200%200%20128%20256l55.4-96A64%2064%200%200%201%2096%20183.4Z'/%3e%3cpath%20fill='%23fdd663'%20d='M192%20128a63.7%2063.7%200%200%201-8.6%2032L128%20256A128%20128%200%200%200%20238.9%2064h-111a64%2064%200%200%201%2064%2064Z'/%3e%3ccircle%20cx='128'%20cy='128'%20r='52'%20fill='%23fbbc04'/%3e%3cpath%20fill='%23f29900'%20d='M96%2072.6a63.7%2063.7%200%200%201%2032-8.6h110.8a128%20128%200%200%200-221.7%200l55.5%2096A64%2064%200%200%201%2096%2072.6Z'/%3e%3c/svg%3e",kg="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='%23fff'%20viewBox='-190%20-190%205180%205180'%3e%3clinearGradient%20id='a'%20x1='2149'%20x2='4207'%20y1='4638'%20y2='1076'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0'%20stop-color='%23fcc934'/%3e%3cstop%20offset='1'%20stop-color='%23fbbc04'/%3e%3c/linearGradient%3e%3clinearGradient%20id='b'%20x1='2823'%20x2='-214'%20y1='4031'%20y2='2278'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0'%20stop-color='%231e8e3e'/%3e%3cstop%20offset='1'%20stop-color='%2334a853'/%3e%3c/linearGradient%3e%3clinearGradient%20id='c'%20x1='371'%20x2='4429'%20y1='1501'%20y2='1501'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0'%20stop-color='%23d93025'/%3e%3cstop%20offset='1'%20stop-color='%23ea4335'/%3e%3c/linearGradient%3e%3cpath%20fill='%23202124'%20d='M4400%203676c-45%2080-93%20157-145%20228l541-228z'/%3e%3cpath%20d='M2399%203600a1200%201200%200%201%200-1%200z'/%3e%3cpath%20fill='url(%23a)'%20d='M3440%203001%202402%204800a2394%202394%200%200%200%202398-2400c0-421-112-835-323-1200H2400l-2%201a1198%201198%200%200%201%201041%201800z'/%3e%3cpath%20fill='url(%23b)'%20d='M1360%203001%20322%201202a2398%202398%200%200%200%202078%203598l1038-1799v-1a1199%201199%200%200%201-2078%202z'/%3e%3cpath%20fill='%231a73e8'%20d='M2399%203351a950%20950%200%201%200%200-1900%20950%20950%200%200%200%200%201900z'/%3e%3cpath%20fill='url(%23c)'%20d='M2399%201200h2076a2396%202396%200%200%200-4153%202l1038%201800h2a1200%201200%200%200%201%201037-1802z'/%3e%3cpath%20fill='%233c4043'%20d='M1987%202326c0-70%200-106%2022-128s57-22%20128-22h2662v1500H2137c-70%200-106%200-128-22s-22-57-22-128z'/%3e%3cpath%20d='M2865%202532a480%20480%200%200%200-236-56h-267v881h267a480%20480%200%200%200%20236-56c66-36%20120-90%20155-155%2037-70%2056-150%2054-229%202-80-17-158-54-229-35-65-90-120-155-156zm-390%2054h154c102%200%20182%2030%20240%2087%2060%2058%2090%20140%2090%20244s-30%20186-90%20244a330%20330%200%200%201-240%2087h-154zm1153%20157a295%20295%200%200%200-158-42c-57%200-112%2016-160%2047-45%2030-81%2073-105%20123-25%2053-38%20110-37%20170%200%2060%2013%20118%2040%20172a302%20302%200%200%200%20270%20163%20300%20300%200%200%200%20276-167l2-6-96-47-2%204c-41%2073-100%20110-176%20110a193%20193%200%200%201-168-95c-20-34-30-72-33-112h482v-4c4-10%205-22%205-33a380%20380%200%200%200-36-168c-23-48-60-87-104-115zm-160%2064c36-2%2070%207%20101%2026%2025%2015%2045%2037%2058%2064%2011%2022%2018%2045%2021%2070h-360c10-44%2030-84%2062-115%2032-30%2075-46%20118-45zm837-87-190%20496-187-493-1-3h-122l251%20634%202%204h110l256-638z'/%3e%3c/svg%3e",gr="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='-10%20-10%20276%20276'%3e%3ccircle%20cx='128'%20cy='128'%20r='64'%20fill='%23fff'/%3e%3cpath%20fill='%23669df6'%20d='M96%20183.4A63.7%2063.7%200%200%201%2072.6%20160L17.2%2064A128%20128%200%200%200%20128%20256l55.4-96A64%2064%200%200%201%2096%20183.4Z'/%3e%3cpath%20fill='%23aecbfa'%20d='M192%20128a63.7%2063.7%200%200%201-8.6%2032L128%20256A128%20128%200%200%200%20238.9%2064h-111a64%2064%200%200%201%2064%2064Z'/%3e%3ccircle%20cx='128'%20cy='128'%20r='52'%20fill='%231a73e8'/%3e%3cpath%20fill='%231967d2'%20d='M96%2072.6a63.7%2063.7%200%200%201%2032-8.6h110.8a128%20128%200%200%200-221.7%200l55.5%2096A64%2064%200%200%201%2096%2072.6Z'/%3e%3c/svg%3e",w1="/assets/firefox-1bWoP6pv.svg",O1="/assets/firefox-beta-k3eOH_eK.svg",Ig="/assets/firefox-nightly-Cp5nfeDT.svg",Wg="/assets/safari-na3_-uQk.svg",_c="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:x='http://www.w3.org/1999/xlink'%20viewBox='0%200%2027600%2027600'%3e%3clinearGradient%20id='a'%20gradientUnits='userSpaceOnUse'/%3e%3clinearGradient%20id='b'%20x1='6870'%20x2='24704'%20y1='18705'%20y2='18705'%20x:href='%23a'%3e%3cstop%20offset='0'%20stop-color='%230c59a4'/%3e%3cstop%20offset='1'%20stop-color='%23114a8b'/%3e%3c/linearGradient%3e%3clinearGradient%20id='c'%20x1='16272'%20x2='5133'%20y1='10968'%20y2='23102'%20x:href='%23a'%3e%3cstop%20offset='0'%20stop-color='%231b9de2'/%3e%3cstop%20offset='.16'%20stop-color='%231595df'/%3e%3cstop%20offset='.67'%20stop-color='%230680d7'/%3e%3cstop%20offset='1'%20stop-color='%230078d4'/%3e%3c/linearGradient%3e%3cradialGradient%20id='d'%20cx='16720'%20cy='18747'%20r='9538'%20x:href='%23a'%3e%3cstop%20offset='.72'%20stop-opacity='0'/%3e%3cstop%20offset='.95'%20stop-opacity='.53'/%3e%3cstop%20offset='1'/%3e%3c/radialGradient%3e%3cradialGradient%20id='e'%20cx='7130'%20cy='19866'%20r='14324'%20gradientTransform='matrix(.14843%20-.98892%20.79688%20.1196%20-8759%2025542)'%20x:href='%23a'%3e%3cstop%20offset='.76'%20stop-opacity='0'/%3e%3cstop%20offset='.95'%20stop-opacity='.5'/%3e%3cstop%20offset='1'/%3e%3c/radialGradient%3e%3cradialGradient%20id='f'%20cx='2523'%20cy='4680'%20r='20243'%20gradientTransform='matrix(-.03715%20.99931%20-2.12836%20-.07913%2013579%203530)'%20x:href='%23a'%3e%3cstop%20offset='0'%20stop-color='%2335c1f1'/%3e%3cstop%20offset='.11'%20stop-color='%2334c1ed'/%3e%3cstop%20offset='.23'%20stop-color='%232fc2df'/%3e%3cstop%20offset='.31'%20stop-color='%232bc3d2'/%3e%3cstop%20offset='.67'%20stop-color='%2336c752'/%3e%3c/radialGradient%3e%3cradialGradient%20id='g'%20cx='24247'%20cy='7758'%20r='9734'%20gradientTransform='matrix(.28109%20.95968%20-.78353%20.22949%2024510%20-16292)'%20x:href='%23a'%3e%3cstop%20offset='0'%20stop-color='%2366eb6e'/%3e%3cstop%20offset='1'%20stop-color='%2366eb6e'%20stop-opacity='0'/%3e%3c/radialGradient%3e%3cpath%20id='h'%20d='M24105%2020053a9345%209345%200%2001-1053%20472%2010202%2010202%200%2001-3590%20646c-4732%200-8855-3255-8855-7432%200-1175%20680-2193%201643-2729-4280%20180-5380%204640-5380%207253%200%207387%206810%208137%208276%208137%20791%200%201984-230%202704-456l130-44a12834%2012834%200%20006660-5282c220-350-168-757-535-565z'/%3e%3cpath%20id='i'%20d='M11571%2025141a7913%207913%200%2001-2273-2137%208145%208145%200%2001-1514-4740%208093%208093%200%20013093-6395%208082%208082%200%20011373-859c312-148%20846-414%201554-404a3236%203236%200%20012569%201297%203184%203184%200%2001636%201866c0-21%202446-7960-8005-7960-4390%200-8004%204166-8004%207820%200%202319%20538%204170%201212%205604a12833%2012833%200%20007684%206757%2012795%2012795%200%20003908%20610c1414%200%202774-233%204045-656a7575%207575%200%2001-6278-803z'/%3e%3cpath%20id='j'%20d='M16231%2015886c-80%20105-330%20250-330%20566%200%20260%20170%20512%20472%20723%201438%201003%204149%20868%204156%20868a5954%205954%200%20003027-839%206147%206147%200%20001133-850%206180%206180%200%20001910-4437c26-2242-796-3732-1133-4392-2120-4141-6694-6525-11668-6525-7011%200-12703%205635-12798%2012620%2047-3654%203679-6605%207996-6605%20350%200%202346%2034%204200%201007%201634%20858%202490%201894%203086%202921%20618%201067%20728%202415%20728%202952s-271%201333-780%201990z'/%3e%3cuse%20fill='url(%23b)'%20x:href='%23h'/%3e%3cuse%20fill='url(%23d)'%20opacity='.35'%20x:href='%23h'/%3e%3cuse%20fill='url(%23c)'%20x:href='%23i'/%3e%3cuse%20fill='url(%23e)'%20opacity='.4'%20x:href='%23i'/%3e%3cuse%20fill='url(%23f)'%20x:href='%23j'/%3e%3cuse%20fill='url(%23g)'%20x:href='%23j'/%3e%3c/svg%3e",R1={chromium:gr,"chromium-headless-shell":gr,"chrome-for-testing":gr,chrome:Fg,"chrome-beta":Kg,"chrome-dev":kg,"chrome-canary":Jg,firefox:w1,"moz-firefox":w1,"firefox-beta":O1,"moz-firefox-beta":O1,"moz-firefox-nightly":Ig,webkit:Wg,msedge:_c,"msedge-beta":_c,"msedge-dev":_c,"msedge-canary":_c},$g=({browserName:u,channel:i})=>{const f=i&&R1[i]?i:u,s=f?R1[f]:void 0;if(s)return O.jsx("img",{className:"browser-icon-img",src:s,alt:"","aria-hidden":"true"});const r=u?u[0].toUpperCase():"?";return O.jsx("span",{className:"browser-icon-fallback","aria-hidden":"true",children:r})},Pg=()=>O.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:O.jsx("polyline",{points:"15 18 9 12 15 6"})}),tv=()=>O.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:O.jsx("polyline",{points:"9 18 15 12 9 6"})}),ev=()=>O.jsx("svg",{width:"20",height:"20",viewBox:"0 -960 960 960",style:{fill:"currentColor"},"aria-hidden":"true",children:O.jsx("path",{d:"M240-80q-33 0-56.5-23.5T160-160v-400q0-33 23.5-56.5T240-640h40v-80q0-83 58.5-141.5T480-920q83 0 141.5 58.5T680-720v80h40q33 0 56.5 23.5T800-560v400q0 33-23.5 56.5T720-80H240Zm0-80h480v-400H240v400Zm296.5-143.5Q560-327 560-360t-23.5-56.5Q513-440 480-440t-56.5 23.5Q400-393 400-360t23.5 56.5Q447-280 480-280t56.5-23.5ZM360-640h240v-80q0-50-35-85t-85-35q-50 0-85 35t-35 85v80ZM240-160v-400 400Z"})}),nv=()=>O.jsx("svg",{width:"20",height:"20",viewBox:"0 -960 960 960",style:{fill:"currentColor"},"aria-hidden":"true",children:O.jsx("path",{d:"M240-160h480v-400H240v400Zm296.5-143.5Q560-327 560-360t-23.5-56.5Q513-440 480-440t-56.5 23.5Q400-393 400-360t23.5 56.5Q447-280 480-280t56.5-23.5ZM240-160v-400 400Zm0 80q-33 0-56.5-23.5T160-160v-400q0-33 23.5-56.5T240-640h280v-80q0-83 58.5-141.5T720-920q83 0 141.5 58.5T920-720h-80q0-50-35-85t-85-35q-50 0-85 35t-35 85v80h120q33 0 56.5 23.5T800-560v400q0 33-23.5 56.5T720-80H240Z"})}),av=()=>O.jsx("svg",{width:"20",height:"20",viewBox:"0 -960 960 960",style:{fill:"currentColor"},"aria-hidden":"true",children:O.jsx("path",{d:"M680-80v-120H560v-80h120v-120h80v120h120v80H760v120h-80ZM200-200v-200h80v120h120v80H200Zm0-360v-200h200v80H280v120h-80Zm480 0v-120H560v-80h200v200h-80Z"})}),_h=()=>O.jsx("svg",{width:"20",height:"20",viewBox:"0 -960 960 960",style:{fill:"currentColor"},"aria-hidden":"true",children:O.jsx("path",{d:"M480-320 280-520l56-58 104 104v-326h80v326l104-104 56 58-200 200ZM240-160q-33 0-56.5-23.5T160-240v-120h80v120h480v-120h80v120q0 33-23.5 56.5T720-160H240Z"})}),lv=()=>O.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[O.jsx("polyline",{points:"23 4 23 10 17 10"}),O.jsx("path",{d:"M20.49 15a9 9 0 1 1-2.12-9.36L23 10"})]}),iv=()=>O.jsx("svg",{viewBox:"0 0 16 16",fill:"currentColor","aria-hidden":"true",children:O.jsx("path",{d:"M8 0a8.2 8.2 0 0 1 .701.031C9.444.095 9.99.645 10.16 1.29l.288 1.107c.018.066.079.158.212.224.231.114.454.243.668.386.123.082.233.09.299.071l1.103-.303c.644-.176 1.392.021 1.82.63.27.385.506.792.704 1.218.315.675.111 1.422-.364 1.891l-.814.806c-.049.048-.098.147-.088.294.016.257.016.515 0 .772-.01.147.038.246.088.294l.814.806c.475.469.679 1.216.364 1.891a7.977 7.977 0 0 1-.704 1.217c-.428.61-1.176.807-1.82.63l-1.102-.302c-.067-.019-.177-.011-.3.071a5.909 5.909 0 0 1-.668.386c-.133.066-.194.158-.211.224l-.29 1.106c-.168.646-.715 1.196-1.458 1.26a8.006 8.006 0 0 1-1.402 0c-.743-.064-1.289-.614-1.458-1.26l-.289-1.106c-.018-.066-.079-.158-.212-.224a5.738 5.738 0 0 1-.668-.386c-.123-.082-.233-.09-.299-.071l-1.103.303c-.644.176-1.392-.021-1.82-.63a8.12 8.12 0 0 1-.704-1.218c-.315-.675-.111-1.422.363-1.891l.815-.806c.05-.048.098-.147.088-.294a6.214 6.214 0 0 1 0-.772c.01-.147-.038-.246-.088-.294l-.815-.806C.635 6.045.431 5.298.746 4.623a7.92 7.92 0 0 1 .704-1.217c.428-.61 1.176-.807 1.82-.63l1.102.302c.067.019.177.011.3-.071.214-.143.437-.272.668-.386.133-.066.194-.158.211-.224l.29-1.106C6.009.645 6.556.095 7.299.03 7.53.01 7.764 0 8 0Zm-.571 1.525c-.036.003-.108.036-.137.146l-.289 1.105c-.147.561-.549.967-.998 1.189-.173.086-.34.183-.5.29-.417.278-.97.423-1.529.27l-1.103-.303c-.109-.03-.175.016-.195.045-.22.312-.412.644-.573.99-.014.031-.021.11.059.19l.815.806c.411.406.562.957.53 1.456a4.709 4.709 0 0 0 0 .582c.032.499-.119 1.05-.53 1.456l-.815.806c-.081.08-.073.159-.059.19.162.346.353.677.573.989.02.03.085.076.195.046l1.102-.303c.56-.153 1.113-.008 1.53.27.161.107.328.204.501.29.447.222.85.629.997 1.189l.289 1.105c.029.109.101.143.137.146a6.6 6.6 0 0 0 1.142 0c.036-.003.108-.036.137-.146l.289-1.105c.147-.561.549-.967.998-1.189.173-.086.34-.183.5-.29.417-.278.97-.423 1.529-.27l1.103.303c.109.029.175-.016.195-.045.22-.313.411-.644.573-.99.014-.031.021-.11-.059-.19l-.815-.806c-.411-.406-.562-.957-.53-1.456a4.709 4.709 0 0 0 0-.582c-.032-.499.119-1.05.53-1.456l.815-.806c.081-.08.073-.159.059-.19a6.464 6.464 0 0 0-.573-.989c-.02-.03-.085-.076-.195-.046l-1.102.303c-.56.153-1.113.008-1.53-.27a4.44 4.44 0 0 0-.501-.29c-.447-.222-.85-.629-.997-1.189l-.289-1.105c-.029-.11-.101-.143-.137-.146a6.6 6.6 0 0 0-1.142 0ZM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM9.5 8a1.5 1.5 0 1 0-3.001.001A1.5 1.5 0 0 0 9.5 8Z"})});function wc(u){if(!u||!u.naturalWidth||!u.naturalHeight)return null;const i=u.getBoundingClientRect(),f=u.naturalWidth/u.naturalHeight,s=i.width/i.height;if(f>s){const o=i.width/f;return{rect:i,renderW:i.width,renderH:o,offsetX:0,offsetY:(i.height-o)/2}}const r=i.height*f;return{rect:i,renderW:r,renderH:i.height,offsetX:(i.width-r)/2,offsetY:0}}function Nr(u,i,f,s,r){const o=(s-u.rect.left-u.offsetX)/u.renderW,h=(r-u.rect.top-u.offsetY)/u.renderH;return{x:Math.round(o*i),y:Math.round(h*f)}}const ln=Wn.forwardRef(function({children:i,title:f="",icon:s,disabled:r=!1,toggled:o=!1,onClick:h=()=>{},style:v,testId:m,className:y,ariaLabel:_,errorBadge:p},b){const T=Wn.useId();return O.jsxs("button",{ref:b,className:Ji(y,"toolbar-button",s,o&&"toggled"),onMouseDown:D1,onClick:h,onDoubleClick:D1,title:f,disabled:!!r,style:v,"data-testid":m,"aria-label":_||f,"aria-describedby":p?T:void 0,children:[s&&O.jsx("span",{className:`codicon codicon-${s}`,style:i?{marginRight:5}:{}}),i,p&&O.jsx("span",{id:T,className:"toolbar-button-error-badge",title:p,"aria-label":p})]})}),D1=u=>{u.stopPropagation(),u.preventDefault()},uv=({blob:u,blobUrl:i,onSave:f,onClose:s})=>{const r=mt.useCallback(async()=>{await f(u)},[f,u]);return O.jsx("div",{className:"modal-overlay",role:"dialog","aria-modal":"true","aria-label":"Recording preview",children:O.jsxs("div",{className:"modal",children:[O.jsxs("div",{className:"modal-toolbar",children:[O.jsx("div",{className:"modal-title",children:"Recording"}),O.jsx(ln,{title:"Save recording",onClick:r,children:O.jsx(_h,{})}),O.jsx(ln,{title:"Discard",icon:"close",onClick:s})]}),O.jsx("div",{className:"modal-body recording-body",children:O.jsx("video",{className:"recording-video",src:i,controls:!0,autoPlay:!0})})]})})};async function ph(u,i,f,s){if(!u.naturalWidth||!u.naturalHeight||!i||!f)return null;const r=document.createElement("canvas");r.width=u.naturalWidth,r.height=u.naturalHeight;const o=r.getContext("2d");if(!o)return null;o.drawImage(u,0,0,r.width,r.height);const h=r.width/i,v=r.height/f,m=Math.max(11,Math.round(14*v));o.font=`500 ${m}px -apple-system, system-ui, sans-serif`,o.textBaseline="middle";for(const y of s){const[_,p,b]=y.color.split(" ").map(Number),T=`rgb(${_}, ${p}, ${b})`,D=`rgba(${_}, ${p}, ${b}, 0.12)`,G=y.x*h,W=y.y*v,J=y.width*h,Z=y.height*v;if(o.fillStyle=D,o.fillRect(G,W,J,Z),o.lineWidth=Math.max(2,Math.round(2*v)),o.strokeStyle=T,o.strokeRect(G,W,J,Z),y.text){const $=Math.max(4,Math.round(6*v)),I=Math.max(2,Math.round(3*v)),it=o.measureText(y.text).width+$*2,X=m+I*2,et=G-o.lineWidth/2,ut=W-X;o.fillStyle=T,o.fillRect(et,ut,it,X),o.fillStyle="#fff",o.fillText(y.text,et+$,ut+X/2)}}return await new Promise(y=>r.toBlob(y,"image/png"))}async function bh(u,i){var _;const f=new Date().toISOString().replace(/[:.]/g,"-"),s=i??`annotations-${f}.png`,r=(((_=s.match(/\.[^./\\]+$/))==null?void 0:_[0])??".bin").toLowerCase(),o=u.type||{".png":"image/png",".zip":"application/zip"}[r]||"application/octet-stream",h={".png":"PNG image",".zip":"Zip archive"}[r]||"File",v=window.showSaveFilePicker;if(v){try{const b=await(await v({suggestedName:s,startIn:"downloads",types:[{description:h,accept:{[o]:[r]}}]})).createWritable();await b.write(u),await b.close()}catch(p){if((p==null?void 0:p.name)==="AbortError")return!1;throw p}return!0}const m=URL.createObjectURL(u),y=document.createElement("a");return y.href=m,y.download=s,document.body.appendChild(y),y.click(),document.body.removeChild(y),URL.revokeObjectURL(m),!0}const Sh=[{name:"blue",rgb:"54 116 209"},{name:"red",rgb:"229 62 62"},{name:"green",rgb:"56 161 105"},{name:"orange",rgb:"221 107 32"},{name:"purple",rgb:"128 90 213"},{name:"pink",rgb:"213 63 140"}],cv=Sh[0].rgb,sv=["nw","n","ne","e","se","s","sw","w"],z1=4;function fv(){return"ann-"+Math.random().toString(36).slice(2,10)}function N1(u){return{x:Math.min(u.startX,u.x),y:Math.min(u.startY,u.y),width:Math.abs(u.x-u.startX),height:Math.abs(u.y-u.startY)}}function rv(u,i,f,s){let r=u.x,o=u.y,h=u.x+u.width,v=u.y+u.height;switch(i){case"move":r+=f,o+=s,h+=f,v+=s;break;case"nw":r+=f,o+=s;break;case"n":o+=s;break;case"ne":h+=f,o+=s;break;case"e":h+=f;break;case"se":h+=f,v+=s;break;case"s":v+=s;break;case"sw":r+=f,v+=s;break;case"w":r+=f;break}return{x:Math.min(r,h),y:Math.min(o,v),width:Math.abs(h-r),height:Math.abs(v-o)}}function ov(u,i,f,s,r){const o=u.rect.left-i.left+u.offsetX,h=u.rect.top-i.top+u.offsetY;return{left:o+r.x/f*u.renderW,top:h+r.y/s*u.renderH,width:r.width/f*u.renderW,height:r.height/s*u.renderH}}const dv=({color:u,onChange:i})=>O.jsx("div",{className:"annotations-color-picker",role:"radiogroup","aria-label":"Annotation color",children:Sh.map(({name:f,rgb:s})=>O.jsx("button",{type:"button",role:"radio","aria-checked":u===s,title:`Use ${f}`,className:"annotations-color-swatch"+(u===s?" selected":""),style:{"--annotation-color":s},onClick:()=>i(s)},f))}),Eh=mt.forwardRef(({active:u,displayRef:i,screenRef:f,viewportWidth:s,viewportHeight:r,annotations:o,onAnnotationsChange:h,focusAnnotationId:v},m)=>{var k;const[y,_]=mt.useState(null),[p,b]=mt.useState(null),[T,D]=mt.useState(null),[G,W]=mt.useState(cv),[J,Z]=mt.useState(null),[,$]=mt.useState(0),I=mt.useCallback(()=>$(w=>w+1),[]),B=mt.useRef(null),it=mt.useRef(o),X=mt.useRef(v);mt.useLayoutEffect(()=>{it.current=o,X.current=v});const et=(p==null?void 0:p.id)??null,ut=p!=null&&p.editing?p.id:null;mt.useEffect(()=>{if(!u)return;const w=()=>I(),U=i.current,L=()=>I();return window.addEventListener("resize",w),U==null||U.addEventListener("load",L),()=>{window.removeEventListener("resize",w),U==null||U.removeEventListener("load",L)}},[u,i,I]),mt.useEffect(()=>{var w;if(u){const U=X.current;if(U){const L=it.current.find(P=>P.id===U);if(L){Z({...L}),b({id:U,editing:!0});return}}(w=B.current)==null||w.focus()}else b(null)},[u]),mt.useEffect(()=>{if(!T)return;const w=L=>{const P=wc(i.current);if(!P||!s||!r)return;const H=Nr(P,s,r,L.clientX,L.clientY),ht=H.x-T.startVx,Yt=H.y-T.startVy;ht===0&&Yt===0||h(it.current.map(Ft=>Ft.id===T.id?{...Ft,...rv(T.orig,T.kind,ht,Yt)}:Ft))},U=()=>D(null);return window.addEventListener("mousemove",w),window.addEventListener("mouseup",U),()=>{window.removeEventListener("mousemove",w),window.removeEventListener("mouseup",U)}},[T,i,s,r,h]);function st(w){if(!s||!r)return null;const U=wc(i.current);return U?Nr(U,s,r,w.clientX,w.clientY):null}function at(w,U){for(let L=o.length-1;L>=0;L--){const P=o[L];if(w>=P.x&&w<=P.x+P.width&&U>=P.y&&U<=P.y+P.height)return P}}function _t(w){var P;if(w.button!==0)return;(P=B.current)==null||P.focus();const U=st(w);if(!U)return;const L=at(U.x,U.y);if(w.preventDefault(),L){b({id:L.id,editing:!1}),D({kind:"move",id:L.id,orig:{x:L.x,y:L.y,width:L.width,height:L.height},startVx:U.x,startVy:U.y});return}_({startX:U.x,startY:U.y,x:U.x,y:U.y}),b(null)}function pt(w){if(T||!y)return;const U=st(w);U&&(y.x===U.x&&y.y===U.y||_({...y,x:U.x,y:U.y}))}function yt(w){if(!y)return;w.preventDefault();const U=N1(y);if(_(null),U.width<z1||U.height<z1)return;const L=fv();h([...o,{id:L,...U,text:"",color:G}]),b({id:L,editing:!0})}function ot(w,U,L){var H;L.preventDefault(),L.stopPropagation(),(H=B.current)==null||H.focus();const P=st(L);P&&(b({id:U.id,editing:!1}),D({kind:w,id:U.id,orig:{x:U.x,y:U.y,width:U.width,height:U.height},startVx:P.x,startVy:P.y}))}function N(w,U){et&&h(o.map(L=>L.id===et?{...L,x:L.x+w,y:L.y+U}:L))}function V(){var w;b(U=>U!=null&&U.editing?{...U,editing:!1}:U),(w=B.current)==null||w.focus()}function lt(w){if(w.key==="Escape"){w.preventDefault(),y?_(null):ut?V():et&&b(null);return}if((w.key==="Delete"||w.key==="Backspace")&&et&&!ut){w.preventDefault(),h(o.filter(U=>U.id!==et)),b(null);return}if(et&&!ut){const U=w.shiftKey?1:5;if(w.key==="ArrowLeft"){w.preventDefault(),N(-U,0);return}if(w.key==="ArrowRight"){w.preventDefault(),N(U,0);return}if(w.key==="ArrowUp"){w.preventDefault(),N(0,-U);return}if(w.key==="ArrowDown"){w.preventDefault(),N(0,U);return}}}if(mt.useEffect(()=>{ut||Z(null)},[ut]),mt.useImperativeHandle(m,()=>({clearSelection:()=>{_(null),b(null)}}),[]),!u)return null;const rt=wc(i.current),gt=((k=f.current)==null?void 0:k.getBoundingClientRect())??null,E=w=>rt&&gt&&s&&r?ov(rt,gt,s,r,w):null,R=ut?o.find(w=>w.id===ut):void 0;return O.jsxs("div",{ref:B,className:"annotations-layer",tabIndex:0,onMouseDown:_t,onMouseMove:pt,onMouseUp:yt,onKeyDown:lt,onContextMenu:w=>w.preventDefault(),children:[o.map(w=>{const U=E(w);if(!U)return null;const L=w.id===et,P=w.id===ut;return O.jsxs("div",{className:"annotations-rect"+(L?" selected":"")+(P?" editing":"")+(w.text?"":" empty"),style:{...U,"--annotation-color":w.color},onDoubleClick:H=>{H.preventDefault(),H.stopPropagation(),ut!==w.id&&Z({...w}),b({id:w.id,editing:!0})},children:[w.text&&O.jsx("div",{className:"annotations-label",onMouseDown:H=>{H.preventDefault(),H.stopPropagation(),ut!==w.id&&Z({...w}),b({id:w.id,editing:!0})},children:w.text}),L&&!P&&sv.map(H=>O.jsx("div",{className:"annotations-handle annotations-handle-"+H,onMouseDown:ht=>ot(H,w,ht)},H))]},w.id)}),y&&(()=>{const w=E(N1(y));return w?O.jsx("div",{className:"annotations-rect draft",style:{...w,"--annotation-color":G}}):null})(),R&&(()=>{const w=E(R);if(!w)return null;const U={left:w.left,top:w.top+w.height+6,"--annotation-color":R.color};return O.jsxs("div",{className:"annotations-popover",style:U,onMouseDown:L=>L.stopPropagation(),onClick:L=>L.stopPropagation(),children:[O.jsx("textarea",{className:"annotations-textarea",autoFocus:!0,onFocus:L=>{const P=L.target.value.length;L.target.setSelectionRange(P,P)},value:R.text,placeholder:"Task or comment…",onChange:L=>{const P=L.target.value;h(o.map(H=>H.id===R.id?{...H,text:P}:H))},onKeyDown:L=>{(L.key==="Enter"&&!L.shiftKey&&!L.ctrlKey&&!L.metaKey||L.key==="Escape")&&(L.preventDefault(),V()),L.stopPropagation()},onKeyUp:L=>L.stopPropagation()}),O.jsxs("div",{className:"annotations-popover-footer",children:[O.jsx(dv,{color:R.color,onChange:L=>{h(o.map(P=>P.id===R.id?{...P,color:L}:P)),W(L)}}),O.jsx("div",{className:"annotations-popover-actions",children:J?O.jsxs(O.Fragment,{children:[O.jsx("button",{className:"annotations-action-btn",onClick:()=>{var P;const L=J;h(o.map(H=>H.id===L.id?L:H)),b(null),(P=B.current)==null||P.focus()},children:"Cancel"}),O.jsx("button",{className:"annotations-action-btn",onClick:V,children:"Done"})]}):O.jsxs(O.Fragment,{children:[O.jsx("button",{className:"annotations-action-btn danger",onClick:()=>{var L;h(o.filter(P=>P.id!==R.id)),b(null),(L=B.current)==null||L.focus()},children:"Discard"}),O.jsx("button",{className:"annotations-action-btn",onClick:V,children:"Add"})]})})]})]})})()]})});Eh.displayName="Annotations";const hv=({model:u,session:i,onSubmit:f})=>{const[s,r]=mt.useState(!1),[o,h]=mt.useState(null);return O.jsxs("aside",{className:"annotate-sidebar","aria-label":"Annotation screenshots",children:[O.jsx("div",{className:"annotate-sidebar-header dashboard-shell-sidebar-header",children:O.jsx("h2",{className:"dashboard-shell-sidebar-title",children:"UI Review"})}),O.jsx("div",{className:"annotate-sidebar-list",children:i.frames.map(v=>{const m=v.id===i.selectedFrameId,y=v.annotations;return O.jsxs("div",{className:"annotate-sidebar-thumb"+(m?" selected":""),children:[O.jsx("button",{className:"annotate-sidebar-thumb-button",onClick:()=>u.selectAnnotateFrame(v.id),title:`${v.sessionTitle||"session"} · ${v.title||"tab"}
50 -${v.url}`,"aria-pressed":m,children:O.jsxs("span",{className:"annotate-sidebar-thumb-img-wrap",style:{aspectRatio:`${v.viewportWidth} / ${v.viewportHeight}`},children:[O.jsx("img",{className:"annotate-sidebar-thumb-img",alt:"",src:"data:image/png;base64,"+v.data}),v.annotations.map(_=>O.jsx("span",{className:"annotate-sidebar-thumb-rect"+(_.id===o?" hovered":""),style:{left:`${_.x/v.viewportWidth*100}%`,top:`${_.y/v.viewportHeight*100}%`,width:`${_.width/v.viewportWidth*100}%`,height:`${_.height/v.viewportHeight*100}%`,"--annotation-color":_.color}},_.id))]})}),y.length>0&&O.jsx("ul",{className:"annotate-sidebar-comments",children:y.map(_=>O.jsx("li",{children:O.jsx("button",{className:"annotate-sidebar-comment"+(_.text?"":" empty"),style:{"--annotation-color":_.color},onClick:()=>u.selectAnnotateFrame(v.id,_.id),onMouseEnter:()=>h(_.id),onMouseLeave:()=>h(null),title:"Edit comment",children:_.text||"Empty comment"})},_.id))}),O.jsx(ln,{className:"annotate-sidebar-thumb-remove",icon:"close",title:"Remove screenshot",onClick:_=>{_.stopPropagation(),u.removeAnnotateFrame(v.id)}})]},v.id)})}),O.jsx("div",{className:"annotate-sidebar-feedback-wrap","data-value":i.feedback,children:O.jsx("textarea",{className:"annotate-sidebar-feedback",placeholder:"Feedback…",value:i.feedback,onChange:v=>u.updateFeedback(v.target.value)})}),O.jsx("button",{className:"annotate-sidebar-submit",disabled:s,onClick:async()=>{r(!0);try{await f()}finally{r(!1)}},children:s?"Submitting…":"Submit"})]})},mv=({model:u,frame:i,focusAnnotationId:f})=>{const s=mt.useRef(null),r=mt.useRef(null),o=mt.useRef(null),h=mt.useCallback(y=>{u.updateFrameAnnotations(i.id,y)},[u,i.id]),v=mt.useCallback(async()=>{const y=r.current;if(!y)return;const _=await ph(y,i.viewportWidth,i.viewportHeight,i.annotations);if(!_)return;const p=(i.title||i.url||"screenshot").replace(/[^a-z0-9]+/gi,"-").slice(0,40)||"screenshot",b=new Date().toISOString().replace(/[:.]/g,"-");await bh(_,`annotations-${b}-${p}.png`)},[i]),m=mt.useCallback(()=>{var y;u.updateFrameAnnotations(i.id,[]),(y=s.current)==null||y.clearSelection()},[u,i.id]);return O.jsx("div",{className:"annotate-overlay",role:"dialog","aria-label":`Annotate screenshot from ${i.title||i.url||"page"}`,children:O.jsxs("div",{className:"annotate-overlay-window",children:[O.jsxs("div",{className:"annotate-overlay-chrome",children:[O.jsxs("span",{className:"annotate-overlay-titlebar",children:[O.jsx("span",{className:"annotate-overlay-title-text",children:i.title||"untitled"}),O.jsx("span",{className:"annotate-overlay-title-sep",children:"·"}),O.jsx("span",{className:"annotate-overlay-title-url",children:i.url})]}),O.jsx(ln,{title:"Save screenshot",onClick:v,children:O.jsx(_h,{})}),O.jsx(ln,{title:"Clear annotations",icon:"circle-slash",disabled:i.annotations.length===0,onClick:m}),O.jsx(ln,{title:"Done annotating",icon:"check",onClick:()=>u.deselectFrame()})]}),O.jsxs("div",{ref:o,className:"annotate-overlay-canvas",children:[O.jsx("img",{ref:r,className:"annotate-modal-image",alt:"annotation",src:"data:image/png;base64,"+i.data}),O.jsx(Eh,{ref:s,active:!0,displayRef:r,screenRef:o,viewportWidth:i.viewportWidth,viewportHeight:i.viewportHeight,annotations:i.annotations,onAnnotationsChange:h,focusAnnotationId:f})]})]})})},yv=["left","middle","right"];async function gv(u,i,f,s){try{return await(await window.showSaveFilePicker({suggestedName:u,types:[{description:i,accept:{[f]:[s]}}]})).createWritable()}catch{return null}}function vv(u){const i=u.trim();if(!i||/^[a-z][a-z0-9+.-]*:\/\//i.test(i)||i.startsWith("about:")||i.startsWith("data:"))return i;const f=i.split(/[/?#]/,1)[0],s=f.includes("."),r=/^localhost(:\d+)?$/i.test(f),o=/:\d+$/.test(f),h=/^\d{1,3}(\.\d{1,3}){3}(:\d+)?$/.test(f);return r||h||o&&!s?"http://"+i:s||o?"https://"+i:"https://"+f+".com"+i.slice(f.length)}const _v=({model:u})=>{const[,i]=mt.useState(0);mt.useEffect(()=>u.subscribe(()=>i(H=>H+1)),[u]);const{tabs:f,mode:s,recording:r,liveFrame:o,annotateSession:h,pendingCapture:v}=u.state,m=s==="interactive",y=!!h,_=(h==null?void 0:h.frames.find(H=>H.id===h.selectedFrameId))??null,[p,b]=mt.useState(0),T=mt.useRef(null),D=mt.useRef(null),G=mt.useRef(null),W=mt.useRef(null),J=mt.useRef(null),Z=mt.useRef(null),$=mt.useRef(0),I=o&&o.viewportWidth&&o.viewportHeight?o.viewportWidth/o.viewportHeight:null,[B]=yh(W),it=(r==null?void 0:r.phase)!=="recording",X=mt.useMemo(()=>{var Gt;const ht=it?((Gt=J.current)==null?void 0:Gt.offsetHeight)??40:0,Yt=B.width-24,Ft=B.height-24;if(Yt<=0||Ft<=0)return;if(I===null)return{width:Yt,height:Ft};const ae=Ft-ht;let oe=Yt,Jt=oe/I;return Jt>ae&&(Jt=ae,oe=Jt*I),{width:oe,height:Jt+ht}},[B,I,it]);mt.useEffect(()=>{if(p===0)return;const H=Z.current;if(!H)return;H.classList.remove("flash"),H.offsetWidth,H.classList.add("flash");const ht=setTimeout(()=>H.classList.remove("flash"),2e3);return()=>{clearTimeout(ht),H.classList.remove("flash")}},[p]),mt.useEffect(()=>{var H;m&&((H=Z.current)==null||H.classList.remove("flash"))},[m]);function et(){b(H=>H+1)}const ut=mt.useCallback(async H=>{const ht=await gv(`playwright-recording-${Date.now()}.webm`,"WebM Video","video/webm",".webm");ht&&(await ht.write(H),await ht.close(),u.discardRecording())},[u]),st=f==null?void 0:f.find(H=>H.selected),at=!!st,[_t,pt]=mt.useState((st==null?void 0:st.url)??"");mt.useEffect(()=>{pt((st==null?void 0:st.url)??"")},[st==null?void 0:st.url]);function yt(H){const ht=(o==null?void 0:o.viewportWidth)??0,Yt=(o==null?void 0:o.viewportHeight)??0;if(!ht||!Yt)return{x:0,y:0};const Ft=wc(T.current);return Ft?Nr(Ft,ht,Yt,H.clientX,H.clientY):{x:0,y:0}}function ot(H,ht){const{x:Yt,y:Ft}=yt(ht);u[H](Yt,Ft,yv[ht.button]||"left")}function N(H){var ht;if(H.preventDefault(),(ht=D.current)==null||ht.focus(),!!at){if(!m){et();return}ot("mousedown",H)}}function V(H){m&&(H.preventDefault(),ot("mouseup",H))}function lt(H){if(!m)return;const ht=Date.now();if(ht-$.current<32)return;$.current=ht;const{x:Yt,y:Ft}=yt(H);u.mousemove(Yt,Ft)}function rt(H){m&&(H.preventDefault(),u.wheel(H.deltaX,H.deltaY))}function gt(H){m&&(H.preventDefault(),u.keydown(H.key))}function E(H){m&&(H.preventDefault(),u.keyup(H.key))}function R(H){if(H.key==="Enter"){const ht=vv(H.target.value);u.navigate(ht),H.currentTarget.blur()}}const k=st?void 0:"Select a session",w=(r==null?void 0:r.phase)==="recording",U=(r==null?void 0:r.phase)==="stopped",L=y?"Dashboard: annotate":w?"Dashboard: record":"Dashboard",P=!!_;return O.jsxs("main",{className:"dashboard-view"+(m?" interactive":"")+(y?" has-annotate-sidebar":""),"aria-label":L,children:[O.jsxs("div",{className:"dashboard-main",children:[O.jsxs("div",{ref:G,className:"toolbar",hidden:P,children:[O.jsx(ln,{ref:Z,className:"mode-toggle mode-interactive",title:m?"Disable interactive mode":"Enable interactive mode",toggled:m,disabled:!at,onClick:()=>{m?u.toggleInteractive():u.enterInteractive()},children:m?O.jsx(nv,{}):O.jsx(ev,{})}),O.jsx(ln,{className:"mode-annotate",title:y?"Add screenshot":"Take screenshot",disabled:!at||v,onClick:()=>{y?u.addAnnotateFrame():u.enterAnnotate("user")},children:O.jsx(av,{})}),O.jsx(ln,{className:"mode-toggle mode-record",title:w?"Stop recording":"Record video",icon:"record",toggled:w,disabled:!at||U,onClick:()=>{w?u.stopRecording():u.startRecording()},children:w&&O.jsx("span",{className:"mode-record-label",children:"Recording..."})})]}),O.jsx("div",{className:"viewport-wrapper",children:O.jsx("div",{ref:W,className:"viewport-main",children:O.jsxs("div",{className:"browser-window",style:X,children:[it&&O.jsxs("div",{ref:J,className:"browser-chrome",children:[O.jsx("button",{className:"nav-btn",title:"Back","aria-disabled":!m||void 0,onClick:()=>{if(!m){et();return}u.back()},children:O.jsx(Pg,{})}),O.jsx("button",{className:"nav-btn",title:"Forward","aria-disabled":!m||void 0,onClick:()=>{if(!m){et();return}u.forward()},children:O.jsx(tv,{})}),O.jsx("button",{className:"nav-btn",title:"Reload","aria-disabled":!m||void 0,onClick:()=>{if(!m){et();return}u.reload()},children:O.jsx(lv,{})}),O.jsx("div",{className:"omnibox-wrap",children:O.jsx("input",{id:"omnibox",className:"omnibox",type:"text",placeholder:"Search or enter URL",spellCheck:!1,autoComplete:"off",value:_t,onChange:H=>pt(H.target.value),onKeyDown:H=>{m&&R(H)},onFocus:H=>{if(!m){et(),H.target.blur();return}H.target.select()},"aria-disabled":!m||void 0,readOnly:!m})})]}),O.jsx("div",{ref:D,className:"screen",tabIndex:0,style:{display:o?"":"none"},onMouseDown:N,onMouseUp:V,onMouseMove:lt,onWheel:rt,onKeyDown:gt,onKeyUp:E,onContextMenu:H=>H.preventDefault(),children:O.jsx("img",{ref:T,id:"display",className:"display",alt:"screencast",src:o?"data:image/jpeg;base64,"+o.data:void 0})}),k&&O.jsx("div",{className:"screen-overlay"+(o?" has-frame":""),children:O.jsx("span",{children:k})})]})})})]}),_&&O.jsx(mv,{model:u,frame:_,focusAnnotationId:h==null?void 0:h.focusAnnotationId},_.id+((h==null?void 0:h.focusAnnotationId)??"")),h&&O.jsx(hv,{model:u,session:h,onSubmit:()=>u.submitAnnotateSession()}),U&&(r==null?void 0:r.phase)==="stopped"&&O.jsx(uv,{blob:r.blob,blobUrl:r.blobUrl,onSave:ut,onClose:()=>u.discardRecording()})]})},Pi=15,Mr=30,Ur=19,pv=29,Cc=256,Ir=Cc+1+pv,M1=2*Ir+1,Vi=256,bv=7,U1=16,C1=17,L1=18,vr=16,Lc=-1,Sv=1,pc=2,Ev=0,Ql=0,H1=1,Tv=3,ke=4,An=0,Th=1,bc=2,xn=-2,Av=-3,Xl=-5;function Zc(u){return Xc(u.map(([i,f])=>new Array(i).fill(f,0,i)))}function Xc(u){return u.reduce((i,f)=>i.concat(Array.isArray(f)?Xc(f):f),[])}const j1=[0,1,2,3].concat(...Zc([[2,4],[2,5],[4,6],[4,7],[8,8],[8,9],[16,10],[16,11],[32,12],[32,13],[64,14],[64,15],[2,0],[1,16],[1,17],[2,18],[2,19],[4,20],[4,21],[8,22],[8,23],[16,24],[16,25],[32,26],[32,27],[64,28],[64,29]]));function $t(){const u=this;function i(r){const o=u.dyn_tree,h=u.stat_desc.static_tree,v=u.stat_desc.extra_bits,m=u.stat_desc.extra_base,y=u.stat_desc.max_length;let _,p,b,T,D,G,W=0;for(T=0;T<=Pi;T++)r.bl_count[T]=0;for(o[r.heap[r.heap_max]*2+1]=0,_=r.heap_max+1;_<M1;_++)p=r.heap[_],T=o[o[p*2+1]*2+1]+1,T>y&&(T=y,W++),o[p*2+1]=T,!(p>u.max_code)&&(r.bl_count[T]++,D=0,p>=m&&(D=v[p-m]),G=o[p*2],r.opt_len+=G*(T+D),h&&(r.static_len+=G*(h[p*2+1]+D)));if(W!==0){do{for(T=y-1;r.bl_count[T]===0;)T--;r.bl_count[T]--,r.bl_count[T+1]+=2,r.bl_count[y]--,W-=2}while(W>0);for(T=y;T!==0;T--)for(p=r.bl_count[T];p!==0;)b=r.heap[--_],!(b>u.max_code)&&(o[b*2+1]!=T&&(r.opt_len+=(T-o[b*2+1])*o[b*2],o[b*2+1]=T),p--)}}function f(r,o){let h=0;do h|=r&1,r>>>=1,h<<=1;while(--o>0);return h>>>1}function s(r,o,h){const v=[];let m=0,y,_,p;for(y=1;y<=Pi;y++)v[y]=m=m+h[y-1]<<1;for(_=0;_<=o;_++)p=r[_*2+1],p!==0&&(r[_*2]=f(v[p]++,p))}u.build_tree=function(r){const o=u.dyn_tree,h=u.stat_desc.static_tree,v=u.stat_desc.elems;let m,y,_=-1,p;for(r.heap_len=0,r.heap_max=M1,m=0;m<v;m++)o[m*2]!==0?(r.heap[++r.heap_len]=_=m,r.depth[m]=0):o[m*2+1]=0;for(;r.heap_len<2;)p=r.heap[++r.heap_len]=_<2?++_:0,o[p*2]=1,r.depth[p]=0,r.opt_len--,h&&(r.static_len-=h[p*2+1]);for(u.max_code=_,m=Math.floor(r.heap_len/2);m>=1;m--)r.pqdownheap(o,m);p=v;do m=r.heap[1],r.heap[1]=r.heap[r.heap_len--],r.pqdownheap(o,1),y=r.heap[1],r.heap[--r.heap_max]=m,r.heap[--r.heap_max]=y,o[p*2]=o[m*2]+o[y*2],r.depth[p]=Math.max(r.depth[m],r.depth[y])+1,o[m*2+1]=o[y*2+1]=p,r.heap[1]=p++,r.pqdownheap(o,1);while(r.heap_len>=2);r.heap[--r.heap_max]=r.heap[1],i(r),s(o,u.max_code,r.bl_count)}}$t._length_code=[0,1,2,3,4,5,6,7].concat(...Zc([[2,8],[2,9],[2,10],[2,11],[4,12],[4,13],[4,14],[4,15],[8,16],[8,17],[8,18],[8,19],[16,20],[16,21],[16,22],[16,23],[32,24],[32,25],[32,26],[31,27],[1,28]]));$t.base_length=[0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0];$t.base_dist=[0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576];$t.d_code=function(u){return u<256?j1[u]:j1[256+(u>>>7)]};$t.extra_lbits=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0];$t.extra_dbits=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];$t.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7];$t.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];function Me(u,i,f,s,r){const o=this;o.static_tree=u,o.extra_bits=i,o.extra_base=f,o.elems=s,o.max_length=r}const xv=[12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,19,275,147,403,83,339,211,467,51,307,179,435,115,371,243,499,11,267,139,395,75,331,203,459,43,299,171,427,107,363,235,491,27,283,155,411,91,347,219,475,59,315,187,443,123,379,251,507,7,263,135,391,71,327,199,455,39,295,167,423,103,359,231,487,23,279,151,407,87,343,215,471,55,311,183,439,119,375,247,503,15,271,143,399,79,335,207,463,47,303,175,431,111,367,239,495,31,287,159,415,95,351,223,479,63,319,191,447,127,383,255,511,0,64,32,96,16,80,48,112,8,72,40,104,24,88,56,120,4,68,36,100,20,84,52,116,3,131,67,195,35,163,99,227],wv=Zc([[144,8],[112,9],[24,7],[8,8]]);Me.static_ltree=Xc(xv.map((u,i)=>[u,wv[i]]));const Ov=[0,16,8,24,4,20,12,28,2,18,10,26,6,22,14,30,1,17,9,25,5,21,13,29,3,19,11,27,7,23],Rv=Zc([[30,5]]);Me.static_dtree=Xc(Ov.map((u,i)=>[u,Rv[i]]));Me.static_l_desc=new Me(Me.static_ltree,$t.extra_lbits,Cc+1,Ir,Pi);Me.static_d_desc=new Me(Me.static_dtree,$t.extra_dbits,0,Mr,Pi);Me.static_bl_desc=new Me(null,$t.extra_blbits,0,Ur,bv);const Dv=9,zv=8;function Nn(u,i,f,s,r){const o=this;o.good_length=u,o.max_lazy=i,o.nice_length=f,o.max_chain=s,o.func=r}const Ah=0,Oc=1,$a=2,Tn=[new Nn(0,0,0,0,Ah),new Nn(4,4,8,4,Oc),new Nn(4,5,16,8,Oc),new Nn(4,6,32,32,Oc),new Nn(4,4,16,16,$a),new Nn(8,16,32,32,$a),new Nn(8,16,128,128,$a),new Nn(8,32,128,256,$a),new Nn(32,128,258,1024,$a),new Nn(32,258,258,4096,$a)],Sc=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],gn=0,Ec=1,Qi=2,Tc=3,Nv=32,_r=42,Ac=113,Fi=666,pr=8,Mv=0,br=1,Uv=2,ee=3,Rc=258,an=Rc+ee+1;function B1(u,i,f,s){const r=u[i*2],o=u[f*2];return r<o||r==o&&s[i]<=s[f]}function Cv(){const u=this;let i,f,s,r,o,h,v,m,y,_,p,b,T,D,G,W,J,Z,$,I,B,it,X,et,ut,st,at,_t,pt,yt,ot,N,V;const lt=new $t,rt=new $t,gt=new $t;u.depth=[];let E,R,k,w,U,L;u.bl_count=[],u.heap=[],ot=[],N=[],V=[];function P(){y=2*o,p[T-1]=0;for(let Y=0;Y<T-1;Y++)p[Y]=0;st=Tn[at].max_lazy,pt=Tn[at].good_length,yt=Tn[at].nice_length,ut=Tn[at].max_chain,B=0,J=0,X=0,Z=et=ee-1,I=0,b=0}function H(){let Y;for(Y=0;Y<Ir;Y++)ot[Y*2]=0;for(Y=0;Y<Mr;Y++)N[Y*2]=0;for(Y=0;Y<Ur;Y++)V[Y*2]=0;ot[Vi*2]=1,u.opt_len=u.static_len=0,R=k=0}function ht(){lt.dyn_tree=ot,lt.stat_desc=Me.static_l_desc,rt.dyn_tree=N,rt.stat_desc=Me.static_d_desc,gt.dyn_tree=V,gt.stat_desc=Me.static_bl_desc,U=0,L=0,w=8,H()}u.pqdownheap=function(Y,tt){const F=u.heap,nt=F[tt];let ct=tt<<1;for(;ct<=u.heap_len&&(ct<u.heap_len&&B1(Y,F[ct+1],F[ct],u.depth)&&ct++,!B1(Y,nt,F[ct],u.depth));)F[tt]=F[ct],tt=ct,ct<<=1;F[tt]=nt};function Yt(Y,tt){let F=-1,nt,ct=Y[1],St=0,wt=7,de=4;ct===0&&(wt=138,de=3),Y[(tt+1)*2+1]=65535;for(let Le=0;Le<=tt;Le++)nt=ct,ct=Y[(Le+1)*2+1],!(++St<wt&&nt==ct)&&(St<de?V[nt*2]+=St:nt!==0?(nt!=F&&V[nt*2]++,V[U1*2]++):St<=10?V[C1*2]++:V[L1*2]++,St=0,F=nt,ct===0?(wt=138,de=3):nt==ct?(wt=6,de=3):(wt=7,de=4))}function Ft(){let Y;for(Yt(ot,lt.max_code),Yt(N,rt.max_code),gt.build_tree(u),Y=Ur-1;Y>=3&&V[$t.bl_order[Y]*2+1]===0;Y--);return u.opt_len+=3*(Y+1)+5+5+4,Y}function ae(Y){u.pending_buf[u.pending++]=Y}function oe(Y){ae(Y&255),ae(Y>>>8&255)}function Jt(Y){ae(Y>>8&255),ae(Y&255&255)}function Gt(Y,tt){let F;const nt=tt;L>vr-nt?(F=Y,U|=F<<L&65535,oe(U),U=F>>>vr-L,L+=nt-vr):(U|=Y<<L&65535,L+=nt)}function kt(Y,tt){const F=Y*2;Gt(tt[F]&65535,tt[F+1]&65535)}function je(Y,tt){let F,nt=-1,ct,St=Y[1],wt=0,de=7,Le=4;for(St===0&&(de=138,Le=3),F=0;F<=tt;F++)if(ct=St,St=Y[(F+1)*2+1],!(++wt<de&&ct==St)){if(wt<Le)do kt(ct,V);while(--wt!==0);else ct!==0?(ct!=nt&&(kt(ct,V),wt--),kt(U1,V),Gt(wt-3,2)):wt<=10?(kt(C1,V),Gt(wt-3,3)):(kt(L1,V),Gt(wt-11,7));wt=0,nt=ct,St===0?(de=138,Le=3):ct==St?(de=6,Le=3):(de=7,Le=4)}}function Be(Y,tt,F){let nt;for(Gt(Y-257,5),Gt(tt-1,5),Gt(F-4,4),nt=0;nt<F;nt++)Gt(V[$t.bl_order[nt]*2+1],3);je(ot,Y-1),je(N,tt-1)}function qe(){L==16?(oe(U),U=0,L=0):L>=8&&(ae(U&255),U>>>=8,L-=8)}function Ce(){Gt(br<<1,3),kt(Vi,Me.static_ltree),qe(),1+w+10-L<9&&(Gt(br<<1,3),kt(Vi,Me.static_ltree),qe()),w=7}function Ae(Y,tt){let F,nt,ct;if(u.dist_buf[R]=Y,u.lc_buf[R]=tt&255,R++,Y===0?ot[tt*2]++:(k++,Y--,ot[($t._length_code[tt]+Cc+1)*2]++,N[$t.d_code(Y)*2]++),(R&8191)===0&&at>2){for(F=R*8,nt=B-J,ct=0;ct<Mr;ct++)F+=N[ct*2]*(5+$t.extra_dbits[ct]);if(F>>>=3,k<Math.floor(R/2)&&F<Math.floor(nt/2))return!0}return R==E-1}function wn(Y,tt){let F,nt,ct=0,St,wt;if(R!==0)do F=u.dist_buf[ct],nt=u.lc_buf[ct],ct++,F===0?kt(nt,Y):(St=$t._length_code[nt],kt(St+Cc+1,Y),wt=$t.extra_lbits[St],wt!==0&&(nt-=$t.base_length[St],Gt(nt,wt)),F--,St=$t.d_code(F),kt(St,tt),wt=$t.extra_dbits[St],wt!==0&&(F-=$t.base_dist[St],Gt(F,wt)));while(ct<R);kt(Vi,Y),w=Y[Vi*2+1]}function nl(){L>8?oe(U):L>0&&ae(U&255),U=0,L=0}function xe(Y,tt,F){nl(),w=8,oe(tt),oe(~tt),u.pending_buf.set(m.subarray(Y,Y+tt),u.pending),u.pending+=tt}function al(Y,tt,F){Gt((Mv<<1)+(F?1:0),3),xe(Y,tt)}function ll(Y,tt,F){let nt,ct,St=0;at>0?(lt.build_tree(u),rt.build_tree(u),St=Ft(),nt=u.opt_len+3+7>>>3,ct=u.static_len+3+7>>>3,ct<=nt&&(nt=ct)):nt=ct=tt+5,tt+4<=nt&&Y!=-1?al(Y,tt,F):ct==nt?(Gt((br<<1)+(F?1:0),3),wn(Me.static_ltree,Me.static_dtree)):(Gt((Uv<<1)+(F?1:0),3),Be(lt.max_code+1,rt.max_code+1,St+1),wn(ot,N)),H(),F&&nl()}function _e(Y){ll(J>=0?J:-1,B-J,Y),J=B,i.flush_pending()}function ea(){let Y,tt,F,nt;do{if(nt=y-X-B,nt===0&&B===0&&X===0)nt=o;else if(nt==-1)nt--;else if(B>=o+o-an){m.set(m.subarray(o,o+o),0),it-=o,B-=o,J-=o,Y=T,F=Y;do tt=p[--F]&65535,p[F]=tt>=o?tt-o:0;while(--Y!==0);Y=o,F=Y;do tt=_[--F]&65535,_[F]=tt>=o?tt-o:0;while(--Y!==0);nt+=o}if(i.avail_in===0)return;Y=i.read_buf(m,B+X,nt),X+=Y,X>=ee&&(b=m[B]&255,b=(b<<W^m[B+1]&255)&G)}while(X<an&&i.avail_in!==0)}function Jc(Y){let tt=65535,F;for(tt>s-5&&(tt=s-5);;){if(X<=1){if(ea(),X===0&&Y==Ql)return gn;if(X===0)break}if(B+=X,X=0,F=J+tt,(B===0||B>=F)&&(X=B-F,B=F,_e(!1),i.avail_out===0)||B-J>=o-an&&(_e(!1),i.avail_out===0))return gn}return _e(Y==ke),i.avail_out===0?Y==ke?Qi:gn:Y==ke?Tc:Ec}function Wl(Y){let tt=ut,F=B,nt,ct,St=et;const wt=B>o-an?B-(o-an):0;let de=yt;const Le=v,pn=B+Rc;let Ca=m[F+St-1],na=m[F+St];et>=pt&&(tt>>=2),de>X&&(de=X);do if(nt=Y,!(m[nt+St]!=na||m[nt+St-1]!=Ca||m[nt]!=m[F]||m[++nt]!=m[F+1])){F+=2,nt++;do;while(m[++F]==m[++nt]&&m[++F]==m[++nt]&&m[++F]==m[++nt]&&m[++F]==m[++nt]&&m[++F]==m[++nt]&&m[++F]==m[++nt]&&m[++F]==m[++nt]&&m[++F]==m[++nt]&&F<pn);if(ct=Rc-(pn-F),F=pn-Rc,ct>St){if(it=Y,St=ct,ct>=de)break;Ca=m[F+St-1],na=m[F+St]}}while((Y=_[Y&Le]&65535)>wt&&--tt!==0);return St<=X?St:X}function kc(Y){let tt=0,F;for(;;){if(X<an){if(ea(),X<an&&Y==Ql)return gn;if(X===0)break}if(X>=ee&&(b=(b<<W^m[B+(ee-1)]&255)&G,tt=p[b]&65535,_[B&v]=p[b],p[b]=B),tt!==0&&(B-tt&65535)<=o-an&&_t!=pc&&(Z=Wl(tt)),Z>=ee)if(F=Ae(B-it,Z-ee),X-=Z,Z<=st&&X>=ee){Z--;do B++,b=(b<<W^m[B+(ee-1)]&255)&G,tt=p[b]&65535,_[B&v]=p[b],p[b]=B;while(--Z!==0);B++}else B+=Z,Z=0,b=m[B]&255,b=(b<<W^m[B+1]&255)&G;else F=Ae(0,m[B]&255),X--,B++;if(F&&(_e(!1),i.avail_out===0))return gn}return _e(Y==ke),i.avail_out===0?Y==ke?Qi:gn:Y==ke?Tc:Ec}function Ic(Y){let tt=0,F,nt;for(;;){if(X<an){if(ea(),X<an&&Y==Ql)return gn;if(X===0)break}if(X>=ee&&(b=(b<<W^m[B+(ee-1)]&255)&G,tt=p[b]&65535,_[B&v]=p[b],p[b]=B),et=Z,$=it,Z=ee-1,tt!==0&&et<st&&(B-tt&65535)<=o-an&&(_t!=pc&&(Z=Wl(tt)),Z<=5&&(_t==Sv||Z==ee&&B-it>4096)&&(Z=ee-1)),et>=ee&&Z<=et){nt=B+X-ee,F=Ae(B-1-$,et-ee),X-=et-1,et-=2;do++B<=nt&&(b=(b<<W^m[B+(ee-1)]&255)&G,tt=p[b]&65535,_[B&v]=p[b],p[b]=B);while(--et!==0);if(I=0,Z=ee-1,B++,F&&(_e(!1),i.avail_out===0))return gn}else if(I!==0){if(F=Ae(0,m[B-1]&255),F&&_e(!1),B++,X--,i.avail_out===0)return gn}else I=1,B++,X--}return I!==0&&(F=Ae(0,m[B-1]&255),I=0),_e(Y==ke),i.avail_out===0?Y==ke?Qi:gn:Y==ke?Tc:Ec}function Ua(Y){return Y.total_in=Y.total_out=0,Y.msg=null,u.pending=0,u.pending_out=0,f=Ac,r=Ql,ht(),P(),An}u.deflateInit=function(Y,tt,F,nt,ct,St){return nt||(nt=pr),ct||(ct=zv),St||(St=Ev),Y.msg=null,tt==Lc&&(tt=6),ct<1||ct>Dv||nt!=pr||F<9||F>15||tt<0||tt>9||St<0||St>pc?xn:(Y.dstate=u,h=F,o=1<<h,v=o-1,D=ct+7,T=1<<D,G=T-1,W=Math.floor((D+ee-1)/ee),m=new Uint8Array(o*2),_=[],p=[],E=1<<ct+6,u.pending_buf=new Uint8Array(E*4),s=E*4,u.dist_buf=new Uint16Array(E),u.lc_buf=new Uint8Array(E),at=tt,_t=St,Ua(Y))},u.deflateEnd=function(){return f!=_r&&f!=Ac&&f!=Fi?xn:(u.lc_buf=null,u.dist_buf=null,u.pending_buf=null,p=null,_=null,m=null,u.dstate=null,f==Ac?Av:An)},u.deflateParams=function(Y,tt,F){let nt=An;return tt==Lc&&(tt=6),tt<0||tt>9||F<0||F>pc?xn:(Tn[at].func!=Tn[tt].func&&Y.total_in!==0&&(nt=Y.deflate(H1)),at!=tt&&(at=tt,st=Tn[at].max_lazy,pt=Tn[at].good_length,yt=Tn[at].nice_length,ut=Tn[at].max_chain),_t=F,nt)},u.deflateSetDictionary=function(Y,tt,F){let nt=F,ct,St=0;if(!tt||f!=_r)return xn;if(nt<ee)return An;for(nt>o-an&&(nt=o-an,St=F-nt),m.set(tt.subarray(St,St+nt),0),B=nt,J=nt,b=m[0]&255,b=(b<<W^m[1]&255)&G,ct=0;ct<=nt-ee;ct++)b=(b<<W^m[ct+(ee-1)]&255)&G,_[ct&v]=p[b],p[b]=ct;return An},u.deflate=function(Y,tt){let F,nt,ct,St,wt;if(tt>ke||tt<0)return xn;if(!Y.next_out||!Y.next_in&&Y.avail_in!==0||f==Fi&&tt!=ke)return Y.msg=Sc[bc-xn],xn;if(Y.avail_out===0)return Y.msg=Sc[bc-Xl],Xl;if(i=Y,St=r,r=tt,f==_r&&(nt=pr+(h-8<<4)<<8,ct=(at-1&255)>>1,ct>3&&(ct=3),nt|=ct<<6,B!==0&&(nt|=Nv),nt+=31-nt%31,f=Ac,Jt(nt)),u.pending!==0){if(i.flush_pending(),i.avail_out===0)return r=-1,An}else if(i.avail_in===0&&tt<=St&&tt!=ke)return i.msg=Sc[bc-Xl],Xl;if(f==Fi&&i.avail_in!==0)return Y.msg=Sc[bc-Xl],Xl;if(i.avail_in!==0||X!==0||tt!=Ql&&f!=Fi){switch(wt=-1,Tn[at].func){case Ah:wt=Jc(tt);break;case Oc:wt=kc(tt);break;case $a:wt=Ic(tt);break}if((wt==Qi||wt==Tc)&&(f=Fi),wt==gn||wt==Qi)return i.avail_out===0&&(r=-1),An;if(wt==Ec){if(tt==H1)Ce();else if(al(0,0,!1),tt==Tv)for(F=0;F<T;F++)p[F]=0;if(i.flush_pending(),i.avail_out===0)return r=-1,An}}return tt!=ke?An:Th}}function xh(){const u=this;u.next_in_index=0,u.next_out_index=0,u.avail_in=0,u.total_in=0,u.avail_out=0,u.total_out=0}xh.prototype={deflateInit(u,i){const f=this;return f.dstate=new Cv,i||(i=Pi),f.dstate.deflateInit(f,u,i)},deflate(u){const i=this;return i.dstate?i.dstate.deflate(i,u):xn},deflateEnd(){const u=this;if(!u.dstate)return xn;const i=u.dstate.deflateEnd();return u.dstate=null,i},deflateParams(u,i){const f=this;return f.dstate?f.dstate.deflateParams(f,u,i):xn},deflateSetDictionary(u,i){const f=this;return f.dstate?f.dstate.deflateSetDictionary(f,u,i):xn},read_buf(u,i,f){const s=this;let r=s.avail_in;return r>f&&(r=f),r===0?0:(s.avail_in-=r,u.set(s.next_in.subarray(s.next_in_index,s.next_in_index+r),i),s.next_in_index+=r,s.total_in+=r,r)},flush_pending(){const u=this;let i=u.dstate.pending;i>u.avail_out&&(i=u.avail_out),i!==0&&(u.next_out.set(u.dstate.pending_buf.subarray(u.dstate.pending_out,u.dstate.pending_out+i),u.next_out_index),u.next_out_index+=i,u.dstate.pending_out+=i,u.total_out+=i,u.avail_out-=i,u.dstate.pending-=i,u.dstate.pending===0&&(u.dstate.pending_out=0))}};function Lv(u){const i=this,f=new xh,s=Hv(u&&u.chunkSize?u.chunkSize:64*1024),r=Ql,o=new Uint8Array(s);let h=u?u.level:Lc;typeof h>"u"&&(h=Lc),f.deflateInit(h),f.next_out=o,i.append=function(v,m){let y,_,p=0,b=0,T=0;const D=[];if(v.length){f.next_in_index=0,f.next_in=v,f.avail_in=v.length;do{if(f.next_out_index=0,f.avail_out=s,y=f.deflate(r),y!=An)throw new Error("deflating: "+f.msg);f.next_out_index&&(f.next_out_index==s?D.push(new Uint8Array(o)):D.push(o.subarray(0,f.next_out_index))),T+=f.next_out_index,m&&f.next_in_index>0&&f.next_in_index!=p&&(m(f.next_in_index),p=f.next_in_index)}while(f.avail_in>0||f.avail_out===0);return D.length>1?(_=new Uint8Array(T),D.forEach(function(G){_.set(G,b),b+=G.length})):_=D[0]?new Uint8Array(D[0]):new Uint8Array,_}},i.flush=function(){let v,m,y=0,_=0;const p=[];do{if(f.next_out_index=0,f.avail_out=s,v=f.deflate(ke),v!=Th&&v!=An)throw new Error("deflating: "+f.msg);s-f.avail_out>0&&p.push(o.slice(0,f.next_out_index)),_+=f.next_out_index}while(f.avail_in>0||f.avail_out===0);return f.deflateEnd(),m=new Uint8Array(_),p.forEach(function(b){m.set(b,y),y+=b.length}),m}}function Hv(u){return u+5*(Math.floor(u/16383)+1)}const ce=4294967295,le=65535,Wr=8,jv=9,wh=0,Oh=99,Rh=67324752,$r=134695760,Dh=$r,Cr=33639248,zh=101010256,Lr=101075792,Nh=117853008,vn=22,ki=20,Ii=56,Bv=vn+ki+Ii,Mh=12,Uh=20,Hc=4,Ch=1,Lh=39169,Hh=10,jh=1,Pr=21589,Yv=28789,Gv=25461,Bh=6534,Hr=1,qv=6,Zv=2,Xv=4,Vv=6,jr=8,Br=2048,Yr=16,Qv=61440,Yh=16384,Gr=73,Sr=420,Fv=20,Y1=45,G1=51,Wi="/",tl=30,to=10,kl=14,Il=18,q1=new Date(2107,11,31),Z1=new Date(1980,0,1),At=void 0,Na="undefined",au="function";class X1{constructor(i){return class extends TransformStream{constructor(f,s){const r=new i(s);super({transform(o,h){h.enqueue(r.append(o))},flush(o){const h=r.flush();h&&o.enqueue(h)}})}}}}const Kv=64;let Gh=2;try{typeof navigator!=Na&&navigator.hardwareConcurrency&&(Gh=navigator.hardwareConcurrency)}catch{}const Jv={chunkSize:512*1024,maxWorkers:Gh,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,workerScripts:At,CompressionStreamNative:typeof CompressionStream!=Na&&CompressionStream,DecompressionStreamNative:typeof DecompressionStream!=Na&&DecompressionStream},Da=Object.assign({},Jv);function eo(){return Da}function qh(u){return Math.max(u.chunkSize,Kv)}function Zh(u){const{baseURL:i,chunkSize:f,maxWorkers:s,terminateWorkerTimeout:r,useCompressionStream:o,useWebWorkers:h,Deflate:v,Inflate:m,CompressionStream:y,DecompressionStream:_,workerScripts:p}=u;if(Oa("baseURL",i),Oa("chunkSize",f),Oa("maxWorkers",s),Oa("terminateWorkerTimeout",r),Oa("useCompressionStream",o),Oa("useWebWorkers",h),v&&(Da.CompressionStream=new X1(v)),m&&(Da.DecompressionStream=new X1(m)),Oa("CompressionStream",y),Oa("DecompressionStream",_),p!==At){const{deflate:b,inflate:T}=p;if((b||T)&&(Da.workerScripts||(Da.workerScripts={})),b){if(!Array.isArray(b))throw new Error("workerScripts.deflate must be an array");Da.workerScripts.deflate=b}if(T){if(!Array.isArray(T))throw new Error("workerScripts.inflate must be an array");Da.workerScripts.inflate=T}}}function Oa(u,i){i!==At&&(Da[u]=i)}function kv(){return"application/octet-stream"}const Xh=[];for(let u=0;u<256;u++){let i=u;for(let f=0;f<8;f++)i&1?i=i>>>1^3988292384:i=i>>>1;Xh[u]=i}class jc{constructor(i){this.crc=i||-1}append(i){let f=this.crc|0;for(let s=0,r=i.length|0;s<r;s++)f=f>>>8^Xh[(f^i[s])&255];this.crc=f}get(){return~this.crc}}class Vh extends TransformStream{constructor(){let i;const f=new jc;super({transform(s,r){f.append(s),r.enqueue(s)},flush(){const s=new Uint8Array(4);new DataView(s.buffer).setUint32(0,f.get()),i.value=s}}),i=this}}function Dc(u){if(typeof TextEncoder==Na){u=unescape(encodeURIComponent(u));const i=new Uint8Array(u.length);for(let f=0;f<i.length;f++)i[f]=u.charCodeAt(f);return i}else return new TextEncoder().encode(u)}const Ge={concat(u,i){if(u.length===0||i.length===0)return u.concat(i);const f=u[u.length-1],s=Ge.getPartial(f);return s===32?u.concat(i):Ge._shiftRight(i,s,f|0,u.slice(0,u.length-1))},bitLength(u){const i=u.length;if(i===0)return 0;const f=u[i-1];return(i-1)*32+Ge.getPartial(f)},clamp(u,i){if(u.length*32<i)return u;u=u.slice(0,Math.ceil(i/32));const f=u.length;return i=i&31,f>0&&i&&(u[f-1]=Ge.partial(i,u[f-1]&2147483648>>i-1,1)),u},partial(u,i,f){return u===32?i:(f?i|0:i<<32-u)+u*1099511627776},getPartial(u){return Math.round(u/1099511627776)||32},_shiftRight(u,i,f,s){for(s===void 0&&(s=[]);i>=32;i-=32)s.push(f),f=0;if(i===0)return s.concat(u);for(let h=0;h<u.length;h++)s.push(f|u[h]>>>i),f=u[h]<<32-i;const r=u.length?u[u.length-1]:0,o=Ge.getPartial(r);return s.push(Ge.partial(i+o&31,i+o>32?f:s.pop(),1)),s}},Bc={bytes:{fromBits(u){const f=Ge.bitLength(u)/8,s=new Uint8Array(f);let r;for(let o=0;o<f;o++)(o&3)===0&&(r=u[o/4]),s[o]=r>>>24,r<<=8;return s},toBits(u){const i=[];let f,s=0;for(f=0;f<u.length;f++)s=s<<8|u[f],(f&3)===3&&(i.push(s),s=0);return f&3&&i.push(Ge.partial(8*(f&3),s)),i}}},Qh={};Qh.sha1=class{constructor(u){const i=this;i.blockSize=512,i._init=[1732584193,4023233417,2562383102,271733878,3285377520],i._key=[1518500249,1859775393,2400959708,3395469782],u?(i._h=u._h.slice(0),i._buffer=u._buffer.slice(0),i._length=u._length):i.reset()}reset(){const u=this;return u._h=u._init.slice(0),u._buffer=[],u._length=0,u}update(u){const i=this;typeof u=="string"&&(u=Bc.utf8String.toBits(u));const f=i._buffer=Ge.concat(i._buffer,u),s=i._length,r=i._length=s+Ge.bitLength(u);if(r>9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");const o=new Uint32Array(f);let h=0;for(let v=i.blockSize+s-(i.blockSize+s&i.blockSize-1);v<=r;v+=i.blockSize)i._block(o.subarray(16*h,16*(h+1))),h+=1;return f.splice(0,16*h),i}finalize(){const u=this;let i=u._buffer;const f=u._h;i=Ge.concat(i,[Ge.partial(1,1)]);for(let s=i.length+2;s&15;s++)i.push(0);for(i.push(Math.floor(u._length/4294967296)),i.push(u._length|0);i.length;)u._block(i.splice(0,16));return u.reset(),f}_f(u,i,f,s){if(u<=19)return i&f|~i&s;if(u<=39)return i^f^s;if(u<=59)return i&f|i&s|f&s;if(u<=79)return i^f^s}_S(u,i){return i<<u|i>>>32-u}_block(u){const i=this,f=i._h,s=Array(80);for(let y=0;y<16;y++)s[y]=u[y];let r=f[0],o=f[1],h=f[2],v=f[3],m=f[4];for(let y=0;y<=79;y++){y>=16&&(s[y]=i._S(1,s[y-3]^s[y-8]^s[y-14]^s[y-16]));const _=i._S(5,r)+i._f(y,o,h,v)+m+s[y]+i._key[Math.floor(y/20)]|0;m=v,v=h,h=i._S(30,o),o=r,r=_}f[0]=f[0]+r|0,f[1]=f[1]+o|0,f[2]=f[2]+h|0,f[3]=f[3]+v|0,f[4]=f[4]+m|0}};const Fh={};Fh.aes=class{constructor(u){const i=this;i._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],i._tables[0][0][0]||i._precompute();const f=i._tables[0][4],s=i._tables[1],r=u.length;let o,h,v,m=1;if(r!==4&&r!==6&&r!==8)throw new Error("invalid aes key size");for(i._key=[h=u.slice(0),v=[]],o=r;o<4*r+28;o++){let y=h[o-1];(o%r===0||r===8&&o%r===4)&&(y=f[y>>>24]<<24^f[y>>16&255]<<16^f[y>>8&255]<<8^f[y&255],o%r===0&&(y=y<<8^y>>>24^m<<24,m=m<<1^(m>>7)*283)),h[o]=h[o-r]^y}for(let y=0;o;y++,o--){const _=h[y&3?o:o-4];o<=4||y<4?v[y]=_:v[y]=s[0][f[_>>>24]]^s[1][f[_>>16&255]]^s[2][f[_>>8&255]]^s[3][f[_&255]]}}encrypt(u){return this._crypt(u,0)}decrypt(u){return this._crypt(u,1)}_precompute(){const u=this._tables[0],i=this._tables[1],f=u[4],s=i[4],r=[],o=[];let h,v,m,y;for(let _=0;_<256;_++)o[(r[_]=_<<1^(_>>7)*283)^_]=_;for(let _=h=0;!f[_];_^=v||1,h=o[h]||1){let p=h^h<<1^h<<2^h<<3^h<<4;p=p>>8^p&255^99,f[_]=p,s[p]=_,y=r[m=r[v=r[_]]];let b=y*16843009^m*65537^v*257^_*16843008,T=r[p]*257^p*16843008;for(let D=0;D<4;D++)u[D][_]=T=T<<24^T>>>8,i[D][p]=b=b<<24^b>>>8}for(let _=0;_<5;_++)u[_]=u[_].slice(0),i[_]=i[_].slice(0)}_crypt(u,i){if(u.length!==4)throw new Error("invalid aes block size");const f=this._key[i],s=f.length/4-2,r=[0,0,0,0],o=this._tables[i],h=o[0],v=o[1],m=o[2],y=o[3],_=o[4];let p=u[0]^f[0],b=u[i?3:1]^f[1],T=u[2]^f[2],D=u[i?1:3]^f[3],G=4,W,J,Z;for(let $=0;$<s;$++)W=h[p>>>24]^v[b>>16&255]^m[T>>8&255]^y[D&255]^f[G],J=h[b>>>24]^v[T>>16&255]^m[D>>8&255]^y[p&255]^f[G+1],Z=h[T>>>24]^v[D>>16&255]^m[p>>8&255]^y[b&255]^f[G+2],D=h[D>>>24]^v[p>>16&255]^m[b>>8&255]^y[T&255]^f[G+3],G+=4,p=W,b=J,T=Z;for(let $=0;$<4;$++)r[i?3&-$:$]=_[p>>>24]<<24^_[b>>16&255]<<16^_[T>>8&255]<<8^_[D&255]^f[G++],W=p,p=b,b=T,T=D,D=W;return r}};const Iv={getRandomValues(u){const i=new Uint32Array(u.buffer),f=s=>{let r=987654321;const o=4294967295;return function(){return r=36969*(r&65535)+(r>>16)&o,s=18e3*(s&65535)+(s>>16)&o,(((r<<16)+s&o)/4294967296+.5)*(Math.random()>.5?1:-1)}};for(let s=0,r;s<u.length;s+=4){const o=f((r||Math.random())*4294967296);r=o()*987654071,i[s/4]=o()*4294967296|0}return u}},Kh={};Kh.ctrGladman=class{constructor(u,i){this._prf=u,this._initIv=i,this._iv=i}reset(){this._iv=this._initIv}update(u){return this.calculate(this._prf,u,this._iv)}incWord(u){if((u>>24&255)===255){let i=u>>16&255,f=u>>8&255,s=u&255;i===255?(i=0,f===255?(f=0,s===255?s=0:++s):++f):++i,u=0,u+=i<<16,u+=f<<8,u+=s}else u+=1<<24;return u}incCounter(u){(u[0]=this.incWord(u[0]))===0&&(u[1]=this.incWord(u[1]))}calculate(u,i,f){let s;if(!(s=i.length))return[];const r=Ge.bitLength(i);for(let o=0;o<s;o+=4){this.incCounter(f);const h=u.encrypt(f);i[o]^=h[0],i[o+1]^=h[1],i[o+2]^=h[2],i[o+3]^=h[3]}return Ge.clamp(i,r)}};const el={importKey(u){return new el.hmacSha1(Bc.bytes.toBits(u))},pbkdf2(u,i,f,s){if(f=f||1e4,s<0||f<0)throw new Error("invalid params to pbkdf2");const r=(s>>5)+1<<2;let o,h,v,m,y;const _=new ArrayBuffer(r),p=new DataView(_);let b=0;const T=Ge;for(i=Bc.bytes.toBits(i),y=1;b<(r||1);y++){for(o=h=u.encrypt(T.concat(i,[y])),v=1;v<f;v++)for(h=u.encrypt(h),m=0;m<h.length;m++)o[m]^=h[m];for(v=0;b<(r||1)&&v<o.length;v++)p.setInt32(b,o[v]),b+=4}return _.slice(0,s/8)}};el.hmacSha1=class{constructor(u){const i=this,f=i._hash=Qh.sha1,s=[[],[]];i._baseHash=[new f,new f];const r=i._baseHash[0].blockSize/32;u.length>r&&(u=new f().update(u).finalize());for(let o=0;o<r;o++)s[0][o]=u[o]^909522486,s[1][o]=u[o]^1549556828;i._baseHash[0].update(s[0]),i._baseHash[1].update(s[1]),i._resultHash=new f(i._baseHash[0])}reset(){const u=this;u._resultHash=new u._hash(u._baseHash[0]),u._updated=!1}update(u){const i=this;i._updated=!0,i._resultHash.update(u)}digest(){const u=this,i=u._resultHash.finalize(),f=new u._hash(u._baseHash[1]).update(i).finalize();return u.reset(),f}encrypt(u){if(this._updated)throw new Error("encrypt on already updated hmac called!");return this.update(u),this.digest(u)}};const Wv=typeof crypto!=Na&&typeof crypto.getRandomValues==au,Jh="Invalid password",kh="Invalid signature",no="zipjs-abort-check-password";function Ih(u){return Wv?crypto.getRandomValues(u):Iv.getRandomValues(u)}const Fl=16,$v="raw",Wh={name:"PBKDF2"},Pv={name:"HMAC"},t4="SHA-1",e4=Object.assign({hash:Pv},Wh),qr=Object.assign({iterations:1e3,hash:{name:t4}},Wh),n4=["deriveBits"],tu=[8,12,16],Ki=[16,24,32],Ra=10,a4=[0,0,0,0],Vc=typeof crypto!=Na,lu=Vc&&crypto.subtle,$h=Vc&&typeof lu!=Na,Mn=Bc.bytes,l4=Fh.aes,i4=Kh.ctrGladman,u4=el.hmacSha1;let V1=Vc&&$h&&typeof lu.importKey==au,Q1=Vc&&$h&&typeof lu.deriveBits==au;class c4 extends TransformStream{constructor({password:i,rawPassword:f,signed:s,encryptionStrength:r,checkPasswordOnly:o}){super({start(){Object.assign(this,{ready:new Promise(h=>this.resolveReady=h),password:em(i,f),signed:s,strength:r-1,pending:new Uint8Array})},async transform(h,v){const m=this,{password:y,strength:_,resolveReady:p,ready:b}=m;y?(await f4(m,_,y,_n(h,0,tu[_]+2)),h=_n(h,tu[_]+2),o?v.error(new Error(no)):p()):await b;const T=new Uint8Array(h.length-Ra-(h.length-Ra)%Fl);v.enqueue(Ph(m,h,T,0,Ra,!0))},async flush(h){const{signed:v,ctr:m,hmac:y,pending:_,ready:p}=this;if(y&&m){await p;const b=_n(_,0,_.length-Ra),T=_n(_,_.length-Ra);let D=new Uint8Array;if(b.length){const G=nu(Mn,b);y.update(G);const W=m.update(G);D=eu(Mn,W)}if(v){const G=_n(eu(Mn,y.digest()),0,Ra);for(let W=0;W<Ra;W++)if(G[W]!=T[W])throw new Error(kh)}h.enqueue(D)}}})}}class s4 extends TransformStream{constructor({password:i,rawPassword:f,encryptionStrength:s}){let r;super({start(){Object.assign(this,{ready:new Promise(o=>this.resolveReady=o),password:em(i,f),strength:s-1,pending:new Uint8Array})},async transform(o,h){const v=this,{password:m,strength:y,resolveReady:_,ready:p}=v;let b=new Uint8Array;m?(b=await r4(v,y,m),_()):await p;const T=new Uint8Array(b.length+o.length-o.length%Fl);T.set(b,0),h.enqueue(Ph(v,o,T,b.length,0))},async flush(o){const{ctr:h,hmac:v,pending:m,ready:y}=this;if(v&&h){await y;let _=new Uint8Array;if(m.length){const p=h.update(nu(Mn,m));v.update(p),_=eu(Mn,p)}r.signature=eu(Mn,v.digest()).slice(0,Ra),o.enqueue(ao(_,r.signature))}}}),r=this}}function Ph(u,i,f,s,r,o){const{ctr:h,hmac:v,pending:m}=u,y=i.length-r;m.length&&(i=ao(m,i),f=h4(f,y-y%Fl));let _;for(_=0;_<=y-Fl;_+=Fl){const p=nu(Mn,_n(i,_,_+Fl));o&&v.update(p);const b=h.update(p);o||v.update(b),f.set(eu(Mn,b),_+s)}return u.pending=_n(i,_),f}async function f4(u,i,f,s){const r=await tm(u,i,f,_n(s,0,tu[i])),o=_n(s,tu[i]);if(r[0]!=o[0]||r[1]!=o[1])throw new Error(Jh)}async function r4(u,i,f){const s=Ih(new Uint8Array(tu[i])),r=await tm(u,i,f,s);return ao(s,r)}async function tm(u,i,f,s){u.password=null;const r=await o4($v,f,e4,!1,n4),o=await d4(Object.assign({salt:s},qr),r,8*(Ki[i]*2+2)),h=new Uint8Array(o),v=nu(Mn,_n(h,0,Ki[i])),m=nu(Mn,_n(h,Ki[i],Ki[i]*2)),y=_n(h,Ki[i]*2);return Object.assign(u,{keys:{key:v,authentication:m,passwordVerification:y},ctr:new i4(new l4(v),Array.from(a4)),hmac:new u4(m)}),y}async function o4(u,i,f,s,r){if(V1)try{return await lu.importKey(u,i,f,s,r)}catch{return V1=!1,el.importKey(i)}else return el.importKey(i)}async function d4(u,i,f){if(Q1)try{return await lu.deriveBits(u,i,f)}catch{return Q1=!1,el.pbkdf2(i,u.salt,qr.iterations,f)}else return el.pbkdf2(i,u.salt,qr.iterations,f)}function em(u,i){return i===At?Dc(u):i}function ao(u,i){let f=u;return u.length+i.length&&(f=new Uint8Array(u.length+i.length),f.set(u,0),f.set(i,u.length)),f}function h4(u,i){if(i&&i>u.length){const f=u;u=new Uint8Array(i),u.set(f,0)}return u}function _n(u,i,f){return u.subarray(i,f)}function eu(u,i){return u.fromBits(i)}function nu(u,i){return u.toBits(i)}const $i=12;class m4 extends TransformStream{constructor({password:i,passwordVerification:f,checkPasswordOnly:s}){super({start(){Object.assign(this,{password:i,passwordVerification:f}),nm(this,i)},transform(r,o){const h=this;if(h.password){const v=F1(h,r.subarray(0,$i));if(h.password=null,v.at(-1)!=h.passwordVerification)throw new Error(Jh);r=r.subarray($i)}s?o.error(new Error(no)):o.enqueue(F1(h,r))}})}}class y4 extends TransformStream{constructor({password:i,passwordVerification:f}){super({start(){Object.assign(this,{password:i,passwordVerification:f}),nm(this,i)},transform(s,r){const o=this;let h,v;if(o.password){o.password=null;const m=Ih(new Uint8Array($i));m[$i-1]=o.passwordVerification,h=new Uint8Array(s.length+m.length),h.set(K1(o,m),0),v=$i}else h=new Uint8Array(s.length),v=0;h.set(K1(o,s),v),r.enqueue(h)}})}}function F1(u,i){const f=new Uint8Array(i.length);for(let s=0;s<i.length;s++)f[s]=am(u)^i[s],lo(u,f[s]);return f}function K1(u,i){const f=new Uint8Array(i.length);for(let s=0;s<i.length;s++)f[s]=am(u)^i[s],lo(u,i[s]);return f}function nm(u,i){const f=[305419896,591751049,878082192];Object.assign(u,{keys:f,crcKey0:new jc(f[0]),crcKey2:new jc(f[2])});for(let s=0;s<i.length;s++)lo(u,i.charCodeAt(s))}function lo(u,i){let[f,s,r]=u.keys;u.crcKey0.append([i]),f=~u.crcKey0.get(),s=J1(Math.imul(J1(s+lm(f)),134775813)+1),u.crcKey2.append([s>>>24]),r=~u.crcKey2.get(),u.keys=[f,s,r]}function am(u){const i=u.keys[2]|2;return lm(Math.imul(i,i^1)>>>8)}function lm(u){return u&255}function J1(u){return u&4294967295}const im="Invalid uncompressed size",k1="deflate-raw";class g4 extends TransformStream{constructor(i,{chunkSize:f,CompressionStream:s,CompressionStreamNative:r}){super({});const{compressed:o,encrypted:h,useCompressionStream:v,zipCrypto:m,signed:y,level:_}=i,p=this;let b,T,D=super.readable;(!h||m)&&y&&(b=new Vh,D=Pn(D,b)),o&&(D=cm(D,v,{level:_,chunkSize:f},r,s)),h&&(m?D=Pn(D,new y4(i)):(T=new s4(i),D=Pn(D,T))),um(p,D,()=>{let G;h&&!m&&(G=T.signature),(!h||m)&&y&&(G=new DataView(b.value.buffer).getUint32(0)),p.signature=G})}}class v4 extends TransformStream{constructor(i,{chunkSize:f,DecompressionStream:s,DecompressionStreamNative:r}){super({});const{zipCrypto:o,encrypted:h,signed:v,signature:m,compressed:y,useCompressionStream:_}=i;let p,b,T=super.readable;h&&(o?T=Pn(T,new m4(i)):(b=new c4(i),T=Pn(T,b))),y&&(T=cm(T,_,{chunkSize:f},r,s)),(!h||o)&&v&&(p=new Vh,T=Pn(T,p)),um(this,T,()=>{if((!h||o)&&v){const D=new DataView(p.value.buffer);if(m!=D.getUint32(0,!1))throw new Error(kh)}})}}function um(u,i,f){i=Pn(i,new TransformStream({flush:f})),Object.defineProperty(u,"readable",{get(){return i}})}function cm(u,i,f,s,r){try{const o=i&&s?s:r;u=Pn(u,new o(k1,f))}catch(o){if(i)u=Pn(u,new r(k1,f));else throw o}return u}function Pn(u,i){return u.pipeThrough(i)}const _4="message",p4="start",b4="pull",I1="data",S4="ack",W1="close",sm="deflate",fm="inflate";class E4 extends TransformStream{constructor(i,f){super({});const s=this,{codecType:r}=i;let o;r.startsWith(sm)?o=g4:r.startsWith(fm)&&(o=v4),s.outputSize=0;let h=0;const v=new o(i,f),m=super.readable,y=new TransformStream({transform(p,b){p&&p.length&&(h+=p.length,b.enqueue(p))},flush(){Object.assign(s,{inputSize:h})}}),_=new TransformStream({transform(p,b){if(p&&p.length&&(b.enqueue(p),s.outputSize+=p.length,i.outputSize&&s.outputSize>i.outputSize))throw new Error(im)},flush(){const{signature:p}=v;Object.assign(s,{signature:p,inputSize:h})}});Object.defineProperty(s,"readable",{get(){return m.pipeThrough(y).pipeThrough(v).pipeThrough(_)}})}}class T4 extends TransformStream{constructor(i){let f;super({transform:s,flush(r){f&&f.length&&r.enqueue(f)}});function s(r,o){if(f){const h=new Uint8Array(f.length+r.length);h.set(f),h.set(r,f.length),r=h,f=null}r.length>i?(o.enqueue(r.slice(0,i)),s(r.slice(i),o)):f=r}}}let rm=typeof Worker!=Na;class Er{constructor(i,{readable:f,writable:s},{options:r,config:o,streamOptions:h,useWebWorkers:v,transferStreams:m,scripts:y},_){const{signal:p}=h;return Object.assign(i,{busy:!0,readable:f.pipeThrough(new T4(o.chunkSize)).pipeThrough(new A4(h),{signal:p}),writable:s,options:Object.assign({},r),scripts:y,transferStreams:m,terminate(){return new Promise(b=>{const{worker:T,busy:D}=i;T?(D?i.resolveTerminated=b:(T.terminate(),b()),i.interface=null):b()})},onTaskFinished(){const{resolveTerminated:b}=i;b&&(i.resolveTerminated=null,i.terminated=!0,i.worker.terminate(),b()),i.busy=!1,_(i)}}),(v&&rm?x4:om)(i,o)}}class A4 extends TransformStream{constructor({onstart:i,onprogress:f,size:s,onend:r}){let o=0;super({async start(){i&&await Tr(i,s)},async transform(h,v){o+=h.length,f&&await Tr(f,o,s),v.enqueue(h)},async flush(){r&&await Tr(r,o)}})}}async function Tr(u,...i){try{await u(...i)}catch{}}function om(u,i){return{run:()=>w4(u,i)}}function x4(u,i){const{baseURL:f,chunkSize:s}=i;if(!u.interface){let r;try{r=D4(u.scripts[0],f,u)}catch{return rm=!1,om(u,i)}Object.assign(u,{worker:r,interface:{run:()=>O4(u,{chunkSize:s})}})}return u.interface}async function w4({options:u,readable:i,writable:f,onTaskFinished:s},r){let o;try{o=new E4(u,r),await i.pipeThrough(o).pipeTo(f,{preventClose:!0,preventAbort:!0});const{signature:h,inputSize:v,outputSize:m}=o;return{signature:h,inputSize:v,outputSize:m}}catch(h){throw o&&(h.outputSize=o.outputSize),h}finally{s()}}async function O4(u,i){let f,s;const r=new Promise((b,T)=>{f=b,s=T});Object.assign(u,{reader:null,writer:null,resolveResult:f,rejectResult:s,result:r});const{readable:o,options:h,scripts:v}=u,{writable:m,closed:y}=R4(u.writable),_=zc({type:p4,scripts:v.slice(1),options:h,config:i,readable:o,writable:m},u);_||Object.assign(u,{reader:o.getReader(),writer:m.getWriter()});const p=await r;return _||await m.getWriter().close(),await y,p}function R4(u){let i;const f=new Promise(r=>i=r);return{writable:new WritableStream({async write(r){const o=u.getWriter();await o.ready,await o.write(r),o.releaseLock()},close(){i()},abort(r){return u.getWriter().abort(r)}}),closed:f}}let $1=!0,P1=!0;function D4(u,i,f){const s={type:"module"};let r,o;typeof u==au&&(u=u());try{r=new URL(u,i)}catch{r=u}if($1)try{o=new Worker(r)}catch{$1=!1,o=new Worker(r,s)}else o=new Worker(r,s);return o.addEventListener(_4,h=>z4(h,f)),o}function zc(u,{worker:i,writer:f,onTaskFinished:s,transferStreams:r}){try{const{value:o,readable:h,writable:v}=u,m=[];if(o&&(o.byteLength<o.buffer.byteLength?u.value=o.buffer.slice(0,o.byteLength):u.value=o.buffer,m.push(u.value)),r&&P1?(h&&m.push(h),v&&m.push(v)):u.readable=u.writable=null,m.length)try{return i.postMessage(u,m),!0}catch{P1=!1,u.readable=u.writable=null,i.postMessage(u)}else i.postMessage(u)}catch(o){throw f&&f.releaseLock(),s(),o}}async function z4({data:u},i){const{type:f,value:s,messageId:r,result:o,error:h}=u,{reader:v,writer:m,resolveResult:y,rejectResult:_,onTaskFinished:p}=i;try{if(h){const{message:T,stack:D,code:G,name:W,outputSize:J}=h,Z=new Error(T);Object.assign(Z,{stack:D,code:G,name:W,outputSize:J}),b(Z)}else{if(f==b4){const{value:T,done:D}=await v.read();zc({type:I1,value:T,done:D,messageId:r},i)}f==I1&&(await m.ready,await m.write(new Uint8Array(s)),zc({type:S4,messageId:r},i)),f==W1&&b(null,o)}}catch(T){zc({type:W1,messageId:r},i),b(T)}function b(T,D){T?_(T):y(D),m&&m.releaseLock(),p()}}let za=[];const Ar=[];let th=0;async function dm(u,i){const{options:f,config:s}=i,{transferStreams:r,useWebWorkers:o,useCompressionStream:h,codecType:v,compressed:m,signed:y,encrypted:_}=f,{workerScripts:p,maxWorkers:b}=s;i.transferStreams=r||r===At;const T=!m&&!y&&!_&&!i.transferStreams;return i.useWebWorkers=!T&&(o||o===At&&s.useWebWorkers),i.scripts=i.useWebWorkers&&p?p[v]:[],f.useCompressionStream=h||h===At&&s.useCompressionStream,(await D()).run();async function D(){const W=za.find(J=>!J.busy);if(W)return Zr(W),new Er(W,u,i,G);if(za.length<b){const J={indexWorker:th};return th++,za.push(J),new Er(J,u,i,G)}else return new Promise(J=>Ar.push({resolve:J,stream:u,workerOptions:i}))}function G(W){if(Ar.length){const[{resolve:J,stream:Z,workerOptions:$}]=Ar.splice(0,1);J(new Er(W,Z,$,G))}else W.worker?(Zr(W),N4(W,i)):za=za.filter(J=>J!=W)}}function N4(u,i){const{config:f}=i,{terminateWorkerTimeout:s}=f;Number.isFinite(s)&&s>=0&&(u.terminated?u.terminated=!1:u.terminateTimeout=setTimeout(async()=>{za=za.filter(r=>r!=u);try{await u.terminate()}catch{}},s))}function Zr(u){const{terminateTimeout:i}=u;i&&(clearTimeout(i),u.terminateTimeout=null)}async function M4(){await Promise.allSettled(za.map(u=>(Zr(u),u.terminate())))}const hm="HTTP error ",iu="HTTP Range not supported",mm="Writer iterator completed too soon",ym="Writer not initialized",U4="text/plain",C4="Content-Length",L4="Content-Range",H4="Accept-Ranges",j4="Range",B4="Content-Type",Y4="HEAD",io="GET",gm="bytes",G4=64*1024,uo="writable";class Qc{constructor(){this.size=0}init(){this.initialized=!0}}class Ma extends Qc{get readable(){const i=this,{chunkSize:f=G4}=i,s=new ReadableStream({start(){this.chunkOffset=0},async pull(r){const{offset:o=0,size:h,diskNumberStart:v}=s,{chunkOffset:m}=this,y=h===At?f:Math.min(f,h-m),_=await Ee(i,o+m,y,v);r.enqueue(_),m+f>h||h===At&&!_.length&&y?r.close():this.chunkOffset+=f}});return s}}class co extends Qc{constructor(){super();const i=this,f=new WritableStream({write(s){if(!i.initialized)throw new Error(ym);return i.writeUint8Array(s)}});Object.defineProperty(i,uo,{get(){return f}})}writeUint8Array(){}}class q4 extends Ma{constructor(i){super();let f=i.length;for(;i.charAt(f-1)=="=";)f--;const s=i.indexOf(",")+1;Object.assign(this,{dataURI:i,dataStart:s,size:Math.floor((f-s)*.75)})}readUint8Array(i,f){const{dataStart:s,dataURI:r}=this,o=new Uint8Array(f),h=Math.floor(i/3)*4,v=atob(r.substring(h+s,Math.ceil((i+f)/3)*4+s)),m=i-Math.floor(h/4)*3;let y=0;for(let _=m;_<m+f&&_<v.length;_++)o[_-m]=v.charCodeAt(_),y++;return y<o.length?o.subarray(0,y):o}}class Z4 extends co{constructor(i){super(),Object.assign(this,{data:"data:"+(i||"")+";base64,",pending:[]})}writeUint8Array(i){const f=this;let s=0,r=f.pending;const o=f.pending.length;for(f.pending="",s=0;s<Math.floor((o+i.length)/3)*3-o;s++)r+=String.fromCharCode(i[s]);for(;s<i.length;s++)f.pending+=String.fromCharCode(i[s]);r.length&&(r.length>2?f.data+=btoa(r):f.pending+=r)}getData(){return this.data+btoa(this.pending)}}class so extends Ma{constructor(i){super(),Object.assign(this,{blob:i,size:i.size})}async readUint8Array(i,f){const s=this,r=i+f;let h=await(i||r<s.size?s.blob.slice(i,r):s.blob).arrayBuffer();return h.byteLength>f&&(h=h.slice(i,r)),new Uint8Array(h)}}class vm extends Qc{constructor(i){super();const f=this,s=new TransformStream,r=[];i&&r.push([B4,i]),Object.defineProperty(f,uo,{get(){return s.writable}}),f.blob=new Response(s.readable,{headers:r}).blob()}getData(){return this.blob}}class X4 extends so{constructor(i){super(new Blob([i],{type:U4}))}}class V4 extends vm{constructor(i){super(i),Object.assign(this,{encoding:i,utf8:!i||i.toLowerCase()=="utf-8"})}async getData(){const{encoding:i,utf8:f}=this,s=await super.getData();if(s.text&&f)return s.text();{const r=new FileReader;return new Promise((o,h)=>{Object.assign(r,{onload:({target:v})=>o(v.result),onerror:()=>h(r.error)}),r.readAsText(s,i)})}}}class Q4 extends Ma{constructor(i,f){super(),_m(this,i,f)}async init(){await pm(this,Xr,eh),super.init()}readUint8Array(i,f){return bm(this,i,f,Xr,eh)}}class F4 extends Ma{constructor(i,f){super(),_m(this,i,f)}async init(){await pm(this,Vr,nh),super.init()}readUint8Array(i,f){return bm(this,i,f,Vr,nh)}}function _m(u,i,f){const{preventHeadRequest:s,useRangeHeader:r,forceRangeRequests:o,combineSizeEocd:h}=f;f=Object.assign({},f),delete f.preventHeadRequest,delete f.useRangeHeader,delete f.forceRangeRequests,delete f.combineSizeEocd,delete f.useXHR,Object.assign(u,{url:i,options:f,preventHeadRequest:s,useRangeHeader:r,forceRangeRequests:o,combineSizeEocd:h})}async function pm(u,i,f){const{url:s,preventHeadRequest:r,useRangeHeader:o,forceRangeRequests:h,combineSizeEocd:v}=u;if(I4(s)&&(o||h)&&(typeof r>"u"||r)){const m=await i(io,u,Sm(u,v?-vn:void 0));if(!h&&m.headers.get(H4)!=gm)throw new Error(iu);{v&&(u.eocdCache=new Uint8Array(await m.arrayBuffer()));let y;const _=m.headers.get(L4);if(_){const p=_.trim().split(/\s*\/\s*/);if(p.length){const b=p[1];b&&b!="*"&&(y=Number(b))}}y===At?await ah(u,i,f):u.size=y}}else await ah(u,i,f)}async function bm(u,i,f,s,r){const{useRangeHeader:o,forceRangeRequests:h,eocdCache:v,size:m,options:y}=u;if(o||h){if(v&&i==m-vn&&f==vn)return v;if(i>=m)return new Uint8Array;{i+f>m&&(f=m-i);const _=await s(io,u,Sm(u,i,f));if(_.status!=206)throw new Error(iu);return new Uint8Array(await _.arrayBuffer())}}else{const{data:_}=u;return _||await r(u,y),new Uint8Array(u.data.subarray(i,i+f))}}function Sm(u,i=0,f=1){return Object.assign({},fo(u),{[j4]:gm+"="+(i<0?i:i+"-"+(i+f-1))})}function fo({options:u}){const{headers:i}=u;if(i)return Symbol.iterator in i?Object.fromEntries(i):i}async function eh(u){await Em(u,Xr)}async function nh(u){await Em(u,Vr)}async function Em(u,i){const f=await i(io,u,fo(u));u.data=new Uint8Array(await f.arrayBuffer()),u.size||(u.size=u.data.length)}async function ah(u,i,f){if(u.preventHeadRequest)await f(u,u.options);else{const r=(await i(Y4,u,fo(u))).headers.get(C4);r?u.size=Number(r):await f(u,u.options)}}async function Xr(u,{options:i,url:f},s){const r=await fetch(f,Object.assign({},i,{method:u,headers:s}));if(r.status<400)return r;throw r.status==416?new Error(iu):new Error(hm+(r.statusText||r.status))}function Vr(u,{url:i},f){return new Promise((s,r)=>{const o=new XMLHttpRequest;if(o.addEventListener("load",()=>{if(o.status<400){const h=[];o.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(v=>{const m=v.trim().split(/\s*:\s*/);m[0]=m[0].trim().replace(/^[a-z]|-[a-z]/g,y=>y.toUpperCase()),h.push(m)}),s({status:o.status,arrayBuffer:()=>o.response,headers:new Map(h)})}else r(o.status==416?new Error(iu):new Error(hm+(o.statusText||o.status)))},!1),o.addEventListener("error",h=>r(h.detail?h.detail.error:new Error("Network error")),!1),o.open(u,i),f)for(const h of Object.entries(f))o.setRequestHeader(h[0],h[1]);o.responseType="arraybuffer",o.send()})}class Tm extends Ma{constructor(i,f={}){super(),Object.assign(this,{url:i,reader:f.useXHR?new F4(i,f):new Q4(i,f)})}set size(i){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}readUint8Array(i,f){return this.reader.readUint8Array(i,f)}}class K4 extends Tm{constructor(i,f={}){f.useRangeHeader=!0,super(i,f)}}class J4 extends Ma{constructor(i){super(),i=new Uint8Array(i.buffer,i.byteOffset,i.byteLength),Object.assign(this,{array:i,size:i.length})}readUint8Array(i,f){return this.array.slice(i,i+f)}}class k4 extends co{init(i=0){Object.assign(this,{offset:0,array:new Uint8Array(i)}),super.init()}writeUint8Array(i){const f=this;if(f.offset+i.length>f.array.length){const s=f.array;f.array=new Uint8Array(s.length+i.length),f.array.set(s)}f.array.set(i,f.offset),f.offset+=i.length}getData(){return this.array}}class ro extends Ma{constructor(i){super(),this.readers=i}async init(){const i=this,{readers:f}=i;i.lastDiskNumber=0,i.lastDiskOffset=0,await Promise.all(f.map(async(s,r)=>{await s.init(),r!=f.length-1&&(i.lastDiskOffset+=s.size),i.size+=s.size})),super.init()}async readUint8Array(i,f,s=0){const r=this,{readers:o}=this;let h,v=s;v==-1&&(v=o.length-1);let m=i;for(;o[v]&&m>=o[v].size;)m-=o[v].size,v++;const y=o[v];if(y){const _=y.size;if(m+f<=_)h=await Ee(y,m,f);else{const p=_-m;h=new Uint8Array(f);const b=await Ee(y,m,p);h.set(b,0);const T=await r.readUint8Array(i+p,f-p,s);h.set(T,p),b.length+T.length<f&&(h=h.subarray(0,b.length+T.length))}}else h=new Uint8Array;return r.lastDiskNumber=Math.max(v,r.lastDiskNumber),h}}class Yc extends Qc{constructor(i,f=4294967295){super();const s=this;Object.assign(s,{diskNumber:0,diskOffset:0,size:0,maxSize:f,availableSize:f});let r,o,h;const v=new WritableStream({async write(_){const{availableSize:p}=s;if(h)_.length>=p?(await m(_.subarray(0,p)),await y(),s.diskOffset+=r.size,s.diskNumber++,h=null,await this.write(_.subarray(p))):await m(_);else{const{value:b,done:T}=await i.next();if(T&&!b)throw new Error(mm);r=b,r.size=0,r.maxSize&&(s.maxSize=r.maxSize),s.availableSize=s.maxSize,await ta(r),o=b.writable,h=o.getWriter(),await this.write(_)}},async close(){await h.ready,await y()}});Object.defineProperty(s,uo,{get(){return v}});async function m(_){const p=_.length;p&&(await h.ready,await h.write(_),r.size+=p,s.size+=p,s.availableSize-=p)}async function y(){await h.close()}}}class Fc{constructor(i){return Array.isArray(i)&&(i=new ro(i)),i instanceof ReadableStream&&(i={readable:i}),i}}class oo{constructor(i){return i.writable===At&&typeof i.next==au&&(i=new Yc(i)),i instanceof WritableStream&&(i={writable:i}),i.size===At&&(i.size=0),i instanceof Yc||Object.assign(i,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),i}}function I4(u){const{baseURL:i}=eo(),{protocol:f}=new URL(u,i);return f=="http:"||f=="https:"}async function ta(u,i){if(u.init&&!u.initialized)await u.init(i);else return Promise.resolve()}function Ee(u,i,f,s){return u.readUint8Array(i,f,s)}const W4=ro,$4=Yc,Am="filename",xm="rawFilename",ho="comment",wm="rawComment",mo="uncompressedSize",Om="compressedSize",Rm="offset",Qr="diskNumberStart",Gc="lastModDate",Fr="rawLastModDate",yo="lastAccessDate",P4="rawLastAccessDate",go="creationDate",t_="rawCreationDate",Dm="internalFileAttribute",zm="internalFileAttributes",Nm="externalFileAttribute",Mm="externalFileAttributes",Um="msDosCompatible",vo="zip64",Cm="encrypted",Lm="version",Hm="versionMadeBy",jm="zipCrypto",Nc="directory",Bm="executable",Ym="compressionMethod",Gm="signature",qm="extraField",e_=[Am,xm,Om,mo,Gc,Fr,ho,wm,yo,go,Rm,Qr,Qr,Dm,zm,Nm,Mm,Um,vo,Cm,Lm,Hm,jm,Nc,Bm,Ym,Gm,qm,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class qc{constructor(i){e_.forEach(f=>this[f]=i[f])}}const n_="filenameEncoding",a_="commentEncoding",l_="decodeText",i_="extractPrependedData",u_="extractAppendedData",Zm="password",Xm="rawPassword",Vm="passThrough",Qm="signal",c_="checkPasswordOnly",s_="checkOverlappingEntryOnly",f_="checkOverlappingEntry",r_="checkSignature",Fm="useWebWorkers",Km="useCompressionStream",o_="transferStreams",Jm="preventClose",d_="encryptionStrength",h_="extendedTimestamp",m_="keepOrder",y_="level",g_="bufferedWrite",v_="dataDescriptorSignature",__="useUnicodeFileNames",p_="dataDescriptor",km="supportZip64SplitFile",b_="encodeText",lh="offset",Im="usdz",Wm="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split(""),S_=Wm.length==256;function E_(u){if(S_){let i="";for(let f=0;f<u.length;f++)i+=Wm[u[f]];return i}else return new TextDecoder().decode(u)}function Mc(u,i){return i&&i.trim().toLowerCase()=="cp437"?E_(u):new TextDecoder(i).decode(u)}const xr="File format is not recognized",T_="End of central directory not found",A_="End of Zip64 central directory locator not found",x_="Central directory header not found",w_="Local file header not found",O_="Zip64 extra field not found",R_="File contains encrypted entry",D_="Encryption method not supported",ih="Compression method not supported",uh="Split zip file",z_="Overlapping entry found",ch="utf-8",sh="cp437",N_=[[mo,ce],[Om,ce],[Rm,ce],[Qr,le]],M_={[le]:{getValue:Pt,bytes:4},[ce]:{getValue:Jl,bytes:8}};class U_{constructor(i,f={}){Object.assign(this,{reader:new Fc(i),options:f,config:eo(),readRanges:[]})}async*getEntriesGenerator(i={}){const f=this;let{reader:s}=f;const{config:r}=f;if(await ta(s),(s.size===At||!s.readUint8Array)&&(s=new so(await new Response(s.readable).blob()),await ta(s)),s.size<vn)throw new Error(xr);s.chunkSize=qh(r);const o=await G_(s,zh,s.size,vn,le*16);if(!o){const st=await Ee(s,0,4),at=ne(st);throw Pt(at)==$r?new Error(uh):new Error(T_)}const h=ne(o);let v=Pt(h,12),m=Pt(h,16);const y=o.offset,_=Te(h,20),p=y+vn+_;let b=Te(h,4);const T=s.lastDiskNumber||0;let D=Te(h,6),G=Te(h,8),W=0,J=0;if(m==ce||v==ce||G==le||D==le){const st=await Ee(s,o.offset-ki,ki),at=ne(st);if(Pt(at,0)==Nh){m=Jl(at,8);let _t=await Ee(s,m,Ii,-1),pt=ne(_t);const yt=o.offset-ki-Ii;if(Pt(pt,0)!=Lr&&m!=yt){const ot=m;m=yt,m>ot&&(W=m-ot),_t=await Ee(s,m,Ii,-1),pt=ne(_t)}if(Pt(pt,0)!=Lr)throw new Error(A_);b==le&&(b=Pt(pt,16)),D==le&&(D=Pt(pt,20)),G==le&&(G=Jl(pt,32)),v==ce&&(v=Jl(pt,40)),m-=v}}if(m>=s.size&&(W=s.size-m-v-vn,m=s.size-v-vn),T!=b)throw new Error(uh);if(m<0)throw new Error(xr);let Z=0,$=await Ee(s,m,v,D),I=ne($);if(v){const st=o.offset-v;if(Pt(I,Z)!=Cr&&m!=st){const at=m;m=st,m>at&&(W+=m-at),$=await Ee(s,m,v,D),I=ne($)}}const B=o.offset-m-(s.lastDiskOffset||0);if(v!=B&&B>=0&&(v=B,$=await Ee(s,m,v,D),I=ne($)),m<0||m>=s.size)throw new Error(xr);const it=Ne(f,i,n_),X=Ne(f,i,a_);for(let st=0;st<G;st++){const at=new C_(s,r,f.options);if(Pt(I,Z)!=Cr)throw new Error(x_);$m(at,I,Z+6);const _t=!!at.bitFlag.languageEncodingFlag,pt=Z+46,yt=pt+at.filenameLength,ot=yt+at.extraFieldLength,N=Te(I,Z+4),V=N>>8==0,lt=N>>8==3,rt=$.subarray(pt,yt),gt=Te(I,Z+32),E=ot+gt,R=$.subarray(ot,E),k=_t,w=_t,U=Pt(I,Z+38),L=V&&(Kl(I,Z+38)&Yr)==Yr||lt&&(U>>16&Qv)==Yh||rt.length&&rt.at(-1)==Wi.charCodeAt(0),P=lt&&(U>>16&Gr)!=0,H=Pt(I,Z+42)+W;Object.assign(at,{versionMadeBy:N,msDosCompatible:V,compressedSize:0,uncompressedSize:0,commentLength:gt,directory:L,offset:H,diskNumberStart:Te(I,Z+34),internalFileAttributes:Te(I,Z+36),externalFileAttributes:U,rawFilename:rt,filenameUTF8:k,commentUTF8:w,rawExtraField:$.subarray(yt,ot),executable:P}),at.internalFileAttribute=at.internalFileAttributes,at.externalFileAttribute=at.externalFileAttributes;const ht=Ne(f,i,l_)||Mc,Yt=k?ch:it||sh,Ft=w?ch:X||sh;let ae=ht(rt,Yt);ae===At&&(ae=Mc(rt,Yt));let oe=ht(R,Ft);oe===At&&(oe=Mc(R,Ft)),Object.assign(at,{rawComment:R,filename:ae,comment:oe,directory:L||ae.endsWith(Wi)}),J=Math.max(H,J),Pm(at,at,I,Z+6),at.zipCrypto=at.encrypted&&!at.extraFieldAES;const Jt=new qc(at);Jt.getData=(kt,je)=>at.getData(kt,Jt,f.readRanges,je),Jt.arrayBuffer=async kt=>{const je=new TransformStream,[Be]=await Promise.all([new Response(je.readable).arrayBuffer(),at.getData(je,Jt,f.readRanges,kt)]);return Be},Z=E;const{onprogress:Gt}=i;if(Gt)try{await Gt(st+1,G,new qc(at))}catch{}yield Jt}const et=Ne(f,i,i_),ut=Ne(f,i,u_);return et&&(f.prependedData=J>0?await Ee(s,0,J):new Uint8Array),f.comment=_?await Ee(s,y+vn,_):new Uint8Array,ut&&(f.appendedData=p<s.size?await Ee(s,p,s.size-p):new Uint8Array),!0}async getEntries(i={}){const f=[];for await(const s of this.getEntriesGenerator(i))f.push(s);return f}async close(){}}class C_{constructor(i,f,s){Object.assign(this,{reader:i,config:f,options:s})}async getData(i,f,s,r={}){const o=this,{reader:h,offset:v,diskNumberStart:m,extraFieldAES:y,extraFieldZip64:_,compressionMethod:p,config:b,bitFlag:T,signature:D,rawLastModDate:G,uncompressedSize:W,compressedSize:J}=o,{dataDescriptor:Z}=T,$=f.localDirectory={},I=await Ee(h,v,tl,m),B=ne(I);let it=Ne(o,r,Zm),X=Ne(o,r,Xm);const et=Ne(o,r,Vm);if(it=it&&it.length&&it,X=X&&X.length&&X,y&&y.originalCompressionMethod!=Oh)throw new Error(ih);if(p!=wh&&p!=Wr&&!et)throw new Error(ih);if(Pt(B,0)!=Rh)throw new Error(w_);$m($,B,4);const{extraFieldLength:ut,filenameLength:st,lastAccessDate:at,creationDate:_t}=$;$.rawExtraField=ut?await Ee(h,v+tl+st,ut,m):new Uint8Array,Pm(o,$,B,4,!0),Object.assign(f,{lastAccessDate:at,creationDate:_t});const pt=o.encrypted&&$.encrypted&&!et,yt=pt&&!y;if(et||(f.zipCrypto=yt),pt){if(!yt&&y.strength===At)throw new Error(D_);if(!it&&!X)throw new Error(R_)}const ot=v+tl+st+ut,N=J,V=h.readable;Object.assign(V,{diskNumberStart:m,offset:ot,size:N});const lt=Ne(o,r,Qm),rt=Ne(o,r,c_);let gt=Ne(o,r,f_);const E=Ne(o,r,s_);E&&(gt=!0);const{onstart:R,onprogress:k,onend:w}=r,U={options:{codecType:fm,password:it,rawPassword:X,zipCrypto:yt,encryptionStrength:y&&y.strength,signed:Ne(o,r,r_)&&!et,passwordVerification:yt&&(Z?G>>>8&255:D>>>24&255),outputSize:W,signature:D,compressed:p!=0&&!et,encrypted:o.encrypted&&!et,useWebWorkers:Ne(o,r,Fm),useCompressionStream:Ne(o,r,Km),transferStreams:Ne(o,r,o_),checkPasswordOnly:rt},config:b,streamOptions:{signal:lt,size:N,onstart:R,onprogress:k,onend:w}};gt&&await Y_({reader:h,fileEntry:f,offset:v,diskNumberStart:m,signature:D,compressedSize:J,uncompressedSize:W,dataOffset:ot,dataDescriptor:Z||$.bitFlag.dataDescriptor,extraFieldZip64:_||$.extraFieldZip64,readRanges:s});let L;try{if(!E){rt&&(i=new WritableStream),i=new oo(i),await ta(i,et?J:W),{writable:L}=i;const{outputSize:P}=await dm({readable:V,writable:L},U);if(i.size+=P,P!=(et?J:W))throw new Error(im)}}catch(P){if(P.outputSize!==At&&(i.size+=P.outputSize),!rt||P.message!=no)throw P}finally{!Ne(o,r,Jm)&&L&&!L.locked&&await L.getWriter().close()}return rt||E?At:i.getData?i.getData():L}}function $m(u,i,f){const s=u.rawBitFlag=Te(i,f+2),r=(s&Hr)==Hr,o=Pt(i,f+6);Object.assign(u,{encrypted:r,version:Te(i,f),bitFlag:{level:(s&qv)>>1,dataDescriptor:(s&jr)==jr,languageEncodingFlag:(s&Br)==Br},rawLastModDate:o,lastModDate:q_(o),filenameLength:Te(i,f+22),extraFieldLength:Te(i,f+24)})}function Pm(u,i,f,s,r){const{rawExtraField:o}=i,h=i.extraField=new Map,v=ne(new Uint8Array(o));let m=0;try{for(;m<o.length;){const J=Te(v,m),Z=Te(v,m+2);h.set(J,{type:J,data:o.slice(m+4,m+4+Z)}),m+=4+Z}}catch{}const y=Te(f,s+4);Object.assign(i,{signature:Pt(f,s+to),compressedSize:Pt(f,s+kl),uncompressedSize:Pt(f,s+Il)});const _=h.get(Ch);_&&(L_(_,i),i.extraFieldZip64=_);const p=h.get(Yv);p&&(fh(p,Am,xm,i,u),i.extraFieldUnicodePath=p);const b=h.get(Gv);b&&(fh(b,ho,wm,i,u),i.extraFieldUnicodeComment=b);const T=h.get(Lh);T?(H_(T,i,y),i.extraFieldAES=T):i.compressionMethod=y;const D=h.get(Hh);D&&(j_(D,i),i.extraFieldNTFS=D);const G=h.get(Pr);G&&(B_(G,i,r),i.extraFieldExtendedTimestamp=G);const W=h.get(Bh);W&&(i.extraFieldUSDZ=W)}function L_(u,i){i.zip64=!0;const f=ne(u.data),s=N_.filter(([r,o])=>i[r]==o);for(let r=0,o=0;r<s.length;r++){const[h,v]=s[r];if(i[h]==v){const m=M_[v];i[h]=u[h]=m.getValue(f,o),o+=m.bytes}else if(u[h])throw new Error(O_)}}function fh(u,i,f,s,r){const o=ne(u.data),h=new jc;h.append(r[f]);const v=ne(new Uint8Array(4));v.setUint32(0,h.get(),!0);const m=Pt(o,1);Object.assign(u,{version:Kl(o,0),[i]:Mc(u.data.subarray(5)),valid:!r.bitFlag.languageEncodingFlag&&m==Pt(v,0)}),u.valid&&(s[i]=u[i],s[i+"UTF8"]=!0)}function H_(u,i,f){const s=ne(u.data),r=Kl(s,4);Object.assign(u,{vendorVersion:Kl(s,0),vendorId:Kl(s,2),strength:r,originalCompressionMethod:f,compressionMethod:Te(s,5)}),i.compressionMethod=u.compressionMethod}function j_(u,i){const f=ne(u.data);let s=4,r;try{for(;s<u.data.length&&!r;){const o=Te(f,s),h=Te(f,s+2);o==jh&&(r=u.data.slice(s+4,s+4+h)),s+=4+h}}catch{}try{if(r&&r.length==24){const o=ne(r),h=o.getBigUint64(0,!0),v=o.getBigUint64(8,!0),m=o.getBigUint64(16,!0);Object.assign(u,{rawLastModDate:h,rawLastAccessDate:v,rawCreationDate:m});const y=wr(h),_=wr(v),p=wr(m),b={lastModDate:y,lastAccessDate:_,creationDate:p};Object.assign(u,b),Object.assign(i,b)}}catch{}}function B_(u,i,f){const s=ne(u.data),r=Kl(s,0),o=[],h=[];f?((r&1)==1&&(o.push(Gc),h.push(Fr)),(r&2)==2&&(o.push(yo),h.push(P4)),(r&4)==4&&(o.push(go),h.push(t_))):u.data.length>=5&&(o.push(Gc),h.push(Fr));let v=1;o.forEach((m,y)=>{if(u.data.length>=v+4){const _=Pt(s,v);i[m]=u[m]=new Date(_*1e3);const p=h[y];u[p]=_}v+=4})}async function Y_({reader:u,fileEntry:i,offset:f,diskNumberStart:s,signature:r,compressedSize:o,uncompressedSize:h,dataOffset:v,dataDescriptor:m,extraFieldZip64:y,readRanges:_}){let p=0;if(s)for(let D=0;D<s;D++){const G=u.readers[D];p+=G.size}let b=0;if(m&&(y?b=Uh:b=Mh),b){const D=await Ee(u,v+o,b+Hc,s);if(Pt(ne(D),0)==Dh){const W=Pt(ne(D),4);let J,Z;y?(J=Jl(ne(D),8),Z=Jl(ne(D),16)):(J=Pt(ne(D),8),Z=Pt(ne(D),12)),(i.encrypted&&!i.zipCrypto||W==r)&&J==o&&Z==h&&(b+=Hc)}}const T={start:p+f,end:p+v+o+b,fileEntry:i};for(const D of _)if(D.fileEntry!=i&&T.start>=D.start&&T.start<D.end){const G=new Error(z_);throw G.overlappingEntry=D.fileEntry,G}_.push(T)}async function G_(u,i,f,s,r){const o=new Uint8Array(4),h=ne(o);Z_(h,0,i);const v=s+r;return await m(s)||await m(Math.min(v,f));async function m(y){const _=f-y,p=await Ee(u,_,y);for(let b=p.length-s;b>=0;b--)if(p[b]==o[0]&&p[b+1]==o[1]&&p[b+2]==o[2]&&p[b+3]==o[3])return{offset:_+b,buffer:p.slice(b,b+s).buffer}}}function Ne(u,i,f){return i[f]===At?u.options[f]:i[f]}function q_(u){const i=(u&4294901760)>>16,f=u&65535;try{return new Date(1980+((i&65024)>>9),((i&480)>>5)-1,i&31,(f&63488)>>11,(f&2016)>>5,(f&31)*2,0)}catch{}}function wr(u){return new Date(Number(u/BigInt(1e4)-BigInt(116444736e5)))}function Kl(u,i){return u.getUint8(i)}function Te(u,i){return u.getUint16(i,!0)}function Pt(u,i){return u.getUint32(i,!0)}function Jl(u,i){return Number(u.getBigUint64(i,!0))}function Z_(u,i,f){u.setUint32(i,f,!0)}function ne(u){return new DataView(u.buffer)}const t3="File already exists",e3="Zip file comment exceeds 64KB",n3="File entry comment exceeds 64KB",a3="File entry name exceeds 64KB",Kr="Version exceeds 65535",l3="The strength must equal 1, 2, or 3",i3="Extra field type exceeds 65535",u3="Extra field data exceeds 64KB",Kc="Zip64 is not supported (make sure 'keepOrder' is set to 'true')",c3="Undefined uncompressed size",s3="Zip file not empty",rh=new Uint8Array([7,0,2,0,65,69,3,0,0]);let Or=0;const oh=[];class f3{constructor(i,f={}){i=new oo(i);const s=i.availableSize!==At&&i.availableSize>0&&i.availableSize!==1/0&&i.maxSize!==At&&i.maxSize>0&&i.maxSize!==1/0;Object.assign(this,{writer:i,addSplitZipSignature:s,options:f,config:eo(),files:new Map,filenames:new Set,offset:f[lh]===At?i.size||i.writable.size||0:f[lh],pendingEntriesSize:0,pendingAddFileCalls:new Set,bufferedWrites:0})}async prependZip(i){if(this.filenames.size)throw new Error(s3);i=new Fc(i);const f=new U_(i.readable),s=await f.getEntries();await f.close(),await i.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=i.size,this.filenames=new Set(s.map(r=>r.filename)),this.files=new Map(s.map(r=>{const{version:o,compressionMethod:h,lastModDate:v,lastAccessDate:m,creationDate:y,rawFilename:_,bitFlag:p,encrypted:b,uncompressedSize:T,compressedSize:D,diskOffset:G,diskNumber:W,zip64:J}=r;let{rawExtraFieldZip64:Z,rawExtraFieldAES:$,rawExtraFieldExtendedTimestamp:I,rawExtraFieldNTFS:B,rawExtraField:it}=r;const{level:X,languageEncodingFlag:et,dataDescriptor:ut}=p;Z=Z||new Uint8Array,$=$||new Uint8Array,I=I||new Uint8Array,B=B||new Uint8Array,it=it||new Uint8Array;const st=zt(Z,$,I,B,it),at=J&&T>ce,_t=J&&D>ce,{headerArray:pt,headerView:yt}=r3({version:o,bitFlag:o3(X,et,ut,b,h),compressionMethod:h,uncompressedSize:T,compressedSize:D,lastModDate:v,rawFilename:_,zip64CompressedSize:_t,zip64UncompressedSize:at,extraFieldLength:st});return Object.assign(r,{zip64UncompressedSize:at,zip64CompressedSize:_t,zip64Offset:J&&this.offset-G>ce,zip64DiskNumberStart:J&&W>le,rawExtraFieldZip64:Z,rawExtraFieldAES:$,rawExtraFieldExtendedTimestamp:I,rawExtraFieldNTFS:B,rawExtraField:it,extendedTimestamp:I.length>0||B.length>0,extraFieldExtendedTimestampFlag:1+(m?2:0)+(y?4:0),headerArray:pt,headerView:yt}),[r.filename,r]}))}async add(i="",f,s={}){const r=this,{pendingAddFileCalls:o,config:h}=r;Or<h.maxWorkers?Or++:await new Promise(m=>oh.push(m));let v;try{if(i=i.trim(),r.filenames.has(i))throw new Error(t3);return r.filenames.add(i),v=V_(r,i,f,s),o.add(v),await v}catch(m){throw r.filenames.delete(i),m}finally{o.delete(v);const m=oh.shift();m?m():Or--}}remove(i){const{filenames:f,files:s}=this;if(typeof i=="string"&&(i=s.get(i)),i&&i.filename!==At){const{filename:r}=i;if(f.has(r)&&s.has(r))return f.delete(r),s.delete(r),!0}return!1}async close(i=new Uint8Array,f={}){const s=this,{pendingAddFileCalls:r,writer:o}=this,{writable:h}=o;for(;r.size;)await Promise.allSettled(Array.from(r));return await $_(this,i,f),Ct(s,f,Jm)||await h.getWriter().close(),o.getData?o.getData():h}}class X_{constructor(i={}){const{readable:f,writable:s}=new TransformStream;this.readable=f,this.zipWriter=new f3(s,i)}transform(i){const{readable:f,writable:s}=new TransformStream({flush:()=>{this.zipWriter.close()}});return this.zipWriter.add(i,f),{readable:this.readable,writable:s}}writable(i){const{readable:f,writable:s}=new TransformStream;return this.zipWriter.add(i,f),s}close(i=void 0,f={}){return this.zipWriter.close(i,f)}}async function V_(u,i,f,s){i=i.trim();const r=Ct(u,s,Um),o=Ct(u,s,Hm,r?20:768),h=Ct(u,s,Bm);if(o>le)throw new Error(Kr);let v=Ct(u,s,Mm,0);v===0&&(v=Ct(u,s,Nm,0)),!s[Nc]&&i.endsWith(Wi)&&(s[Nc]=!0),Ct(u,s,Nc)?(i.endsWith(Wi)||(i+=Wi),v===0&&(v=Yr,r||(v|=(Yh|Gr|Sr)<<16))):!r&&v===0&&(h?v=(Gr|Sr)<<16:v=Sr<<16);const y=Ct(u,s,b_,Dc);let _=y(i);if(_===At&&(_=Dc(i)),zt(_)>le)throw new Error(a3);const p=s[ho]||"";let b=y(p);if(b===At&&(b=Dc(p)),zt(b)>le)throw new Error(n3);const T=Ct(u,s,Lm,Fv);if(T>le)throw new Error(Kr);const D=Ct(u,s,Gc,new Date),G=Ct(u,s,yo),W=Ct(u,s,go);let J=Ct(u,s,zm,0);J===0&&(J=Ct(u,s,Dm,0));const Z=Ct(u,s,Vm);let $,I;Z||($=Ct(u,s,Zm),I=Ct(u,s,Xm));const B=Ct(u,s,d_,3),it=Ct(u,s,jm),X=Ct(u,s,h_,!0),et=Ct(u,s,m_,!0),ut=Ct(u,s,y_),st=Ct(u,s,Fm),at=Ct(u,s,g_),_t=Ct(u,s,v_,!1),pt=Ct(u,s,Qm),yt=Ct(u,s,__,!0),ot=Ct(u,s,Km),N=Ct(u,s,Ym);let V=Ct(u,s,p_);at&&V===At&&(V=!1),(V===At||it)&&(V=!0);let lt=Ct(u,s,vo);if(!it&&($!==At||I!==At)&&!(B>=1&&B<=3))throw new Error(l3);let rt=new Uint8Array;const gt=s[qm];if(gt){let Be=0,qe=0;gt.forEach(Ce=>Be+=4+zt(Ce)),rt=new Uint8Array(Be),gt.forEach((Ce,Ae)=>{if(Ae>le)throw new Error(i3);if(zt(Ce)>le)throw new Error(u3);re(rt,new Uint16Array([Ae]),qe),re(rt,new Uint16Array([zt(Ce)]),qe+2),re(rt,Ce,qe+4),qe+=4+zt(Ce)})}let E=0,R=0,k=0;if(Z&&(k=s[mo],k===At))throw new Error(c3);const w=lt===!0;f&&(f=new Fc(f),await ta(f),Z?(s.uncompressedSize=k,E=hh(k)):f.size===At?(V=!0,(lt||lt===At)&&(lt=!0,k=E=ce+1)):(s.uncompressedSize=k=f.size,E=hh(k)));const{diskOffset:U,diskNumber:L,maxSize:P}=u.writer,H=w||k>ce,ht=w||E>ce,Yt=w||u.offset+u.pendingEntriesSize-U>ce,ae=Ct(u,s,km,!0)&&w||L+Math.ceil(u.pendingEntriesSize/P)>le;if(Yt||H||ht||ae){if(lt===!1||!et)throw new Error(Kc);lt=!0}lt=lt||!1;const oe=Ct(u,s,Cm);s=Object.assign({},s,{rawFilename:_,rawComment:b,version:T,versionMadeBy:o,lastModDate:D,lastAccessDate:G,creationDate:W,rawExtraField:rt,zip64:lt,zip64UncompressedSize:H,zip64CompressedSize:ht,zip64Offset:Yt,zip64DiskNumberStart:ae,password:$,rawPassword:I,level:!ot&&u.config.CompressionStream===At&&u.config.CompressionStreamNative===At?0:ut,useWebWorkers:st,encryptionStrength:B,extendedTimestamp:X,zipCrypto:it,bufferedWrite:at,keepOrder:et,useUnicodeFileNames:yt,dataDescriptor:V,dataDescriptorSignature:_t,signal:pt,msDosCompatible:r,internalFileAttribute:J,internalFileAttributes:J,externalFileAttribute:v,externalFileAttributes:v,useCompressionStream:ot,passThrough:Z,encrypted:!!($&&zt($)||I&&zt(I))||Z&&oe,signature:s[Gm],compressionMethod:N,uncompressedSize:k,offset:u.offset-U,diskNumberStart:L});const Jt=K_(s),Gt=k_(s),kt=zt(Jt.localHeaderArray,Gt.dataDescriptorArray);R=kt+E,u.options[Im]&&(R+=R+64),u.pendingEntriesSize+=R;let je;try{je=await Q_(u,i,f,{headerInfo:Jt,dataDescriptorInfo:Gt,metadataSize:kt},s)}finally{u.pendingEntriesSize-=R}return Object.assign(je,{name:i,comment:p,extraField:gt}),new qc(je)}async function Q_(u,i,f,s,r){const{files:o,writer:h}=u,{keepOrder:v,dataDescriptor:m,signal:y}=r,{headerInfo:_}=s,p=u.options[Im],b=Array.from(o.values()).pop();let T={},D,G,W,J,Z,$,I;o.set(i,T);try{let et;v&&(et=b&&b.lock,B()),(r.bufferedWrite||u.writerLocked||u.bufferedWrites&&v||!m)&&!p?($=new TransformStream,$.size=0,D=!0,u.bufferedWrites++,await ta(h)):($=h,await it()),await ta($);const{writable:ut,diskOffset:st}=h;if(u.addSplitZipSignature){delete u.addSplitZipSignature;const ot=new Uint8Array(4),N=Ue(ot);Dt(N,0,$r),await $n(h,ot),u.offset+=4}p&&J_(s,u.offset-st);const{localHeaderView:at,localHeaderArray:_t}=_;D||(await et,await X(ut));const{diskNumber:pt}=h;Z=!0,T.diskNumberStart=pt,D?I=new Response($.readable).blob():await $n($,_t),T=await F_(f,$,T,s,u.config,r);const{zip64:yt}=T;if(Z=!1,o.set(i,T),T.filename=i,D){const[ot]=await Promise.all([I,$.writable.getWriter().close(),et]);await it(),J=!0,T.diskNumberStart=h.diskNumber,T.offset=u.offset-h.diskOffset,yt&&dh(T),W_(T,at,r),await X(ut),await $n(h,_t),await ot.stream().pipeTo(ut,{preventClose:!0,preventAbort:!0,signal:y}),h.size+=$.size,J=!1}else T.offset=u.offset-st,yt&&dh(T);if(T.offset>ce&&!yt)throw new Error(Kc);return u.offset+=T.size,T}catch(et){if(D&&J||!D&&Z){if(u.hasCorruptedEntries=!0,et)try{et.corruptedEntry=!0}catch{}D?u.offset+=$.size:u.offset=$.size}throw o.delete(i),et}finally{D&&u.bufferedWrites--,W&&W(),G&&G()}function B(){T.lock=new Promise(et=>W=et)}async function it(){u.writerLocked=!0;const{lockWriter:et}=u;u.lockWriter=new Promise(ut=>G=()=>{u.writerLocked=!1,ut()}),await et}async function X(et){zt(_.localHeaderArray)>h.availableSize&&(h.availableSize=0,await $n(et,new Uint8Array))}}async function F_(u,i,{diskNumberStart:f,lock:s},r,o,h){const{headerInfo:v,dataDescriptorInfo:m,metadataSize:y}=r,{headerArray:_,headerView:p,lastModDate:b,rawLastModDate:T,encrypted:D,compressed:G,version:W,compressionMethod:J,rawExtraFieldZip64:Z,localExtraFieldZip64Length:$,rawExtraFieldExtendedTimestamp:I,extraFieldExtendedTimestampFlag:B,rawExtraFieldNTFS:it,rawExtraFieldAES:X}=v,{dataDescriptorArray:et}=m,{rawFilename:ut,lastAccessDate:st,creationDate:at,password:_t,rawPassword:pt,level:yt,zip64:ot,zip64UncompressedSize:N,zip64CompressedSize:V,zip64Offset:lt,zip64DiskNumberStart:rt,zipCrypto:gt,dataDescriptor:E,directory:R,executable:k,versionMadeBy:w,rawComment:U,rawExtraField:L,useWebWorkers:P,onstart:H,onprogress:ht,onend:Yt,signal:Ft,encryptionStrength:ae,extendedTimestamp:oe,msDosCompatible:Jt,internalFileAttributes:Gt,externalFileAttributes:kt,useCompressionStream:je,passThrough:Be}=h,qe={lock:s,versionMadeBy:w,zip64:ot,directory:!!R,executable:!!k,filenameUTF8:!0,rawFilename:ut,commentUTF8:!0,rawComment:U,rawExtraFieldZip64:Z,localExtraFieldZip64Length:$,rawExtraFieldExtendedTimestamp:I,rawExtraFieldNTFS:it,rawExtraFieldAES:X,rawExtraField:L,extendedTimestamp:oe,msDosCompatible:Jt,internalFileAttributes:Gt,externalFileAttributes:kt,diskNumberStart:f};let{signature:Ce,uncompressedSize:Ae}=h,wn=0;Be||(Ae=0);const{writable:nl}=i;if(u){u.chunkSize=qh(o);const xe=u.readable,al=u.size,ll={options:{codecType:sm,level:yt,rawPassword:pt,password:_t,encryptionStrength:ae,zipCrypto:D&&gt,passwordVerification:D&&gt&&T>>8&255,signed:!Be,compressed:G&&!Be,encrypted:D&&!Be,useWebWorkers:P,useCompressionStream:je,transferStreams:!1},config:o,streamOptions:{signal:Ft,size:al,onstart:H,onprogress:ht,onend:Yt}};try{const _e=await dm({readable:xe,writable:nl},ll);wn=_e.outputSize,i.size+=wn,Be||(Ae=_e.inputSize,Ce=_e.signature)}catch(_e){throw _e.outputSize!==At&&(i.size+=_e.outputSize),_e}}return I_({signature:Ce,compressedSize:wn,uncompressedSize:Ae,headerInfo:v,dataDescriptorInfo:m},h),E&&await $n(i,et),Object.assign(qe,{uncompressedSize:Ae,compressedSize:wn,lastModDate:b,rawLastModDate:T,creationDate:at,lastAccessDate:st,encrypted:D,zipCrypto:gt,size:y+wn,compressionMethod:J,version:W,headerArray:_,headerView:p,signature:Ce,extraFieldExtendedTimestampFlag:B,zip64UncompressedSize:N,zip64CompressedSize:V,zip64Offset:lt,zip64DiskNumberStart:rt}),qe}function K_(u){const{rawFilename:i,lastModDate:f,lastAccessDate:s,creationDate:r,level:o,zip64:h,zipCrypto:v,useUnicodeFileNames:m,dataDescriptor:y,directory:_,rawExtraField:p,encryptionStrength:b,extendedTimestamp:T,passThrough:D,encrypted:G,zip64UncompressedSize:W,zip64CompressedSize:J,zip64Offset:Z,zip64DiskNumberStart:$,uncompressedSize:I,offset:B,diskNumberStart:it}=u;let{version:X,compressionMethod:et}=u;const ut=!_&&(o>0||o===At&&et!==0);let st;const at=D||!ut,_t=h&&(u.bufferedWrite||!W&&!J||at);if(h){let U=4;W&&(U+=8),J&&(U+=8),Z&&(U+=8),$&&(U+=4),st=new Uint8Array(U);const L=Ue(st);if(Lt(L,0,Ch),Lt(L,2,zt(st)-4),_t){const P=Ue(st);let H=4;W&&(ve(P,H,BigInt(I)),H+=8),J&&at&&(ve(P,H,BigInt(I)),H+=8),Z&&(ve(P,H,BigInt(B)),H+=8),$&&(Dt(P,H,it),H+=4)}}else st=new Uint8Array;let pt;if(G&&!v){pt=new Uint8Array(zt(rh)+2);const U=Ue(pt);Lt(U,0,Lh),re(pt,rh,2),Jr(U,8,b)}else pt=new Uint8Array;let yt,ot,N;if(T){ot=new Uint8Array(9+(s?4:0)+(r?4:0));const U=Ue(ot);Lt(U,0,Pr),Lt(U,2,zt(ot)-4),N=1+(s?2:0)+(r?4:0),Jr(U,4,N);let L=5;Dt(U,L,Math.floor(f.getTime()/1e3)),L+=4,s&&(Dt(U,L,Math.floor(s.getTime()/1e3)),L+=4),r&&Dt(U,L,Math.floor(r.getTime()/1e3));try{yt=new Uint8Array(36);const P=Ue(yt),H=Rr(f);Lt(P,0,Hh),Lt(P,2,32),Lt(P,8,jh),Lt(P,10,24),ve(P,12,H),ve(P,20,Rr(s)||H),ve(P,28,Rr(r)||H)}catch{yt=new Uint8Array}}else yt=ot=new Uint8Array;et===At&&(et=ut?Wr:wh),h&&(X=X>Y1?X:Y1),G&&!v&&(X=X>G1?X:G1,pt[9]=et,et=Oh);const V=_t?zt(st):0,lt=V+zt(pt,ot,yt,p),{headerArray:rt,headerView:gt,rawLastModDate:E}=r3({version:X,bitFlag:o3(o,m,y,G,et),compressionMethod:et,uncompressedSize:I,lastModDate:f<Z1?Z1:f>q1?q1:f,rawFilename:i,zip64CompressedSize:J,zip64UncompressedSize:W,extraFieldLength:lt});let R=tl;const k=new Uint8Array(R+zt(i)+lt),w=Ue(k);return Dt(w,0,Rh),re(k,rt,4),re(k,i,R),R+=zt(i),_t&&re(k,st,R),R+=V,re(k,pt,R),R+=zt(pt),re(k,ot,R),R+=zt(ot),re(k,yt,R),R+=zt(yt),re(k,p,R),y&&(Dt(w,kl+4,0),Dt(w,Il+4,0)),{localHeaderArray:k,localHeaderView:w,headerArray:rt,headerView:gt,lastModDate:f,rawLastModDate:E,encrypted:G,compressed:ut,version:X,compressionMethod:et,extraFieldExtendedTimestampFlag:N,rawExtraFieldZip64:st,localExtraFieldZip64Length:V,rawExtraFieldExtendedTimestamp:ot,rawExtraFieldNTFS:yt,rawExtraFieldAES:pt,extraFieldLength:lt}}function J_(u,i){const{headerInfo:f}=u;let{localHeaderArray:s,extraFieldLength:r}=f,o=Ue(s),h=64-(i+zt(s))%64;h<4&&(h+=64);const v=new Uint8Array(h),m=Ue(v);Lt(m,0,Bh),Lt(m,2,h-2);const y=s;f.localHeaderArray=s=new Uint8Array(zt(y)+h),re(s,y),re(s,v,zt(y)),o=Ue(s),Lt(o,28,r+h),u.metadataSize+=h}function k_({zip64:u,dataDescriptor:i,dataDescriptorSignature:f}){let s=new Uint8Array,r,o=0,h=u?Uh:Mh;return f&&(h+=Hc),i&&(s=new Uint8Array(h),r=Ue(s),f&&(o=Hc,Dt(r,0,Dh))),{dataDescriptorArray:s,dataDescriptorView:r,dataDescriptorOffset:o}}function I_({signature:u,compressedSize:i,uncompressedSize:f,headerInfo:s,dataDescriptorInfo:r},{zip64:o,zipCrypto:h,dataDescriptor:v}){const{headerView:m,encrypted:y}=s,{dataDescriptorView:_,dataDescriptorOffset:p}=r;(!y||h)&&u!==At&&(Dt(m,to,u),v&&Dt(_,p,u)),o?v&&(ve(_,p+4,BigInt(i)),ve(_,p+12,BigInt(f))):(Dt(m,kl,i),Dt(m,Il,f),v&&(Dt(_,p+4,i),Dt(_,p+8,f)))}function W_({rawFilename:u,encrypted:i,zip64:f,localExtraFieldZip64Length:s,signature:r,compressedSize:o,uncompressedSize:h,offset:v,diskNumberStart:m,zip64UncompressedSize:y,zip64CompressedSize:_,zip64Offset:p,zip64DiskNumberStart:b},T,{dataDescriptor:D}){if(D||(i||Dt(T,to+4,r),f||(Dt(T,kl+4,o),Dt(T,Il+4,h))),f&&s){let G=tl+zt(u)+4;y&&(ve(T,G,BigInt(h)),G+=8),_&&(ve(T,G,BigInt(o)),G+=8),p&&(ve(T,G,BigInt(v)),G+=8),b&&Dt(T,G,m)}}function dh({compressedSize:u,uncompressedSize:i,offset:f,diskNumberStart:s,zip64UncompressedSize:r,zip64CompressedSize:o,zip64Offset:h,zip64DiskNumberStart:v,rawExtraFieldZip64:m}){const y=Ue(m);let _=4;r&&(ve(y,_,BigInt(i)),_+=8),o&&(ve(y,_,BigInt(u)),_+=8),h&&(ve(y,_,BigInt(f)),_+=8),v&&Dt(y,_,s)}async function $_(u,i,f){const{files:s,writer:r}=u,{diskOffset:o}=r;let{diskNumber:h}=r,v=0,m=0,y=u.offset-o,_=s.size;for(const[,I]of s){const{rawFilename:B,rawExtraFieldZip64:it,rawExtraFieldAES:X,rawComment:et,rawExtraFieldNTFS:ut,rawExtraField:st,extendedTimestamp:at,extraFieldExtendedTimestampFlag:_t,lastModDate:pt}=I;let yt;if(at){yt=new Uint8Array(9);const ot=Ue(yt);Lt(ot,0,Pr),Lt(ot,2,5),Jr(ot,4,_t),Dt(ot,5,Math.floor(pt.getTime()/1e3))}else yt=new Uint8Array;I.rawExtraFieldExtendedTimestamp=yt,m+=46+zt(B,et,it,X,ut,yt,st)}const p=new Uint8Array(m),b=Ue(p);await ta(r);let T=0;for(const[I,B]of Array.from(s.values()).entries()){const{offset:it,rawFilename:X,rawExtraFieldZip64:et,rawExtraFieldAES:ut,rawExtraFieldExtendedTimestamp:st,rawExtraFieldNTFS:at,rawExtraField:_t,rawComment:pt,versionMadeBy:yt,headerArray:ot,headerView:N,zip64:V,zip64UncompressedSize:lt,zip64CompressedSize:rt,zip64DiskNumberStart:gt,zip64Offset:E,internalFileAttributes:R,externalFileAttributes:k,diskNumberStart:w,uncompressedSize:U,compressedSize:L}=B,P=zt(et,ut,st,at,_t);Dt(b,v,Cr),Lt(b,v+4,yt),lt||Dt(N,Il,U),rt||Dt(N,kl,L),re(p,ot,v+6);let H=v+tl;if(Lt(b,H,P),H+=2,Lt(b,H,zt(pt)),H+=2,Lt(b,H,V&&gt?le:w),H+=2,Lt(b,H,R),H+=2,k&&Dt(b,H,k),H+=4,Dt(b,H,V&&E?ce:it),H+=4,re(p,X,H),H+=zt(X),re(p,et,H),H+=zt(et),re(p,ut,H),H+=zt(ut),re(p,st,H),H+=zt(st),re(p,at,H),H+=zt(at),re(p,_t,H),H+=zt(_t),re(p,pt,H),v-T>r.availableSize&&(r.availableSize=0,await $n(r,p.slice(T,v)),T=v),v=H,f.onprogress)try{await f.onprogress(I+1,s.size,new qc(B))}catch{}}await $n(r,T?p.slice(T):p);let D=r.diskNumber;const{availableSize:G}=r;G<vn&&D++;let W=Ct(u,f,vo);if(y>ce||m>ce||_>le||D>le){if(W===!1)throw new Error(Kc);W=!0}const J=new Uint8Array(W?Bv:vn),Z=Ue(J);v=0,W&&(Dt(Z,0,Lr),ve(Z,4,BigInt(44)),Lt(Z,12,45),Lt(Z,14,45),Dt(Z,16,D),Dt(Z,20,h),ve(Z,24,BigInt(_)),ve(Z,32,BigInt(_)),ve(Z,40,BigInt(m)),ve(Z,48,BigInt(y)),Dt(Z,56,Nh),ve(Z,64,BigInt(y)+BigInt(m)),Dt(Z,72,D+1),Ct(u,f,km,!0)&&(D=le,h=le),_=le,y=ce,m=ce,v+=Ii+ki),Dt(Z,v,zh),Lt(Z,v+4,D),Lt(Z,v+6,h),Lt(Z,v+8,_),Lt(Z,v+10,_),Dt(Z,v+12,m),Dt(Z,v+16,y);const $=zt(i);if($)if($<=le)Lt(Z,v+20,$);else throw new Error(e3);await $n(r,J),$&&await $n(r,i)}async function $n(u,i){const{writable:f}=u,s=f.getWriter();try{await s.ready,u.size+=zt(i),await s.write(i)}finally{s.releaseLock()}}function Rr(u){if(u)return(BigInt(u.getTime())+BigInt(116444736e5))*BigInt(1e4)}function Ct(u,i,f,s){const r=i[f]===At?u.options[f]:i[f];return r===At?s:r}function hh(u){return u+5*(Math.floor(u/16383)+1)}function Jr(u,i,f){u.setUint8(i,f)}function Lt(u,i,f){u.setUint16(i,f,!0)}function Dt(u,i,f){u.setUint32(i,f,!0)}function ve(u,i,f){u.setBigUint64(i,f,!0)}function re(u,i,f){u.set(i,f)}function Ue(u){return new DataView(u.buffer)}function zt(...u){let i=0;return u.forEach(f=>f&&(i+=f.length)),i}function r3({version:u,bitFlag:i,compressionMethod:f,uncompressedSize:s,compressedSize:r,lastModDate:o,rawFilename:h,zip64CompressedSize:v,zip64UncompressedSize:m,extraFieldLength:y}){const _=new Uint8Array(tl-4),p=Ue(_);Lt(p,0,u),Lt(p,2,i),Lt(p,4,f);const b=new Uint32Array(1),T=Ue(b);Lt(T,0,(o.getHours()<<6|o.getMinutes())<<5|o.getSeconds()/2),Lt(T,2,(o.getFullYear()-1980<<4|o.getMonth()+1)<<5|o.getDate());const D=b[0];return Dt(p,6,D),(v||r!==At)&&Dt(p,kl,v?ce:r),(m||s!==At)&&Dt(p,Il,m?ce:s),Lt(p,22,zt(h)),Lt(p,24,y),{headerArray:_,headerView:p,rawLastModDate:D}}function o3(u,i,f,s,r){let o=0;return i&&(o=o|Br),f&&(o=o|jr),(r==Wr||r==jv)&&(u>=0&&u<=3&&(o=o|Vv),u>3&&u<=5&&(o=o|Xv),u==9&&(o=o|Zv)),s&&(o=o|Hr),o}Zh({Deflate:Lv});const P_=Object.freeze(Object.defineProperty({__proto__:null,BlobReader:so,BlobWriter:vm,Data64URIReader:q4,Data64URIWriter:Z4,ERR_DUPLICATED_NAME:t3,ERR_HTTP_RANGE:iu,ERR_INVALID_COMMENT:e3,ERR_INVALID_ENCRYPTION_STRENGTH:l3,ERR_INVALID_ENTRY_COMMENT:n3,ERR_INVALID_ENTRY_NAME:a3,ERR_INVALID_EXTRAFIELD_DATA:u3,ERR_INVALID_EXTRAFIELD_TYPE:i3,ERR_INVALID_VERSION:Kr,ERR_ITERATOR_COMPLETED_TOO_SOON:mm,ERR_UNDEFINED_UNCOMPRESSED_SIZE:c3,ERR_UNSUPPORTED_FORMAT:Kc,ERR_WRITER_NOT_INITIALIZED:ym,ERR_ZIP_NOT_EMPTY:s3,GenericReader:Fc,GenericWriter:oo,HttpRangeReader:K4,HttpReader:Tm,Reader:Ma,SplitDataReader:ro,SplitDataWriter:Yc,SplitZipReader:W4,SplitZipWriter:$4,TextReader:X4,TextWriter:V4,Uint8ArrayReader:J4,Uint8ArrayWriter:k4,Writer:co,ZipWriter:f3,ZipWriterStream:X_,configure:Zh,getMimeType:kv,initStream:ta,readUint8Array:Ee,terminateWorkers:M4},Symbol.toStringTag,{value:"Module"})),Vl=P_;async function tp(u,i){Vl.configure({useWebWorkers:!1});const f=new Vl.ZipWriter(new Vl.BlobWriter("application/zip")),s=[];i&&s.push(i,"");for(let r=0;r<u.length;r++){const o=r+1,h=u[r],v=h.sessionTitle||"session",m=h.title||"tab",y=`screenshot ${o}: ${v} / ${m} @ ${h.url} (${h.viewportWidth}x${h.viewportHeight})`;if(s.push(`## ${y}`),h.data){const _=`annotations-${o}.png`;await f.add(_,new Vl.Uint8ArrayReader(Uint8Array.fromBase64(h.data))),s.push(`- [Screenshot ${o}](${_})`)}if(h.ariaSnapshot){const _=`annotations-${o}.yaml`,b=[...h.annotations.map(T=>`# { x: ${T.x}, y: ${T.y}, width: ${T.width}, height: ${T.height} }: ${T.text}`),h.ariaSnapshot].join(`
51 -`);await f.add(_,new Vl.TextReader(b)),s.push(`- [Aria snapshot ${o}](${_})`)}for(const _ of h.annotations)_.text&&s.push(`- { x: ${_.x}, y: ${_.y}, width: ${_.width}, height: ${_.height} }: ${_.text}`);s.push("")}return await f.add("feedback.md",new Vl.TextReader(s.join(`
52 -`))),f.close()}const ep={sessions:[],clientInfo:void 0,loadingSessions:!0,tabs:null,liveFrame:void 0,annotateSession:null,pendingCapture:!1,mode:"readonly",recording:null};class np{constructor(i){this.state=ep,this._listeners=new Set,this._requestId=0,this._client=i,i.on("sessions",f=>this._emit({sessions:f.sessions,clientInfo:f.clientInfo,loadingSessions:!1})),i.on("tabs",f=>this._emit({tabs:f.tabs})),i.on("frame",f=>this._emit({liveFrame:f})),i.on("annotate",()=>this.enterAnnotate("cli")),i.on("cancelAnnotate",()=>this.cancelAnnotate(!1))}subscribe(i){return this._listeners.add(i),()=>{this._listeners.delete(i)}}sessionByGuid(i){return this.state.sessions.find(f=>f.browser.guid===i)}closeSession(i){this._client.closeSession({browser:i.browser.guid})}setVisible(i){this._client.setVisible({visible:i})}selectTab(i){this._client.selectTab({browser:i.browser,context:i.context,page:i.page})}closeTab(i){this._client.closeTab({browser:i.browser,context:i.context,page:i.page})}newTab(i,f){this._client.newTab({browser:i,context:f})}navigate(i){this._client.navigate({url:i})}back(){this._client.back()}forward(){this._client.forward()}reload(){this._client.reload()}mousemove(i,f){this._client.mousemove({x:i,y:f})}mousedown(i,f,s){this._client.mousedown({x:i,y:f,button:s})}mouseup(i,f,s){this._client.mouseup({x:i,y:f,button:s})}wheel(i,f){this._client.wheel({deltaX:i,deltaY:f})}keydown(i){this._client.keydown({key:i})}keyup(i){this._client.keyup({key:i})}toggleInteractive(){const i=this.state.mode==="interactive"?"readonly":"interactive";i==="interactive"?this._enterInteractive():this._emit({mode:i})}enterInteractive(){this._enterInteractive()}enterAnnotate(i){this._enterAnnotate(i)}addAnnotateFrame(){this._addAnnotateFrame()}selectAnnotateFrame(i,f){const s=this.state.annotateSession;!s||!s.frames.find(r=>r.id===i)||this._emit({annotateSession:{...s,selectedFrameId:i,focusAnnotationId:f??null},mode:"annotate"})}toggleSelectFrame(i){const f=this.state.annotateSession;f&&(f.selectedFrameId===i?this._emit({annotateSession:{...f,selectedFrameId:null,focusAnnotationId:null},mode:"readonly"}):this.selectAnnotateFrame(i))}deselectFrame(){const i=this.state.annotateSession;!i||i.selectedFrameId===null||this._emit({annotateSession:{...i,selectedFrameId:null,focusAnnotationId:null},mode:"readonly"})}removeAnnotateFrame(i){const f=this.state.annotateSession;if(!f)return;const s=f.frames.filter(o=>o.id!==i);if(s.length===0){this.cancelAnnotate();return}const r=f.selectedFrameId===i?null:f.selectedFrameId;this._emit({annotateSession:{...f,frames:s,selectedFrameId:r}})}updateFrameAnnotations(i,f){const s=this.state.annotateSession;if(!s)return;const r=s.frames.map(o=>o.id===i?{...o,annotations:f}:o);this._emit({annotateSession:{...s,frames:r}})}updateFeedback(i){const f=this.state.annotateSession;f&&this._emit({annotateSession:{...f,feedback:i}})}completeAnnotation(){this._completeAnnotation()}startRecording(){this._startRecording()}stopRecording(){this._stopRecording()}discardRecording(){this._discardRecording()}cancelAnnotate(i=!0){var s;this._requestId++;const f=this.state;i&&((s=f.annotateSession)==null?void 0:s.initiator)==="cli"&&this._client.cancelAnnotation(),this._emit({mode:f.mode==="annotate"?"readonly":f.mode,annotateSession:null,pendingCapture:!1})}async submitAnnotateSession(){const i=this.state.annotateSession;if(!i)return;const f=[];for(const s of i.frames){const r=await ap(s);f.push({data:r??s.data,ariaSnapshot:s.ariaSnapshot,annotations:s.annotations.map(o=>({x:o.x,y:o.y,width:o.width,height:o.height,text:o.text})),sessionTitle:s.sessionTitle,title:s.title,url:s.url,viewportWidth:s.viewportWidth,viewportHeight:s.viewportHeight})}if(i.initiator==="cli")await this._client.submitAnnotation({frames:f,feedback:i.feedback});else{const s=await tp(f,i.feedback),r=new Date().toISOString().replace(/[:.]/g,"-");if(!await bh(s,`annotations-${r}.zip`))return}this.cancelAnnotate()}async _enterInteractive(){var f;const i=this.state;this._emit({mode:"interactive",annotateSession:(f=i.annotateSession)!=null&&f.selectedFrameId?{...i.annotateSession,selectedFrameId:null,focusAnnotationId:null}:i.annotateSession})}async _enterAnnotate(i){const f=this.state;if(f.annotateSession){i==="cli"&&f.annotateSession.initiator!=="cli"&&this._emit({annotateSession:{...f.annotateSession,initiator:"cli"}}),await this._addAnnotateFrame();return}await this._discardRecording(),await this._addAnnotateFrame(i)}async _addAnnotateFrame(i){var y,_;if(this.state.pendingCapture)return;const f=++this._requestId;this._emit({pendingCapture:!0});let s;try{s=await this._client.screenshot()}catch{}if(f!==this._requestId)return;if(!s){this._emit({pendingCapture:!1});return}const r=(y=this.state.tabs)==null?void 0:y.find(p=>p.selected),o=((_=this.state.sessions.find(p=>p.browser.guid===(r==null?void 0:r.browser)))==null?void 0:_.title)??"",h={id:"frm-"+Math.random().toString(36).slice(2,10),data:s.data,viewportWidth:s.viewportWidth,viewportHeight:s.viewportHeight,ariaSnapshot:s.ariaSnapshot,sessionTitle:o,title:(r==null?void 0:r.title)??"",url:(r==null?void 0:r.url)??"",annotations:[]},v=this.state.annotateSession,m=v?{...v,frames:[...v.frames,h],selectedFrameId:h.id,focusAnnotationId:null}:{initiator:i??"user",frames:[h],selectedFrameId:h.id,focusAnnotationId:null,feedback:""};this._emit({annotateSession:m,pendingCapture:!1,mode:"annotate"})}async _completeAnnotation(){var f;((f=this.state.annotateSession)==null?void 0:f.initiator)==="cli"?await this.submitAnnotateSession().catch(()=>{}):this.cancelAnnotate()}async _startRecording(){this.state.annotateSession&&this.cancelAnnotate(),await this._client.startRecording(),this._emit({recording:{phase:"recording"}})}async _stopRecording(){const{streamId:i}=await this._client.stopRecording(),f=[];for(;;){const{data:o,eof:h}=await this._client.readStream({streamId:i});if(o&&f.push(lp(o,"video/webm")),h)break}const s=new Blob(f,{type:"video/webm"}),r=URL.createObjectURL(s);this._emit({recording:{phase:"stopped",blob:s,blobUrl:r}})}async _discardRecording(){var f,s;const i=this.state;if(((f=i.recording)==null?void 0:f.phase)==="recording")try{const{streamId:r}=await this._client.stopRecording();for(;;){const{eof:o}=await this._client.readStream({streamId:r});if(o)break}}catch{}((s=i.recording)==null?void 0:s.phase)==="stopped"&&URL.revokeObjectURL(i.recording.blobUrl),this._emit({recording:null})}_emit(i){this.state={...this.state,...i};for(const f of this._listeners)f()}}async function ap(u){const i=new Image;i.src="data:image/png;base64,"+u.data;try{await i.decode()}catch{return}const f=await ph(i,u.viewportWidth,u.viewportHeight,u.annotations);if(!f)return;const s=await f.arrayBuffer();return new Uint8Array(s).toBase64()}function lp(u,i){return new Blob([Uint8Array.fromBase64(u)],{type:i})}class ip{constructor(i){this._lastId=0,this._pending=new Map,this._sendQueue=[],this._closed=!1,this._ws=new WebSocket(i),this._ws.onopen=()=>{for(const f of this._sendQueue||[])this._ws.send(f);this._sendQueue=void 0,this.onopen&&this.onopen()},this._ws.onmessage=f=>{let s;try{s=JSON.parse(f.data)}catch{this._ws.close();return}if(s.id!==void 0){const r=this._pending.get(s.id);r&&(this._pending.delete(s.id),s.error?r.reject(new Error(s.error)):r.resolve(s.result))}else s.method&&this.onevent&&this.onevent(s.method,s.params)},this._ws.onclose=f=>{this._closed=!0,this._sendQueue=void 0;for(const{reject:s}of this._pending.values())s(new Error("Connection closed"));this._pending.clear(),this.onclose&&this.onclose(f.reason)},this._ws.onerror=()=>{}}sendNoReply(i,f){this.send(i,f).catch(()=>{})}send(i,f){if(this._closed)return Promise.reject(new Error("Connection closed"));const s=++this._lastId,r=JSON.stringify({id:s,method:i,params:f});return this._sendQueue?this._sendQueue.push(r):this._ws.send(r),new Promise((o,h)=>{this._pending.set(s,{resolve:o,reject:h})})}close(){this._ws.close()}}class _o{constructor(i){this._listeners=new Map,this._transport=i,this._transport.onopen=()=>{var f;(f=this.onopen)==null||f.call(this)},this._transport.onevent=(f,s)=>{this._fireEvent(f,s)},this._transport.onclose=f=>{var s;(s=this.onclose)==null||s.call(this,f)}}static create(i){const f=new ip(i),s=new _o(f);return new Proxy(s,{get(r,o,h){if(typeof o=="symbol"||o in r)return Reflect.get(r,o,h);if(o!=="then")return v=>r._transport.send(o,v)}})}_fireEvent(i,f){const s=this._listeners.get(i);if(s)for(const r of s)r(f)}on(i,f){let s=this._listeners.get(i);s||(s=new Set,this._listeners.set(i,s)),s.add(f)}off(i,f){var s;(s=this._listeners.get(i))==null||s.delete(f)}close(){this._transport.close()}}const up=()=>{const[u,i]=mt.useState(!1),[f,s]=Qg(),r=mt.useRef(null);return mt.useEffect(()=>{if(!u)return;const o=v=>{r.current&&!r.current.contains(v.target)&&i(!1)},h=v=>{v.key==="Escape"&&i(!1)};return document.addEventListener("mousedown",o),document.addEventListener("keydown",h),()=>{document.removeEventListener("mousedown",o),document.removeEventListener("keydown",h)}},[u]),O.jsxs("div",{ref:r,className:"settings-button-container",children:[O.jsx(ln,{className:"settings-gear-btn",title:"Settings",toggled:u,onClick:()=>i(!u),children:O.jsx(iv,{})}),u&&O.jsx("div",{className:"settings-popup",children:O.jsxs("div",{className:"setting-row",children:[O.jsx("span",{className:"setting-label",children:"Theme"}),O.jsx("div",{className:"setting-options",children:qg.map(o=>O.jsx("div",{className:"setting-option"+(f===o.value?" selected":""),onClick:()=>{s(o.value),i(!1)},children:o.label},o.value))})]})})]})},mh=new Map;function cp({name:u,items:i=[],id:f,render:s,icon:r,isError:o,isWarning:h,isInfo:v,selectedItem:m,onAccepted:y,onSelected:_,onHighlighted:p,onIconClicked:b,noItemsMessage:T,dataTestId:D,notSelectable:G,ariaLabel:W}){const J=Wn.useRef(null),[Z,$]=Wn.useState();return Wn.useEffect(()=>{p==null||p(Z)},[p,Z]),Wn.useEffect(()=>{const I=J.current;if(!I)return;const B=()=>{mh.set(u,I.scrollTop)};return I.addEventListener("scroll",B,{passive:!0}),()=>I.removeEventListener("scroll",B)},[u]),Wn.useEffect(()=>{J.current&&(J.current.scrollTop=mh.get(u)||0)},[u]),O.jsx("div",{className:Ji("list-view vbox",u+"-list-view"),role:i.length>0?"listbox":void 0,"aria-label":W,children:O.jsxs("div",{className:Ji("list-view-content",G&&"not-selectable"),tabIndex:0,onKeyDown:I=>{var et;if(m&&I.key==="Enter"){y==null||y(m,i.indexOf(m));return}if(I.key!=="ArrowDown"&&I.key!=="ArrowUp")return;I.stopPropagation(),I.preventDefault();const B=m?i.indexOf(m):-1;let it=B;I.key==="ArrowDown"&&(B===-1?it=0:it=Math.min(B+1,i.length-1)),I.key==="ArrowUp"&&(B===-1?it=i.length-1:it=Math.max(B-1,0));const X=(et=J.current)==null?void 0:et.children.item(it);Yg(X||void 0),p==null||p(void 0),_==null||_(i[it],it),$(void 0)},ref:J,children:[T&&i.length===0&&O.jsx("div",{className:"list-view-empty",children:T}),i.map((I,B)=>{const it=s(I,B);return O.jsxs("div",{onDoubleClick:()=>y==null?void 0:y(I,B),role:"option",className:Ji("list-view-entry",m===I&&"selected",!G&&Z===I&&"highlighted",(o==null?void 0:o(I,B))&&"error",(h==null?void 0:h(I,B))&&"warning",(v==null?void 0:v(I,B))&&"info"),"aria-selected":m===I,onClick:()=>_==null?void 0:_(I,B),onMouseEnter:()=>$(I),onMouseLeave:()=>$(void 0),children:[r&&O.jsx("div",{className:"codicon "+(r(I,B)||"codicon-blank"),style:{minWidth:16,marginRight:4},onDoubleClick:X=>{X.preventDefault(),X.stopPropagation()},onClick:X=>{X.stopPropagation(),X.preventDefault(),b==null||b(I,B)}}),typeof it=="string"?O.jsx("div",{style:{textOverflow:"ellipsis",overflow:"hidden"},children:it}):it]},(f==null?void 0:f(I,B))||B)})]})})}const sp=cp;function fp(u){try{const f=new URL(u).hostname.replace(/^www\./,"");return f?f[0].toUpperCase():""}catch{return""}}function rp(u,i){if(!u||u==="Global")return u;let f=u;if(!u.startsWith("/")&&!u.startsWith("\\\\")&&!/^[A-Za-z]:[\\/]/.test(u)&&u.includes("/")&&(f="/"+u),i){if(f===i)return"~";if(f.startsWith(i+"/")||f.startsWith(i+"\\"))return"~"+f.slice(i.length)}return f}const op=({tab:u,model:i})=>O.jsxs(O.Fragment,{children:[u.faviconUrl?O.jsx("img",{className:"sidebar-tab-favicon",src:u.faviconUrl,alt:"","aria-hidden":"true"}):O.jsx("span",{className:"sidebar-tab-favicon placeholder","aria-hidden":"true",children:fp(u.url)}),O.jsxs("span",{className:"sidebar-tab-text",children:[O.jsx("span",{className:"sidebar-tab-title",children:u.title||"New Tab"}),O.jsx("span",{className:"sidebar-tab-url",children:u.url||"about:blank"})]}),O.jsx(ln,{className:"sidebar-tab-close",icon:"close",title:"Close tab",onClick:f=>{f.stopPropagation(),i.closeTab(u)}})]}),dp=({model:u})=>{const{sessions:i,clientInfo:f,loadingSessions:s,tabs:r}=u.state,o=i,h=mt.useMemo(()=>{const y=new Map;for(const _ of r??[]){let p=y.get(_.browser);p||(p=new Map,y.set(_.browser,p));let b=p.get(_.context);b||(b=[],p.set(_.context,b)),b.push(_)}return y},[r]),v=mt.useMemo(()=>{var y;return(y=r==null?void 0:r.find(_=>_.selected))==null?void 0:y.context},[r]),m=mt.useMemo(()=>{const y=new Map;for(const D of o){const G=D.workspaceDir||"Global";let W=y.get(G);W||(W=[],y.set(G,W)),W.push(D)}for(const D of y.values())D.sort((G,W)=>G.title.localeCompare(W.title));const _=(f==null?void 0:f.workspaceDir)||"Global",p=[...y.entries()],b=p.filter(([D])=>D===_),T=p.filter(([D])=>D!==_).sort((D,G)=>D[0].localeCompare(G[0]));return[...b,...T]},[o,f==null?void 0:f.workspaceDir]);return O.jsxs("nav",{className:"dashboard-shell-sidebar","aria-label":"Sessions",children:[O.jsxs("div",{className:"dashboard-shell-sidebar-header",children:[O.jsx("h2",{className:"dashboard-shell-sidebar-title",children:"Sessions"}),O.jsx(up,{})]}),O.jsxs("div",{className:"dashboard-shell-sidebar-content",children:[s&&O.jsx("p",{className:"sidebar-empty",role:"status","aria-live":"polite",children:"Loading sessions..."}),!s&&o.length===0&&O.jsx("p",{className:"sidebar-empty",role:"status","aria-live":"polite",children:"No open sessions."}),m.map(([y,_])=>{const p=rp(y,f==null?void 0:f.homeDir);return O.jsxs("section",{className:"workspace-group","aria-label":`Workspace ${p}`,children:[O.jsx("h3",{className:"workspace-header",children:O.jsx("span",{className:"workspace-path-full",title:p,children:p})}),_.map(b=>{var $;const T=b.browser.guid,D=b.browser.browserName,G=($=b.browser.launchOptions)==null?void 0:$.channel,W=h.get(T),J=W?[...W.entries()]:[];return(r===null?[{contextGuid:null,tabs:void 0}]:J.length===0?[{contextGuid:null,tabs:[]}]:J.map(([I,B])=>({contextGuid:I,tabs:B}))).map((I,B)=>{var et;const it=(et=I.tabs)==null?void 0:et.find(ut=>ut.context===v&&ut.selected),X=`${T}-${I.contextGuid??`placeholder-${B}`}`;return O.jsxs("section",{className:"sidebar-session session-chip"+(it?" active":""),"aria-label":`Session ${b.title}`,children:[O.jsxs("header",{className:"sidebar-session-row",children:[O.jsxs("div",{className:"session-browser-icon-wrap",title:G||D,children:[O.jsx("span",{className:"session-browser-icon","aria-hidden":"true",children:O.jsx($g,{browserName:D,channel:G})}),O.jsx(ln,{className:"session-browser-close",icon:"close",title:"Close session",onClick:()=>u.closeSession(b)})]}),O.jsx("span",{className:"session-chip-name",children:b.title}),O.jsx("div",{className:"sidebar-session-row-actions",children:I.contextGuid&&O.jsx(ln,{className:"sidebar-session-new-tab",icon:"add",title:"New tab",onClick:()=>u.newTab(T,I.contextGuid)})})]}),I.tabs===void 0?O.jsx("p",{className:"sidebar-tabs-loading",role:"status","aria-live":"polite",children:"Loading tabs..."}):O.jsx(sp,{name:`sidebar-tabs-${X}`,ariaLabel:`${b.title} tabs`,items:I.tabs,id:ut=>ut.page,selectedItem:it,onSelected:ut=>u.selectTab(ut),noItemsMessage:"No tabs open.",render:ut=>O.jsx(op,{tab:ut,model:u})})]},X)})})]},y)})]})]})},hp=50,mp=({sidebarSize:u,sidebarHidden:i=!1,sidebarIsFirst:f=!1,orientation:s="vertical",minSidebarSize:r=hp,settingName:o,sidebar:h,main:v})=>{const m=Math.max(r,u)*window.devicePixelRatio,[y,_]=x1(o?o+"."+s+":size":void 0,m),[p,b]=x1(o?o+"."+s+":size":void 0,m),[T,D]=Wn.useState(null),[G,W]=jg();let J;s==="vertical"?(J=p/window.devicePixelRatio,G&&G.height<J&&(J=G.height-10)):(J=y/window.devicePixelRatio,G&&G.width<J&&(J=G.width-10)),document.body.style.userSelect=T?"none":"inherit";let Z={};return s==="vertical"?f?Z={top:T?0:J-4,bottom:T?0:void 0,height:T?"initial":8}:Z={bottom:T?0:J-4,top:T?0:void 0,height:T?"initial":8}:f?Z={left:T?0:J-4,right:T?0:void 0,width:T?"initial":8}:Z={right:T?0:J-4,left:T?0:void 0,width:T?"initial":8},O.jsxs("div",{className:Ji("split-view",s,f&&"sidebar-first"),ref:W,children:[O.jsx("div",{className:"split-view-main",children:v}),!i&&O.jsx("div",{style:{flexBasis:J},className:"split-view-sidebar",children:h}),!i&&O.jsx("div",{style:Z,className:"split-view-resizer",onMouseDown:$=>D({offset:s==="vertical"?$.clientY:$.clientX,size:J}),onMouseUp:()=>D(null),onMouseMove:$=>{if(!$.buttons)D(null);else if(T){const B=(s==="vertical"?$.clientY:$.clientX)-T.offset,it=f?T.size+B:T.size-B,et=$.target.parentElement.getBoundingClientRect(),ut=Math.min(Math.max(r,it),(s==="vertical"?et.height:et.width)-r);s==="vertical"?b(ut*window.devicePixelRatio):_(ut*window.devicePixelRatio)}}})]})};Zg();const yp=new URLSearchParams(location.search).get("ws")??"",gp=_o.create("/"+yp),Uc=new np(gp),d3=()=>Uc.setVisible(!document.hidden);document.addEventListener("visibilitychange",d3);document.hidden&&d3();const vp=()=>{const[,u]=mt.useState(0);return mt.useEffect(()=>Uc.subscribe(()=>u(i=>i+1)),[]),O.jsx(mp,{orientation:"horizontal",sidebarIsFirst:!0,sidebarSize:320,minSidebarSize:220,settingName:"dashboardSessionSidebar",sidebar:O.jsx(dp,{model:Uc}),main:O.jsx("div",{className:"dashboard-shell-main",children:O.jsx(_v,{model:Uc})})})},xc=document.querySelector("#root"),_p=xc.__dashboardRoot??(xc.__dashboardRoot=Hg.createRoot(xc));_p.render(O.jsx(vp,{}));
node_modules/playwright-core/lib/vite/dashboard/assets/safari-na3_-uQk.svg deleted
-1
@@ -1 +0,0 @@
1 -<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="194.5 190.1 135.1 135.1"><style>.b{color-interpolation-filters:srgb}.c{flood-opacity:.31}</style><defs><linearGradient id="a" x1="132.55" x2="134.37" y1="111.67" y2="-105.3" xlink:href="#b"><stop offset="0" stop-color="#d2d2d2"/><stop offset=".53" stop-color="#f2f2f2"/><stop offset="1" stop-color="#fff"/></linearGradient><linearGradient id="b" gradientUnits="userSpaceOnUse"/><linearGradient id="c" x1="65.44" x2="67.4" y1="115.72" y2="17.14" xlink:href="#b"><stop offset="0" stop-color="#005ad5"/><stop offset=".16" stop-color="#0875f0"/><stop offset=".31" stop-color="#218cee"/><stop offset=".63" stop-color="#27a5f3"/><stop offset=".81" stop-color="#25aaf2"/><stop offset="1" stop-color="#21aaef"/></linearGradient><linearGradient id="d" x1="158.7" x2="176.28" y1="96.71" y2="79.53" xlink:href="#b"><stop offset="0" stop-color="#c72e24"/><stop offset="1" stop-color="#fd3b2f"/></linearGradient><filter id="e" class="b"><feFlood flood-opacity=".28"/><feComposite in2="SourceGraphic" operator="in"/><feGaussianBlur stdDeviation="3"/><feOffset dx=".3" dy="2.8"/><feComposite in="SourceGraphic"/></filter><filter id="f" class="b"><feFlood class="c"/><feComposite class="c" in2="SourceGraphic" operator="out"/><feGaussianBlur flood-opacity=".3" stdDeviation=".7"/><feOffset dy="1.8"/><feComposite in2="SourceGraphic" operator="atop"/></filter><filter id="g" class="b"><feFlood flood-opacity=".61"/><feComposite in2="SourceGraphic" operator="in"/><feGaussianBlur stdDeviation=".5"/><feOffset dx=".8" dy=".8"/><feComposite in="SourceGraphic" result="A"/><feColorMatrix values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"/><feFlood flood-opacity=".4"/><feComposite in2="A" operator="in"/><feGaussianBlur stdDeviation="3.8"/><feOffset dx="2.3" dy="3.3"/><feComposite in="A"/></filter><filter id="h" width="110%" height="110%" x="-1%" y="-1%"><feGaussianBlur in="SourceAlpha" stdDeviation=".4"/><feOffset dx=".1" dy=".2"/><feComponentTransfer result="A"><feFuncA type="linear"/></feComponentTransfer><feFlood flood-color="rgba(0,0,0,0.5)"/><feComposite in2="A" operator="in"/><feMerge><feMergeNode/><feMergeNode in="SourceGraphic"/></feMerge></filter><radialGradient id="i" cx="-69.88" cy="69.29" r="54.01" gradientTransform="matrix(.9023 -.01249 .0377 2.7234 -9.44 -120.29)" xlink:href="#b"><stop offset="0" stop-color="#24a5f3" stop-opacity=".01"/><stop offset="1" stop-color="#1e8ceb" stop-opacity=".98"/></radialGradient><radialGradient id="j" cx="109.35" cy="13.76" r="93.08" gradientTransform="matrix(-.01822 1.0922 -1.042 -.01765 136.95 -115.33)" xlink:href="#b"><stop offset="0" stop-opacity="0"/><stop offset=".96" stop-color="#5488d6" stop-opacity="0"/><stop offset="1" stop-color="#5d96eb"/></radialGradient></defs><rect width="220" height="220" x="22" y="-106.53" fill="url(#a)" filter="url(#e)" ry="49" transform="matrix(.56938 0 0 .56921 186.86 255.75)"/><g filter="url(#f)" transform="translate(194.2 190.07)"><ellipse cx="67.77" cy="67.73" fill="url(#c)" paint-order="stroke fill markers" rx="54.01" ry="53.98"/><ellipse cx="-69.88" cy="69.29" fill="url(#i)" rx="54.01" ry="53.98" transform="translate(137.65 -1.55)"/></g><ellipse cx="120" cy="14.15" fill="url(#j)" rx="93.08" ry="93.67" transform="matrix(.58082 0 0 .57636 192.3 249.63)"/><g filter="url(#g)" transform="matrix(.58289 0 0 .56508 196.8 181.63)"><path fill="#cac7c8" d="m46 191.66.73.35 72.18-48.2-7.34-8.95L46 191.66Z"/><path fill="#fbfffc" d="m45.8 190.87.2.8 65.57-56.8-6.95-8.92-58.83 64.92Z"/><path fill="url(#d)" d="m118.91 143.81-7.35-8.95 66.08-57.2.27.73-59 65.42Z"/><path fill="#fb645c" d="m104.62 125.95 6.94 8.92 66.08-57.2-.65-.35-72.37 48.63Z"/></g><path stroke="#fff" stroke-linecap="round" stroke-miterlimit="1" stroke-width="1.33" d="m286.59 278.44 3.14-2.14m-11.23-17.8 7.8-1.37m-8.32-2.9 3.78-.3m-3.3-12.47 7.8 1.38m-8.2 3.03 3.76.38m-1.2-13.05 7.47 2.73m-3.77-10.5 6.86 3.96m-1.87-10.96 6.07 5.09m.05-11.07 5.09 6.07m1.97-10.99 3.97 6.86m3.7-10.53 2.71 7.43m5.62-9.62 1.37 7.8m15.62-7.89-1.38 7.8m9.82-5.6-2.72 7.42m10.5-3.75-3.96 6.86m10.98-1.89-5.12 6.07m16.18 6.96-6.87 3.96m10.45 3.88-7.45 2.7m9.64 5.6-7.82 1.38m7.81 15.79-7.82-1.39m5.6 9.7-7.44-2.71m3.8 10.47-6.87-3.95m1.91 10.98-6.07-5.07m-.05 11.2-5.1-6.08m-1.95 10.99-4-6.88m-3.87 10.5-2.7-7.43m-5.61 9.61-1.37-7.78m-15.78 7.75 1.4-7.86m-9.7 5.58 2.72-7.47m-10.5 3.73 3.97-6.87m-10.96 1.9 5.08-6.03m-8.26 3.13 2.75-2.68m3.84 8.23 2.2-3.1m5.2 7.44 1.66-3.45m6.43 6.47 1.02-3.7m7.52 5.32.43-3.82m8.08 3.8-.31-3.84m8.81 2.33-.97-3.69m9.06.75-1.58-3.48m9.05-.76-2.16-3.18m8.78-2.38-2.68-2.73m8.24-3.85-3.11-2.2m7.42-5.2-3.47-1.67m6.42-6.41-3.7-1.03m5.17-7.46-3.78-.37m3.8-8.24-3.81.3m2.35-8.8-3.7.97m.8-9.06-3.49 1.61m-1.03-9.12-3.2 2.2m-2.12-8.62-2.72 2.7m-3.84-8.28-2.23 3.12m-5.21-7.45-1.66 3.44m-6.55-6.32-1.02 3.63m-7.42-5.2-.38 3.81m-8.09-3.66.28 3.8m-8.79-2.34.95 3.68m-8.9-.72 1.61 3.46m-9.06.82 2.18 3.16m-8.82 2.27 2.68 2.7m-8.25 3.85 3.1 2.23m-7.44 5.17 3.42 1.66m-6.3 6.36 3.7 1.05m-3.71 24.39 3.7-.91m-2.44 5.03 7.48-2.72m-5.86 6.73 3.5-1.61m-1.53 5.43 6.87-3.95m-13.33-20.52 7.96.01m41.16-41.44v-7.96m.02 98.74.01-7.94m49.33-41.4-7.95-.01" filter="url(#h)" transform="translate(-65 7.73)"/></svg>
\ No newline at end of file
node_modules/playwright-core/lib/vite/dashboard/index.html deleted
-29
@@ -1,29 +0,0 @@
1 -<!--
2 - Copyright (c) Microsoft Corporation.
3 -
4 - Licensed under the Apache License, Version 2.0 (the "License");
5 - you may not use this file except in compliance with the License.
6 - You may obtain a copy of the License at
7 -
8 - http://www.apache.org/licenses/LICENSE-2.0
9 -
10 - Unless required by applicable law or agreed to in writing, software
11 - distributed under the License is distributed on an "AS IS" BASIS,
12 - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 - See the License for the specific language governing permissions and
14 - limitations under the License.
15 --->
16 -<!DOCTYPE html>
17 -<html lang="en" translate="no">
18 - <head>
19 - <meta charset="UTF-8">
20 - <meta name="viewport" content="width=device-width, initial-scale=1.0">
21 - <link rel="icon" href="/playwright-logo.svg" type="image/svg+xml">
22 - <title>Playwright Dashboard</title>
23 - <script type="module" crossorigin src="/assets/index-DpEq2p62.js"></script>
24 - <link rel="stylesheet" crossorigin href="/assets/index-BY2S1tHT.css">
25 - </head>
26 - <body>
27 - <div id="root"></div>
28 - </body>
29 -</html>
node_modules/playwright-core/lib/vite/dashboard/playwright-logo.svg deleted
-24
@@ -1,24 +0,0 @@
1 -<svg width="400" height="400" viewBox="0 0 400 400" fill="none" xmlns="http://www.w3.org/2000/svg">
2 -<defs>
3 - <mask id="bezel-mask">
4 - <rect width="400" height="400" fill="white"/>
5 - <rect x="32" y="32" width="336" height="302" rx="6" fill="black"/>
6 - </mask>
7 -</defs>
8 -<!-- Monitor bezel (ring, transparent screen area) -->
9 -<rect x="20" y="20" width="360" height="326" rx="13" fill="#2D4552" mask="url(#bezel-mask)"/>
10 -<!-- Stand neck -->
11 -<rect x="190" y="346" width="20" height="20" fill="#2D4552"/>
12 -<!-- Stand base -->
13 -<rect x="152" y="366" width="96" height="14" rx="7" fill="#2D4552"/>
14 -<!-- Playwright logo inscribed on screen (scale 0.755, centered) -->
15 -<g transform="translate(49, 32) scale(0.755)">
16 -<path d="M136.444 221.556C123.558 225.213 115.104 231.625 109.535 238.032C114.869 233.364 122.014 229.08 131.652 226.348C141.51 223.554 149.92 223.574 156.869 224.915V219.481C150.941 218.939 144.145 219.371 136.444 221.556ZM108.946 175.876L61.0895 188.484C61.0895 188.484 61.9617 189.716 63.5767 191.36L104.153 180.668C104.153 180.668 103.578 188.077 98.5847 194.705C108.03 187.559 108.946 175.876 108.946 175.876ZM149.005 288.347C81.6582 306.486 46.0272 228.438 35.2396 187.928C30.2556 169.229 28.0799 155.067 27.5 145.928C27.4377 144.979 27.4665 144.179 27.5336 143.446C24.04 143.657 22.3674 145.473 22.7077 150.721C23.2876 159.855 25.4633 174.016 30.4473 192.721C41.2301 233.225 76.8659 311.273 144.213 293.134C158.872 289.185 169.885 281.992 178.152 272.81C170.532 279.692 160.995 285.112 149.005 288.347ZM161.661 128.11V132.903H188.077C187.535 131.206 186.989 129.677 186.447 128.11H161.661Z" fill="#2D4552"/>
17 -<path d="M193.981 167.584C205.861 170.958 212.144 179.287 215.465 186.658L228.711 190.42C228.711 190.42 226.904 164.623 203.57 157.995C181.741 151.793 168.308 170.124 166.674 172.496C173.024 167.972 182.297 164.268 193.981 167.584ZM299.422 186.777C277.573 180.547 264.145 198.916 262.535 201.255C268.89 196.736 278.158 193.031 289.837 196.362C301.698 199.741 307.976 208.06 311.307 215.436L324.572 219.212C324.572 219.212 322.736 193.41 299.422 186.777ZM286.262 254.795L176.072 223.99C176.072 223.99 177.265 230.038 181.842 237.869L274.617 263.805C282.255 259.386 286.262 254.795 286.262 254.795ZM209.867 321.102C122.618 297.71 133.166 186.543 147.284 133.865C153.097 112.156 159.073 96.0203 164.029 85.204C161.072 84.5953 158.623 86.1529 156.203 91.0746C150.941 101.747 144.212 119.124 137.7 143.45C123.586 196.127 113.038 307.29 200.283 330.682C241.406 341.699 273.442 324.955 297.323 298.659C274.655 319.19 245.714 330.701 209.867 321.102Z" fill="#2D4552"/>
18 -<path d="M161.661 262.296V239.863L99.3324 257.537C99.3324 257.537 103.938 230.777 136.444 221.556C146.302 218.762 154.713 218.781 161.661 220.123V128.11H192.869C189.471 117.61 186.184 109.526 183.423 103.909C178.856 94.612 174.174 100.775 163.545 109.665C156.059 115.919 137.139 129.261 108.668 136.933C80.1966 144.61 57.179 142.574 47.5752 140.911C33.9601 138.562 26.8387 135.572 27.5049 145.928C28.0847 155.062 30.2605 169.224 35.2445 187.928C46.0272 228.433 81.663 306.481 149.01 288.342C166.602 283.602 179.019 274.233 187.626 262.291H161.661V262.296ZM61.0848 188.484L108.946 175.876C108.946 175.876 107.551 194.288 89.6087 199.018C71.6614 203.743 61.0848 188.484 61.0848 188.484Z" fill="#E2574C"/>
19 -<path d="M341.786 129.174C329.345 131.355 299.498 134.072 262.612 124.185C225.716 114.304 201.236 97.0224 191.537 88.8994C177.788 77.3834 171.74 69.3802 165.788 81.4857C160.526 92.163 153.797 109.54 147.284 133.866C133.171 186.543 122.623 297.706 209.867 321.098C297.093 344.47 343.53 242.92 357.644 190.238C364.157 165.917 367.013 147.5 367.799 135.625C368.695 122.173 359.455 126.078 341.786 129.174ZM166.497 172.756C166.497 172.756 180.246 151.372 203.565 158C226.899 164.628 228.706 190.425 228.706 190.425L166.497 172.756ZM223.42 268.713C182.403 256.698 176.077 223.99 176.077 223.99L286.262 254.796C286.262 254.791 264.021 280.578 223.42 268.713ZM262.377 201.495C262.377 201.495 276.107 180.126 299.422 186.773C322.736 193.411 324.572 219.208 324.572 219.208L262.377 201.495Z" fill="#2EAD33"/>
20 -<path d="M139.88 246.04L99.3324 257.532C99.3324 257.532 103.737 232.44 133.607 222.496L110.647 136.33L108.663 136.933C80.1918 144.611 57.1742 142.574 47.5704 140.911C33.9554 138.563 26.834 135.572 27.5001 145.929C28.08 155.063 30.2557 169.224 35.2397 187.929C46.0225 228.433 81.6583 306.481 149.005 288.342L150.989 287.719L139.88 246.04ZM61.0848 188.485L108.946 175.876C108.946 175.876 107.551 194.288 89.6087 199.018C71.6615 203.743 61.0848 188.485 61.0848 188.485Z" fill="#D65348"/>
21 -<path d="M225.27 269.163L223.415 268.712C182.398 256.698 176.072 223.99 176.072 223.99L232.89 239.872L262.971 124.281L262.607 124.185C225.711 114.304 201.232 97.0224 191.532 88.8994C177.783 77.3834 171.735 69.3802 165.783 81.4857C160.526 92.163 153.797 109.54 147.284 133.866C133.171 186.543 122.623 297.706 209.867 321.097L211.655 321.5L225.27 269.163ZM166.497 172.756C166.497 172.756 180.246 151.372 203.565 158C226.899 164.628 228.706 190.425 228.706 190.425L166.497 172.756Z" fill="#1D8D22"/>
22 -<path d="M141.946 245.451L131.072 248.537C133.641 263.019 138.169 276.917 145.276 289.195C146.513 288.922 147.74 288.687 149 288.342C152.302 287.451 155.364 286.348 158.312 285.145C150.371 273.361 145.118 259.789 141.946 245.451ZM137.7 143.451C132.112 164.307 127.113 194.326 128.489 224.436C130.952 223.367 133.554 222.371 136.444 221.551L138.457 221.101C136.003 188.939 141.308 156.165 147.284 133.866C148.799 128.225 150.318 122.978 151.832 118.085C149.393 119.637 146.767 121.228 143.776 122.867C141.759 129.093 139.722 135.898 137.7 143.451Z" fill="#C04B41"/>
23 -</g>
24 -</svg>
node_modules/playwright-core/lib/vite/htmlReport/index.html deleted
-16
@@ -1,16 +0,0 @@
1 -
2 -
3 -<!DOCTYPE html>
4 -<html style='scrollbar-gutter: stable both-edges;'>
5 - <head>
6 - <meta charset='UTF-8'>
7 - <meta name='color-scheme' content='dark light'>
8 - <meta name='viewport' content='width=device-width, initial-scale=1.0'>
9 - <title>Playwright Test Report</title>
10 - <script type="module" crossorigin src="./report.js"></script>
11 - <link rel="stylesheet" crossorigin href="./report.css">
12 - </head>
13 - <body>
14 - <div id='root'></div>
15 - </body>
16 -</html>
node_modules/playwright-core/lib/vite/htmlReport/report.css deleted
-1
@@ -1 +0,0 @@
1 -:root{--color-canvas-default-transparent: rgba(255,255,255,0);--color-marketing-icon-primary: #218bff;--color-marketing-icon-secondary: #54aeff;--color-diff-blob-addition-num-text: #24292f;--color-diff-blob-addition-fg: #24292f;--color-diff-blob-addition-num-bg: #CCFFD8;--color-diff-blob-addition-line-bg: #E6FFEC;--color-diff-blob-addition-word-bg: #ABF2BC;--color-diff-blob-deletion-num-text: #24292f;--color-diff-blob-deletion-fg: #24292f;--color-diff-blob-deletion-num-bg: #FFD7D5;--color-diff-blob-deletion-line-bg: #FFEBE9;--color-diff-blob-deletion-word-bg: rgba(255,129,130,.4);--color-diff-blob-hunk-num-bg: rgba(84,174,255,.4);--color-diff-blob-expander-icon: #57606a;--color-diff-blob-selected-line-highlight-mix-blend-mode: multiply;--color-diffstat-deletion-border: rgba(27,31,36,.15);--color-diffstat-addition-border: rgba(27,31,36,.15);--color-diffstat-addition-bg: #2da44e;--color-search-keyword-hl: #fff8c5;--color-prettylights-syntax-comment: #6e7781;--color-prettylights-syntax-constant: #0550ae;--color-prettylights-syntax-entity: #8250df;--color-prettylights-syntax-storage-modifier-import: #24292f;--color-prettylights-syntax-entity-tag: #116329;--color-prettylights-syntax-keyword: #cf222e;--color-prettylights-syntax-string: #0a3069;--color-prettylights-syntax-variable: #953800;--color-prettylights-syntax-brackethighlighter-unmatched: #82071e;--color-prettylights-syntax-invalid-illegal-text: #f6f8fa;--color-prettylights-syntax-invalid-illegal-bg: #82071e;--color-prettylights-syntax-carriage-return-text: #f6f8fa;--color-prettylights-syntax-carriage-return-bg: #cf222e;--color-prettylights-syntax-string-regexp: #116329;--color-prettylights-syntax-markup-list: #3b2300;--color-prettylights-syntax-markup-heading: #0550ae;--color-prettylights-syntax-markup-italic: #24292f;--color-prettylights-syntax-markup-bold: #24292f;--color-prettylights-syntax-markup-deleted-text: #82071e;--color-prettylights-syntax-markup-deleted-bg: #FFEBE9;--color-prettylights-syntax-markup-inserted-text: #116329;--color-prettylights-syntax-markup-inserted-bg: #dafbe1;--color-prettylights-syntax-markup-changed-text: #953800;--color-prettylights-syntax-markup-changed-bg: #ffd8b5;--color-prettylights-syntax-markup-ignored-text: #eaeef2;--color-prettylights-syntax-markup-ignored-bg: #0550ae;--color-prettylights-syntax-meta-diff-range: #8250df;--color-prettylights-syntax-brackethighlighter-angle: #57606a;--color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;--color-prettylights-syntax-constant-other-reference-link: #0a3069;--color-codemirror-text: #24292f;--color-codemirror-bg: #ffffff;--color-codemirror-gutters-bg: #ffffff;--color-codemirror-guttermarker-text: #ffffff;--color-codemirror-guttermarker-subtle-text: #6e7781;--color-codemirror-linenumber-text: #57606a;--color-codemirror-cursor: #24292f;--color-codemirror-selection-bg: rgba(84,174,255,.4);--color-codemirror-activeline-bg: rgba(234,238,242,.5);--color-codemirror-matchingbracket-text: #24292f;--color-codemirror-lines-bg: #ffffff;--color-codemirror-syntax-comment: #24292f;--color-codemirror-syntax-constant: #0550ae;--color-codemirror-syntax-entity: #8250df;--color-codemirror-syntax-keyword: #cf222e;--color-codemirror-syntax-storage: #cf222e;--color-codemirror-syntax-string: #0a3069;--color-codemirror-syntax-support: #0550ae;--color-codemirror-syntax-variable: #953800;--color-checks-bg: #24292f;--color-checks-run-border-width: 0px;--color-checks-container-border-width: 0px;--color-checks-text-primary: #f6f8fa;--color-checks-text-secondary: #8c959f;--color-checks-text-link: #54aeff;--color-checks-btn-icon: #afb8c1;--color-checks-btn-hover-icon: #f6f8fa;--color-checks-btn-hover-bg: rgba(255,255,255,.125);--color-checks-input-text: #eaeef2;--color-checks-input-placeholder-text: #8c959f;--color-checks-input-focus-text: #8c959f;--color-checks-input-bg: #32383f;--color-checks-input-shadow: none;--color-checks-donut-error: #fa4549;--color-checks-donut-pending: #bf8700;--color-checks-donut-success: #2da44e;--color-checks-donut-neutral: #afb8c1;--color-checks-dropdown-text: #afb8c1;--color-checks-dropdown-bg: #32383f;--color-checks-dropdown-border: #424a53;--color-checks-dropdown-shadow: rgba(27,31,36,.3);--color-checks-dropdown-hover-text: #f6f8fa;--color-checks-dropdown-hover-bg: #424a53;--color-checks-dropdown-btn-hover-text: #f6f8fa;--color-checks-dropdown-btn-hover-bg: #32383f;--color-checks-scrollbar-thumb-bg: #57606a;--color-checks-header-label-text: #d0d7de;--color-checks-header-label-open-text: #f6f8fa;--color-checks-header-border: #32383f;--color-checks-header-icon: #8c959f;--color-checks-line-text: #d0d7de;--color-checks-line-num-text: rgba(140,149,159,.75);--color-checks-line-timestamp-text: #8c959f;--color-checks-line-hover-bg: #32383f;--color-checks-line-selected-bg: rgba(33,139,255,.15);--color-checks-line-selected-num-text: #54aeff;--color-checks-line-dt-fm-text: #24292f;--color-checks-line-dt-fm-bg: #9a6700;--color-checks-gate-bg: rgba(125,78,0,.15);--color-checks-gate-text: #d0d7de;--color-checks-gate-waiting-text: #afb8c1;--color-checks-step-header-open-bg: #32383f;--color-checks-step-error-text: #ff8182;--color-checks-step-warning-text: #d4a72c;--color-checks-logline-text: #8c959f;--color-checks-logline-num-text: rgba(140,149,159,.75);--color-checks-logline-debug-text: #c297ff;--color-checks-logline-error-text: #d0d7de;--color-checks-logline-error-num-text: #ff8182;--color-checks-logline-error-bg: rgba(164,14,38,.15);--color-checks-logline-warning-text: #d0d7de;--color-checks-logline-warning-num-text: #d4a72c;--color-checks-logline-warning-bg: rgba(125,78,0,.15);--color-checks-logline-command-text: #54aeff;--color-checks-logline-section-text: #4ac26b;--color-checks-ansi-black: #24292f;--color-checks-ansi-black-bright: #32383f;--color-checks-ansi-white: #d0d7de;--color-checks-ansi-white-bright: #d0d7de;--color-checks-ansi-gray: #8c959f;--color-checks-ansi-red: #ff8182;--color-checks-ansi-red-bright: #ffaba8;--color-checks-ansi-green: #4ac26b;--color-checks-ansi-green-bright: #6fdd8b;--color-checks-ansi-yellow: #d4a72c;--color-checks-ansi-yellow-bright: #eac54f;--color-checks-ansi-blue: #54aeff;--color-checks-ansi-blue-bright: #80ccff;--color-checks-ansi-magenta: #c297ff;--color-checks-ansi-magenta-bright: #d8b9ff;--color-checks-ansi-cyan: #76e3ea;--color-checks-ansi-cyan-bright: #b3f0ff;--color-project-header-bg: #24292f;--color-project-sidebar-bg: #ffffff;--color-project-gradient-in: #ffffff;--color-project-gradient-out: rgba(255,255,255,0);--color-mktg-success: rgba(36,146,67,1);--color-mktg-info: rgba(19,119,234,1);--color-mktg-bg-shade-gradient-top: rgba(27,31,36,.065);--color-mktg-bg-shade-gradient-bottom: rgba(27,31,36,0);--color-mktg-btn-bg-top: hsla(228,82%,66%,1);--color-mktg-btn-bg-bottom: #4969ed;--color-mktg-btn-bg-overlay-top: hsla(228,74%,59%,1);--color-mktg-btn-bg-overlay-bottom: #3355e0;--color-mktg-btn-text: #ffffff;--color-mktg-btn-primary-bg-top: hsla(137,56%,46%,1);--color-mktg-btn-primary-bg-bottom: #2ea44f;--color-mktg-btn-primary-bg-overlay-top: hsla(134,60%,38%,1);--color-mktg-btn-primary-bg-overlay-bottom: #22863a;--color-mktg-btn-primary-text: #ffffff;--color-mktg-btn-enterprise-bg-top: hsla(249,100%,72%,1);--color-mktg-btn-enterprise-bg-bottom: #6f57ff;--color-mktg-btn-enterprise-bg-overlay-top: hsla(248,65%,63%,1);--color-mktg-btn-enterprise-bg-overlay-bottom: #614eda;--color-mktg-btn-enterprise-text: #ffffff;--color-mktg-btn-outline-text: #4969ed;--color-mktg-btn-outline-border: rgba(73,105,237,.3);--color-mktg-btn-outline-hover-text: #3355e0;--color-mktg-btn-outline-hover-border: rgba(51,85,224,.5);--color-mktg-btn-outline-focus-border: #4969ed;--color-mktg-btn-outline-focus-border-inset: rgba(73,105,237,.5);--color-mktg-btn-dark-text: #ffffff;--color-mktg-btn-dark-border: rgba(255,255,255,.3);--color-mktg-btn-dark-hover-text: #ffffff;--color-mktg-btn-dark-hover-border: rgba(255,255,255,.5);--color-mktg-btn-dark-focus-border: #ffffff;--color-mktg-btn-dark-focus-border-inset: rgba(255,255,255,.5);--color-avatar-bg: #ffffff;--color-avatar-border: rgba(27,31,36,.15);--color-avatar-stack-fade: #afb8c1;--color-avatar-stack-fade-more: #d0d7de;--color-avatar-child-shadow: -2px -2px 0 rgba(255,255,255,.8);--color-topic-tag-border: rgba(0,0,0,0);--color-select-menu-backdrop-border: rgba(0,0,0,0);--color-select-menu-tap-highlight: rgba(175,184,193,.5);--color-select-menu-tap-focus-bg: #b6e3ff;--color-overlay-shadow: 0 1px 3px rgba(27,31,36,.12), 0 8px 24px rgba(66,74,83,.12);--color-header-text: rgba(255,255,255,.7);--color-header-bg: #24292f;--color-header-logo: #ffffff;--color-header-search-bg: #24292f;--color-header-search-border: #57606a;--color-sidenav-selected-bg: #ffffff;--color-menu-bg-active: rgba(0,0,0,0);--color-control-transparent-bg-hover: #818b981a;--color-input-disabled-bg: rgba(175,184,193,.2);--color-timeline-badge-bg: #eaeef2;--color-ansi-black: #24292f;--color-ansi-black-bright: #57606a;--color-ansi-white: #6e7781;--color-ansi-white-bright: #8c959f;--color-ansi-gray: #6e7781;--color-ansi-red: #cf222e;--color-ansi-red-bright: #a40e26;--color-ansi-green: #116329;--color-ansi-green-bright: #1a7f37;--color-ansi-yellow: #4d2d00;--color-ansi-yellow-bright: #633c01;--color-ansi-blue: #0969da;--color-ansi-blue-bright: #218bff;--color-ansi-magenta: #8250df;--color-ansi-magenta-bright: #a475f9;--color-ansi-cyan: #1b7c83;--color-ansi-cyan-bright: #3192aa;--color-btn-text: #24292f;--color-btn-bg: #f6f8fa;--color-btn-border: rgba(27,31,36,.15);--color-btn-shadow: 0 1px 0 rgba(27,31,36,.04);--color-btn-inset-shadow: inset 0 1px 0 rgba(255,255,255,.25);--color-btn-hover-bg: #f3f4f6;--color-btn-hover-border: rgba(27,31,36,.15);--color-btn-active-bg: hsla(220,14%,93%,1);--color-btn-active-border: rgba(27,31,36,.15);--color-btn-selected-bg: hsla(220,14%,94%,1);--color-btn-focus-bg: #f6f8fa;--color-btn-focus-border: rgba(27,31,36,.15);--color-btn-focus-shadow: 0 0 0 3px rgba(9,105,218,.3);--color-btn-shadow-active: inset 0 .15em .3em rgba(27,31,36,.15);--color-btn-shadow-input-focus: 0 0 0 .2em rgba(9,105,218,.3);--color-btn-counter-bg: rgba(27,31,36,.08);--color-btn-primary-text: #ffffff;--color-btn-primary-bg: #2da44e;--color-btn-primary-border: rgba(27,31,36,.15);--color-btn-primary-shadow: 0 1px 0 rgba(27,31,36,.1);--color-btn-primary-inset-shadow: inset 0 1px 0 rgba(255,255,255,.03);--color-btn-primary-hover-bg: #2c974b;--color-btn-primary-hover-border: rgba(27,31,36,.15);--color-btn-primary-selected-bg: hsla(137,55%,36%,1);--color-btn-primary-selected-shadow: inset 0 1px 0 rgba(0,45,17,.2);--color-btn-primary-disabled-text: rgba(255,255,255,.8);--color-btn-primary-disabled-bg: #94d3a2;--color-btn-primary-disabled-border: rgba(27,31,36,.15);--color-btn-primary-focus-bg: #2da44e;--color-btn-primary-focus-border: rgba(27,31,36,.15);--color-btn-primary-focus-shadow: 0 0 0 3px rgba(45,164,78,.4);--color-btn-primary-icon: rgba(255,255,255,.8);--color-btn-primary-counter-bg: rgba(255,255,255,.2);--color-btn-outline-text: #0969da;--color-btn-outline-hover-text: #ffffff;--color-btn-outline-hover-bg: #0969da;--color-btn-outline-hover-border: rgba(27,31,36,.15);--color-btn-outline-hover-shadow: 0 1px 0 rgba(27,31,36,.1);--color-btn-outline-hover-inset-shadow: inset 0 1px 0 rgba(255,255,255,.03);--color-btn-outline-hover-counter-bg: rgba(255,255,255,.2);--color-btn-outline-selected-text: #ffffff;--color-btn-outline-selected-bg: hsla(212,92%,42%,1);--color-btn-outline-selected-border: rgba(27,31,36,.15);--color-btn-outline-selected-shadow: inset 0 1px 0 rgba(0,33,85,.2);--color-btn-outline-disabled-text: rgba(9,105,218,.5);--color-btn-outline-disabled-bg: #f6f8fa;--color-btn-outline-disabled-counter-bg: rgba(9,105,218,.05);--color-btn-outline-focus-border: rgba(27,31,36,.15);--color-btn-outline-focus-shadow: 0 0 0 3px rgba(5,80,174,.4);--color-btn-outline-counter-bg: rgba(9,105,218,.1);--color-btn-danger-text: #cf222e;--color-btn-danger-hover-text: #ffffff;--color-btn-danger-hover-bg: #a40e26;--color-btn-danger-hover-border: rgba(27,31,36,.15);--color-btn-danger-hover-shadow: 0 1px 0 rgba(27,31,36,.1);--color-btn-danger-hover-inset-shadow: inset 0 1px 0 rgba(255,255,255,.03);--color-btn-danger-hover-counter-bg: rgba(255,255,255,.2);--color-btn-danger-selected-text: #ffffff;--color-btn-danger-selected-bg: hsla(356,72%,44%,1);--color-btn-danger-selected-border: rgba(27,31,36,.15);--color-btn-danger-selected-shadow: inset 0 1px 0 rgba(76,0,20,.2);--color-btn-danger-disabled-text: rgba(207,34,46,.5);--color-btn-danger-disabled-bg: #f6f8fa;--color-btn-danger-disabled-counter-bg: rgba(207,34,46,.05);--color-btn-danger-focus-border: rgba(27,31,36,.15);--color-btn-danger-focus-shadow: 0 0 0 3px rgba(164,14,38,.4);--color-btn-danger-counter-bg: rgba(207,34,46,.1);--color-btn-danger-icon: #cf222e;--color-btn-danger-hover-icon: #ffffff;--color-underlinenav-icon: #6e7781;--color-underlinenav-border-hover: rgba(175,184,193,.2);--color-fg-default: #24292f;--color-fg-muted: #57606a;--color-fg-subtle: #6e7781;--color-fg-on-emphasis: #ffffff;--color-canvas-default: #ffffff;--color-canvas-overlay: #ffffff;--color-canvas-inset: #f6f8fa;--color-canvas-subtle: #f6f8fa;--color-border-default: #d0d7de;--color-border-muted: hsla(210,18%,87%,1);--color-border-subtle: rgba(27,31,36,.15);--color-shadow-small: 0 1px 0 rgba(27,31,36,.04);--color-shadow-medium: 0 3px 6px rgba(140,149,159,.15);--color-shadow-large: 0 8px 24px rgba(140,149,159,.2);--color-shadow-extra-large: 0 12px 28px rgba(140,149,159,.3);--color-neutral-emphasis-plus: #24292f;--color-neutral-emphasis: #6e7781;--color-neutral-muted: rgba(175,184,193,.2);--color-neutral-subtle: rgba(234,238,242,.5);--color-accent-fg: #0969da;--color-accent-emphasis: #0969da;--color-accent-muted: rgba(84,174,255,.4);--color-accent-subtle: #ddf4ff;--color-success-fg: #1a7f37;--color-success-emphasis: #2da44e;--color-success-muted: rgba(74,194,107,.4);--color-success-subtle: #dafbe1;--color-attention-fg: #9a6700;--color-attention-emphasis: #bf8700;--color-attention-muted: rgba(212,167,44,.4);--color-attention-subtle: #fff8c5;--color-severe-fg: #bc4c00;--color-severe-emphasis: #bc4c00;--color-severe-muted: rgba(251,143,68,.4);--color-severe-subtle: #fff1e5;--color-danger-fg: #cf222e;--color-danger-emphasis: #cf222e;--color-danger-muted: rgba(255,129,130,.4);--color-danger-subtle: #FFEBE9;--color-done-fg: #8250df;--color-done-emphasis: #8250df;--color-done-muted: rgba(194,151,255,.4);--color-done-subtle: #fbefff;--color-sponsors-fg: #bf3989;--color-sponsors-emphasis: #bf3989;--color-sponsors-muted: rgba(255,128,200,.4);--color-sponsors-subtle: #ffeff7;--color-primer-canvas-backdrop: rgba(27,31,36,.5);--color-primer-canvas-sticky: rgba(255,255,255,.95);--color-primer-border-active: #FD8C73;--color-primer-border-contrast: rgba(27,31,36,.1);--color-primer-shadow-highlight: inset 0 1px 0 rgba(255,255,255,.25);--color-primer-shadow-inset: inset 0 1px 0 rgba(208,215,222,.2);--color-primer-shadow-focus: 0 0 0 3px rgba(9,105,218,.3);--color-scale-black: #1b1f24;--color-scale-white: #ffffff;--color-scale-gray-0: #f6f8fa;--color-scale-gray-1: #eaeef2;--color-scale-gray-2: #d0d7de;--color-scale-gray-3: #afb8c1;--color-scale-gray-4: #8c959f;--color-scale-gray-5: #6e7781;--color-scale-gray-6: #57606a;--color-scale-gray-7: #424a53;--color-scale-gray-8: #32383f;--color-scale-gray-9: #24292f;--color-scale-blue-0: #ddf4ff;--color-scale-blue-1: #b6e3ff;--color-scale-blue-2: #80ccff;--color-scale-blue-3: #54aeff;--color-scale-blue-4: #218bff;--color-scale-blue-5: #0969da;--color-scale-blue-6: #0550ae;--color-scale-blue-7: #033d8b;--color-scale-blue-8: #0a3069;--color-scale-blue-9: #002155;--color-scale-green-0: #dafbe1;--color-scale-green-1: #aceebb;--color-scale-green-2: #6fdd8b;--color-scale-green-3: #4ac26b;--color-scale-green-4: #2da44e;--color-scale-green-5: #1a7f37;--color-scale-green-6: #116329;--color-scale-green-7: #044f1e;--color-scale-green-8: #003d16;--color-scale-green-9: #002d11;--color-scale-yellow-0: #fff8c5;--color-scale-yellow-1: #fae17d;--color-scale-yellow-2: #eac54f;--color-scale-yellow-3: #d4a72c;--color-scale-yellow-4: #bf8700;--color-scale-yellow-5: #9a6700;--color-scale-yellow-6: #7d4e00;--color-scale-yellow-7: #633c01;--color-scale-yellow-8: #4d2d00;--color-scale-yellow-9: #3b2300;--color-scale-orange-0: #fff1e5;--color-scale-orange-1: #ffd8b5;--color-scale-orange-2: #ffb77c;--color-scale-orange-3: #fb8f44;--color-scale-orange-4: #e16f24;--color-scale-orange-5: #bc4c00;--color-scale-orange-6: #953800;--color-scale-orange-7: #762c00;--color-scale-orange-8: #5c2200;--color-scale-orange-9: #471700;--color-scale-red-0: #FFEBE9;--color-scale-red-1: #ffcecb;--color-scale-red-2: #ffaba8;--color-scale-red-3: #ff8182;--color-scale-red-4: #fa4549;--color-scale-red-5: #cf222e;--color-scale-red-6: #a40e26;--color-scale-red-7: #82071e;--color-scale-red-8: #660018;--color-scale-red-9: #4c0014;--color-scale-purple-0: #fbefff;--color-scale-purple-1: #ecd8ff;--color-scale-purple-2: #d8b9ff;--color-scale-purple-3: #c297ff;--color-scale-purple-4: #a475f9;--color-scale-purple-5: #8250df;--color-scale-purple-6: #6639ba;--color-scale-purple-7: #512a97;--color-scale-purple-8: #3e1f79;--color-scale-purple-9: #2e1461;--color-scale-pink-0: #ffeff7;--color-scale-pink-1: #ffd3eb;--color-scale-pink-2: #ffadda;--color-scale-pink-3: #ff80c8;--color-scale-pink-4: #e85aad;--color-scale-pink-5: #bf3989;--color-scale-pink-6: #99286e;--color-scale-pink-7: #772057;--color-scale-pink-8: #611347;--color-scale-pink-9: #4d0336;--color-scale-coral-0: #FFF0EB;--color-scale-coral-1: #FFD6CC;--color-scale-coral-2: #FFB4A1;--color-scale-coral-3: #FD8C73;--color-scale-coral-4: #EC6547;--color-scale-coral-5: #C4432B;--color-scale-coral-6: #9E2F1C;--color-scale-coral-7: #801F0F;--color-scale-coral-8: #691105;--color-scale-coral-9: #510901 }:root.dark-mode{color-scheme:dark;--color-canvas-default-transparent: rgba(13,17,23,0);--color-marketing-icon-primary: #79c0ff;--color-marketing-icon-secondary: #1f6feb;--color-diff-blob-addition-num-text: #c9d1d9;--color-diff-blob-addition-fg: #c9d1d9;--color-diff-blob-addition-num-bg: rgba(63,185,80,.3);--color-diff-blob-addition-line-bg: rgba(46,160,67,.15);--color-diff-blob-addition-word-bg: rgba(46,160,67,.4);--color-diff-blob-deletion-num-text: #c9d1d9;--color-diff-blob-deletion-fg: #c9d1d9;--color-diff-blob-deletion-num-bg: rgba(248,81,73,.3);--color-diff-blob-deletion-line-bg: rgba(248,81,73,.15);--color-diff-blob-deletion-word-bg: rgba(248,81,73,.4);--color-diff-blob-hunk-num-bg: rgba(56,139,253,.4);--color-diff-blob-expander-icon: #8b949e;--color-diff-blob-selected-line-highlight-mix-blend-mode: screen;--color-diffstat-deletion-border: rgba(240,246,252,.1);--color-diffstat-addition-border: rgba(240,246,252,.1);--color-diffstat-addition-bg: #3fb950;--color-search-keyword-hl: rgba(210,153,34,.4);--color-prettylights-syntax-comment: #8b949e;--color-prettylights-syntax-constant: #79c0ff;--color-prettylights-syntax-entity: #d2a8ff;--color-prettylights-syntax-storage-modifier-import: #c9d1d9;--color-prettylights-syntax-entity-tag: #7ee787;--color-prettylights-syntax-keyword: #ff7b72;--color-prettylights-syntax-string: #a5d6ff;--color-prettylights-syntax-variable: #ffa657;--color-prettylights-syntax-brackethighlighter-unmatched: #f85149;--color-prettylights-syntax-invalid-illegal-text: #f0f6fc;--color-prettylights-syntax-invalid-illegal-bg: #8e1519;--color-prettylights-syntax-carriage-return-text: #f0f6fc;--color-prettylights-syntax-carriage-return-bg: #b62324;--color-prettylights-syntax-string-regexp: #7ee787;--color-prettylights-syntax-markup-list: #f2cc60;--color-prettylights-syntax-markup-heading: #1f6feb;--color-prettylights-syntax-markup-italic: #c9d1d9;--color-prettylights-syntax-markup-bold: #c9d1d9;--color-prettylights-syntax-markup-deleted-text: #ffdcd7;--color-prettylights-syntax-markup-deleted-bg: #67060c;--color-prettylights-syntax-markup-inserted-text: #aff5b4;--color-prettylights-syntax-markup-inserted-bg: #033a16;--color-prettylights-syntax-markup-changed-text: #ffdfb6;--color-prettylights-syntax-markup-changed-bg: #5a1e02;--color-prettylights-syntax-markup-ignored-text: #c9d1d9;--color-prettylights-syntax-markup-ignored-bg: #1158c7;--color-prettylights-syntax-meta-diff-range: #d2a8ff;--color-prettylights-syntax-brackethighlighter-angle: #8b949e;--color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;--color-prettylights-syntax-constant-other-reference-link: #a5d6ff;--color-codemirror-text: #c9d1d9;--color-codemirror-bg: #0d1117;--color-codemirror-gutters-bg: #0d1117;--color-codemirror-guttermarker-text: #0d1117;--color-codemirror-guttermarker-subtle-text: #484f58;--color-codemirror-linenumber-text: #8b949e;--color-codemirror-cursor: #c9d1d9;--color-codemirror-selection-bg: rgba(56,139,253,.4);--color-codemirror-activeline-bg: rgba(110,118,129,.1);--color-codemirror-matchingbracket-text: #c9d1d9;--color-codemirror-lines-bg: #0d1117;--color-codemirror-syntax-comment: #8b949e;--color-codemirror-syntax-constant: #79c0ff;--color-codemirror-syntax-entity: #d2a8ff;--color-codemirror-syntax-keyword: #ff7b72;--color-codemirror-syntax-storage: #ff7b72;--color-codemirror-syntax-string: #a5d6ff;--color-codemirror-syntax-support: #79c0ff;--color-codemirror-syntax-variable: #ffa657;--color-checks-bg: #010409;--color-checks-run-border-width: 1px;--color-checks-container-border-width: 1px;--color-checks-text-primary: #c9d1d9;--color-checks-text-secondary: #8b949e;--color-checks-text-link: #58a6ff;--color-checks-btn-icon: #8b949e;--color-checks-btn-hover-icon: #c9d1d9;--color-checks-btn-hover-bg: rgba(110,118,129,.1);--color-checks-input-text: #8b949e;--color-checks-input-placeholder-text: #484f58;--color-checks-input-focus-text: #c9d1d9;--color-checks-input-bg: #161b22;--color-checks-input-shadow: none;--color-checks-donut-error: #f85149;--color-checks-donut-pending: #d29922;--color-checks-donut-success: #2ea043;--color-checks-donut-neutral: #8b949e;--color-checks-dropdown-text: #c9d1d9;--color-checks-dropdown-bg: #161b22;--color-checks-dropdown-border: #30363d;--color-checks-dropdown-shadow: rgba(1,4,9,.3);--color-checks-dropdown-hover-text: #c9d1d9;--color-checks-dropdown-hover-bg: rgba(110,118,129,.1);--color-checks-dropdown-btn-hover-text: #c9d1d9;--color-checks-dropdown-btn-hover-bg: rgba(110,118,129,.1);--color-checks-scrollbar-thumb-bg: rgba(110,118,129,.4);--color-checks-header-label-text: #8b949e;--color-checks-header-label-open-text: #c9d1d9;--color-checks-header-border: #21262d;--color-checks-header-icon: #8b949e;--color-checks-line-text: #8b949e;--color-checks-line-num-text: #484f58;--color-checks-line-timestamp-text: #484f58;--color-checks-line-hover-bg: rgba(110,118,129,.1);--color-checks-line-selected-bg: rgba(56,139,253,.15);--color-checks-line-selected-num-text: #58a6ff;--color-checks-line-dt-fm-text: #f0f6fc;--color-checks-line-dt-fm-bg: #9e6a03;--color-checks-gate-bg: rgba(187,128,9,.15);--color-checks-gate-text: #8b949e;--color-checks-gate-waiting-text: #d29922;--color-checks-step-header-open-bg: #161b22;--color-checks-step-error-text: #f85149;--color-checks-step-warning-text: #d29922;--color-checks-logline-text: #8b949e;--color-checks-logline-num-text: #484f58;--color-checks-logline-debug-text: #a371f7;--color-checks-logline-error-text: #8b949e;--color-checks-logline-error-num-text: #484f58;--color-checks-logline-error-bg: rgba(248,81,73,.15);--color-checks-logline-warning-text: #8b949e;--color-checks-logline-warning-num-text: #d29922;--color-checks-logline-warning-bg: rgba(187,128,9,.15);--color-checks-logline-command-text: #58a6ff;--color-checks-logline-section-text: #3fb950;--color-checks-ansi-black: #0d1117;--color-checks-ansi-black-bright: #161b22;--color-checks-ansi-white: #b1bac4;--color-checks-ansi-white-bright: #b1bac4;--color-checks-ansi-gray: #6e7681;--color-checks-ansi-red: #ff7b72;--color-checks-ansi-red-bright: #ffa198;--color-checks-ansi-green: #3fb950;--color-checks-ansi-green-bright: #56d364;--color-checks-ansi-yellow: #d29922;--color-checks-ansi-yellow-bright: #e3b341;--color-checks-ansi-blue: #58a6ff;--color-checks-ansi-blue-bright: #79c0ff;--color-checks-ansi-magenta: #bc8cff;--color-checks-ansi-magenta-bright: #d2a8ff;--color-checks-ansi-cyan: #76e3ea;--color-checks-ansi-cyan-bright: #b3f0ff;--color-project-header-bg: #0d1117;--color-project-sidebar-bg: #161b22;--color-project-gradient-in: #161b22;--color-project-gradient-out: rgba(22,27,34,0);--color-mktg-success: rgba(41,147,61,1);--color-mktg-info: rgba(42,123,243,1);--color-mktg-bg-shade-gradient-top: rgba(1,4,9,.065);--color-mktg-bg-shade-gradient-bottom: rgba(1,4,9,0);--color-mktg-btn-bg-top: hsla(228,82%,66%,1);--color-mktg-btn-bg-bottom: #4969ed;--color-mktg-btn-bg-overlay-top: hsla(228,74%,59%,1);--color-mktg-btn-bg-overlay-bottom: #3355e0;--color-mktg-btn-text: #f0f6fc;--color-mktg-btn-primary-bg-top: hsla(137,56%,46%,1);--color-mktg-btn-primary-bg-bottom: #2ea44f;--color-mktg-btn-primary-bg-overlay-top: hsla(134,60%,38%,1);--color-mktg-btn-primary-bg-overlay-bottom: #22863a;--color-mktg-btn-primary-text: #f0f6fc;--color-mktg-btn-enterprise-bg-top: hsla(249,100%,72%,1);--color-mktg-btn-enterprise-bg-bottom: #6f57ff;--color-mktg-btn-enterprise-bg-overlay-top: hsla(248,65%,63%,1);--color-mktg-btn-enterprise-bg-overlay-bottom: #614eda;--color-mktg-btn-enterprise-text: #f0f6fc;--color-mktg-btn-outline-text: #f0f6fc;--color-mktg-btn-outline-border: rgba(240,246,252,.3);--color-mktg-btn-outline-hover-text: #f0f6fc;--color-mktg-btn-outline-hover-border: rgba(240,246,252,.5);--color-mktg-btn-outline-focus-border: #f0f6fc;--color-mktg-btn-outline-focus-border-inset: rgba(240,246,252,.5);--color-mktg-btn-dark-text: #f0f6fc;--color-mktg-btn-dark-border: rgba(240,246,252,.3);--color-mktg-btn-dark-hover-text: #f0f6fc;--color-mktg-btn-dark-hover-border: rgba(240,246,252,.5);--color-mktg-btn-dark-focus-border: #f0f6fc;--color-mktg-btn-dark-focus-border-inset: rgba(240,246,252,.5);--color-avatar-bg: rgba(240,246,252,.1);--color-avatar-border: rgba(240,246,252,.1);--color-avatar-stack-fade: #30363d;--color-avatar-stack-fade-more: #21262d;--color-avatar-child-shadow: -2px -2px 0 #0d1117;--color-topic-tag-border: rgba(0,0,0,0);--color-select-menu-backdrop-border: #484f58;--color-select-menu-tap-highlight: rgba(48,54,61,.5);--color-select-menu-tap-focus-bg: #0c2d6b;--color-overlay-shadow: 0 0 0 1px #30363d, 0 16px 32px rgba(1,4,9,.85);--color-header-text: rgba(240,246,252,.7);--color-header-bg: #161b22;--color-header-logo: #f0f6fc;--color-header-search-bg: #0d1117;--color-header-search-border: #30363d;--color-sidenav-selected-bg: #21262d;--color-menu-bg-active: #161b22;--color-control-transparent-bg-hover: #656c7633;--color-input-disabled-bg: rgba(110,118,129,0);--color-timeline-badge-bg: #21262d;--color-ansi-black: #484f58;--color-ansi-black-bright: #6e7681;--color-ansi-white: #b1bac4;--color-ansi-white-bright: #f0f6fc;--color-ansi-gray: #6e7681;--color-ansi-red: #ff7b72;--color-ansi-red-bright: #ffa198;--color-ansi-green: #3fb950;--color-ansi-green-bright: #56d364;--color-ansi-yellow: #d29922;--color-ansi-yellow-bright: #e3b341;--color-ansi-blue: #58a6ff;--color-ansi-blue-bright: #79c0ff;--color-ansi-magenta: #bc8cff;--color-ansi-magenta-bright: #d2a8ff;--color-ansi-cyan: #39c5cf;--color-ansi-cyan-bright: #56d4dd;--color-btn-text: #c9d1d9;--color-btn-bg: #21262d;--color-btn-border: rgba(240,246,252,.1);--color-btn-shadow: 0 0 transparent;--color-btn-inset-shadow: 0 0 transparent;--color-btn-hover-bg: #30363d;--color-btn-hover-border: #8b949e;--color-btn-active-bg: hsla(212,12%,18%,1);--color-btn-active-border: #6e7681;--color-btn-selected-bg: #161b22;--color-btn-focus-bg: #21262d;--color-btn-focus-border: #8b949e;--color-btn-focus-shadow: 0 0 0 3px rgba(139,148,158,.3);--color-btn-shadow-active: inset 0 .15em .3em rgba(1,4,9,.15);--color-btn-shadow-input-focus: 0 0 0 .2em rgba(31,111,235,.3);--color-btn-counter-bg: #30363d;--color-btn-primary-text: #ffffff;--color-btn-primary-bg: #238636;--color-btn-primary-border: rgba(240,246,252,.1);--color-btn-primary-shadow: 0 0 transparent;--color-btn-primary-inset-shadow: 0 0 transparent;--color-btn-primary-hover-bg: #2ea043;--color-btn-primary-hover-border: rgba(240,246,252,.1);--color-btn-primary-selected-bg: #238636;--color-btn-primary-selected-shadow: 0 0 transparent;--color-btn-primary-disabled-text: rgba(240,246,252,.5);--color-btn-primary-disabled-bg: rgba(35,134,54,.6);--color-btn-primary-disabled-border: rgba(240,246,252,.1);--color-btn-primary-focus-bg: #238636;--color-btn-primary-focus-border: rgba(240,246,252,.1);--color-btn-primary-focus-shadow: 0 0 0 3px rgba(46,164,79,.4);--color-btn-primary-icon: #f0f6fc;--color-btn-primary-counter-bg: rgba(240,246,252,.2);--color-btn-outline-text: #58a6ff;--color-btn-outline-hover-text: #58a6ff;--color-btn-outline-hover-bg: #30363d;--color-btn-outline-hover-border: rgba(240,246,252,.1);--color-btn-outline-hover-shadow: 0 1px 0 rgba(1,4,9,.1);--color-btn-outline-hover-inset-shadow: inset 0 1px 0 rgba(240,246,252,.03);--color-btn-outline-hover-counter-bg: rgba(240,246,252,.2);--color-btn-outline-selected-text: #f0f6fc;--color-btn-outline-selected-bg: #0d419d;--color-btn-outline-selected-border: rgba(240,246,252,.1);--color-btn-outline-selected-shadow: 0 0 transparent;--color-btn-outline-disabled-text: rgba(88,166,255,.5);--color-btn-outline-disabled-bg: #0d1117;--color-btn-outline-disabled-counter-bg: rgba(31,111,235,.05);--color-btn-outline-focus-border: rgba(240,246,252,.1);--color-btn-outline-focus-shadow: 0 0 0 3px rgba(17,88,199,.4);--color-btn-outline-counter-bg: rgba(31,111,235,.1);--color-btn-danger-text: #f85149;--color-btn-danger-hover-text: #f0f6fc;--color-btn-danger-hover-bg: #da3633;--color-btn-danger-hover-border: #f85149;--color-btn-danger-hover-shadow: 0 0 transparent;--color-btn-danger-hover-inset-shadow: 0 0 transparent;--color-btn-danger-hover-icon: #f0f6fc;--color-btn-danger-hover-counter-bg: rgba(255,255,255,.2);--color-btn-danger-selected-text: #ffffff;--color-btn-danger-selected-bg: #b62324;--color-btn-danger-selected-border: #ff7b72;--color-btn-danger-selected-shadow: 0 0 transparent;--color-btn-danger-disabled-text: rgba(248,81,73,.5);--color-btn-danger-disabled-bg: #0d1117;--color-btn-danger-disabled-counter-bg: rgba(218,54,51,.05);--color-btn-danger-focus-border: #f85149;--color-btn-danger-focus-shadow: 0 0 0 3px rgba(248,81,73,.4);--color-btn-danger-counter-bg: rgba(218,54,51,.1);--color-btn-danger-icon: #f85149;--color-underlinenav-icon: #484f58;--color-underlinenav-border-hover: rgba(110,118,129,.4);--color-fg-default: #c9d1d9;--color-fg-muted: #8b949e;--color-fg-subtle: #484f58;--color-fg-on-emphasis: #f0f6fc;--color-canvas-default: #0d1117;--color-canvas-overlay: #161b22;--color-canvas-inset: #010409;--color-canvas-subtle: #161b22;--color-border-default: #30363d;--color-border-muted: #21262d;--color-border-subtle: rgba(240,246,252,.1);--color-shadow-small: 0 0 transparent;--color-shadow-medium: 0 3px 6px #010409;--color-shadow-large: 0 8px 24px #010409;--color-shadow-extra-large: 0 12px 48px #010409;--color-neutral-emphasis-plus: #6e7681;--color-neutral-emphasis: #6e7681;--color-neutral-muted: rgba(110,118,129,.4);--color-neutral-subtle: rgba(110,118,129,.1);--color-accent-fg: #58a6ff;--color-accent-emphasis: #1f6feb;--color-accent-muted: rgba(56,139,253,.4);--color-accent-subtle: rgba(56,139,253,.15);--color-success-fg: #3fb950;--color-success-emphasis: #238636;--color-success-muted: rgba(46,160,67,.4);--color-success-subtle: rgba(46,160,67,.15);--color-attention-fg: #d29922;--color-attention-emphasis: #9e6a03;--color-attention-muted: rgba(187,128,9,.4);--color-attention-subtle: rgba(187,128,9,.15);--color-severe-fg: #db6d28;--color-severe-emphasis: #bd561d;--color-severe-muted: rgba(219,109,40,.4);--color-severe-subtle: rgba(219,109,40,.15);--color-danger-fg: #f85149;--color-danger-emphasis: #da3633;--color-danger-muted: rgba(248,81,73,.4);--color-danger-subtle: rgba(248,81,73,.15);--color-done-fg: #a371f7;--color-done-emphasis: #8957e5;--color-done-muted: rgba(163,113,247,.4);--color-done-subtle: rgba(163,113,247,.15);--color-sponsors-fg: #db61a2;--color-sponsors-emphasis: #bf4b8a;--color-sponsors-muted: rgba(219,97,162,.4);--color-sponsors-subtle: rgba(219,97,162,.15);--color-primer-canvas-backdrop: rgba(1,4,9,.8);--color-primer-canvas-sticky: rgba(13,17,23,.95);--color-primer-border-active: #F78166;--color-primer-border-contrast: rgba(240,246,252,.2);--color-primer-shadow-highlight: 0 0 transparent;--color-primer-shadow-inset: 0 0 transparent;--color-primer-shadow-focus: 0 0 0 3px #0c2d6b;--color-scale-black: #010409;--color-scale-white: #f0f6fc;--color-scale-gray-0: #f0f6fc;--color-scale-gray-1: #c9d1d9;--color-scale-gray-2: #b1bac4;--color-scale-gray-3: #8b949e;--color-scale-gray-4: #6e7681;--color-scale-gray-5: #484f58;--color-scale-gray-6: #30363d;--color-scale-gray-7: #21262d;--color-scale-gray-8: #161b22;--color-scale-gray-9: #0d1117;--color-scale-blue-0: #cae8ff;--color-scale-blue-1: #a5d6ff;--color-scale-blue-2: #79c0ff;--color-scale-blue-3: #58a6ff;--color-scale-blue-4: #388bfd;--color-scale-blue-5: #1f6feb;--color-scale-blue-6: #1158c7;--color-scale-blue-7: #0d419d;--color-scale-blue-8: #0c2d6b;--color-scale-blue-9: #051d4d;--color-scale-green-0: #aff5b4;--color-scale-green-1: #7ee787;--color-scale-green-2: #56d364;--color-scale-green-3: #3fb950;--color-scale-green-4: #2ea043;--color-scale-green-5: #238636;--color-scale-green-6: #196c2e;--color-scale-green-7: #0f5323;--color-scale-green-8: #033a16;--color-scale-green-9: #04260f;--color-scale-yellow-0: #f8e3a1;--color-scale-yellow-1: #f2cc60;--color-scale-yellow-2: #e3b341;--color-scale-yellow-3: #d29922;--color-scale-yellow-4: #bb8009;--color-scale-yellow-5: #9e6a03;--color-scale-yellow-6: #845306;--color-scale-yellow-7: #693e00;--color-scale-yellow-8: #4b2900;--color-scale-yellow-9: #341a00;--color-scale-orange-0: #ffdfb6;--color-scale-orange-1: #ffc680;--color-scale-orange-2: #ffa657;--color-scale-orange-3: #f0883e;--color-scale-orange-4: #db6d28;--color-scale-orange-5: #bd561d;--color-scale-orange-6: #9b4215;--color-scale-orange-7: #762d0a;--color-scale-orange-8: #5a1e02;--color-scale-orange-9: #3d1300;--color-scale-red-0: #ffdcd7;--color-scale-red-1: #ffc1ba;--color-scale-red-2: #ffa198;--color-scale-red-3: #ff7b72;--color-scale-red-4: #f85149;--color-scale-red-5: #da3633;--color-scale-red-6: #b62324;--color-scale-red-7: #8e1519;--color-scale-red-8: #67060c;--color-scale-red-9: #490202;--color-scale-purple-0: #eddeff;--color-scale-purple-1: #e2c5ff;--color-scale-purple-2: #d2a8ff;--color-scale-purple-3: #bc8cff;--color-scale-purple-4: #a371f7;--color-scale-purple-5: #8957e5;--color-scale-purple-6: #6e40c9;--color-scale-purple-7: #553098;--color-scale-purple-8: #3c1e70;--color-scale-purple-9: #271052;--color-scale-pink-0: #ffdaec;--color-scale-pink-1: #ffbedd;--color-scale-pink-2: #ff9bce;--color-scale-pink-3: #f778ba;--color-scale-pink-4: #db61a2;--color-scale-pink-5: #bf4b8a;--color-scale-pink-6: #9e3670;--color-scale-pink-7: #7d2457;--color-scale-pink-8: #5e103e;--color-scale-pink-9: #42062a;--color-scale-coral-0: #FFDDD2;--color-scale-coral-1: #FFC2B2;--color-scale-coral-2: #FFA28B;--color-scale-coral-3: #F78166;--color-scale-coral-4: #EA6045;--color-scale-coral-5: #CF462D;--color-scale-coral-6: #AC3220;--color-scale-coral-7: #872012;--color-scale-coral-8: #640D04;--color-scale-coral-9: #460701 }:root{--box-shadow: rgba(0, 0, 0, .133) 0px 1.6px 3.6px 0px, rgba(0, 0, 0, .11) 0px .3px .9px 0px;--box-shadow-thick: rgb(0 0 0 / 10%) 0px 1.8px 1.9px, rgb(0 0 0 / 15%) 0px 6.1px 6.3px, rgb(0 0 0 / 10%) 0px -2px 4px, rgb(0 0 0 / 15%) 0px -6.1px 12px, rgb(0 0 0 / 25%) 0px 6px 12px}*{box-sizing:border-box;min-width:0;min-height:0}svg{fill:currentColor}.vbox{display:flex;flex-direction:column;flex:auto;position:relative}.hbox{display:flex;flex:auto;position:relative}.hidden{visibility:hidden}.d-flex{display:flex!important}.d-inline{display:inline!important}.m-1{margin:4px}.m-2{margin:8px}.m-3{margin:16px}.m-4{margin:24px}.m-5{margin:32px}.mx-1{margin:0 4px}.mx-2{margin:0 8px}.mx-3{margin:0 16px}.mx-4{margin:0 24px}.mx-5{margin:0 32px}.my-1{margin:4px 0}.my-2{margin:8px 0}.my-3{margin:16px 0}.my-4{margin:24px 0}.my-5{margin:32px 0}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:16px}.mt-4{margin-top:24px}.mt-5{margin-top:32px}.mr-1{margin-right:4px}.mr-2{margin-right:8px}.mr-3{margin-right:16px}.mr-4{margin-right:24px}.mr-5{margin-right:32px}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:16px}.mb-4{margin-bottom:24px}.mb-5{margin-bottom:32px}.ml-1{margin-left:4px}.ml-2{margin-left:8px}.ml-3{margin-left:16px}.ml-4{margin-left:24px}.ml-5{margin-left:32px}.p-1{padding:4px}.p-2{padding:8px}.p-3{padding:16px}.p-4{padding:24px}.p-5{padding:32px}.px-1{padding:0 4px}.px-2{padding:0 8px}.px-3{padding:0 16px}.px-4{padding:0 24px}.px-5{padding:0 32px}.py-1{padding:4px 0}.py-2{padding:8px 0}.py-3{padding:16px 0}.py-4{padding:24px 0}.py-5{padding:32px 0}.pt-1{padding-top:4px}.pt-2{padding-top:8px}.pt-3{padding-top:16px}.pt-4{padding-top:24px}.pt-5{padding-top:32px}.pr-1{padding-right:4px}.pr-2{padding-right:8px}.pr-3{padding-right:16px}.pr-4{padding-right:24px}.pr-5{padding-right:32px}.pb-1{padding-bottom:4px}.pb-2{padding-bottom:8px}.pb-3{padding-bottom:16px}.pb-4{padding-bottom:24px}.pb-5{padding-bottom:32px}.pl-1{padding-left:4px}.pl-2{padding-left:8px}.pl-3{padding-left:16px}.pl-4{padding-left:24px}.pl-5{padding-left:32px}.no-wrap{white-space:nowrap!important}.float-left{float:left!important}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section{display:block}.form-control,.form-select{padding:5px 12px;font-size:14px;line-height:20px;color:var(--color-fg-default);vertical-align:middle;background-color:var(--color-canvas-default);background-repeat:no-repeat;background-position:right 8px center;border:1px solid var(--color-border-default);border-radius:6px;outline:none;box-shadow:var(--color-primer-shadow-inset)}.input-contrast{background-color:var(--color-canvas-inset)}.subnav-search{position:relative;flex:auto;display:flex}.subnav-search-input{flex:auto;padding-left:32px;color:var(--color-fg-muted)}.subnav-search-icon{position:absolute;top:9px;left:8px;display:block;color:var(--color-fg-muted);text-align:center;pointer-events:none}.subnav-search-context+.subnav-search{margin-left:-1px}.subnav-item{flex:none;position:relative;float:left;padding:5px 8px;font-weight:500;line-height:20px;color:var(--color-fg-default);border:1px solid var(--color-border-default);-webkit-user-select:none;user-select:none}.subnav-item:hover{background-color:var(--color-canvas-subtle)}.subnav-item[aria-selected=true]{background:var(--color-control-transparent-bg-hover)}.subnav-item:first-child{border-top-left-radius:6px;border-bottom-left-radius:6px}.subnav-item:last-child{border-top-right-radius:6px;border-bottom-right-radius:6px}.subnav-item+.subnav-item{margin-left:-1px}.subnav-item .octicon,.subnav-item-label{margin-right:8px}.counter{display:inline-block;min-width:20px;padding:0 6px;font-size:12px;font-weight:500;line-height:18px;color:var(--color-fg-default);text-align:center;background-color:var(--color-neutral-muted);border:1px solid transparent;border-radius:2em}.color-icon-success{color:var(--color-success-fg)!important}.color-text-danger{color:var(--color-danger-fg)!important}.color-text-warning{color:var(--color-checks-step-warning-text)!important}.color-fg-muted{color:var(--color-fg-muted)!important}.octicon{display:inline-block;overflow:visible!important;vertical-align:text-bottom;fill:currentColor;margin-right:7px;flex:none}.button{flex:none;height:24px;border:1px solid var(--color-btn-border);outline:none;color:var(--color-btn-text);background:var(--color-btn-bg);padding:4px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;border-radius:4px}.button:not(:disabled):hover{border-color:var(--color-btn-hover-border);background-color:var(--color-btn-hover-bg)}input[type=checkbox]{outline:var(--color-focus-border);height:24px}dialog{background-color:var(--color-canvas-subtle);border:1px solid var(--color-border-default);border-radius:6px;padding:6px}.subnav-item .octicon.octicon-settings{margin-right:0}.subnav-item .octicon.octicon-clock{margin-right:0;color:var(--color-fg-default)!important}@media only screen and (max-width: 600px){.subnav-item,.form-control{border-radius:0!important}.subnav-item{border:none}.subnav-search-input{border-left:0;border-right:0}}.header-view-status-container{float:right}.header-view{padding:12px 8px 0}.header-view div{flex-shrink:0;flex-wrap:wrap}.header-superheader{color:var(--color-fg-muted)}.header-title{flex:none;font-weight:400;font-size:32px;line-height:1.25}.header-setting-theme{display:grid;margin-left:22px}@media only screen and (max-width: 600px){.header-view{padding:0}.header-view div{flex-shrink:1}.header-view-status-container{float:none;margin:0 0 10px!important;overflow:hidden}.header-view-status-container .subnav-search-input{border-left:none;border-right:none}.header-title,.header-superheader{margin:0 8px}}.copy-icon{flex:none;height:24px;width:24px;border:none;outline:none;color:var(--color-fg-muted);background:transparent;padding:4px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;border-radius:4px}.copy-icon svg{margin:0}.copy-icon:not(:disabled):hover{background-color:var(--color-border-default)}.copy-button-container{visibility:hidden;display:inline-flex;margin-left:8px;vertical-align:bottom}.copy-value-container:hover .copy-button-container{visibility:visible}.attachment-body{white-space:pre-wrap;background-color:var(--color-canvas-subtle);margin-left:24px;line-height:normal;padding:8px;font-family:monospace;position:relative}.attachment-body .copy-icon{position:absolute;right:5px;top:5px}.attachment-flash{animation:attachmentflash-bg 2s}@keyframes attachmentflash-bg{0%{background:var(--color-attention-subtle)}to{background:transparent}}.link-badge{flex:none;background-color:transparent;border-color:transparent;-webkit-user-select:none;user-select:none}.link-badge-dim span{color:var(--color-fg-muted)}.link-badge:hover{cursor:pointer}.link-badge svg{fill:var(--color-fg-default)}.link-badge-dim svg{fill:var(--color-fg-muted)}.link-badge-dim:hover svg{fill:var(--color-fg-muted)}.fullwidth-link{width:100%;text-align:left}.fullwidth-link:hover{background-color:var(--color-canvas-subtle)}.trace-link{margin-right:3px}.trace-link-separator{color:var(--color-fg-muted);-webkit-user-select:none;user-select:none}.expandable-summary{cursor:pointer;list-style:none;white-space:nowrap;padding-left:4px}.label{display:inline-block;padding:0 8px;font-size:12px;font-weight:500;line-height:18px;border:1px solid transparent;border-radius:2em;background-color:var(--color-scale-gray-4);color:#fff;margin:0 10px;flex:none;font-weight:600;cursor:pointer}.label-anchor{text-decoration:none;color:var(--color-fg-default)}:root.light-mode .label-color-0{background-color:var(--color-scale-blue-0);color:var(--color-scale-blue-6);border:1px solid var(--color-scale-blue-4)}:root.light-mode .label-color-1{background-color:var(--color-scale-yellow-0);color:var(--color-scale-yellow-6);border:1px solid var(--color-scale-yellow-4)}:root.light-mode .label-color-2{background-color:var(--color-scale-purple-0);color:var(--color-scale-purple-6);border:1px solid var(--color-scale-purple-4)}:root.light-mode .label-color-3{background-color:var(--color-scale-pink-0);color:var(--color-scale-pink-6);border:1px solid var(--color-scale-pink-4)}:root.light-mode .label-color-4{background-color:var(--color-scale-coral-0);color:var(--color-scale-coral-6);border:1px solid var(--color-scale-coral-4)}:root.light-mode .label-color-5{background-color:var(--color-scale-orange-0);color:var(--color-scale-orange-6);border:1px solid var(--color-scale-orange-4)}:root.dark-mode .label-color-0{background-color:var(--color-scale-blue-9);color:var(--color-scale-blue-2);border:1px solid var(--color-scale-blue-4)}:root.dark-mode .label-color-1{background-color:var(--color-scale-yellow-9);color:var(--color-scale-yellow-2);border:1px solid var(--color-scale-yellow-4)}:root.dark-mode .label-color-2{background-color:var(--color-scale-purple-9);color:var(--color-scale-purple-2);border:1px solid var(--color-scale-purple-4)}:root.dark-mode .label-color-3{background-color:var(--color-scale-pink-9);color:var(--color-scale-pink-2);border:1px solid var(--color-scale-pink-4)}:root.dark-mode .label-color-4{background-color:var(--color-scale-coral-9);color:var(--color-scale-coral-2);border:1px solid var(--color-scale-coral-4)}:root.dark-mode .label-color-5{background-color:var(--color-scale-orange-9);color:var(--color-scale-orange-2);border:1px solid var(--color-scale-orange-4)}.label-row .label{margin:0}.label-row .label:not(:first-child){margin-left:6px}html,body{width:100%;height:100%;padding:0;margin:0;overscroll-behavior-x:none}body{overflow:auto;max-width:1024px;margin:0 auto;width:100%}.test-file-test:not(:first-child){border-top:1px solid var(--color-border-default)}@media only screen and (max-width: 600px){.htmlreport{padding:0!important}}.tabbed-pane{display:flex;flex:auto;overflow:hidden}.tabbed-pane-tab-strip{display:flex;align-items:center;padding-right:10px;flex:none;width:100%;z-index:2;font-size:14px;line-height:32px;color:var(--color-fg-default);height:48px;min-width:70px;box-shadow:inset 0 -1px 0 var(--color-border-muted)!important}.tabbed-pane-tab-strip:focus{outline:none}.tabbed-pane-tab-element{padding:4px 8px 0;margin-right:4px;cursor:pointer;display:flex;flex:none;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;border-bottom:2px solid transparent;outline:none;height:100%}.tabbed-pane-tab-label{max-width:250px;white-space:pre;overflow:hidden;text-overflow:ellipsis;display:inline-block;height:30px;padding:0 8px;border-radius:6px}.tabbed-pane-tab-label:hover{background-color:var(--color-control-transparent-bg-hover)}.tabbed-pane-tab-element.selected{border-bottom-color:#666;-webkit-text-stroke:.5px currentColor}.chip-header{border:1px solid var(--color-border-default);border-top-left-radius:6px;border-top-right-radius:6px;background-color:var(--color-canvas-subtle);padding:0 8px;border-bottom:none;margin-top:12px;font-weight:600;line-height:38px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-user-select:none;user-select:none}.chip-header-allow-selection{-webkit-user-select:text;user-select:text}.chip-header.expanded-false{border:1px solid var(--color-border-default);border-radius:6px}.chip-header.expanded-false,.chip-header.expanded-true{cursor:pointer}.chip-body{border:1px solid var(--color-border-default);border-bottom-left-radius:6px;border-bottom-right-radius:6px;padding:16px;margin-bottom:12px;overflow:hidden}.chip-body-no-insets{padding:0}.chip-footer{border-top:1px solid var(--color-border-default)}@media only screen and (max-width: 600px){.chip-header{border-radius:0;border-right:none;border-left:none}.chip-body{border-radius:0;border-right:none;border-left:none;padding:8px}.chip-body-no-insets{padding:0}}.test-case-column{border-radius:6px;margin-bottom:24px}.test-case-column .tab-element.selected{font-weight:600;border-bottom-color:var(--color-primer-border-active)}.test-case-column .tab-element{border:none;color:var(--color-fg-default);border-bottom:2px solid transparent}.test-case-column .tab-element:hover{color:var(--color-fg-default)}.test-case-location,.test-case-duration{flex:none;align-items:center;padding:0 8px 8px}.selected .test-case-run-duration{-webkit-text-stroke:0}.test-case-run-duration{color:var(--color-fg-muted);padding-left:8px}.header-view .test-case-path{flex:none;flex-shrink:1;align-items:center;padding-right:8px}.test-case-annotation{flex:none;align-items:center;padding:0 8px;line-height:24px;white-space:pre-wrap}@media only screen and (max-width: 600px){.test-case-column{border-radius:0!important;margin:0!important}}.tree-item{display:flex;flex-direction:column;overflow:hidden;min-width:0;line-height:38px}.tree-item-title{cursor:pointer;overflow:hidden;text-overflow:ellipsis;min-width:0;display:flex;align-items:center}.tree-item-body{min-height:18px}.yellow-flash{animation:yellowflash-bg 2s}@keyframes yellowflash-bg{0%{background:var(--color-attention-subtle)}to{background:transparent}}:root{--vscode-font-family: system-ui, "Ubuntu", "Droid Sans", sans-serif;--vscode-font-weight: normal;--vscode-font-size: 13px;--vscode-editor-font-family: "Droid Sans Mono", "monospace", monospace;--vscode-editor-font-weight: normal;--vscode-editor-font-size: 14px;--vscode-foreground: #616161;--vscode-disabledForeground: rgba(97, 97, 97, .5);--vscode-errorForeground: #a1260d;--vscode-descriptionForeground: #717171;--vscode-icon-foreground: #424242;--vscode-focusBorder: #0090f1;--vscode-textSeparator-foreground: rgba(0, 0, 0, .18);--vscode-textLink-foreground: #006ab1;--vscode-textLink-activeForeground: #006ab1;--vscode-textPreformat-foreground: #a31515;--vscode-textBlockQuote-background: rgba(127, 127, 127, .1);--vscode-textBlockQuote-border: rgba(0, 122, 204, .5);--vscode-textCodeBlock-background: rgba(220, 220, 220, .4);--vscode-widget-shadow: rgba(0, 0, 0, .16);--vscode-input-background: #ffffff;--vscode-input-foreground: #616161;--vscode-inputOption-activeBorder: #007acc;--vscode-inputOption-hoverBackground: rgba(184, 184, 184, .31);--vscode-inputOption-activeBackground: rgba(0, 144, 241, .2);--vscode-inputOption-activeForeground: #000000;--vscode-input-placeholderForeground: #767676;--vscode-inputValidation-infoBackground: #d6ecf2;--vscode-inputValidation-infoBorder: #007acc;--vscode-inputValidation-warningBackground: #f6f5d2;--vscode-inputValidation-warningBorder: #b89500;--vscode-inputValidation-errorBackground: #f2dede;--vscode-inputValidation-errorBorder: #be1100;--vscode-dropdown-background: #ffffff;--vscode-dropdown-border: #cecece;--vscode-checkbox-background: #ffffff;--vscode-checkbox-border: #cecece;--vscode-button-foreground: #ffffff;--vscode-button-separator: rgba(255, 255, 255, .4);--vscode-button-background: #007acc;--vscode-button-hoverBackground: #0062a3;--vscode-button-secondaryForeground: #ffffff;--vscode-button-secondaryBackground: #5f6a79;--vscode-button-secondaryHoverBackground: #4c5561;--vscode-badge-background: #c4c4c4;--vscode-badge-foreground: #333333;--vscode-scrollbar-shadow: #dddddd;--vscode-scrollbarSlider-background: rgba(100, 100, 100, .4);--vscode-scrollbarSlider-hoverBackground: rgba(100, 100, 100, .7);--vscode-scrollbarSlider-activeBackground: rgba(0, 0, 0, .6);--vscode-progressBar-background: #0e70c0;--vscode-editorError-foreground: #e51400;--vscode-editorWarning-foreground: #bf8803;--vscode-editorInfo-foreground: #1a85ff;--vscode-editorHint-foreground: #6c6c6c;--vscode-sash-hoverBorder: #0090f1;--vscode-editor-background: #ffffff;--vscode-editor-foreground: #000000;--vscode-editorStickyScroll-background: #ffffff;--vscode-editorStickyScrollHover-background: #f0f0f0;--vscode-editorWidget-background: #f3f3f3;--vscode-editorWidget-foreground: #616161;--vscode-editorWidget-border: #c8c8c8;--vscode-quickInput-background: #f3f3f3;--vscode-quickInput-foreground: #616161;--vscode-quickInputTitle-background: rgba(0, 0, 0, .06);--vscode-pickerGroup-foreground: #0066bf;--vscode-pickerGroup-border: #cccedb;--vscode-keybindingLabel-background: rgba(221, 221, 221, .4);--vscode-keybindingLabel-foreground: #555555;--vscode-keybindingLabel-border: rgba(204, 204, 204, .4);--vscode-keybindingLabel-bottomBorder: rgba(187, 187, 187, .4);--vscode-editor-selectionBackground: #add6ff;--vscode-editor-inactiveSelectionBackground: #e5ebf1;--vscode-editor-selectionHighlightBackground: rgba(173, 214, 255, .5);--vscode-editor-findMatchBackground: #a8ac94;--vscode-editor-findMatchHighlightBackground: rgba(234, 92, 0, .33);--vscode-editor-findRangeHighlightBackground: rgba(180, 180, 180, .3);--vscode-searchEditor-findMatchBackground: rgba(234, 92, 0, .22);--vscode-editor-hoverHighlightBackground: rgba(173, 214, 255, .15);--vscode-editorHoverWidget-background: #f3f3f3;--vscode-editorHoverWidget-foreground: #616161;--vscode-editorHoverWidget-border: #c8c8c8;--vscode-editorHoverWidget-statusBarBackground: #e7e7e7;--vscode-editorLink-activeForeground: #0000ff;--vscode-editorInlayHint-foreground: rgba(51, 51, 51, .8);--vscode-editorInlayHint-background: rgba(196, 196, 196, .3);--vscode-editorInlayHint-typeForeground: rgba(51, 51, 51, .8);--vscode-editorInlayHint-typeBackground: rgba(196, 196, 196, .3);--vscode-editorInlayHint-parameterForeground: rgba(51, 51, 51, .8);--vscode-editorInlayHint-parameterBackground: rgba(196, 196, 196, .3);--vscode-editorLightBulb-foreground: #ddb100;--vscode-editorLightBulbAutoFix-foreground: #007acc;--vscode-diffEditor-insertedTextBackground: rgba(156, 204, 44, .4);--vscode-diffEditor-removedTextBackground: rgba(255, 0, 0, .3);--vscode-diffEditor-insertedLineBackground: rgba(155, 185, 85, .2);--vscode-diffEditor-removedLineBackground: rgba(255, 0, 0, .2);--vscode-diffEditor-diagonalFill: rgba(34, 34, 34, .2);--vscode-list-focusOutline: #0090f1;--vscode-list-focusAndSelectionOutline: #90c2f9;--vscode-list-activeSelectionBackground: #0060c0;--vscode-list-activeSelectionForeground: #ffffff;--vscode-list-activeSelectionIconForeground: #ffffff;--vscode-list-inactiveSelectionBackground: #e4e6f1;--vscode-list-hoverBackground: #e8e8e8;--vscode-list-dropBackground: #d6ebff;--vscode-list-highlightForeground: #0066bf;--vscode-list-focusHighlightForeground: #bbe7ff;--vscode-list-invalidItemForeground: #b89500;--vscode-list-errorForeground: #b01011;--vscode-list-warningForeground: #855f00;--vscode-listFilterWidget-background: #f3f3f3;--vscode-listFilterWidget-outline: rgba(0, 0, 0, 0);--vscode-listFilterWidget-noMatchesOutline: #be1100;--vscode-listFilterWidget-shadow: rgba(0, 0, 0, .16);--vscode-list-filterMatchBackground: rgba(234, 92, 0, .33);--vscode-tree-indentGuidesStroke: #a9a9a9;--vscode-tree-tableColumnsBorder: rgba(97, 97, 97, .13);--vscode-tree-tableOddRowsBackground: rgba(97, 97, 97, .04);--vscode-list-deemphasizedForeground: #8e8e90;--vscode-quickInputList-focusForeground: #ffffff;--vscode-quickInputList-focusIconForeground: #ffffff;--vscode-quickInputList-focusBackground: #0060c0;--vscode-menu-foreground: #616161;--vscode-menu-background: #ffffff;--vscode-menu-selectionForeground: #ffffff;--vscode-menu-selectionBackground: #0060c0;--vscode-menu-separatorBackground: #d4d4d4;--vscode-toolbar-hoverBackground: rgba(184, 184, 184, .31);--vscode-toolbar-activeBackground: rgba(166, 166, 166, .31);--vscode-editor-snippetTabstopHighlightBackground: rgba(10, 50, 100, .2);--vscode-editor-snippetFinalTabstopHighlightBorder: rgba(10, 50, 100, .5);--vscode-breadcrumb-foreground: rgba(97, 97, 97, .8);--vscode-breadcrumb-background: #ffffff;--vscode-breadcrumb-focusForeground: #4e4e4e;--vscode-breadcrumb-activeSelectionForeground: #4e4e4e;--vscode-breadcrumbPicker-background: #f3f3f3;--vscode-merge-currentHeaderBackground: rgba(64, 200, 174, .5);--vscode-merge-currentContentBackground: rgba(64, 200, 174, .2);--vscode-merge-incomingHeaderBackground: rgba(64, 166, 255, .5);--vscode-merge-incomingContentBackground: rgba(64, 166, 255, .2);--vscode-merge-commonHeaderBackground: rgba(96, 96, 96, .4);--vscode-merge-commonContentBackground: rgba(96, 96, 96, .16);--vscode-editorOverviewRuler-currentContentForeground: rgba(64, 200, 174, .5);--vscode-editorOverviewRuler-incomingContentForeground: rgba(64, 166, 255, .5);--vscode-editorOverviewRuler-commonContentForeground: rgba(96, 96, 96, .4);--vscode-editorOverviewRuler-findMatchForeground: rgba(209, 134, 22, .49);--vscode-editorOverviewRuler-selectionHighlightForeground: rgba(160, 160, 160, .8);--vscode-minimap-findMatchHighlight: #d18616;--vscode-minimap-selectionOccurrenceHighlight: #c9c9c9;--vscode-minimap-selectionHighlight: #add6ff;--vscode-minimap-errorHighlight: rgba(255, 18, 18, .7);--vscode-minimap-warningHighlight: #bf8803;--vscode-minimap-foregroundOpacity: #000000;--vscode-minimapSlider-background: rgba(100, 100, 100, .2);--vscode-minimapSlider-hoverBackground: rgba(100, 100, 100, .35);--vscode-minimapSlider-activeBackground: rgba(0, 0, 0, .3);--vscode-problemsErrorIcon-foreground: #e51400;--vscode-problemsWarningIcon-foreground: #bf8803;--vscode-problemsInfoIcon-foreground: #1a85ff;--vscode-charts-foreground: #616161;--vscode-charts-lines: rgba(97, 97, 97, .5);--vscode-charts-red: #e51400;--vscode-charts-blue: #1a85ff;--vscode-charts-yellow: #bf8803;--vscode-charts-orange: #d18616;--vscode-charts-green: #388a34;--vscode-charts-purple: #652d90;--vscode-editor-lineHighlightBorder: #eeeeee;--vscode-editor-rangeHighlightBackground: rgba(253, 255, 0, .2);--vscode-editor-symbolHighlightBackground: rgba(234, 92, 0, .33);--vscode-editorCursor-foreground: #000000;--vscode-editorWhitespace-foreground: rgba(51, 51, 51, .2);--vscode-editorIndentGuide-background: #d3d3d3;--vscode-editorIndentGuide-activeBackground: #939393;--vscode-editorLineNumber-foreground: #237893;--vscode-editorActiveLineNumber-foreground: #0b216f;--vscode-editorLineNumber-activeForeground: #0b216f;--vscode-editorRuler-foreground: #d3d3d3;--vscode-editorCodeLens-foreground: #919191;--vscode-editorBracketMatch-background: rgba(0, 100, 0, .1);--vscode-editorBracketMatch-border: #b9b9b9;--vscode-editorOverviewRuler-border: rgba(127, 127, 127, .3);--vscode-editorGutter-background: #ffffff;--vscode-editorUnnecessaryCode-opacity: rgba(0, 0, 0, .47);--vscode-editorGhostText-foreground: rgba(0, 0, 0, .47);--vscode-editorOverviewRuler-rangeHighlightForeground: rgba(0, 122, 204, .6);--vscode-editorOverviewRuler-errorForeground: rgba(255, 18, 18, .7);--vscode-editorOverviewRuler-warningForeground: #bf8803;--vscode-editorOverviewRuler-infoForeground: #1a85ff;--vscode-editorBracketHighlight-foreground1: #0431fa;--vscode-editorBracketHighlight-foreground2: #319331;--vscode-editorBracketHighlight-foreground3: #7b3814;--vscode-editorBracketHighlight-foreground4: rgba(0, 0, 0, 0);--vscode-editorBracketHighlight-foreground5: rgba(0, 0, 0, 0);--vscode-editorBracketHighlight-foreground6: rgba(0, 0, 0, 0);--vscode-editorBracketHighlight-unexpectedBracket\.foreground: rgba(255, 18, 18, .8);--vscode-editorBracketPairGuide-background1: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background2: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background3: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background4: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background5: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background6: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground1: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground2: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground3: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground4: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground5: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground6: rgba(0, 0, 0, 0);--vscode-editorUnicodeHighlight-border: #cea33d;--vscode-editorUnicodeHighlight-background: rgba(206, 163, 61, .08);--vscode-symbolIcon-arrayForeground: #616161;--vscode-symbolIcon-booleanForeground: #616161;--vscode-symbolIcon-classForeground: #d67e00;--vscode-symbolIcon-colorForeground: #616161;--vscode-symbolIcon-constantForeground: #616161;--vscode-symbolIcon-constructorForeground: #652d90;--vscode-symbolIcon-enumeratorForeground: #d67e00;--vscode-symbolIcon-enumeratorMemberForeground: #007acc;--vscode-symbolIcon-eventForeground: #d67e00;--vscode-symbolIcon-fieldForeground: #007acc;--vscode-symbolIcon-fileForeground: #616161;--vscode-symbolIcon-folderForeground: #616161;--vscode-symbolIcon-functionForeground: #652d90;--vscode-symbolIcon-interfaceForeground: #007acc;--vscode-symbolIcon-keyForeground: #616161;--vscode-symbolIcon-keywordForeground: #616161;--vscode-symbolIcon-methodForeground: #652d90;--vscode-symbolIcon-moduleForeground: #616161;--vscode-symbolIcon-namespaceForeground: #616161;--vscode-symbolIcon-nullForeground: #616161;--vscode-symbolIcon-numberForeground: #616161;--vscode-symbolIcon-objectForeground: #616161;--vscode-symbolIcon-operatorForeground: #616161;--vscode-symbolIcon-packageForeground: #616161;--vscode-symbolIcon-propertyForeground: #616161;--vscode-symbolIcon-referenceForeground: #616161;--vscode-symbolIcon-snippetForeground: #616161;--vscode-symbolIcon-stringForeground: #616161;--vscode-symbolIcon-structForeground: #616161;--vscode-symbolIcon-textForeground: #616161;--vscode-symbolIcon-typeParameterForeground: #616161;--vscode-symbolIcon-unitForeground: #616161;--vscode-symbolIcon-variableForeground: #007acc;--vscode-editorHoverWidget-highlightForeground: #0066bf;--vscode-editorOverviewRuler-bracketMatchForeground: #a0a0a0;--vscode-editor-foldBackground: rgba(173, 214, 255, .3);--vscode-editorGutter-foldingControlForeground: #424242;--vscode-editor-linkedEditingBackground: rgba(255, 0, 0, .3);--vscode-editor-wordHighlightBackground: rgba(87, 87, 87, .25);--vscode-editor-wordHighlightStrongBackground: rgba(14, 99, 156, .25);--vscode-editorOverviewRuler-wordHighlightForeground: rgba(160, 160, 160, .8);--vscode-editorOverviewRuler-wordHighlightStrongForeground: rgba(192, 160, 192, .8);--vscode-peekViewTitle-background: rgba(26, 133, 255, .1);--vscode-peekViewTitleLabel-foreground: #000000;--vscode-peekViewTitleDescription-foreground: #616161;--vscode-peekView-border: #1a85ff;--vscode-peekViewResult-background: #f3f3f3;--vscode-peekViewResult-lineForeground: #646465;--vscode-peekViewResult-fileForeground: #1e1e1e;--vscode-peekViewResult-selectionBackground: rgba(51, 153, 255, .2);--vscode-peekViewResult-selectionForeground: #6c6c6c;--vscode-peekViewEditor-background: #f2f8fc;--vscode-peekViewEditorGutter-background: #f2f8fc;--vscode-peekViewResult-matchHighlightBackground: rgba(234, 92, 0, .3);--vscode-peekViewEditor-matchHighlightBackground: rgba(245, 216, 2, .87);--vscode-editorMarkerNavigationError-background: #e51400;--vscode-editorMarkerNavigationError-headerBackground: rgba(229, 20, 0, .1);--vscode-editorMarkerNavigationWarning-background: #bf8803;--vscode-editorMarkerNavigationWarning-headerBackground: rgba(191, 136, 3, .1);--vscode-editorMarkerNavigationInfo-background: #1a85ff;--vscode-editorMarkerNavigationInfo-headerBackground: rgba(26, 133, 255, .1);--vscode-editorMarkerNavigation-background: #ffffff;--vscode-editorSuggestWidget-background: #f3f3f3;--vscode-editorSuggestWidget-border: #c8c8c8;--vscode-editorSuggestWidget-foreground: #000000;--vscode-editorSuggestWidget-selectedForeground: #ffffff;--vscode-editorSuggestWidget-selectedIconForeground: #ffffff;--vscode-editorSuggestWidget-selectedBackground: #0060c0;--vscode-editorSuggestWidget-highlightForeground: #0066bf;--vscode-editorSuggestWidget-focusHighlightForeground: #bbe7ff;--vscode-editorSuggestWidgetStatus-foreground: rgba(0, 0, 0, .5);--vscode-tab-activeBackground: #ffffff;--vscode-tab-unfocusedActiveBackground: #ffffff;--vscode-tab-inactiveBackground: #ececec;--vscode-tab-unfocusedInactiveBackground: #ececec;--vscode-tab-activeForeground: #333333;--vscode-tab-inactiveForeground: rgba(51, 51, 51, .7);--vscode-tab-unfocusedActiveForeground: rgba(51, 51, 51, .7);--vscode-tab-unfocusedInactiveForeground: rgba(51, 51, 51, .35);--vscode-tab-border: #f3f3f3;--vscode-tab-lastPinnedBorder: rgba(97, 97, 97, .19);--vscode-tab-activeModifiedBorder: #33aaee;--vscode-tab-inactiveModifiedBorder: rgba(51, 170, 238, .5);--vscode-tab-unfocusedActiveModifiedBorder: rgba(51, 170, 238, .7);--vscode-tab-unfocusedInactiveModifiedBorder: rgba(51, 170, 238, .25);--vscode-editorPane-background: #ffffff;--vscode-editorGroupHeader-tabsBackground: #f3f3f3;--vscode-editorGroupHeader-noTabsBackground: #ffffff;--vscode-editorGroup-border: #e7e7e7;--vscode-editorGroup-dropBackground: rgba(38, 119, 203, .18);--vscode-editorGroup-dropIntoPromptForeground: #616161;--vscode-editorGroup-dropIntoPromptBackground: #f3f3f3;--vscode-sideBySideEditor-horizontalBorder: #e7e7e7;--vscode-sideBySideEditor-verticalBorder: #e7e7e7;--vscode-panel-background: #ffffff;--vscode-panel-border: rgba(128, 128, 128, .35);--vscode-panelTitle-activeForeground: #424242;--vscode-panelTitle-inactiveForeground: rgba(66, 66, 66, .75);--vscode-panelTitle-activeBorder: #424242;--vscode-panelInput-border: #dddddd;--vscode-panel-dropBorder: #424242;--vscode-panelSection-dropBackground: rgba(38, 119, 203, .18);--vscode-panelSectionHeader-background: rgba(128, 128, 128, .2);--vscode-panelSection-border: rgba(128, 128, 128, .35);--vscode-banner-background: #004386;--vscode-banner-foreground: #ffffff;--vscode-banner-iconForeground: #1a85ff;--vscode-statusBar-foreground: #ffffff;--vscode-statusBar-noFolderForeground: #ffffff;--vscode-statusBar-background: #007acc;--vscode-statusBar-noFolderBackground: #68217a;--vscode-statusBar-focusBorder: #ffffff;--vscode-statusBarItem-activeBackground: rgba(255, 255, 255, .18);--vscode-statusBarItem-focusBorder: #ffffff;--vscode-statusBarItem-hoverBackground: rgba(255, 255, 255, .12);--vscode-statusBarItem-compactHoverBackground: rgba(255, 255, 255, .2);--vscode-statusBarItem-prominentForeground: #ffffff;--vscode-statusBarItem-prominentBackground: rgba(0, 0, 0, .5);--vscode-statusBarItem-prominentHoverBackground: rgba(0, 0, 0, .3);--vscode-statusBarItem-errorBackground: #c72e0f;--vscode-statusBarItem-errorForeground: #ffffff;--vscode-statusBarItem-warningBackground: #725102;--vscode-statusBarItem-warningForeground: #ffffff;--vscode-activityBar-background: #2c2c2c;--vscode-activityBar-foreground: #ffffff;--vscode-activityBar-inactiveForeground: rgba(255, 255, 255, .4);--vscode-activityBar-activeBorder: #ffffff;--vscode-activityBar-dropBorder: #ffffff;--vscode-activityBarBadge-background: #007acc;--vscode-activityBarBadge-foreground: #ffffff;--vscode-statusBarItem-remoteBackground: #16825d;--vscode-statusBarItem-remoteForeground: #ffffff;--vscode-extensionBadge-remoteBackground: #007acc;--vscode-extensionBadge-remoteForeground: #ffffff;--vscode-sideBar-background: #f3f3f3;--vscode-sideBarTitle-foreground: #6f6f6f;--vscode-sideBar-dropBackground: rgba(38, 119, 203, .18);--vscode-sideBarSectionHeader-background: rgba(0, 0, 0, 0);--vscode-sideBarSectionHeader-border: rgba(97, 97, 97, .19);--vscode-titleBar-activeForeground: #333333;--vscode-titleBar-inactiveForeground: rgba(51, 51, 51, .6);--vscode-titleBar-activeBackground: #dddddd;--vscode-titleBar-inactiveBackground: rgba(221, 221, 221, .6);--vscode-menubar-selectionForeground: #333333;--vscode-menubar-selectionBackground: rgba(184, 184, 184, .31);--vscode-notifications-foreground: #616161;--vscode-notifications-background: #f3f3f3;--vscode-notificationLink-foreground: #006ab1;--vscode-notificationCenterHeader-background: #e7e7e7;--vscode-notifications-border: #e7e7e7;--vscode-notificationsErrorIcon-foreground: #e51400;--vscode-notificationsWarningIcon-foreground: #bf8803;--vscode-notificationsInfoIcon-foreground: #1a85ff;--vscode-commandCenter-foreground: #333333;--vscode-commandCenter-activeForeground: #333333;--vscode-commandCenter-activeBackground: rgba(184, 184, 184, .31);--vscode-commandCenter-border: rgba(128, 128, 128, .35);--vscode-editorCommentsWidget-resolvedBorder: rgba(97, 97, 97, .5);--vscode-editorCommentsWidget-unresolvedBorder: #1a85ff;--vscode-editorCommentsWidget-rangeBackground: rgba(26, 133, 255, .1);--vscode-editorCommentsWidget-rangeBorder: rgba(26, 133, 255, .4);--vscode-editorCommentsWidget-rangeActiveBackground: rgba(26, 133, 255, .1);--vscode-editorCommentsWidget-rangeActiveBorder: rgba(26, 133, 255, .4);--vscode-editorGutter-commentRangeForeground: #d5d8e9;--vscode-debugToolBar-background: #f3f3f3;--vscode-debugIcon-startForeground: #388a34;--vscode-editor-stackFrameHighlightBackground: rgba(255, 255, 102, .45);--vscode-editor-focusedStackFrameHighlightBackground: rgba(206, 231, 206, .45);--vscode-mergeEditor-change\.background: rgba(155, 185, 85, .2);--vscode-mergeEditor-change\.word\.background: rgba(156, 204, 44, .4);--vscode-mergeEditor-conflict\.unhandledUnfocused\.border: rgba(255, 166, 0, .48);--vscode-mergeEditor-conflict\.unhandledFocused\.border: #ffa600;--vscode-mergeEditor-conflict\.handledUnfocused\.border: rgba(134, 134, 134, .29);--vscode-mergeEditor-conflict\.handledFocused\.border: rgba(193, 193, 193, .8);--vscode-mergeEditor-conflict\.handled\.minimapOverViewRuler: rgba(173, 172, 168, .93);--vscode-mergeEditor-conflict\.unhandled\.minimapOverViewRuler: #fcba03;--vscode-mergeEditor-conflictingLines\.background: rgba(255, 234, 0, .28);--vscode-settings-headerForeground: #444444;--vscode-settings-modifiedItemIndicator: #66afe0;--vscode-settings-headerBorder: rgba(128, 128, 128, .35);--vscode-settings-sashBorder: rgba(128, 128, 128, .35);--vscode-settings-dropdownBackground: #ffffff;--vscode-settings-dropdownBorder: #cecece;--vscode-settings-dropdownListBorder: #c8c8c8;--vscode-settings-checkboxBackground: #ffffff;--vscode-settings-checkboxBorder: #cecece;--vscode-settings-textInputBackground: #ffffff;--vscode-settings-textInputForeground: #616161;--vscode-settings-textInputBorder: #cecece;--vscode-settings-numberInputBackground: #ffffff;--vscode-settings-numberInputForeground: #616161;--vscode-settings-numberInputBorder: #cecece;--vscode-settings-focusedRowBackground: rgba(232, 232, 232, .6);--vscode-settings-rowHoverBackground: rgba(232, 232, 232, .3);--vscode-settings-focusedRowBorder: rgba(0, 0, 0, .12);--vscode-terminal-foreground: #333333;--vscode-terminal-selectionBackground: #add6ff;--vscode-terminal-inactiveSelectionBackground: #e5ebf1;--vscode-terminalCommandDecoration-defaultBackground: rgba(0, 0, 0, .25);--vscode-terminalCommandDecoration-successBackground: #2090d3;--vscode-terminalCommandDecoration-errorBackground: #e51400;--vscode-terminalOverviewRuler-cursorForeground: rgba(160, 160, 160, .8);--vscode-terminal-border: rgba(128, 128, 128, .35);--vscode-terminal-findMatchBackground: #a8ac94;--vscode-terminal-findMatchHighlightBackground: rgba(234, 92, 0, .33);--vscode-terminalOverviewRuler-findMatchForeground: rgba(209, 134, 22, .49);--vscode-terminal-dropBackground: rgba(38, 119, 203, .18);--vscode-testing-iconFailed: #f14c4c;--vscode-testing-iconErrored: #f14c4c;--vscode-testing-iconPassed: #73c991;--vscode-testing-runAction: #73c991;--vscode-testing-iconQueued: #cca700;--vscode-testing-iconUnset: #848484;--vscode-testing-iconSkipped: #848484;--vscode-testing-peekBorder: #e51400;--vscode-testing-peekHeaderBackground: rgba(229, 20, 0, .1);--vscode-testing-message\.error\.decorationForeground: #e51400;--vscode-testing-message\.error\.lineBackground: rgba(255, 0, 0, .2);--vscode-testing-message\.info\.decorationForeground: rgba(0, 0, 0, .5);--vscode-welcomePage-tileBackground: #f3f3f3;--vscode-welcomePage-tileHoverBackground: #dbdbdb;--vscode-welcomePage-tileShadow: rgba(0, 0, 0, .16);--vscode-welcomePage-progress\.background: #ffffff;--vscode-welcomePage-progress\.foreground: #006ab1;--vscode-debugExceptionWidget-border: #a31515;--vscode-debugExceptionWidget-background: #f1dfde;--vscode-ports-iconRunningProcessForeground: #369432;--vscode-statusBar-debuggingBackground: #cc6633;--vscode-statusBar-debuggingForeground: #ffffff;--vscode-editor-inlineValuesForeground: rgba(0, 0, 0, .5);--vscode-editor-inlineValuesBackground: rgba(255, 200, 0, .2);--vscode-editorGutter-modifiedBackground: #2090d3;--vscode-editorGutter-addedBackground: #48985d;--vscode-editorGutter-deletedBackground: #e51400;--vscode-minimapGutter-modifiedBackground: #2090d3;--vscode-minimapGutter-addedBackground: #48985d;--vscode-minimapGutter-deletedBackground: #e51400;--vscode-editorOverviewRuler-modifiedForeground: rgba(32, 144, 211, .6);--vscode-editorOverviewRuler-addedForeground: rgba(72, 152, 93, .6);--vscode-editorOverviewRuler-deletedForeground: rgba(229, 20, 0, .6);--vscode-debugIcon-breakpointForeground: #e51400;--vscode-debugIcon-breakpointDisabledForeground: #848484;--vscode-debugIcon-breakpointUnverifiedForeground: #848484;--vscode-debugIcon-breakpointCurrentStackframeForeground: #be8700;--vscode-debugIcon-breakpointStackframeForeground: #89d185;--vscode-notebook-cellBorderColor: #e8e8e8;--vscode-notebook-focusedEditorBorder: #0090f1;--vscode-notebookStatusSuccessIcon-foreground: #388a34;--vscode-notebookStatusErrorIcon-foreground: #a1260d;--vscode-notebookStatusRunningIcon-foreground: #616161;--vscode-notebook-cellToolbarSeparator: rgba(128, 128, 128, .35);--vscode-notebook-selectedCellBackground: rgba(200, 221, 241, .31);--vscode-notebook-selectedCellBorder: #e8e8e8;--vscode-notebook-focusedCellBorder: #0090f1;--vscode-notebook-inactiveFocusedCellBorder: #e8e8e8;--vscode-notebook-cellStatusBarItemHoverBackground: rgba(0, 0, 0, .08);--vscode-notebook-cellInsertionIndicator: #0090f1;--vscode-notebookScrollbarSlider-background: rgba(100, 100, 100, .4);--vscode-notebookScrollbarSlider-hoverBackground: rgba(100, 100, 100, .7);--vscode-notebookScrollbarSlider-activeBackground: rgba(0, 0, 0, .6);--vscode-notebook-symbolHighlightBackground: rgba(253, 255, 0, .2);--vscode-notebook-cellEditorBackground: #f3f3f3;--vscode-notebook-editorBackground: #ffffff;--vscode-keybindingTable-headerBackground: rgba(97, 97, 97, .04);--vscode-keybindingTable-rowsBackground: rgba(97, 97, 97, .04);--vscode-scm-providerBorder: #c8c8c8;--vscode-searchEditor-textInputBorder: #cecece;--vscode-debugTokenExpression-name: #9b46b0;--vscode-debugTokenExpression-value: rgba(108, 108, 108, .8);--vscode-debugTokenExpression-string: #a31515;--vscode-debugTokenExpression-boolean: #0000ff;--vscode-debugTokenExpression-number: #098658;--vscode-debugTokenExpression-error: #e51400;--vscode-debugView-exceptionLabelForeground: #ffffff;--vscode-debugView-exceptionLabelBackground: #a31515;--vscode-debugView-stateLabelForeground: #616161;--vscode-debugView-stateLabelBackground: rgba(136, 136, 136, .27);--vscode-debugView-valueChangedHighlight: #569cd6;--vscode-debugConsole-infoForeground: #1a85ff;--vscode-debugConsole-warningForeground: #bf8803;--vscode-debugConsole-errorForeground: #a1260d;--vscode-debugConsole-sourceForeground: #616161;--vscode-debugConsoleInputIcon-foreground: #616161;--vscode-debugIcon-pauseForeground: #007acc;--vscode-debugIcon-stopForeground: #a1260d;--vscode-debugIcon-disconnectForeground: #a1260d;--vscode-debugIcon-restartForeground: #388a34;--vscode-debugIcon-stepOverForeground: #007acc;--vscode-debugIcon-stepIntoForeground: #007acc;--vscode-debugIcon-stepOutForeground: #007acc;--vscode-debugIcon-continueForeground: #007acc;--vscode-debugIcon-stepBackForeground: #007acc;--vscode-extensionButton-prominentBackground: #007acc;--vscode-extensionButton-prominentForeground: #ffffff;--vscode-extensionButton-prominentHoverBackground: #0062a3;--vscode-extensionIcon-starForeground: #df6100;--vscode-extensionIcon-verifiedForeground: #006ab1;--vscode-extensionIcon-preReleaseForeground: #1d9271;--vscode-extensionIcon-sponsorForeground: #b51e78;--vscode-terminal-ansiBlack: #000000;--vscode-terminal-ansiRed: #cd3131;--vscode-terminal-ansiGreen: #00bc00;--vscode-terminal-ansiYellow: #949800;--vscode-terminal-ansiBlue: #0451a5;--vscode-terminal-ansiMagenta: #bc05bc;--vscode-terminal-ansiCyan: #0598bc;--vscode-terminal-ansiWhite: #555555;--vscode-terminal-ansiBrightBlack: #666666;--vscode-terminal-ansiBrightRed: #cd3131;--vscode-terminal-ansiBrightGreen: #14ce14;--vscode-terminal-ansiBrightYellow: #b5ba00;--vscode-terminal-ansiBrightBlue: #0451a5;--vscode-terminal-ansiBrightMagenta: #bc05bc;--vscode-terminal-ansiBrightCyan: #0598bc;--vscode-terminal-ansiBrightWhite: #a5a5a5;--vscode-interactive-activeCodeBorder: #1a85ff;--vscode-interactive-inactiveCodeBorder: #e4e6f1;--vscode-gitDecoration-addedResourceForeground: #587c0c;--vscode-gitDecoration-modifiedResourceForeground: #895503;--vscode-gitDecoration-deletedResourceForeground: #ad0707;--vscode-gitDecoration-renamedResourceForeground: #007100;--vscode-gitDecoration-untrackedResourceForeground: #007100;--vscode-gitDecoration-ignoredResourceForeground: #8e8e90;--vscode-gitDecoration-stageModifiedResourceForeground: #895503;--vscode-gitDecoration-stageDeletedResourceForeground: #ad0707;--vscode-gitDecoration-conflictingResourceForeground: #ad0707;--vscode-gitDecoration-submoduleResourceForeground: #1258a7}:root.light-mode{color-scheme:light}:root.dark-mode{color-scheme:dark;--vscode-font-family: system-ui, "Ubuntu", "Droid Sans", sans-serif;--vscode-font-weight: normal;--vscode-font-size: 13px;--vscode-editor-font-family: "Droid Sans Mono", "monospace", monospace;--vscode-editor-font-weight: normal;--vscode-editor-font-size: 14px;--vscode-foreground: #cccccc;--vscode-disabledForeground: rgba(204, 204, 204, .5);--vscode-errorForeground: #f48771;--vscode-descriptionForeground: rgba(204, 204, 204, .7);--vscode-icon-foreground: #c5c5c5;--vscode-focusBorder: #007fd4;--vscode-textSeparator-foreground: rgba(255, 255, 255, .18);--vscode-textLink-foreground: #3794ff;--vscode-textLink-activeForeground: #3794ff;--vscode-textPreformat-foreground: #d7ba7d;--vscode-textBlockQuote-background: rgba(127, 127, 127, .1);--vscode-textBlockQuote-border: rgba(0, 122, 204, .5);--vscode-textCodeBlock-background: rgba(10, 10, 10, .4);--vscode-widget-shadow: rgba(0, 0, 0, .36);--vscode-input-background: #3c3c3c;--vscode-input-foreground: #cccccc;--vscode-inputOption-activeBorder: #007acc;--vscode-inputOption-hoverBackground: rgba(90, 93, 94, .5);--vscode-inputOption-activeBackground: rgba(0, 127, 212, .4);--vscode-inputOption-activeForeground: #ffffff;--vscode-input-placeholderForeground: #a6a6a6;--vscode-inputValidation-infoBackground: #063b49;--vscode-inputValidation-infoBorder: #007acc;--vscode-inputValidation-warningBackground: #352a05;--vscode-inputValidation-warningBorder: #b89500;--vscode-inputValidation-errorBackground: #5a1d1d;--vscode-inputValidation-errorBorder: #be1100;--vscode-dropdown-background: #3c3c3c;--vscode-dropdown-foreground: #f0f0f0;--vscode-dropdown-border: #3c3c3c;--vscode-checkbox-background: #3c3c3c;--vscode-checkbox-foreground: #f0f0f0;--vscode-checkbox-border: #3c3c3c;--vscode-button-foreground: #ffffff;--vscode-button-separator: rgba(255, 255, 255, .4);--vscode-button-background: #0e639c;--vscode-button-hoverBackground: #1177bb;--vscode-button-secondaryForeground: #ffffff;--vscode-button-secondaryBackground: #3a3d41;--vscode-button-secondaryHoverBackground: #45494e;--vscode-badge-background: #4d4d4d;--vscode-badge-foreground: #ffffff;--vscode-scrollbar-shadow: #000000;--vscode-scrollbarSlider-background: rgba(121, 121, 121, .4);--vscode-scrollbarSlider-hoverBackground: rgba(100, 100, 100, .7);--vscode-scrollbarSlider-activeBackground: rgba(191, 191, 191, .4);--vscode-progressBar-background: #0e70c0;--vscode-editorError-foreground: #f14c4c;--vscode-editorWarning-foreground: #cca700;--vscode-editorInfo-foreground: #3794ff;--vscode-editorHint-foreground: rgba(238, 238, 238, .7);--vscode-sash-hoverBorder: #007fd4;--vscode-editor-background: #1e1e1e;--vscode-editor-foreground: #d4d4d4;--vscode-editorStickyScroll-background: #1e1e1e;--vscode-editorStickyScrollHover-background: #2a2d2e;--vscode-editorWidget-background: #252526;--vscode-editorWidget-foreground: #cccccc;--vscode-editorWidget-border: #454545;--vscode-quickInput-background: #252526;--vscode-quickInput-foreground: #cccccc;--vscode-quickInputTitle-background: rgba(255, 255, 255, .1);--vscode-pickerGroup-foreground: #3794ff;--vscode-pickerGroup-border: #3f3f46;--vscode-keybindingLabel-background: rgba(128, 128, 128, .17);--vscode-keybindingLabel-foreground: #cccccc;--vscode-keybindingLabel-border: rgba(51, 51, 51, .6);--vscode-keybindingLabel-bottomBorder: rgba(68, 68, 68, .6);--vscode-editor-selectionBackground: #264f78;--vscode-editor-inactiveSelectionBackground: #3a3d41;--vscode-editor-selectionHighlightBackground: rgba(173, 214, 255, .15);--vscode-editor-findMatchBackground: #515c6a;--vscode-editor-findMatchHighlightBackground: rgba(234, 92, 0, .33);--vscode-editor-findRangeHighlightBackground: rgba(58, 61, 65, .4);--vscode-searchEditor-findMatchBackground: rgba(234, 92, 0, .22);--vscode-editor-hoverHighlightBackground: rgba(38, 79, 120, .25);--vscode-editorHoverWidget-background: #252526;--vscode-editorHoverWidget-foreground: #cccccc;--vscode-editorHoverWidget-border: #454545;--vscode-editorHoverWidget-statusBarBackground: #2c2c2d;--vscode-editorLink-activeForeground: #4e94ce;--vscode-editorInlayHint-foreground: rgba(255, 255, 255, .8);--vscode-editorInlayHint-background: rgba(77, 77, 77, .6);--vscode-editorInlayHint-typeForeground: rgba(255, 255, 255, .8);--vscode-editorInlayHint-typeBackground: rgba(77, 77, 77, .6);--vscode-editorInlayHint-parameterForeground: rgba(255, 255, 255, .8);--vscode-editorInlayHint-parameterBackground: rgba(77, 77, 77, .6);--vscode-editorLightBulb-foreground: #ffcc00;--vscode-editorLightBulbAutoFix-foreground: #75beff;--vscode-diffEditor-insertedTextBackground: rgba(156, 204, 44, .2);--vscode-diffEditor-removedTextBackground: rgba(255, 0, 0, .4);--vscode-diffEditor-insertedLineBackground: rgba(155, 185, 85, .2);--vscode-diffEditor-removedLineBackground: rgba(255, 0, 0, .2);--vscode-diffEditor-diagonalFill: rgba(204, 204, 204, .2);--vscode-list-focusOutline: #007fd4;--vscode-list-activeSelectionBackground: #04395e;--vscode-list-activeSelectionForeground: #ffffff;--vscode-list-activeSelectionIconForeground: #ffffff;--vscode-list-inactiveSelectionBackground: #37373d;--vscode-list-hoverBackground: #2a2d2e;--vscode-list-dropBackground: #383b3d;--vscode-list-highlightForeground: #2aaaff;--vscode-list-focusHighlightForeground: #2aaaff;--vscode-list-invalidItemForeground: #b89500;--vscode-list-errorForeground: #f88070;--vscode-list-warningForeground: #cca700;--vscode-listFilterWidget-background: #252526;--vscode-listFilterWidget-outline: rgba(0, 0, 0, 0);--vscode-listFilterWidget-noMatchesOutline: #be1100;--vscode-listFilterWidget-shadow: rgba(0, 0, 0, .36);--vscode-list-filterMatchBackground: rgba(234, 92, 0, .33);--vscode-tree-indentGuidesStroke: #585858;--vscode-tree-tableColumnsBorder: rgba(204, 204, 204, .13);--vscode-tree-tableOddRowsBackground: rgba(204, 204, 204, .04);--vscode-list-deemphasizedForeground: #8c8c8c;--vscode-quickInputList-focusForeground: #ffffff;--vscode-quickInputList-focusIconForeground: #ffffff;--vscode-quickInputList-focusBackground: #04395e;--vscode-menu-foreground: #cccccc;--vscode-menu-background: #303031;--vscode-menu-selectionForeground: #ffffff;--vscode-menu-selectionBackground: #04395e;--vscode-menu-separatorBackground: #606060;--vscode-toolbar-hoverBackground: rgba(90, 93, 94, .31);--vscode-toolbar-activeBackground: rgba(99, 102, 103, .31);--vscode-editor-snippetTabstopHighlightBackground: rgba(124, 124, 124, .3);--vscode-editor-snippetFinalTabstopHighlightBorder: #525252;--vscode-breadcrumb-foreground: rgba(204, 204, 204, .8);--vscode-breadcrumb-background: #1e1e1e;--vscode-breadcrumb-focusForeground: #e0e0e0;--vscode-breadcrumb-activeSelectionForeground: #e0e0e0;--vscode-breadcrumbPicker-background: #252526;--vscode-merge-currentHeaderBackground: rgba(64, 200, 174, .5);--vscode-merge-currentContentBackground: rgba(64, 200, 174, .2);--vscode-merge-incomingHeaderBackground: rgba(64, 166, 255, .5);--vscode-merge-incomingContentBackground: rgba(64, 166, 255, .2);--vscode-merge-commonHeaderBackground: rgba(96, 96, 96, .4);--vscode-merge-commonContentBackground: rgba(96, 96, 96, .16);--vscode-editorOverviewRuler-currentContentForeground: rgba(64, 200, 174, .5);--vscode-editorOverviewRuler-incomingContentForeground: rgba(64, 166, 255, .5);--vscode-editorOverviewRuler-commonContentForeground: rgba(96, 96, 96, .4);--vscode-editorOverviewRuler-findMatchForeground: rgba(209, 134, 22, .49);--vscode-editorOverviewRuler-selectionHighlightForeground: rgba(160, 160, 160, .8);--vscode-minimap-findMatchHighlight: #d18616;--vscode-minimap-selectionOccurrenceHighlight: #676767;--vscode-minimap-selectionHighlight: #264f78;--vscode-minimap-errorHighlight: rgba(255, 18, 18, .7);--vscode-minimap-warningHighlight: #cca700;--vscode-minimap-foregroundOpacity: #000000;--vscode-minimapSlider-background: rgba(121, 121, 121, .2);--vscode-minimapSlider-hoverBackground: rgba(100, 100, 100, .35);--vscode-minimapSlider-activeBackground: rgba(191, 191, 191, .2);--vscode-problemsErrorIcon-foreground: #f14c4c;--vscode-problemsWarningIcon-foreground: #cca700;--vscode-problemsInfoIcon-foreground: #3794ff;--vscode-charts-foreground: #cccccc;--vscode-charts-lines: rgba(204, 204, 204, .5);--vscode-charts-red: #f14c4c;--vscode-charts-blue: #3794ff;--vscode-charts-yellow: #cca700;--vscode-charts-orange: #d18616;--vscode-charts-green: #89d185;--vscode-charts-purple: #b180d7;--vscode-editor-lineHighlightBorder: #282828;--vscode-editor-rangeHighlightBackground: rgba(255, 255, 255, .04);--vscode-editor-symbolHighlightBackground: rgba(234, 92, 0, .33);--vscode-editorCursor-foreground: #aeafad;--vscode-editorWhitespace-foreground: rgba(227, 228, 226, .16);--vscode-editorIndentGuide-background: #404040;--vscode-editorIndentGuide-activeBackground: #707070;--vscode-editorLineNumber-foreground: #858585;--vscode-editorActiveLineNumber-foreground: #c6c6c6;--vscode-editorLineNumber-activeForeground: #c6c6c6;--vscode-editorRuler-foreground: #5a5a5a;--vscode-editorCodeLens-foreground: #999999;--vscode-editorBracketMatch-background: rgba(0, 100, 0, .1);--vscode-editorBracketMatch-border: #888888;--vscode-editorOverviewRuler-border: rgba(127, 127, 127, .3);--vscode-editorGutter-background: #1e1e1e;--vscode-editorUnnecessaryCode-opacity: rgba(0, 0, 0, .67);--vscode-editorGhostText-foreground: rgba(255, 255, 255, .34);--vscode-editorOverviewRuler-rangeHighlightForeground: rgba(0, 122, 204, .6);--vscode-editorOverviewRuler-errorForeground: rgba(255, 18, 18, .7);--vscode-editorOverviewRuler-warningForeground: #cca700;--vscode-editorOverviewRuler-infoForeground: #3794ff;--vscode-editorBracketHighlight-foreground1: #ffd700;--vscode-editorBracketHighlight-foreground2: #da70d6;--vscode-editorBracketHighlight-foreground3: #179fff;--vscode-editorBracketHighlight-foreground4: rgba(0, 0, 0, 0);--vscode-editorBracketHighlight-foreground5: rgba(0, 0, 0, 0);--vscode-editorBracketHighlight-foreground6: rgba(0, 0, 0, 0);--vscode-editorBracketHighlight-unexpectedBracket\.foreground: rgba(255, 18, 18, .8);--vscode-editorBracketPairGuide-background1: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background2: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background3: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background4: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background5: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background6: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground1: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground2: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground3: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground4: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground5: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground6: rgba(0, 0, 0, 0);--vscode-editorUnicodeHighlight-border: #bd9b03;--vscode-editorUnicodeHighlight-background: rgba(189, 155, 3, .15);--vscode-symbolIcon-arrayForeground: #cccccc;--vscode-symbolIcon-booleanForeground: #cccccc;--vscode-symbolIcon-classForeground: #ee9d28;--vscode-symbolIcon-colorForeground: #cccccc;--vscode-symbolIcon-constantForeground: #cccccc;--vscode-symbolIcon-constructorForeground: #b180d7;--vscode-symbolIcon-enumeratorForeground: #ee9d28;--vscode-symbolIcon-enumeratorMemberForeground: #75beff;--vscode-symbolIcon-eventForeground: #ee9d28;--vscode-symbolIcon-fieldForeground: #75beff;--vscode-symbolIcon-fileForeground: #cccccc;--vscode-symbolIcon-folderForeground: #cccccc;--vscode-symbolIcon-functionForeground: #b180d7;--vscode-symbolIcon-interfaceForeground: #75beff;--vscode-symbolIcon-keyForeground: #cccccc;--vscode-symbolIcon-keywordForeground: #cccccc;--vscode-symbolIcon-methodForeground: #b180d7;--vscode-symbolIcon-moduleForeground: #cccccc;--vscode-symbolIcon-namespaceForeground: #cccccc;--vscode-symbolIcon-nullForeground: #cccccc;--vscode-symbolIcon-numberForeground: #cccccc;--vscode-symbolIcon-objectForeground: #cccccc;--vscode-symbolIcon-operatorForeground: #cccccc;--vscode-symbolIcon-packageForeground: #cccccc;--vscode-symbolIcon-propertyForeground: #cccccc;--vscode-symbolIcon-referenceForeground: #cccccc;--vscode-symbolIcon-snippetForeground: #cccccc;--vscode-symbolIcon-stringForeground: #cccccc;--vscode-symbolIcon-structForeground: #cccccc;--vscode-symbolIcon-textForeground: #cccccc;--vscode-symbolIcon-typeParameterForeground: #cccccc;--vscode-symbolIcon-unitForeground: #cccccc;--vscode-symbolIcon-variableForeground: #75beff;--vscode-editorHoverWidget-highlightForeground: #2aaaff;--vscode-editorOverviewRuler-bracketMatchForeground: #a0a0a0;--vscode-editor-foldBackground: rgba(38, 79, 120, .3);--vscode-editorGutter-foldingControlForeground: #c5c5c5;--vscode-editor-linkedEditingBackground: rgba(255, 0, 0, .3);--vscode-editor-wordHighlightBackground: rgba(87, 87, 87, .72);--vscode-editor-wordHighlightStrongBackground: rgba(0, 73, 114, .72);--vscode-editorOverviewRuler-wordHighlightForeground: rgba(160, 160, 160, .8);--vscode-editorOverviewRuler-wordHighlightStrongForeground: rgba(192, 160, 192, .8);--vscode-peekViewTitle-background: rgba(55, 148, 255, .1);--vscode-peekViewTitleLabel-foreground: #ffffff;--vscode-peekViewTitleDescription-foreground: rgba(204, 204, 204, .7);--vscode-peekView-border: #3794ff;--vscode-peekViewResult-background: #252526;--vscode-peekViewResult-lineForeground: #bbbbbb;--vscode-peekViewResult-fileForeground: #ffffff;--vscode-peekViewResult-selectionBackground: rgba(51, 153, 255, .2);--vscode-peekViewResult-selectionForeground: #ffffff;--vscode-peekViewEditor-background: #001f33;--vscode-peekViewEditorGutter-background: #001f33;--vscode-peekViewResult-matchHighlightBackground: rgba(234, 92, 0, .3);--vscode-peekViewEditor-matchHighlightBackground: rgba(255, 143, 0, .6);--vscode-editorMarkerNavigationError-background: #f14c4c;--vscode-editorMarkerNavigationError-headerBackground: rgba(241, 76, 76, .1);--vscode-editorMarkerNavigationWarning-background: #cca700;--vscode-editorMarkerNavigationWarning-headerBackground: rgba(204, 167, 0, .1);--vscode-editorMarkerNavigationInfo-background: #3794ff;--vscode-editorMarkerNavigationInfo-headerBackground: rgba(55, 148, 255, .1);--vscode-editorMarkerNavigation-background: #1e1e1e;--vscode-editorSuggestWidget-background: #252526;--vscode-editorSuggestWidget-border: #454545;--vscode-editorSuggestWidget-foreground: #d4d4d4;--vscode-editorSuggestWidget-selectedForeground: #ffffff;--vscode-editorSuggestWidget-selectedIconForeground: #ffffff;--vscode-editorSuggestWidget-selectedBackground: #04395e;--vscode-editorSuggestWidget-highlightForeground: #2aaaff;--vscode-editorSuggestWidget-focusHighlightForeground: #2aaaff;--vscode-editorSuggestWidgetStatus-foreground: rgba(212, 212, 212, .5);--vscode-tab-activeBackground: #1e1e1e;--vscode-tab-unfocusedActiveBackground: #1e1e1e;--vscode-tab-inactiveBackground: #2d2d2d;--vscode-tab-unfocusedInactiveBackground: #2d2d2d;--vscode-tab-activeForeground: #ffffff;--vscode-tab-inactiveForeground: rgba(255, 255, 255, .5);--vscode-tab-unfocusedActiveForeground: rgba(255, 255, 255, .5);--vscode-tab-unfocusedInactiveForeground: rgba(255, 255, 255, .25);--vscode-tab-border: #252526;--vscode-tab-lastPinnedBorder: rgba(204, 204, 204, .2);--vscode-tab-activeModifiedBorder: #3399cc;--vscode-tab-inactiveModifiedBorder: rgba(51, 153, 204, .5);--vscode-tab-unfocusedActiveModifiedBorder: rgba(51, 153, 204, .5);--vscode-tab-unfocusedInactiveModifiedBorder: rgba(51, 153, 204, .25);--vscode-editorPane-background: #1e1e1e;--vscode-editorGroupHeader-tabsBackground: #252526;--vscode-editorGroupHeader-noTabsBackground: #1e1e1e;--vscode-editorGroup-border: #444444;--vscode-editorGroup-dropBackground: rgba(83, 89, 93, .5);--vscode-editorGroup-dropIntoPromptForeground: #cccccc;--vscode-editorGroup-dropIntoPromptBackground: #252526;--vscode-sideBySideEditor-horizontalBorder: #444444;--vscode-sideBySideEditor-verticalBorder: #444444;--vscode-panel-background: #1e1e1e;--vscode-panel-border: rgba(128, 128, 128, .35);--vscode-panelTitle-activeForeground: #e7e7e7;--vscode-panelTitle-inactiveForeground: rgba(231, 231, 231, .6);--vscode-panelTitle-activeBorder: #e7e7e7;--vscode-panel-dropBorder: #e7e7e7;--vscode-panelSection-dropBackground: rgba(83, 89, 93, .5);--vscode-panelSectionHeader-background: rgba(128, 128, 128, .2);--vscode-panelSection-border: rgba(128, 128, 128, .35);--vscode-banner-background: #04395e;--vscode-banner-foreground: #ffffff;--vscode-banner-iconForeground: #3794ff;--vscode-statusBar-foreground: #ffffff;--vscode-statusBar-noFolderForeground: #ffffff;--vscode-statusBar-background: #007acc;--vscode-statusBar-noFolderBackground: #68217a;--vscode-statusBar-focusBorder: #ffffff;--vscode-statusBarItem-activeBackground: rgba(255, 255, 255, .18);--vscode-statusBarItem-focusBorder: #ffffff;--vscode-statusBarItem-hoverBackground: rgba(255, 255, 255, .12);--vscode-statusBarItem-compactHoverBackground: rgba(255, 255, 255, .2);--vscode-statusBarItem-prominentForeground: #ffffff;--vscode-statusBarItem-prominentBackground: rgba(0, 0, 0, .5);--vscode-statusBarItem-prominentHoverBackground: rgba(0, 0, 0, .3);--vscode-statusBarItem-errorBackground: #c72e0f;--vscode-statusBarItem-errorForeground: #ffffff;--vscode-statusBarItem-warningBackground: #7a6400;--vscode-statusBarItem-warningForeground: #ffffff;--vscode-activityBar-background: #333333;--vscode-activityBar-foreground: #ffffff;--vscode-activityBar-inactiveForeground: rgba(255, 255, 255, .4);--vscode-activityBar-activeBorder: #ffffff;--vscode-activityBar-dropBorder: #ffffff;--vscode-activityBarBadge-background: #007acc;--vscode-activityBarBadge-foreground: #ffffff;--vscode-statusBarItem-remoteBackground: #16825d;--vscode-statusBarItem-remoteForeground: #ffffff;--vscode-extensionBadge-remoteBackground: #007acc;--vscode-extensionBadge-remoteForeground: #ffffff;--vscode-sideBar-background: #252526;--vscode-sideBarTitle-foreground: #bbbbbb;--vscode-sideBar-dropBackground: rgba(83, 89, 93, .5);--vscode-sideBarSectionHeader-background: rgba(0, 0, 0, 0);--vscode-sideBarSectionHeader-border: rgba(204, 204, 204, .2);--vscode-titleBar-activeForeground: #cccccc;--vscode-titleBar-inactiveForeground: rgba(204, 204, 204, .6);--vscode-titleBar-activeBackground: #3c3c3c;--vscode-titleBar-inactiveBackground: rgba(60, 60, 60, .6);--vscode-menubar-selectionForeground: #cccccc;--vscode-menubar-selectionBackground: rgba(90, 93, 94, .31);--vscode-notifications-foreground: #cccccc;--vscode-notifications-background: #252526;--vscode-notificationLink-foreground: #3794ff;--vscode-notificationCenterHeader-background: #303031;--vscode-notifications-border: #303031;--vscode-notificationsErrorIcon-foreground: #f14c4c;--vscode-notificationsWarningIcon-foreground: #cca700;--vscode-notificationsInfoIcon-foreground: #3794ff;--vscode-commandCenter-foreground: #cccccc;--vscode-commandCenter-activeForeground: #cccccc;--vscode-commandCenter-activeBackground: rgba(90, 93, 94, .31);--vscode-commandCenter-border: rgba(128, 128, 128, .35);--vscode-editorCommentsWidget-resolvedBorder: rgba(204, 204, 204, .5);--vscode-editorCommentsWidget-unresolvedBorder: #3794ff;--vscode-editorCommentsWidget-rangeBackground: rgba(55, 148, 255, .1);--vscode-editorCommentsWidget-rangeBorder: rgba(55, 148, 255, .4);--vscode-editorCommentsWidget-rangeActiveBackground: rgba(55, 148, 255, .1);--vscode-editorCommentsWidget-rangeActiveBorder: rgba(55, 148, 255, .4);--vscode-editorGutter-commentRangeForeground: #37373d;--vscode-debugToolBar-background: #333333;--vscode-debugIcon-startForeground: #89d185;--vscode-editor-stackFrameHighlightBackground: rgba(255, 255, 0, .2);--vscode-editor-focusedStackFrameHighlightBackground: rgba(122, 189, 122, .3);--vscode-mergeEditor-change\.background: rgba(155, 185, 85, .2);--vscode-mergeEditor-change\.word\.background: rgba(156, 204, 44, .2);--vscode-mergeEditor-conflict\.unhandledUnfocused\.border: rgba(255, 166, 0, .48);--vscode-mergeEditor-conflict\.unhandledFocused\.border: #ffa600;--vscode-mergeEditor-conflict\.handledUnfocused\.border: rgba(134, 134, 134, .29);--vscode-mergeEditor-conflict\.handledFocused\.border: rgba(193, 193, 193, .8);--vscode-mergeEditor-conflict\.handled\.minimapOverViewRuler: rgba(173, 172, 168, .93);--vscode-mergeEditor-conflict\.unhandled\.minimapOverViewRuler: #fcba03;--vscode-mergeEditor-conflictingLines\.background: rgba(255, 234, 0, .28);--vscode-settings-headerForeground: #e7e7e7;--vscode-settings-modifiedItemIndicator: #0c7d9d;--vscode-settings-headerBorder: rgba(128, 128, 128, .35);--vscode-settings-sashBorder: rgba(128, 128, 128, .35);--vscode-settings-dropdownBackground: #3c3c3c;--vscode-settings-dropdownForeground: #f0f0f0;--vscode-settings-dropdownBorder: #3c3c3c;--vscode-settings-dropdownListBorder: #454545;--vscode-settings-checkboxBackground: #3c3c3c;--vscode-settings-checkboxForeground: #f0f0f0;--vscode-settings-checkboxBorder: #3c3c3c;--vscode-settings-textInputBackground: #3c3c3c;--vscode-settings-textInputForeground: #cccccc;--vscode-settings-numberInputBackground: #3c3c3c;--vscode-settings-numberInputForeground: #cccccc;--vscode-settings-focusedRowBackground: rgba(42, 45, 46, .6);--vscode-settings-rowHoverBackground: rgba(42, 45, 46, .3);--vscode-settings-focusedRowBorder: rgba(255, 255, 255, .12);--vscode-terminal-foreground: #cccccc;--vscode-terminal-selectionBackground: #264f78;--vscode-terminal-inactiveSelectionBackground: #3a3d41;--vscode-terminalCommandDecoration-defaultBackground: rgba(255, 255, 255, .25);--vscode-terminalCommandDecoration-successBackground: #1b81a8;--vscode-terminalCommandDecoration-errorBackground: #f14c4c;--vscode-terminalOverviewRuler-cursorForeground: rgba(160, 160, 160, .8);--vscode-terminal-border: rgba(128, 128, 128, .35);--vscode-terminal-findMatchBackground: #515c6a;--vscode-terminal-findMatchHighlightBackground: rgba(234, 92, 0, .33);--vscode-terminalOverviewRuler-findMatchForeground: rgba(209, 134, 22, .49);--vscode-terminal-dropBackground: rgba(83, 89, 93, .5);--vscode-testing-iconFailed: #f14c4c;--vscode-testing-iconErrored: #f14c4c;--vscode-testing-iconPassed: #73c991;--vscode-testing-runAction: #73c991;--vscode-testing-iconQueued: #cca700;--vscode-testing-iconUnset: #848484;--vscode-testing-iconSkipped: #848484;--vscode-testing-peekBorder: #f14c4c;--vscode-testing-peekHeaderBackground: rgba(241, 76, 76, .1);--vscode-testing-message\.error\.decorationForeground: #f14c4c;--vscode-testing-message\.error\.lineBackground: rgba(255, 0, 0, .2);--vscode-testing-message\.info\.decorationForeground: rgba(212, 212, 212, .5);--vscode-welcomePage-tileBackground: #252526;--vscode-welcomePage-tileHoverBackground: #2c2c2d;--vscode-welcomePage-tileShadow: rgba(0, 0, 0, .36);--vscode-welcomePage-progress\.background: #3c3c3c;--vscode-welcomePage-progress\.foreground: #3794ff;--vscode-debugExceptionWidget-border: #a31515;--vscode-debugExceptionWidget-background: #420b0d;--vscode-ports-iconRunningProcessForeground: #369432;--vscode-statusBar-debuggingBackground: #cc6633;--vscode-statusBar-debuggingForeground: #ffffff;--vscode-editor-inlineValuesForeground: rgba(255, 255, 255, .5);--vscode-editor-inlineValuesBackground: rgba(255, 200, 0, .2);--vscode-editorGutter-modifiedBackground: #1b81a8;--vscode-editorGutter-addedBackground: #487e02;--vscode-editorGutter-deletedBackground: #f14c4c;--vscode-minimapGutter-modifiedBackground: #1b81a8;--vscode-minimapGutter-addedBackground: #487e02;--vscode-minimapGutter-deletedBackground: #f14c4c;--vscode-editorOverviewRuler-modifiedForeground: rgba(27, 129, 168, .6);--vscode-editorOverviewRuler-addedForeground: rgba(72, 126, 2, .6);--vscode-editorOverviewRuler-deletedForeground: rgba(241, 76, 76, .6);--vscode-debugIcon-breakpointForeground: #e51400;--vscode-debugIcon-breakpointDisabledForeground: #848484;--vscode-debugIcon-breakpointUnverifiedForeground: #848484;--vscode-debugIcon-breakpointCurrentStackframeForeground: #ffcc00;--vscode-debugIcon-breakpointStackframeForeground: #89d185;--vscode-notebook-cellBorderColor: #37373d;--vscode-notebook-focusedEditorBorder: #007fd4;--vscode-notebookStatusSuccessIcon-foreground: #89d185;--vscode-notebookStatusErrorIcon-foreground: #f48771;--vscode-notebookStatusRunningIcon-foreground: #cccccc;--vscode-notebook-cellToolbarSeparator: rgba(128, 128, 128, .35);--vscode-notebook-selectedCellBackground: #37373d;--vscode-notebook-selectedCellBorder: #37373d;--vscode-notebook-focusedCellBorder: #007fd4;--vscode-notebook-inactiveFocusedCellBorder: #37373d;--vscode-notebook-cellStatusBarItemHoverBackground: rgba(255, 255, 255, .15);--vscode-notebook-cellInsertionIndicator: #007fd4;--vscode-notebookScrollbarSlider-background: rgba(121, 121, 121, .4);--vscode-notebookScrollbarSlider-hoverBackground: rgba(100, 100, 100, .7);--vscode-notebookScrollbarSlider-activeBackground: rgba(191, 191, 191, .4);--vscode-notebook-symbolHighlightBackground: rgba(255, 255, 255, .04);--vscode-notebook-cellEditorBackground: #252526;--vscode-notebook-editorBackground: #1e1e1e;--vscode-keybindingTable-headerBackground: rgba(204, 204, 204, .04);--vscode-keybindingTable-rowsBackground: rgba(204, 204, 204, .04);--vscode-scm-providerBorder: #454545;--vscode-debugTokenExpression-name: #c586c0;--vscode-debugTokenExpression-value: rgba(204, 204, 204, .6);--vscode-debugTokenExpression-string: #ce9178;--vscode-debugTokenExpression-boolean: #4e94ce;--vscode-debugTokenExpression-number: #b5cea8;--vscode-debugTokenExpression-error: #f48771;--vscode-debugView-exceptionLabelForeground: #cccccc;--vscode-debugView-exceptionLabelBackground: #6c2022;--vscode-debugView-stateLabelForeground: #cccccc;--vscode-debugView-stateLabelBackground: rgba(136, 136, 136, .27);--vscode-debugView-valueChangedHighlight: #569cd6;--vscode-debugConsole-infoForeground: #3794ff;--vscode-debugConsole-warningForeground: #cca700;--vscode-debugConsole-errorForeground: #f48771;--vscode-debugConsole-sourceForeground: #cccccc;--vscode-debugConsoleInputIcon-foreground: #cccccc;--vscode-debugIcon-pauseForeground: #75beff;--vscode-debugIcon-stopForeground: #f48771;--vscode-debugIcon-disconnectForeground: #f48771;--vscode-debugIcon-restartForeground: #89d185;--vscode-debugIcon-stepOverForeground: #75beff;--vscode-debugIcon-stepIntoForeground: #75beff;--vscode-debugIcon-stepOutForeground: #75beff;--vscode-debugIcon-continueForeground: #75beff;--vscode-debugIcon-stepBackForeground: #75beff;--vscode-extensionButton-prominentBackground: #0e639c;--vscode-extensionButton-prominentForeground: #ffffff;--vscode-extensionButton-prominentHoverBackground: #1177bb;--vscode-extensionIcon-starForeground: #ff8e00;--vscode-extensionIcon-verifiedForeground: #3794ff;--vscode-extensionIcon-preReleaseForeground: #1d9271;--vscode-extensionIcon-sponsorForeground: #d758b3;--vscode-terminal-ansiBlack: #000000;--vscode-terminal-ansiRed: #cd3131;--vscode-terminal-ansiGreen: #0dbc79;--vscode-terminal-ansiYellow: #e5e510;--vscode-terminal-ansiBlue: #2472c8;--vscode-terminal-ansiMagenta: #bc3fbc;--vscode-terminal-ansiCyan: #11a8cd;--vscode-terminal-ansiWhite: #e5e5e5;--vscode-terminal-ansiBrightBlack: #666666;--vscode-terminal-ansiBrightRed: #f14c4c;--vscode-terminal-ansiBrightGreen: #23d18b;--vscode-terminal-ansiBrightYellow: #f5f543;--vscode-terminal-ansiBrightBlue: #3b8eea;--vscode-terminal-ansiBrightMagenta: #d670d6;--vscode-terminal-ansiBrightCyan: #29b8db;--vscode-terminal-ansiBrightWhite: #e5e5e5;--vscode-interactive-activeCodeBorder: #3794ff;--vscode-interactive-inactiveCodeBorder: #37373d;--vscode-gitDecoration-addedResourceForeground: #81b88b;--vscode-gitDecoration-modifiedResourceForeground: #e2c08d;--vscode-gitDecoration-deletedResourceForeground: #c74e39;--vscode-gitDecoration-renamedResourceForeground: #73c991;--vscode-gitDecoration-untrackedResourceForeground: #73c991;--vscode-gitDecoration-ignoredResourceForeground: #8c8c8c;--vscode-gitDecoration-stageModifiedResourceForeground: #e2c08d;--vscode-gitDecoration-stageDeletedResourceForeground: #c74e39;--vscode-gitDecoration-conflictingResourceForeground: #e4676b;--vscode-gitDecoration-submoduleResourceForeground: #8db9e2}.test-error-container{position:relative;white-space:pre;flex:none;padding:0;background-color:var(--color-canvas-subtle);border-radius:6px;line-height:initial;margin-bottom:6px}.test-error-view{overflow:auto;padding:16px}.test-error-text{font-family:monospace}.test-result{flex:auto;display:flex;flex-direction:column;margin-bottom:24px}.test-result>div{flex:none}.test-result video,.test-result img.screenshot{flex:none;box-shadow:var(--box-shadow-thick);margin:24px auto;min-width:200px;max-width:80%}.test-result-path{padding:0 0 0 5px;color:var(--color-fg-muted)}.test-result-counter{border-radius:12px;color:var(--color-canvas-default);padding:2px 8px;line-height:normal}.step-title-container{display:flex;align-items:center;flex:auto;min-width:0}.step-title-container>*{flex-shrink:0}.step-title-text{flex-shrink:1;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;min-width:0}.step-title-highlight{background:var(--color-attention-subtle)}.step-spacer{flex:auto}.step-attachment-link{display:flex;flex:none;border-radius:4px;padding:4px}.step-attachment-link:hover{background-color:var(--color-neutral-muted)}.step-attachment-link .octicon{margin-right:0}.step-indirect-attachment-indicator{display:flex;flex:none;padding:4px;opacity:.5}.step-indirect-attachment-indicator .octicon{margin-right:0}.step-duration{flex:none;white-space:nowrap;margin-left:4px}:root.light-mode .test-result-counter{background:var(--color-scale-gray-5)}:root.dark-mode .test-result-counter{background:var(--color-scale-gray-3)}.step-filter{margin-bottom:8px}@media only screen and (max-width: 600px){.test-result{padding:0!important}}.test-file-test{line-height:32px;align-items:center;padding:2px 8px;overflow:hidden;text-overflow:ellipsis}.test-file-test-selected,.test-file-test:hover{background-color:var(--color-canvas-subtle)}.test-file-title{font-weight:600;font-size:16px}.test-file-details-row{padding:0 0 6px 8px;margin:0 0 0 15px;line-height:16px;font-weight:400;color:var(--color-fg-muted);display:flex;align-items:center}.test-file-details-row-items{display:flex;height:16px}.test-file-details-row-items>.link-badge{margin-top:-2px}.test-file-details-row-items>.trace-link{margin-top:-4px}.test-file-path{text-overflow:ellipsis;overflow:hidden;color:var(--color-fg-muted)}.test-file-path-link{margin-right:10px}.test-file-test-outcome-skipped{color:var(--color-fg-muted)}.test-file-test-status-icon{flex:none}.test-file-header-info{display:flex;align-items:center;gap:4px 8px;color:var(--color-fg-muted)}.test-file-header-br{flex-basis:100%;height:0}.test-file-no-files{margin-top:12px;color:var(--color-fg-muted);background-color:unset;font-weight:unset;border:1px solid var(--color-border-default);border-bottom-left-radius:6px;border-bottom-right-radius:6px}#root{color:var(--color-fg-default);font-size:14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";-webkit-font-smoothing:antialiased}.metadata-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--color-fg-default)}.metadata-toggle-second-line{margin-top:8px;margin-left:8px}.metadata-view{border:1px solid var(--color-border-default);border-radius:6px;margin-top:12px}.metadata-view .metadata-section{margin:8px 10px 8px 32px}.metadata-view span:not(.copy-button-container),.metadata-view a{display:inline-block;line-height:24px}.metadata-properties{display:flex;flex-direction:column;align-items:normal;gap:8px}.metadata-properties>div{height:24px}.metadata-separator{height:1px;border-bottom:1px solid var(--color-border-default)}.metadata-view a{color:var(--color-fg-default)}.copyable-property{white-space:pre}.copyable-property>span{display:flex;align-items:center}.gantt-bar{transition:opacity .2s;cursor:pointer;outline:none}.gantt-bar:hover,.gantt-bar:focus{opacity:.8;stroke:var(--color-fg-default);stroke-width:2}
node_modules/playwright-core/lib/vite/htmlReport/report.js deleted
-72
@@ -1,72 +0,0 @@
1 -(function(){const u=document.createElement("link").relList;if(u&&u.supports&&u.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))f(r);new MutationObserver(r=>{for(const o of r)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&f(h)}).observe(document,{childList:!0,subtree:!0});function c(r){const o={};return r.integrity&&(o.integrity=r.integrity),r.referrerPolicy&&(o.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?o.credentials="include":r.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function f(r){if(r.ep)return;r.ep=!0;const o=c(r);fetch(r.href,o)}})();function EA(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}var Of={exports:{}},vi={};/**
2 - * @license React
3 - * react-jsx-runtime.production.js
4 - *
5 - * Copyright (c) Meta Platforms, Inc. and affiliates.
6 - *
7 - * This source code is licensed under the MIT license found in the
8 - * LICENSE file in the root directory of this source tree.
9 - */var y1;function pA(){if(y1)return vi;y1=1;var i=Symbol.for("react.transitional.element"),u=Symbol.for("react.fragment");function c(f,r,o){var h=null;if(o!==void 0&&(h=""+o),r.key!==void 0&&(h=""+r.key),"key"in r){o={};for(var v in r)v!=="key"&&(o[v]=r[v])}else o=r;return r=o.ref,{$$typeof:i,type:f,key:h,ref:r!==void 0?r:null,props:o}}return vi.Fragment=u,vi.jsx=c,vi.jsxs=c,vi}var E1;function xA(){return E1||(E1=1,Of.exports=pA()),Of.exports}var m=xA();const bA=15,bt=0,En=1,SA=2,ye=-2,Ut=-3,p1=-4,pn=-5,Me=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],w2=1440,TA=0,CA=4,OA=9,DA=5,RA=[96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,192,80,7,10,0,8,96,0,8,32,0,9,160,0,8,0,0,8,128,0,8,64,0,9,224,80,7,6,0,8,88,0,8,24,0,9,144,83,7,59,0,8,120,0,8,56,0,9,208,81,7,17,0,8,104,0,8,40,0,9,176,0,8,8,0,8,136,0,8,72,0,9,240,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,200,81,7,13,0,8,100,0,8,36,0,9,168,0,8,4,0,8,132,0,8,68,0,9,232,80,7,8,0,8,92,0,8,28,0,9,152,84,7,83,0,8,124,0,8,60,0,9,216,82,7,23,0,8,108,0,8,44,0,9,184,0,8,12,0,8,140,0,8,76,0,9,248,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,196,81,7,11,0,8,98,0,8,34,0,9,164,0,8,2,0,8,130,0,8,66,0,9,228,80,7,7,0,8,90,0,8,26,0,9,148,84,7,67,0,8,122,0,8,58,0,9,212,82,7,19,0,8,106,0,8,42,0,9,180,0,8,10,0,8,138,0,8,74,0,9,244,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,204,81,7,15,0,8,102,0,8,38,0,9,172,0,8,6,0,8,134,0,8,70,0,9,236,80,7,9,0,8,94,0,8,30,0,9,156,84,7,99,0,8,126,0,8,62,0,9,220,82,7,27,0,8,110,0,8,46,0,9,188,0,8,14,0,8,142,0,8,78,0,9,252,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,194,80,7,10,0,8,97,0,8,33,0,9,162,0,8,1,0,8,129,0,8,65,0,9,226,80,7,6,0,8,89,0,8,25,0,9,146,83,7,59,0,8,121,0,8,57,0,9,210,81,7,17,0,8,105,0,8,41,0,9,178,0,8,9,0,8,137,0,8,73,0,9,242,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,202,81,7,13,0,8,101,0,8,37,0,9,170,0,8,5,0,8,133,0,8,69,0,9,234,80,7,8,0,8,93,0,8,29,0,9,154,84,7,83,0,8,125,0,8,61,0,9,218,82,7,23,0,8,109,0,8,45,0,9,186,0,8,13,0,8,141,0,8,77,0,9,250,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,198,81,7,11,0,8,99,0,8,35,0,9,166,0,8,3,0,8,131,0,8,67,0,9,230,80,7,7,0,8,91,0,8,27,0,9,150,84,7,67,0,8,123,0,8,59,0,9,214,82,7,19,0,8,107,0,8,43,0,9,182,0,8,11,0,8,139,0,8,75,0,9,246,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,206,81,7,15,0,8,103,0,8,39,0,9,174,0,8,7,0,8,135,0,8,71,0,9,238,80,7,9,0,8,95,0,8,31,0,9,158,84,7,99,0,8,127,0,8,63,0,9,222,82,7,27,0,8,111,0,8,47,0,9,190,0,8,15,0,8,143,0,8,79,0,9,254,96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,193,80,7,10,0,8,96,0,8,32,0,9,161,0,8,0,0,8,128,0,8,64,0,9,225,80,7,6,0,8,88,0,8,24,0,9,145,83,7,59,0,8,120,0,8,56,0,9,209,81,7,17,0,8,104,0,8,40,0,9,177,0,8,8,0,8,136,0,8,72,0,9,241,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,201,81,7,13,0,8,100,0,8,36,0,9,169,0,8,4,0,8,132,0,8,68,0,9,233,80,7,8,0,8,92,0,8,28,0,9,153,84,7,83,0,8,124,0,8,60,0,9,217,82,7,23,0,8,108,0,8,44,0,9,185,0,8,12,0,8,140,0,8,76,0,9,249,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,197,81,7,11,0,8,98,0,8,34,0,9,165,0,8,2,0,8,130,0,8,66,0,9,229,80,7,7,0,8,90,0,8,26,0,9,149,84,7,67,0,8,122,0,8,58,0,9,213,82,7,19,0,8,106,0,8,42,0,9,181,0,8,10,0,8,138,0,8,74,0,9,245,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,205,81,7,15,0,8,102,0,8,38,0,9,173,0,8,6,0,8,134,0,8,70,0,9,237,80,7,9,0,8,94,0,8,30,0,9,157,84,7,99,0,8,126,0,8,62,0,9,221,82,7,27,0,8,110,0,8,46,0,9,189,0,8,14,0,8,142,0,8,78,0,9,253,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,195,80,7,10,0,8,97,0,8,33,0,9,163,0,8,1,0,8,129,0,8,65,0,9,227,80,7,6,0,8,89,0,8,25,0,9,147,83,7,59,0,8,121,0,8,57,0,9,211,81,7,17,0,8,105,0,8,41,0,9,179,0,8,9,0,8,137,0,8,73,0,9,243,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,203,81,7,13,0,8,101,0,8,37,0,9,171,0,8,5,0,8,133,0,8,69,0,9,235,80,7,8,0,8,93,0,8,29,0,9,155,84,7,83,0,8,125,0,8,61,0,9,219,82,7,23,0,8,109,0,8,45,0,9,187,0,8,13,0,8,141,0,8,77,0,9,251,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,199,81,7,11,0,8,99,0,8,35,0,9,167,0,8,3,0,8,131,0,8,67,0,9,231,80,7,7,0,8,91,0,8,27,0,9,151,84,7,67,0,8,123,0,8,59,0,9,215,82,7,19,0,8,107,0,8,43,0,9,183,0,8,11,0,8,139,0,8,75,0,9,247,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,207,81,7,15,0,8,103,0,8,39,0,9,175,0,8,7,0,8,135,0,8,71,0,9,239,80,7,9,0,8,95,0,8,31,0,9,159,84,7,99,0,8,127,0,8,63,0,9,223,82,7,27,0,8,111,0,8,47,0,9,191,0,8,15,0,8,143,0,8,79,0,9,255],wA=[80,5,1,87,5,257,83,5,17,91,5,4097,81,5,5,89,5,1025,85,5,65,93,5,16385,80,5,3,88,5,513,84,5,33,92,5,8193,82,5,9,90,5,2049,86,5,129,192,5,24577,80,5,2,87,5,385,83,5,25,91,5,6145,81,5,7,89,5,1537,85,5,97,93,5,24577,80,5,4,88,5,769,84,5,49,92,5,12289,82,5,13,90,5,3073,86,5,193,192,5,24577],MA=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],jA=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,112,112],NA=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],HA=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],_n=15;function qf(){const i=this;let u,c,f,r,o,h;function v(A,x,T,D,X,q,p,E,b,R,N){let V,F,H,j,Y,z,I,k,nt,P,st,ut,M,_,$;P=0,Y=T;do f[A[x+P]]++,P++,Y--;while(Y!==0);if(f[0]==T)return p[0]=-1,E[0]=0,bt;for(k=E[0],z=1;z<=_n&&f[z]===0;z++);for(I=z,k<z&&(k=z),Y=_n;Y!==0&&f[Y]===0;Y--);for(H=Y,k>Y&&(k=Y),E[0]=k,_=1<<z;z<Y;z++,_<<=1)if((_-=f[z])<0)return Ut;if((_-=f[Y])<0)return Ut;for(f[Y]+=_,h[1]=z=0,P=1,M=2;--Y!==0;)h[M]=z+=f[P],M++,P++;Y=0,P=0;do(z=A[x+P])!==0&&(N[h[z]++]=Y),P++;while(++Y<T);for(T=h[H],h[0]=Y=0,P=0,j=-1,ut=-k,o[0]=0,st=0,$=0;I<=H;I++)for(V=f[I];V--!==0;){for(;I>ut+k;){if(j++,ut+=k,$=H-ut,$=$>k?k:$,(F=1<<(z=I-ut))>V+1&&(F-=V+1,M=I,z<$))for(;++z<$&&!((F<<=1)<=f[++M]);)F-=f[M];if($=1<<z,R[0]+$>w2)return Ut;o[j]=st=R[0],R[0]+=$,j!==0?(h[j]=Y,r[0]=z,r[1]=k,z=Y>>>ut-k,r[2]=st-o[j-1]-z,b.set(r,(o[j-1]+z)*3)):p[0]=st}for(r[1]=I-ut,P>=T?r[0]=192:N[P]<D?(r[0]=N[P]<256?0:96,r[2]=N[P++]):(r[0]=q[N[P]-D]+16+64,r[2]=X[N[P++]-D]),F=1<<I-ut,z=Y>>>ut;z<$;z+=F)b.set(r,(st+z)*3);for(z=1<<I-1;(Y&z)!==0;z>>>=1)Y^=z;for(Y^=z,nt=(1<<ut)-1;(Y&nt)!=h[j];)j--,ut-=k,nt=(1<<ut)-1}return _!==0&&H!=1?pn:bt}function y(A){let x;for(u||(u=[],c=[],f=new Int32Array(_n+1),r=[],o=new Int32Array(_n),h=new Int32Array(_n+1)),c.length<A&&(c=[]),x=0;x<A;x++)c[x]=0;for(x=0;x<_n+1;x++)f[x]=0;for(x=0;x<3;x++)r[x]=0;o.set(f.subarray(0,_n),0),h.set(f.subarray(0,_n+1),0)}i.inflate_trees_bits=function(A,x,T,D,X){let q;return y(19),u[0]=0,q=v(A,0,19,19,null,null,T,x,D,u,c),q==Ut?X.msg="oversubscribed dynamic bit lengths tree":(q==pn||x[0]===0)&&(X.msg="incomplete dynamic bit lengths tree",q=Ut),q},i.inflate_trees_dynamic=function(A,x,T,D,X,q,p,E,b){let R;return y(288),u[0]=0,R=v(T,0,A,257,MA,jA,q,D,E,u,c),R!=bt||D[0]===0?(R==Ut?b.msg="oversubscribed literal/length tree":R!=p1&&(b.msg="incomplete literal/length tree",R=Ut),R):(y(288),R=v(T,A,x,0,NA,HA,p,X,E,u,c),R!=bt||X[0]===0&&A>257?(R==Ut?b.msg="oversubscribed distance tree":R==pn?(b.msg="incomplete distance tree",R=Ut):R!=p1&&(b.msg="empty distance tree with lengths",R=Ut),R):bt)}}qf.inflate_trees_fixed=function(i,u,c,f){return i[0]=OA,u[0]=DA,c[0]=RA,f[0]=wA,bt};const Fu=0,x1=1,b1=2,S1=3,T1=4,C1=5,O1=6,Df=7,D1=8,Wu=9;function BA(){const i=this;let u,c=0,f,r=0,o=0,h=0,v=0,y=0,A=0,x=0,T,D=0,X,q=0;function p(E,b,R,N,V,F,H,j){let Y,z,I,k,nt,P,st,ut,M,_,$,ht,tt,C,L,W;st=j.next_in_index,ut=j.avail_in,nt=H.bitb,P=H.bitk,M=H.write,_=M<H.read?H.read-M-1:H.end-M,$=Me[E],ht=Me[b];do{for(;P<20;)ut--,nt|=(j.read_byte(st++)&255)<<P,P+=8;if(Y=nt&$,z=R,I=N,W=(I+Y)*3,(k=z[W])===0){nt>>=z[W+1],P-=z[W+1],H.win[M++]=z[W+2],_--;continue}do{if(nt>>=z[W+1],P-=z[W+1],(k&16)!==0){for(k&=15,tt=z[W+2]+(nt&Me[k]),nt>>=k,P-=k;P<15;)ut--,nt|=(j.read_byte(st++)&255)<<P,P+=8;Y=nt&ht,z=V,I=F,W=(I+Y)*3,k=z[W];do if(nt>>=z[W+1],P-=z[W+1],(k&16)!==0){for(k&=15;P<k;)ut--,nt|=(j.read_byte(st++)&255)<<P,P+=8;if(C=z[W+2]+(nt&Me[k]),nt>>=k,P-=k,_-=tt,M>=C)L=M-C,M-L>0&&2>M-L?(H.win[M++]=H.win[L++],H.win[M++]=H.win[L++],tt-=2):(H.win.set(H.win.subarray(L,L+2),M),M+=2,L+=2,tt-=2);else{L=M-C;do L+=H.end;while(L<0);if(k=H.end-L,tt>k){if(tt-=k,M-L>0&&k>M-L)do H.win[M++]=H.win[L++];while(--k!==0);else H.win.set(H.win.subarray(L,L+k),M),M+=k,L+=k,k=0;L=0}}if(M-L>0&&tt>M-L)do H.win[M++]=H.win[L++];while(--tt!==0);else H.win.set(H.win.subarray(L,L+tt),M),M+=tt,L+=tt,tt=0;break}else if((k&64)===0)Y+=z[W+2],Y+=nt&Me[k],W=(I+Y)*3,k=z[W];else return j.msg="invalid distance code",tt=j.avail_in-ut,tt=P>>3<tt?P>>3:tt,ut+=tt,st-=tt,P-=tt<<3,H.bitb=nt,H.bitk=P,j.avail_in=ut,j.total_in+=st-j.next_in_index,j.next_in_index=st,H.write=M,Ut;while(!0);break}if((k&64)===0){if(Y+=z[W+2],Y+=nt&Me[k],W=(I+Y)*3,(k=z[W])===0){nt>>=z[W+1],P-=z[W+1],H.win[M++]=z[W+2],_--;break}}else return(k&32)!==0?(tt=j.avail_in-ut,tt=P>>3<tt?P>>3:tt,ut+=tt,st-=tt,P-=tt<<3,H.bitb=nt,H.bitk=P,j.avail_in=ut,j.total_in+=st-j.next_in_index,j.next_in_index=st,H.write=M,En):(j.msg="invalid literal/length code",tt=j.avail_in-ut,tt=P>>3<tt?P>>3:tt,ut+=tt,st-=tt,P-=tt<<3,H.bitb=nt,H.bitk=P,j.avail_in=ut,j.total_in+=st-j.next_in_index,j.next_in_index=st,H.write=M,Ut)}while(!0)}while(_>=258&&ut>=10);return tt=j.avail_in-ut,tt=P>>3<tt?P>>3:tt,ut+=tt,st-=tt,P-=tt<<3,H.bitb=nt,H.bitk=P,j.avail_in=ut,j.total_in+=st-j.next_in_index,j.next_in_index=st,H.write=M,bt}i.init=function(E,b,R,N,V,F){u=Fu,A=E,x=b,T=R,D=N,X=V,q=F,f=null},i.proc=function(E,b,R){let N,V,F,H=0,j=0,Y=0,z,I,k,nt;for(Y=b.next_in_index,z=b.avail_in,H=E.bitb,j=E.bitk,I=E.write,k=I<E.read?E.read-I-1:E.end-I;;)switch(u){case Fu:if(k>=258&&z>=10&&(E.bitb=H,E.bitk=j,b.avail_in=z,b.total_in+=Y-b.next_in_index,b.next_in_index=Y,E.write=I,R=p(A,x,T,D,X,q,E,b),Y=b.next_in_index,z=b.avail_in,H=E.bitb,j=E.bitk,I=E.write,k=I<E.read?E.read-I-1:E.end-I,R!=bt)){u=R==En?Df:Wu;break}o=A,f=T,r=D,u=x1;case x1:for(N=o;j<N;){if(z!==0)R=bt;else return E.bitb=H,E.bitk=j,b.avail_in=z,b.total_in+=Y-b.next_in_index,b.next_in_index=Y,E.write=I,E.inflate_flush(b,R);z--,H|=(b.read_byte(Y++)&255)<<j,j+=8}if(V=(r+(H&Me[N]))*3,H>>>=f[V+1],j-=f[V+1],F=f[V],F===0){h=f[V+2],u=O1;break}if((F&16)!==0){v=F&15,c=f[V+2],u=b1;break}if((F&64)===0){o=F,r=V/3+f[V+2];break}if((F&32)!==0){u=Df;break}return u=Wu,b.msg="invalid literal/length code",R=Ut,E.bitb=H,E.bitk=j,b.avail_in=z,b.total_in+=Y-b.next_in_index,b.next_in_index=Y,E.write=I,E.inflate_flush(b,R);case b1:for(N=v;j<N;){if(z!==0)R=bt;else return E.bitb=H,E.bitk=j,b.avail_in=z,b.total_in+=Y-b.next_in_index,b.next_in_index=Y,E.write=I,E.inflate_flush(b,R);z--,H|=(b.read_byte(Y++)&255)<<j,j+=8}c+=H&Me[N],H>>=N,j-=N,o=x,f=X,r=q,u=S1;case S1:for(N=o;j<N;){if(z!==0)R=bt;else return E.bitb=H,E.bitk=j,b.avail_in=z,b.total_in+=Y-b.next_in_index,b.next_in_index=Y,E.write=I,E.inflate_flush(b,R);z--,H|=(b.read_byte(Y++)&255)<<j,j+=8}if(V=(r+(H&Me[N]))*3,H>>=f[V+1],j-=f[V+1],F=f[V],(F&16)!==0){v=F&15,y=f[V+2],u=T1;break}if((F&64)===0){o=F,r=V/3+f[V+2];break}return u=Wu,b.msg="invalid distance code",R=Ut,E.bitb=H,E.bitk=j,b.avail_in=z,b.total_in+=Y-b.next_in_index,b.next_in_index=Y,E.write=I,E.inflate_flush(b,R);case T1:for(N=v;j<N;){if(z!==0)R=bt;else return E.bitb=H,E.bitk=j,b.avail_in=z,b.total_in+=Y-b.next_in_index,b.next_in_index=Y,E.write=I,E.inflate_flush(b,R);z--,H|=(b.read_byte(Y++)&255)<<j,j+=8}y+=H&Me[N],H>>=N,j-=N,u=C1;case C1:for(nt=I-y;nt<0;)nt+=E.end;for(;c!==0;){if(k===0&&(I==E.end&&E.read!==0&&(I=0,k=I<E.read?E.read-I-1:E.end-I),k===0&&(E.write=I,R=E.inflate_flush(b,R),I=E.write,k=I<E.read?E.read-I-1:E.end-I,I==E.end&&E.read!==0&&(I=0,k=I<E.read?E.read-I-1:E.end-I),k===0)))return E.bitb=H,E.bitk=j,b.avail_in=z,b.total_in+=Y-b.next_in_index,b.next_in_index=Y,E.write=I,E.inflate_flush(b,R);E.win[I++]=E.win[nt++],k--,nt==E.end&&(nt=0),c--}u=Fu;break;case O1:if(k===0&&(I==E.end&&E.read!==0&&(I=0,k=I<E.read?E.read-I-1:E.end-I),k===0&&(E.write=I,R=E.inflate_flush(b,R),I=E.write,k=I<E.read?E.read-I-1:E.end-I,I==E.end&&E.read!==0&&(I=0,k=I<E.read?E.read-I-1:E.end-I),k===0)))return E.bitb=H,E.bitk=j,b.avail_in=z,b.total_in+=Y-b.next_in_index,b.next_in_index=Y,E.write=I,E.inflate_flush(b,R);R=bt,E.win[I++]=h,k--,u=Fu;break;case Df:if(j>7&&(j-=8,z++,Y--),E.write=I,R=E.inflate_flush(b,R),I=E.write,k=I<E.read?E.read-I-1:E.end-I,E.read!=E.write)return E.bitb=H,E.bitk=j,b.avail_in=z,b.total_in+=Y-b.next_in_index,b.next_in_index=Y,E.write=I,E.inflate_flush(b,R);u=D1;case D1:return R=En,E.bitb=H,E.bitk=j,b.avail_in=z,b.total_in+=Y-b.next_in_index,b.next_in_index=Y,E.write=I,E.inflate_flush(b,R);case Wu:return R=Ut,E.bitb=H,E.bitk=j,b.avail_in=z,b.total_in+=Y-b.next_in_index,b.next_in_index=Y,E.write=I,E.inflate_flush(b,R);default:return R=ye,E.bitb=H,E.bitk=j,b.avail_in=z,b.total_in+=Y-b.next_in_index,b.next_in_index=Y,E.write=I,E.inflate_flush(b,R)}},i.free=function(){}}const R1=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],ya=0,Rf=1,w1=2,M1=3,j1=4,N1=5,_u=6,Pu=7,H1=8,Cl=9;function UA(i,u){const c=this;let f=ya,r=0,o=0,h=0,v;const y=[0],A=[0],x=new BA;let T=0,D=new Int32Array(w2*3);const X=0,q=new qf;c.bitk=0,c.bitb=0,c.win=new Uint8Array(u),c.end=u,c.read=0,c.write=0,c.reset=function(p,E){E&&(E[0]=X),f==_u&&x.free(p),f=ya,c.bitk=0,c.bitb=0,c.read=c.write=0},c.reset(i,null),c.inflate_flush=function(p,E){let b,R,N;return R=p.next_out_index,N=c.read,b=(N<=c.write?c.write:c.end)-N,b>p.avail_out&&(b=p.avail_out),b!==0&&E==pn&&(E=bt),p.avail_out-=b,p.total_out+=b,p.next_out.set(c.win.subarray(N,N+b),R),R+=b,N+=b,N==c.end&&(N=0,c.write==c.end&&(c.write=0),b=c.write-N,b>p.avail_out&&(b=p.avail_out),b!==0&&E==pn&&(E=bt),p.avail_out-=b,p.total_out+=b,p.next_out.set(c.win.subarray(N,N+b),R),R+=b,N+=b),p.next_out_index=R,c.read=N,E},c.proc=function(p,E){let b,R,N,V,F,H,j,Y;for(V=p.next_in_index,F=p.avail_in,R=c.bitb,N=c.bitk,H=c.write,j=H<c.read?c.read-H-1:c.end-H;;){let z,I,k,nt,P,st,ut,M;switch(f){case ya:for(;N<3;){if(F!==0)E=bt;else return c.bitb=R,c.bitk=N,p.avail_in=F,p.total_in+=V-p.next_in_index,p.next_in_index=V,c.write=H,c.inflate_flush(p,E);F--,R|=(p.read_byte(V++)&255)<<N,N+=8}switch(b=R&7,T=b&1,b>>>1){case 0:R>>>=3,N-=3,b=N&7,R>>>=b,N-=b,f=Rf;break;case 1:z=[],I=[],k=[[]],nt=[[]],qf.inflate_trees_fixed(z,I,k,nt),x.init(z[0],I[0],k[0],0,nt[0],0),R>>>=3,N-=3,f=_u;break;case 2:R>>>=3,N-=3,f=M1;break;case 3:return R>>>=3,N-=3,f=Cl,p.msg="invalid block type",E=Ut,c.bitb=R,c.bitk=N,p.avail_in=F,p.total_in+=V-p.next_in_index,p.next_in_index=V,c.write=H,c.inflate_flush(p,E)}break;case Rf:for(;N<32;){if(F!==0)E=bt;else return c.bitb=R,c.bitk=N,p.avail_in=F,p.total_in+=V-p.next_in_index,p.next_in_index=V,c.write=H,c.inflate_flush(p,E);F--,R|=(p.read_byte(V++)&255)<<N,N+=8}if((~R>>>16&65535)!=(R&65535))return f=Cl,p.msg="invalid stored block lengths",E=Ut,c.bitb=R,c.bitk=N,p.avail_in=F,p.total_in+=V-p.next_in_index,p.next_in_index=V,c.write=H,c.inflate_flush(p,E);r=R&65535,R=N=0,f=r!==0?w1:T!==0?Pu:ya;break;case w1:if(F===0||j===0&&(H==c.end&&c.read!==0&&(H=0,j=H<c.read?c.read-H-1:c.end-H),j===0&&(c.write=H,E=c.inflate_flush(p,E),H=c.write,j=H<c.read?c.read-H-1:c.end-H,H==c.end&&c.read!==0&&(H=0,j=H<c.read?c.read-H-1:c.end-H),j===0)))return c.bitb=R,c.bitk=N,p.avail_in=F,p.total_in+=V-p.next_in_index,p.next_in_index=V,c.write=H,c.inflate_flush(p,E);if(E=bt,b=r,b>F&&(b=F),b>j&&(b=j),c.win.set(p.read_buf(V,b),H),V+=b,F-=b,H+=b,j-=b,(r-=b)!==0)break;f=T!==0?Pu:ya;break;case M1:for(;N<14;){if(F!==0)E=bt;else return c.bitb=R,c.bitk=N,p.avail_in=F,p.total_in+=V-p.next_in_index,p.next_in_index=V,c.write=H,c.inflate_flush(p,E);F--,R|=(p.read_byte(V++)&255)<<N,N+=8}if(o=b=R&16383,(b&31)>29||(b>>5&31)>29)return f=Cl,p.msg="too many length or distance symbols",E=Ut,c.bitb=R,c.bitk=N,p.avail_in=F,p.total_in+=V-p.next_in_index,p.next_in_index=V,c.write=H,c.inflate_flush(p,E);if(b=258+(b&31)+(b>>5&31),!v||v.length<b)v=[];else for(Y=0;Y<b;Y++)v[Y]=0;R>>>=14,N-=14,h=0,f=j1;case j1:for(;h<4+(o>>>10);){for(;N<3;){if(F!==0)E=bt;else return c.bitb=R,c.bitk=N,p.avail_in=F,p.total_in+=V-p.next_in_index,p.next_in_index=V,c.write=H,c.inflate_flush(p,E);F--,R|=(p.read_byte(V++)&255)<<N,N+=8}v[R1[h++]]=R&7,R>>>=3,N-=3}for(;h<19;)v[R1[h++]]=0;if(y[0]=7,b=q.inflate_trees_bits(v,y,A,D,p),b!=bt)return E=b,E==Ut&&(v=null,f=Cl),c.bitb=R,c.bitk=N,p.avail_in=F,p.total_in+=V-p.next_in_index,p.next_in_index=V,c.write=H,c.inflate_flush(p,E);h=0,f=N1;case N1:for(;b=o,!(h>=258+(b&31)+(b>>5&31));){let _,$;for(b=y[0];N<b;){if(F!==0)E=bt;else return c.bitb=R,c.bitk=N,p.avail_in=F,p.total_in+=V-p.next_in_index,p.next_in_index=V,c.write=H,c.inflate_flush(p,E);F--,R|=(p.read_byte(V++)&255)<<N,N+=8}if(b=D[(A[0]+(R&Me[b]))*3+1],$=D[(A[0]+(R&Me[b]))*3+2],$<16)R>>>=b,N-=b,v[h++]=$;else{for(Y=$==18?7:$-14,_=$==18?11:3;N<b+Y;){if(F!==0)E=bt;else return c.bitb=R,c.bitk=N,p.avail_in=F,p.total_in+=V-p.next_in_index,p.next_in_index=V,c.write=H,c.inflate_flush(p,E);F--,R|=(p.read_byte(V++)&255)<<N,N+=8}if(R>>>=b,N-=b,_+=R&Me[Y],R>>>=Y,N-=Y,Y=h,b=o,Y+_>258+(b&31)+(b>>5&31)||$==16&&Y<1)return v=null,f=Cl,p.msg="invalid bit length repeat",E=Ut,c.bitb=R,c.bitk=N,p.avail_in=F,p.total_in+=V-p.next_in_index,p.next_in_index=V,c.write=H,c.inflate_flush(p,E);$=$==16?v[Y-1]:0;do v[Y++]=$;while(--_!==0);h=Y}}if(A[0]=-1,P=[],st=[],ut=[],M=[],P[0]=9,st[0]=6,b=o,b=q.inflate_trees_dynamic(257+(b&31),1+(b>>5&31),v,P,st,ut,M,D,p),b!=bt)return b==Ut&&(v=null,f=Cl),E=b,c.bitb=R,c.bitk=N,p.avail_in=F,p.total_in+=V-p.next_in_index,p.next_in_index=V,c.write=H,c.inflate_flush(p,E);x.init(P[0],st[0],D,ut[0],D,M[0]),f=_u;case _u:if(c.bitb=R,c.bitk=N,p.avail_in=F,p.total_in+=V-p.next_in_index,p.next_in_index=V,c.write=H,(E=x.proc(c,p,E))!=En)return c.inflate_flush(p,E);if(E=bt,x.free(p),V=p.next_in_index,F=p.avail_in,R=c.bitb,N=c.bitk,H=c.write,j=H<c.read?c.read-H-1:c.end-H,T===0){f=ya;break}f=Pu;case Pu:if(c.write=H,E=c.inflate_flush(p,E),H=c.write,j=H<c.read?c.read-H-1:c.end-H,c.read!=c.write)return c.bitb=R,c.bitk=N,p.avail_in=F,p.total_in+=V-p.next_in_index,p.next_in_index=V,c.write=H,c.inflate_flush(p,E);f=H1;case H1:return E=En,c.bitb=R,c.bitk=N,p.avail_in=F,p.total_in+=V-p.next_in_index,p.next_in_index=V,c.write=H,c.inflate_flush(p,E);case Cl:return E=Ut,c.bitb=R,c.bitk=N,p.avail_in=F,p.total_in+=V-p.next_in_index,p.next_in_index=V,c.write=H,c.inflate_flush(p,E);default:return E=ye,c.bitb=R,c.bitk=N,p.avail_in=F,p.total_in+=V-p.next_in_index,p.next_in_index=V,c.write=H,c.inflate_flush(p,E)}}},c.free=function(p){c.reset(p,null),c.win=null,D=null},c.set_dictionary=function(p,E,b){c.win.set(p.subarray(E,E+b),0),c.read=c.write=b},c.sync_point=function(){return f==Rf?1:0}}const QA=32,zA=8,YA=0,B1=1,U1=2,Q1=3,z1=4,Y1=5,wf=6,yi=7,L1=12,Pn=13,LA=[0,0,255,255];function GA(){const i=this;i.mode=0,i.method=0,i.was=[0],i.need=0,i.marker=0,i.wbits=0;function u(c){return!c||!c.istate?ye:(c.total_in=c.total_out=0,c.msg=null,c.istate.mode=yi,c.istate.blocks.reset(c,null),bt)}i.inflateEnd=function(c){return i.blocks&&i.blocks.free(c),i.blocks=null,bt},i.inflateInit=function(c,f){return c.msg=null,i.blocks=null,f<8||f>15?(i.inflateEnd(c),ye):(i.wbits=f,c.istate.blocks=new UA(c,1<<f),u(c),bt)},i.inflate=function(c,f){let r,o;if(!c||!c.istate||!c.next_in)return ye;const h=c.istate;for(f=f==CA?pn:bt,r=pn;;)switch(h.mode){case YA:if(c.avail_in===0)return r;if(r=f,c.avail_in--,c.total_in++,((h.method=c.read_byte(c.next_in_index++))&15)!=zA){h.mode=Pn,c.msg="unknown compression method",h.marker=5;break}if((h.method>>4)+8>h.wbits){h.mode=Pn,c.msg="invalid win size",h.marker=5;break}h.mode=B1;case B1:if(c.avail_in===0)return r;if(r=f,c.avail_in--,c.total_in++,o=c.read_byte(c.next_in_index++)&255,((h.method<<8)+o)%31!==0){h.mode=Pn,c.msg="incorrect header check",h.marker=5;break}if((o&QA)===0){h.mode=yi;break}h.mode=U1;case U1:if(c.avail_in===0)return r;r=f,c.avail_in--,c.total_in++,h.need=(c.read_byte(c.next_in_index++)&255)<<24&4278190080,h.mode=Q1;case Q1:if(c.avail_in===0)return r;r=f,c.avail_in--,c.total_in++,h.need+=(c.read_byte(c.next_in_index++)&255)<<16&16711680,h.mode=z1;case z1:if(c.avail_in===0)return r;r=f,c.avail_in--,c.total_in++,h.need+=(c.read_byte(c.next_in_index++)&255)<<8&65280,h.mode=Y1;case Y1:return c.avail_in===0?r:(r=f,c.avail_in--,c.total_in++,h.need+=c.read_byte(c.next_in_index++)&255,h.mode=wf,SA);case wf:return h.mode=Pn,c.msg="need dictionary",h.marker=0,ye;case yi:if(r=h.blocks.proc(c,r),r==Ut){h.mode=Pn,h.marker=0;break}if(r==bt&&(r=f),r!=En)return r;r=f,h.blocks.reset(c,h.was),h.mode=L1;case L1:return c.avail_in=0,En;case Pn:return Ut;default:return ye}},i.inflateSetDictionary=function(c,f,r){let o=0,h=r;if(!c||!c.istate||c.istate.mode!=wf)return ye;const v=c.istate;return h>=1<<v.wbits&&(h=(1<<v.wbits)-1,o=r-h),v.blocks.set_dictionary(f,o,h),v.mode=yi,bt},i.inflateSync=function(c){let f,r,o,h,v;if(!c||!c.istate)return ye;const y=c.istate;if(y.mode!=Pn&&(y.mode=Pn,y.marker=0),(f=c.avail_in)===0)return pn;for(r=c.next_in_index,o=y.marker;f!==0&&o<4;)c.read_byte(r)==LA[o]?o++:c.read_byte(r)!==0?o=0:o=4-o,r++,f--;return c.total_in+=r-c.next_in_index,c.next_in_index=r,c.avail_in=f,y.marker=o,o!=4?Ut:(h=c.total_in,v=c.total_out,u(c),c.total_in=h,c.total_out=v,y.mode=yi,bt)},i.inflateSyncPoint=function(c){return!c||!c.istate||!c.istate.blocks?ye:c.istate.blocks.sync_point()}}function M2(){}M2.prototype={inflateInit(i){const u=this;return u.istate=new GA,i||(i=bA),u.istate.inflateInit(u,i)},inflate(i){const u=this;return u.istate?u.istate.inflate(u,i):ye},inflateEnd(){const i=this;if(!i.istate)return ye;const u=i.istate.inflateEnd(i);return i.istate=null,u},inflateSync(){const i=this;return i.istate?i.istate.inflateSync(i):ye},inflateSetDictionary(i,u){const c=this;return c.istate?c.istate.inflateSetDictionary(c,i,u):ye},read_byte(i){return this.next_in[i]},read_buf(i,u){return this.next_in.subarray(i,i+u)}};function XA(i){const u=this,c=new M2,f=i&&i.chunkSize?Math.floor(i.chunkSize*2):128*1024,r=TA,o=new Uint8Array(f);let h=!1;c.inflateInit(),c.next_out=o,u.append=function(v,y){const A=[];let x,T,D=0,X=0,q=0;if(v.length!==0){c.next_in_index=0,c.next_in=v,c.avail_in=v.length;do{if(c.next_out_index=0,c.avail_out=f,c.avail_in===0&&!h&&(c.next_in_index=0,h=!0),x=c.inflate(r),h&&x===pn){if(c.avail_in!==0)throw new Error("inflating: bad input")}else if(x!==bt&&x!==En)throw new Error("inflating: "+c.msg);if((h||x===En)&&c.avail_in===v.length)throw new Error("inflating: bad input");c.next_out_index&&(c.next_out_index===f?A.push(new Uint8Array(o)):A.push(o.subarray(0,c.next_out_index))),q+=c.next_out_index,y&&c.next_in_index>0&&c.next_in_index!=D&&(y(c.next_in_index),D=c.next_in_index)}while(c.avail_in>0||c.avail_out===0);return A.length>1?(T=new Uint8Array(q),A.forEach(function(p){T.set(p,X),X+=p.length})):T=A[0]?new Uint8Array(A[0]):new Uint8Array,T}},u.flush=function(){c.inflateEnd()}}const Rl=4294967295,el=65535,VA=8,ZA=0,IA=99,qA=67324752,j2=134695760,KA=j2,G1=33639248,kA=101010256,X1=101075792,JA=117853008,Ea=22,Mf=20,jf=56,FA=12,WA=20,V1=4,_A=1,PA=39169,$A=10,t5=1,e5=21589,n5=28789,l5=25461,a5=6534,Z1=1,i5=6,I1=8,q1=2048,K1=16,u5=61440,c5=16384,s5=73,k1="/",Nf=30,f5=10,r5=14,o5=18,$t=void 0,al="undefined",Ri="function";class J1{constructor(u){return class extends TransformStream{constructor(c,f){const r=new u(f);super({transform(o,h){h.enqueue(r.append(o))},flush(o){const h=r.flush();h&&o.enqueue(h)}})}}}}const d5=64;let N2=2;try{typeof navigator!=al&&navigator.hardwareConcurrency&&(N2=navigator.hardwareConcurrency)}catch{}const h5={chunkSize:512*1024,maxWorkers:N2,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,workerScripts:$t,CompressionStreamNative:typeof CompressionStream!=al&&CompressionStream,DecompressionStreamNative:typeof DecompressionStream!=al&&DecompressionStream},nl=Object.assign({},h5);function m5(){return nl}function g5(i){return Math.max(i.chunkSize,d5)}function H2(i){const{baseURL:u,chunkSize:c,maxWorkers:f,terminateWorkerTimeout:r,useCompressionStream:o,useWebWorkers:h,Deflate:v,Inflate:y,CompressionStream:A,DecompressionStream:x,workerScripts:T}=i;if($n("baseURL",u),$n("chunkSize",c),$n("maxWorkers",f),$n("terminateWorkerTimeout",r),$n("useCompressionStream",o),$n("useWebWorkers",h),v&&(nl.CompressionStream=new J1(v)),y&&(nl.DecompressionStream=new J1(y)),$n("CompressionStream",A),$n("DecompressionStream",x),T!==$t){const{deflate:D,inflate:X}=T;if((D||X)&&(nl.workerScripts||(nl.workerScripts={})),D){if(!Array.isArray(D))throw new Error("workerScripts.deflate must be an array");nl.workerScripts.deflate=D}if(X){if(!Array.isArray(X))throw new Error("workerScripts.inflate must be an array");nl.workerScripts.inflate=X}}}function $n(i,u){u!==$t&&(nl[i]=u)}const B2=[];for(let i=0;i<256;i++){let u=i;for(let c=0;c<8;c++)u&1?u=u>>>1^3988292384:u=u>>>1;B2[i]=u}class ac{constructor(u){this.crc=u||-1}append(u){let c=this.crc|0;for(let f=0,r=u.length|0;f<r;f++)c=c>>>8^B2[(c^u[f])&255];this.crc=c}get(){return~this.crc}}class U2 extends TransformStream{constructor(){let u;const c=new ac;super({transform(f,r){c.append(f),r.enqueue(f)},flush(){const f=new Uint8Array(4);new DataView(f.buffer).setUint32(0,c.get()),u.value=f}}),u=this}}function A5(i){if(typeof TextEncoder==al){i=unescape(encodeURIComponent(i));const u=new Uint8Array(i.length);for(let c=0;c<u.length;c++)u[c]=i.charCodeAt(c);return u}else return new TextEncoder().encode(i)}const re={concat(i,u){if(i.length===0||u.length===0)return i.concat(u);const c=i[i.length-1],f=re.getPartial(c);return f===32?i.concat(u):re._shiftRight(u,f,c|0,i.slice(0,i.length-1))},bitLength(i){const u=i.length;if(u===0)return 0;const c=i[u-1];return(u-1)*32+re.getPartial(c)},clamp(i,u){if(i.length*32<u)return i;i=i.slice(0,Math.ceil(u/32));const c=i.length;return u=u&31,c>0&&u&&(i[c-1]=re.partial(u,i[c-1]&2147483648>>u-1,1)),i},partial(i,u,c){return i===32?u:(c?u|0:u<<32-i)+i*1099511627776},getPartial(i){return Math.round(i/1099511627776)||32},_shiftRight(i,u,c,f){for(f===void 0&&(f=[]);u>=32;u-=32)f.push(c),c=0;if(u===0)return f.concat(i);for(let h=0;h<i.length;h++)f.push(c|i[h]>>>u),c=i[h]<<32-u;const r=i.length?i[i.length-1]:0,o=re.getPartial(r);return f.push(re.partial(u+o&31,u+o>32?c:f.pop(),1)),f}},ic={bytes:{fromBits(i){const c=re.bitLength(i)/8,f=new Uint8Array(c);let r;for(let o=0;o<c;o++)(o&3)===0&&(r=i[o/4]),f[o]=r>>>24,r<<=8;return f},toBits(i){const u=[];let c,f=0;for(c=0;c<i.length;c++)f=f<<8|i[c],(c&3)===3&&(u.push(f),f=0);return c&3&&u.push(re.partial(8*(c&3),f)),u}}},Q2={};Q2.sha1=class{constructor(i){const u=this;u.blockSize=512,u._init=[1732584193,4023233417,2562383102,271733878,3285377520],u._key=[1518500249,1859775393,2400959708,3395469782],i?(u._h=i._h.slice(0),u._buffer=i._buffer.slice(0),u._length=i._length):u.reset()}reset(){const i=this;return i._h=i._init.slice(0),i._buffer=[],i._length=0,i}update(i){const u=this;typeof i=="string"&&(i=ic.utf8String.toBits(i));const c=u._buffer=re.concat(u._buffer,i),f=u._length,r=u._length=f+re.bitLength(i);if(r>9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");const o=new Uint32Array(c);let h=0;for(let v=u.blockSize+f-(u.blockSize+f&u.blockSize-1);v<=r;v+=u.blockSize)u._block(o.subarray(16*h,16*(h+1))),h+=1;return c.splice(0,16*h),u}finalize(){const i=this;let u=i._buffer;const c=i._h;u=re.concat(u,[re.partial(1,1)]);for(let f=u.length+2;f&15;f++)u.push(0);for(u.push(Math.floor(i._length/4294967296)),u.push(i._length|0);u.length;)i._block(u.splice(0,16));return i.reset(),c}_f(i,u,c,f){if(i<=19)return u&c|~u&f;if(i<=39)return u^c^f;if(i<=59)return u&c|u&f|c&f;if(i<=79)return u^c^f}_S(i,u){return u<<i|u>>>32-i}_block(i){const u=this,c=u._h,f=Array(80);for(let A=0;A<16;A++)f[A]=i[A];let r=c[0],o=c[1],h=c[2],v=c[3],y=c[4];for(let A=0;A<=79;A++){A>=16&&(f[A]=u._S(1,f[A-3]^f[A-8]^f[A-14]^f[A-16]));const x=u._S(5,r)+u._f(A,o,h,v)+y+f[A]+u._key[Math.floor(A/20)]|0;y=v,v=h,h=u._S(30,o),o=r,r=x}c[0]=c[0]+r|0,c[1]=c[1]+o|0,c[2]=c[2]+h|0,c[3]=c[3]+v|0,c[4]=c[4]+y|0}};const z2={};z2.aes=class{constructor(i){const u=this;u._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],u._tables[0][0][0]||u._precompute();const c=u._tables[0][4],f=u._tables[1],r=i.length;let o,h,v,y=1;if(r!==4&&r!==6&&r!==8)throw new Error("invalid aes key size");for(u._key=[h=i.slice(0),v=[]],o=r;o<4*r+28;o++){let A=h[o-1];(o%r===0||r===8&&o%r===4)&&(A=c[A>>>24]<<24^c[A>>16&255]<<16^c[A>>8&255]<<8^c[A&255],o%r===0&&(A=A<<8^A>>>24^y<<24,y=y<<1^(y>>7)*283)),h[o]=h[o-r]^A}for(let A=0;o;A++,o--){const x=h[A&3?o:o-4];o<=4||A<4?v[A]=x:v[A]=f[0][c[x>>>24]]^f[1][c[x>>16&255]]^f[2][c[x>>8&255]]^f[3][c[x&255]]}}encrypt(i){return this._crypt(i,0)}decrypt(i){return this._crypt(i,1)}_precompute(){const i=this._tables[0],u=this._tables[1],c=i[4],f=u[4],r=[],o=[];let h,v,y,A;for(let x=0;x<256;x++)o[(r[x]=x<<1^(x>>7)*283)^x]=x;for(let x=h=0;!c[x];x^=v||1,h=o[h]||1){let T=h^h<<1^h<<2^h<<3^h<<4;T=T>>8^T&255^99,c[x]=T,f[T]=x,A=r[y=r[v=r[x]]];let D=A*16843009^y*65537^v*257^x*16843008,X=r[T]*257^T*16843008;for(let q=0;q<4;q++)i[q][x]=X=X<<24^X>>>8,u[q][T]=D=D<<24^D>>>8}for(let x=0;x<5;x++)i[x]=i[x].slice(0),u[x]=u[x].slice(0)}_crypt(i,u){if(i.length!==4)throw new Error("invalid aes block size");const c=this._key[u],f=c.length/4-2,r=[0,0,0,0],o=this._tables[u],h=o[0],v=o[1],y=o[2],A=o[3],x=o[4];let T=i[0]^c[0],D=i[u?3:1]^c[1],X=i[2]^c[2],q=i[u?1:3]^c[3],p=4,E,b,R;for(let N=0;N<f;N++)E=h[T>>>24]^v[D>>16&255]^y[X>>8&255]^A[q&255]^c[p],b=h[D>>>24]^v[X>>16&255]^y[q>>8&255]^A[T&255]^c[p+1],R=h[X>>>24]^v[q>>16&255]^y[T>>8&255]^A[D&255]^c[p+2],q=h[q>>>24]^v[T>>16&255]^y[D>>8&255]^A[X&255]^c[p+3],p+=4,T=E,D=b,X=R;for(let N=0;N<4;N++)r[u?3&-N:N]=x[T>>>24]<<24^x[D>>16&255]<<16^x[X>>8&255]<<8^x[q&255]^c[p++],E=T,T=D,D=X,X=q,q=E;return r}};const v5={getRandomValues(i){const u=new Uint32Array(i.buffer),c=f=>{let r=987654321;const o=4294967295;return function(){return r=36969*(r&65535)+(r>>16)&o,f=18e3*(f&65535)+(f>>16)&o,(((r<<16)+f&o)/4294967296+.5)*(Math.random()>.5?1:-1)}};for(let f=0,r;f<i.length;f+=4){const o=c((r||Math.random())*4294967296);r=o()*987654071,u[f/4]=o()*4294967296|0}return i}},Y2={};Y2.ctrGladman=class{constructor(i,u){this._prf=i,this._initIv=u,this._iv=u}reset(){this._iv=this._initIv}update(i){return this.calculate(this._prf,i,this._iv)}incWord(i){if((i>>24&255)===255){let u=i>>16&255,c=i>>8&255,f=i&255;u===255?(u=0,c===255?(c=0,f===255?f=0:++f):++c):++u,i=0,i+=u<<16,i+=c<<8,i+=f}else i+=1<<24;return i}incCounter(i){(i[0]=this.incWord(i[0]))===0&&(i[1]=this.incWord(i[1]))}calculate(i,u,c){let f;if(!(f=u.length))return[];const r=re.bitLength(u);for(let o=0;o<f;o+=4){this.incCounter(c);const h=i.encrypt(c);u[o]^=h[0],u[o+1]^=h[1],u[o+2]^=h[2],u[o+3]^=h[3]}return re.clamp(u,r)}};const wl={importKey(i){return new wl.hmacSha1(ic.bytes.toBits(i))},pbkdf2(i,u,c,f){if(c=c||1e4,f<0||c<0)throw new Error("invalid params to pbkdf2");const r=(f>>5)+1<<2;let o,h,v,y,A;const x=new ArrayBuffer(r),T=new DataView(x);let D=0;const X=re;for(u=ic.bytes.toBits(u),A=1;D<(r||1);A++){for(o=h=i.encrypt(X.concat(u,[A])),v=1;v<c;v++)for(h=i.encrypt(h),y=0;y<h.length;y++)o[y]^=h[y];for(v=0;D<(r||1)&&v<o.length;v++)T.setInt32(D,o[v]),D+=4}return x.slice(0,f/8)}};wl.hmacSha1=class{constructor(i){const u=this,c=u._hash=Q2.sha1,f=[[],[]];u._baseHash=[new c,new c];const r=u._baseHash[0].blockSize/32;i.length>r&&(i=new c().update(i).finalize());for(let o=0;o<r;o++)f[0][o]=i[o]^909522486,f[1][o]=i[o]^1549556828;u._baseHash[0].update(f[0]),u._baseHash[1].update(f[1]),u._resultHash=new c(u._baseHash[0])}reset(){const i=this;i._resultHash=new i._hash(i._baseHash[0]),i._updated=!1}update(i){const u=this;u._updated=!0,u._resultHash.update(i)}digest(){const i=this,u=i._resultHash.finalize(),c=new i._hash(i._baseHash[1]).update(u).finalize();return i.reset(),c}encrypt(i){if(this._updated)throw new Error("encrypt on already updated hmac called!");return this.update(i),this.digest(i)}};const y5=typeof crypto!=al&&typeof crypto.getRandomValues==Ri,lr="Invalid password",ar="Invalid signature",ir="zipjs-abort-check-password";function L2(i){return y5?crypto.getRandomValues(i):v5.getRandomValues(i)}const pa=16,E5="raw",G2={name:"PBKDF2"},p5={name:"HMAC"},x5="SHA-1",b5=Object.assign({hash:p5},G2),Kf=Object.assign({iterations:1e3,hash:{name:x5}},G2),S5=["deriveBits"],Si=[8,12,16],Ei=[16,24,32],tl=10,T5=[0,0,0,0],cc=typeof crypto!=al,wi=cc&&crypto.subtle,X2=cc&&typeof wi!=al,Pe=ic.bytes,C5=z2.aes,O5=Y2.ctrGladman,D5=wl.hmacSha1;let F1=cc&&X2&&typeof wi.importKey==Ri,W1=cc&&X2&&typeof wi.deriveBits==Ri;class R5 extends TransformStream{constructor({password:u,rawPassword:c,signed:f,encryptionStrength:r,checkPasswordOnly:o}){super({start(){Object.assign(this,{ready:new Promise(h=>this.resolveReady=h),password:I2(u,c),signed:f,strength:r-1,pending:new Uint8Array})},async transform(h,v){const y=this,{password:A,strength:x,resolveReady:T,ready:D}=y;A?(await M5(y,x,A,Xe(h,0,Si[x]+2)),h=Xe(h,Si[x]+2),o?v.error(new Error(ir)):T()):await D;const X=new Uint8Array(h.length-tl-(h.length-tl)%pa);v.enqueue(V2(y,h,X,0,tl,!0))},async flush(h){const{signed:v,ctr:y,hmac:A,pending:x,ready:T}=this;if(A&&y){await T;const D=Xe(x,0,x.length-tl),X=Xe(x,x.length-tl);let q=new Uint8Array;if(D.length){const p=Ci(Pe,D);A.update(p);const E=y.update(p);q=Ti(Pe,E)}if(v){const p=Xe(Ti(Pe,A.digest()),0,tl);for(let E=0;E<tl;E++)if(p[E]!=X[E])throw new Error(ar)}h.enqueue(q)}}})}}class w5 extends TransformStream{constructor({password:u,rawPassword:c,encryptionStrength:f}){let r;super({start(){Object.assign(this,{ready:new Promise(o=>this.resolveReady=o),password:I2(u,c),strength:f-1,pending:new Uint8Array})},async transform(o,h){const v=this,{password:y,strength:A,resolveReady:x,ready:T}=v;let D=new Uint8Array;y?(D=await j5(v,A,y),x()):await T;const X=new Uint8Array(D.length+o.length-o.length%pa);X.set(D,0),h.enqueue(V2(v,o,X,D.length,0))},async flush(o){const{ctr:h,hmac:v,pending:y,ready:A}=this;if(v&&h){await A;let x=new Uint8Array;if(y.length){const T=h.update(Ci(Pe,y));v.update(T),x=Ti(Pe,T)}r.signature=Ti(Pe,v.digest()).slice(0,tl),o.enqueue(ur(x,r.signature))}}}),r=this}}function V2(i,u,c,f,r,o){const{ctr:h,hmac:v,pending:y}=i,A=u.length-r;y.length&&(u=ur(y,u),c=B5(c,A-A%pa));let x;for(x=0;x<=A-pa;x+=pa){const T=Ci(Pe,Xe(u,x,x+pa));o&&v.update(T);const D=h.update(T);o||v.update(D),c.set(Ti(Pe,D),x+f)}return i.pending=Xe(u,x),c}async function M5(i,u,c,f){const r=await Z2(i,u,c,Xe(f,0,Si[u])),o=Xe(f,Si[u]);if(r[0]!=o[0]||r[1]!=o[1])throw new Error(lr)}async function j5(i,u,c){const f=L2(new Uint8Array(Si[u])),r=await Z2(i,u,c,f);return ur(f,r)}async function Z2(i,u,c,f){i.password=null;const r=await N5(E5,c,b5,!1,S5),o=await H5(Object.assign({salt:f},Kf),r,8*(Ei[u]*2+2)),h=new Uint8Array(o),v=Ci(Pe,Xe(h,0,Ei[u])),y=Ci(Pe,Xe(h,Ei[u],Ei[u]*2)),A=Xe(h,Ei[u]*2);return Object.assign(i,{keys:{key:v,authentication:y,passwordVerification:A},ctr:new O5(new C5(v),Array.from(T5)),hmac:new D5(y)}),A}async function N5(i,u,c,f,r){if(F1)try{return await wi.importKey(i,u,c,f,r)}catch{return F1=!1,wl.importKey(u)}else return wl.importKey(u)}async function H5(i,u,c){if(W1)try{return await wi.deriveBits(i,u,c)}catch{return W1=!1,wl.pbkdf2(u,i.salt,Kf.iterations,c)}else return wl.pbkdf2(u,i.salt,Kf.iterations,c)}function I2(i,u){return u===$t?A5(i):u}function ur(i,u){let c=i;return i.length+u.length&&(c=new Uint8Array(i.length+u.length),c.set(i,0),c.set(u,i.length)),c}function B5(i,u){if(u&&u>i.length){const c=i;i=new Uint8Array(u),i.set(c,0)}return i}function Xe(i,u,c){return i.subarray(u,c)}function Ti(i,u){return i.fromBits(u)}function Ci(i,u){return i.toBits(u)}const bi=12;class U5 extends TransformStream{constructor({password:u,passwordVerification:c,checkPasswordOnly:f}){super({start(){Object.assign(this,{password:u,passwordVerification:c}),q2(this,u)},transform(r,o){const h=this;if(h.password){const v=_1(h,r.subarray(0,bi));if(h.password=null,v.at(-1)!=h.passwordVerification)throw new Error(lr);r=r.subarray(bi)}f?o.error(new Error(ir)):o.enqueue(_1(h,r))}})}}class Q5 extends TransformStream{constructor({password:u,passwordVerification:c}){super({start(){Object.assign(this,{password:u,passwordVerification:c}),q2(this,u)},transform(f,r){const o=this;let h,v;if(o.password){o.password=null;const y=L2(new Uint8Array(bi));y[bi-1]=o.passwordVerification,h=new Uint8Array(f.length+y.length),h.set(P1(o,y),0),v=bi}else h=new Uint8Array(f.length),v=0;h.set(P1(o,f),v),r.enqueue(h)}})}}function _1(i,u){const c=new Uint8Array(u.length);for(let f=0;f<u.length;f++)c[f]=K2(i)^u[f],cr(i,c[f]);return c}function P1(i,u){const c=new Uint8Array(u.length);for(let f=0;f<u.length;f++)c[f]=K2(i)^u[f],cr(i,u[f]);return c}function q2(i,u){const c=[305419896,591751049,878082192];Object.assign(i,{keys:c,crcKey0:new ac(c[0]),crcKey2:new ac(c[2])});for(let f=0;f<u.length;f++)cr(i,u.charCodeAt(f))}function cr(i,u){let[c,f,r]=i.keys;i.crcKey0.append([u]),c=~i.crcKey0.get(),f=$1(Math.imul($1(f+k2(c)),134775813)+1),i.crcKey2.append([f>>>24]),r=~i.crcKey2.get(),i.keys=[c,f,r]}function K2(i){const u=i.keys[2]|2;return k2(Math.imul(u,u^1)>>>8)}function k2(i){return i&255}function $1(i){return i&4294967295}const sr="Invalid uncompressed size",t2="deflate-raw";class z5 extends TransformStream{constructor(u,{chunkSize:c,CompressionStream:f,CompressionStreamNative:r}){super({});const{compressed:o,encrypted:h,useCompressionStream:v,zipCrypto:y,signed:A,level:x}=u,T=this;let D,X,q=super.readable;(!h||y)&&A&&(D=new U2,q=xn(q,D)),o&&(q=F2(q,v,{level:x,chunkSize:c},r,f)),h&&(y?q=xn(q,new Q5(u)):(X=new w5(u),q=xn(q,X))),J2(T,q,()=>{let p;h&&!y&&(p=X.signature),(!h||y)&&A&&(p=new DataView(D.value.buffer).getUint32(0)),T.signature=p})}}class Y5 extends TransformStream{constructor(u,{chunkSize:c,DecompressionStream:f,DecompressionStreamNative:r}){super({});const{zipCrypto:o,encrypted:h,signed:v,signature:y,compressed:A,useCompressionStream:x}=u;let T,D,X=super.readable;h&&(o?X=xn(X,new U5(u)):(D=new R5(u),X=xn(X,D))),A&&(X=F2(X,x,{chunkSize:c},r,f)),(!h||o)&&v&&(T=new U2,X=xn(X,T)),J2(this,X,()=>{if((!h||o)&&v){const q=new DataView(T.value.buffer);if(y!=q.getUint32(0,!1))throw new Error(ar)}})}}function J2(i,u,c){u=xn(u,new TransformStream({flush:c})),Object.defineProperty(i,"readable",{get(){return u}})}function F2(i,u,c,f,r){try{const o=u&&f?f:r;i=xn(i,new o(t2,c))}catch(o){if(u)i=xn(i,new r(t2,c));else throw o}return i}function xn(i,u){return i.pipeThrough(u)}const L5="message",G5="start",X5="pull",e2="data",V5="ack",n2="close",Z5="deflate",W2="inflate";class I5 extends TransformStream{constructor(u,c){super({});const f=this,{codecType:r}=u;let o;r.startsWith(Z5)?o=z5:r.startsWith(W2)&&(o=Y5),f.outputSize=0;let h=0;const v=new o(u,c),y=super.readable,A=new TransformStream({transform(T,D){T&&T.length&&(h+=T.length,D.enqueue(T))},flush(){Object.assign(f,{inputSize:h})}}),x=new TransformStream({transform(T,D){if(T&&T.length&&(D.enqueue(T),f.outputSize+=T.length,u.outputSize&&f.outputSize>u.outputSize))throw new Error(sr)},flush(){const{signature:T}=v;Object.assign(f,{signature:T,inputSize:h})}});Object.defineProperty(f,"readable",{get(){return y.pipeThrough(A).pipeThrough(v).pipeThrough(x)}})}}class q5 extends TransformStream{constructor(u){let c;super({transform:f,flush(r){c&&c.length&&r.enqueue(c)}});function f(r,o){if(c){const h=new Uint8Array(c.length+r.length);h.set(c),h.set(r,c.length),r=h,c=null}r.length>u?(o.enqueue(r.slice(0,u)),f(r.slice(u),o)):c=r}}}let _2=typeof Worker!=al;class Hf{constructor(u,{readable:c,writable:f},{options:r,config:o,streamOptions:h,useWebWorkers:v,transferStreams:y,scripts:A},x){const{signal:T}=h;return Object.assign(u,{busy:!0,readable:c.pipeThrough(new q5(o.chunkSize)).pipeThrough(new K5(h),{signal:T}),writable:f,options:Object.assign({},r),scripts:A,transferStreams:y,terminate(){return new Promise(D=>{const{worker:X,busy:q}=u;X?(q?u.resolveTerminated=D:(X.terminate(),D()),u.interface=null):D()})},onTaskFinished(){const{resolveTerminated:D}=u;D&&(u.resolveTerminated=null,u.terminated=!0,u.worker.terminate(),D()),u.busy=!1,x(u)}}),(v&&_2?k5:P2)(u,o)}}class K5 extends TransformStream{constructor({onstart:u,onprogress:c,size:f,onend:r}){let o=0;super({async start(){u&&await Bf(u,f)},async transform(h,v){o+=h.length,c&&await Bf(c,o,f),v.enqueue(h)},async flush(){r&&await Bf(r,o)}})}}async function Bf(i,...u){try{await i(...u)}catch{}}function P2(i,u){return{run:()=>J5(i,u)}}function k5(i,u){const{baseURL:c,chunkSize:f}=u;if(!i.interface){let r;try{r=_5(i.scripts[0],c,i)}catch{return _2=!1,P2(i,u)}Object.assign(i,{worker:r,interface:{run:()=>F5(i,{chunkSize:f})}})}return i.interface}async function J5({options:i,readable:u,writable:c,onTaskFinished:f},r){let o;try{o=new I5(i,r),await u.pipeThrough(o).pipeTo(c,{preventClose:!0,preventAbort:!0});const{signature:h,inputSize:v,outputSize:y}=o;return{signature:h,inputSize:v,outputSize:y}}catch(h){throw o&&(h.outputSize=o.outputSize),h}finally{f()}}async function F5(i,u){let c,f;const r=new Promise((D,X)=>{c=D,f=X});Object.assign(i,{reader:null,writer:null,resolveResult:c,rejectResult:f,result:r});const{readable:o,options:h,scripts:v}=i,{writable:y,closed:A}=W5(i.writable),x=ec({type:G5,scripts:v.slice(1),options:h,config:u,readable:o,writable:y},i);x||Object.assign(i,{reader:o.getReader(),writer:y.getWriter()});const T=await r;return x||await y.getWriter().close(),await A,T}function W5(i){let u;const c=new Promise(r=>u=r);return{writable:new WritableStream({async write(r){const o=i.getWriter();await o.ready,await o.write(r),o.releaseLock()},close(){u()},abort(r){return i.getWriter().abort(r)}}),closed:c}}let l2=!0,a2=!0;function _5(i,u,c){const f={type:"module"};let r,o;typeof i==Ri&&(i=i());try{r=new URL(i,u)}catch{r=i}if(l2)try{o=new Worker(r)}catch{l2=!1,o=new Worker(r,f)}else o=new Worker(r,f);return o.addEventListener(L5,h=>P5(h,c)),o}function ec(i,{worker:u,writer:c,onTaskFinished:f,transferStreams:r}){try{const{value:o,readable:h,writable:v}=i,y=[];if(o&&(o.byteLength<o.buffer.byteLength?i.value=o.buffer.slice(0,o.byteLength):i.value=o.buffer,y.push(i.value)),r&&a2?(h&&y.push(h),v&&y.push(v)):i.readable=i.writable=null,y.length)try{return u.postMessage(i,y),!0}catch{a2=!1,i.readable=i.writable=null,u.postMessage(i)}else u.postMessage(i)}catch(o){throw c&&c.releaseLock(),f(),o}}async function P5({data:i},u){const{type:c,value:f,messageId:r,result:o,error:h}=i,{reader:v,writer:y,resolveResult:A,rejectResult:x,onTaskFinished:T}=u;try{if(h){const{message:X,stack:q,code:p,name:E,outputSize:b}=h,R=new Error(X);Object.assign(R,{stack:q,code:p,name:E,outputSize:b}),D(R)}else{if(c==X5){const{value:X,done:q}=await v.read();ec({type:e2,value:X,done:q,messageId:r},u)}c==e2&&(await y.ready,await y.write(new Uint8Array(f)),ec({type:V5,messageId:r},u)),c==n2&&D(null,o)}}catch(X){ec({type:n2,messageId:r},u),D(X)}function D(X,q){X?x(X):A(q),y&&y.releaseLock(),T()}}let Ol=[];const Uf=[];let i2=0;async function $5(i,u){const{options:c,config:f}=u,{transferStreams:r,useWebWorkers:o,useCompressionStream:h,codecType:v,compressed:y,signed:A,encrypted:x}=c,{workerScripts:T,maxWorkers:D}=f;u.transferStreams=r||r===$t;const X=!y&&!A&&!x&&!u.transferStreams;return u.useWebWorkers=!X&&(o||o===$t&&f.useWebWorkers),u.scripts=u.useWebWorkers&&T?T[v]:[],c.useCompressionStream=h||h===$t&&f.useCompressionStream,(await q()).run();async function q(){const E=Ol.find(b=>!b.busy);if(E)return u2(E),new Hf(E,i,u,p);if(Ol.length<D){const b={indexWorker:i2};return i2++,Ol.push(b),new Hf(b,i,u,p)}else return new Promise(b=>Uf.push({resolve:b,stream:i,workerOptions:u}))}function p(E){if(Uf.length){const[{resolve:b,stream:R,workerOptions:N}]=Uf.splice(0,1);b(new Hf(E,R,N,p))}else E.worker?(u2(E),t8(E,u)):Ol=Ol.filter(b=>b!=E)}}function t8(i,u){const{config:c}=u,{terminateWorkerTimeout:f}=c;Number.isFinite(f)&&f>=0&&(i.terminated?i.terminated=!1:i.terminateTimeout=setTimeout(async()=>{Ol=Ol.filter(r=>r!=i);try{await i.terminate()}catch{}},f))}function u2(i){const{terminateTimeout:u}=i;u&&(clearTimeout(u),i.terminateTimeout=null)}const $2="Writer iterator completed too soon",e8="Content-Type",n8=64*1024,th="writable";class fr{constructor(){this.size=0}init(){this.initialized=!0}}class sc extends fr{get readable(){const u=this,{chunkSize:c=n8}=u,f=new ReadableStream({start(){this.chunkOffset=0},async pull(r){const{offset:o=0,size:h,diskNumberStart:v}=f,{chunkOffset:y}=this,A=h===$t?c:Math.min(c,h-y),x=await _t(u,o+y,A,v);r.enqueue(x),y+c>h||h===$t&&!x.length&&A?r.close():this.chunkOffset+=c}});return f}}class l8 extends sc{constructor(u){super();let c=u.length;for(;u.charAt(c-1)=="=";)c--;const f=u.indexOf(",")+1;Object.assign(this,{dataURI:u,dataStart:f,size:Math.floor((c-f)*.75)})}readUint8Array(u,c){const{dataStart:f,dataURI:r}=this,o=new Uint8Array(c),h=Math.floor(u/3)*4,v=atob(r.substring(h+f,Math.ceil((u+c)/3)*4+f)),y=u-Math.floor(h/4)*3;let A=0;for(let x=y;x<y+c&&x<v.length;x++)o[x-y]=v.charCodeAt(x),A++;return A<o.length?o.subarray(0,A):o}}class eh extends sc{constructor(u){super(),Object.assign(this,{blob:u,size:u.size})}async readUint8Array(u,c){const f=this,r=u+c;let h=await(u||r<f.size?f.blob.slice(u,r):f.blob).arrayBuffer();return h.byteLength>c&&(h=h.slice(u,r)),new Uint8Array(h)}}class nh extends fr{constructor(u){super();const c=this,f=new TransformStream,r=[];u&&r.push([e8,u]),Object.defineProperty(c,th,{get(){return f.writable}}),c.blob=new Response(f.readable,{headers:r}).blob()}getData(){return this.blob}}class a8 extends nh{constructor(u){super(u),Object.assign(this,{encoding:u,utf8:!u||u.toLowerCase()=="utf-8"})}async getData(){const{encoding:u,utf8:c}=this,f=await super.getData();if(f.text&&c)return f.text();{const r=new FileReader;return new Promise((o,h)=>{Object.assign(r,{onload:({target:v})=>o(v.result),onerror:()=>h(r.error)}),r.readAsText(f,u)})}}}class lh extends sc{constructor(u){super(),this.readers=u}async init(){const u=this,{readers:c}=u;u.lastDiskNumber=0,u.lastDiskOffset=0,await Promise.all(c.map(async(f,r)=>{await f.init(),r!=c.length-1&&(u.lastDiskOffset+=f.size),u.size+=f.size})),super.init()}async readUint8Array(u,c,f=0){const r=this,{readers:o}=this;let h,v=f;v==-1&&(v=o.length-1);let y=u;for(;o[v]&&y>=o[v].size;)y-=o[v].size,v++;const A=o[v];if(A){const x=A.size;if(y+c<=x)h=await _t(A,y,c);else{const T=x-y;h=new Uint8Array(c);const D=await _t(A,y,T);h.set(D,0);const X=await r.readUint8Array(u+T,c-T,f);h.set(X,T),D.length+X.length<c&&(h=h.subarray(0,D.length+X.length))}}else h=new Uint8Array;return r.lastDiskNumber=Math.max(v,r.lastDiskNumber),h}}class kf extends fr{constructor(u,c=4294967295){super();const f=this;Object.assign(f,{diskNumber:0,diskOffset:0,size:0,maxSize:c,availableSize:c});let r,o,h;const v=new WritableStream({async write(x){const{availableSize:T}=f;if(h)x.length>=T?(await y(x.subarray(0,T)),await A(),f.diskOffset+=r.size,f.diskNumber++,h=null,await this.write(x.subarray(T))):await y(x);else{const{value:D,done:X}=await u.next();if(X&&!D)throw new Error($2);r=D,r.size=0,r.maxSize&&(f.maxSize=r.maxSize),f.availableSize=f.maxSize,await Oi(r),o=D.writable,h=o.getWriter(),await this.write(x)}},async close(){await h.ready,await A()}});Object.defineProperty(f,th,{get(){return v}});async function y(x){const T=x.length;T&&(await h.ready,await h.write(x),r.size+=T,f.size+=T,f.availableSize-=T)}async function A(){await h.close()}}}class ah{constructor(u){return Array.isArray(u)&&(u=new lh(u)),u instanceof ReadableStream&&(u={readable:u}),u}}class ih{constructor(u){return u.writable===$t&&typeof u.next==Ri&&(u=new kf(u)),u instanceof WritableStream&&(u={writable:u}),u.size===$t&&(u.size=0),u instanceof kf||Object.assign(u,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),u}}async function Oi(i,u){if(i.init&&!i.initialized)await i.init(u);else return Promise.resolve()}function _t(i,u,c,f){return i.readUint8Array(u,c,f)}const uh="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split(""),i8=uh.length==256;function u8(i){if(i8){let u="";for(let c=0;c<i.length;c++)u+=uh[i[c]];return u}else return new TextDecoder().decode(i)}function nc(i,u){return u&&u.trim().toLowerCase()=="cp437"?u8(i):new TextDecoder(u).decode(i)}const ch="filename",sh="rawFilename",fh="comment",rh="rawComment",oh="uncompressedSize",dh="compressedSize",hh="offset",Jf="diskNumberStart",Ff="lastModDate",Wf="rawLastModDate",mh="lastAccessDate",c8="rawLastAccessDate",gh="creationDate",s8="rawCreationDate",f8="internalFileAttribute",r8="internalFileAttributes",o8="externalFileAttribute",d8="externalFileAttributes",h8="msDosCompatible",m8="zip64",g8="encrypted",A8="version",v8="versionMadeBy",y8="zipCrypto",E8="directory",p8="executable",x8="compressionMethod",b8="signature",S8="extraField",T8=[ch,sh,dh,oh,Ff,Wf,fh,rh,mh,gh,hh,Jf,Jf,f8,r8,o8,d8,h8,m8,g8,A8,v8,y8,E8,p8,x8,b8,S8,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class c2{constructor(u){T8.forEach(c=>this[c]=u[c])}}const C8="filenameEncoding",O8="commentEncoding",D8="decodeText",R8="extractPrependedData",w8="extractAppendedData",M8="password",j8="rawPassword",N8="passThrough",H8="signal",B8="checkPasswordOnly",U8="checkOverlappingEntryOnly",Q8="checkOverlappingEntry",z8="checkSignature",Y8="useWebWorkers",L8="useCompressionStream",G8="transferStreams",X8="preventClose",lc="File format is not recognized",Ah="End of central directory not found",vh="End of Zip64 central directory locator not found",yh="Central directory header not found",Eh="Local file header not found",ph="Zip64 extra field not found",xh="File contains encrypted entry",bh="Encryption method not supported",_f="Compression method not supported",Pf="Split zip file",Sh="Overlapping entry found",s2="utf-8",f2="cp437",V8=[[oh,Rl],[dh,Rl],[hh,Rl],[Jf,el]],Z8={[el]:{getValue:Bt,bytes:4},[Rl]:{getValue:ba,bytes:8}};class I8{constructor(u,c={}){Object.assign(this,{reader:new ah(u),options:c,config:m5(),readRanges:[]})}async*getEntriesGenerator(u={}){const c=this;let{reader:f}=c;const{config:r}=c;if(await Oi(f),(f.size===$t||!f.readUint8Array)&&(f=new eh(await new Response(f.readable).blob()),await Oi(f)),f.size<Ea)throw new Error(lc);f.chunkSize=g5(r);const o=await _8(f,kA,f.size,Ea,el*16);if(!o){const I=await _t(f,0,4),k=Yt(I);throw Bt(k)==j2?new Error(Pf):new Error(Ah)}const h=Yt(o);let v=Bt(h,12),y=Bt(h,16);const A=o.offset,x=Pt(h,20),T=A+Ea+x;let D=Pt(h,4);const X=f.lastDiskNumber||0;let q=Pt(h,6),p=Pt(h,8),E=0,b=0;if(y==Rl||v==Rl||p==el||q==el){const I=await _t(f,o.offset-Mf,Mf),k=Yt(I);if(Bt(k,0)==JA){y=ba(k,8);let nt=await _t(f,y,jf,-1),P=Yt(nt);const st=o.offset-Mf-jf;if(Bt(P,0)!=X1&&y!=st){const ut=y;y=st,y>ut&&(E=y-ut),nt=await _t(f,y,jf,-1),P=Yt(nt)}if(Bt(P,0)!=X1)throw new Error(vh);D==el&&(D=Bt(P,16)),q==el&&(q=Bt(P,20)),p==el&&(p=ba(P,32)),v==Rl&&(v=ba(P,40)),y-=v}}if(y>=f.size&&(E=f.size-y-v-Ea,y=f.size-v-Ea),X!=D)throw new Error(Pf);if(y<0)throw new Error(lc);let R=0,N=await _t(f,y,v,q),V=Yt(N);if(v){const I=o.offset-v;if(Bt(V,R)!=G1&&y!=I){const k=y;y=I,y>k&&(E+=y-k),N=await _t(f,y,v,q),V=Yt(N)}}const F=o.offset-y-(f.lastDiskOffset||0);if(v!=F&&F>=0&&(v=F,N=await _t(f,y,v,q),V=Yt(N)),y<0||y>=f.size)throw new Error(lc);const H=ie(c,u,C8),j=ie(c,u,O8);for(let I=0;I<p;I++){const k=new q8(f,r,c.options);if(Bt(V,R)!=G1)throw new Error(yh);Th(k,V,R+6);const nt=!!k.bitFlag.languageEncodingFlag,P=R+46,st=P+k.filenameLength,ut=st+k.extraFieldLength,M=Pt(V,R+4),_=M>>8==0,$=M>>8==3,ht=N.subarray(P,st),tt=Pt(V,R+32),C=ut+tt,L=N.subarray(ut,C),W=nt,et=nt,rt=Bt(V,R+38),ot=_&&(xa(V,R+38)&K1)==K1||$&&(rt>>16&u5)==c5||ht.length&&ht.at(-1)==k1.charCodeAt(0),gt=$&&(rt>>16&s5)!=0,Jt=Bt(V,R+42)+E;Object.assign(k,{versionMadeBy:M,msDosCompatible:_,compressedSize:0,uncompressedSize:0,commentLength:tt,directory:ot,offset:Jt,diskNumberStart:Pt(V,R+34),internalFileAttributes:Pt(V,R+36),externalFileAttributes:rt,rawFilename:ht,filenameUTF8:W,commentUTF8:et,rawExtraField:N.subarray(st,ut),executable:gt}),k.internalFileAttribute=k.internalFileAttributes,k.externalFileAttribute=k.externalFileAttributes;const Qt=ie(c,u,D8)||nc,Sn=W?s2:H||f2,ul=et?s2:j||f2;let Tn=Qt(ht,Sn);Tn===$t&&(Tn=nc(ht,Sn));let jl=Qt(L,ul);jl===$t&&(jl=nc(L,ul)),Object.assign(k,{rawComment:L,filename:Tn,comment:jl,directory:ot||Tn.endsWith(k1)}),b=Math.max(Jt,b),Ch(k,k,V,R+6),k.zipCrypto=k.encrypted&&!k.extraFieldAES;const Ee=new c2(k);Ee.getData=(Cn,Hl)=>k.getData(Cn,Ee,c.readRanges,Hl),Ee.arrayBuffer=async Cn=>{const Hl=new TransformStream,[ji]=await Promise.all([new Response(Hl.readable).arrayBuffer(),k.getData(Hl,Ee,c.readRanges,Cn)]);return ji},R=C;const{onprogress:Nl}=u;if(Nl)try{await Nl(I+1,p,new c2(k))}catch{}yield Ee}const Y=ie(c,u,R8),z=ie(c,u,w8);return Y&&(c.prependedData=b>0?await _t(f,0,b):new Uint8Array),c.comment=x?await _t(f,A+Ea,x):new Uint8Array,z&&(c.appendedData=T<f.size?await _t(f,T,f.size-T):new Uint8Array),!0}async getEntries(u={}){const c=[];for await(const f of this.getEntriesGenerator(u))c.push(f);return c}async close(){}}class q8{constructor(u,c,f){Object.assign(this,{reader:u,config:c,options:f})}async getData(u,c,f,r={}){const o=this,{reader:h,offset:v,diskNumberStart:y,extraFieldAES:A,extraFieldZip64:x,compressionMethod:T,config:D,bitFlag:X,signature:q,rawLastModDate:p,uncompressedSize:E,compressedSize:b}=o,{dataDescriptor:R}=X,N=c.localDirectory={},V=await _t(h,v,Nf,y),F=Yt(V);let H=ie(o,r,M8),j=ie(o,r,j8);const Y=ie(o,r,N8);if(H=H&&H.length&&H,j=j&&j.length&&j,A&&A.originalCompressionMethod!=IA)throw new Error(_f);if(T!=ZA&&T!=VA&&!Y)throw new Error(_f);if(Bt(F,0)!=qA)throw new Error(Eh);Th(N,F,4);const{extraFieldLength:z,filenameLength:I,lastAccessDate:k,creationDate:nt}=N;N.rawExtraField=z?await _t(h,v+Nf+I,z,y):new Uint8Array,Ch(o,N,F,4,!0),Object.assign(c,{lastAccessDate:k,creationDate:nt});const P=o.encrypted&&N.encrypted&&!Y,st=P&&!A;if(Y||(c.zipCrypto=st),P){if(!st&&A.strength===$t)throw new Error(bh);if(!H&&!j)throw new Error(xh)}const ut=v+Nf+I+z,M=b,_=h.readable;Object.assign(_,{diskNumberStart:y,offset:ut,size:M});const $=ie(o,r,H8),ht=ie(o,r,B8);let tt=ie(o,r,Q8);const C=ie(o,r,U8);C&&(tt=!0);const{onstart:L,onprogress:W,onend:et}=r,rt={options:{codecType:W2,password:H,rawPassword:j,zipCrypto:st,encryptionStrength:A&&A.strength,signed:ie(o,r,z8)&&!Y,passwordVerification:st&&(R?p>>>8&255:q>>>24&255),outputSize:E,signature:q,compressed:T!=0&&!Y,encrypted:o.encrypted&&!Y,useWebWorkers:ie(o,r,Y8),useCompressionStream:ie(o,r,L8),transferStreams:ie(o,r,G8),checkPasswordOnly:ht},config:D,streamOptions:{signal:$,size:M,onstart:L,onprogress:W,onend:et}};tt&&await W8({reader:h,fileEntry:c,offset:v,diskNumberStart:y,signature:q,compressedSize:b,uncompressedSize:E,dataOffset:ut,dataDescriptor:R||N.bitFlag.dataDescriptor,extraFieldZip64:x||N.extraFieldZip64,readRanges:f});let ot;try{if(!C){ht&&(u=new WritableStream),u=new ih(u),await Oi(u,Y?b:E),{writable:ot}=u;const{outputSize:gt}=await $5({readable:_,writable:ot},rt);if(u.size+=gt,gt!=(Y?b:E))throw new Error(sr)}}catch(gt){if(gt.outputSize!==$t&&(u.size+=gt.outputSize),!ht||gt.message!=ir)throw gt}finally{!ie(o,r,X8)&&ot&&!ot.locked&&await ot.getWriter().close()}return ht||C?$t:u.getData?u.getData():ot}}function Th(i,u,c){const f=i.rawBitFlag=Pt(u,c+2),r=(f&Z1)==Z1,o=Bt(u,c+6);Object.assign(i,{encrypted:r,version:Pt(u,c),bitFlag:{level:(f&i5)>>1,dataDescriptor:(f&I1)==I1,languageEncodingFlag:(f&q1)==q1},rawLastModDate:o,lastModDate:P8(o),filenameLength:Pt(u,c+22),extraFieldLength:Pt(u,c+24)})}function Ch(i,u,c,f,r){const{rawExtraField:o}=u,h=u.extraField=new Map,v=Yt(new Uint8Array(o));let y=0;try{for(;y<o.length;){const b=Pt(v,y),R=Pt(v,y+2);h.set(b,{type:b,data:o.slice(y+4,y+4+R)}),y+=4+R}}catch{}const A=Pt(c,f+4);Object.assign(u,{signature:Bt(c,f+f5),compressedSize:Bt(c,f+r5),uncompressedSize:Bt(c,f+o5)});const x=h.get(_A);x&&(K8(x,u),u.extraFieldZip64=x);const T=h.get(n5);T&&(r2(T,ch,sh,u,i),u.extraFieldUnicodePath=T);const D=h.get(l5);D&&(r2(D,fh,rh,u,i),u.extraFieldUnicodeComment=D);const X=h.get(PA);X?(k8(X,u,A),u.extraFieldAES=X):u.compressionMethod=A;const q=h.get($A);q&&(J8(q,u),u.extraFieldNTFS=q);const p=h.get(e5);p&&(F8(p,u,r),u.extraFieldExtendedTimestamp=p);const E=h.get(a5);E&&(u.extraFieldUSDZ=E)}function K8(i,u){u.zip64=!0;const c=Yt(i.data),f=V8.filter(([r,o])=>u[r]==o);for(let r=0,o=0;r<f.length;r++){const[h,v]=f[r];if(u[h]==v){const y=Z8[v];u[h]=i[h]=y.getValue(c,o),o+=y.bytes}else if(i[h])throw new Error(ph)}}function r2(i,u,c,f,r){const o=Yt(i.data),h=new ac;h.append(r[c]);const v=Yt(new Uint8Array(4));v.setUint32(0,h.get(),!0);const y=Bt(o,1);Object.assign(i,{version:xa(o,0),[u]:nc(i.data.subarray(5)),valid:!r.bitFlag.languageEncodingFlag&&y==Bt(v,0)}),i.valid&&(f[u]=i[u],f[u+"UTF8"]=!0)}function k8(i,u,c){const f=Yt(i.data),r=xa(f,4);Object.assign(i,{vendorVersion:xa(f,0),vendorId:xa(f,2),strength:r,originalCompressionMethod:c,compressionMethod:Pt(f,5)}),u.compressionMethod=i.compressionMethod}function J8(i,u){const c=Yt(i.data);let f=4,r;try{for(;f<i.data.length&&!r;){const o=Pt(c,f),h=Pt(c,f+2);o==t5&&(r=i.data.slice(f+4,f+4+h)),f+=4+h}}catch{}try{if(r&&r.length==24){const o=Yt(r),h=o.getBigUint64(0,!0),v=o.getBigUint64(8,!0),y=o.getBigUint64(16,!0);Object.assign(i,{rawLastModDate:h,rawLastAccessDate:v,rawCreationDate:y});const A=Qf(h),x=Qf(v),T=Qf(y),D={lastModDate:A,lastAccessDate:x,creationDate:T};Object.assign(i,D),Object.assign(u,D)}}catch{}}function F8(i,u,c){const f=Yt(i.data),r=xa(f,0),o=[],h=[];c?((r&1)==1&&(o.push(Ff),h.push(Wf)),(r&2)==2&&(o.push(mh),h.push(c8)),(r&4)==4&&(o.push(gh),h.push(s8))):i.data.length>=5&&(o.push(Ff),h.push(Wf));let v=1;o.forEach((y,A)=>{if(i.data.length>=v+4){const x=Bt(f,v);u[y]=i[y]=new Date(x*1e3);const T=h[A];i[T]=x}v+=4})}async function W8({reader:i,fileEntry:u,offset:c,diskNumberStart:f,signature:r,compressedSize:o,uncompressedSize:h,dataOffset:v,dataDescriptor:y,extraFieldZip64:A,readRanges:x}){let T=0;if(f)for(let q=0;q<f;q++){const p=i.readers[q];T+=p.size}let D=0;if(y&&(A?D=WA:D=FA),D){const q=await _t(i,v+o,D+V1,f);if(Bt(Yt(q),0)==KA){const E=Bt(Yt(q),4);let b,R;A?(b=ba(Yt(q),8),R=ba(Yt(q),16)):(b=Bt(Yt(q),8),R=Bt(Yt(q),12)),(u.encrypted&&!u.zipCrypto||E==r)&&b==o&&R==h&&(D+=V1)}}const X={start:T+c,end:T+v+o+D,fileEntry:u};for(const q of x)if(q.fileEntry!=u&&X.start>=q.start&&X.start<q.end){const p=new Error(Sh);throw p.overlappingEntry=q.fileEntry,p}x.push(X)}async function _8(i,u,c,f,r){const o=new Uint8Array(4),h=Yt(o);$8(h,0,u);const v=f+r;return await y(f)||await y(Math.min(v,c));async function y(A){const x=c-A,T=await _t(i,x,A);for(let D=T.length-f;D>=0;D--)if(T[D]==o[0]&&T[D+1]==o[1]&&T[D+2]==o[2]&&T[D+3]==o[3])return{offset:x+D,buffer:T.slice(D,D+f).buffer}}}function ie(i,u,c){return u[c]===$t?i.options[c]:u[c]}function P8(i){const u=(i&4294901760)>>16,c=i&65535;try{return new Date(1980+((u&65024)>>9),((u&480)>>5)-1,u&31,(c&63488)>>11,(c&2016)>>5,(c&31)*2,0)}catch{}}function Qf(i){return new Date(Number(i/BigInt(1e4)-BigInt(116444736e5)))}function xa(i,u){return i.getUint8(u)}function Pt(i,u){return i.getUint16(u,!0)}function Bt(i,u){return i.getUint32(u,!0)}function ba(i,u){return Number(i.getBigUint64(u,!0))}function $8(i,u,c){i.setUint32(u,c,!0)}function Yt(i){return new DataView(i.buffer)}H2({Inflate:XA});const t3=Object.freeze(Object.defineProperty({__proto__:null,BlobReader:eh,BlobWriter:nh,Data64URIReader:l8,ERR_BAD_FORMAT:lc,ERR_CENTRAL_DIRECTORY_NOT_FOUND:yh,ERR_ENCRYPTED:xh,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:vh,ERR_EOCDR_NOT_FOUND:Ah,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:ph,ERR_INVALID_PASSWORD:lr,ERR_INVALID_SIGNATURE:ar,ERR_INVALID_UNCOMPRESSED_SIZE:sr,ERR_ITERATOR_COMPLETED_TOO_SOON:$2,ERR_LOCAL_FILE_HEADER_NOT_FOUND:Eh,ERR_OVERLAPPING_ENTRY:Sh,ERR_SPLIT_ZIP_FILE:Pf,ERR_UNSUPPORTED_COMPRESSION:_f,ERR_UNSUPPORTED_ENCRYPTION:bh,GenericReader:ah,GenericWriter:ih,Reader:sc,SplitDataReader:lh,SplitDataWriter:kf,TextWriter:a8,ZipReader:I8,configure:H2,initStream:Oi,readUint8Array:_t},Symbol.toStringTag,{value:"Module"}));var zf={exports:{}},dt={};/**
10 - * @license React
11 - * react.production.js
12 - *
13 - * Copyright (c) Meta Platforms, Inc. and affiliates.
14 - *
15 - * This source code is licensed under the MIT license found in the
16 - * LICENSE file in the root directory of this source tree.
17 - */var o2;function e3(){if(o2)return dt;o2=1;var i=Symbol.for("react.transitional.element"),u=Symbol.for("react.portal"),c=Symbol.for("react.fragment"),f=Symbol.for("react.strict_mode"),r=Symbol.for("react.profiler"),o=Symbol.for("react.consumer"),h=Symbol.for("react.context"),v=Symbol.for("react.forward_ref"),y=Symbol.for("react.suspense"),A=Symbol.for("react.memo"),x=Symbol.for("react.lazy"),T=Symbol.for("react.activity"),D=Symbol.iterator;function X(C){return C===null||typeof C!="object"?null:(C=D&&C[D]||C["@@iterator"],typeof C=="function"?C:null)}var q={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},p=Object.assign,E={};function b(C,L,W){this.props=C,this.context=L,this.refs=E,this.updater=W||q}b.prototype.isReactComponent={},b.prototype.setState=function(C,L){if(typeof C!="object"&&typeof C!="function"&&C!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,C,L,"setState")},b.prototype.forceUpdate=function(C){this.updater.enqueueForceUpdate(this,C,"forceUpdate")};function R(){}R.prototype=b.prototype;function N(C,L,W){this.props=C,this.context=L,this.refs=E,this.updater=W||q}var V=N.prototype=new R;V.constructor=N,p(V,b.prototype),V.isPureReactComponent=!0;var F=Array.isArray;function H(){}var j={H:null,A:null,T:null,S:null},Y=Object.prototype.hasOwnProperty;function z(C,L,W){var et=W.ref;return{$$typeof:i,type:C,key:L,ref:et!==void 0?et:null,props:W}}function I(C,L){return z(C.type,L,C.props)}function k(C){return typeof C=="object"&&C!==null&&C.$$typeof===i}function nt(C){var L={"=":"=0",":":"=2"};return"$"+C.replace(/[=:]/g,function(W){return L[W]})}var P=/\/+/g;function st(C,L){return typeof C=="object"&&C!==null&&C.key!=null?nt(""+C.key):L.toString(36)}function ut(C){switch(C.status){case"fulfilled":return C.value;case"rejected":throw C.reason;default:switch(typeof C.status=="string"?C.then(H,H):(C.status="pending",C.then(function(L){C.status==="pending"&&(C.status="fulfilled",C.value=L)},function(L){C.status==="pending"&&(C.status="rejected",C.reason=L)})),C.status){case"fulfilled":return C.value;case"rejected":throw C.reason}}throw C}function M(C,L,W,et,rt){var ot=typeof C;(ot==="undefined"||ot==="boolean")&&(C=null);var gt=!1;if(C===null)gt=!0;else switch(ot){case"bigint":case"string":case"number":gt=!0;break;case"object":switch(C.$$typeof){case i:case u:gt=!0;break;case x:return gt=C._init,M(gt(C._payload),L,W,et,rt)}}if(gt)return rt=rt(C),gt=et===""?"."+st(C,0):et,F(rt)?(W="",gt!=null&&(W=gt.replace(P,"$&/")+"/"),M(rt,L,W,"",function(Sn){return Sn})):rt!=null&&(k(rt)&&(rt=I(rt,W+(rt.key==null||C&&C.key===rt.key?"":(""+rt.key).replace(P,"$&/")+"/")+gt)),L.push(rt)),1;gt=0;var Jt=et===""?".":et+":";if(F(C))for(var Qt=0;Qt<C.length;Qt++)et=C[Qt],ot=Jt+st(et,Qt),gt+=M(et,L,W,ot,rt);else if(Qt=X(C),typeof Qt=="function")for(C=Qt.call(C),Qt=0;!(et=C.next()).done;)et=et.value,ot=Jt+st(et,Qt++),gt+=M(et,L,W,ot,rt);else if(ot==="object"){if(typeof C.then=="function")return M(ut(C),L,W,et,rt);throw L=String(C),Error("Objects are not valid as a React child (found: "+(L==="[object Object]"?"object with keys {"+Object.keys(C).join(", ")+"}":L)+"). If you meant to render a collection of children, use an array instead.")}return gt}function _(C,L,W){if(C==null)return C;var et=[],rt=0;return M(C,et,"","",function(ot){return L.call(W,ot,rt++)}),et}function $(C){if(C._status===-1){var L=C._result;L=L(),L.then(function(W){(C._status===0||C._status===-1)&&(C._status=1,C._result=W)},function(W){(C._status===0||C._status===-1)&&(C._status=2,C._result=W)}),C._status===-1&&(C._status=0,C._result=L)}if(C._status===1)return C._result.default;throw C._result}var ht=typeof reportError=="function"?reportError:function(C){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var L=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof C=="object"&&C!==null&&typeof C.message=="string"?String(C.message):String(C),error:C});if(!window.dispatchEvent(L))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",C);return}console.error(C)},tt={map:_,forEach:function(C,L,W){_(C,function(){L.apply(this,arguments)},W)},count:function(C){var L=0;return _(C,function(){L++}),L},toArray:function(C){return _(C,function(L){return L})||[]},only:function(C){if(!k(C))throw Error("React.Children.only expected to receive a single React element child.");return C}};return dt.Activity=T,dt.Children=tt,dt.Component=b,dt.Fragment=c,dt.Profiler=r,dt.PureComponent=N,dt.StrictMode=f,dt.Suspense=y,dt.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=j,dt.__COMPILER_RUNTIME={__proto__:null,c:function(C){return j.H.useMemoCache(C)}},dt.cache=function(C){return function(){return C.apply(null,arguments)}},dt.cacheSignal=function(){return null},dt.cloneElement=function(C,L,W){if(C==null)throw Error("The argument must be a React element, but you passed "+C+".");var et=p({},C.props),rt=C.key;if(L!=null)for(ot in L.key!==void 0&&(rt=""+L.key),L)!Y.call(L,ot)||ot==="key"||ot==="__self"||ot==="__source"||ot==="ref"&&L.ref===void 0||(et[ot]=L[ot]);var ot=arguments.length-2;if(ot===1)et.children=W;else if(1<ot){for(var gt=Array(ot),Jt=0;Jt<ot;Jt++)gt[Jt]=arguments[Jt+2];et.children=gt}return z(C.type,rt,et)},dt.createContext=function(C){return C={$$typeof:h,_currentValue:C,_currentValue2:C,_threadCount:0,Provider:null,Consumer:null},C.Provider=C,C.Consumer={$$typeof:o,_context:C},C},dt.createElement=function(C,L,W){var et,rt={},ot=null;if(L!=null)for(et in L.key!==void 0&&(ot=""+L.key),L)Y.call(L,et)&&et!=="key"&&et!=="__self"&&et!=="__source"&&(rt[et]=L[et]);var gt=arguments.length-2;if(gt===1)rt.children=W;else if(1<gt){for(var Jt=Array(gt),Qt=0;Qt<gt;Qt++)Jt[Qt]=arguments[Qt+2];rt.children=Jt}if(C&&C.defaultProps)for(et in gt=C.defaultProps,gt)rt[et]===void 0&&(rt[et]=gt[et]);return z(C,ot,rt)},dt.createRef=function(){return{current:null}},dt.forwardRef=function(C){return{$$typeof:v,render:C}},dt.isValidElement=k,dt.lazy=function(C){return{$$typeof:x,_payload:{_status:-1,_result:C},_init:$}},dt.memo=function(C,L){return{$$typeof:A,type:C,compare:L===void 0?null:L}},dt.startTransition=function(C){var L=j.T,W={};j.T=W;try{var et=C(),rt=j.S;rt!==null&&rt(W,et),typeof et=="object"&&et!==null&&typeof et.then=="function"&&et.then(H,ht)}catch(ot){ht(ot)}finally{L!==null&&W.types!==null&&(L.types=W.types),j.T=L}},dt.unstable_useCacheRefresh=function(){return j.H.useCacheRefresh()},dt.use=function(C){return j.H.use(C)},dt.useActionState=function(C,L,W){return j.H.useActionState(C,L,W)},dt.useCallback=function(C,L){return j.H.useCallback(C,L)},dt.useContext=function(C){return j.H.useContext(C)},dt.useDebugValue=function(){},dt.useDeferredValue=function(C,L){return j.H.useDeferredValue(C,L)},dt.useEffect=function(C,L){return j.H.useEffect(C,L)},dt.useEffectEvent=function(C){return j.H.useEffectEvent(C)},dt.useId=function(){return j.H.useId()},dt.useImperativeHandle=function(C,L,W){return j.H.useImperativeHandle(C,L,W)},dt.useInsertionEffect=function(C,L){return j.H.useInsertionEffect(C,L)},dt.useLayoutEffect=function(C,L){return j.H.useLayoutEffect(C,L)},dt.useMemo=function(C,L){return j.H.useMemo(C,L)},dt.useOptimistic=function(C,L){return j.H.useOptimistic(C,L)},dt.useReducer=function(C,L,W){return j.H.useReducer(C,L,W)},dt.useRef=function(C){return j.H.useRef(C)},dt.useState=function(C){return j.H.useState(C)},dt.useSyncExternalStore=function(C,L,W){return j.H.useSyncExternalStore(C,L,W)},dt.useTransition=function(){return j.H.useTransition()},dt.version="19.2.1",dt}var d2;function rr(){return d2||(d2=1,zf.exports=e3()),zf.exports}var it=rr();const ue=EA(it);var Yf={exports:{}},pi={},Lf={exports:{}},Gf={};/**
18 - * @license React
19 - * scheduler.production.js
20 - *
21 - * Copyright (c) Meta Platforms, Inc. and affiliates.
22 - *
23 - * This source code is licensed under the MIT license found in the
24 - * LICENSE file in the root directory of this source tree.
25 - */var h2;function n3(){return h2||(h2=1,(function(i){function u(M,_){var $=M.length;M.push(_);t:for(;0<$;){var ht=$-1>>>1,tt=M[ht];if(0<r(tt,_))M[ht]=_,M[$]=tt,$=ht;else break t}}function c(M){return M.length===0?null:M[0]}function f(M){if(M.length===0)return null;var _=M[0],$=M.pop();if($!==_){M[0]=$;t:for(var ht=0,tt=M.length,C=tt>>>1;ht<C;){var L=2*(ht+1)-1,W=M[L],et=L+1,rt=M[et];if(0>r(W,$))et<tt&&0>r(rt,W)?(M[ht]=rt,M[et]=$,ht=et):(M[ht]=W,M[L]=$,ht=L);else if(et<tt&&0>r(rt,$))M[ht]=rt,M[et]=$,ht=et;else break t}}return _}function r(M,_){var $=M.sortIndex-_.sortIndex;return $!==0?$:M.id-_.id}if(i.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var o=performance;i.unstable_now=function(){return o.now()}}else{var h=Date,v=h.now();i.unstable_now=function(){return h.now()-v}}var y=[],A=[],x=1,T=null,D=3,X=!1,q=!1,p=!1,E=!1,b=typeof setTimeout=="function"?setTimeout:null,R=typeof clearTimeout=="function"?clearTimeout:null,N=typeof setImmediate<"u"?setImmediate:null;function V(M){for(var _=c(A);_!==null;){if(_.callback===null)f(A);else if(_.startTime<=M)f(A),_.sortIndex=_.expirationTime,u(y,_);else break;_=c(A)}}function F(M){if(p=!1,V(M),!q)if(c(y)!==null)q=!0,H||(H=!0,nt());else{var _=c(A);_!==null&&ut(F,_.startTime-M)}}var H=!1,j=-1,Y=5,z=-1;function I(){return E?!0:!(i.unstable_now()-z<Y)}function k(){if(E=!1,H){var M=i.unstable_now();z=M;var _=!0;try{t:{q=!1,p&&(p=!1,R(j),j=-1),X=!0;var $=D;try{e:{for(V(M),T=c(y);T!==null&&!(T.expirationTime>M&&I());){var ht=T.callback;if(typeof ht=="function"){T.callback=null,D=T.priorityLevel;var tt=ht(T.expirationTime<=M);if(M=i.unstable_now(),typeof tt=="function"){T.callback=tt,V(M),_=!0;break e}T===c(y)&&f(y),V(M)}else f(y);T=c(y)}if(T!==null)_=!0;else{var C=c(A);C!==null&&ut(F,C.startTime-M),_=!1}}break t}finally{T=null,D=$,X=!1}_=void 0}}finally{_?nt():H=!1}}}var nt;if(typeof N=="function")nt=function(){N(k)};else if(typeof MessageChannel<"u"){var P=new MessageChannel,st=P.port2;P.port1.onmessage=k,nt=function(){st.postMessage(null)}}else nt=function(){b(k,0)};function ut(M,_){j=b(function(){M(i.unstable_now())},_)}i.unstable_IdlePriority=5,i.unstable_ImmediatePriority=1,i.unstable_LowPriority=4,i.unstable_NormalPriority=3,i.unstable_Profiling=null,i.unstable_UserBlockingPriority=2,i.unstable_cancelCallback=function(M){M.callback=null},i.unstable_forceFrameRate=function(M){0>M||125<M?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):Y=0<M?Math.floor(1e3/M):5},i.unstable_getCurrentPriorityLevel=function(){return D},i.unstable_next=function(M){switch(D){case 1:case 2:case 3:var _=3;break;default:_=D}var $=D;D=_;try{return M()}finally{D=$}},i.unstable_requestPaint=function(){E=!0},i.unstable_runWithPriority=function(M,_){switch(M){case 1:case 2:case 3:case 4:case 5:break;default:M=3}var $=D;D=M;try{return _()}finally{D=$}},i.unstable_scheduleCallback=function(M,_,$){var ht=i.unstable_now();switch(typeof $=="object"&&$!==null?($=$.delay,$=typeof $=="number"&&0<$?ht+$:ht):$=ht,M){case 1:var tt=-1;break;case 2:tt=250;break;case 5:tt=1073741823;break;case 4:tt=1e4;break;default:tt=5e3}return tt=$+tt,M={id:x++,callback:_,priorityLevel:M,startTime:$,expirationTime:tt,sortIndex:-1},$>ht?(M.sortIndex=$,u(A,M),c(y)===null&&M===c(A)&&(p?(R(j),j=-1):p=!0,ut(F,$-ht))):(M.sortIndex=tt,u(y,M),q||X||(q=!0,H||(H=!0,nt()))),M},i.unstable_shouldYield=I,i.unstable_wrapCallback=function(M){var _=D;return function(){var $=D;D=_;try{return M.apply(this,arguments)}finally{D=$}}}})(Gf)),Gf}var m2;function l3(){return m2||(m2=1,Lf.exports=n3()),Lf.exports}var Xf={exports:{}},ce={};/**
26 - * @license React
27 - * react-dom.production.js
28 - *
29 - * Copyright (c) Meta Platforms, Inc. and affiliates.
30 - *
31 - * This source code is licensed under the MIT license found in the
32 - * LICENSE file in the root directory of this source tree.
33 - */var g2;function a3(){if(g2)return ce;g2=1;var i=rr();function u(y){var A="https://react.dev/errors/"+y;if(1<arguments.length){A+="?args[]="+encodeURIComponent(arguments[1]);for(var x=2;x<arguments.length;x++)A+="&args[]="+encodeURIComponent(arguments[x])}return"Minified React error #"+y+"; visit "+A+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function c(){}var f={d:{f:c,r:function(){throw Error(u(522))},D:c,C:c,L:c,m:c,X:c,S:c,M:c},p:0,findDOMNode:null},r=Symbol.for("react.portal");function o(y,A,x){var T=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:r,key:T==null?null:""+T,children:y,containerInfo:A,implementation:x}}var h=i.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function v(y,A){if(y==="font")return"";if(typeof A=="string")return A==="use-credentials"?A:""}return ce.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=f,ce.createPortal=function(y,A){var x=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!A||A.nodeType!==1&&A.nodeType!==9&&A.nodeType!==11)throw Error(u(299));return o(y,A,null,x)},ce.flushSync=function(y){var A=h.T,x=f.p;try{if(h.T=null,f.p=2,y)return y()}finally{h.T=A,f.p=x,f.d.f()}},ce.preconnect=function(y,A){typeof y=="string"&&(A?(A=A.crossOrigin,A=typeof A=="string"?A==="use-credentials"?A:"":void 0):A=null,f.d.C(y,A))},ce.prefetchDNS=function(y){typeof y=="string"&&f.d.D(y)},ce.preinit=function(y,A){if(typeof y=="string"&&A&&typeof A.as=="string"){var x=A.as,T=v(x,A.crossOrigin),D=typeof A.integrity=="string"?A.integrity:void 0,X=typeof A.fetchPriority=="string"?A.fetchPriority:void 0;x==="style"?f.d.S(y,typeof A.precedence=="string"?A.precedence:void 0,{crossOrigin:T,integrity:D,fetchPriority:X}):x==="script"&&f.d.X(y,{crossOrigin:T,integrity:D,fetchPriority:X,nonce:typeof A.nonce=="string"?A.nonce:void 0})}},ce.preinitModule=function(y,A){if(typeof y=="string")if(typeof A=="object"&&A!==null){if(A.as==null||A.as==="script"){var x=v(A.as,A.crossOrigin);f.d.M(y,{crossOrigin:x,integrity:typeof A.integrity=="string"?A.integrity:void 0,nonce:typeof A.nonce=="string"?A.nonce:void 0})}}else A==null&&f.d.M(y)},ce.preload=function(y,A){if(typeof y=="string"&&typeof A=="object"&&A!==null&&typeof A.as=="string"){var x=A.as,T=v(x,A.crossOrigin);f.d.L(y,x,{crossOrigin:T,integrity:typeof A.integrity=="string"?A.integrity:void 0,nonce:typeof A.nonce=="string"?A.nonce:void 0,type:typeof A.type=="string"?A.type:void 0,fetchPriority:typeof A.fetchPriority=="string"?A.fetchPriority:void 0,referrerPolicy:typeof A.referrerPolicy=="string"?A.referrerPolicy:void 0,imageSrcSet:typeof A.imageSrcSet=="string"?A.imageSrcSet:void 0,imageSizes:typeof A.imageSizes=="string"?A.imageSizes:void 0,media:typeof A.media=="string"?A.media:void 0})}},ce.preloadModule=function(y,A){if(typeof y=="string")if(A){var x=v(A.as,A.crossOrigin);f.d.m(y,{as:typeof A.as=="string"&&A.as!=="script"?A.as:void 0,crossOrigin:x,integrity:typeof A.integrity=="string"?A.integrity:void 0})}else f.d.m(y)},ce.requestFormReset=function(y){f.d.r(y)},ce.unstable_batchedUpdates=function(y,A){return y(A)},ce.useFormState=function(y,A,x){return h.H.useFormState(y,A,x)},ce.useFormStatus=function(){return h.H.useHostTransitionStatus()},ce.version="19.2.1",ce}var A2;function i3(){if(A2)return Xf.exports;A2=1;function i(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(i)}catch(u){console.error(u)}}return i(),Xf.exports=a3(),Xf.exports}/**
34 - * @license React
35 - * react-dom-client.production.js
36 - *
37 - * Copyright (c) Meta Platforms, Inc. and affiliates.
38 - *
39 - * This source code is licensed under the MIT license found in the
40 - * LICENSE file in the root directory of this source tree.
41 - */var v2;function u3(){if(v2)return pi;v2=1;var i=l3(),u=rr(),c=i3();function f(t){var e="https://react.dev/errors/"+t;if(1<arguments.length){e+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)e+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+t+"; visit "+e+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function r(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)}function o(t){var e=t,n=t;if(t.alternate)for(;e.return;)e=e.return;else{t=e;do e=t,(e.flags&4098)!==0&&(n=e.return),t=e.return;while(t)}return e.tag===3?n:null}function h(t){if(t.tag===13){var e=t.memoizedState;if(e===null&&(t=t.alternate,t!==null&&(e=t.memoizedState)),e!==null)return e.dehydrated}return null}function v(t){if(t.tag===31){var e=t.memoizedState;if(e===null&&(t=t.alternate,t!==null&&(e=t.memoizedState)),e!==null)return e.dehydrated}return null}function y(t){if(o(t)!==t)throw Error(f(188))}function A(t){var e=t.alternate;if(!e){if(e=o(t),e===null)throw Error(f(188));return e!==t?null:t}for(var n=t,l=e;;){var a=n.return;if(a===null)break;var s=a.alternate;if(s===null){if(l=a.return,l!==null){n=l;continue}break}if(a.child===s.child){for(s=a.child;s;){if(s===n)return y(a),t;if(s===l)return y(a),e;s=s.sibling}throw Error(f(188))}if(n.return!==l.return)n=a,l=s;else{for(var d=!1,g=a.child;g;){if(g===n){d=!0,n=a,l=s;break}if(g===l){d=!0,l=a,n=s;break}g=g.sibling}if(!d){for(g=s.child;g;){if(g===n){d=!0,n=s,l=a;break}if(g===l){d=!0,l=s,n=a;break}g=g.sibling}if(!d)throw Error(f(189))}}if(n.alternate!==l)throw Error(f(190))}if(n.tag!==3)throw Error(f(188));return n.stateNode.current===n?t:e}function x(t){var e=t.tag;if(e===5||e===26||e===27||e===6)return t;for(t=t.child;t!==null;){if(e=x(t),e!==null)return e;t=t.sibling}return null}var T=Object.assign,D=Symbol.for("react.element"),X=Symbol.for("react.transitional.element"),q=Symbol.for("react.portal"),p=Symbol.for("react.fragment"),E=Symbol.for("react.strict_mode"),b=Symbol.for("react.profiler"),R=Symbol.for("react.consumer"),N=Symbol.for("react.context"),V=Symbol.for("react.forward_ref"),F=Symbol.for("react.suspense"),H=Symbol.for("react.suspense_list"),j=Symbol.for("react.memo"),Y=Symbol.for("react.lazy"),z=Symbol.for("react.activity"),I=Symbol.for("react.memo_cache_sentinel"),k=Symbol.iterator;function nt(t){return t===null||typeof t!="object"?null:(t=k&&t[k]||t["@@iterator"],typeof t=="function"?t:null)}var P=Symbol.for("react.client.reference");function st(t){if(t==null)return null;if(typeof t=="function")return t.$$typeof===P?null:t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case p:return"Fragment";case b:return"Profiler";case E:return"StrictMode";case F:return"Suspense";case H:return"SuspenseList";case z:return"Activity"}if(typeof t=="object")switch(t.$$typeof){case q:return"Portal";case N:return t.displayName||"Context";case R:return(t._context.displayName||"Context")+".Consumer";case V:var e=t.render;return t=t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case j:return e=t.displayName||null,e!==null?e:st(t.type)||"Memo";case Y:e=t._payload,t=t._init;try{return st(t(e))}catch{}}return null}var ut=Array.isArray,M=u.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,_=c.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,$={pending:!1,data:null,method:null,action:null},ht=[],tt=-1;function C(t){return{current:t}}function L(t){0>tt||(t.current=ht[tt],ht[tt]=null,tt--)}function W(t,e){tt++,ht[tt]=t.current,t.current=e}var et=C(null),rt=C(null),ot=C(null),gt=C(null);function Jt(t,e){switch(W(ot,e),W(rt,t),W(et,null),e.nodeType){case 9:case 11:t=(t=e.documentElement)&&(t=t.namespaceURI)?Xd(t):0;break;default:if(t=e.tagName,e=e.namespaceURI)e=Xd(e),t=Vd(e,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}L(et),W(et,t)}function Qt(){L(et),L(rt),L(ot)}function Sn(t){t.memoizedState!==null&&W(gt,t);var e=et.current,n=Vd(e,t.type);e!==n&&(W(rt,t),W(et,n))}function ul(t){rt.current===t&&(L(et),L(rt)),gt.current===t&&(L(gt),hi._currentValue=$)}var Tn,jl;function Ee(t){if(Tn===void 0)try{throw Error()}catch(n){var e=n.stack.trim().match(/\n( *(at )?)/);Tn=e&&e[1]||"",jl=-1<n.stack.indexOf(`
42 - at`)?" (<anonymous>)":-1<n.stack.indexOf("@")?"@unknown:0:0":""}return`
43 -`+Tn+t+jl}var Nl=!1;function Cn(t,e){if(!t||Nl)return"";Nl=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var l={DetermineComponentFrameRoot:function(){try{if(e){var J=function(){throw Error()};if(Object.defineProperty(J.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(J,[])}catch(G){var Q=G}Reflect.construct(t,[],J)}else{try{J.call()}catch(G){Q=G}t.call(J.prototype)}}else{try{throw Error()}catch(G){Q=G}(J=t())&&typeof J.catch=="function"&&J.catch(function(){})}}catch(G){if(G&&Q&&typeof G.stack=="string")return[G.stack,Q.stack]}return[null,null]}};l.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var a=Object.getOwnPropertyDescriptor(l.DetermineComponentFrameRoot,"name");a&&a.configurable&&Object.defineProperty(l.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var s=l.DetermineComponentFrameRoot(),d=s[0],g=s[1];if(d&&g){var S=d.split(`
44 -`),U=g.split(`
45 -`);for(a=l=0;l<S.length&&!S[l].includes("DetermineComponentFrameRoot");)l++;for(;a<U.length&&!U[a].includes("DetermineComponentFrameRoot");)a++;if(l===S.length||a===U.length)for(l=S.length-1,a=U.length-1;1<=l&&0<=a&&S[l]!==U[a];)a--;for(;1<=l&&0<=a;l--,a--)if(S[l]!==U[a]){if(l!==1||a!==1)do if(l--,a--,0>a||S[l]!==U[a]){var Z=`
46 -`+S[l].replace(" at new "," at ");return t.displayName&&Z.includes("<anonymous>")&&(Z=Z.replace("<anonymous>",t.displayName)),Z}while(1<=l&&0<=a);break}}}finally{Nl=!1,Error.prepareStackTrace=n}return(n=t?t.displayName||t.name:"")?Ee(n):""}function Hl(t,e){switch(t.tag){case 26:case 27:case 5:return Ee(t.type);case 16:return Ee("Lazy");case 13:return t.child!==e&&e!==null?Ee("Suspense Fallback"):Ee("Suspense");case 19:return Ee("SuspenseList");case 0:case 15:return Cn(t.type,!1);case 11:return Cn(t.type.render,!1);case 1:return Cn(t.type,!0);case 31:return Ee("Activity");default:return""}}function ji(t){try{var e="",n=null;do e+=Hl(t,n),n=t,t=t.return;while(t);return e}catch(l){return`
47 -Error generating stack: `+l.message+`
48 -`+l.stack}}var rc=Object.prototype.hasOwnProperty,oc=i.unstable_scheduleCallback,dc=i.unstable_cancelCallback,_h=i.unstable_shouldYield,Ph=i.unstable_requestPaint,pe=i.unstable_now,$h=i.unstable_getCurrentPriorityLevel,yr=i.unstable_ImmediatePriority,Er=i.unstable_UserBlockingPriority,Ni=i.unstable_NormalPriority,tm=i.unstable_LowPriority,pr=i.unstable_IdlePriority,em=i.log,nm=i.unstable_setDisableYieldValue,Ca=null,xe=null;function On(t){if(typeof em=="function"&&nm(t),xe&&typeof xe.setStrictMode=="function")try{xe.setStrictMode(Ca,t)}catch{}}var be=Math.clz32?Math.clz32:im,lm=Math.log,am=Math.LN2;function im(t){return t>>>=0,t===0?32:31-(lm(t)/am|0)|0}var Hi=256,Bi=262144,Ui=4194304;function cl(t){var e=t&42;if(e!==0)return e;switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Qi(t,e,n){var l=t.pendingLanes;if(l===0)return 0;var a=0,s=t.suspendedLanes,d=t.pingedLanes;t=t.warmLanes;var g=l&134217727;return g!==0?(l=g&~s,l!==0?a=cl(l):(d&=g,d!==0?a=cl(d):n||(n=g&~t,n!==0&&(a=cl(n))))):(g=l&~s,g!==0?a=cl(g):d!==0?a=cl(d):n||(n=l&~t,n!==0&&(a=cl(n)))),a===0?0:e!==0&&e!==a&&(e&s)===0&&(s=a&-a,n=e&-e,s>=n||s===32&&(n&4194048)!==0)?e:a}function Oa(t,e){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&e)===0}function um(t,e){switch(t){case 1:case 2:case 4:case 8:case 64:return e+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function xr(){var t=Ui;return Ui<<=1,(Ui&62914560)===0&&(Ui=4194304),t}function hc(t){for(var e=[],n=0;31>n;n++)e.push(t);return e}function Da(t,e){t.pendingLanes|=e,e!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function cm(t,e,n,l,a,s){var d=t.pendingLanes;t.pendingLanes=n,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=n,t.entangledLanes&=n,t.errorRecoveryDisabledLanes&=n,t.shellSuspendCounter=0;var g=t.entanglements,S=t.expirationTimes,U=t.hiddenUpdates;for(n=d&~n;0<n;){var Z=31-be(n),J=1<<Z;g[Z]=0,S[Z]=-1;var Q=U[Z];if(Q!==null)for(U[Z]=null,Z=0;Z<Q.length;Z++){var G=Q[Z];G!==null&&(G.lane&=-536870913)}n&=~J}l!==0&&br(t,l,0),s!==0&&a===0&&t.tag!==0&&(t.suspendedLanes|=s&~(d&~e))}function br(t,e,n){t.pendingLanes|=e,t.suspendedLanes&=~e;var l=31-be(e);t.entangledLanes|=e,t.entanglements[l]=t.entanglements[l]|1073741824|n&261930}function Sr(t,e){var n=t.entangledLanes|=e;for(t=t.entanglements;n;){var l=31-be(n),a=1<<l;a&e|t[l]&e&&(t[l]|=e),n&=~a}}function Tr(t,e){var n=e&-e;return n=(n&42)!==0?1:mc(n),(n&(t.suspendedLanes|e))!==0?0:n}function mc(t){switch(t){case 2:t=1;break;case 8:t=4;break;case 32:t=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:t=128;break;case 268435456:t=134217728;break;default:t=0}return t}function gc(t){return t&=-t,2<t?8<t?(t&134217727)!==0?32:268435456:8:2}function Cr(){var t=_.p;return t!==0?t:(t=window.event,t===void 0?32:o1(t.type))}function Or(t,e){var n=_.p;try{return _.p=t,e()}finally{_.p=n}}var Dn=Math.random().toString(36).slice(2),te="__reactFiber$"+Dn,oe="__reactProps$"+Dn,Bl="__reactContainer$"+Dn,Ac="__reactEvents$"+Dn,sm="__reactListeners$"+Dn,fm="__reactHandles$"+Dn,Dr="__reactResources$"+Dn,Ra="__reactMarker$"+Dn;function vc(t){delete t[te],delete t[oe],delete t[Ac],delete t[sm],delete t[fm]}function Ul(t){var e=t[te];if(e)return e;for(var n=t.parentNode;n;){if(e=n[Bl]||n[te]){if(n=e.alternate,e.child!==null||n!==null&&n.child!==null)for(t=Fd(t);t!==null;){if(n=t[te])return n;t=Fd(t)}return e}t=n,n=t.parentNode}return null}function Ql(t){if(t=t[te]||t[Bl]){var e=t.tag;if(e===5||e===6||e===13||e===31||e===26||e===27||e===3)return t}return null}function wa(t){var e=t.tag;if(e===5||e===26||e===27||e===6)return t.stateNode;throw Error(f(33))}function zl(t){var e=t[Dr];return e||(e=t[Dr]={hoistableStyles:new Map,hoistableScripts:new Map}),e}function Ft(t){t[Ra]=!0}var Rr=new Set,wr={};function sl(t,e){Yl(t,e),Yl(t+"Capture",e)}function Yl(t,e){for(wr[t]=e,t=0;t<e.length;t++)Rr.add(e[t])}var rm=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),Mr={},jr={};function om(t){return rc.call(jr,t)?!0:rc.call(Mr,t)?!1:rm.test(t)?jr[t]=!0:(Mr[t]=!0,!1)}function zi(t,e,n){if(om(e))if(n===null)t.removeAttribute(e);else{switch(typeof n){case"undefined":case"function":case"symbol":t.removeAttribute(e);return;case"boolean":var l=e.toLowerCase().slice(0,5);if(l!=="data-"&&l!=="aria-"){t.removeAttribute(e);return}}t.setAttribute(e,""+n)}}function Yi(t,e,n){if(n===null)t.removeAttribute(e);else{switch(typeof n){case"undefined":case"function":case"symbol":case"boolean":t.removeAttribute(e);return}t.setAttribute(e,""+n)}}function $e(t,e,n,l){if(l===null)t.removeAttribute(n);else{switch(typeof l){case"undefined":case"function":case"symbol":case"boolean":t.removeAttribute(n);return}t.setAttributeNS(e,n,""+l)}}function je(t){switch(typeof t){case"bigint":case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function Nr(t){var e=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function dm(t,e,n){var l=Object.getOwnPropertyDescriptor(t.constructor.prototype,e);if(!t.hasOwnProperty(e)&&typeof l<"u"&&typeof l.get=="function"&&typeof l.set=="function"){var a=l.get,s=l.set;return Object.defineProperty(t,e,{configurable:!0,get:function(){return a.call(this)},set:function(d){n=""+d,s.call(this,d)}}),Object.defineProperty(t,e,{enumerable:l.enumerable}),{getValue:function(){return n},setValue:function(d){n=""+d},stopTracking:function(){t._valueTracker=null,delete t[e]}}}}function yc(t){if(!t._valueTracker){var e=Nr(t)?"checked":"value";t._valueTracker=dm(t,e,""+t[e])}}function Hr(t){if(!t)return!1;var e=t._valueTracker;if(!e)return!0;var n=e.getValue(),l="";return t&&(l=Nr(t)?t.checked?"true":"false":t.value),t=l,t!==n?(e.setValue(t),!0):!1}function Li(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var hm=/[\n"\\]/g;function Ne(t){return t.replace(hm,function(e){return"\\"+e.charCodeAt(0).toString(16)+" "})}function Ec(t,e,n,l,a,s,d,g){t.name="",d!=null&&typeof d!="function"&&typeof d!="symbol"&&typeof d!="boolean"?t.type=d:t.removeAttribute("type"),e!=null?d==="number"?(e===0&&t.value===""||t.value!=e)&&(t.value=""+je(e)):t.value!==""+je(e)&&(t.value=""+je(e)):d!=="submit"&&d!=="reset"||t.removeAttribute("value"),e!=null?pc(t,d,je(e)):n!=null?pc(t,d,je(n)):l!=null&&t.removeAttribute("value"),a==null&&s!=null&&(t.defaultChecked=!!s),a!=null&&(t.checked=a&&typeof a!="function"&&typeof a!="symbol"),g!=null&&typeof g!="function"&&typeof g!="symbol"&&typeof g!="boolean"?t.name=""+je(g):t.removeAttribute("name")}function Br(t,e,n,l,a,s,d,g){if(s!=null&&typeof s!="function"&&typeof s!="symbol"&&typeof s!="boolean"&&(t.type=s),e!=null||n!=null){if(!(s!=="submit"&&s!=="reset"||e!=null)){yc(t);return}n=n!=null?""+je(n):"",e=e!=null?""+je(e):n,g||e===t.value||(t.value=e),t.defaultValue=e}l=l??a,l=typeof l!="function"&&typeof l!="symbol"&&!!l,t.checked=g?t.checked:!!l,t.defaultChecked=!!l,d!=null&&typeof d!="function"&&typeof d!="symbol"&&typeof d!="boolean"&&(t.name=d),yc(t)}function pc(t,e,n){e==="number"&&Li(t.ownerDocument)===t||t.defaultValue===""+n||(t.defaultValue=""+n)}function Ll(t,e,n,l){if(t=t.options,e){e={};for(var a=0;a<n.length;a++)e["$"+n[a]]=!0;for(n=0;n<t.length;n++)a=e.hasOwnProperty("$"+t[n].value),t[n].selected!==a&&(t[n].selected=a),a&&l&&(t[n].defaultSelected=!0)}else{for(n=""+je(n),e=null,a=0;a<t.length;a++){if(t[a].value===n){t[a].selected=!0,l&&(t[a].defaultSelected=!0);return}e!==null||t[a].disabled||(e=t[a])}e!==null&&(e.selected=!0)}}function Ur(t,e,n){if(e!=null&&(e=""+je(e),e!==t.value&&(t.value=e),n==null)){t.defaultValue!==e&&(t.defaultValue=e);return}t.defaultValue=n!=null?""+je(n):""}function Qr(t,e,n,l){if(e==null){if(l!=null){if(n!=null)throw Error(f(92));if(ut(l)){if(1<l.length)throw Error(f(93));l=l[0]}n=l}n==null&&(n=""),e=n}n=je(e),t.defaultValue=n,l=t.textContent,l===n&&l!==""&&l!==null&&(t.value=l),yc(t)}function Gl(t,e){if(e){var n=t.firstChild;if(n&&n===t.lastChild&&n.nodeType===3){n.nodeValue=e;return}}t.textContent=e}var mm=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function zr(t,e,n){var l=e.indexOf("--")===0;n==null||typeof n=="boolean"||n===""?l?t.setProperty(e,""):e==="float"?t.cssFloat="":t[e]="":l?t.setProperty(e,n):typeof n!="number"||n===0||mm.has(e)?e==="float"?t.cssFloat=n:t[e]=(""+n).trim():t[e]=n+"px"}function Yr(t,e,n){if(e!=null&&typeof e!="object")throw Error(f(62));if(t=t.style,n!=null){for(var l in n)!n.hasOwnProperty(l)||e!=null&&e.hasOwnProperty(l)||(l.indexOf("--")===0?t.setProperty(l,""):l==="float"?t.cssFloat="":t[l]="");for(var a in e)l=e[a],e.hasOwnProperty(a)&&n[a]!==l&&zr(t,a,l)}else for(var s in e)e.hasOwnProperty(s)&&zr(t,s,e[s])}function xc(t){if(t.indexOf("-")===-1)return!1;switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var gm=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),Am=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function Gi(t){return Am.test(""+t)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":t}function tn(){}var bc=null;function Sc(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var Xl=null,Vl=null;function Lr(t){var e=Ql(t);if(e&&(t=e.stateNode)){var n=t[oe]||null;t:switch(t=e.stateNode,e.type){case"input":if(Ec(t,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),e=n.name,n.type==="radio"&&e!=null){for(n=t;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll('input[name="'+Ne(""+e)+'"][type="radio"]'),e=0;e<n.length;e++){var l=n[e];if(l!==t&&l.form===t.form){var a=l[oe]||null;if(!a)throw Error(f(90));Ec(l,a.value,a.defaultValue,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name)}}for(e=0;e<n.length;e++)l=n[e],l.form===t.form&&Hr(l)}break t;case"textarea":Ur(t,n.value,n.defaultValue);break t;case"select":e=n.value,e!=null&&Ll(t,!!n.multiple,e,!1)}}}var Tc=!1;function Gr(t,e,n){if(Tc)return t(e,n);Tc=!0;try{var l=t(e);return l}finally{if(Tc=!1,(Xl!==null||Vl!==null)&&(Du(),Xl&&(e=Xl,t=Vl,Vl=Xl=null,Lr(e),t)))for(e=0;e<t.length;e++)Lr(t[e])}}function Ma(t,e){var n=t.stateNode;if(n===null)return null;var l=n[oe]||null;if(l===null)return null;n=l[e];t:switch(e){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(l=!l.disabled)||(t=t.type,l=!(t==="button"||t==="input"||t==="select"||t==="textarea")),t=!l;break t;default:t=!1}if(t)return null;if(n&&typeof n!="function")throw Error(f(231,e,typeof n));return n}var en=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Cc=!1;if(en)try{var ja={};Object.defineProperty(ja,"passive",{get:function(){Cc=!0}}),window.addEventListener("test",ja,ja),window.removeEventListener("test",ja,ja)}catch{Cc=!1}var Rn=null,Oc=null,Xi=null;function Xr(){if(Xi)return Xi;var t,e=Oc,n=e.length,l,a="value"in Rn?Rn.value:Rn.textContent,s=a.length;for(t=0;t<n&&e[t]===a[t];t++);var d=n-t;for(l=1;l<=d&&e[n-l]===a[s-l];l++);return Xi=a.slice(t,1<l?1-l:void 0)}function Vi(t){var e=t.keyCode;return"charCode"in t?(t=t.charCode,t===0&&e===13&&(t=13)):t=e,t===10&&(t=13),32<=t||t===13?t:0}function Zi(){return!0}function Vr(){return!1}function de(t){function e(n,l,a,s,d){this._reactName=n,this._targetInst=a,this.type=l,this.nativeEvent=s,this.target=d,this.currentTarget=null;for(var g in t)t.hasOwnProperty(g)&&(n=t[g],this[g]=n?n(s):s[g]);return this.isDefaultPrevented=(s.defaultPrevented!=null?s.defaultPrevented:s.returnValue===!1)?Zi:Vr,this.isPropagationStopped=Vr,this}return T(e.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=Zi)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=Zi)},persist:function(){},isPersistent:Zi}),e}var fl={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(t){return t.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Ii=de(fl),Na=T({},fl,{view:0,detail:0}),vm=de(Na),Dc,Rc,Ha,qi=T({},Na,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Mc,button:0,buttons:0,relatedTarget:function(t){return t.relatedTarget===void 0?t.fromElement===t.srcElement?t.toElement:t.fromElement:t.relatedTarget},movementX:function(t){return"movementX"in t?t.movementX:(t!==Ha&&(Ha&&t.type==="mousemove"?(Dc=t.screenX-Ha.screenX,Rc=t.screenY-Ha.screenY):Rc=Dc=0,Ha=t),Dc)},movementY:function(t){return"movementY"in t?t.movementY:Rc}}),Zr=de(qi),ym=T({},qi,{dataTransfer:0}),Em=de(ym),pm=T({},Na,{relatedTarget:0}),wc=de(pm),xm=T({},fl,{animationName:0,elapsedTime:0,pseudoElement:0}),bm=de(xm),Sm=T({},fl,{clipboardData:function(t){return"clipboardData"in t?t.clipboardData:window.clipboardData}}),Tm=de(Sm),Cm=T({},fl,{data:0}),Ir=de(Cm),Om={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Dm={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Rm={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function wm(t){var e=this.nativeEvent;return e.getModifierState?e.getModifierState(t):(t=Rm[t])?!!e[t]:!1}function Mc(){return wm}var Mm=T({},Na,{key:function(t){if(t.key){var e=Om[t.key]||t.key;if(e!=="Unidentified")return e}return t.type==="keypress"?(t=Vi(t),t===13?"Enter":String.fromCharCode(t)):t.type==="keydown"||t.type==="keyup"?Dm[t.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Mc,charCode:function(t){return t.type==="keypress"?Vi(t):0},keyCode:function(t){return t.type==="keydown"||t.type==="keyup"?t.keyCode:0},which:function(t){return t.type==="keypress"?Vi(t):t.type==="keydown"||t.type==="keyup"?t.keyCode:0}}),jm=de(Mm),Nm=T({},qi,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),qr=de(Nm),Hm=T({},Na,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Mc}),Bm=de(Hm),Um=T({},fl,{propertyName:0,elapsedTime:0,pseudoElement:0}),Qm=de(Um),zm=T({},qi,{deltaX:function(t){return"deltaX"in t?t.deltaX:"wheelDeltaX"in t?-t.wheelDeltaX:0},deltaY:function(t){return"deltaY"in t?t.deltaY:"wheelDeltaY"in t?-t.wheelDeltaY:"wheelDelta"in t?-t.wheelDelta:0},deltaZ:0,deltaMode:0}),Ym=de(zm),Lm=T({},fl,{newState:0,oldState:0}),Gm=de(Lm),Xm=[9,13,27,32],jc=en&&"CompositionEvent"in window,Ba=null;en&&"documentMode"in document&&(Ba=document.documentMode);var Vm=en&&"TextEvent"in window&&!Ba,Kr=en&&(!jc||Ba&&8<Ba&&11>=Ba),kr=" ",Jr=!1;function Fr(t,e){switch(t){case"keyup":return Xm.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Wr(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Zl=!1;function Zm(t,e){switch(t){case"compositionend":return Wr(e);case"keypress":return e.which!==32?null:(Jr=!0,kr);case"textInput":return t=e.data,t===kr&&Jr?null:t;default:return null}}function Im(t,e){if(Zl)return t==="compositionend"||!jc&&Fr(t,e)?(t=Xr(),Xi=Oc=Rn=null,Zl=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1<e.char.length)return e.char;if(e.which)return String.fromCharCode(e.which)}return null;case"compositionend":return Kr&&e.locale!=="ko"?null:e.data;default:return null}}var qm={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function _r(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e==="input"?!!qm[t.type]:e==="textarea"}function Pr(t,e,n,l){Xl?Vl?Vl.push(l):Vl=[l]:Xl=l,e=Bu(e,"onChange"),0<e.length&&(n=new Ii("onChange","change",null,n,l),t.push({event:n,listeners:e}))}var Ua=null,Qa=null;function Km(t){Ud(t,0)}function Ki(t){var e=wa(t);if(Hr(e))return t}function $r(t,e){if(t==="change")return e}var t0=!1;if(en){var Nc;if(en){var Hc="oninput"in document;if(!Hc){var e0=document.createElement("div");e0.setAttribute("oninput","return;"),Hc=typeof e0.oninput=="function"}Nc=Hc}else Nc=!1;t0=Nc&&(!document.documentMode||9<document.documentMode)}function n0(){Ua&&(Ua.detachEvent("onpropertychange",l0),Qa=Ua=null)}function l0(t){if(t.propertyName==="value"&&Ki(Qa)){var e=[];Pr(e,Qa,t,Sc(t)),Gr(Km,e)}}function km(t,e,n){t==="focusin"?(n0(),Ua=e,Qa=n,Ua.attachEvent("onpropertychange",l0)):t==="focusout"&&n0()}function Jm(t){if(t==="selectionchange"||t==="keyup"||t==="keydown")return Ki(Qa)}function Fm(t,e){if(t==="click")return Ki(e)}function Wm(t,e){if(t==="input"||t==="change")return Ki(e)}function _m(t,e){return t===e&&(t!==0||1/t===1/e)||t!==t&&e!==e}var Se=typeof Object.is=="function"?Object.is:_m;function za(t,e){if(Se(t,e))return!0;if(typeof t!="object"||t===null||typeof e!="object"||e===null)return!1;var n=Object.keys(t),l=Object.keys(e);if(n.length!==l.length)return!1;for(l=0;l<n.length;l++){var a=n[l];if(!rc.call(e,a)||!Se(t[a],e[a]))return!1}return!0}function a0(t){for(;t&&t.firstChild;)t=t.firstChild;return t}function i0(t,e){var n=a0(t);t=0;for(var l;n;){if(n.nodeType===3){if(l=t+n.textContent.length,t<=e&&l>=e)return{node:n,offset:e-t};t=l}t:{for(;n;){if(n.nextSibling){n=n.nextSibling;break t}n=n.parentNode}n=void 0}n=a0(n)}}function u0(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?u0(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function c0(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var e=Li(t.document);e instanceof t.HTMLIFrameElement;){try{var n=typeof e.contentWindow.location.href=="string"}catch{n=!1}if(n)t=e.contentWindow;else break;e=Li(t.document)}return e}function Bc(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}var Pm=en&&"documentMode"in document&&11>=document.documentMode,Il=null,Uc=null,Ya=null,Qc=!1;function s0(t,e,n){var l=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Qc||Il==null||Il!==Li(l)||(l=Il,"selectionStart"in l&&Bc(l)?l={start:l.selectionStart,end:l.selectionEnd}:(l=(l.ownerDocument&&l.ownerDocument.defaultView||window).getSelection(),l={anchorNode:l.anchorNode,anchorOffset:l.anchorOffset,focusNode:l.focusNode,focusOffset:l.focusOffset}),Ya&&za(Ya,l)||(Ya=l,l=Bu(Uc,"onSelect"),0<l.length&&(e=new Ii("onSelect","select",null,e,n),t.push({event:e,listeners:l}),e.target=Il)))}function rl(t,e){var n={};return n[t.toLowerCase()]=e.toLowerCase(),n["Webkit"+t]="webkit"+e,n["Moz"+t]="moz"+e,n}var ql={animationend:rl("Animation","AnimationEnd"),animationiteration:rl("Animation","AnimationIteration"),animationstart:rl("Animation","AnimationStart"),transitionrun:rl("Transition","TransitionRun"),transitionstart:rl("Transition","TransitionStart"),transitioncancel:rl("Transition","TransitionCancel"),transitionend:rl("Transition","TransitionEnd")},zc={},f0={};en&&(f0=document.createElement("div").style,"AnimationEvent"in window||(delete ql.animationend.animation,delete ql.animationiteration.animation,delete ql.animationstart.animation),"TransitionEvent"in window||delete ql.transitionend.transition);function ol(t){if(zc[t])return zc[t];if(!ql[t])return t;var e=ql[t],n;for(n in e)if(e.hasOwnProperty(n)&&n in f0)return zc[t]=e[n];return t}var r0=ol("animationend"),o0=ol("animationiteration"),d0=ol("animationstart"),$m=ol("transitionrun"),tg=ol("transitionstart"),eg=ol("transitioncancel"),h0=ol("transitionend"),m0=new Map,Yc="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");Yc.push("scrollEnd");function Ie(t,e){m0.set(t,e),sl(e,[t])}var ki=typeof reportError=="function"?reportError:function(t){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var e=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof t=="object"&&t!==null&&typeof t.message=="string"?String(t.message):String(t),error:t});if(!window.dispatchEvent(e))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",t);return}console.error(t)},He=[],Kl=0,Lc=0;function Ji(){for(var t=Kl,e=Lc=Kl=0;e<t;){var n=He[e];He[e++]=null;var l=He[e];He[e++]=null;var a=He[e];He[e++]=null;var s=He[e];if(He[e++]=null,l!==null&&a!==null){var d=l.pending;d===null?a.next=a:(a.next=d.next,d.next=a),l.pending=a}s!==0&&g0(n,a,s)}}function Fi(t,e,n,l){He[Kl++]=t,He[Kl++]=e,He[Kl++]=n,He[Kl++]=l,Lc|=l,t.lanes|=l,t=t.alternate,t!==null&&(t.lanes|=l)}function Gc(t,e,n,l){return Fi(t,e,n,l),Wi(t)}function dl(t,e){return Fi(t,null,null,e),Wi(t)}function g0(t,e,n){t.lanes|=n;var l=t.alternate;l!==null&&(l.lanes|=n);for(var a=!1,s=t.return;s!==null;)s.childLanes|=n,l=s.alternate,l!==null&&(l.childLanes|=n),s.tag===22&&(t=s.stateNode,t===null||t._visibility&1||(a=!0)),t=s,s=s.return;return t.tag===3?(s=t.stateNode,a&&e!==null&&(a=31-be(n),t=s.hiddenUpdates,l=t[a],l===null?t[a]=[e]:l.push(e),e.lane=n|536870912),s):null}function Wi(t){if(50<ui)throw ui=0,Fs=null,Error(f(185));for(var e=t.return;e!==null;)t=e,e=t.return;return t.tag===3?t.stateNode:null}var kl={};function ng(t,e,n,l){this.tag=t,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=e,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=l,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Te(t,e,n,l){return new ng(t,e,n,l)}function Xc(t){return t=t.prototype,!(!t||!t.isReactComponent)}function nn(t,e){var n=t.alternate;return n===null?(n=Te(t.tag,e,t.key,t.mode),n.elementType=t.elementType,n.type=t.type,n.stateNode=t.stateNode,n.alternate=t,t.alternate=n):(n.pendingProps=e,n.type=t.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=t.flags&65011712,n.childLanes=t.childLanes,n.lanes=t.lanes,n.child=t.child,n.memoizedProps=t.memoizedProps,n.memoizedState=t.memoizedState,n.updateQueue=t.updateQueue,e=t.dependencies,n.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},n.sibling=t.sibling,n.index=t.index,n.ref=t.ref,n.refCleanup=t.refCleanup,n}function A0(t,e){t.flags&=65011714;var n=t.alternate;return n===null?(t.childLanes=0,t.lanes=e,t.child=null,t.subtreeFlags=0,t.memoizedProps=null,t.memoizedState=null,t.updateQueue=null,t.dependencies=null,t.stateNode=null):(t.childLanes=n.childLanes,t.lanes=n.lanes,t.child=n.child,t.subtreeFlags=0,t.deletions=null,t.memoizedProps=n.memoizedProps,t.memoizedState=n.memoizedState,t.updateQueue=n.updateQueue,t.type=n.type,e=n.dependencies,t.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),t}function _i(t,e,n,l,a,s){var d=0;if(l=t,typeof t=="function")Xc(t)&&(d=1);else if(typeof t=="string")d=cA(t,n,et.current)?26:t==="html"||t==="head"||t==="body"?27:5;else t:switch(t){case z:return t=Te(31,n,e,a),t.elementType=z,t.lanes=s,t;case p:return hl(n.children,a,s,e);case E:d=8,a|=24;break;case b:return t=Te(12,n,e,a|2),t.elementType=b,t.lanes=s,t;case F:return t=Te(13,n,e,a),t.elementType=F,t.lanes=s,t;case H:return t=Te(19,n,e,a),t.elementType=H,t.lanes=s,t;default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case N:d=10;break t;case R:d=9;break t;case V:d=11;break t;case j:d=14;break t;case Y:d=16,l=null;break t}d=29,n=Error(f(130,t===null?"null":typeof t,"")),l=null}return e=Te(d,n,e,a),e.elementType=t,e.type=l,e.lanes=s,e}function hl(t,e,n,l){return t=Te(7,t,l,e),t.lanes=n,t}function Vc(t,e,n){return t=Te(6,t,null,e),t.lanes=n,t}function v0(t){var e=Te(18,null,null,0);return e.stateNode=t,e}function Zc(t,e,n){return e=Te(4,t.children!==null?t.children:[],t.key,e),e.lanes=n,e.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},e}var y0=new WeakMap;function Be(t,e){if(typeof t=="object"&&t!==null){var n=y0.get(t);return n!==void 0?n:(e={value:t,source:e,stack:ji(e)},y0.set(t,e),e)}return{value:t,source:e,stack:ji(e)}}var Jl=[],Fl=0,Pi=null,La=0,Ue=[],Qe=0,wn=null,Je=1,Fe="";function ln(t,e){Jl[Fl++]=La,Jl[Fl++]=Pi,Pi=t,La=e}function E0(t,e,n){Ue[Qe++]=Je,Ue[Qe++]=Fe,Ue[Qe++]=wn,wn=t;var l=Je;t=Fe;var a=32-be(l)-1;l&=~(1<<a),n+=1;var s=32-be(e)+a;if(30<s){var d=a-a%5;s=(l&(1<<d)-1).toString(32),l>>=d,a-=d,Je=1<<32-be(e)+a|n<<a|l,Fe=s+t}else Je=1<<s|n<<a|l,Fe=t}function Ic(t){t.return!==null&&(ln(t,1),E0(t,1,0))}function qc(t){for(;t===Pi;)Pi=Jl[--Fl],Jl[Fl]=null,La=Jl[--Fl],Jl[Fl]=null;for(;t===wn;)wn=Ue[--Qe],Ue[Qe]=null,Fe=Ue[--Qe],Ue[Qe]=null,Je=Ue[--Qe],Ue[Qe]=null}function p0(t,e){Ue[Qe++]=Je,Ue[Qe++]=Fe,Ue[Qe++]=wn,Je=e.id,Fe=e.overflow,wn=t}var ee=null,Nt=null,xt=!1,Mn=null,ze=!1,Kc=Error(f(519));function jn(t){var e=Error(f(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Ga(Be(e,t)),Kc}function x0(t){var e=t.stateNode,n=t.type,l=t.memoizedProps;switch(e[te]=t,e[oe]=l,n){case"dialog":yt("cancel",e),yt("close",e);break;case"iframe":case"object":case"embed":yt("load",e);break;case"video":case"audio":for(n=0;n<si.length;n++)yt(si[n],e);break;case"source":yt("error",e);break;case"img":case"image":case"link":yt("error",e),yt("load",e);break;case"details":yt("toggle",e);break;case"input":yt("invalid",e),Br(e,l.value,l.defaultValue,l.checked,l.defaultChecked,l.type,l.name,!0);break;case"select":yt("invalid",e);break;case"textarea":yt("invalid",e),Qr(e,l.value,l.defaultValue,l.children)}n=l.children,typeof n!="string"&&typeof n!="number"&&typeof n!="bigint"||e.textContent===""+n||l.suppressHydrationWarning===!0||Ld(e.textContent,n)?(l.popover!=null&&(yt("beforetoggle",e),yt("toggle",e)),l.onScroll!=null&&yt("scroll",e),l.onScrollEnd!=null&&yt("scrollend",e),l.onClick!=null&&(e.onclick=tn),e=!0):e=!1,e||jn(t,!0)}function b0(t){for(ee=t.return;ee;)switch(ee.tag){case 5:case 31:case 13:ze=!1;return;case 27:case 3:ze=!0;return;default:ee=ee.return}}function Wl(t){if(t!==ee)return!1;if(!xt)return b0(t),xt=!0,!1;var e=t.tag,n;if((n=e!==3&&e!==27)&&((n=e===5)&&(n=t.type,n=!(n!=="form"&&n!=="button")||of(t.type,t.memoizedProps)),n=!n),n&&Nt&&jn(t),b0(t),e===13){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(f(317));Nt=Jd(t)}else if(e===31){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(f(317));Nt=Jd(t)}else e===27?(e=Nt,qn(t.type)?(t=Af,Af=null,Nt=t):Nt=e):Nt=ee?Le(t.stateNode.nextSibling):null;return!0}function ml(){Nt=ee=null,xt=!1}function kc(){var t=Mn;return t!==null&&(Ae===null?Ae=t:Ae.push.apply(Ae,t),Mn=null),t}function Ga(t){Mn===null?Mn=[t]:Mn.push(t)}var Jc=C(null),gl=null,an=null;function Nn(t,e,n){W(Jc,e._currentValue),e._currentValue=n}function un(t){t._currentValue=Jc.current,L(Jc)}function Fc(t,e,n){for(;t!==null;){var l=t.alternate;if((t.childLanes&e)!==e?(t.childLanes|=e,l!==null&&(l.childLanes|=e)):l!==null&&(l.childLanes&e)!==e&&(l.childLanes|=e),t===n)break;t=t.return}}function Wc(t,e,n,l){var a=t.child;for(a!==null&&(a.return=t);a!==null;){var s=a.dependencies;if(s!==null){var d=a.child;s=s.firstContext;t:for(;s!==null;){var g=s;s=a;for(var S=0;S<e.length;S++)if(g.context===e[S]){s.lanes|=n,g=s.alternate,g!==null&&(g.lanes|=n),Fc(s.return,n,t),l||(d=null);break t}s=g.next}}else if(a.tag===18){if(d=a.return,d===null)throw Error(f(341));d.lanes|=n,s=d.alternate,s!==null&&(s.lanes|=n),Fc(d,n,t),d=null}else d=a.child;if(d!==null)d.return=a;else for(d=a;d!==null;){if(d===t){d=null;break}if(a=d.sibling,a!==null){a.return=d.return,d=a;break}d=d.return}a=d}}function _l(t,e,n,l){t=null;for(var a=e,s=!1;a!==null;){if(!s){if((a.flags&524288)!==0)s=!0;else if((a.flags&262144)!==0)break}if(a.tag===10){var d=a.alternate;if(d===null)throw Error(f(387));if(d=d.memoizedProps,d!==null){var g=a.type;Se(a.pendingProps.value,d.value)||(t!==null?t.push(g):t=[g])}}else if(a===gt.current){if(d=a.alternate,d===null)throw Error(f(387));d.memoizedState.memoizedState!==a.memoizedState.memoizedState&&(t!==null?t.push(hi):t=[hi])}a=a.return}t!==null&&Wc(e,t,n,l),e.flags|=262144}function $i(t){for(t=t.firstContext;t!==null;){if(!Se(t.context._currentValue,t.memoizedValue))return!0;t=t.next}return!1}function Al(t){gl=t,an=null,t=t.dependencies,t!==null&&(t.firstContext=null)}function ne(t){return S0(gl,t)}function tu(t,e){return gl===null&&Al(t),S0(t,e)}function S0(t,e){var n=e._currentValue;if(e={context:e,memoizedValue:n,next:null},an===null){if(t===null)throw Error(f(308));an=e,t.dependencies={lanes:0,firstContext:e},t.flags|=524288}else an=an.next=e;return n}var lg=typeof AbortController<"u"?AbortController:function(){var t=[],e=this.signal={aborted:!1,addEventListener:function(n,l){t.push(l)}};this.abort=function(){e.aborted=!0,t.forEach(function(n){return n()})}},ag=i.unstable_scheduleCallback,ig=i.unstable_NormalPriority,Zt={$$typeof:N,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function _c(){return{controller:new lg,data:new Map,refCount:0}}function Xa(t){t.refCount--,t.refCount===0&&ag(ig,function(){t.controller.abort()})}var Va=null,Pc=0,Pl=0,$l=null;function ug(t,e){if(Va===null){var n=Va=[];Pc=0,Pl=ef(),$l={status:"pending",value:void 0,then:function(l){n.push(l)}}}return Pc++,e.then(T0,T0),e}function T0(){if(--Pc===0&&Va!==null){$l!==null&&($l.status="fulfilled");var t=Va;Va=null,Pl=0,$l=null;for(var e=0;e<t.length;e++)(0,t[e])()}}function cg(t,e){var n=[],l={status:"pending",value:null,reason:null,then:function(a){n.push(a)}};return t.then(function(){l.status="fulfilled",l.value=e;for(var a=0;a<n.length;a++)(0,n[a])(e)},function(a){for(l.status="rejected",l.reason=a,a=0;a<n.length;a++)(0,n[a])(void 0)}),l}var C0=M.S;M.S=function(t,e){fd=pe(),typeof e=="object"&&e!==null&&typeof e.then=="function"&&ug(t,e),C0!==null&&C0(t,e)};var vl=C(null);function $c(){var t=vl.current;return t!==null?t:jt.pooledCache}function eu(t,e){e===null?W(vl,vl.current):W(vl,e.pool)}function O0(){var t=$c();return t===null?null:{parent:Zt._currentValue,pool:t}}var ta=Error(f(460)),ts=Error(f(474)),nu=Error(f(542)),lu={then:function(){}};function D0(t){return t=t.status,t==="fulfilled"||t==="rejected"}function R0(t,e,n){switch(n=t[n],n===void 0?t.push(e):n!==e&&(e.then(tn,tn),e=n),e.status){case"fulfilled":return e.value;case"rejected":throw t=e.reason,M0(t),t;default:if(typeof e.status=="string")e.then(tn,tn);else{if(t=jt,t!==null&&100<t.shellSuspendCounter)throw Error(f(482));t=e,t.status="pending",t.then(function(l){if(e.status==="pending"){var a=e;a.status="fulfilled",a.value=l}},function(l){if(e.status==="pending"){var a=e;a.status="rejected",a.reason=l}})}switch(e.status){case"fulfilled":return e.value;case"rejected":throw t=e.reason,M0(t),t}throw El=e,ta}}function yl(t){try{var e=t._init;return e(t._payload)}catch(n){throw n!==null&&typeof n=="object"&&typeof n.then=="function"?(El=n,ta):n}}var El=null;function w0(){if(El===null)throw Error(f(459));var t=El;return El=null,t}function M0(t){if(t===ta||t===nu)throw Error(f(483))}var ea=null,Za=0;function au(t){var e=Za;return Za+=1,ea===null&&(ea=[]),R0(ea,t,e)}function Ia(t,e){e=e.props.ref,t.ref=e!==void 0?e:null}function iu(t,e){throw e.$$typeof===D?Error(f(525)):(t=Object.prototype.toString.call(e),Error(f(31,t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)))}function j0(t){function e(w,O){if(t){var B=w.deletions;B===null?(w.deletions=[O],w.flags|=16):B.push(O)}}function n(w,O){if(!t)return null;for(;O!==null;)e(w,O),O=O.sibling;return null}function l(w){for(var O=new Map;w!==null;)w.key!==null?O.set(w.key,w):O.set(w.index,w),w=w.sibling;return O}function a(w,O){return w=nn(w,O),w.index=0,w.sibling=null,w}function s(w,O,B){return w.index=B,t?(B=w.alternate,B!==null?(B=B.index,B<O?(w.flags|=67108866,O):B):(w.flags|=67108866,O)):(w.flags|=1048576,O)}function d(w){return t&&w.alternate===null&&(w.flags|=67108866),w}function g(w,O,B,K){return O===null||O.tag!==6?(O=Vc(B,w.mode,K),O.return=w,O):(O=a(O,B),O.return=w,O)}function S(w,O,B,K){var ct=B.type;return ct===p?Z(w,O,B.props.children,K,B.key):O!==null&&(O.elementType===ct||typeof ct=="object"&&ct!==null&&ct.$$typeof===Y&&yl(ct)===O.type)?(O=a(O,B.props),Ia(O,B),O.return=w,O):(O=_i(B.type,B.key,B.props,null,w.mode,K),Ia(O,B),O.return=w,O)}function U(w,O,B,K){return O===null||O.tag!==4||O.stateNode.containerInfo!==B.containerInfo||O.stateNode.implementation!==B.implementation?(O=Zc(B,w.mode,K),O.return=w,O):(O=a(O,B.children||[]),O.return=w,O)}function Z(w,O,B,K,ct){return O===null||O.tag!==7?(O=hl(B,w.mode,K,ct),O.return=w,O):(O=a(O,B),O.return=w,O)}function J(w,O,B){if(typeof O=="string"&&O!==""||typeof O=="number"||typeof O=="bigint")return O=Vc(""+O,w.mode,B),O.return=w,O;if(typeof O=="object"&&O!==null){switch(O.$$typeof){case X:return B=_i(O.type,O.key,O.props,null,w.mode,B),Ia(B,O),B.return=w,B;case q:return O=Zc(O,w.mode,B),O.return=w,O;case Y:return O=yl(O),J(w,O,B)}if(ut(O)||nt(O))return O=hl(O,w.mode,B,null),O.return=w,O;if(typeof O.then=="function")return J(w,au(O),B);if(O.$$typeof===N)return J(w,tu(w,O),B);iu(w,O)}return null}function Q(w,O,B,K){var ct=O!==null?O.key:null;if(typeof B=="string"&&B!==""||typeof B=="number"||typeof B=="bigint")return ct!==null?null:g(w,O,""+B,K);if(typeof B=="object"&&B!==null){switch(B.$$typeof){case X:return B.key===ct?S(w,O,B,K):null;case q:return B.key===ct?U(w,O,B,K):null;case Y:return B=yl(B),Q(w,O,B,K)}if(ut(B)||nt(B))return ct!==null?null:Z(w,O,B,K,null);if(typeof B.then=="function")return Q(w,O,au(B),K);if(B.$$typeof===N)return Q(w,O,tu(w,B),K);iu(w,B)}return null}function G(w,O,B,K,ct){if(typeof K=="string"&&K!==""||typeof K=="number"||typeof K=="bigint")return w=w.get(B)||null,g(O,w,""+K,ct);if(typeof K=="object"&&K!==null){switch(K.$$typeof){case X:return w=w.get(K.key===null?B:K.key)||null,S(O,w,K,ct);case q:return w=w.get(K.key===null?B:K.key)||null,U(O,w,K,ct);case Y:return K=yl(K),G(w,O,B,K,ct)}if(ut(K)||nt(K))return w=w.get(B)||null,Z(O,w,K,ct,null);if(typeof K.then=="function")return G(w,O,B,au(K),ct);if(K.$$typeof===N)return G(w,O,B,tu(O,K),ct);iu(O,K)}return null}function lt(w,O,B,K){for(var ct=null,St=null,at=O,At=O=0,pt=null;at!==null&&At<B.length;At++){at.index>At?(pt=at,at=null):pt=at.sibling;var Tt=Q(w,at,B[At],K);if(Tt===null){at===null&&(at=pt);break}t&&at&&Tt.alternate===null&&e(w,at),O=s(Tt,O,At),St===null?ct=Tt:St.sibling=Tt,St=Tt,at=pt}if(At===B.length)return n(w,at),xt&&ln(w,At),ct;if(at===null){for(;At<B.length;At++)at=J(w,B[At],K),at!==null&&(O=s(at,O,At),St===null?ct=at:St.sibling=at,St=at);return xt&&ln(w,At),ct}for(at=l(at);At<B.length;At++)pt=G(at,w,At,B[At],K),pt!==null&&(t&&pt.alternate!==null&&at.delete(pt.key===null?At:pt.key),O=s(pt,O,At),St===null?ct=pt:St.sibling=pt,St=pt);return t&&at.forEach(function(Wn){return e(w,Wn)}),xt&&ln(w,At),ct}function ft(w,O,B,K){if(B==null)throw Error(f(151));for(var ct=null,St=null,at=O,At=O=0,pt=null,Tt=B.next();at!==null&&!Tt.done;At++,Tt=B.next()){at.index>At?(pt=at,at=null):pt=at.sibling;var Wn=Q(w,at,Tt.value,K);if(Wn===null){at===null&&(at=pt);break}t&&at&&Wn.alternate===null&&e(w,at),O=s(Wn,O,At),St===null?ct=Wn:St.sibling=Wn,St=Wn,at=pt}if(Tt.done)return n(w,at),xt&&ln(w,At),ct;if(at===null){for(;!Tt.done;At++,Tt=B.next())Tt=J(w,Tt.value,K),Tt!==null&&(O=s(Tt,O,At),St===null?ct=Tt:St.sibling=Tt,St=Tt);return xt&&ln(w,At),ct}for(at=l(at);!Tt.done;At++,Tt=B.next())Tt=G(at,w,At,Tt.value,K),Tt!==null&&(t&&Tt.alternate!==null&&at.delete(Tt.key===null?At:Tt.key),O=s(Tt,O,At),St===null?ct=Tt:St.sibling=Tt,St=Tt);return t&&at.forEach(function(yA){return e(w,yA)}),xt&&ln(w,At),ct}function Mt(w,O,B,K){if(typeof B=="object"&&B!==null&&B.type===p&&B.key===null&&(B=B.props.children),typeof B=="object"&&B!==null){switch(B.$$typeof){case X:t:{for(var ct=B.key;O!==null;){if(O.key===ct){if(ct=B.type,ct===p){if(O.tag===7){n(w,O.sibling),K=a(O,B.props.children),K.return=w,w=K;break t}}else if(O.elementType===ct||typeof ct=="object"&&ct!==null&&ct.$$typeof===Y&&yl(ct)===O.type){n(w,O.sibling),K=a(O,B.props),Ia(K,B),K.return=w,w=K;break t}n(w,O);break}else e(w,O);O=O.sibling}B.type===p?(K=hl(B.props.children,w.mode,K,B.key),K.return=w,w=K):(K=_i(B.type,B.key,B.props,null,w.mode,K),Ia(K,B),K.return=w,w=K)}return d(w);case q:t:{for(ct=B.key;O!==null;){if(O.key===ct)if(O.tag===4&&O.stateNode.containerInfo===B.containerInfo&&O.stateNode.implementation===B.implementation){n(w,O.sibling),K=a(O,B.children||[]),K.return=w,w=K;break t}else{n(w,O);break}else e(w,O);O=O.sibling}K=Zc(B,w.mode,K),K.return=w,w=K}return d(w);case Y:return B=yl(B),Mt(w,O,B,K)}if(ut(B))return lt(w,O,B,K);if(nt(B)){if(ct=nt(B),typeof ct!="function")throw Error(f(150));return B=ct.call(B),ft(w,O,B,K)}if(typeof B.then=="function")return Mt(w,O,au(B),K);if(B.$$typeof===N)return Mt(w,O,tu(w,B),K);iu(w,B)}return typeof B=="string"&&B!==""||typeof B=="number"||typeof B=="bigint"?(B=""+B,O!==null&&O.tag===6?(n(w,O.sibling),K=a(O,B),K.return=w,w=K):(n(w,O),K=Vc(B,w.mode,K),K.return=w,w=K),d(w)):n(w,O)}return function(w,O,B,K){try{Za=0;var ct=Mt(w,O,B,K);return ea=null,ct}catch(at){if(at===ta||at===nu)throw at;var St=Te(29,at,null,w.mode);return St.lanes=K,St.return=w,St}finally{}}}var pl=j0(!0),N0=j0(!1),Hn=!1;function es(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ns(t,e){t=t.updateQueue,e.updateQueue===t&&(e.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function Bn(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function Un(t,e,n){var l=t.updateQueue;if(l===null)return null;if(l=l.shared,(Ct&2)!==0){var a=l.pending;return a===null?e.next=e:(e.next=a.next,a.next=e),l.pending=e,e=Wi(t),g0(t,null,n),e}return Fi(t,l,e,n),Wi(t)}function qa(t,e,n){if(e=e.updateQueue,e!==null&&(e=e.shared,(n&4194048)!==0)){var l=e.lanes;l&=t.pendingLanes,n|=l,e.lanes=n,Sr(t,n)}}function ls(t,e){var n=t.updateQueue,l=t.alternate;if(l!==null&&(l=l.updateQueue,n===l)){var a=null,s=null;if(n=n.firstBaseUpdate,n!==null){do{var d={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};s===null?a=s=d:s=s.next=d,n=n.next}while(n!==null);s===null?a=s=e:s=s.next=e}else a=s=e;n={baseState:l.baseState,firstBaseUpdate:a,lastBaseUpdate:s,shared:l.shared,callbacks:l.callbacks},t.updateQueue=n;return}t=n.lastBaseUpdate,t===null?n.firstBaseUpdate=e:t.next=e,n.lastBaseUpdate=e}var as=!1;function Ka(){if(as){var t=$l;if(t!==null)throw t}}function ka(t,e,n,l){as=!1;var a=t.updateQueue;Hn=!1;var s=a.firstBaseUpdate,d=a.lastBaseUpdate,g=a.shared.pending;if(g!==null){a.shared.pending=null;var S=g,U=S.next;S.next=null,d===null?s=U:d.next=U,d=S;var Z=t.alternate;Z!==null&&(Z=Z.updateQueue,g=Z.lastBaseUpdate,g!==d&&(g===null?Z.firstBaseUpdate=U:g.next=U,Z.lastBaseUpdate=S))}if(s!==null){var J=a.baseState;d=0,Z=U=S=null,g=s;do{var Q=g.lane&-536870913,G=Q!==g.lane;if(G?(Et&Q)===Q:(l&Q)===Q){Q!==0&&Q===Pl&&(as=!0),Z!==null&&(Z=Z.next={lane:0,tag:g.tag,payload:g.payload,callback:null,next:null});t:{var lt=t,ft=g;Q=e;var Mt=n;switch(ft.tag){case 1:if(lt=ft.payload,typeof lt=="function"){J=lt.call(Mt,J,Q);break t}J=lt;break t;case 3:lt.flags=lt.flags&-65537|128;case 0:if(lt=ft.payload,Q=typeof lt=="function"?lt.call(Mt,J,Q):lt,Q==null)break t;J=T({},J,Q);break t;case 2:Hn=!0}}Q=g.callback,Q!==null&&(t.flags|=64,G&&(t.flags|=8192),G=a.callbacks,G===null?a.callbacks=[Q]:G.push(Q))}else G={lane:Q,tag:g.tag,payload:g.payload,callback:g.callback,next:null},Z===null?(U=Z=G,S=J):Z=Z.next=G,d|=Q;if(g=g.next,g===null){if(g=a.shared.pending,g===null)break;G=g,g=G.next,G.next=null,a.lastBaseUpdate=G,a.shared.pending=null}}while(!0);Z===null&&(S=J),a.baseState=S,a.firstBaseUpdate=U,a.lastBaseUpdate=Z,s===null&&(a.shared.lanes=0),Gn|=d,t.lanes=d,t.memoizedState=J}}function H0(t,e){if(typeof t!="function")throw Error(f(191,t));t.call(e)}function B0(t,e){var n=t.callbacks;if(n!==null)for(t.callbacks=null,t=0;t<n.length;t++)H0(n[t],e)}var na=C(null),uu=C(0);function U0(t,e){t=gn,W(uu,t),W(na,e),gn=t|e.baseLanes}function is(){W(uu,gn),W(na,na.current)}function us(){gn=uu.current,L(na),L(uu)}var Ce=C(null),Ye=null;function Qn(t){var e=t.alternate;W(Xt,Xt.current&1),W(Ce,t),Ye===null&&(e===null||na.current!==null||e.memoizedState!==null)&&(Ye=t)}function cs(t){W(Xt,Xt.current),W(Ce,t),Ye===null&&(Ye=t)}function Q0(t){t.tag===22?(W(Xt,Xt.current),W(Ce,t),Ye===null&&(Ye=t)):zn()}function zn(){W(Xt,Xt.current),W(Ce,Ce.current)}function Oe(t){L(Ce),Ye===t&&(Ye=null),L(Xt)}var Xt=C(0);function cu(t){for(var e=t;e!==null;){if(e.tag===13){var n=e.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||mf(n)||gf(n)))return e}else if(e.tag===19&&(e.memoizedProps.revealOrder==="forwards"||e.memoizedProps.revealOrder==="backwards"||e.memoizedProps.revealOrder==="unstable_legacy-backwards"||e.memoizedProps.revealOrder==="together")){if((e.flags&128)!==0)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break;for(;e.sibling===null;){if(e.return===null||e.return===t)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var cn=0,mt=null,Rt=null,It=null,su=!1,la=!1,xl=!1,fu=0,Ja=0,aa=null,sg=0;function Lt(){throw Error(f(321))}function ss(t,e){if(e===null)return!1;for(var n=0;n<e.length&&n<t.length;n++)if(!Se(t[n],e[n]))return!1;return!0}function fs(t,e,n,l,a,s){return cn=s,mt=e,e.memoizedState=null,e.updateQueue=null,e.lanes=0,M.H=t===null||t.memoizedState===null?po:Ts,xl=!1,s=n(l,a),xl=!1,la&&(s=Y0(e,n,l,a)),z0(t),s}function z0(t){M.H=_a;var e=Rt!==null&&Rt.next!==null;if(cn=0,It=Rt=mt=null,su=!1,Ja=0,aa=null,e)throw Error(f(300));t===null||qt||(t=t.dependencies,t!==null&&$i(t)&&(qt=!0))}function Y0(t,e,n,l){mt=t;var a=0;do{if(la&&(aa=null),Ja=0,la=!1,25<=a)throw Error(f(301));if(a+=1,It=Rt=null,t.updateQueue!=null){var s=t.updateQueue;s.lastEffect=null,s.events=null,s.stores=null,s.memoCache!=null&&(s.memoCache.index=0)}M.H=xo,s=e(n,l)}while(la);return s}function fg(){var t=M.H,e=t.useState()[0];return e=typeof e.then=="function"?Fa(e):e,t=t.useState()[0],(Rt!==null?Rt.memoizedState:null)!==t&&(mt.flags|=1024),e}function rs(){var t=fu!==0;return fu=0,t}function os(t,e,n){e.updateQueue=t.updateQueue,e.flags&=-2053,t.lanes&=~n}function ds(t){if(su){for(t=t.memoizedState;t!==null;){var e=t.queue;e!==null&&(e.pending=null),t=t.next}su=!1}cn=0,It=Rt=mt=null,la=!1,Ja=fu=0,aa=null}function fe(){var t={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return It===null?mt.memoizedState=It=t:It=It.next=t,It}function Vt(){if(Rt===null){var t=mt.alternate;t=t!==null?t.memoizedState:null}else t=Rt.next;var e=It===null?mt.memoizedState:It.next;if(e!==null)It=e,Rt=t;else{if(t===null)throw mt.alternate===null?Error(f(467)):Error(f(310));Rt=t,t={memoizedState:Rt.memoizedState,baseState:Rt.baseState,baseQueue:Rt.baseQueue,queue:Rt.queue,next:null},It===null?mt.memoizedState=It=t:It=It.next=t}return It}function ru(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Fa(t){var e=Ja;return Ja+=1,aa===null&&(aa=[]),t=R0(aa,t,e),e=mt,(It===null?e.memoizedState:It.next)===null&&(e=e.alternate,M.H=e===null||e.memoizedState===null?po:Ts),t}function ou(t){if(t!==null&&typeof t=="object"){if(typeof t.then=="function")return Fa(t);if(t.$$typeof===N)return ne(t)}throw Error(f(438,String(t)))}function hs(t){var e=null,n=mt.updateQueue;if(n!==null&&(e=n.memoCache),e==null){var l=mt.alternate;l!==null&&(l=l.updateQueue,l!==null&&(l=l.memoCache,l!=null&&(e={data:l.data.map(function(a){return a.slice()}),index:0})))}if(e==null&&(e={data:[],index:0}),n===null&&(n=ru(),mt.updateQueue=n),n.memoCache=e,n=e.data[e.index],n===void 0)for(n=e.data[e.index]=Array(t),l=0;l<t;l++)n[l]=I;return e.index++,n}function sn(t,e){return typeof e=="function"?e(t):e}function du(t){var e=Vt();return ms(e,Rt,t)}function ms(t,e,n){var l=t.queue;if(l===null)throw Error(f(311));l.lastRenderedReducer=n;var a=t.baseQueue,s=l.pending;if(s!==null){if(a!==null){var d=a.next;a.next=s.next,s.next=d}e.baseQueue=a=s,l.pending=null}if(s=t.baseState,a===null)t.memoizedState=s;else{e=a.next;var g=d=null,S=null,U=e,Z=!1;do{var J=U.lane&-536870913;if(J!==U.lane?(Et&J)===J:(cn&J)===J){var Q=U.revertLane;if(Q===0)S!==null&&(S=S.next={lane:0,revertLane:0,gesture:null,action:U.action,hasEagerState:U.hasEagerState,eagerState:U.eagerState,next:null}),J===Pl&&(Z=!0);else if((cn&Q)===Q){U=U.next,Q===Pl&&(Z=!0);continue}else J={lane:0,revertLane:U.revertLane,gesture:null,action:U.action,hasEagerState:U.hasEagerState,eagerState:U.eagerState,next:null},S===null?(g=S=J,d=s):S=S.next=J,mt.lanes|=Q,Gn|=Q;J=U.action,xl&&n(s,J),s=U.hasEagerState?U.eagerState:n(s,J)}else Q={lane:J,revertLane:U.revertLane,gesture:U.gesture,action:U.action,hasEagerState:U.hasEagerState,eagerState:U.eagerState,next:null},S===null?(g=S=Q,d=s):S=S.next=Q,mt.lanes|=J,Gn|=J;U=U.next}while(U!==null&&U!==e);if(S===null?d=s:S.next=g,!Se(s,t.memoizedState)&&(qt=!0,Z&&(n=$l,n!==null)))throw n;t.memoizedState=s,t.baseState=d,t.baseQueue=S,l.lastRenderedState=s}return a===null&&(l.lanes=0),[t.memoizedState,l.dispatch]}function gs(t){var e=Vt(),n=e.queue;if(n===null)throw Error(f(311));n.lastRenderedReducer=t;var l=n.dispatch,a=n.pending,s=e.memoizedState;if(a!==null){n.pending=null;var d=a=a.next;do s=t(s,d.action),d=d.next;while(d!==a);Se(s,e.memoizedState)||(qt=!0),e.memoizedState=s,e.baseQueue===null&&(e.baseState=s),n.lastRenderedState=s}return[s,l]}function L0(t,e,n){var l=mt,a=Vt(),s=xt;if(s){if(n===void 0)throw Error(f(407));n=n()}else n=e();var d=!Se((Rt||a).memoizedState,n);if(d&&(a.memoizedState=n,qt=!0),a=a.queue,ys(V0.bind(null,l,a,t),[t]),a.getSnapshot!==e||d||It!==null&&It.memoizedState.tag&1){if(l.flags|=2048,ia(9,{destroy:void 0},X0.bind(null,l,a,n,e),null),jt===null)throw Error(f(349));s||(cn&127)!==0||G0(l,e,n)}return n}function G0(t,e,n){t.flags|=16384,t={getSnapshot:e,value:n},e=mt.updateQueue,e===null?(e=ru(),mt.updateQueue=e,e.stores=[t]):(n=e.stores,n===null?e.stores=[t]:n.push(t))}function X0(t,e,n,l){e.value=n,e.getSnapshot=l,Z0(e)&&I0(t)}function V0(t,e,n){return n(function(){Z0(e)&&I0(t)})}function Z0(t){var e=t.getSnapshot;t=t.value;try{var n=e();return!Se(t,n)}catch{return!0}}function I0(t){var e=dl(t,2);e!==null&&ve(e,t,2)}function As(t){var e=fe();if(typeof t=="function"){var n=t;if(t=n(),xl){On(!0);try{n()}finally{On(!1)}}}return e.memoizedState=e.baseState=t,e.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:sn,lastRenderedState:t},e}function q0(t,e,n,l){return t.baseState=n,ms(t,Rt,typeof l=="function"?l:sn)}function rg(t,e,n,l,a){if(gu(t))throw Error(f(485));if(t=e.action,t!==null){var s={payload:a,action:t,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(d){s.listeners.push(d)}};M.T!==null?n(!0):s.isTransition=!1,l(s),n=e.pending,n===null?(s.next=e.pending=s,K0(e,s)):(s.next=n.next,e.pending=n.next=s)}}function K0(t,e){var n=e.action,l=e.payload,a=t.state;if(e.isTransition){var s=M.T,d={};M.T=d;try{var g=n(a,l),S=M.S;S!==null&&S(d,g),k0(t,e,g)}catch(U){vs(t,e,U)}finally{s!==null&&d.types!==null&&(s.types=d.types),M.T=s}}else try{s=n(a,l),k0(t,e,s)}catch(U){vs(t,e,U)}}function k0(t,e,n){n!==null&&typeof n=="object"&&typeof n.then=="function"?n.then(function(l){J0(t,e,l)},function(l){return vs(t,e,l)}):J0(t,e,n)}function J0(t,e,n){e.status="fulfilled",e.value=n,F0(e),t.state=n,e=t.pending,e!==null&&(n=e.next,n===e?t.pending=null:(n=n.next,e.next=n,K0(t,n)))}function vs(t,e,n){var l=t.pending;if(t.pending=null,l!==null){l=l.next;do e.status="rejected",e.reason=n,F0(e),e=e.next;while(e!==l)}t.action=null}function F0(t){t=t.listeners;for(var e=0;e<t.length;e++)(0,t[e])()}function W0(t,e){return e}function _0(t,e){if(xt){var n=jt.formState;if(n!==null){t:{var l=mt;if(xt){if(Nt){e:{for(var a=Nt,s=ze;a.nodeType!==8;){if(!s){a=null;break e}if(a=Le(a.nextSibling),a===null){a=null;break e}}s=a.data,a=s==="F!"||s==="F"?a:null}if(a){Nt=Le(a.nextSibling),l=a.data==="F!";break t}}jn(l)}l=!1}l&&(e=n[0])}}return n=fe(),n.memoizedState=n.baseState=e,l={pending:null,lanes:0,dispatch:null,lastRenderedReducer:W0,lastRenderedState:e},n.queue=l,n=vo.bind(null,mt,l),l.dispatch=n,l=As(!1),s=Ss.bind(null,mt,!1,l.queue),l=fe(),a={state:e,dispatch:null,action:t,pending:null},l.queue=a,n=rg.bind(null,mt,a,s,n),a.dispatch=n,l.memoizedState=t,[e,n,!1]}function P0(t){var e=Vt();return $0(e,Rt,t)}function $0(t,e,n){if(e=ms(t,e,W0)[0],t=du(sn)[0],typeof e=="object"&&e!==null&&typeof e.then=="function")try{var l=Fa(e)}catch(d){throw d===ta?nu:d}else l=e;e=Vt();var a=e.queue,s=a.dispatch;return n!==e.memoizedState&&(mt.flags|=2048,ia(9,{destroy:void 0},og.bind(null,a,n),null)),[l,s,t]}function og(t,e){t.action=e}function to(t){var e=Vt(),n=Rt;if(n!==null)return $0(e,n,t);Vt(),e=e.memoizedState,n=Vt();var l=n.queue.dispatch;return n.memoizedState=t,[e,l,!1]}function ia(t,e,n,l){return t={tag:t,create:n,deps:l,inst:e,next:null},e=mt.updateQueue,e===null&&(e=ru(),mt.updateQueue=e),n=e.lastEffect,n===null?e.lastEffect=t.next=t:(l=n.next,n.next=t,t.next=l,e.lastEffect=t),t}function eo(){return Vt().memoizedState}function hu(t,e,n,l){var a=fe();mt.flags|=t,a.memoizedState=ia(1|e,{destroy:void 0},n,l===void 0?null:l)}function mu(t,e,n,l){var a=Vt();l=l===void 0?null:l;var s=a.memoizedState.inst;Rt!==null&&l!==null&&ss(l,Rt.memoizedState.deps)?a.memoizedState=ia(e,s,n,l):(mt.flags|=t,a.memoizedState=ia(1|e,s,n,l))}function no(t,e){hu(8390656,8,t,e)}function ys(t,e){mu(2048,8,t,e)}function dg(t){mt.flags|=4;var e=mt.updateQueue;if(e===null)e=ru(),mt.updateQueue=e,e.events=[t];else{var n=e.events;n===null?e.events=[t]:n.push(t)}}function lo(t){var e=Vt().memoizedState;return dg({ref:e,nextImpl:t}),function(){if((Ct&2)!==0)throw Error(f(440));return e.impl.apply(void 0,arguments)}}function ao(t,e){return mu(4,2,t,e)}function io(t,e){return mu(4,4,t,e)}function uo(t,e){if(typeof e=="function"){t=t();var n=e(t);return function(){typeof n=="function"?n():e(null)}}if(e!=null)return t=t(),e.current=t,function(){e.current=null}}function co(t,e,n){n=n!=null?n.concat([t]):null,mu(4,4,uo.bind(null,e,t),n)}function Es(){}function so(t,e){var n=Vt();e=e===void 0?null:e;var l=n.memoizedState;return e!==null&&ss(e,l[1])?l[0]:(n.memoizedState=[t,e],t)}function fo(t,e){var n=Vt();e=e===void 0?null:e;var l=n.memoizedState;if(e!==null&&ss(e,l[1]))return l[0];if(l=t(),xl){On(!0);try{t()}finally{On(!1)}}return n.memoizedState=[l,e],l}function ps(t,e,n){return n===void 0||(cn&1073741824)!==0&&(Et&261930)===0?t.memoizedState=e:(t.memoizedState=n,t=od(),mt.lanes|=t,Gn|=t,n)}function ro(t,e,n,l){return Se(n,e)?n:na.current!==null?(t=ps(t,n,l),Se(t,e)||(qt=!0),t):(cn&42)===0||(cn&1073741824)!==0&&(Et&261930)===0?(qt=!0,t.memoizedState=n):(t=od(),mt.lanes|=t,Gn|=t,e)}function oo(t,e,n,l,a){var s=_.p;_.p=s!==0&&8>s?s:8;var d=M.T,g={};M.T=g,Ss(t,!1,e,n);try{var S=a(),U=M.S;if(U!==null&&U(g,S),S!==null&&typeof S=="object"&&typeof S.then=="function"){var Z=cg(S,l);Wa(t,e,Z,we(t))}else Wa(t,e,l,we(t))}catch(J){Wa(t,e,{then:function(){},status:"rejected",reason:J},we())}finally{_.p=s,d!==null&&g.types!==null&&(d.types=g.types),M.T=d}}function hg(){}function xs(t,e,n,l){if(t.tag!==5)throw Error(f(476));var a=ho(t).queue;oo(t,a,e,$,n===null?hg:function(){return mo(t),n(l)})}function ho(t){var e=t.memoizedState;if(e!==null)return e;e={memoizedState:$,baseState:$,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:sn,lastRenderedState:$},next:null};var n={};return e.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:sn,lastRenderedState:n},next:null},t.memoizedState=e,t=t.alternate,t!==null&&(t.memoizedState=e),e}function mo(t){var e=ho(t);e.next===null&&(e=t.alternate.memoizedState),Wa(t,e.next.queue,{},we())}function bs(){return ne(hi)}function go(){return Vt().memoizedState}function Ao(){return Vt().memoizedState}function mg(t){for(var e=t.return;e!==null;){switch(e.tag){case 24:case 3:var n=we();t=Bn(n);var l=Un(e,t,n);l!==null&&(ve(l,e,n),qa(l,e,n)),e={cache:_c()},t.payload=e;return}e=e.return}}function gg(t,e,n){var l=we();n={lane:l,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},gu(t)?yo(e,n):(n=Gc(t,e,n,l),n!==null&&(ve(n,t,l),Eo(n,e,l)))}function vo(t,e,n){var l=we();Wa(t,e,n,l)}function Wa(t,e,n,l){var a={lane:l,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(gu(t))yo(e,a);else{var s=t.alternate;if(t.lanes===0&&(s===null||s.lanes===0)&&(s=e.lastRenderedReducer,s!==null))try{var d=e.lastRenderedState,g=s(d,n);if(a.hasEagerState=!0,a.eagerState=g,Se(g,d))return Fi(t,e,a,0),jt===null&&Ji(),!1}catch{}finally{}if(n=Gc(t,e,a,l),n!==null)return ve(n,t,l),Eo(n,e,l),!0}return!1}function Ss(t,e,n,l){if(l={lane:2,revertLane:ef(),gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},gu(t)){if(e)throw Error(f(479))}else e=Gc(t,n,l,2),e!==null&&ve(e,t,2)}function gu(t){var e=t.alternate;return t===mt||e!==null&&e===mt}function yo(t,e){la=su=!0;var n=t.pending;n===null?e.next=e:(e.next=n.next,n.next=e),t.pending=e}function Eo(t,e,n){if((n&4194048)!==0){var l=e.lanes;l&=t.pendingLanes,n|=l,e.lanes=n,Sr(t,n)}}var _a={readContext:ne,use:ou,useCallback:Lt,useContext:Lt,useEffect:Lt,useImperativeHandle:Lt,useLayoutEffect:Lt,useInsertionEffect:Lt,useMemo:Lt,useReducer:Lt,useRef:Lt,useState:Lt,useDebugValue:Lt,useDeferredValue:Lt,useTransition:Lt,useSyncExternalStore:Lt,useId:Lt,useHostTransitionStatus:Lt,useFormState:Lt,useActionState:Lt,useOptimistic:Lt,useMemoCache:Lt,useCacheRefresh:Lt};_a.useEffectEvent=Lt;var po={readContext:ne,use:ou,useCallback:function(t,e){return fe().memoizedState=[t,e===void 0?null:e],t},useContext:ne,useEffect:no,useImperativeHandle:function(t,e,n){n=n!=null?n.concat([t]):null,hu(4194308,4,uo.bind(null,e,t),n)},useLayoutEffect:function(t,e){return hu(4194308,4,t,e)},useInsertionEffect:function(t,e){hu(4,2,t,e)},useMemo:function(t,e){var n=fe();e=e===void 0?null:e;var l=t();if(xl){On(!0);try{t()}finally{On(!1)}}return n.memoizedState=[l,e],l},useReducer:function(t,e,n){var l=fe();if(n!==void 0){var a=n(e);if(xl){On(!0);try{n(e)}finally{On(!1)}}}else a=e;return l.memoizedState=l.baseState=a,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:a},l.queue=t,t=t.dispatch=gg.bind(null,mt,t),[l.memoizedState,t]},useRef:function(t){var e=fe();return t={current:t},e.memoizedState=t},useState:function(t){t=As(t);var e=t.queue,n=vo.bind(null,mt,e);return e.dispatch=n,[t.memoizedState,n]},useDebugValue:Es,useDeferredValue:function(t,e){var n=fe();return ps(n,t,e)},useTransition:function(){var t=As(!1);return t=oo.bind(null,mt,t.queue,!0,!1),fe().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,e,n){var l=mt,a=fe();if(xt){if(n===void 0)throw Error(f(407));n=n()}else{if(n=e(),jt===null)throw Error(f(349));(Et&127)!==0||G0(l,e,n)}a.memoizedState=n;var s={value:n,getSnapshot:e};return a.queue=s,no(V0.bind(null,l,s,t),[t]),l.flags|=2048,ia(9,{destroy:void 0},X0.bind(null,l,s,n,e),null),n},useId:function(){var t=fe(),e=jt.identifierPrefix;if(xt){var n=Fe,l=Je;n=(l&~(1<<32-be(l)-1)).toString(32)+n,e="_"+e+"R_"+n,n=fu++,0<n&&(e+="H"+n.toString(32)),e+="_"}else n=sg++,e="_"+e+"r_"+n.toString(32)+"_";return t.memoizedState=e},useHostTransitionStatus:bs,useFormState:_0,useActionState:_0,useOptimistic:function(t){var e=fe();e.memoizedState=e.baseState=t;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return e.queue=n,e=Ss.bind(null,mt,!0,n),n.dispatch=e,[t,e]},useMemoCache:hs,useCacheRefresh:function(){return fe().memoizedState=mg.bind(null,mt)},useEffectEvent:function(t){var e=fe(),n={impl:t};return e.memoizedState=n,function(){if((Ct&2)!==0)throw Error(f(440));return n.impl.apply(void 0,arguments)}}},Ts={readContext:ne,use:ou,useCallback:so,useContext:ne,useEffect:ys,useImperativeHandle:co,useInsertionEffect:ao,useLayoutEffect:io,useMemo:fo,useReducer:du,useRef:eo,useState:function(){return du(sn)},useDebugValue:Es,useDeferredValue:function(t,e){var n=Vt();return ro(n,Rt.memoizedState,t,e)},useTransition:function(){var t=du(sn)[0],e=Vt().memoizedState;return[typeof t=="boolean"?t:Fa(t),e]},useSyncExternalStore:L0,useId:go,useHostTransitionStatus:bs,useFormState:P0,useActionState:P0,useOptimistic:function(t,e){var n=Vt();return q0(n,Rt,t,e)},useMemoCache:hs,useCacheRefresh:Ao};Ts.useEffectEvent=lo;var xo={readContext:ne,use:ou,useCallback:so,useContext:ne,useEffect:ys,useImperativeHandle:co,useInsertionEffect:ao,useLayoutEffect:io,useMemo:fo,useReducer:gs,useRef:eo,useState:function(){return gs(sn)},useDebugValue:Es,useDeferredValue:function(t,e){var n=Vt();return Rt===null?ps(n,t,e):ro(n,Rt.memoizedState,t,e)},useTransition:function(){var t=gs(sn)[0],e=Vt().memoizedState;return[typeof t=="boolean"?t:Fa(t),e]},useSyncExternalStore:L0,useId:go,useHostTransitionStatus:bs,useFormState:to,useActionState:to,useOptimistic:function(t,e){var n=Vt();return Rt!==null?q0(n,Rt,t,e):(n.baseState=t,[t,n.queue.dispatch])},useMemoCache:hs,useCacheRefresh:Ao};xo.useEffectEvent=lo;function Cs(t,e,n,l){e=t.memoizedState,n=n(l,e),n=n==null?e:T({},e,n),t.memoizedState=n,t.lanes===0&&(t.updateQueue.baseState=n)}var Os={enqueueSetState:function(t,e,n){t=t._reactInternals;var l=we(),a=Bn(l);a.payload=e,n!=null&&(a.callback=n),e=Un(t,a,l),e!==null&&(ve(e,t,l),qa(e,t,l))},enqueueReplaceState:function(t,e,n){t=t._reactInternals;var l=we(),a=Bn(l);a.tag=1,a.payload=e,n!=null&&(a.callback=n),e=Un(t,a,l),e!==null&&(ve(e,t,l),qa(e,t,l))},enqueueForceUpdate:function(t,e){t=t._reactInternals;var n=we(),l=Bn(n);l.tag=2,e!=null&&(l.callback=e),e=Un(t,l,n),e!==null&&(ve(e,t,n),qa(e,t,n))}};function bo(t,e,n,l,a,s,d){return t=t.stateNode,typeof t.shouldComponentUpdate=="function"?t.shouldComponentUpdate(l,s,d):e.prototype&&e.prototype.isPureReactComponent?!za(n,l)||!za(a,s):!0}function So(t,e,n,l){t=e.state,typeof e.componentWillReceiveProps=="function"&&e.componentWillReceiveProps(n,l),typeof e.UNSAFE_componentWillReceiveProps=="function"&&e.UNSAFE_componentWillReceiveProps(n,l),e.state!==t&&Os.enqueueReplaceState(e,e.state,null)}function bl(t,e){var n=e;if("ref"in e){n={};for(var l in e)l!=="ref"&&(n[l]=e[l])}if(t=t.defaultProps){n===e&&(n=T({},n));for(var a in t)n[a]===void 0&&(n[a]=t[a])}return n}function To(t){ki(t)}function Co(t){console.error(t)}function Oo(t){ki(t)}function Au(t,e){try{var n=t.onUncaughtError;n(e.value,{componentStack:e.stack})}catch(l){setTimeout(function(){throw l})}}function Do(t,e,n){try{var l=t.onCaughtError;l(n.value,{componentStack:n.stack,errorBoundary:e.tag===1?e.stateNode:null})}catch(a){setTimeout(function(){throw a})}}function Ds(t,e,n){return n=Bn(n),n.tag=3,n.payload={element:null},n.callback=function(){Au(t,e)},n}function Ro(t){return t=Bn(t),t.tag=3,t}function wo(t,e,n,l){var a=n.type.getDerivedStateFromError;if(typeof a=="function"){var s=l.value;t.payload=function(){return a(s)},t.callback=function(){Do(e,n,l)}}var d=n.stateNode;d!==null&&typeof d.componentDidCatch=="function"&&(t.callback=function(){Do(e,n,l),typeof a!="function"&&(Xn===null?Xn=new Set([this]):Xn.add(this));var g=l.stack;this.componentDidCatch(l.value,{componentStack:g!==null?g:""})})}function Ag(t,e,n,l,a){if(n.flags|=32768,l!==null&&typeof l=="object"&&typeof l.then=="function"){if(e=n.alternate,e!==null&&_l(e,n,a,!0),n=Ce.current,n!==null){switch(n.tag){case 31:case 13:return Ye===null?Ru():n.alternate===null&&Gt===0&&(Gt=3),n.flags&=-257,n.flags|=65536,n.lanes=a,l===lu?n.flags|=16384:(e=n.updateQueue,e===null?n.updateQueue=new Set([l]):e.add(l),Ps(t,l,a)),!1;case 22:return n.flags|=65536,l===lu?n.flags|=16384:(e=n.updateQueue,e===null?(e={transitions:null,markerInstances:null,retryQueue:new Set([l])},n.updateQueue=e):(n=e.retryQueue,n===null?e.retryQueue=new Set([l]):n.add(l)),Ps(t,l,a)),!1}throw Error(f(435,n.tag))}return Ps(t,l,a),Ru(),!1}if(xt)return e=Ce.current,e!==null?((e.flags&65536)===0&&(e.flags|=256),e.flags|=65536,e.lanes=a,l!==Kc&&(t=Error(f(422),{cause:l}),Ga(Be(t,n)))):(l!==Kc&&(e=Error(f(423),{cause:l}),Ga(Be(e,n))),t=t.current.alternate,t.flags|=65536,a&=-a,t.lanes|=a,l=Be(l,n),a=Ds(t.stateNode,l,a),ls(t,a),Gt!==4&&(Gt=2)),!1;var s=Error(f(520),{cause:l});if(s=Be(s,n),ii===null?ii=[s]:ii.push(s),Gt!==4&&(Gt=2),e===null)return!0;l=Be(l,n),n=e;do{switch(n.tag){case 3:return n.flags|=65536,t=a&-a,n.lanes|=t,t=Ds(n.stateNode,l,t),ls(n,t),!1;case 1:if(e=n.type,s=n.stateNode,(n.flags&128)===0&&(typeof e.getDerivedStateFromError=="function"||s!==null&&typeof s.componentDidCatch=="function"&&(Xn===null||!Xn.has(s))))return n.flags|=65536,a&=-a,n.lanes|=a,a=Ro(a),wo(a,t,n,l),ls(n,a),!1}n=n.return}while(n!==null);return!1}var Rs=Error(f(461)),qt=!1;function le(t,e,n,l){e.child=t===null?N0(e,null,n,l):pl(e,t.child,n,l)}function Mo(t,e,n,l,a){n=n.render;var s=e.ref;if("ref"in l){var d={};for(var g in l)g!=="ref"&&(d[g]=l[g])}else d=l;return Al(e),l=fs(t,e,n,d,s,a),g=rs(),t!==null&&!qt?(os(t,e,a),fn(t,e,a)):(xt&&g&&Ic(e),e.flags|=1,le(t,e,l,a),e.child)}function jo(t,e,n,l,a){if(t===null){var s=n.type;return typeof s=="function"&&!Xc(s)&&s.defaultProps===void 0&&n.compare===null?(e.tag=15,e.type=s,No(t,e,s,l,a)):(t=_i(n.type,null,l,e,e.mode,a),t.ref=e.ref,t.return=e,e.child=t)}if(s=t.child,!Qs(t,a)){var d=s.memoizedProps;if(n=n.compare,n=n!==null?n:za,n(d,l)&&t.ref===e.ref)return fn(t,e,a)}return e.flags|=1,t=nn(s,l),t.ref=e.ref,t.return=e,e.child=t}function No(t,e,n,l,a){if(t!==null){var s=t.memoizedProps;if(za(s,l)&&t.ref===e.ref)if(qt=!1,e.pendingProps=l=s,Qs(t,a))(t.flags&131072)!==0&&(qt=!0);else return e.lanes=t.lanes,fn(t,e,a)}return ws(t,e,n,l,a)}function Ho(t,e,n,l){var a=l.children,s=t!==null?t.memoizedState:null;if(t===null&&e.stateNode===null&&(e.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),l.mode==="hidden"){if((e.flags&128)!==0){if(s=s!==null?s.baseLanes|n:n,t!==null){for(l=e.child=t.child,a=0;l!==null;)a=a|l.lanes|l.childLanes,l=l.sibling;l=a&~s}else l=0,e.child=null;return Bo(t,e,s,n,l)}if((n&536870912)!==0)e.memoizedState={baseLanes:0,cachePool:null},t!==null&&eu(e,s!==null?s.cachePool:null),s!==null?U0(e,s):is(),Q0(e);else return l=e.lanes=536870912,Bo(t,e,s!==null?s.baseLanes|n:n,n,l)}else s!==null?(eu(e,s.cachePool),U0(e,s),zn(),e.memoizedState=null):(t!==null&&eu(e,null),is(),zn());return le(t,e,a,n),e.child}function Pa(t,e){return t!==null&&t.tag===22||e.stateNode!==null||(e.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),e.sibling}function Bo(t,e,n,l,a){var s=$c();return s=s===null?null:{parent:Zt._currentValue,pool:s},e.memoizedState={baseLanes:n,cachePool:s},t!==null&&eu(e,null),is(),Q0(e),t!==null&&_l(t,e,l,!0),e.childLanes=a,null}function vu(t,e){return e=Eu({mode:e.mode,children:e.children},t.mode),e.ref=t.ref,t.child=e,e.return=t,e}function Uo(t,e,n){return pl(e,t.child,null,n),t=vu(e,e.pendingProps),t.flags|=2,Oe(e),e.memoizedState=null,t}function vg(t,e,n){var l=e.pendingProps,a=(e.flags&128)!==0;if(e.flags&=-129,t===null){if(xt){if(l.mode==="hidden")return t=vu(e,l),e.lanes=536870912,Pa(null,t);if(cs(e),(t=Nt)?(t=kd(t,ze),t=t!==null&&t.data==="&"?t:null,t!==null&&(e.memoizedState={dehydrated:t,treeContext:wn!==null?{id:Je,overflow:Fe}:null,retryLane:536870912,hydrationErrors:null},n=v0(t),n.return=e,e.child=n,ee=e,Nt=null)):t=null,t===null)throw jn(e);return e.lanes=536870912,null}return vu(e,l)}var s=t.memoizedState;if(s!==null){var d=s.dehydrated;if(cs(e),a)if(e.flags&256)e.flags&=-257,e=Uo(t,e,n);else if(e.memoizedState!==null)e.child=t.child,e.flags|=128,e=null;else throw Error(f(558));else if(qt||_l(t,e,n,!1),a=(n&t.childLanes)!==0,qt||a){if(l=jt,l!==null&&(d=Tr(l,n),d!==0&&d!==s.retryLane))throw s.retryLane=d,dl(t,d),ve(l,t,d),Rs;Ru(),e=Uo(t,e,n)}else t=s.treeContext,Nt=Le(d.nextSibling),ee=e,xt=!0,Mn=null,ze=!1,t!==null&&p0(e,t),e=vu(e,l),e.flags|=4096;return e}return t=nn(t.child,{mode:l.mode,children:l.children}),t.ref=e.ref,e.child=t,t.return=e,t}function yu(t,e){var n=e.ref;if(n===null)t!==null&&t.ref!==null&&(e.flags|=4194816);else{if(typeof n!="function"&&typeof n!="object")throw Error(f(284));(t===null||t.ref!==n)&&(e.flags|=4194816)}}function ws(t,e,n,l,a){return Al(e),n=fs(t,e,n,l,void 0,a),l=rs(),t!==null&&!qt?(os(t,e,a),fn(t,e,a)):(xt&&l&&Ic(e),e.flags|=1,le(t,e,n,a),e.child)}function Qo(t,e,n,l,a,s){return Al(e),e.updateQueue=null,n=Y0(e,l,n,a),z0(t),l=rs(),t!==null&&!qt?(os(t,e,s),fn(t,e,s)):(xt&&l&&Ic(e),e.flags|=1,le(t,e,n,s),e.child)}function zo(t,e,n,l,a){if(Al(e),e.stateNode===null){var s=kl,d=n.contextType;typeof d=="object"&&d!==null&&(s=ne(d)),s=new n(l,s),e.memoizedState=s.state!==null&&s.state!==void 0?s.state:null,s.updater=Os,e.stateNode=s,s._reactInternals=e,s=e.stateNode,s.props=l,s.state=e.memoizedState,s.refs={},es(e),d=n.contextType,s.context=typeof d=="object"&&d!==null?ne(d):kl,s.state=e.memoizedState,d=n.getDerivedStateFromProps,typeof d=="function"&&(Cs(e,n,d,l),s.state=e.memoizedState),typeof n.getDerivedStateFromProps=="function"||typeof s.getSnapshotBeforeUpdate=="function"||typeof s.UNSAFE_componentWillMount!="function"&&typeof s.componentWillMount!="function"||(d=s.state,typeof s.componentWillMount=="function"&&s.componentWillMount(),typeof s.UNSAFE_componentWillMount=="function"&&s.UNSAFE_componentWillMount(),d!==s.state&&Os.enqueueReplaceState(s,s.state,null),ka(e,l,s,a),Ka(),s.state=e.memoizedState),typeof s.componentDidMount=="function"&&(e.flags|=4194308),l=!0}else if(t===null){s=e.stateNode;var g=e.memoizedProps,S=bl(n,g);s.props=S;var U=s.context,Z=n.contextType;d=kl,typeof Z=="object"&&Z!==null&&(d=ne(Z));var J=n.getDerivedStateFromProps;Z=typeof J=="function"||typeof s.getSnapshotBeforeUpdate=="function",g=e.pendingProps!==g,Z||typeof s.UNSAFE_componentWillReceiveProps!="function"&&typeof s.componentWillReceiveProps!="function"||(g||U!==d)&&So(e,s,l,d),Hn=!1;var Q=e.memoizedState;s.state=Q,ka(e,l,s,a),Ka(),U=e.memoizedState,g||Q!==U||Hn?(typeof J=="function"&&(Cs(e,n,J,l),U=e.memoizedState),(S=Hn||bo(e,n,S,l,Q,U,d))?(Z||typeof s.UNSAFE_componentWillMount!="function"&&typeof s.componentWillMount!="function"||(typeof s.componentWillMount=="function"&&s.componentWillMount(),typeof s.UNSAFE_componentWillMount=="function"&&s.UNSAFE_componentWillMount()),typeof s.componentDidMount=="function"&&(e.flags|=4194308)):(typeof s.componentDidMount=="function"&&(e.flags|=4194308),e.memoizedProps=l,e.memoizedState=U),s.props=l,s.state=U,s.context=d,l=S):(typeof s.componentDidMount=="function"&&(e.flags|=4194308),l=!1)}else{s=e.stateNode,ns(t,e),d=e.memoizedProps,Z=bl(n,d),s.props=Z,J=e.pendingProps,Q=s.context,U=n.contextType,S=kl,typeof U=="object"&&U!==null&&(S=ne(U)),g=n.getDerivedStateFromProps,(U=typeof g=="function"||typeof s.getSnapshotBeforeUpdate=="function")||typeof s.UNSAFE_componentWillReceiveProps!="function"&&typeof s.componentWillReceiveProps!="function"||(d!==J||Q!==S)&&So(e,s,l,S),Hn=!1,Q=e.memoizedState,s.state=Q,ka(e,l,s,a),Ka();var G=e.memoizedState;d!==J||Q!==G||Hn||t!==null&&t.dependencies!==null&&$i(t.dependencies)?(typeof g=="function"&&(Cs(e,n,g,l),G=e.memoizedState),(Z=Hn||bo(e,n,Z,l,Q,G,S)||t!==null&&t.dependencies!==null&&$i(t.dependencies))?(U||typeof s.UNSAFE_componentWillUpdate!="function"&&typeof s.componentWillUpdate!="function"||(typeof s.componentWillUpdate=="function"&&s.componentWillUpdate(l,G,S),typeof s.UNSAFE_componentWillUpdate=="function"&&s.UNSAFE_componentWillUpdate(l,G,S)),typeof s.componentDidUpdate=="function"&&(e.flags|=4),typeof s.getSnapshotBeforeUpdate=="function"&&(e.flags|=1024)):(typeof s.componentDidUpdate!="function"||d===t.memoizedProps&&Q===t.memoizedState||(e.flags|=4),typeof s.getSnapshotBeforeUpdate!="function"||d===t.memoizedProps&&Q===t.memoizedState||(e.flags|=1024),e.memoizedProps=l,e.memoizedState=G),s.props=l,s.state=G,s.context=S,l=Z):(typeof s.componentDidUpdate!="function"||d===t.memoizedProps&&Q===t.memoizedState||(e.flags|=4),typeof s.getSnapshotBeforeUpdate!="function"||d===t.memoizedProps&&Q===t.memoizedState||(e.flags|=1024),l=!1)}return s=l,yu(t,e),l=(e.flags&128)!==0,s||l?(s=e.stateNode,n=l&&typeof n.getDerivedStateFromError!="function"?null:s.render(),e.flags|=1,t!==null&&l?(e.child=pl(e,t.child,null,a),e.child=pl(e,null,n,a)):le(t,e,n,a),e.memoizedState=s.state,t=e.child):t=fn(t,e,a),t}function Yo(t,e,n,l){return ml(),e.flags|=256,le(t,e,n,l),e.child}var Ms={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function js(t){return{baseLanes:t,cachePool:O0()}}function Ns(t,e,n){return t=t!==null?t.childLanes&~n:0,e&&(t|=Re),t}function Lo(t,e,n){var l=e.pendingProps,a=!1,s=(e.flags&128)!==0,d;if((d=s)||(d=t!==null&&t.memoizedState===null?!1:(Xt.current&2)!==0),d&&(a=!0,e.flags&=-129),d=(e.flags&32)!==0,e.flags&=-33,t===null){if(xt){if(a?Qn(e):zn(),(t=Nt)?(t=kd(t,ze),t=t!==null&&t.data!=="&"?t:null,t!==null&&(e.memoizedState={dehydrated:t,treeContext:wn!==null?{id:Je,overflow:Fe}:null,retryLane:536870912,hydrationErrors:null},n=v0(t),n.return=e,e.child=n,ee=e,Nt=null)):t=null,t===null)throw jn(e);return gf(t)?e.lanes=32:e.lanes=536870912,null}var g=l.children;return l=l.fallback,a?(zn(),a=e.mode,g=Eu({mode:"hidden",children:g},a),l=hl(l,a,n,null),g.return=e,l.return=e,g.sibling=l,e.child=g,l=e.child,l.memoizedState=js(n),l.childLanes=Ns(t,d,n),e.memoizedState=Ms,Pa(null,l)):(Qn(e),Hs(e,g))}var S=t.memoizedState;if(S!==null&&(g=S.dehydrated,g!==null)){if(s)e.flags&256?(Qn(e),e.flags&=-257,e=Bs(t,e,n)):e.memoizedState!==null?(zn(),e.child=t.child,e.flags|=128,e=null):(zn(),g=l.fallback,a=e.mode,l=Eu({mode:"visible",children:l.children},a),g=hl(g,a,n,null),g.flags|=2,l.return=e,g.return=e,l.sibling=g,e.child=l,pl(e,t.child,null,n),l=e.child,l.memoizedState=js(n),l.childLanes=Ns(t,d,n),e.memoizedState=Ms,e=Pa(null,l));else if(Qn(e),gf(g)){if(d=g.nextSibling&&g.nextSibling.dataset,d)var U=d.dgst;d=U,l=Error(f(419)),l.stack="",l.digest=d,Ga({value:l,source:null,stack:null}),e=Bs(t,e,n)}else if(qt||_l(t,e,n,!1),d=(n&t.childLanes)!==0,qt||d){if(d=jt,d!==null&&(l=Tr(d,n),l!==0&&l!==S.retryLane))throw S.retryLane=l,dl(t,l),ve(d,t,l),Rs;mf(g)||Ru(),e=Bs(t,e,n)}else mf(g)?(e.flags|=192,e.child=t.child,e=null):(t=S.treeContext,Nt=Le(g.nextSibling),ee=e,xt=!0,Mn=null,ze=!1,t!==null&&p0(e,t),e=Hs(e,l.children),e.flags|=4096);return e}return a?(zn(),g=l.fallback,a=e.mode,S=t.child,U=S.sibling,l=nn(S,{mode:"hidden",children:l.children}),l.subtreeFlags=S.subtreeFlags&65011712,U!==null?g=nn(U,g):(g=hl(g,a,n,null),g.flags|=2),g.return=e,l.return=e,l.sibling=g,e.child=l,Pa(null,l),l=e.child,g=t.child.memoizedState,g===null?g=js(n):(a=g.cachePool,a!==null?(S=Zt._currentValue,a=a.parent!==S?{parent:S,pool:S}:a):a=O0(),g={baseLanes:g.baseLanes|n,cachePool:a}),l.memoizedState=g,l.childLanes=Ns(t,d,n),e.memoizedState=Ms,Pa(t.child,l)):(Qn(e),n=t.child,t=n.sibling,n=nn(n,{mode:"visible",children:l.children}),n.return=e,n.sibling=null,t!==null&&(d=e.deletions,d===null?(e.deletions=[t],e.flags|=16):d.push(t)),e.child=n,e.memoizedState=null,n)}function Hs(t,e){return e=Eu({mode:"visible",children:e},t.mode),e.return=t,t.child=e}function Eu(t,e){return t=Te(22,t,null,e),t.lanes=0,t}function Bs(t,e,n){return pl(e,t.child,null,n),t=Hs(e,e.pendingProps.children),t.flags|=2,e.memoizedState=null,t}function Go(t,e,n){t.lanes|=e;var l=t.alternate;l!==null&&(l.lanes|=e),Fc(t.return,e,n)}function Us(t,e,n,l,a,s){var d=t.memoizedState;d===null?t.memoizedState={isBackwards:e,rendering:null,renderingStartTime:0,last:l,tail:n,tailMode:a,treeForkCount:s}:(d.isBackwards=e,d.rendering=null,d.renderingStartTime=0,d.last=l,d.tail=n,d.tailMode=a,d.treeForkCount=s)}function Xo(t,e,n){var l=e.pendingProps,a=l.revealOrder,s=l.tail;l=l.children;var d=Xt.current,g=(d&2)!==0;if(g?(d=d&1|2,e.flags|=128):d&=1,W(Xt,d),le(t,e,l,n),l=xt?La:0,!g&&t!==null&&(t.flags&128)!==0)t:for(t=e.child;t!==null;){if(t.tag===13)t.memoizedState!==null&&Go(t,n,e);else if(t.tag===19)Go(t,n,e);else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break t;for(;t.sibling===null;){if(t.return===null||t.return===e)break t;t=t.return}t.sibling.return=t.return,t=t.sibling}switch(a){case"forwards":for(n=e.child,a=null;n!==null;)t=n.alternate,t!==null&&cu(t)===null&&(a=n),n=n.sibling;n=a,n===null?(a=e.child,e.child=null):(a=n.sibling,n.sibling=null),Us(e,!1,a,n,s,l);break;case"backwards":case"unstable_legacy-backwards":for(n=null,a=e.child,e.child=null;a!==null;){if(t=a.alternate,t!==null&&cu(t)===null){e.child=a;break}t=a.sibling,a.sibling=n,n=a,a=t}Us(e,!0,n,null,s,l);break;case"together":Us(e,!1,null,null,void 0,l);break;default:e.memoizedState=null}return e.child}function fn(t,e,n){if(t!==null&&(e.dependencies=t.dependencies),Gn|=e.lanes,(n&e.childLanes)===0)if(t!==null){if(_l(t,e,n,!1),(n&e.childLanes)===0)return null}else return null;if(t!==null&&e.child!==t.child)throw Error(f(153));if(e.child!==null){for(t=e.child,n=nn(t,t.pendingProps),e.child=n,n.return=e;t.sibling!==null;)t=t.sibling,n=n.sibling=nn(t,t.pendingProps),n.return=e;n.sibling=null}return e.child}function Qs(t,e){return(t.lanes&e)!==0?!0:(t=t.dependencies,!!(t!==null&&$i(t)))}function yg(t,e,n){switch(e.tag){case 3:Jt(e,e.stateNode.containerInfo),Nn(e,Zt,t.memoizedState.cache),ml();break;case 27:case 5:Sn(e);break;case 4:Jt(e,e.stateNode.containerInfo);break;case 10:Nn(e,e.type,e.memoizedProps.value);break;case 31:if(e.memoizedState!==null)return e.flags|=128,cs(e),null;break;case 13:var l=e.memoizedState;if(l!==null)return l.dehydrated!==null?(Qn(e),e.flags|=128,null):(n&e.child.childLanes)!==0?Lo(t,e,n):(Qn(e),t=fn(t,e,n),t!==null?t.sibling:null);Qn(e);break;case 19:var a=(t.flags&128)!==0;if(l=(n&e.childLanes)!==0,l||(_l(t,e,n,!1),l=(n&e.childLanes)!==0),a){if(l)return Xo(t,e,n);e.flags|=128}if(a=e.memoizedState,a!==null&&(a.rendering=null,a.tail=null,a.lastEffect=null),W(Xt,Xt.current),l)break;return null;case 22:return e.lanes=0,Ho(t,e,n,e.pendingProps);case 24:Nn(e,Zt,t.memoizedState.cache)}return fn(t,e,n)}function Vo(t,e,n){if(t!==null)if(t.memoizedProps!==e.pendingProps)qt=!0;else{if(!Qs(t,n)&&(e.flags&128)===0)return qt=!1,yg(t,e,n);qt=(t.flags&131072)!==0}else qt=!1,xt&&(e.flags&1048576)!==0&&E0(e,La,e.index);switch(e.lanes=0,e.tag){case 16:t:{var l=e.pendingProps;if(t=yl(e.elementType),e.type=t,typeof t=="function")Xc(t)?(l=bl(t,l),e.tag=1,e=zo(null,e,t,l,n)):(e.tag=0,e=ws(null,e,t,l,n));else{if(t!=null){var a=t.$$typeof;if(a===V){e.tag=11,e=Mo(null,e,t,l,n);break t}else if(a===j){e.tag=14,e=jo(null,e,t,l,n);break t}}throw e=st(t)||t,Error(f(306,e,""))}}return e;case 0:return ws(t,e,e.type,e.pendingProps,n);case 1:return l=e.type,a=bl(l,e.pendingProps),zo(t,e,l,a,n);case 3:t:{if(Jt(e,e.stateNode.containerInfo),t===null)throw Error(f(387));l=e.pendingProps;var s=e.memoizedState;a=s.element,ns(t,e),ka(e,l,null,n);var d=e.memoizedState;if(l=d.cache,Nn(e,Zt,l),l!==s.cache&&Wc(e,[Zt],n,!0),Ka(),l=d.element,s.isDehydrated)if(s={element:l,isDehydrated:!1,cache:d.cache},e.updateQueue.baseState=s,e.memoizedState=s,e.flags&256){e=Yo(t,e,l,n);break t}else if(l!==a){a=Be(Error(f(424)),e),Ga(a),e=Yo(t,e,l,n);break t}else{switch(t=e.stateNode.containerInfo,t.nodeType){case 9:t=t.body;break;default:t=t.nodeName==="HTML"?t.ownerDocument.body:t}for(Nt=Le(t.firstChild),ee=e,xt=!0,Mn=null,ze=!0,n=N0(e,null,l,n),e.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(ml(),l===a){e=fn(t,e,n);break t}le(t,e,l,n)}e=e.child}return e;case 26:return yu(t,e),t===null?(n=$d(e.type,null,e.pendingProps,null))?e.memoizedState=n:xt||(n=e.type,t=e.pendingProps,l=Uu(ot.current).createElement(n),l[te]=e,l[oe]=t,ae(l,n,t),Ft(l),e.stateNode=l):e.memoizedState=$d(e.type,t.memoizedProps,e.pendingProps,t.memoizedState),null;case 27:return Sn(e),t===null&&xt&&(l=e.stateNode=Wd(e.type,e.pendingProps,ot.current),ee=e,ze=!0,a=Nt,qn(e.type)?(Af=a,Nt=Le(l.firstChild)):Nt=a),le(t,e,e.pendingProps.children,n),yu(t,e),t===null&&(e.flags|=4194304),e.child;case 5:return t===null&&xt&&((a=l=Nt)&&(l=Jg(l,e.type,e.pendingProps,ze),l!==null?(e.stateNode=l,ee=e,Nt=Le(l.firstChild),ze=!1,a=!0):a=!1),a||jn(e)),Sn(e),a=e.type,s=e.pendingProps,d=t!==null?t.memoizedProps:null,l=s.children,of(a,s)?l=null:d!==null&&of(a,d)&&(e.flags|=32),e.memoizedState!==null&&(a=fs(t,e,fg,null,null,n),hi._currentValue=a),yu(t,e),le(t,e,l,n),e.child;case 6:return t===null&&xt&&((t=n=Nt)&&(n=Fg(n,e.pendingProps,ze),n!==null?(e.stateNode=n,ee=e,Nt=null,t=!0):t=!1),t||jn(e)),null;case 13:return Lo(t,e,n);case 4:return Jt(e,e.stateNode.containerInfo),l=e.pendingProps,t===null?e.child=pl(e,null,l,n):le(t,e,l,n),e.child;case 11:return Mo(t,e,e.type,e.pendingProps,n);case 7:return le(t,e,e.pendingProps,n),e.child;case 8:return le(t,e,e.pendingProps.children,n),e.child;case 12:return le(t,e,e.pendingProps.children,n),e.child;case 10:return l=e.pendingProps,Nn(e,e.type,l.value),le(t,e,l.children,n),e.child;case 9:return a=e.type._context,l=e.pendingProps.children,Al(e),a=ne(a),l=l(a),e.flags|=1,le(t,e,l,n),e.child;case 14:return jo(t,e,e.type,e.pendingProps,n);case 15:return No(t,e,e.type,e.pendingProps,n);case 19:return Xo(t,e,n);case 31:return vg(t,e,n);case 22:return Ho(t,e,n,e.pendingProps);case 24:return Al(e),l=ne(Zt),t===null?(a=$c(),a===null&&(a=jt,s=_c(),a.pooledCache=s,s.refCount++,s!==null&&(a.pooledCacheLanes|=n),a=s),e.memoizedState={parent:l,cache:a},es(e),Nn(e,Zt,a)):((t.lanes&n)!==0&&(ns(t,e),ka(e,null,null,n),Ka()),a=t.memoizedState,s=e.memoizedState,a.parent!==l?(a={parent:l,cache:l},e.memoizedState=a,e.lanes===0&&(e.memoizedState=e.updateQueue.baseState=a),Nn(e,Zt,l)):(l=s.cache,Nn(e,Zt,l),l!==a.cache&&Wc(e,[Zt],n,!0))),le(t,e,e.pendingProps.children,n),e.child;case 29:throw e.pendingProps}throw Error(f(156,e.tag))}function rn(t){t.flags|=4}function zs(t,e,n,l,a){if((e=(t.mode&32)!==0)&&(e=!1),e){if(t.flags|=16777216,(a&335544128)===a)if(t.stateNode.complete)t.flags|=8192;else if(gd())t.flags|=8192;else throw El=lu,ts}else t.flags&=-16777217}function Zo(t,e){if(e.type!=="stylesheet"||(e.state.loading&4)!==0)t.flags&=-16777217;else if(t.flags|=16777216,!a1(e))if(gd())t.flags|=8192;else throw El=lu,ts}function pu(t,e){e!==null&&(t.flags|=4),t.flags&16384&&(e=t.tag!==22?xr():536870912,t.lanes|=e,fa|=e)}function $a(t,e){if(!xt)switch(t.tailMode){case"hidden":e=t.tail;for(var n=null;e!==null;)e.alternate!==null&&(n=e),e=e.sibling;n===null?t.tail=null:n.sibling=null;break;case"collapsed":n=t.tail;for(var l=null;n!==null;)n.alternate!==null&&(l=n),n=n.sibling;l===null?e||t.tail===null?t.tail=null:t.tail.sibling=null:l.sibling=null}}function Ht(t){var e=t.alternate!==null&&t.alternate.child===t.child,n=0,l=0;if(e)for(var a=t.child;a!==null;)n|=a.lanes|a.childLanes,l|=a.subtreeFlags&65011712,l|=a.flags&65011712,a.return=t,a=a.sibling;else for(a=t.child;a!==null;)n|=a.lanes|a.childLanes,l|=a.subtreeFlags,l|=a.flags,a.return=t,a=a.sibling;return t.subtreeFlags|=l,t.childLanes=n,e}function Eg(t,e,n){var l=e.pendingProps;switch(qc(e),e.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ht(e),null;case 1:return Ht(e),null;case 3:return n=e.stateNode,l=null,t!==null&&(l=t.memoizedState.cache),e.memoizedState.cache!==l&&(e.flags|=2048),un(Zt),Qt(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(t===null||t.child===null)&&(Wl(e)?rn(e):t===null||t.memoizedState.isDehydrated&&(e.flags&256)===0||(e.flags|=1024,kc())),Ht(e),null;case 26:var a=e.type,s=e.memoizedState;return t===null?(rn(e),s!==null?(Ht(e),Zo(e,s)):(Ht(e),zs(e,a,null,l,n))):s?s!==t.memoizedState?(rn(e),Ht(e),Zo(e,s)):(Ht(e),e.flags&=-16777217):(t=t.memoizedProps,t!==l&&rn(e),Ht(e),zs(e,a,t,l,n)),null;case 27:if(ul(e),n=ot.current,a=e.type,t!==null&&e.stateNode!=null)t.memoizedProps!==l&&rn(e);else{if(!l){if(e.stateNode===null)throw Error(f(166));return Ht(e),null}t=et.current,Wl(e)?x0(e):(t=Wd(a,l,n),e.stateNode=t,rn(e))}return Ht(e),null;case 5:if(ul(e),a=e.type,t!==null&&e.stateNode!=null)t.memoizedProps!==l&&rn(e);else{if(!l){if(e.stateNode===null)throw Error(f(166));return Ht(e),null}if(s=et.current,Wl(e))x0(e);else{var d=Uu(ot.current);switch(s){case 1:s=d.createElementNS("http://www.w3.org/2000/svg",a);break;case 2:s=d.createElementNS("http://www.w3.org/1998/Math/MathML",a);break;default:switch(a){case"svg":s=d.createElementNS("http://www.w3.org/2000/svg",a);break;case"math":s=d.createElementNS("http://www.w3.org/1998/Math/MathML",a);break;case"script":s=d.createElement("div"),s.innerHTML="<script><\/script>",s=s.removeChild(s.firstChild);break;case"select":s=typeof l.is=="string"?d.createElement("select",{is:l.is}):d.createElement("select"),l.multiple?s.multiple=!0:l.size&&(s.size=l.size);break;default:s=typeof l.is=="string"?d.createElement(a,{is:l.is}):d.createElement(a)}}s[te]=e,s[oe]=l;t:for(d=e.child;d!==null;){if(d.tag===5||d.tag===6)s.appendChild(d.stateNode);else if(d.tag!==4&&d.tag!==27&&d.child!==null){d.child.return=d,d=d.child;continue}if(d===e)break t;for(;d.sibling===null;){if(d.return===null||d.return===e)break t;d=d.return}d.sibling.return=d.return,d=d.sibling}e.stateNode=s;t:switch(ae(s,a,l),a){case"button":case"input":case"select":case"textarea":l=!!l.autoFocus;break t;case"img":l=!0;break t;default:l=!1}l&&rn(e)}}return Ht(e),zs(e,e.type,t===null?null:t.memoizedProps,e.pendingProps,n),null;case 6:if(t&&e.stateNode!=null)t.memoizedProps!==l&&rn(e);else{if(typeof l!="string"&&e.stateNode===null)throw Error(f(166));if(t=ot.current,Wl(e)){if(t=e.stateNode,n=e.memoizedProps,l=null,a=ee,a!==null)switch(a.tag){case 27:case 5:l=a.memoizedProps}t[te]=e,t=!!(t.nodeValue===n||l!==null&&l.suppressHydrationWarning===!0||Ld(t.nodeValue,n)),t||jn(e,!0)}else t=Uu(t).createTextNode(l),t[te]=e,e.stateNode=t}return Ht(e),null;case 31:if(n=e.memoizedState,t===null||t.memoizedState!==null){if(l=Wl(e),n!==null){if(t===null){if(!l)throw Error(f(318));if(t=e.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(f(557));t[te]=e}else ml(),(e.flags&128)===0&&(e.memoizedState=null),e.flags|=4;Ht(e),t=!1}else n=kc(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=n),t=!0;if(!t)return e.flags&256?(Oe(e),e):(Oe(e),null);if((e.flags&128)!==0)throw Error(f(558))}return Ht(e),null;case 13:if(l=e.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(a=Wl(e),l!==null&&l.dehydrated!==null){if(t===null){if(!a)throw Error(f(318));if(a=e.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(f(317));a[te]=e}else ml(),(e.flags&128)===0&&(e.memoizedState=null),e.flags|=4;Ht(e),a=!1}else a=kc(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=a),a=!0;if(!a)return e.flags&256?(Oe(e),e):(Oe(e),null)}return Oe(e),(e.flags&128)!==0?(e.lanes=n,e):(n=l!==null,t=t!==null&&t.memoizedState!==null,n&&(l=e.child,a=null,l.alternate!==null&&l.alternate.memoizedState!==null&&l.alternate.memoizedState.cachePool!==null&&(a=l.alternate.memoizedState.cachePool.pool),s=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(s=l.memoizedState.cachePool.pool),s!==a&&(l.flags|=2048)),n!==t&&n&&(e.child.flags|=8192),pu(e,e.updateQueue),Ht(e),null);case 4:return Qt(),t===null&&uf(e.stateNode.containerInfo),Ht(e),null;case 10:return un(e.type),Ht(e),null;case 19:if(L(Xt),l=e.memoizedState,l===null)return Ht(e),null;if(a=(e.flags&128)!==0,s=l.rendering,s===null)if(a)$a(l,!1);else{if(Gt!==0||t!==null&&(t.flags&128)!==0)for(t=e.child;t!==null;){if(s=cu(t),s!==null){for(e.flags|=128,$a(l,!1),t=s.updateQueue,e.updateQueue=t,pu(e,t),e.subtreeFlags=0,t=n,n=e.child;n!==null;)A0(n,t),n=n.sibling;return W(Xt,Xt.current&1|2),xt&&ln(e,l.treeForkCount),e.child}t=t.sibling}l.tail!==null&&pe()>Cu&&(e.flags|=128,a=!0,$a(l,!1),e.lanes=4194304)}else{if(!a)if(t=cu(s),t!==null){if(e.flags|=128,a=!0,t=t.updateQueue,e.updateQueue=t,pu(e,t),$a(l,!0),l.tail===null&&l.tailMode==="hidden"&&!s.alternate&&!xt)return Ht(e),null}else 2*pe()-l.renderingStartTime>Cu&&n!==536870912&&(e.flags|=128,a=!0,$a(l,!1),e.lanes=4194304);l.isBackwards?(s.sibling=e.child,e.child=s):(t=l.last,t!==null?t.sibling=s:e.child=s,l.last=s)}return l.tail!==null?(t=l.tail,l.rendering=t,l.tail=t.sibling,l.renderingStartTime=pe(),t.sibling=null,n=Xt.current,W(Xt,a?n&1|2:n&1),xt&&ln(e,l.treeForkCount),t):(Ht(e),null);case 22:case 23:return Oe(e),us(),l=e.memoizedState!==null,t!==null?t.memoizedState!==null!==l&&(e.flags|=8192):l&&(e.flags|=8192),l?(n&536870912)!==0&&(e.flags&128)===0&&(Ht(e),e.subtreeFlags&6&&(e.flags|=8192)):Ht(e),n=e.updateQueue,n!==null&&pu(e,n.retryQueue),n=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(n=t.memoizedState.cachePool.pool),l=null,e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(l=e.memoizedState.cachePool.pool),l!==n&&(e.flags|=2048),t!==null&&L(vl),null;case 24:return n=null,t!==null&&(n=t.memoizedState.cache),e.memoizedState.cache!==n&&(e.flags|=2048),un(Zt),Ht(e),null;case 25:return null;case 30:return null}throw Error(f(156,e.tag))}function pg(t,e){switch(qc(e),e.tag){case 1:return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 3:return un(Zt),Qt(),t=e.flags,(t&65536)!==0&&(t&128)===0?(e.flags=t&-65537|128,e):null;case 26:case 27:case 5:return ul(e),null;case 31:if(e.memoizedState!==null){if(Oe(e),e.alternate===null)throw Error(f(340));ml()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 13:if(Oe(e),t=e.memoizedState,t!==null&&t.dehydrated!==null){if(e.alternate===null)throw Error(f(340));ml()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 19:return L(Xt),null;case 4:return Qt(),null;case 10:return un(e.type),null;case 22:case 23:return Oe(e),us(),t!==null&&L(vl),t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 24:return un(Zt),null;case 25:return null;default:return null}}function Io(t,e){switch(qc(e),e.tag){case 3:un(Zt),Qt();break;case 26:case 27:case 5:ul(e);break;case 4:Qt();break;case 31:e.memoizedState!==null&&Oe(e);break;case 13:Oe(e);break;case 19:L(Xt);break;case 10:un(e.type);break;case 22:case 23:Oe(e),us(),t!==null&&L(vl);break;case 24:un(Zt)}}function ti(t,e){try{var n=e.updateQueue,l=n!==null?n.lastEffect:null;if(l!==null){var a=l.next;n=a;do{if((n.tag&t)===t){l=void 0;var s=n.create,d=n.inst;l=s(),d.destroy=l}n=n.next}while(n!==a)}}catch(g){Dt(e,e.return,g)}}function Yn(t,e,n){try{var l=e.updateQueue,a=l!==null?l.lastEffect:null;if(a!==null){var s=a.next;l=s;do{if((l.tag&t)===t){var d=l.inst,g=d.destroy;if(g!==void 0){d.destroy=void 0,a=e;var S=n,U=g;try{U()}catch(Z){Dt(a,S,Z)}}}l=l.next}while(l!==s)}}catch(Z){Dt(e,e.return,Z)}}function qo(t){var e=t.updateQueue;if(e!==null){var n=t.stateNode;try{B0(e,n)}catch(l){Dt(t,t.return,l)}}}function Ko(t,e,n){n.props=bl(t.type,t.memoizedProps),n.state=t.memoizedState;try{n.componentWillUnmount()}catch(l){Dt(t,e,l)}}function ei(t,e){try{var n=t.ref;if(n!==null){switch(t.tag){case 26:case 27:case 5:var l=t.stateNode;break;case 30:l=t.stateNode;break;default:l=t.stateNode}typeof n=="function"?t.refCleanup=n(l):n.current=l}}catch(a){Dt(t,e,a)}}function We(t,e){var n=t.ref,l=t.refCleanup;if(n!==null)if(typeof l=="function")try{l()}catch(a){Dt(t,e,a)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(a){Dt(t,e,a)}else n.current=null}function ko(t){var e=t.type,n=t.memoizedProps,l=t.stateNode;try{t:switch(e){case"button":case"input":case"select":case"textarea":n.autoFocus&&l.focus();break t;case"img":n.src?l.src=n.src:n.srcSet&&(l.srcset=n.srcSet)}}catch(a){Dt(t,t.return,a)}}function Ys(t,e,n){try{var l=t.stateNode;Vg(l,t.type,n,e),l[oe]=e}catch(a){Dt(t,t.return,a)}}function Jo(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&qn(t.type)||t.tag===4}function Ls(t){t:for(;;){for(;t.sibling===null;){if(t.return===null||Jo(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&qn(t.type)||t.flags&2||t.child===null||t.tag===4)continue t;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Gs(t,e,n){var l=t.tag;if(l===5||l===6)t=t.stateNode,e?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(t,e):(e=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,e.appendChild(t),n=n._reactRootContainer,n!=null||e.onclick!==null||(e.onclick=tn));else if(l!==4&&(l===27&&qn(t.type)&&(n=t.stateNode,e=null),t=t.child,t!==null))for(Gs(t,e,n),t=t.sibling;t!==null;)Gs(t,e,n),t=t.sibling}function xu(t,e,n){var l=t.tag;if(l===5||l===6)t=t.stateNode,e?n.insertBefore(t,e):n.appendChild(t);else if(l!==4&&(l===27&&qn(t.type)&&(n=t.stateNode),t=t.child,t!==null))for(xu(t,e,n),t=t.sibling;t!==null;)xu(t,e,n),t=t.sibling}function Fo(t){var e=t.stateNode,n=t.memoizedProps;try{for(var l=t.type,a=e.attributes;a.length;)e.removeAttributeNode(a[0]);ae(e,l,n),e[te]=t,e[oe]=n}catch(s){Dt(t,t.return,s)}}var on=!1,Kt=!1,Xs=!1,Wo=typeof WeakSet=="function"?WeakSet:Set,Wt=null;function xg(t,e){if(t=t.containerInfo,ff=Vu,t=c0(t),Bc(t)){if("selectionStart"in t)var n={start:t.selectionStart,end:t.selectionEnd};else t:{n=(n=t.ownerDocument)&&n.defaultView||window;var l=n.getSelection&&n.getSelection();if(l&&l.rangeCount!==0){n=l.anchorNode;var a=l.anchorOffset,s=l.focusNode;l=l.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break t}var d=0,g=-1,S=-1,U=0,Z=0,J=t,Q=null;e:for(;;){for(var G;J!==n||a!==0&&J.nodeType!==3||(g=d+a),J!==s||l!==0&&J.nodeType!==3||(S=d+l),J.nodeType===3&&(d+=J.nodeValue.length),(G=J.firstChild)!==null;)Q=J,J=G;for(;;){if(J===t)break e;if(Q===n&&++U===a&&(g=d),Q===s&&++Z===l&&(S=d),(G=J.nextSibling)!==null)break;J=Q,Q=J.parentNode}J=G}n=g===-1||S===-1?null:{start:g,end:S}}else n=null}n=n||{start:0,end:0}}else n=null;for(rf={focusedElem:t,selectionRange:n},Vu=!1,Wt=e;Wt!==null;)if(e=Wt,t=e.child,(e.subtreeFlags&1028)!==0&&t!==null)t.return=e,Wt=t;else for(;Wt!==null;){switch(e=Wt,s=e.alternate,t=e.flags,e.tag){case 0:if((t&4)!==0&&(t=e.updateQueue,t=t!==null?t.events:null,t!==null))for(n=0;n<t.length;n++)a=t[n],a.ref.impl=a.nextImpl;break;case 11:case 15:break;case 1:if((t&1024)!==0&&s!==null){t=void 0,n=e,a=s.memoizedProps,s=s.memoizedState,l=n.stateNode;try{var lt=bl(n.type,a);t=l.getSnapshotBeforeUpdate(lt,s),l.__reactInternalSnapshotBeforeUpdate=t}catch(ft){Dt(n,n.return,ft)}}break;case 3:if((t&1024)!==0){if(t=e.stateNode.containerInfo,n=t.nodeType,n===9)hf(t);else if(n===1)switch(t.nodeName){case"HEAD":case"HTML":case"BODY":hf(t);break;default:t.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((t&1024)!==0)throw Error(f(163))}if(t=e.sibling,t!==null){t.return=e.return,Wt=t;break}Wt=e.return}}function _o(t,e,n){var l=n.flags;switch(n.tag){case 0:case 11:case 15:hn(t,n),l&4&&ti(5,n);break;case 1:if(hn(t,n),l&4)if(t=n.stateNode,e===null)try{t.componentDidMount()}catch(d){Dt(n,n.return,d)}else{var a=bl(n.type,e.memoizedProps);e=e.memoizedState;try{t.componentDidUpdate(a,e,t.__reactInternalSnapshotBeforeUpdate)}catch(d){Dt(n,n.return,d)}}l&64&&qo(n),l&512&&ei(n,n.return);break;case 3:if(hn(t,n),l&64&&(t=n.updateQueue,t!==null)){if(e=null,n.child!==null)switch(n.child.tag){case 27:case 5:e=n.child.stateNode;break;case 1:e=n.child.stateNode}try{B0(t,e)}catch(d){Dt(n,n.return,d)}}break;case 27:e===null&&l&4&&Fo(n);case 26:case 5:hn(t,n),e===null&&l&4&&ko(n),l&512&&ei(n,n.return);break;case 12:hn(t,n);break;case 31:hn(t,n),l&4&&td(t,n);break;case 13:hn(t,n),l&4&&ed(t,n),l&64&&(t=n.memoizedState,t!==null&&(t=t.dehydrated,t!==null&&(n=Mg.bind(null,n),Wg(t,n))));break;case 22:if(l=n.memoizedState!==null||on,!l){e=e!==null&&e.memoizedState!==null||Kt,a=on;var s=Kt;on=l,(Kt=e)&&!s?mn(t,n,(n.subtreeFlags&8772)!==0):hn(t,n),on=a,Kt=s}break;case 30:break;default:hn(t,n)}}function Po(t){var e=t.alternate;e!==null&&(t.alternate=null,Po(e)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(e=t.stateNode,e!==null&&vc(e)),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}var zt=null,he=!1;function dn(t,e,n){for(n=n.child;n!==null;)$o(t,e,n),n=n.sibling}function $o(t,e,n){if(xe&&typeof xe.onCommitFiberUnmount=="function")try{xe.onCommitFiberUnmount(Ca,n)}catch{}switch(n.tag){case 26:Kt||We(n,e),dn(t,e,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:Kt||We(n,e);var l=zt,a=he;qn(n.type)&&(zt=n.stateNode,he=!1),dn(t,e,n),ri(n.stateNode),zt=l,he=a;break;case 5:Kt||We(n,e);case 6:if(l=zt,a=he,zt=null,dn(t,e,n),zt=l,he=a,zt!==null)if(he)try{(zt.nodeType===9?zt.body:zt.nodeName==="HTML"?zt.ownerDocument.body:zt).removeChild(n.stateNode)}catch(s){Dt(n,e,s)}else try{zt.removeChild(n.stateNode)}catch(s){Dt(n,e,s)}break;case 18:zt!==null&&(he?(t=zt,qd(t.nodeType===9?t.body:t.nodeName==="HTML"?t.ownerDocument.body:t,n.stateNode),va(t)):qd(zt,n.stateNode));break;case 4:l=zt,a=he,zt=n.stateNode.containerInfo,he=!0,dn(t,e,n),zt=l,he=a;break;case 0:case 11:case 14:case 15:Yn(2,n,e),Kt||Yn(4,n,e),dn(t,e,n);break;case 1:Kt||(We(n,e),l=n.stateNode,typeof l.componentWillUnmount=="function"&&Ko(n,e,l)),dn(t,e,n);break;case 21:dn(t,e,n);break;case 22:Kt=(l=Kt)||n.memoizedState!==null,dn(t,e,n),Kt=l;break;default:dn(t,e,n)}}function td(t,e){if(e.memoizedState===null&&(t=e.alternate,t!==null&&(t=t.memoizedState,t!==null))){t=t.dehydrated;try{va(t)}catch(n){Dt(e,e.return,n)}}}function ed(t,e){if(e.memoizedState===null&&(t=e.alternate,t!==null&&(t=t.memoizedState,t!==null&&(t=t.dehydrated,t!==null))))try{va(t)}catch(n){Dt(e,e.return,n)}}function bg(t){switch(t.tag){case 31:case 13:case 19:var e=t.stateNode;return e===null&&(e=t.stateNode=new Wo),e;case 22:return t=t.stateNode,e=t._retryCache,e===null&&(e=t._retryCache=new Wo),e;default:throw Error(f(435,t.tag))}}function bu(t,e){var n=bg(t);e.forEach(function(l){if(!n.has(l)){n.add(l);var a=jg.bind(null,t,l);l.then(a,a)}})}function me(t,e){var n=e.deletions;if(n!==null)for(var l=0;l<n.length;l++){var a=n[l],s=t,d=e,g=d;t:for(;g!==null;){switch(g.tag){case 27:if(qn(g.type)){zt=g.stateNode,he=!1;break t}break;case 5:zt=g.stateNode,he=!1;break t;case 3:case 4:zt=g.stateNode.containerInfo,he=!0;break t}g=g.return}if(zt===null)throw Error(f(160));$o(s,d,a),zt=null,he=!1,s=a.alternate,s!==null&&(s.return=null),a.return=null}if(e.subtreeFlags&13886)for(e=e.child;e!==null;)nd(e,t),e=e.sibling}var qe=null;function nd(t,e){var n=t.alternate,l=t.flags;switch(t.tag){case 0:case 11:case 14:case 15:me(e,t),ge(t),l&4&&(Yn(3,t,t.return),ti(3,t),Yn(5,t,t.return));break;case 1:me(e,t),ge(t),l&512&&(Kt||n===null||We(n,n.return)),l&64&&on&&(t=t.updateQueue,t!==null&&(l=t.callbacks,l!==null&&(n=t.shared.hiddenCallbacks,t.shared.hiddenCallbacks=n===null?l:n.concat(l))));break;case 26:var a=qe;if(me(e,t),ge(t),l&512&&(Kt||n===null||We(n,n.return)),l&4){var s=n!==null?n.memoizedState:null;if(l=t.memoizedState,n===null)if(l===null)if(t.stateNode===null){t:{l=t.type,n=t.memoizedProps,a=a.ownerDocument||a;e:switch(l){case"title":s=a.getElementsByTagName("title")[0],(!s||s[Ra]||s[te]||s.namespaceURI==="http://www.w3.org/2000/svg"||s.hasAttribute("itemprop"))&&(s=a.createElement(l),a.head.insertBefore(s,a.querySelector("head > title"))),ae(s,l,n),s[te]=t,Ft(s),l=s;break t;case"link":var d=n1("link","href",a).get(l+(n.href||""));if(d){for(var g=0;g<d.length;g++)if(s=d[g],s.getAttribute("href")===(n.href==null||n.href===""?null:n.href)&&s.getAttribute("rel")===(n.rel==null?null:n.rel)&&s.getAttribute("title")===(n.title==null?null:n.title)&&s.getAttribute("crossorigin")===(n.crossOrigin==null?null:n.crossOrigin)){d.splice(g,1);break e}}s=a.createElement(l),ae(s,l,n),a.head.appendChild(s);break;case"meta":if(d=n1("meta","content",a).get(l+(n.content||""))){for(g=0;g<d.length;g++)if(s=d[g],s.getAttribute("content")===(n.content==null?null:""+n.content)&&s.getAttribute("name")===(n.name==null?null:n.name)&&s.getAttribute("property")===(n.property==null?null:n.property)&&s.getAttribute("http-equiv")===(n.httpEquiv==null?null:n.httpEquiv)&&s.getAttribute("charset")===(n.charSet==null?null:n.charSet)){d.splice(g,1);break e}}s=a.createElement(l),ae(s,l,n),a.head.appendChild(s);break;default:throw Error(f(468,l))}s[te]=t,Ft(s),l=s}t.stateNode=l}else l1(a,t.type,t.stateNode);else t.stateNode=e1(a,l,t.memoizedProps);else s!==l?(s===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):s.count--,l===null?l1(a,t.type,t.stateNode):e1(a,l,t.memoizedProps)):l===null&&t.stateNode!==null&&Ys(t,t.memoizedProps,n.memoizedProps)}break;case 27:me(e,t),ge(t),l&512&&(Kt||n===null||We(n,n.return)),n!==null&&l&4&&Ys(t,t.memoizedProps,n.memoizedProps);break;case 5:if(me(e,t),ge(t),l&512&&(Kt||n===null||We(n,n.return)),t.flags&32){a=t.stateNode;try{Gl(a,"")}catch(lt){Dt(t,t.return,lt)}}l&4&&t.stateNode!=null&&(a=t.memoizedProps,Ys(t,a,n!==null?n.memoizedProps:a)),l&1024&&(Xs=!0);break;case 6:if(me(e,t),ge(t),l&4){if(t.stateNode===null)throw Error(f(162));l=t.memoizedProps,n=t.stateNode;try{n.nodeValue=l}catch(lt){Dt(t,t.return,lt)}}break;case 3:if(Yu=null,a=qe,qe=Qu(e.containerInfo),me(e,t),qe=a,ge(t),l&4&&n!==null&&n.memoizedState.isDehydrated)try{va(e.containerInfo)}catch(lt){Dt(t,t.return,lt)}Xs&&(Xs=!1,ld(t));break;case 4:l=qe,qe=Qu(t.stateNode.containerInfo),me(e,t),ge(t),qe=l;break;case 12:me(e,t),ge(t);break;case 31:me(e,t),ge(t),l&4&&(l=t.updateQueue,l!==null&&(t.updateQueue=null,bu(t,l)));break;case 13:me(e,t),ge(t),t.child.flags&8192&&t.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(Tu=pe()),l&4&&(l=t.updateQueue,l!==null&&(t.updateQueue=null,bu(t,l)));break;case 22:a=t.memoizedState!==null;var S=n!==null&&n.memoizedState!==null,U=on,Z=Kt;if(on=U||a,Kt=Z||S,me(e,t),Kt=Z,on=U,ge(t),l&8192)t:for(e=t.stateNode,e._visibility=a?e._visibility&-2:e._visibility|1,a&&(n===null||S||on||Kt||Sl(t)),n=null,e=t;;){if(e.tag===5||e.tag===26){if(n===null){S=n=e;try{if(s=S.stateNode,a)d=s.style,typeof d.setProperty=="function"?d.setProperty("display","none","important"):d.display="none";else{g=S.stateNode;var J=S.memoizedProps.style,Q=J!=null&&J.hasOwnProperty("display")?J.display:null;g.style.display=Q==null||typeof Q=="boolean"?"":(""+Q).trim()}}catch(lt){Dt(S,S.return,lt)}}}else if(e.tag===6){if(n===null){S=e;try{S.stateNode.nodeValue=a?"":S.memoizedProps}catch(lt){Dt(S,S.return,lt)}}}else if(e.tag===18){if(n===null){S=e;try{var G=S.stateNode;a?Kd(G,!0):Kd(S.stateNode,!1)}catch(lt){Dt(S,S.return,lt)}}}else if((e.tag!==22&&e.tag!==23||e.memoizedState===null||e===t)&&e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break t;for(;e.sibling===null;){if(e.return===null||e.return===t)break t;n===e&&(n=null),e=e.return}n===e&&(n=null),e.sibling.return=e.return,e=e.sibling}l&4&&(l=t.updateQueue,l!==null&&(n=l.retryQueue,n!==null&&(l.retryQueue=null,bu(t,n))));break;case 19:me(e,t),ge(t),l&4&&(l=t.updateQueue,l!==null&&(t.updateQueue=null,bu(t,l)));break;case 30:break;case 21:break;default:me(e,t),ge(t)}}function ge(t){var e=t.flags;if(e&2){try{for(var n,l=t.return;l!==null;){if(Jo(l)){n=l;break}l=l.return}if(n==null)throw Error(f(160));switch(n.tag){case 27:var a=n.stateNode,s=Ls(t);xu(t,s,a);break;case 5:var d=n.stateNode;n.flags&32&&(Gl(d,""),n.flags&=-33);var g=Ls(t);xu(t,g,d);break;case 3:case 4:var S=n.stateNode.containerInfo,U=Ls(t);Gs(t,U,S);break;default:throw Error(f(161))}}catch(Z){Dt(t,t.return,Z)}t.flags&=-3}e&4096&&(t.flags&=-4097)}function ld(t){if(t.subtreeFlags&1024)for(t=t.child;t!==null;){var e=t;ld(e),e.tag===5&&e.flags&1024&&e.stateNode.reset(),t=t.sibling}}function hn(t,e){if(e.subtreeFlags&8772)for(e=e.child;e!==null;)_o(t,e.alternate,e),e=e.sibling}function Sl(t){for(t=t.child;t!==null;){var e=t;switch(e.tag){case 0:case 11:case 14:case 15:Yn(4,e,e.return),Sl(e);break;case 1:We(e,e.return);var n=e.stateNode;typeof n.componentWillUnmount=="function"&&Ko(e,e.return,n),Sl(e);break;case 27:ri(e.stateNode);case 26:case 5:We(e,e.return),Sl(e);break;case 22:e.memoizedState===null&&Sl(e);break;case 30:Sl(e);break;default:Sl(e)}t=t.sibling}}function mn(t,e,n){for(n=n&&(e.subtreeFlags&8772)!==0,e=e.child;e!==null;){var l=e.alternate,a=t,s=e,d=s.flags;switch(s.tag){case 0:case 11:case 15:mn(a,s,n),ti(4,s);break;case 1:if(mn(a,s,n),l=s,a=l.stateNode,typeof a.componentDidMount=="function")try{a.componentDidMount()}catch(U){Dt(l,l.return,U)}if(l=s,a=l.updateQueue,a!==null){var g=l.stateNode;try{var S=a.shared.hiddenCallbacks;if(S!==null)for(a.shared.hiddenCallbacks=null,a=0;a<S.length;a++)H0(S[a],g)}catch(U){Dt(l,l.return,U)}}n&&d&64&&qo(s),ei(s,s.return);break;case 27:Fo(s);case 26:case 5:mn(a,s,n),n&&l===null&&d&4&&ko(s),ei(s,s.return);break;case 12:mn(a,s,n);break;case 31:mn(a,s,n),n&&d&4&&td(a,s);break;case 13:mn(a,s,n),n&&d&4&&ed(a,s);break;case 22:s.memoizedState===null&&mn(a,s,n),ei(s,s.return);break;case 30:break;default:mn(a,s,n)}e=e.sibling}}function Vs(t,e){var n=null;t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(n=t.memoizedState.cachePool.pool),t=null,e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(t=e.memoizedState.cachePool.pool),t!==n&&(t!=null&&t.refCount++,n!=null&&Xa(n))}function Zs(t,e){t=null,e.alternate!==null&&(t=e.alternate.memoizedState.cache),e=e.memoizedState.cache,e!==t&&(e.refCount++,t!=null&&Xa(t))}function Ke(t,e,n,l){if(e.subtreeFlags&10256)for(e=e.child;e!==null;)ad(t,e,n,l),e=e.sibling}function ad(t,e,n,l){var a=e.flags;switch(e.tag){case 0:case 11:case 15:Ke(t,e,n,l),a&2048&&ti(9,e);break;case 1:Ke(t,e,n,l);break;case 3:Ke(t,e,n,l),a&2048&&(t=null,e.alternate!==null&&(t=e.alternate.memoizedState.cache),e=e.memoizedState.cache,e!==t&&(e.refCount++,t!=null&&Xa(t)));break;case 12:if(a&2048){Ke(t,e,n,l),t=e.stateNode;try{var s=e.memoizedProps,d=s.id,g=s.onPostCommit;typeof g=="function"&&g(d,e.alternate===null?"mount":"update",t.passiveEffectDuration,-0)}catch(S){Dt(e,e.return,S)}}else Ke(t,e,n,l);break;case 31:Ke(t,e,n,l);break;case 13:Ke(t,e,n,l);break;case 23:break;case 22:s=e.stateNode,d=e.alternate,e.memoizedState!==null?s._visibility&2?Ke(t,e,n,l):ni(t,e):s._visibility&2?Ke(t,e,n,l):(s._visibility|=2,ua(t,e,n,l,(e.subtreeFlags&10256)!==0||!1)),a&2048&&Vs(d,e);break;case 24:Ke(t,e,n,l),a&2048&&Zs(e.alternate,e);break;default:Ke(t,e,n,l)}}function ua(t,e,n,l,a){for(a=a&&((e.subtreeFlags&10256)!==0||!1),e=e.child;e!==null;){var s=t,d=e,g=n,S=l,U=d.flags;switch(d.tag){case 0:case 11:case 15:ua(s,d,g,S,a),ti(8,d);break;case 23:break;case 22:var Z=d.stateNode;d.memoizedState!==null?Z._visibility&2?ua(s,d,g,S,a):ni(s,d):(Z._visibility|=2,ua(s,d,g,S,a)),a&&U&2048&&Vs(d.alternate,d);break;case 24:ua(s,d,g,S,a),a&&U&2048&&Zs(d.alternate,d);break;default:ua(s,d,g,S,a)}e=e.sibling}}function ni(t,e){if(e.subtreeFlags&10256)for(e=e.child;e!==null;){var n=t,l=e,a=l.flags;switch(l.tag){case 22:ni(n,l),a&2048&&Vs(l.alternate,l);break;case 24:ni(n,l),a&2048&&Zs(l.alternate,l);break;default:ni(n,l)}e=e.sibling}}var li=8192;function ca(t,e,n){if(t.subtreeFlags&li)for(t=t.child;t!==null;)id(t,e,n),t=t.sibling}function id(t,e,n){switch(t.tag){case 26:ca(t,e,n),t.flags&li&&t.memoizedState!==null&&sA(n,qe,t.memoizedState,t.memoizedProps);break;case 5:ca(t,e,n);break;case 3:case 4:var l=qe;qe=Qu(t.stateNode.containerInfo),ca(t,e,n),qe=l;break;case 22:t.memoizedState===null&&(l=t.alternate,l!==null&&l.memoizedState!==null?(l=li,li=16777216,ca(t,e,n),li=l):ca(t,e,n));break;default:ca(t,e,n)}}function ud(t){var e=t.alternate;if(e!==null&&(t=e.child,t!==null)){e.child=null;do e=t.sibling,t.sibling=null,t=e;while(t!==null)}}function ai(t){var e=t.deletions;if((t.flags&16)!==0){if(e!==null)for(var n=0;n<e.length;n++){var l=e[n];Wt=l,sd(l,t)}ud(t)}if(t.subtreeFlags&10256)for(t=t.child;t!==null;)cd(t),t=t.sibling}function cd(t){switch(t.tag){case 0:case 11:case 15:ai(t),t.flags&2048&&Yn(9,t,t.return);break;case 3:ai(t);break;case 12:ai(t);break;case 22:var e=t.stateNode;t.memoizedState!==null&&e._visibility&2&&(t.return===null||t.return.tag!==13)?(e._visibility&=-3,Su(t)):ai(t);break;default:ai(t)}}function Su(t){var e=t.deletions;if((t.flags&16)!==0){if(e!==null)for(var n=0;n<e.length;n++){var l=e[n];Wt=l,sd(l,t)}ud(t)}for(t=t.child;t!==null;){switch(e=t,e.tag){case 0:case 11:case 15:Yn(8,e,e.return),Su(e);break;case 22:n=e.stateNode,n._visibility&2&&(n._visibility&=-3,Su(e));break;default:Su(e)}t=t.sibling}}function sd(t,e){for(;Wt!==null;){var n=Wt;switch(n.tag){case 0:case 11:case 15:Yn(8,n,e);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var l=n.memoizedState.cachePool.pool;l!=null&&l.refCount++}break;case 24:Xa(n.memoizedState.cache)}if(l=n.child,l!==null)l.return=n,Wt=l;else t:for(n=t;Wt!==null;){l=Wt;var a=l.sibling,s=l.return;if(Po(l),l===n){Wt=null;break t}if(a!==null){a.return=s,Wt=a;break t}Wt=s}}}var Sg={getCacheForType:function(t){var e=ne(Zt),n=e.data.get(t);return n===void 0&&(n=t(),e.data.set(t,n)),n},cacheSignal:function(){return ne(Zt).controller.signal}},Tg=typeof WeakMap=="function"?WeakMap:Map,Ct=0,jt=null,vt=null,Et=0,Ot=0,De=null,Ln=!1,sa=!1,Is=!1,gn=0,Gt=0,Gn=0,Tl=0,qs=0,Re=0,fa=0,ii=null,Ae=null,Ks=!1,Tu=0,fd=0,Cu=1/0,Ou=null,Xn=null,kt=0,Vn=null,ra=null,An=0,ks=0,Js=null,rd=null,ui=0,Fs=null;function we(){return(Ct&2)!==0&&Et!==0?Et&-Et:M.T!==null?ef():Cr()}function od(){if(Re===0)if((Et&536870912)===0||xt){var t=Bi;Bi<<=1,(Bi&3932160)===0&&(Bi=262144),Re=t}else Re=536870912;return t=Ce.current,t!==null&&(t.flags|=32),Re}function ve(t,e,n){(t===jt&&(Ot===2||Ot===9)||t.cancelPendingCommit!==null)&&(oa(t,0),Zn(t,Et,Re,!1)),Da(t,n),((Ct&2)===0||t!==jt)&&(t===jt&&((Ct&2)===0&&(Tl|=n),Gt===4&&Zn(t,Et,Re,!1)),_e(t))}function dd(t,e,n){if((Ct&6)!==0)throw Error(f(327));var l=!n&&(e&127)===0&&(e&t.expiredLanes)===0||Oa(t,e),a=l?Dg(t,e):_s(t,e,!0),s=l;do{if(a===0){sa&&!l&&Zn(t,e,0,!1);break}else{if(n=t.current.alternate,s&&!Cg(n)){a=_s(t,e,!1),s=!1;continue}if(a===2){if(s=e,t.errorRecoveryDisabledLanes&s)var d=0;else d=t.pendingLanes&-536870913,d=d!==0?d:d&536870912?536870912:0;if(d!==0){e=d;t:{var g=t;a=ii;var S=g.current.memoizedState.isDehydrated;if(S&&(oa(g,d).flags|=256),d=_s(g,d,!1),d!==2){if(Is&&!S){g.errorRecoveryDisabledLanes|=s,Tl|=s,a=4;break t}s=Ae,Ae=a,s!==null&&(Ae===null?Ae=s:Ae.push.apply(Ae,s))}a=d}if(s=!1,a!==2)continue}}if(a===1){oa(t,0),Zn(t,e,0,!0);break}t:{switch(l=t,s=a,s){case 0:case 1:throw Error(f(345));case 4:if((e&4194048)!==e)break;case 6:Zn(l,e,Re,!Ln);break t;case 2:Ae=null;break;case 3:case 5:break;default:throw Error(f(329))}if((e&62914560)===e&&(a=Tu+300-pe(),10<a)){if(Zn(l,e,Re,!Ln),Qi(l,0,!0)!==0)break t;An=e,l.timeoutHandle=Zd(hd.bind(null,l,n,Ae,Ou,Ks,e,Re,Tl,fa,Ln,s,"Throttled",-0,0),a);break t}hd(l,n,Ae,Ou,Ks,e,Re,Tl,fa,Ln,s,null,-0,0)}}break}while(!0);_e(t)}function hd(t,e,n,l,a,s,d,g,S,U,Z,J,Q,G){if(t.timeoutHandle=-1,J=e.subtreeFlags,J&8192||(J&16785408)===16785408){J={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:tn},id(e,s,J);var lt=(s&62914560)===s?Tu-pe():(s&4194048)===s?fd-pe():0;if(lt=fA(J,lt),lt!==null){An=s,t.cancelPendingCommit=lt(xd.bind(null,t,e,s,n,l,a,d,g,S,Z,J,null,Q,G)),Zn(t,s,d,!U);return}}xd(t,e,s,n,l,a,d,g,S)}function Cg(t){for(var e=t;;){var n=e.tag;if((n===0||n===11||n===15)&&e.flags&16384&&(n=e.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var l=0;l<n.length;l++){var a=n[l],s=a.getSnapshot;a=a.value;try{if(!Se(s(),a))return!1}catch{return!1}}if(n=e.child,e.subtreeFlags&16384&&n!==null)n.return=e,e=n;else{if(e===t)break;for(;e.sibling===null;){if(e.return===null||e.return===t)return!0;e=e.return}e.sibling.return=e.return,e=e.sibling}}return!0}function Zn(t,e,n,l){e&=~qs,e&=~Tl,t.suspendedLanes|=e,t.pingedLanes&=~e,l&&(t.warmLanes|=e),l=t.expirationTimes;for(var a=e;0<a;){var s=31-be(a),d=1<<s;l[s]=-1,a&=~d}n!==0&&br(t,n,e)}function Du(){return(Ct&6)===0?(ci(0),!1):!0}function Ws(){if(vt!==null){if(Ot===0)var t=vt.return;else t=vt,an=gl=null,ds(t),ea=null,Za=0,t=vt;for(;t!==null;)Io(t.alternate,t),t=t.return;vt=null}}function oa(t,e){var n=t.timeoutHandle;n!==-1&&(t.timeoutHandle=-1,qg(n)),n=t.cancelPendingCommit,n!==null&&(t.cancelPendingCommit=null,n()),An=0,Ws(),jt=t,vt=n=nn(t.current,null),Et=e,Ot=0,De=null,Ln=!1,sa=Oa(t,e),Is=!1,fa=Re=qs=Tl=Gn=Gt=0,Ae=ii=null,Ks=!1,(e&8)!==0&&(e|=e&32);var l=t.entangledLanes;if(l!==0)for(t=t.entanglements,l&=e;0<l;){var a=31-be(l),s=1<<a;e|=t[a],l&=~s}return gn=e,Ji(),n}function md(t,e){mt=null,M.H=_a,e===ta||e===nu?(e=w0(),Ot=3):e===ts?(e=w0(),Ot=4):Ot=e===Rs?8:e!==null&&typeof e=="object"&&typeof e.then=="function"?6:1,De=e,vt===null&&(Gt=1,Au(t,Be(e,t.current)))}function gd(){var t=Ce.current;return t===null?!0:(Et&4194048)===Et?Ye===null:(Et&62914560)===Et||(Et&536870912)!==0?t===Ye:!1}function Ad(){var t=M.H;return M.H=_a,t===null?_a:t}function vd(){var t=M.A;return M.A=Sg,t}function Ru(){Gt=4,Ln||(Et&4194048)!==Et&&Ce.current!==null||(sa=!0),(Gn&134217727)===0&&(Tl&134217727)===0||jt===null||Zn(jt,Et,Re,!1)}function _s(t,e,n){var l=Ct;Ct|=2;var a=Ad(),s=vd();(jt!==t||Et!==e)&&(Ou=null,oa(t,e)),e=!1;var d=Gt;t:do try{if(Ot!==0&&vt!==null){var g=vt,S=De;switch(Ot){case 8:Ws(),d=6;break t;case 3:case 2:case 9:case 6:Ce.current===null&&(e=!0);var U=Ot;if(Ot=0,De=null,da(t,g,S,U),n&&sa){d=0;break t}break;default:U=Ot,Ot=0,De=null,da(t,g,S,U)}}Og(),d=Gt;break}catch(Z){md(t,Z)}while(!0);return e&&t.shellSuspendCounter++,an=gl=null,Ct=l,M.H=a,M.A=s,vt===null&&(jt=null,Et=0,Ji()),d}function Og(){for(;vt!==null;)yd(vt)}function Dg(t,e){var n=Ct;Ct|=2;var l=Ad(),a=vd();jt!==t||Et!==e?(Ou=null,Cu=pe()+500,oa(t,e)):sa=Oa(t,e);t:do try{if(Ot!==0&&vt!==null){e=vt;var s=De;e:switch(Ot){case 1:Ot=0,De=null,da(t,e,s,1);break;case 2:case 9:if(D0(s)){Ot=0,De=null,Ed(e);break}e=function(){Ot!==2&&Ot!==9||jt!==t||(Ot=7),_e(t)},s.then(e,e);break t;case 3:Ot=7;break t;case 4:Ot=5;break t;case 7:D0(s)?(Ot=0,De=null,Ed(e)):(Ot=0,De=null,da(t,e,s,7));break;case 5:var d=null;switch(vt.tag){case 26:d=vt.memoizedState;case 5:case 27:var g=vt;if(d?a1(d):g.stateNode.complete){Ot=0,De=null;var S=g.sibling;if(S!==null)vt=S;else{var U=g.return;U!==null?(vt=U,wu(U)):vt=null}break e}}Ot=0,De=null,da(t,e,s,5);break;case 6:Ot=0,De=null,da(t,e,s,6);break;case 8:Ws(),Gt=6;break t;default:throw Error(f(462))}}Rg();break}catch(Z){md(t,Z)}while(!0);return an=gl=null,M.H=l,M.A=a,Ct=n,vt!==null?0:(jt=null,Et=0,Ji(),Gt)}function Rg(){for(;vt!==null&&!_h();)yd(vt)}function yd(t){var e=Vo(t.alternate,t,gn);t.memoizedProps=t.pendingProps,e===null?wu(t):vt=e}function Ed(t){var e=t,n=e.alternate;switch(e.tag){case 15:case 0:e=Qo(n,e,e.pendingProps,e.type,void 0,Et);break;case 11:e=Qo(n,e,e.pendingProps,e.type.render,e.ref,Et);break;case 5:ds(e);default:Io(n,e),e=vt=A0(e,gn),e=Vo(n,e,gn)}t.memoizedProps=t.pendingProps,e===null?wu(t):vt=e}function da(t,e,n,l){an=gl=null,ds(e),ea=null,Za=0;var a=e.return;try{if(Ag(t,a,e,n,Et)){Gt=1,Au(t,Be(n,t.current)),vt=null;return}}catch(s){if(a!==null)throw vt=a,s;Gt=1,Au(t,Be(n,t.current)),vt=null;return}e.flags&32768?(xt||l===1?t=!0:sa||(Et&536870912)!==0?t=!1:(Ln=t=!0,(l===2||l===9||l===3||l===6)&&(l=Ce.current,l!==null&&l.tag===13&&(l.flags|=16384))),pd(e,t)):wu(e)}function wu(t){var e=t;do{if((e.flags&32768)!==0){pd(e,Ln);return}t=e.return;var n=Eg(e.alternate,e,gn);if(n!==null){vt=n;return}if(e=e.sibling,e!==null){vt=e;return}vt=e=t}while(e!==null);Gt===0&&(Gt=5)}function pd(t,e){do{var n=pg(t.alternate,t);if(n!==null){n.flags&=32767,vt=n;return}if(n=t.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!e&&(t=t.sibling,t!==null)){vt=t;return}vt=t=n}while(t!==null);Gt=6,vt=null}function xd(t,e,n,l,a,s,d,g,S){t.cancelPendingCommit=null;do Mu();while(kt!==0);if((Ct&6)!==0)throw Error(f(327));if(e!==null){if(e===t.current)throw Error(f(177));if(s=e.lanes|e.childLanes,s|=Lc,cm(t,n,s,d,g,S),t===jt&&(vt=jt=null,Et=0),ra=e,Vn=t,An=n,ks=s,Js=a,rd=l,(e.subtreeFlags&10256)!==0||(e.flags&10256)!==0?(t.callbackNode=null,t.callbackPriority=0,Ng(Ni,function(){return Od(),null})):(t.callbackNode=null,t.callbackPriority=0),l=(e.flags&13878)!==0,(e.subtreeFlags&13878)!==0||l){l=M.T,M.T=null,a=_.p,_.p=2,d=Ct,Ct|=4;try{xg(t,e,n)}finally{Ct=d,_.p=a,M.T=l}}kt=1,bd(),Sd(),Td()}}function bd(){if(kt===1){kt=0;var t=Vn,e=ra,n=(e.flags&13878)!==0;if((e.subtreeFlags&13878)!==0||n){n=M.T,M.T=null;var l=_.p;_.p=2;var a=Ct;Ct|=4;try{nd(e,t);var s=rf,d=c0(t.containerInfo),g=s.focusedElem,S=s.selectionRange;if(d!==g&&g&&g.ownerDocument&&u0(g.ownerDocument.documentElement,g)){if(S!==null&&Bc(g)){var U=S.start,Z=S.end;if(Z===void 0&&(Z=U),"selectionStart"in g)g.selectionStart=U,g.selectionEnd=Math.min(Z,g.value.length);else{var J=g.ownerDocument||document,Q=J&&J.defaultView||window;if(Q.getSelection){var G=Q.getSelection(),lt=g.textContent.length,ft=Math.min(S.start,lt),Mt=S.end===void 0?ft:Math.min(S.end,lt);!G.extend&&ft>Mt&&(d=Mt,Mt=ft,ft=d);var w=i0(g,ft),O=i0(g,Mt);if(w&&O&&(G.rangeCount!==1||G.anchorNode!==w.node||G.anchorOffset!==w.offset||G.focusNode!==O.node||G.focusOffset!==O.offset)){var B=J.createRange();B.setStart(w.node,w.offset),G.removeAllRanges(),ft>Mt?(G.addRange(B),G.extend(O.node,O.offset)):(B.setEnd(O.node,O.offset),G.addRange(B))}}}}for(J=[],G=g;G=G.parentNode;)G.nodeType===1&&J.push({element:G,left:G.scrollLeft,top:G.scrollTop});for(typeof g.focus=="function"&&g.focus(),g=0;g<J.length;g++){var K=J[g];K.element.scrollLeft=K.left,K.element.scrollTop=K.top}}Vu=!!ff,rf=ff=null}finally{Ct=a,_.p=l,M.T=n}}t.current=e,kt=2}}function Sd(){if(kt===2){kt=0;var t=Vn,e=ra,n=(e.flags&8772)!==0;if((e.subtreeFlags&8772)!==0||n){n=M.T,M.T=null;var l=_.p;_.p=2;var a=Ct;Ct|=4;try{_o(t,e.alternate,e)}finally{Ct=a,_.p=l,M.T=n}}kt=3}}function Td(){if(kt===4||kt===3){kt=0,Ph();var t=Vn,e=ra,n=An,l=rd;(e.subtreeFlags&10256)!==0||(e.flags&10256)!==0?kt=5:(kt=0,ra=Vn=null,Cd(t,t.pendingLanes));var a=t.pendingLanes;if(a===0&&(Xn=null),gc(n),e=e.stateNode,xe&&typeof xe.onCommitFiberRoot=="function")try{xe.onCommitFiberRoot(Ca,e,void 0,(e.current.flags&128)===128)}catch{}if(l!==null){e=M.T,a=_.p,_.p=2,M.T=null;try{for(var s=t.onRecoverableError,d=0;d<l.length;d++){var g=l[d];s(g.value,{componentStack:g.stack})}}finally{M.T=e,_.p=a}}(An&3)!==0&&Mu(),_e(t),a=t.pendingLanes,(n&261930)!==0&&(a&42)!==0?t===Fs?ui++:(ui=0,Fs=t):ui=0,ci(0)}}function Cd(t,e){(t.pooledCacheLanes&=e)===0&&(e=t.pooledCache,e!=null&&(t.pooledCache=null,Xa(e)))}function Mu(){return bd(),Sd(),Td(),Od()}function Od(){if(kt!==5)return!1;var t=Vn,e=ks;ks=0;var n=gc(An),l=M.T,a=_.p;try{_.p=32>n?32:n,M.T=null,n=Js,Js=null;var s=Vn,d=An;if(kt=0,ra=Vn=null,An=0,(Ct&6)!==0)throw Error(f(331));var g=Ct;if(Ct|=4,cd(s.current),ad(s,s.current,d,n),Ct=g,ci(0,!1),xe&&typeof xe.onPostCommitFiberRoot=="function")try{xe.onPostCommitFiberRoot(Ca,s)}catch{}return!0}finally{_.p=a,M.T=l,Cd(t,e)}}function Dd(t,e,n){e=Be(n,e),e=Ds(t.stateNode,e,2),t=Un(t,e,2),t!==null&&(Da(t,2),_e(t))}function Dt(t,e,n){if(t.tag===3)Dd(t,t,n);else for(;e!==null;){if(e.tag===3){Dd(e,t,n);break}else if(e.tag===1){var l=e.stateNode;if(typeof e.type.getDerivedStateFromError=="function"||typeof l.componentDidCatch=="function"&&(Xn===null||!Xn.has(l))){t=Be(n,t),n=Ro(2),l=Un(e,n,2),l!==null&&(wo(n,l,e,t),Da(l,2),_e(l));break}}e=e.return}}function Ps(t,e,n){var l=t.pingCache;if(l===null){l=t.pingCache=new Tg;var a=new Set;l.set(e,a)}else a=l.get(e),a===void 0&&(a=new Set,l.set(e,a));a.has(n)||(Is=!0,a.add(n),t=wg.bind(null,t,e,n),e.then(t,t))}function wg(t,e,n){var l=t.pingCache;l!==null&&l.delete(e),t.pingedLanes|=t.suspendedLanes&n,t.warmLanes&=~n,jt===t&&(Et&n)===n&&(Gt===4||Gt===3&&(Et&62914560)===Et&&300>pe()-Tu?(Ct&2)===0&&oa(t,0):qs|=n,fa===Et&&(fa=0)),_e(t)}function Rd(t,e){e===0&&(e=xr()),t=dl(t,e),t!==null&&(Da(t,e),_e(t))}function Mg(t){var e=t.memoizedState,n=0;e!==null&&(n=e.retryLane),Rd(t,n)}function jg(t,e){var n=0;switch(t.tag){case 31:case 13:var l=t.stateNode,a=t.memoizedState;a!==null&&(n=a.retryLane);break;case 19:l=t.stateNode;break;case 22:l=t.stateNode._retryCache;break;default:throw Error(f(314))}l!==null&&l.delete(e),Rd(t,n)}function Ng(t,e){return oc(t,e)}var ju=null,ha=null,$s=!1,Nu=!1,tf=!1,In=0;function _e(t){t!==ha&&t.next===null&&(ha===null?ju=ha=t:ha=ha.next=t),Nu=!0,$s||($s=!0,Bg())}function ci(t,e){if(!tf&&Nu){tf=!0;do for(var n=!1,l=ju;l!==null;){if(t!==0){var a=l.pendingLanes;if(a===0)var s=0;else{var d=l.suspendedLanes,g=l.pingedLanes;s=(1<<31-be(42|t)+1)-1,s&=a&~(d&~g),s=s&201326741?s&201326741|1:s?s|2:0}s!==0&&(n=!0,Nd(l,s))}else s=Et,s=Qi(l,l===jt?s:0,l.cancelPendingCommit!==null||l.timeoutHandle!==-1),(s&3)===0||Oa(l,s)||(n=!0,Nd(l,s));l=l.next}while(n);tf=!1}}function Hg(){wd()}function wd(){Nu=$s=!1;var t=0;In!==0&&Ig()&&(t=In);for(var e=pe(),n=null,l=ju;l!==null;){var a=l.next,s=Md(l,e);s===0?(l.next=null,n===null?ju=a:n.next=a,a===null&&(ha=n)):(n=l,(t!==0||(s&3)!==0)&&(Nu=!0)),l=a}kt!==0&&kt!==5||ci(t),In!==0&&(In=0)}function Md(t,e){for(var n=t.suspendedLanes,l=t.pingedLanes,a=t.expirationTimes,s=t.pendingLanes&-62914561;0<s;){var d=31-be(s),g=1<<d,S=a[d];S===-1?((g&n)===0||(g&l)!==0)&&(a[d]=um(g,e)):S<=e&&(t.expiredLanes|=g),s&=~g}if(e=jt,n=Et,n=Qi(t,t===e?n:0,t.cancelPendingCommit!==null||t.timeoutHandle!==-1),l=t.callbackNode,n===0||t===e&&(Ot===2||Ot===9)||t.cancelPendingCommit!==null)return l!==null&&l!==null&&dc(l),t.callbackNode=null,t.callbackPriority=0;if((n&3)===0||Oa(t,n)){if(e=n&-n,e===t.callbackPriority)return e;switch(l!==null&&dc(l),gc(n)){case 2:case 8:n=Er;break;case 32:n=Ni;break;case 268435456:n=pr;break;default:n=Ni}return l=jd.bind(null,t),n=oc(n,l),t.callbackPriority=e,t.callbackNode=n,e}return l!==null&&l!==null&&dc(l),t.callbackPriority=2,t.callbackNode=null,2}function jd(t,e){if(kt!==0&&kt!==5)return t.callbackNode=null,t.callbackPriority=0,null;var n=t.callbackNode;if(Mu()&&t.callbackNode!==n)return null;var l=Et;return l=Qi(t,t===jt?l:0,t.cancelPendingCommit!==null||t.timeoutHandle!==-1),l===0?null:(dd(t,l,e),Md(t,pe()),t.callbackNode!=null&&t.callbackNode===n?jd.bind(null,t):null)}function Nd(t,e){if(Mu())return null;dd(t,e,!0)}function Bg(){Kg(function(){(Ct&6)!==0?oc(yr,Hg):wd()})}function ef(){if(In===0){var t=Pl;t===0&&(t=Hi,Hi<<=1,(Hi&261888)===0&&(Hi=256)),In=t}return In}function Hd(t){return t==null||typeof t=="symbol"||typeof t=="boolean"?null:typeof t=="function"?t:Gi(""+t)}function Bd(t,e){var n=e.ownerDocument.createElement("input");return n.name=e.name,n.value=e.value,t.id&&n.setAttribute("form",t.id),e.parentNode.insertBefore(n,e),t=new FormData(t),n.parentNode.removeChild(n),t}function Ug(t,e,n,l,a){if(e==="submit"&&n&&n.stateNode===a){var s=Hd((a[oe]||null).action),d=l.submitter;d&&(e=(e=d[oe]||null)?Hd(e.formAction):d.getAttribute("formAction"),e!==null&&(s=e,d=null));var g=new Ii("action","action",null,l,a);t.push({event:g,listeners:[{instance:null,listener:function(){if(l.defaultPrevented){if(In!==0){var S=d?Bd(a,d):new FormData(a);xs(n,{pending:!0,data:S,method:a.method,action:s},null,S)}}else typeof s=="function"&&(g.preventDefault(),S=d?Bd(a,d):new FormData(a),xs(n,{pending:!0,data:S,method:a.method,action:s},s,S))},currentTarget:a}]})}}for(var nf=0;nf<Yc.length;nf++){var lf=Yc[nf],Qg=lf.toLowerCase(),zg=lf[0].toUpperCase()+lf.slice(1);Ie(Qg,"on"+zg)}Ie(r0,"onAnimationEnd"),Ie(o0,"onAnimationIteration"),Ie(d0,"onAnimationStart"),Ie("dblclick","onDoubleClick"),Ie("focusin","onFocus"),Ie("focusout","onBlur"),Ie($m,"onTransitionRun"),Ie(tg,"onTransitionStart"),Ie(eg,"onTransitionCancel"),Ie(h0,"onTransitionEnd"),Yl("onMouseEnter",["mouseout","mouseover"]),Yl("onMouseLeave",["mouseout","mouseover"]),Yl("onPointerEnter",["pointerout","pointerover"]),Yl("onPointerLeave",["pointerout","pointerover"]),sl("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),sl("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),sl("onBeforeInput",["compositionend","keypress","textInput","paste"]),sl("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),sl("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),sl("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var si="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Yg=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(si));function Ud(t,e){e=(e&4)!==0;for(var n=0;n<t.length;n++){var l=t[n],a=l.event;l=l.listeners;t:{var s=void 0;if(e)for(var d=l.length-1;0<=d;d--){var g=l[d],S=g.instance,U=g.currentTarget;if(g=g.listener,S!==s&&a.isPropagationStopped())break t;s=g,a.currentTarget=U;try{s(a)}catch(Z){ki(Z)}a.currentTarget=null,s=S}else for(d=0;d<l.length;d++){if(g=l[d],S=g.instance,U=g.currentTarget,g=g.listener,S!==s&&a.isPropagationStopped())break t;s=g,a.currentTarget=U;try{s(a)}catch(Z){ki(Z)}a.currentTarget=null,s=S}}}}function yt(t,e){var n=e[Ac];n===void 0&&(n=e[Ac]=new Set);var l=t+"__bubble";n.has(l)||(Qd(e,t,2,!1),n.add(l))}function af(t,e,n){var l=0;e&&(l|=4),Qd(n,t,l,e)}var Hu="_reactListening"+Math.random().toString(36).slice(2);function uf(t){if(!t[Hu]){t[Hu]=!0,Rr.forEach(function(n){n!=="selectionchange"&&(Yg.has(n)||af(n,!1,t),af(n,!0,t))});var e=t.nodeType===9?t:t.ownerDocument;e===null||e[Hu]||(e[Hu]=!0,af("selectionchange",!1,e))}}function Qd(t,e,n,l){switch(o1(e)){case 2:var a=dA;break;case 8:a=hA;break;default:a=xf}n=a.bind(null,e,n,t),a=void 0,!Cc||e!=="touchstart"&&e!=="touchmove"&&e!=="wheel"||(a=!0),l?a!==void 0?t.addEventListener(e,n,{capture:!0,passive:a}):t.addEventListener(e,n,!0):a!==void 0?t.addEventListener(e,n,{passive:a}):t.addEventListener(e,n,!1)}function cf(t,e,n,l,a){var s=l;if((e&1)===0&&(e&2)===0&&l!==null)t:for(;;){if(l===null)return;var d=l.tag;if(d===3||d===4){var g=l.stateNode.containerInfo;if(g===a)break;if(d===4)for(d=l.return;d!==null;){var S=d.tag;if((S===3||S===4)&&d.stateNode.containerInfo===a)return;d=d.return}for(;g!==null;){if(d=Ul(g),d===null)return;if(S=d.tag,S===5||S===6||S===26||S===27){l=s=d;continue t}g=g.parentNode}}l=l.return}Gr(function(){var U=s,Z=Sc(n),J=[];t:{var Q=m0.get(t);if(Q!==void 0){var G=Ii,lt=t;switch(t){case"keypress":if(Vi(n)===0)break t;case"keydown":case"keyup":G=jm;break;case"focusin":lt="focus",G=wc;break;case"focusout":lt="blur",G=wc;break;case"beforeblur":case"afterblur":G=wc;break;case"click":if(n.button===2)break t;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":G=Zr;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":G=Em;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":G=Bm;break;case r0:case o0:case d0:G=bm;break;case h0:G=Qm;break;case"scroll":case"scrollend":G=vm;break;case"wheel":G=Ym;break;case"copy":case"cut":case"paste":G=Tm;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":G=qr;break;case"toggle":case"beforetoggle":G=Gm}var ft=(e&4)!==0,Mt=!ft&&(t==="scroll"||t==="scrollend"),w=ft?Q!==null?Q+"Capture":null:Q;ft=[];for(var O=U,B;O!==null;){var K=O;if(B=K.stateNode,K=K.tag,K!==5&&K!==26&&K!==27||B===null||w===null||(K=Ma(O,w),K!=null&&ft.push(fi(O,K,B))),Mt)break;O=O.return}0<ft.length&&(Q=new G(Q,lt,null,n,Z),J.push({event:Q,listeners:ft}))}}if((e&7)===0){t:{if(Q=t==="mouseover"||t==="pointerover",G=t==="mouseout"||t==="pointerout",Q&&n!==bc&&(lt=n.relatedTarget||n.fromElement)&&(Ul(lt)||lt[Bl]))break t;if((G||Q)&&(Q=Z.window===Z?Z:(Q=Z.ownerDocument)?Q.defaultView||Q.parentWindow:window,G?(lt=n.relatedTarget||n.toElement,G=U,lt=lt?Ul(lt):null,lt!==null&&(Mt=o(lt),ft=lt.tag,lt!==Mt||ft!==5&&ft!==27&&ft!==6)&&(lt=null)):(G=null,lt=U),G!==lt)){if(ft=Zr,K="onMouseLeave",w="onMouseEnter",O="mouse",(t==="pointerout"||t==="pointerover")&&(ft=qr,K="onPointerLeave",w="onPointerEnter",O="pointer"),Mt=G==null?Q:wa(G),B=lt==null?Q:wa(lt),Q=new ft(K,O+"leave",G,n,Z),Q.target=Mt,Q.relatedTarget=B,K=null,Ul(Z)===U&&(ft=new ft(w,O+"enter",lt,n,Z),ft.target=B,ft.relatedTarget=Mt,K=ft),Mt=K,G&&lt)e:{for(ft=Lg,w=G,O=lt,B=0,K=w;K;K=ft(K))B++;K=0;for(var ct=O;ct;ct=ft(ct))K++;for(;0<B-K;)w=ft(w),B--;for(;0<K-B;)O=ft(O),K--;for(;B--;){if(w===O||O!==null&&w===O.alternate){ft=w;break e}w=ft(w),O=ft(O)}ft=null}else ft=null;G!==null&&zd(J,Q,G,ft,!1),lt!==null&&Mt!==null&&zd(J,Mt,lt,ft,!0)}}t:{if(Q=U?wa(U):window,G=Q.nodeName&&Q.nodeName.toLowerCase(),G==="select"||G==="input"&&Q.type==="file")var St=$r;else if(_r(Q))if(t0)St=Wm;else{St=Jm;var at=km}else G=Q.nodeName,!G||G.toLowerCase()!=="input"||Q.type!=="checkbox"&&Q.type!=="radio"?U&&xc(U.elementType)&&(St=$r):St=Fm;if(St&&(St=St(t,U))){Pr(J,St,n,Z);break t}at&&at(t,Q,U),t==="focusout"&&U&&Q.type==="number"&&U.memoizedProps.value!=null&&pc(Q,"number",Q.value)}switch(at=U?wa(U):window,t){case"focusin":(_r(at)||at.contentEditable==="true")&&(Il=at,Uc=U,Ya=null);break;case"focusout":Ya=Uc=Il=null;break;case"mousedown":Qc=!0;break;case"contextmenu":case"mouseup":case"dragend":Qc=!1,s0(J,n,Z);break;case"selectionchange":if(Pm)break;case"keydown":case"keyup":s0(J,n,Z)}var At;if(jc)t:{switch(t){case"compositionstart":var pt="onCompositionStart";break t;case"compositionend":pt="onCompositionEnd";break t;case"compositionupdate":pt="onCompositionUpdate";break t}pt=void 0}else Zl?Fr(t,n)&&(pt="onCompositionEnd"):t==="keydown"&&n.keyCode===229&&(pt="onCompositionStart");pt&&(Kr&&n.locale!=="ko"&&(Zl||pt!=="onCompositionStart"?pt==="onCompositionEnd"&&Zl&&(At=Xr()):(Rn=Z,Oc="value"in Rn?Rn.value:Rn.textContent,Zl=!0)),at=Bu(U,pt),0<at.length&&(pt=new Ir(pt,t,null,n,Z),J.push({event:pt,listeners:at}),At?pt.data=At:(At=Wr(n),At!==null&&(pt.data=At)))),(At=Vm?Zm(t,n):Im(t,n))&&(pt=Bu(U,"onBeforeInput"),0<pt.length&&(at=new Ir("onBeforeInput","beforeinput",null,n,Z),J.push({event:at,listeners:pt}),at.data=At)),Ug(J,t,U,n,Z)}Ud(J,e)})}function fi(t,e,n){return{instance:t,listener:e,currentTarget:n}}function Bu(t,e){for(var n=e+"Capture",l=[];t!==null;){var a=t,s=a.stateNode;if(a=a.tag,a!==5&&a!==26&&a!==27||s===null||(a=Ma(t,n),a!=null&&l.unshift(fi(t,a,s)),a=Ma(t,e),a!=null&&l.push(fi(t,a,s))),t.tag===3)return l;t=t.return}return[]}function Lg(t){if(t===null)return null;do t=t.return;while(t&&t.tag!==5&&t.tag!==27);return t||null}function zd(t,e,n,l,a){for(var s=e._reactName,d=[];n!==null&&n!==l;){var g=n,S=g.alternate,U=g.stateNode;if(g=g.tag,S!==null&&S===l)break;g!==5&&g!==26&&g!==27||U===null||(S=U,a?(U=Ma(n,s),U!=null&&d.unshift(fi(n,U,S))):a||(U=Ma(n,s),U!=null&&d.push(fi(n,U,S)))),n=n.return}d.length!==0&&t.push({event:e,listeners:d})}var Gg=/\r\n?/g,Xg=/\u0000|\uFFFD/g;function Yd(t){return(typeof t=="string"?t:""+t).replace(Gg,`
49 -`).replace(Xg,"")}function Ld(t,e){return e=Yd(e),Yd(t)===e}function wt(t,e,n,l,a,s){switch(n){case"children":typeof l=="string"?e==="body"||e==="textarea"&&l===""||Gl(t,l):(typeof l=="number"||typeof l=="bigint")&&e!=="body"&&Gl(t,""+l);break;case"className":Yi(t,"class",l);break;case"tabIndex":Yi(t,"tabindex",l);break;case"dir":case"role":case"viewBox":case"width":case"height":Yi(t,n,l);break;case"style":Yr(t,l,s);break;case"data":if(e!=="object"){Yi(t,"data",l);break}case"src":case"href":if(l===""&&(e!=="a"||n!=="href")){t.removeAttribute(n);break}if(l==null||typeof l=="function"||typeof l=="symbol"||typeof l=="boolean"){t.removeAttribute(n);break}l=Gi(""+l),t.setAttribute(n,l);break;case"action":case"formAction":if(typeof l=="function"){t.setAttribute(n,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof s=="function"&&(n==="formAction"?(e!=="input"&&wt(t,e,"name",a.name,a,null),wt(t,e,"formEncType",a.formEncType,a,null),wt(t,e,"formMethod",a.formMethod,a,null),wt(t,e,"formTarget",a.formTarget,a,null)):(wt(t,e,"encType",a.encType,a,null),wt(t,e,"method",a.method,a,null),wt(t,e,"target",a.target,a,null)));if(l==null||typeof l=="symbol"||typeof l=="boolean"){t.removeAttribute(n);break}l=Gi(""+l),t.setAttribute(n,l);break;case"onClick":l!=null&&(t.onclick=tn);break;case"onScroll":l!=null&&yt("scroll",t);break;case"onScrollEnd":l!=null&&yt("scrollend",t);break;case"dangerouslySetInnerHTML":if(l!=null){if(typeof l!="object"||!("__html"in l))throw Error(f(61));if(n=l.__html,n!=null){if(a.children!=null)throw Error(f(60));t.innerHTML=n}}break;case"multiple":t.multiple=l&&typeof l!="function"&&typeof l!="symbol";break;case"muted":t.muted=l&&typeof l!="function"&&typeof l!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(l==null||typeof l=="function"||typeof l=="boolean"||typeof l=="symbol"){t.removeAttribute("xlink:href");break}n=Gi(""+l),t.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",n);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":l!=null&&typeof l!="function"&&typeof l!="symbol"?t.setAttribute(n,""+l):t.removeAttribute(n);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":l&&typeof l!="function"&&typeof l!="symbol"?t.setAttribute(n,""):t.removeAttribute(n);break;case"capture":case"download":l===!0?t.setAttribute(n,""):l!==!1&&l!=null&&typeof l!="function"&&typeof l!="symbol"?t.setAttribute(n,l):t.removeAttribute(n);break;case"cols":case"rows":case"size":case"span":l!=null&&typeof l!="function"&&typeof l!="symbol"&&!isNaN(l)&&1<=l?t.setAttribute(n,l):t.removeAttribute(n);break;case"rowSpan":case"start":l==null||typeof l=="function"||typeof l=="symbol"||isNaN(l)?t.removeAttribute(n):t.setAttribute(n,l);break;case"popover":yt("beforetoggle",t),yt("toggle",t),zi(t,"popover",l);break;case"xlinkActuate":$e(t,"http://www.w3.org/1999/xlink","xlink:actuate",l);break;case"xlinkArcrole":$e(t,"http://www.w3.org/1999/xlink","xlink:arcrole",l);break;case"xlinkRole":$e(t,"http://www.w3.org/1999/xlink","xlink:role",l);break;case"xlinkShow":$e(t,"http://www.w3.org/1999/xlink","xlink:show",l);break;case"xlinkTitle":$e(t,"http://www.w3.org/1999/xlink","xlink:title",l);break;case"xlinkType":$e(t,"http://www.w3.org/1999/xlink","xlink:type",l);break;case"xmlBase":$e(t,"http://www.w3.org/XML/1998/namespace","xml:base",l);break;case"xmlLang":$e(t,"http://www.w3.org/XML/1998/namespace","xml:lang",l);break;case"xmlSpace":$e(t,"http://www.w3.org/XML/1998/namespace","xml:space",l);break;case"is":zi(t,"is",l);break;case"innerText":case"textContent":break;default:(!(2<n.length)||n[0]!=="o"&&n[0]!=="O"||n[1]!=="n"&&n[1]!=="N")&&(n=gm.get(n)||n,zi(t,n,l))}}function sf(t,e,n,l,a,s){switch(n){case"style":Yr(t,l,s);break;case"dangerouslySetInnerHTML":if(l!=null){if(typeof l!="object"||!("__html"in l))throw Error(f(61));if(n=l.__html,n!=null){if(a.children!=null)throw Error(f(60));t.innerHTML=n}}break;case"children":typeof l=="string"?Gl(t,l):(typeof l=="number"||typeof l=="bigint")&&Gl(t,""+l);break;case"onScroll":l!=null&&yt("scroll",t);break;case"onScrollEnd":l!=null&&yt("scrollend",t);break;case"onClick":l!=null&&(t.onclick=tn);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!wr.hasOwnProperty(n))t:{if(n[0]==="o"&&n[1]==="n"&&(a=n.endsWith("Capture"),e=n.slice(2,a?n.length-7:void 0),s=t[oe]||null,s=s!=null?s[n]:null,typeof s=="function"&&t.removeEventListener(e,s,a),typeof l=="function")){typeof s!="function"&&s!==null&&(n in t?t[n]=null:t.hasAttribute(n)&&t.removeAttribute(n)),t.addEventListener(e,l,a);break t}n in t?t[n]=l:l===!0?t.setAttribute(n,""):zi(t,n,l)}}}function ae(t,e,n){switch(e){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":yt("error",t),yt("load",t);var l=!1,a=!1,s;for(s in n)if(n.hasOwnProperty(s)){var d=n[s];if(d!=null)switch(s){case"src":l=!0;break;case"srcSet":a=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(f(137,e));default:wt(t,e,s,d,n,null)}}a&&wt(t,e,"srcSet",n.srcSet,n,null),l&&wt(t,e,"src",n.src,n,null);return;case"input":yt("invalid",t);var g=s=d=a=null,S=null,U=null;for(l in n)if(n.hasOwnProperty(l)){var Z=n[l];if(Z!=null)switch(l){case"name":a=Z;break;case"type":d=Z;break;case"checked":S=Z;break;case"defaultChecked":U=Z;break;case"value":s=Z;break;case"defaultValue":g=Z;break;case"children":case"dangerouslySetInnerHTML":if(Z!=null)throw Error(f(137,e));break;default:wt(t,e,l,Z,n,null)}}Br(t,s,g,S,U,d,a,!1);return;case"select":yt("invalid",t),l=d=s=null;for(a in n)if(n.hasOwnProperty(a)&&(g=n[a],g!=null))switch(a){case"value":s=g;break;case"defaultValue":d=g;break;case"multiple":l=g;default:wt(t,e,a,g,n,null)}e=s,n=d,t.multiple=!!l,e!=null?Ll(t,!!l,e,!1):n!=null&&Ll(t,!!l,n,!0);return;case"textarea":yt("invalid",t),s=a=l=null;for(d in n)if(n.hasOwnProperty(d)&&(g=n[d],g!=null))switch(d){case"value":l=g;break;case"defaultValue":a=g;break;case"children":s=g;break;case"dangerouslySetInnerHTML":if(g!=null)throw Error(f(91));break;default:wt(t,e,d,g,n,null)}Qr(t,l,a,s);return;case"option":for(S in n)if(n.hasOwnProperty(S)&&(l=n[S],l!=null))switch(S){case"selected":t.selected=l&&typeof l!="function"&&typeof l!="symbol";break;default:wt(t,e,S,l,n,null)}return;case"dialog":yt("beforetoggle",t),yt("toggle",t),yt("cancel",t),yt("close",t);break;case"iframe":case"object":yt("load",t);break;case"video":case"audio":for(l=0;l<si.length;l++)yt(si[l],t);break;case"image":yt("error",t),yt("load",t);break;case"details":yt("toggle",t);break;case"embed":case"source":case"link":yt("error",t),yt("load",t);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(U in n)if(n.hasOwnProperty(U)&&(l=n[U],l!=null))switch(U){case"children":case"dangerouslySetInnerHTML":throw Error(f(137,e));default:wt(t,e,U,l,n,null)}return;default:if(xc(e)){for(Z in n)n.hasOwnProperty(Z)&&(l=n[Z],l!==void 0&&sf(t,e,Z,l,n,void 0));return}}for(g in n)n.hasOwnProperty(g)&&(l=n[g],l!=null&&wt(t,e,g,l,n,null))}function Vg(t,e,n,l){switch(e){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var a=null,s=null,d=null,g=null,S=null,U=null,Z=null;for(G in n){var J=n[G];if(n.hasOwnProperty(G)&&J!=null)switch(G){case"checked":break;case"value":break;case"defaultValue":S=J;default:l.hasOwnProperty(G)||wt(t,e,G,null,l,J)}}for(var Q in l){var G=l[Q];if(J=n[Q],l.hasOwnProperty(Q)&&(G!=null||J!=null))switch(Q){case"type":s=G;break;case"name":a=G;break;case"checked":U=G;break;case"defaultChecked":Z=G;break;case"value":d=G;break;case"defaultValue":g=G;break;case"children":case"dangerouslySetInnerHTML":if(G!=null)throw Error(f(137,e));break;default:G!==J&&wt(t,e,Q,G,l,J)}}Ec(t,d,g,S,U,Z,s,a);return;case"select":G=d=g=Q=null;for(s in n)if(S=n[s],n.hasOwnProperty(s)&&S!=null)switch(s){case"value":break;case"multiple":G=S;default:l.hasOwnProperty(s)||wt(t,e,s,null,l,S)}for(a in l)if(s=l[a],S=n[a],l.hasOwnProperty(a)&&(s!=null||S!=null))switch(a){case"value":Q=s;break;case"defaultValue":g=s;break;case"multiple":d=s;default:s!==S&&wt(t,e,a,s,l,S)}e=g,n=d,l=G,Q!=null?Ll(t,!!n,Q,!1):!!l!=!!n&&(e!=null?Ll(t,!!n,e,!0):Ll(t,!!n,n?[]:"",!1));return;case"textarea":G=Q=null;for(g in n)if(a=n[g],n.hasOwnProperty(g)&&a!=null&&!l.hasOwnProperty(g))switch(g){case"value":break;case"children":break;default:wt(t,e,g,null,l,a)}for(d in l)if(a=l[d],s=n[d],l.hasOwnProperty(d)&&(a!=null||s!=null))switch(d){case"value":Q=a;break;case"defaultValue":G=a;break;case"children":break;case"dangerouslySetInnerHTML":if(a!=null)throw Error(f(91));break;default:a!==s&&wt(t,e,d,a,l,s)}Ur(t,Q,G);return;case"option":for(var lt in n)if(Q=n[lt],n.hasOwnProperty(lt)&&Q!=null&&!l.hasOwnProperty(lt))switch(lt){case"selected":t.selected=!1;break;default:wt(t,e,lt,null,l,Q)}for(S in l)if(Q=l[S],G=n[S],l.hasOwnProperty(S)&&Q!==G&&(Q!=null||G!=null))switch(S){case"selected":t.selected=Q&&typeof Q!="function"&&typeof Q!="symbol";break;default:wt(t,e,S,Q,l,G)}return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var ft in n)Q=n[ft],n.hasOwnProperty(ft)&&Q!=null&&!l.hasOwnProperty(ft)&&wt(t,e,ft,null,l,Q);for(U in l)if(Q=l[U],G=n[U],l.hasOwnProperty(U)&&Q!==G&&(Q!=null||G!=null))switch(U){case"children":case"dangerouslySetInnerHTML":if(Q!=null)throw Error(f(137,e));break;default:wt(t,e,U,Q,l,G)}return;default:if(xc(e)){for(var Mt in n)Q=n[Mt],n.hasOwnProperty(Mt)&&Q!==void 0&&!l.hasOwnProperty(Mt)&&sf(t,e,Mt,void 0,l,Q);for(Z in l)Q=l[Z],G=n[Z],!l.hasOwnProperty(Z)||Q===G||Q===void 0&&G===void 0||sf(t,e,Z,Q,l,G);return}}for(var w in n)Q=n[w],n.hasOwnProperty(w)&&Q!=null&&!l.hasOwnProperty(w)&&wt(t,e,w,null,l,Q);for(J in l)Q=l[J],G=n[J],!l.hasOwnProperty(J)||Q===G||Q==null&&G==null||wt(t,e,J,Q,l,G)}function Gd(t){switch(t){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function Zg(){if(typeof performance.getEntriesByType=="function"){for(var t=0,e=0,n=performance.getEntriesByType("resource"),l=0;l<n.length;l++){var a=n[l],s=a.transferSize,d=a.initiatorType,g=a.duration;if(s&&g&&Gd(d)){for(d=0,g=a.responseEnd,l+=1;l<n.length;l++){var S=n[l],U=S.startTime;if(U>g)break;var Z=S.transferSize,J=S.initiatorType;Z&&Gd(J)&&(S=S.responseEnd,d+=Z*(S<g?1:(g-U)/(S-U)))}if(--l,e+=8*(s+d)/(a.duration/1e3),t++,10<t)break}}if(0<t)return e/t/1e6}return navigator.connection&&(t=navigator.connection.downlink,typeof t=="number")?t:5}var ff=null,rf=null;function Uu(t){return t.nodeType===9?t:t.ownerDocument}function Xd(t){switch(t){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function Vd(t,e){if(t===0)switch(e){case"svg":return 1;case"math":return 2;default:return 0}return t===1&&e==="foreignObject"?0:t}function of(t,e){return t==="textarea"||t==="noscript"||typeof e.children=="string"||typeof e.children=="number"||typeof e.children=="bigint"||typeof e.dangerouslySetInnerHTML=="object"&&e.dangerouslySetInnerHTML!==null&&e.dangerouslySetInnerHTML.__html!=null}var df=null;function Ig(){var t=window.event;return t&&t.type==="popstate"?t===df?!1:(df=t,!0):(df=null,!1)}var Zd=typeof setTimeout=="function"?setTimeout:void 0,qg=typeof clearTimeout=="function"?clearTimeout:void 0,Id=typeof Promise=="function"?Promise:void 0,Kg=typeof queueMicrotask=="function"?queueMicrotask:typeof Id<"u"?function(t){return Id.resolve(null).then(t).catch(kg)}:Zd;function kg(t){setTimeout(function(){throw t})}function qn(t){return t==="head"}function qd(t,e){var n=e,l=0;do{var a=n.nextSibling;if(t.removeChild(n),a&&a.nodeType===8)if(n=a.data,n==="/$"||n==="/&"){if(l===0){t.removeChild(a),va(e);return}l--}else if(n==="$"||n==="$?"||n==="$~"||n==="$!"||n==="&")l++;else if(n==="html")ri(t.ownerDocument.documentElement);else if(n==="head"){n=t.ownerDocument.head,ri(n);for(var s=n.firstChild;s;){var d=s.nextSibling,g=s.nodeName;s[Ra]||g==="SCRIPT"||g==="STYLE"||g==="LINK"&&s.rel.toLowerCase()==="stylesheet"||n.removeChild(s),s=d}}else n==="body"&&ri(t.ownerDocument.body);n=a}while(n);va(e)}function Kd(t,e){var n=t;t=0;do{var l=n.nextSibling;if(n.nodeType===1?e?(n._stashedDisplay=n.style.display,n.style.display="none"):(n.style.display=n._stashedDisplay||"",n.getAttribute("style")===""&&n.removeAttribute("style")):n.nodeType===3&&(e?(n._stashedText=n.nodeValue,n.nodeValue=""):n.nodeValue=n._stashedText||""),l&&l.nodeType===8)if(n=l.data,n==="/$"){if(t===0)break;t--}else n!=="$"&&n!=="$?"&&n!=="$~"&&n!=="$!"||t++;n=l}while(n)}function hf(t){var e=t.firstChild;for(e&&e.nodeType===10&&(e=e.nextSibling);e;){var n=e;switch(e=e.nextSibling,n.nodeName){case"HTML":case"HEAD":case"BODY":hf(n),vc(n);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(n.rel.toLowerCase()==="stylesheet")continue}t.removeChild(n)}}function Jg(t,e,n,l){for(;t.nodeType===1;){var a=n;if(t.nodeName.toLowerCase()!==e.toLowerCase()){if(!l&&(t.nodeName!=="INPUT"||t.type!=="hidden"))break}else if(l){if(!t[Ra])switch(e){case"meta":if(!t.hasAttribute("itemprop"))break;return t;case"link":if(s=t.getAttribute("rel"),s==="stylesheet"&&t.hasAttribute("data-precedence"))break;if(s!==a.rel||t.getAttribute("href")!==(a.href==null||a.href===""?null:a.href)||t.getAttribute("crossorigin")!==(a.crossOrigin==null?null:a.crossOrigin)||t.getAttribute("title")!==(a.title==null?null:a.title))break;return t;case"style":if(t.hasAttribute("data-precedence"))break;return t;case"script":if(s=t.getAttribute("src"),(s!==(a.src==null?null:a.src)||t.getAttribute("type")!==(a.type==null?null:a.type)||t.getAttribute("crossorigin")!==(a.crossOrigin==null?null:a.crossOrigin))&&s&&t.hasAttribute("async")&&!t.hasAttribute("itemprop"))break;return t;default:return t}}else if(e==="input"&&t.type==="hidden"){var s=a.name==null?null:""+a.name;if(a.type==="hidden"&&t.getAttribute("name")===s)return t}else return t;if(t=Le(t.nextSibling),t===null)break}return null}function Fg(t,e,n){if(e==="")return null;for(;t.nodeType!==3;)if((t.nodeType!==1||t.nodeName!=="INPUT"||t.type!=="hidden")&&!n||(t=Le(t.nextSibling),t===null))return null;return t}function kd(t,e){for(;t.nodeType!==8;)if((t.nodeType!==1||t.nodeName!=="INPUT"||t.type!=="hidden")&&!e||(t=Le(t.nextSibling),t===null))return null;return t}function mf(t){return t.data==="$?"||t.data==="$~"}function gf(t){return t.data==="$!"||t.data==="$?"&&t.ownerDocument.readyState!=="loading"}function Wg(t,e){var n=t.ownerDocument;if(t.data==="$~")t._reactRetry=e;else if(t.data!=="$?"||n.readyState!=="loading")e();else{var l=function(){e(),n.removeEventListener("DOMContentLoaded",l)};n.addEventListener("DOMContentLoaded",l),t._reactRetry=l}}function Le(t){for(;t!=null;t=t.nextSibling){var e=t.nodeType;if(e===1||e===3)break;if(e===8){if(e=t.data,e==="$"||e==="$!"||e==="$?"||e==="$~"||e==="&"||e==="F!"||e==="F")break;if(e==="/$"||e==="/&")return null}}return t}var Af=null;function Jd(t){t=t.nextSibling;for(var e=0;t;){if(t.nodeType===8){var n=t.data;if(n==="/$"||n==="/&"){if(e===0)return Le(t.nextSibling);e--}else n!=="$"&&n!=="$!"&&n!=="$?"&&n!=="$~"&&n!=="&"||e++}t=t.nextSibling}return null}function Fd(t){t=t.previousSibling;for(var e=0;t;){if(t.nodeType===8){var n=t.data;if(n==="$"||n==="$!"||n==="$?"||n==="$~"||n==="&"){if(e===0)return t;e--}else n!=="/$"&&n!=="/&"||e++}t=t.previousSibling}return null}function Wd(t,e,n){switch(e=Uu(n),t){case"html":if(t=e.documentElement,!t)throw Error(f(452));return t;case"head":if(t=e.head,!t)throw Error(f(453));return t;case"body":if(t=e.body,!t)throw Error(f(454));return t;default:throw Error(f(451))}}function ri(t){for(var e=t.attributes;e.length;)t.removeAttributeNode(e[0]);vc(t)}var Ge=new Map,_d=new Set;function Qu(t){return typeof t.getRootNode=="function"?t.getRootNode():t.nodeType===9?t:t.ownerDocument}var vn=_.d;_.d={f:_g,r:Pg,D:$g,C:tA,L:eA,m:nA,X:aA,S:lA,M:iA};function _g(){var t=vn.f(),e=Du();return t||e}function Pg(t){var e=Ql(t);e!==null&&e.tag===5&&e.type==="form"?mo(e):vn.r(t)}var ma=typeof document>"u"?null:document;function Pd(t,e,n){var l=ma;if(l&&typeof e=="string"&&e){var a=Ne(e);a='link[rel="'+t+'"][href="'+a+'"]',typeof n=="string"&&(a+='[crossorigin="'+n+'"]'),_d.has(a)||(_d.add(a),t={rel:t,crossOrigin:n,href:e},l.querySelector(a)===null&&(e=l.createElement("link"),ae(e,"link",t),Ft(e),l.head.appendChild(e)))}}function $g(t){vn.D(t),Pd("dns-prefetch",t,null)}function tA(t,e){vn.C(t,e),Pd("preconnect",t,e)}function eA(t,e,n){vn.L(t,e,n);var l=ma;if(l&&t&&e){var a='link[rel="preload"][as="'+Ne(e)+'"]';e==="image"&&n&&n.imageSrcSet?(a+='[imagesrcset="'+Ne(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(a+='[imagesizes="'+Ne(n.imageSizes)+'"]')):a+='[href="'+Ne(t)+'"]';var s=a;switch(e){case"style":s=ga(t);break;case"script":s=Aa(t)}Ge.has(s)||(t=T({rel:"preload",href:e==="image"&&n&&n.imageSrcSet?void 0:t,as:e},n),Ge.set(s,t),l.querySelector(a)!==null||e==="style"&&l.querySelector(oi(s))||e==="script"&&l.querySelector(di(s))||(e=l.createElement("link"),ae(e,"link",t),Ft(e),l.head.appendChild(e)))}}function nA(t,e){vn.m(t,e);var n=ma;if(n&&t){var l=e&&typeof e.as=="string"?e.as:"script",a='link[rel="modulepreload"][as="'+Ne(l)+'"][href="'+Ne(t)+'"]',s=a;switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":s=Aa(t)}if(!Ge.has(s)&&(t=T({rel:"modulepreload",href:t},e),Ge.set(s,t),n.querySelector(a)===null)){switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(di(s)))return}l=n.createElement("link"),ae(l,"link",t),Ft(l),n.head.appendChild(l)}}}function lA(t,e,n){vn.S(t,e,n);var l=ma;if(l&&t){var a=zl(l).hoistableStyles,s=ga(t);e=e||"default";var d=a.get(s);if(!d){var g={loading:0,preload:null};if(d=l.querySelector(oi(s)))g.loading=5;else{t=T({rel:"stylesheet",href:t,"data-precedence":e},n),(n=Ge.get(s))&&vf(t,n);var S=d=l.createElement("link");Ft(S),ae(S,"link",t),S._p=new Promise(function(U,Z){S.onload=U,S.onerror=Z}),S.addEventListener("load",function(){g.loading|=1}),S.addEventListener("error",function(){g.loading|=2}),g.loading|=4,zu(d,e,l)}d={type:"stylesheet",instance:d,count:1,state:g},a.set(s,d)}}}function aA(t,e){vn.X(t,e);var n=ma;if(n&&t){var l=zl(n).hoistableScripts,a=Aa(t),s=l.get(a);s||(s=n.querySelector(di(a)),s||(t=T({src:t,async:!0},e),(e=Ge.get(a))&&yf(t,e),s=n.createElement("script"),Ft(s),ae(s,"link",t),n.head.appendChild(s)),s={type:"script",instance:s,count:1,state:null},l.set(a,s))}}function iA(t,e){vn.M(t,e);var n=ma;if(n&&t){var l=zl(n).hoistableScripts,a=Aa(t),s=l.get(a);s||(s=n.querySelector(di(a)),s||(t=T({src:t,async:!0,type:"module"},e),(e=Ge.get(a))&&yf(t,e),s=n.createElement("script"),Ft(s),ae(s,"link",t),n.head.appendChild(s)),s={type:"script",instance:s,count:1,state:null},l.set(a,s))}}function $d(t,e,n,l){var a=(a=ot.current)?Qu(a):null;if(!a)throw Error(f(446));switch(t){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(e=ga(n.href),n=zl(a).hoistableStyles,l=n.get(e),l||(l={type:"style",instance:null,count:0,state:null},n.set(e,l)),l):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){t=ga(n.href);var s=zl(a).hoistableStyles,d=s.get(t);if(d||(a=a.ownerDocument||a,d={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},s.set(t,d),(s=a.querySelector(oi(t)))&&!s._p&&(d.instance=s,d.state.loading=5),Ge.has(t)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},Ge.set(t,n),s||uA(a,t,n,d.state))),e&&l===null)throw Error(f(528,""));return d}if(e&&l!==null)throw Error(f(529,""));return null;case"script":return e=n.async,n=n.src,typeof n=="string"&&e&&typeof e!="function"&&typeof e!="symbol"?(e=Aa(n),n=zl(a).hoistableScripts,l=n.get(e),l||(l={type:"script",instance:null,count:0,state:null},n.set(e,l)),l):{type:"void",instance:null,count:0,state:null};default:throw Error(f(444,t))}}function ga(t){return'href="'+Ne(t)+'"'}function oi(t){return'link[rel="stylesheet"]['+t+"]"}function t1(t){return T({},t,{"data-precedence":t.precedence,precedence:null})}function uA(t,e,n,l){t.querySelector('link[rel="preload"][as="style"]['+e+"]")?l.loading=1:(e=t.createElement("link"),l.preload=e,e.addEventListener("load",function(){return l.loading|=1}),e.addEventListener("error",function(){return l.loading|=2}),ae(e,"link",n),Ft(e),t.head.appendChild(e))}function Aa(t){return'[src="'+Ne(t)+'"]'}function di(t){return"script[async]"+t}function e1(t,e,n){if(e.count++,e.instance===null)switch(e.type){case"style":var l=t.querySelector('style[data-href~="'+Ne(n.href)+'"]');if(l)return e.instance=l,Ft(l),l;var a=T({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return l=(t.ownerDocument||t).createElement("style"),Ft(l),ae(l,"style",a),zu(l,n.precedence,t),e.instance=l;case"stylesheet":a=ga(n.href);var s=t.querySelector(oi(a));if(s)return e.state.loading|=4,e.instance=s,Ft(s),s;l=t1(n),(a=Ge.get(a))&&vf(l,a),s=(t.ownerDocument||t).createElement("link"),Ft(s);var d=s;return d._p=new Promise(function(g,S){d.onload=g,d.onerror=S}),ae(s,"link",l),e.state.loading|=4,zu(s,n.precedence,t),e.instance=s;case"script":return s=Aa(n.src),(a=t.querySelector(di(s)))?(e.instance=a,Ft(a),a):(l=n,(a=Ge.get(s))&&(l=T({},n),yf(l,a)),t=t.ownerDocument||t,a=t.createElement("script"),Ft(a),ae(a,"link",l),t.head.appendChild(a),e.instance=a);case"void":return null;default:throw Error(f(443,e.type))}else e.type==="stylesheet"&&(e.state.loading&4)===0&&(l=e.instance,e.state.loading|=4,zu(l,n.precedence,t));return e.instance}function zu(t,e,n){for(var l=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),a=l.length?l[l.length-1]:null,s=a,d=0;d<l.length;d++){var g=l[d];if(g.dataset.precedence===e)s=g;else if(s!==a)break}s?s.parentNode.insertBefore(t,s.nextSibling):(e=n.nodeType===9?n.head:n,e.insertBefore(t,e.firstChild))}function vf(t,e){t.crossOrigin==null&&(t.crossOrigin=e.crossOrigin),t.referrerPolicy==null&&(t.referrerPolicy=e.referrerPolicy),t.title==null&&(t.title=e.title)}function yf(t,e){t.crossOrigin==null&&(t.crossOrigin=e.crossOrigin),t.referrerPolicy==null&&(t.referrerPolicy=e.referrerPolicy),t.integrity==null&&(t.integrity=e.integrity)}var Yu=null;function n1(t,e,n){if(Yu===null){var l=new Map,a=Yu=new Map;a.set(n,l)}else a=Yu,l=a.get(n),l||(l=new Map,a.set(n,l));if(l.has(t))return l;for(l.set(t,null),n=n.getElementsByTagName(t),a=0;a<n.length;a++){var s=n[a];if(!(s[Ra]||s[te]||t==="link"&&s.getAttribute("rel")==="stylesheet")&&s.namespaceURI!=="http://www.w3.org/2000/svg"){var d=s.getAttribute(e)||"";d=t+d;var g=l.get(d);g?g.push(s):l.set(d,[s])}}return l}function l1(t,e,n){t=t.ownerDocument||t,t.head.insertBefore(n,e==="title"?t.querySelector("head > title"):null)}function cA(t,e,n){if(n===1||e.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof e.precedence!="string"||typeof e.href!="string"||e.href==="")break;return!0;case"link":if(typeof e.rel!="string"||typeof e.href!="string"||e.href===""||e.onLoad||e.onError)break;switch(e.rel){case"stylesheet":return t=e.disabled,typeof e.precedence=="string"&&t==null;default:return!0}case"script":if(e.async&&typeof e.async!="function"&&typeof e.async!="symbol"&&!e.onLoad&&!e.onError&&e.src&&typeof e.src=="string")return!0}return!1}function a1(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function sA(t,e,n,l){if(n.type==="stylesheet"&&(typeof l.media!="string"||matchMedia(l.media).matches!==!1)&&(n.state.loading&4)===0){if(n.instance===null){var a=ga(l.href),s=e.querySelector(oi(a));if(s){e=s._p,e!==null&&typeof e=="object"&&typeof e.then=="function"&&(t.count++,t=Lu.bind(t),e.then(t,t)),n.state.loading|=4,n.instance=s,Ft(s);return}s=e.ownerDocument||e,l=t1(l),(a=Ge.get(a))&&vf(l,a),s=s.createElement("link"),Ft(s);var d=s;d._p=new Promise(function(g,S){d.onload=g,d.onerror=S}),ae(s,"link",l),n.instance=s}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(n,e),(e=n.state.preload)&&(n.state.loading&3)===0&&(t.count++,n=Lu.bind(t),e.addEventListener("load",n),e.addEventListener("error",n))}}var Ef=0;function fA(t,e){return t.stylesheets&&t.count===0&&Xu(t,t.stylesheets),0<t.count||0<t.imgCount?function(n){var l=setTimeout(function(){if(t.stylesheets&&Xu(t,t.stylesheets),t.unsuspend){var s=t.unsuspend;t.unsuspend=null,s()}},6e4+e);0<t.imgBytes&&Ef===0&&(Ef=62500*Zg());var a=setTimeout(function(){if(t.waitingForImages=!1,t.count===0&&(t.stylesheets&&Xu(t,t.stylesheets),t.unsuspend)){var s=t.unsuspend;t.unsuspend=null,s()}},(t.imgBytes>Ef?50:800)+e);return t.unsuspend=n,function(){t.unsuspend=null,clearTimeout(l),clearTimeout(a)}}:null}function Lu(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Xu(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var Gu=null;function Xu(t,e){t.stylesheets=null,t.unsuspend!==null&&(t.count++,Gu=new Map,e.forEach(rA,t),Gu=null,Lu.call(t))}function rA(t,e){if(!(e.state.loading&4)){var n=Gu.get(t);if(n)var l=n.get(null);else{n=new Map,Gu.set(t,n);for(var a=t.querySelectorAll("link[data-precedence],style[data-precedence]"),s=0;s<a.length;s++){var d=a[s];(d.nodeName==="LINK"||d.getAttribute("media")!=="not all")&&(n.set(d.dataset.precedence,d),l=d)}l&&n.set(null,l)}a=e.instance,d=a.getAttribute("data-precedence"),s=n.get(d)||l,s===l&&n.set(null,a),n.set(d,a),this.count++,l=Lu.bind(this),a.addEventListener("load",l),a.addEventListener("error",l),s?s.parentNode.insertBefore(a,s.nextSibling):(t=t.nodeType===9?t.head:t,t.insertBefore(a,t.firstChild)),e.state.loading|=4}}var hi={$$typeof:N,Provider:null,Consumer:null,_currentValue:$,_currentValue2:$,_threadCount:0};function oA(t,e,n,l,a,s,d,g,S){this.tag=1,this.containerInfo=t,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=hc(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=hc(0),this.hiddenUpdates=hc(null),this.identifierPrefix=l,this.onUncaughtError=a,this.onCaughtError=s,this.onRecoverableError=d,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=S,this.incompleteTransitions=new Map}function i1(t,e,n,l,a,s,d,g,S,U,Z,J){return t=new oA(t,e,n,d,S,U,Z,J,g),e=1,s===!0&&(e|=24),s=Te(3,null,null,e),t.current=s,s.stateNode=t,e=_c(),e.refCount++,t.pooledCache=e,e.refCount++,s.memoizedState={element:l,isDehydrated:n,cache:e},es(s),t}function u1(t){return t?(t=kl,t):kl}function c1(t,e,n,l,a,s){a=u1(a),l.context===null?l.context=a:l.pendingContext=a,l=Bn(e),l.payload={element:n},s=s===void 0?null:s,s!==null&&(l.callback=s),n=Un(t,l,e),n!==null&&(ve(n,t,e),qa(n,t,e))}function s1(t,e){if(t=t.memoizedState,t!==null&&t.dehydrated!==null){var n=t.retryLane;t.retryLane=n!==0&&n<e?n:e}}function pf(t,e){s1(t,e),(t=t.alternate)&&s1(t,e)}function f1(t){if(t.tag===13||t.tag===31){var e=dl(t,67108864);e!==null&&ve(e,t,67108864),pf(t,67108864)}}function r1(t){if(t.tag===13||t.tag===31){var e=we();e=mc(e);var n=dl(t,e);n!==null&&ve(n,t,e),pf(t,e)}}var Vu=!0;function dA(t,e,n,l){var a=M.T;M.T=null;var s=_.p;try{_.p=2,xf(t,e,n,l)}finally{_.p=s,M.T=a}}function hA(t,e,n,l){var a=M.T;M.T=null;var s=_.p;try{_.p=8,xf(t,e,n,l)}finally{_.p=s,M.T=a}}function xf(t,e,n,l){if(Vu){var a=bf(l);if(a===null)cf(t,e,l,Zu,n),d1(t,l);else if(gA(a,t,e,n,l))l.stopPropagation();else if(d1(t,l),e&4&&-1<mA.indexOf(t)){for(;a!==null;){var s=Ql(a);if(s!==null)switch(s.tag){case 3:if(s=s.stateNode,s.current.memoizedState.isDehydrated){var d=cl(s.pendingLanes);if(d!==0){var g=s;for(g.pendingLanes|=2,g.entangledLanes|=2;d;){var S=1<<31-be(d);g.entanglements[1]|=S,d&=~S}_e(s),(Ct&6)===0&&(Cu=pe()+500,ci(0))}}break;case 31:case 13:g=dl(s,2),g!==null&&ve(g,s,2),Du(),pf(s,2)}if(s=bf(l),s===null&&cf(t,e,l,Zu,n),s===a)break;a=s}a!==null&&l.stopPropagation()}else cf(t,e,l,null,n)}}function bf(t){return t=Sc(t),Sf(t)}var Zu=null;function Sf(t){if(Zu=null,t=Ul(t),t!==null){var e=o(t);if(e===null)t=null;else{var n=e.tag;if(n===13){if(t=h(e),t!==null)return t;t=null}else if(n===31){if(t=v(e),t!==null)return t;t=null}else if(n===3){if(e.stateNode.current.memoizedState.isDehydrated)return e.tag===3?e.stateNode.containerInfo:null;t=null}else e!==t&&(t=null)}}return Zu=t,null}function o1(t){switch(t){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch($h()){case yr:return 2;case Er:return 8;case Ni:case tm:return 32;case pr:return 268435456;default:return 32}default:return 32}}var Tf=!1,Kn=null,kn=null,Jn=null,mi=new Map,gi=new Map,Fn=[],mA="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function d1(t,e){switch(t){case"focusin":case"focusout":Kn=null;break;case"dragenter":case"dragleave":kn=null;break;case"mouseover":case"mouseout":Jn=null;break;case"pointerover":case"pointerout":mi.delete(e.pointerId);break;case"gotpointercapture":case"lostpointercapture":gi.delete(e.pointerId)}}function Ai(t,e,n,l,a,s){return t===null||t.nativeEvent!==s?(t={blockedOn:e,domEventName:n,eventSystemFlags:l,nativeEvent:s,targetContainers:[a]},e!==null&&(e=Ql(e),e!==null&&f1(e)),t):(t.eventSystemFlags|=l,e=t.targetContainers,a!==null&&e.indexOf(a)===-1&&e.push(a),t)}function gA(t,e,n,l,a){switch(e){case"focusin":return Kn=Ai(Kn,t,e,n,l,a),!0;case"dragenter":return kn=Ai(kn,t,e,n,l,a),!0;case"mouseover":return Jn=Ai(Jn,t,e,n,l,a),!0;case"pointerover":var s=a.pointerId;return mi.set(s,Ai(mi.get(s)||null,t,e,n,l,a)),!0;case"gotpointercapture":return s=a.pointerId,gi.set(s,Ai(gi.get(s)||null,t,e,n,l,a)),!0}return!1}function h1(t){var e=Ul(t.target);if(e!==null){var n=o(e);if(n!==null){if(e=n.tag,e===13){if(e=h(n),e!==null){t.blockedOn=e,Or(t.priority,function(){r1(n)});return}}else if(e===31){if(e=v(n),e!==null){t.blockedOn=e,Or(t.priority,function(){r1(n)});return}}else if(e===3&&n.stateNode.current.memoizedState.isDehydrated){t.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}t.blockedOn=null}function Iu(t){if(t.blockedOn!==null)return!1;for(var e=t.targetContainers;0<e.length;){var n=bf(t.nativeEvent);if(n===null){n=t.nativeEvent;var l=new n.constructor(n.type,n);bc=l,n.target.dispatchEvent(l),bc=null}else return e=Ql(n),e!==null&&f1(e),t.blockedOn=n,!1;e.shift()}return!0}function m1(t,e,n){Iu(t)&&n.delete(e)}function AA(){Tf=!1,Kn!==null&&Iu(Kn)&&(Kn=null),kn!==null&&Iu(kn)&&(kn=null),Jn!==null&&Iu(Jn)&&(Jn=null),mi.forEach(m1),gi.forEach(m1)}function qu(t,e){t.blockedOn===e&&(t.blockedOn=null,Tf||(Tf=!0,i.unstable_scheduleCallback(i.unstable_NormalPriority,AA)))}var Ku=null;function g1(t){Ku!==t&&(Ku=t,i.unstable_scheduleCallback(i.unstable_NormalPriority,function(){Ku===t&&(Ku=null);for(var e=0;e<t.length;e+=3){var n=t[e],l=t[e+1],a=t[e+2];if(typeof l!="function"){if(Sf(l||n)===null)continue;break}var s=Ql(n);s!==null&&(t.splice(e,3),e-=3,xs(s,{pending:!0,data:a,method:n.method,action:l},l,a))}}))}function va(t){function e(S){return qu(S,t)}Kn!==null&&qu(Kn,t),kn!==null&&qu(kn,t),Jn!==null&&qu(Jn,t),mi.forEach(e),gi.forEach(e);for(var n=0;n<Fn.length;n++){var l=Fn[n];l.blockedOn===t&&(l.blockedOn=null)}for(;0<Fn.length&&(n=Fn[0],n.blockedOn===null);)h1(n),n.blockedOn===null&&Fn.shift();if(n=(t.ownerDocument||t).$$reactFormReplay,n!=null)for(l=0;l<n.length;l+=3){var a=n[l],s=n[l+1],d=a[oe]||null;if(typeof s=="function")d||g1(n);else if(d){var g=null;if(s&&s.hasAttribute("formAction")){if(a=s,d=s[oe]||null)g=d.formAction;else if(Sf(a)!==null)continue}else g=d.action;typeof g=="function"?n[l+1]=g:(n.splice(l,3),l-=3),g1(n)}}}function A1(){function t(s){s.canIntercept&&s.info==="react-transition"&&s.intercept({handler:function(){return new Promise(function(d){return a=d})},focusReset:"manual",scroll:"manual"})}function e(){a!==null&&(a(),a=null),l||setTimeout(n,20)}function n(){if(!l&&!navigation.transition){var s=navigation.currentEntry;s&&s.url!=null&&navigation.navigate(s.url,{state:s.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var l=!1,a=null;return navigation.addEventListener("navigate",t),navigation.addEventListener("navigatesuccess",e),navigation.addEventListener("navigateerror",e),setTimeout(n,100),function(){l=!0,navigation.removeEventListener("navigate",t),navigation.removeEventListener("navigatesuccess",e),navigation.removeEventListener("navigateerror",e),a!==null&&(a(),a=null)}}}function Cf(t){this._internalRoot=t}ku.prototype.render=Cf.prototype.render=function(t){var e=this._internalRoot;if(e===null)throw Error(f(409));var n=e.current,l=we();c1(n,l,t,e,null,null)},ku.prototype.unmount=Cf.prototype.unmount=function(){var t=this._internalRoot;if(t!==null){this._internalRoot=null;var e=t.containerInfo;c1(t.current,2,null,t,null,null),Du(),e[Bl]=null}};function ku(t){this._internalRoot=t}ku.prototype.unstable_scheduleHydration=function(t){if(t){var e=Cr();t={blockedOn:null,target:t,priority:e};for(var n=0;n<Fn.length&&e!==0&&e<Fn[n].priority;n++);Fn.splice(n,0,t),n===0&&h1(t)}};var v1=u.version;if(v1!=="19.2.1")throw Error(f(527,v1,"19.2.1"));_.findDOMNode=function(t){var e=t._reactInternals;if(e===void 0)throw typeof t.render=="function"?Error(f(188)):(t=Object.keys(t).join(","),Error(f(268,t)));return t=A(e),t=t!==null?x(t):null,t=t===null?null:t.stateNode,t};var vA={bundleType:0,version:"19.2.1",rendererPackageName:"react-dom",currentDispatcherRef:M,reconcilerVersion:"19.2.1"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Ju=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Ju.isDisabled&&Ju.supportsFiber)try{Ca=Ju.inject(vA),xe=Ju}catch{}}return pi.createRoot=function(t,e){if(!r(t))throw Error(f(299));var n=!1,l="",a=To,s=Co,d=Oo;return e!=null&&(e.unstable_strictMode===!0&&(n=!0),e.identifierPrefix!==void 0&&(l=e.identifierPrefix),e.onUncaughtError!==void 0&&(a=e.onUncaughtError),e.onCaughtError!==void 0&&(s=e.onCaughtError),e.onRecoverableError!==void 0&&(d=e.onRecoverableError)),e=i1(t,1,!1,null,null,n,l,null,a,s,d,A1),t[Bl]=e.current,uf(t),new Cf(e)},pi.hydrateRoot=function(t,e,n){if(!r(t))throw Error(f(299));var l=!1,a="",s=To,d=Co,g=Oo,S=null;return n!=null&&(n.unstable_strictMode===!0&&(l=!0),n.identifierPrefix!==void 0&&(a=n.identifierPrefix),n.onUncaughtError!==void 0&&(s=n.onUncaughtError),n.onCaughtError!==void 0&&(d=n.onCaughtError),n.onRecoverableError!==void 0&&(g=n.onRecoverableError),n.formState!==void 0&&(S=n.formState)),e=i1(t,1,!0,e,n??null,l,a,S,s,d,g,A1),e.context=u1(null),n=e.current,l=we(),l=mc(l),a=Bn(l),a.callback=null,Un(n,a,l),n=l,e.current.lanes=n,Da(e,n),_e(e),t[Bl]=e.current,uf(t),new ku(e)},pi.version="19.2.1",pi}var y2;function c3(){if(y2)return Yf.exports;y2=1;function i(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(i)}catch(u){console.error(u)}}return i(),Yf.exports=u3(),Yf.exports}var s3=c3();class uc{constructor(){this.project=[],this.status=[],this.text=[],this.labels=[],this.annotations=[]}empty(){return this.project.length+this.status.length+this.text.length+this.labels.length+this.annotations.length===0}static parse(u){const c=uc.tokenize(u),f=new Set,r=new Set,o=[],h=new Set,v=new Set;for(let A of c){const x=A.startsWith("!");if(x&&(A=A.slice(1)),A.startsWith("p:")){f.add({name:A.slice(2),not:x});continue}if(A.startsWith("s:")){r.add({name:A.slice(2),not:x});continue}if(A.startsWith("@")){h.add({name:A,not:x});continue}if(A.startsWith("annot:")){v.add({name:A.slice(6),not:x});continue}o.push({name:A.toLowerCase(),not:x})}const y=new uc;return y.text=o,y.project=[...f],y.status=[...r],y.labels=[...h],y.annotations=[...v],y}static tokenize(u){const c=[];let f,r=[];for(let o=0;o<u.length;++o){const h=u[o];if(f&&h==="\\"&&u[o+1]===f){r.push(f),++o;continue}if(h==='"'||h==="'"){f===h?(c.push(r.join("").toLowerCase()),r=[],f=void 0):f?r.push(h):f=h;continue}if(f){r.push(h);continue}if(h===" "){r.length&&(c.push(r.join("").toLowerCase()),r=[]);continue}r.push(h)}return r.length&&c.push(r.join("").toLowerCase()),c}matches(u){const c=f3(u);if(this.project.length&&!!!this.project.find(r=>{const o=c.project.includes(r.name);return r.not?!o:o}))return!1;if(this.status.length){if(!!!this.status.find(r=>{const o=c.status.includes(r.name);return r.not?!o:o}))return!1}else if(c.status==="skipped")return!1;return!(this.text.length&&!this.text.every(r=>{if(c.text.includes(r.name))return!r.not;const[o,h,v]=r.name.split(":");return c.file.includes(o)&&c.line===h&&(v===void 0||c.column===v)?!r.not:!!r.not})||this.labels.length&&!this.labels.every(r=>{const o=c.labels.includes(r.name);return r.not?!o:o})||this.annotations.length&&!this.annotations.every(r=>{const o=c.annotations.some(h=>h.includes(r.name));return r.not?!o:o}))}}const E2=Symbol("searchValues");function f3(i){const u=i[E2];if(u)return u;let c="passed";i.outcome==="unexpected"&&(c="failed"),i.outcome==="flaky"&&(c="flaky"),i.outcome==="skipped"&&(c="skipped");const f={text:(c+" "+i.projectName+" "+i.tags.join(" ")+" "+i.location.file+" "+i.path.join(" ")+" "+i.title).toLowerCase(),project:i.projectName.toLowerCase(),status:c,file:i.location.file,line:String(i.location.line),column:String(i.location.column),labels:i.tags.map(r=>r.toLowerCase()),annotations:i.annotations.map(r=>{var o;return r.type.toLowerCase()+"="+((o=r.description)==null?void 0:o.toLocaleLowerCase())})};return i[E2]=f,f}const r3=/("[^"]*"|"[^"]*$|\S+)/g;function Ml(i,u,c){const f=new URLSearchParams(i),o=[...(i.get("q")??"").matchAll(r3)].map(y=>{const A=y[0];return A.startsWith('"')&&A.endsWith('"')&&A.length>1?A.slice(1,A.length-1):A});if(c)return f.set("q",p2(o.includes(u)?o.filter(y=>y!==u):[...o,u])),"#?"+f;let h;u.startsWith("s:")&&(h="s:"),u.startsWith("p:")&&(h="p:"),u.startsWith("@")&&(h="@");const v=o.filter(y=>!y.startsWith(h));return v.push(u),f.set("q",p2(v)),"#?"+f}function p2(i){return i.map(u=>/\s/.test(u)?`"${u}"`:u).join(" ").trim()}const o3=()=>m.jsx("span",{className:"octicon",style:{width:16,height:16}}),Oh=()=>m.jsx("svg",{"aria-hidden":"true",height:"16",viewBox:"0 0 16 16",version:"1.1",width:"16","data-view-component":"true",className:"octicon subnav-search-icon",children:m.jsx("path",{fillRule:"evenodd",d:"M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"})}),Mi=()=>m.jsx("svg",{"aria-hidden":"true",height:"16",viewBox:"0 0 16 16",version:"1.1",width:"16",className:"octicon color-fg-muted",children:m.jsx("path",{fillRule:"evenodd",d:"M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z"})}),Sa=()=>m.jsx("svg",{"aria-hidden":"true",height:"16",viewBox:"0 0 16 16",version:"1.1",width:"16","data-view-component":"true",className:"octicon color-fg-muted",children:m.jsx("path",{fillRule:"evenodd",d:"M6.22 3.22a.75.75 0 011.06 0l4.25 4.25a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06-1.06L9.94 8 6.22 4.28a.75.75 0 010-1.06z"})}),Dh=()=>m.jsx("svg",{"aria-hidden":"true",height:"16",viewBox:"0 0 16 16",version:"1.1",width:"16","data-view-component":"true",className:"octicon color-text-warning",children:m.jsx("path",{fillRule:"evenodd",d:"M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"})}),Rh=()=>m.jsx("svg",{"aria-hidden":"true",height:"16",viewBox:"0 0 16 16",version:"1.1",width:"16","data-view-component":"true",className:"octicon color-fg-muted",children:m.jsx("path",{fillRule:"evenodd",d:"M3.5 1.75a.25.25 0 01.25-.25h3a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h2.086a.25.25 0 01.177.073l2.914 2.914a.25.25 0 01.073.177v8.586a.25.25 0 01-.25.25h-.5a.75.75 0 000 1.5h.5A1.75 1.75 0 0014 13.25V4.664c0-.464-.184-.909-.513-1.237L10.573.513A1.75 1.75 0 009.336 0H3.75A1.75 1.75 0 002 1.75v11.5c0 .649.353 1.214.874 1.515a.75.75 0 10.752-1.298.25.25 0 01-.126-.217V1.75zM8.75 3a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM6 5.25a.75.75 0 01.75-.75h.5a.75.75 0 010 1.5h-.5A.75.75 0 016 5.25zm2 1.5A.75.75 0 018.75 6h.5a.75.75 0 010 1.5h-.5A.75.75 0 018 6.75zm-1.25.75a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM8 9.75A.75.75 0 018.75 9h.5a.75.75 0 010 1.5h-.5A.75.75 0 018 9.75zm-.75.75a1.75 1.75 0 00-1.75 1.75v3c0 .414.336.75.75.75h2.5a.75.75 0 00.75-.75v-3a1.75 1.75 0 00-1.75-1.75h-.5zM7 12.25a.25.25 0 01.25-.25h.5a.25.25 0 01.25.25v2.25H7v-2.25z"})}),d3=()=>m.jsx("svg",{"aria-hidden":"true",height:"16",viewBox:"0 0 16 16",version:"1.1",width:"16","data-view-component":"true",className:"octicon color-fg-muted indirect-attachment-indicator",children:m.jsx("path",{fillRule:"evenodd",d:"M3.5 1.75a.25.25 0 01.25-.25h3a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h2.086a.25.25 0 01.177.073l2.914 2.914a.25.25 0 01.073.177v8.586a.25.25 0 01-.25.25h-.5a.75.75 0 000 1.5h.5A1.75 1.75 0 0014 13.25V4.664c0-.464-.184-.909-.513-1.237L10.573.513A1.75 1.75 0 009.336 0H3.75A1.75 1.75 0 002 1.75v11.5c0 .649.353 1.214.874 1.515a.75.75 0 10.752-1.298.25.25 0 01-.126-.217V1.75zM8.75 3a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM6 5.25a.75.75 0 01.75-.75h.5a.75.75 0 010 1.5h-.5A.75.75 0 016 5.25zm2 1.5A.75.75 0 018.75 6h.5a.75.75 0 010 1.5h-.5A.75.75 0 018 6.75zm-1.25.75a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM8 9.75A.75.75 0 018.75 9h.5a.75.75 0 010 1.5h-.5A.75.75 0 018 9.75zm-.75.75a1.75 1.75 0 00-1.75 1.75v3c0 .414.336.75.75.75h2.5a.75.75 0 00.75-.75v-3a1.75 1.75 0 00-1.75-1.75h-.5zM7 12.25a.25.25 0 01.25-.25h.5a.25.25 0 01.25.25v2.25H7v-2.25z"})}),wh=()=>m.jsx("svg",{className:"octicon color-text-danger",viewBox:"0 0 16 16",version:"1.1",width:"16",height:"16","aria-hidden":"true",children:m.jsx("path",{fillRule:"evenodd",d:"M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"})}),Mh=()=>m.jsx("svg",{"aria-hidden":"true",height:"16",viewBox:"0 0 16 16",version:"1.1",width:"16","data-view-component":"true",className:"octicon color-icon-success",children:m.jsx("path",{fillRule:"evenodd",d:"M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"})}),jh=()=>m.jsx("svg",{"aria-hidden":"true",height:"16",viewBox:"0 0 16 16",version:"1.1",width:"16","data-view-component":"true",className:"octicon octicon-clock color-text-danger",children:m.jsx("path",{fillRule:"evenodd",d:"M5.75.75A.75.75 0 016.5 0h3a.75.75 0 010 1.5h-.75v1l-.001.041a6.718 6.718 0 013.464 1.435l.007-.006.75-.75a.75.75 0 111.06 1.06l-.75.75-.006.007a6.75 6.75 0 11-10.548 0L2.72 5.03l-.75-.75a.75.75 0 011.06-1.06l.75.75.007.006A6.718 6.718 0 017.25 2.541a.756.756 0 010-.041v-1H6.5a.75.75 0 01-.75-.75zM8 14.5A5.25 5.25 0 108 4a5.25 5.25 0 000 10.5zm.389-6.7l1.33-1.33a.75.75 0 111.061 1.06L9.45 8.861A1.502 1.502 0 018 10.75a1.5 1.5 0 11.389-2.95z"})}),h3=()=>m.jsx("svg",{"aria-hidden":"true",viewBox:"0 0 16 16",width:"16",height:"16","data-view-component":"true",className:"octicon color-fg-muted",children:m.jsx("path",{d:"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm9.78-2.22-5.5 5.5a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l5.5-5.5a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"})}),m3=()=>m.jsx("svg",{className:"octicon",viewBox:"0 0 48 48",version:"1.1",width:"20",height:"20","aria-hidden":"true",children:m.jsx("path",{xmlns:"http://www.w3.org/2000/svg",d:"M11.85 32H36.2l-7.35-9.95-6.55 8.7-4.6-6.45ZM7 40q-1.2 0-2.1-.9Q4 38.2 4 37V11q0-1.2.9-2.1Q5.8 8 7 8h34q1.2 0 2.1.9.9.9.9 2.1v26q0 1.2-.9 2.1-.9.9-2.1.9Zm0-29v26-26Zm34 26V11H7v26Z"})}),g3=()=>m.jsx("svg",{className:"octicon",viewBox:"0 0 48 48",version:"1.1",width:"20",height:"20","aria-hidden":"true",children:m.jsx("path",{xmlns:"http://www.w3.org/2000/svg",d:"m19.6 32.35 13-8.45-13-8.45ZM7 40q-1.2 0-2.1-.9Q4 38.2 4 37V11q0-1.2.9-2.1Q5.8 8 7 8h34q1.2 0 2.1.9.9.9.9 2.1v26q0 1.2-.9 2.1-.9.9-2.1.9Zm0-3h34V11H7v26Zm0 0V11v26Z"})}),A3=()=>m.jsx("svg",{className:"octicon",viewBox:"0 0 48 48",version:"1.1",width:"20",height:"20","aria-hidden":"true",children:m.jsx("path",{xmlns:"http://www.w3.org/2000/svg",d:"M7 37h9.35V11H7v26Zm12.35 0h9.3V11h-9.3v26Zm12.3 0H41V11h-9.35v26ZM7 40q-1.2 0-2.1-.9Q4 38.2 4 37V11q0-1.2.9-2.1Q5.8 8 7 8h34q1.2 0 2.1.9.9.9.9 2.1v26q0 1.2-.9 2.1-.9.9-2.1.9Z"})}),v3=()=>m.jsxs("svg",{className:"octicon",viewBox:"0 0 16 16",width:"16",height:"16","aria-hidden":"true",children:[m.jsx("path",{d:"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"}),m.jsx("path",{d:"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"})]}),y3=()=>m.jsx("svg",{className:"octicon octicon-settings",viewBox:"0 0 16 16",width:"16",height:"16","aria-hidden":"true",children:m.jsx("path",{d:"M8 0a8.2 8.2 0 0 1 .701.031C9.444.095 9.99.645 10.16 1.29l.288 1.107c.018.066.079.158.212.224.231.114.454.243.668.386.123.082.233.09.299.071l1.103-.303c.644-.176 1.392.021 1.82.63.27.385.506.792.704 1.218.315.675.111 1.422-.364 1.891l-.814.806c-.049.048-.098.147-.088.294.016.257.016.515 0 .772-.01.147.038.246.088.294l.814.806c.475.469.679 1.216.364 1.891a7.977 7.977 0 0 1-.704 1.217c-.428.61-1.176.807-1.82.63l-1.102-.302c-.067-.019-.177-.011-.3.071a5.909 5.909 0 0 1-.668.386c-.133.066-.194.158-.211.224l-.29 1.106c-.168.646-.715 1.196-1.458 1.26a8.006 8.006 0 0 1-1.402 0c-.743-.064-1.289-.614-1.458-1.26l-.289-1.106c-.018-.066-.079-.158-.212-.224a5.738 5.738 0 0 1-.668-.386c-.123-.082-.233-.09-.299-.071l-1.103.303c-.644.176-1.392-.021-1.82-.63a8.12 8.12 0 0 1-.704-1.218c-.315-.675-.111-1.422.363-1.891l.815-.806c.05-.048.098-.147.088-.294a6.214 6.214 0 0 1 0-.772c.01-.147-.038-.246-.088-.294l-.815-.806C.635 6.045.431 5.298.746 4.623a7.92 7.92 0 0 1 .704-1.217c.428-.61 1.176-.807 1.82-.63l1.102.302c.067.019.177.011.3-.071.214-.143.437-.272.668-.386.133-.066.194-.158.211-.224l.29-1.106C6.009.645 6.556.095 7.299.03 7.53.01 7.764 0 8 0Zm-.571 1.525c-.036.003-.108.036-.137.146l-.289 1.105c-.147.561-.549.967-.998 1.189-.173.086-.34.183-.5.29-.417.278-.97.423-1.529.27l-1.103-.303c-.109-.03-.175.016-.195.045-.22.312-.412.644-.573.99-.014.031-.021.11.059.19l.815.806c.411.406.562.957.53 1.456a4.709 4.709 0 0 0 0 .582c.032.499-.119 1.05-.53 1.456l-.815.806c-.081.08-.073.159-.059.19.162.346.353.677.573.989.02.03.085.076.195.046l1.102-.303c.56-.153 1.113-.008 1.53.27.161.107.328.204.501.29.447.222.85.629.997 1.189l.289 1.105c.029.109.101.143.137.146a6.6 6.6 0 0 0 1.142 0c.036-.003.108-.036.137-.146l.289-1.105c.147-.561.549-.967.998-1.189.173-.086.34-.183.5-.29.417-.278.97-.423 1.529-.27l1.103.303c.109.029.175-.016.195-.045.22-.313.411-.644.573-.99.014-.031.021-.11-.059-.19l-.815-.806c-.411-.406-.562-.957-.53-1.456a4.709 4.709 0 0 0 0-.582c-.032-.499.119-1.05.53-1.456l.815-.806c.081-.08.073-.159.059-.19a6.464 6.464 0 0 0-.573-.989c-.02-.03-.085-.076-.195-.046l-1.102.303c-.56.153-1.113.008-1.53-.27a4.44 4.44 0 0 0-.501-.29c-.447-.222-.85-.629-.997-1.189l-.289-1.105c-.029-.11-.101-.143-.137-.146a6.6 6.6 0 0 0-1.142 0ZM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM9.5 8a1.5 1.5 0 1 0-3.001.001A1.5 1.5 0 0 0 9.5 8Z"})}),Nh=({value:i})=>{const[u,c]=it.useState("copy"),f=it.useCallback(()=>{navigator.clipboard.writeText(i).then(()=>{c("check"),setTimeout(()=>{c("copy")},3e3)},()=>{c("cross")})},[i]),r=u==="check"?Mh():u==="cross"?wh():v3();return m.jsx("button",{className:"copy-icon",title:"Copy to clipboard","aria-label":"Copy to clipboard",onClick:f,children:r})},or=({children:i,value:u})=>m.jsxs("span",{className:"copy-value-container",children:[i,m.jsx("span",{className:"copy-button-container",children:m.jsx(Nh,{value:u})})]});function E3(i,u,c,f){const[r,o]=ue.useState(c);return ue.useEffect(()=>{let h=!1;return i().then(v=>{h||o(v)}),()=>{h=!0}},u),r}function Hh(){const i=ue.useRef(null),[u]=$f(i);return[u,i]}function $f(i){const[u,c]=ue.useState(new DOMRect(0,0,10,10)),f=ue.useCallback(()=>{const r=i==null?void 0:i.current;r&&c(r.getBoundingClientRect())},[i]);return ue.useLayoutEffect(()=>{const r=i==null?void 0:i.current;if(!r)return;f();const o=new ResizeObserver(f);return o.observe(r),window.addEventListener("resize",f),()=>{o.disconnect(),window.removeEventListener("resize",f)}},[f,i]),[u,f]}function Bh(i,u){u=Dl.getObject(i,u);const[c,f]=ue.useState(u),r=ue.useCallback(o=>{Dl.setObject(i,o)},[i,f]);return ue.useEffect(()=>{{const o=()=>f(Dl.getObject(i,u));return Dl.onChangeEmitter.addEventListener(i,o),()=>Dl.onChangeEmitter.removeEventListener(i,o)}},[u,i]),[c,r]}class p3{constructor(){this.onChangeEmitter=new EventTarget}getString(u,c){return localStorage[u]||c}setString(u,c){var f;localStorage[u]=c,this.onChangeEmitter.dispatchEvent(new Event(u)),(f=window.saveSettings)==null||f.call(window)}getObject(u,c){if(!localStorage[u])return c;try{return JSON.parse(localStorage[u])}catch{return c}}setObject(u,c){var f;localStorage[u]=JSON.stringify(c),this.onChangeEmitter.dispatchEvent(new Event(u)),(f=window.saveSettings)==null||f.call(window)}}const Dl=new p3;function Ze(...i){return i.filter(Boolean).join(" ")}const x2="\\u0000-\\u0020\\u007f-\\u009f",x3=new RegExp("(?:[a-zA-Z][a-zA-Z0-9+.-]{2,}:\\/\\/|www\\.)[^\\s"+x2+'"]{2,}[^\\s'+x2+`"')}\\],:;.!?]`,"ug");function b3(){const[i,u]=ue.useState(!1),c=ue.useCallback(()=>{const f=[];return u(r=>(f.push(setTimeout(()=>u(!1),1e3)),r?(f.push(setTimeout(()=>u(!0),50)),!1):!0)),()=>f.forEach(clearTimeout)},[u]);return[i,c]}function Di(i){const u=[];let c=0,f;for(;(f=x3.exec(i))!==null;){const o=i.substring(c,f.index);o&&u.push(o);const h=f[0];u.push(S3(h)),c=f.index+h.length}const r=i.substring(c);return r&&u.push(r),u}function S3(i){let u=i;return u.startsWith("www.")&&(u="https://"+u),m.jsx("a",{href:u,target:"_blank",rel:"noopener noreferrer",children:i})}const T3=({summary:i,children:u,className:c,style:f})=>{const[r,o]=ue.useState(!1),h=v=>{o(v.currentTarget.open)};return m.jsxs("details",{style:f,className:c,onToggle:h,children:[m.jsxs("summary",{className:"expandable-summary",children:[r?Mi():Sa(),i]}),u]})};function C3(i){let u=0;for(let c=0;c<i.length;c++)u=i.charCodeAt(c)+((u<<8)-u);return Math.abs(u%6)}function Ve(i){if(!i)return i;try{const u=new URL(i,window.location.href);if(u.origin===window.location.origin){for(const[c,f]of new URLSearchParams(window.location.search))u.searchParams.set(c,f);return u.toString()}return i}catch{return i}}const Uh=({label:i,href:u,onClick:c,colorIndex:f,trimAtSymbolPrefix:r})=>{const o=m.jsx("span",{className:Ze("label","label-color-"+(f!==void 0?f:C3(i))),onClick:c?h=>c(h,i):void 0,children:r&&i.startsWith("@")?i.slice(1):i});return u?m.jsx("a",{className:"label-anchor",href:Ve(u),children:o}):o},Qh=({projectNames:i,activeProjectName:u,otherLabels:c,style:f})=>{const r=i.length>0&&!!u;return(r||c.length>0)&&m.jsxs("span",{className:"label-row",style:f,children:[r&&m.jsx(D3,{projectNames:i,projectName:u}),m.jsx(O3,{labels:c})]})},O3=({labels:i})=>{const u=se(),c=it.useCallback((f,r)=>{const o=new URLSearchParams(u);f.preventDefault(),o.has("testId")&&o.delete("speedboard"),o.delete("testId"),ll(Ml(o,r,f.metaKey||f.ctrlKey))},[u]);return m.jsx(m.Fragment,{children:i.map(f=>m.jsx(Uh,{label:f,trimAtSymbolPrefix:!0,onClick:c},f))})};function ll(i){window.history.pushState({},"",i);const u=new PopStateEvent("popstate");window.dispatchEvent(u)}const Vf=({predicate:i,children:u})=>i(se())?u:null,bn=({click:i,ctrlClick:u,children:c,...f})=>m.jsx("a",{...f,style:{textDecoration:"none",color:"var(--color-fg-default)",cursor:"pointer"},onClick:r=>{i&&(r.preventDefault(),ll(Ve((r.metaKey||r.ctrlKey)&&u||i)))},children:c}),dr=({className:i,...u})=>m.jsx(bn,{...u,className:Ze("link-badge",u.dim&&"link-badge-dim",i)}),D3=({projectNames:i,projectName:u})=>{const c=new URLSearchParams(se());return c.has("testId")&&c.delete("speedboard"),c.delete("testId"),m.jsx(bn,{click:Ml(c,`p:${u}`,!1),ctrlClick:Ml(c,`p:${u}`,!0),children:m.jsx(Uh,{label:u,colorIndex:i.indexOf(u)%6})})},$u=({attachment:i,result:u,href:c,linkName:f,openInNewTab:r})=>{const[o,h]=b3();hr("attachment-"+u.attachments.indexOf(i),h);const v=m.jsxs("span",{children:[i.contentType===M3?Dh():Rh(),i.path&&(r?m.jsx("a",{href:Ve(c||i.path),target:"_blank",rel:"noreferrer",children:f||i.name}):m.jsx("a",{href:Ve(c||i.path),download:w3(i),children:f||i.name})),!i.path&&(r?m.jsx("a",{href:URL.createObjectURL(new Blob([i.body],{type:i.contentType})),target:"_blank",rel:"noreferrer",onClick:y=>y.stopPropagation(),children:i.name}):m.jsx("span",{children:Di(i.name)}))]});return i.body?m.jsx(T3,{style:{lineHeight:"32px"},className:Ze(o&&"attachment-flash"),summary:v,children:m.jsxs("div",{className:"attachment-body",children:[m.jsx(Nh,{value:i.body}),Di(i.body)]})}):m.jsxs("div",{style:{lineHeight:"32px",whiteSpace:"nowrap",paddingLeft:4},className:Ze(o&&"attachment-flash"),children:[m.jsx("span",{style:{visibility:"hidden"},children:Sa()}),v]})},zh=({test:i,trailingSeparator:u,dim:c})=>{const f=i.results.map(r=>r.attachments.filter(o=>o.name==="trace")).filter(r=>r.length>0)[0];if(f)return m.jsxs(m.Fragment,{children:[m.jsxs(dr,{href:Ve(Lh(f)),title:"View Trace",className:"button trace-link",dim:c,children:[A3(),m.jsx("span",{children:"View Trace"})]}),u&&m.jsx("div",{className:"trace-link-separator",children:"|"})]})},Yh=it.createContext(new URLSearchParams(window.location.hash.slice(1)));function se(){return it.useContext(Yh)}const R3=({children:i})=>{const[u,c]=it.useState(new URLSearchParams(window.location.hash.slice(1)));return it.useEffect(()=>{const f=()=>c(new URLSearchParams(window.location.hash.slice(1)));return window.addEventListener("popstate",f),()=>window.removeEventListener("popstate",f)},[]),m.jsx(Yh.Provider,{value:u,children:i})};function w3(i){if(i.name.includes(".")||!i.path)return i.name;const u=i.path.indexOf(".");return u===-1?i.name:i.name+i.path.slice(u,i.path.length)}function Lh(i){return`trace/index.html?${i.map((u,c)=>`trace=${new URL(u.path,window.location.href)}`).join("&")}`}const M3="x-playwright/missing";function hr(i,u){const c=se(),f=j3(i);it.useEffect(()=>{if(f)return u()},[f,u,c])}function j3(i){const u=se().get("anchor");return u===null||typeof i>"u"?!1:typeof i=="string"?i===u:Array.isArray(i)?i.includes(u):i(u)}function xi({id:i,children:u}){const c=it.useRef(null),f=it.useCallback(()=>{var r;(r=c.current)==null||r.scrollIntoView({block:"start",inline:"start"})},[]);return hr(i,f),m.jsx("div",{ref:c,children:u})}function il({test:i,result:u,anchor:c},f){const r=new URLSearchParams(f);return i&&r.set("testId",i.testId),i&&u&&r.set("run",""+i.results.indexOf(u)),c&&r.set("anchor",c),"#?"+r}function fc(i){switch(i){case"failed":case"unexpected":return wh();case"passed":case"expected":return Mh();case"timedOut":return jh();case"flaky":return Dh();case"skipped":case"interrupted":return h3()}}const N3=({className:i,style:u,open:c,isModal:f,minWidth:r,verticalOffset:o,requestClose:h,anchor:v,dataTestId:y,children:A})=>{const x=it.useRef(null),[T,D]=it.useState(0),[X]=$f(x),[q,p]=$f(v),E=v?H3(X,q,o):void 0;return it.useEffect(()=>{const b=N=>{!x.current||!(N.target instanceof Node)||x.current.contains(N.target)||h==null||h()},R=N=>{N.key==="Escape"&&(h==null||h())};return c?(document.addEventListener("mousedown",b),document.addEventListener("keydown",R),()=>{document.removeEventListener("mousedown",b),document.removeEventListener("keydown",R)}):()=>{}},[c,h]),it.useLayoutEffect(()=>p(),[c,p]),it.useEffect(()=>{const b=()=>D(R=>R+1);return window.addEventListener("resize",b),()=>{window.removeEventListener("resize",b)}},[]),it.useLayoutEffect(()=>{x.current&&(c?f?x.current.showModal():x.current.show():x.current.close())},[c,f]),m.jsx("dialog",{ref:x,style:{position:"fixed",margin:E?0:void 0,zIndex:110,top:E==null?void 0:E.top,left:E==null?void 0:E.left,minWidth:r||0,...u},className:i,"data-testid":y,children:A})};function H3(i,u,c=4,f=4){let r=Math.max(f,u.left);r+i.width>window.innerWidth-f&&(r=window.innerWidth-i.width-f);let o=Math.max(0,u.bottom)+c;return o+i.height>window.innerHeight-c&&(Math.max(0,u.top)>i.height+c?o=Math.max(0,u.top)-i.height-c:o=window.innerHeight-c-i.height),{left:r,top:o}}const B3="system",Gh="theme",U3=[{label:"Dark mode",value:"dark-mode"},{label:"Light mode",value:"light-mode"},{label:"System",value:"system"}],Xh=window.matchMedia("(prefers-color-scheme: dark)");function Q3(){document.playwrightThemeInitialized||(document.playwrightThemeInitialized=!0,document.defaultView.addEventListener("focus",i=>{i.target.document.nodeType===Node.DOCUMENT_NODE&&document.body.classList.remove("inactive")},!1),document.defaultView.addEventListener("blur",i=>{document.body.classList.add("inactive")},!1),tr(er()),Xh.addEventListener("change",()=>{tr(er())}))}const z3=new Set;function tr(i){const u=Y3(),c=i==="system"?Xh.matches?"dark-mode":"light-mode":i;if(u!==c){u&&document.documentElement.classList.remove(u),document.documentElement.classList.add(c);for(const f of z3)f(c)}}function er(){return Dl.getString(Gh,B3)}function Y3(){return document.documentElement.classList.contains("dark-mode")?"dark-mode":document.documentElement.classList.contains("light-mode")?"light-mode":null}function L3(){const[i,u]=ue.useState(er());return ue.useEffect(()=>{Dl.setString(Gh,i),tr(i)},[i]),[i,u]}const mr=({title:i,leftSuperHeader:u,rightSuperHeader:c})=>m.jsxs("div",{className:"header-view",children:[m.jsxs("div",{className:"hbox header-superheader",children:[u,m.jsx("div",{style:{flex:"auto"}}),c]}),i&&m.jsx("div",{className:"header-title",children:Di(i)})]}),G3=({stats:i,filterText:u,setFilterText:c})=>{const f=se().get("q");return it.useEffect(()=>{c(f?`${f.trim()} `:"")},[f,c]),m.jsx(m.Fragment,{children:m.jsxs("div",{className:"pt-3",children:[m.jsx("div",{className:"header-view-status-container ml-2 pl-2 d-flex",children:m.jsx(X3,{stats:i})}),m.jsxs("form",{className:"subnav-search",onSubmit:r=>{r.preventDefault();const o=new URL(window.location.href),h=new URLSearchParams(o.hash.slice(1)),v=new FormData(r.target).get("q"),y=new URLSearchParams({q:v});h.has("speedboard")&&y.set("speedboard",""),y.toString()&&(o.hash="?"+y.toString()),ll(o)},children:[Oh(),m.jsx("input",{name:"q",spellCheck:!1,className:"form-control subnav-search-input input-contrast width-full","aria-label":"Search tests",placeholder:"Search tests",value:u,onChange:r=>{c(r.target.value)}})]})]})})},X3=({stats:i})=>{const u=se().has("speedboard");return m.jsxs("nav",{children:[m.jsxs(bn,{className:"subnav-item",href:"#?",children:[m.jsx("span",{className:"subnav-item-label",children:"All"}),m.jsx("span",{className:"d-inline counter",children:i.total-i.skipped})]}),m.jsx(tc,{token:"passed",count:i.expected}),m.jsx(tc,{token:"failed",count:i.unexpected}),m.jsx(tc,{token:"flaky",count:i.flaky}),m.jsx(tc,{token:"skipped",count:i.skipped}),m.jsx(bn,{className:"subnav-item",href:"#?speedboard",title:"Speedboard","aria-selected":u,children:jh()}),m.jsx(V3,{})]})},tc=({token:i,count:u})=>{const c=new URLSearchParams(se());c.delete("speedboard"),c.delete("testId");const f=`s:${i}`,r=Ml(c,f,!1),o=Ml(c,f,!0),h=i.charAt(0).toUpperCase()+i.slice(1);return m.jsxs(bn,{className:"subnav-item",href:r,click:r,ctrlClick:o,children:[u>0&&fc(i),m.jsx("span",{className:"subnav-item-label",children:h}),m.jsx("span",{className:"d-inline counter",children:u})]})},V3=()=>{const i=it.useRef(null),[u,c]=it.useState(!1),[f,r]=L3(),[o,h]=Bh("mergeFiles",!1);return m.jsxs(m.Fragment,{children:[m.jsx("div",{role:"button",ref:i,style:{cursor:"pointer"},className:"subnav-item",title:"Settings",onClick:v=>{c(!u),v.preventDefault()},onMouseDown:Z3,children:y3()}),m.jsxs(N3,{open:u,minWidth:150,verticalOffset:4,requestClose:()=>c(!1),anchor:i,dataTestId:"settings-dialog",children:[m.jsxs("label",{className:"header-setting-theme",children:["Theme:",m.jsx("select",{value:f,onChange:v=>r(v.target.value),children:U3.map(v=>m.jsx("option",{value:v.value,children:v.label},v.value))})]}),m.jsxs("label",{style:{cursor:"pointer",display:"flex",alignItems:"center",gap:4},children:[m.jsx("input",{type:"checkbox",checked:o,onChange:()=>h(!o)}),"Merge files"]})]})]})},Z3=i=>{i.stopPropagation(),i.preventDefault()},I3=({tabs:i,selectedTab:u,setSelectedTab:c})=>{const f=it.useId();return m.jsx("div",{className:"tabbed-pane",children:m.jsxs("div",{className:"vbox",children:[m.jsx("div",{className:"hbox",style:{flex:"none"},children:m.jsx("div",{className:"tabbed-pane-tab-strip",role:"tablist",children:i.map(r=>m.jsx("div",{className:Ze("tabbed-pane-tab-element",u===r.id&&"selected"),onClick:()=>c(r.id),id:`${f}-${r.id}`,role:"tab","aria-selected":u===r.id,children:m.jsx("div",{className:"tabbed-pane-tab-label",children:r.title})},r.id))})}),i.map(r=>{if(u===r.id)return m.jsx("div",{className:"tab-content",role:"tabpanel","aria-labelledby":`${f}-${r.id}`,children:r.render()},r.id)})]})})},gr=({header:i,footer:u,expanded:c,setExpanded:f,children:r,noInsets:o,body:h,dataTestId:v})=>{const y=it.useId();return m.jsxs("div",{className:"chip","data-testid":v,children:[m.jsxs("div",{role:"button","aria-expanded":!!c,"aria-controls":y,className:Ze("chip-header",f&&" expanded-"+c),onClick:()=>f==null?void 0:f(!c),title:typeof i=="string"?i:void 0,children:[f?c?m.jsx(Mi,{}):m.jsx(Sa,{}):m.jsx(o3,{}),i]}),(!f||c)&&m.jsxs("div",{id:y,role:"region",className:Ze("chip-body",o&&"chip-body-no-insets"),children:[r,h&&h(),u&&m.jsx("div",{className:"chip-footer",children:u})]})]})},ke=({header:i,initialExpanded:u,noInsets:c,children:f,body:r,dataTestId:o,revealOnAnchorId:h})=>{const[v,y]=it.useState(u??!0),A=it.useCallback(()=>y(!0),[]);return hr(h,A),m.jsx(gr,{header:i,expanded:v,setExpanded:y,noInsets:c,body:r,dataTestId:o,children:f})},q3=({title:i,loadChildren:u,onClick:c,expandByDefault:f,depth:r,style:o,flash:h})=>{const[v,y]=it.useState(f||!1);return it.useEffect(()=>{y(f||!1)},[f]),m.jsxs("div",{role:"treeitem",className:Ze("tree-item",h&&"yellow-flash"),style:o,children:[m.jsxs("div",{className:"tree-item-title",style:{paddingLeft:r*22+4},onClick:()=>{c==null||c(),y(!v)},children:[u&&!!v&&Mi(),u&&!v&&Sa(),!u&&m.jsx("span",{style:{visibility:"hidden"},children:Sa()}),i]}),v&&(u==null?void 0:u())]})};function Ta(i){if(i<0||!isFinite(i))return"-";if(i===0)return"0ms";if(i<1e3)return i.toFixed(0)+"ms";const u=i/1e3;if(u<60)return u.toFixed(1)+"s";const c=u/60;if(c<60)return c.toFixed(1)+"m";const f=c/60;return f<24?f.toFixed(1)+"h":(f/24).toFixed(1)+"d"}const K3="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYgAAADqCAYAAAC4CNLDAAAMa2lDQ1BJQ0MgUHJvZmlsZQAASImVVwdYU8kWnluSkJDQAqFICb0J0quUEFoEAamCjZAEEkqMCUHFhqio4NpFFCu6KqLoWgBZVMReFsXeFwsqK+tiQVFU3oQEdN1Xvne+b+7898yZ/5Q7c+8dADR7uRJJLqoFQJ44XxofEcIcm5rGJHUAMjABVOAMSFyeTMKKi4sGUAb7v8v7mwBR9NecFFz/HP+vosMXyHgAIOMhzuDLeHkQNwOAb+BJpPkAEBV6y6n5EgUuglhXCgOEeLUCZynxLgXOUOKmAZvEeDbEVwBQo3K50iwANO5DPbOAlwV5ND5D7CLmi8QAaA6HOJAn5PIhVsQ+PC9vsgJXQGwH7SUQw3iAT8Z3nFl/488Y4udys4awMq8BUQsVySS53On/Z2n+t+Tlygd92MBGFUoj4xX5wxrezpkcpcBUiLvEGTGxilpD3CviK+sOAEoRyiOTlPaoMU/GhvUDDIhd+NzQKIiNIQ4X58ZEq/QZmaJwDsRwtaDTRPmcRIgNIF4kkIUlqGy2SCfHq3yhdZlSNkulP8eVDvhV+Hooz0liqfjfCAUcFT+mUShMTIGYArFVgSg5BmINiJ1lOQlRKpuRhUJ2zKCNVB6viN8K4niBOCJEyY8VZErD41X2pXmywXyxLUIRJ0aFD+QLEyOV9cFO8bgD8cNcsCsCMStpkEcgGxs9mAtfEBqmzB17IRAnJah4eiX5IfHKuThFkhunssctBLkRCr0FxB6yggTVXDw5Hy5OJT+eKcmPS1TGiRdmc0fFKePBl4NowAahgAnksGWAySAbiFq76rvgnXIkHHCBFGQBAXBSaQZnpAyMiOE1ARSCPyESANnQvJCBUQEogPovQ1rl1QlkDowWDMzIAc8gzgNRIBfeywdmiYe8JYOnUCP6h3cubDwYby5sivF/rx/UftOwoCZapZEPemRqDloSw4ihxEhiONEeN8IDcX88Gl6DYXPDfXDfwTy+2ROeEdoIjwk3CO2EO5NExdIfohwN2iF/uKoWGd/XAreBnJ54CB4A2SEzzsCNgBPuAf2w8CDo2RNq2aq4FVVh/sD9twy+exoqO7ILGSXrk4PJdj/O1HDQ8BxiUdT6+/ooY80Yqjd7aORH/+zvqs+HfdSPltgi7CB2FjuBnceasHrAxI5jDdgl7KgCD62upwOra9Bb/EA8OZBH9A9/XJVPRSVlLjUunS6flWP5gmn5io3HniyZLhVlCfOZLPh1EDA5Yp7zcKabi5srAIpvjfL19ZYx8A1BGBe+6YrfARDA7+/vb/qmi4Z7/dACuP2ffdPZHoOvCX0AzpXx5NICpQ5XXAjwLaEJd5ohMAWWwA7m4wa8gD8IBmFgFIgFiSAVTIRVFsJ1LgVTwUwwF5SAMrAcrAHrwWawDewCe8EBUA+awAlwBlwEV8ANcA+ung7wEnSD96APQRASQkPoiCFihlgjjogb4oMEImFINBKPpCLpSBYiRuTITGQeUoasRNYjW5Fq5BfkCHICOY+0IXeQR0gn8gb5hGIoFdVFTVAbdATqg7LQKDQRnYBmoVPQQnQ+uhStQKvQPWgdegK9iN5A29GXaA8GMHWMgZljTpgPxsZisTQsE5Nis7FSrByrwmqxRvicr2HtWBf2ESfidJyJO8EVHIkn4Tx8Cj4bX4Kvx3fhdfgp/Br+CO/GvxJoBGOCI8GPwCGMJWQRphJKCOWEHYTDhNNwL3UQ3hOJRAbRlugN92IqMZs4g7iEuJG4j9hMbCM+IfaQSCRDkiMpgBRL4pLySSWkdaQ9pOOkq6QOUq+aupqZmptauFqamlitWK1cbbfaMbWras/V+shaZGuyHzmWzCdPJy8jbyc3ki+TO8h9FG2KLSWAkkjJpsylVFBqKacp9ylv1dXVLdR91ceoi9SL1CvU96ufU3+k/pGqQ3WgsqnjqXLqUupOajP1DvUtjUazoQXT0mj5tKW0atpJ2kNarwZdw1mDo8HXmKNRqVGncVXjlSZZ01qTpTlRs1CzXPOg5mXNLi2ylo0WW4urNVurUuuI1i2tHm26tqt2rHae9hLt3drntV/okHRsdMJ0+DrzdbbpnNR5QsfolnQ2nUefR99OP03v0CXq2upydLN1y3T36rbqduvp6HnoJetN06vUO6rXzsAYNgwOI5exjHGAcZPxSd9En6Uv0F+sX6t/Vf+DwTCDYAOBQanBPoMbBp8MmYZhhjmGKwzrDR8Y4UYORmOMphptMjpt1DVMd5j/MN6w0mEHht01Ro0djOONZxhvM75k3GNiahJhIjFZZ3LSpMuUYRpsmm262vSYaacZ3SzQTGS22uy42R9MPSaLmcusYJ5idpsbm0eay823mrea91nYWiRZFFvss3hgSbH0scy0XG3ZYtltZWY12mqmVY3VXWuytY+10Hqt9VnrDza2Nik2C23qbV7YGthybAtta2zv29Hsguym2FXZXbcn2vvY59hvtL/igDp4OggdKh0uO6KOXo4ix42ObcMJw32Hi4dXDb/lRHViORU41Tg9cmY4RzsXO9c7vxphNSJtxIoRZ0d8dfF0yXXZ7nLPVcd1lGuxa6PrGzcHN55bpdt1d5p7uPsc9wb31x6OHgKPTR63Pemeoz0XerZ4fvHy9pJ61Xp1elt5p3tv8L7lo+sT57PE55wvwTfEd45vk+9HPy+/fL8Dfn/5O/nn+O/2fzHSdqRg5PaRTwIsArgBWwPaA5mB6YFbAtuDzIO4QVVBj4Mtg/nBO4Kfs+xZ2aw9rFchLiHSkMMhH9h+7Fns5lAsNCK0NLQ1TCcsKWx92MNwi/Cs8Jrw7gjPiBkRzZGEyKjIFZG3OCYcHqea0z3Ke9SsUaeiqFEJUeujHkc7REujG0ejo0eNXjX6fox1jDimPhbEcmJXxT6Is42bEvfrGOKYuDGVY57Fu8bPjD+bQE+YlLA74X1iSOKyxHtJdknypJZkzeTxydXJH1JCU1amtI8dMXbW2IupRqmi1IY0Ulpy2o60nnFh49aM6xjvOb5k/M0JthOmTTg/0Whi7sSjkzQncScdTCekp6TvTv/MjeVWcXsyOBkbMrp5bN5a3kt+MH81v1MQIFgpeJ4ZkLky80VWQNaqrE5hkLBc2CVii9aLXmdHZm/O/pATm7Mzpz83JXdfnlpeet4RsY44R3xqsunkaZPbJI6SEkn7FL8pa6Z0S6OkO2SIbIKsIV8X/tRfktvJF8gfFQQWVBb0Tk2eenCa9jTxtEvTHaYvnv68MLzw5xn4DN6MlpnmM+fOfDSLNWvrbGR2xuyWOZZz5s/pKIoo2jWXMjdn7m/FLsUri9/NS5nXON9kftH8JwsiFtSUaJRIS24t9F+4eRG+SLSodbH74nWLv5bySy+UuZSVl31ewlty4SfXnyp+6l+aubR1mdeyTcuJy8XLb64IWrFrpfbKwpVPVo1eVbeaubp09bs1k9acL/co37yWsla+tr0iuqJhndW65es+rxeuv1EZUrlvg/GGxRs+bORvvLopeFPtZpPNZZs/bRFtub01YmtdlU1V+TbitoJtz7Ynbz/7s8/P1TuMdpTt+LJTvLN9V/yuU9Xe1dW7jXcvq0Fr5DWde8bvubI3dG9DrVPt1n2MfWX7wX75/j9+Sf/l5oGoAy0HfQ7WHrI+tOEw/XBpHVI3va67Xljf3pDa0HZk1JGWRv/Gw786/7qzybyp8qje0WXHKMfmH+s/Xni8p1nS3HUi68STlkkt906OPXn91JhTraejTp87E37m5FnW2ePnAs41nfc7f+SCz4X6i14X6y55Xjr8m+dvh1u9Wusue19uuOJ7pbFtZNuxq0FXT1wLvXbmOuf6xRsxN9puJt28fWv8rfbb/Nsv7uTeeX234G7fvaL7hPulD7QelD80flj1u/3v+9q92o8+Cn106XHC43tPeE9ePpU9/dwx/xntWflzs+fVL9xeNHWGd175Y9wfHS8lL/u6Sv7U/nPDK7tXh/4K/utS99jujtfS1/1vlrw1fLvznce7lp64nofv8973fSjtNezd9dHn49lPKZ+e9039TPpc8cX+S+PXqK/3+/P6+yVcKXfgVwCDDc3MBODNTgBoqQDQ4bmNMk55FhwQRHl+HUDgP2HleXFAvACohZ3iN57dDMB+2GyKIHcwAIpf+MRggLq7DzWVyDLd3ZRcVHgSIvT29781AYDUCMAXaX9/38b+/i/bYbB3AGieojyDKoQIzwxbghXohgG/CPwgyvPpdzn+2ANFBB7gx/5fCGaPbNiir/8AAACKZVhJZk1NACoAAAAIAAQBGgAFAAAAAQAAAD4BGwAFAAAAAQAAAEYBKAADAAAAAQACAACHaQAEAAAAAQAAAE4AAAAAAAAAkAAAAAEAAACQAAAAAQADkoYABwAAABIAAAB4oAIABAAAAAEAAAGIoAMABAAAAAEAAADqAAAAAEFTQ0lJAAAAU2NyZWVuc2hvdHGOMr4AAAAJcEhZcwAAFiUAABYlAUlSJPAAAAHWaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA2LjAuMCI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjIzNDwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zOTI8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpVc2VyQ29tbWVudD5TY3JlZW5zaG90PC9leGlmOlVzZXJDb21tZW50PgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KmnXOOwAAABxpRE9UAAAAAgAAAAAAAAB1AAAAKAAAAHUAAAB1AABxIC1bFLAAAEAASURBVHgB7L13tF/HcedZL+eInAECIAmQIMAkikESRSUqi6Ngj23ZK8u2rLFlr3c8Zz27Pp7dtXfOnOM/PDNOs+u8li3ZEiVKJCVKlJgpBpAERQIkkXPGw8s57fdT99XDxQ+/38PDCwBI3gZ+797bt7uqu7q6qro63KKXXnxp9LFHH7OtW7daX2+fjY6O6memvzZxiPdFShb36Rz54okj5EufvMn+ZhTIKJBRIKNAPgrkk6mkyxefK2vj+Vy4ReTX/+KiIquoqLAVK1fY+97/Plu9ZrUV/ec/+s+jzzz9jLWePq2co1ailIjvYf0d4WYMbrGuJcU8F9nwcCgRPROATwL9HyUT+fhlIaPANChQJF4rLi52oyXAJAbM5JiL/PxGRkY8ezwHDJ65Bwf3BNISN5kQeeIa+SeTN0uTUeCSUaAAe9MD4OXqmmrbdP0m+4XP/4IVffbffHb0xPETNjo0ZHWlxba0stwG1UEO9Q1Y9/CI0bVQDLVVxbZsHurD7OCpYevsGTG9dqVQonfl80qtqKzIBk4O2XCXOpmUSBYyCkyHAmVlZTZ//nzr6+uz/v5+47mjo0MGyvB5wcLodXV1nranp8eFfnl5udXU1DgM3peUlNjAwICnq62tdeXQ2trquM6HgPxYW6Wl4nvdA5vraRlaoZDOByN7n1FgRimQFrmJvZMffDpdKkVkoV/Qd37rd37Lij7+kY+Ptp5utSZpgc8uarINdVU2oFHAM21d9t0T7dYri6q2ssg+9+5qe+dVdAKzzTsH7OuP91hHj6yv8iJrur3G6jZW+X3PngFreaTTBk+fvxOnypbdZhQ4hwJVVVX23ve+13p7e62rq8sFb0tLiwtlhD4COQQ0SoNnrP/KykobksGD0Edgw+wIbRTNVVddZQcPHvRRA/EvvfSSzZ07166++mprb2+37u5uVyoopMiPIkAB8H7OnDkG7uPHj1tzc7MtWLDA8fKe+FOnTll9fb3jpRz8KDujlIaGBk8zODjo8ceOHXN851Q8i8gocKEUyCf0Q+LnwsqXVmkiOf2IvveLX/hFK/ro3R8dbW9rt5WVZfaHaxdbtRQFA4OWgSH799sPWcfQsM2pK7Y//XeN1lzrPiYphhH7zb9stRNtI8boYcVvzbWyphLGJzbSP2KH/u609e4dyC1W9pxR4IIogLX/kY98xBUEwhdrH4UA8yJcly1b5sIXwb1kyRJ/19nZ6aOEvXv3umKA2RHYCPkdO3bY2rVr/Z78WEpPPfWUj0w2btxoR48etdWrVzsehHpTU5PDRLmgmHhGESDgN2/ePJ4P+IcOHfJyVVdXuzKgvOAkD7gY/aAgUEC8Q6G9/PLLRnmzkFFg2hQoIPTHpX4aQYG0aQWBYfO5f/u5MwpiRUWp/cGaxdZYVuIK4kDvgP3BriPjCuKPv9hgi+dICQjj8bZh+w9/0zauIJb+arNVLi5zBTHcPWyH/6HVevdnCiLdJtn9hVMgFMSWLVvc7YPw5oeAfe2119zq379/vx04cMDuuusuF9yMEvg988wzPlpAoCPAGQ28/vrrLqQZBTCyoBM8+eSTriiuu+46VxBXXHGFjwJQOAj0gMfIgPLg8iLviy++6KOVW2+91ZXGrl27bPHixQ4TxXPy5El/xmWFkjh8+LABm7zAZBRDuVE2WcgoMG0KFBD6DjckPw8TpItkGFX0jc/8zGfOKIhqvb29qdbeM6fO5x5+eKrDXu6U1SZ3U6XcSLfIvfShGys102328EvqgG8MWE//qBWValJjTbk1vrPGSmqKrXNLr3X8tNeGu5OJwWlXPAPwtqUAowWENFZ2DHthXNxIWPU333yzbdu2zS100hHPD/cSIwBGGo2NjbZRwn9Y6Z977jm33BHgWPBY9QjsgB2uH2CjWMAPLGCShnvwc2XUQsBNxXvykod0wEUJcCU+nlFS4GUkhAuLK7iykFFg2hSYQPBPFnZaQVRUVtg9n77njIIoGlWnkJ+0Vi4mZg+6YGQpB/CiFMo1AV1b5QuirLN31AaG6KR6qXfFeldcqZUgGmAMy/00Oqh8Gd9Ptl2ydFOgAEIX4c+kNcI2X0BYI+RJhzBm5JFZ7PkolcW96SkwCwrik/d80oo+8qGP+BxEriUzGurkTU+5rAIZBTIKZBR4i1NgFhTExz75MSu68113juInzRTEW5yBsuplFMgo8NalwDQVRHo8wIq7cRfTsqXLRlmhMTySLUt963JPVrOMAhkFMgpMjgLFRcU+f/cbv/kbVqRVGaOs0MgdQUwOVJYqo0BGgYwCGQXeShRg7o7l2l/5ylcyBfFWatisLhkFMgpkFJguBUJB/MZvZCOI6dIyy59RIKNARoG3FAVCQXz5y1/OP4IoLimz0opKK6/SrlDd93V32GBPp2k7hB/gx1lNWcgokFEgo0BGgbceBUJBfOlLX8qvIGqaF9ui6+60q265SbuqS+31R79nB1/8kd1YW2I7uwetdWh2NznERqa3HumzGmUUyCiQUeDypkAoiF/7tV+zonnz5vkqpvQkddOCK2zZpvfb+g992BrnNtuL3/66bbn/r+2m6mLb2ztoxwfPVRDr1q2zz3zmM75x6bHHHvMjCdra2mz79u2+kYkdpASQ84vALlRCxKMcPv3pT9sDDzzgZ/DwbuHChX5o29e+9jXficqRBRzgxvk36XKTNgsZBTIKZBTIKDB1CoSC+NVf/dUCCqK2ya689n3WeNsHrbF+xJqOPmf7tj5ldac7bMuxTtvV2nMOdk7d/Nmf/Vl79tln/bwcDkZDQYAMJcDhaQh6DkTjzBoOLUMZcKAZyoOVVEuXLvUza6688ko/AkHKy/Nz3g5K45FHHrEjR47Yhz/8YYfzj//4j37swTmFySIyCmQUyCiQUWBKFAgF8Su/8iv5FcS8snJb1TDHiq661ZYtn2u3zztsi5fV2f6t+2zza0ftG5v3n4P4/e9/v+Gz4hA1Nt5xBAJn6HB65sqVK/3wtPXr1/s7TrfkADPecWYNowFOtuR0zu9///vG0IZzazhw7V3vepd94xvfsA9+8IP29NNP+wFsnLHz05/+1O69997s6IRzWiKLyCiQUSCjwNQpEArii1/8Yn4FsUgnuy6uKLPXdcTNtSub7T9+5mpbfMVCe/EnO+wbTx2wR7cfPwc7I4iPf/zj9id/8id+7g3Pa9as8VEBB6Lt3r3bhT5xf/u3f2u33367Kw7ecdomp2Nyvg4K4vd///d9He4rr7xi7373u+2f/umf7KabbnKF8KlPfcqPU37jjTfsW9/6VqYgzmmJLCKjQEaBjAJTp8B5FUSTvix3ZU2ZvdgxoCO+a+0Ld66yxuY6e33HMbvvpcN2oqPvHOwrVqwwfj/5yU/cdbRq1So/iZMrh6kxX3D99de7cP/2t7/tiiMmo9mUgYuJgCK54447bNGiRX6cM26pv/iLv3CFgVLgwy4cvMb7Bx980N1T5xQmi8gokFEgo0BGgSlRIBTEL//yL+cfQZQVaSddSZF16puiFWWltmJuna1b2mzP7zpmx9t7bci/NTo53CBjDoJjkj/5yU/6kcucg3++yWXO/b/tttv8Qy2c2Z99WGVy9M5SZRTIKJBRYDoUCAXxhS98Ib+CADjrjFhfJPmuez4ez8ffdcT3FPdAgJQRA4rhfMoB/BwYxY/AJHasdvKI7E9GgYwCGQUyCswKBSalIGYFcwY0o0BGgYwCGQUuawpkCuKybp6scBkFMgpkFLh0FDhLQSxYsOCcjXKXrmgZ5owCGQUyCmQUuJQUwLXPVoJf+qVfsiLtMxhlAjjXx88zP7QJv4sVMrwXi9KaY8ra+KIQ+1LRmcpdKtwZ3ovCWo5kNmjNoiL2thXt2rVrFAUAktzAJjZ2Ol9MBUEZWBYbH4DPLdNsPVN/vlfMN4xjcny2cKXhgpdluxe7vlGGS0XrS1HnaGP221xMno42pi9dinCp2pj+dClofanwwtNvlTZGBj7++ONWpEqN0ogRhoaG/JYEMBYVnqrApGOkz2DiOUK6g3Ifz+nOFHGRZ7LXwBv5WTUVOHiXrg/xxPGj7tAi/X6yOElXCG+8YxVXbgi801EQwKCOXCNEvXgOOsQ1HRfCY6p1DnzpK+WIMgE37ql/lCs6U7pMaRhTvY9VcuAKvOAIvLTxdGhdqFxpvKQJGkR6hNZsGFuBh2s6RJ2Ji348k7QOvNQ72niU+1QbU+eZpjV4g9cvdhvHasrAm0vz2WrjqC9tGbSmLNGfZquNOcHiLAVBQV7YvNkLcbUO36MwDDW4XmgAFuctbXnpJWue06weY378xiKdw3To0EGbN2++H7cBXOBztEYIDeKm05kQAuy1YARUV1dn27XB7iptsDtx4gSgbZU271E+fjU1NY6XkQPMPB0FAYNwBlWfjg5ZonOlXn/9NVuyZKk6aJ9vBLzhhhs0ShlyYQUeykmnZaPgdDoSeA8ePKDzqY6Z5pR0nMlpwU1oevjwYd/RDo4QGuCiM1er7sHUU2ljJ2aeP9SLHfLQm82TnL91ROW44cYbXXCGlTWdNs6D1qM45mXXzp22cdMmPwtMI2Sd/bVI7VxrlTJ2yvmp/jMpLEEM3q2vvmq3au8OnZfjZHp7e2zOnLnOU/Sj2agvwp/zyeDlOXPm2D6deQYvLxfdCfiSaQ/wz2SdgXlS7dve3j5+hhp1po1HVP8K4SPMdJ3p02ym7dd1w3XXic5Hbafa+8orr3Jcs9XG0Jcz4fhxqgPPyJUaya15c9XG4qnZamP68AHhXbFyhc2dO8/7FnHsFaPf0sbw3EzT+iwFgTbkTKTnn3/empubrbGx0a8IlqkIDwiIgjh+/Lg3IvdLly6zffv2SmCtdcZq0e7puvo6pevxyh6TIFmn85rAOVWGph4w0Q9/+EOrl3Lo0PzKMglrLBsYuKqq0mEjqFEOHChYLmGN4lqyZMm0FAR4f/DQQy6AVkoJcR7V3r17XGiXlyeCCeXBXpKGhgYJziO2dMlSW63jR2jkqXZg8KKI2zva1SWLXCB2dXZZj3CtWrXSOLIExdHV1eVKGeVRJiFCGVFU0HoqbSxkeQNtj9Bi9zxMjNJEITVLgKE42A0P7afaxnmRjkUiqDdvft7e8547fXMl/Nfe3uYGygLtyudAyNlQEJwE8MwzP7G77/6wnTx50tj1T4elPCt1FhlGSSjpicp/oe8Q1KGAFy9ZbE8+8aSfMtCos84InHxMG0+Hv/KViTbGCGtpOeV127Z1m/P67bff4YbBWh24idE300ILIxLeOnjwoN1yyy0ywl5PjMDtb3gdl0nGLNWZbjPdxsgVeOlVGQEoCPpLq3iZ9kWuoJCXL1/udZ5qP85HZ+KAf/p0i2hZ6UbAT3VuHX1+rg4zLZVcu0J9DKNgpvvTOQoC4rNrGWHSJAUBk01VQUBQ4D388MM6YmOTE3bFipUuFNGCAwP9duL4CVuoIzPoUBydgfCAyByvMVWGBi/wHpKgpmNwKOBcCabaulrX/ggmtG11dY208VzbtnWr4ybPe++6a9oK4qmnnvLGQsFinXOKLXXDqqqXUiCup6fHGUnmtHemO3QgISOdqTIWSuenUgLUZ+vWV23F8hWuLPj4OAJx8wubbc3qNXZKnbmpqdnPvmppaXHBRTlnWkHA1Cx8wNLDqsXagaFpWzo2p/lSrplmaPD29fXali1bbMOG61z579+/T0pqjdOZctylNp5p4QFe2vS55561W2+9zQ+sRDnSngsWzPdy3HzzO9womElFDF4C/eyll14Uny32foYRhDEGT3P2GWedTbU/JRjy/21ra1V7HvI23r17lw0PDbvM6JRhBC+uknKaaQVB/9kpg4P6zJec2rlzh4zZJhkh29XP53qd79Q5cDPdxsgVDB0UI6NiZMhLOj8Ogxa+QlFs3LjR5c1Mt/GBA/vdCFi//hrr0IgNGYNhcKMUFaM4yjAbBtdZCiJYAIsXK5TODOPRwFOpMIRESOzZs9sa6hvcnUHlaFQ0IqMUiF5ZWeE+Uvxpra1trhy4n47wAC5Db5iJsu+RoELDU55EOVS7IkCBMEQOgY0yIW4q9YV+wMatwkiM+h0+fEgn1C63XgmPUxLI0JQ0w8ND8h+WOjOj+VEg0+lIwIRBwc0R6V2qZwkWhdruqIbgCAvw0J5lOjplYGDQR3fghVZTbePgmXxXGLhbI5Zu1R1BSfkYoTFqhAcoz3TqnA8ncdAijplnBAfe5uYmrzMWLe0y08IDvNQXXCGIqRsjNkYWpaUlUhQLp8XT4CgUgu8YCXdppE7fw7CDrzG2CNPpT4XwhrETqyChOycynxavz58/30pVnpluY/o1Rhe4MTR4RhGu1CiNK4JyNtoYmuLGpT1RxPA0+OApykJfm6c6R/sXotlU4hmpMYJAEVI3aNrT0y28Q2e18UzTOq+CoLJUHiGN1QfSqQhMBA+/NDyITAA+v3QgbQQ623QrG/DACTzqA06eqU/g5zmddjoKAjh01gjARhBy5RdliPekJQ+/6Qgt8gcOYAd9ieMdeCMEDXiGDigNcE+ljQNmvmvUK122qD9xM9HGk8Wbrhs0mQ6t8+EkLl3fwEdc8APX6fL0RLiBT9tGOUjLM2WhD852nYP/vI2hh36Uaabxgge4XMFFfQncE8cz15nGC1x4FtzgSgfeQWvezUYbB17a0unr7YxMSepOfBjzlGOmQl4FkQaOgoDQwfDpd7N1D7GxCmaD0BOVGbyJhT31EcRE8Au9C7wzzdCF8KXjg9aXoo1DMc0kQ6frlu/+UtE66DxVniY/QgJBD4zojzxzjxGSL5AHYcl76FyI1iFYcwUfMHnHj3cBLwR/4KUcBIyrCBPRmnfkIX/UhT4PDuJCAZCOHyHeBfxC14nwFsozE/HgvRRyi7LPFu5MQaQ4IxhrOiOIFLhJ3wbeTEFMmmRTTnipaB0dOARorqDmfTqkhXkIaNyy/NauXSO3Rp0LBVwcvMfVgqAFTsACBi6RMn38i/mAtPAnTRoHypq5oVWaSI8QZeQdk7O4I5kcrpDBuF2++GuuucbdHaTHxUTZrrrqKi8PecGRNgKiXKTnft++fT4PBU1I/4IWFqxbpwUqchHt2bPH501w/2KklqhuK1U23EfnC7l4z5d+pt6D962mIL75zW+evcw1l1jZCCKXIjP/fKkYmpoEU2cjiJlv1zRE6Mwqvvvv/65Wj5XZO7T6hqWZQ7Kir5RQ5WNZo6MjErBX+9JofNw33MC3U0rsR1rkUasFDKx6YwXgdddt9MUWzHMh0Jn34KTl22673f3jTz/9lBTGEl/0wEIEVsrhF1+zZq1WVr1uixYu8rmRPi29vummm32ugqWi37nvPnufds4e2H9AvinTyr9l1qS5m23bWJ201+68870+gmBxwdOaJGXZ+KuvvuKK6frrb/AyVVdXSYkc9YlaVqodP87qm1at1FviOI+oLJVaiVM5tiwTujDJuljvWR3U0FBvV6690n748A/1Jcl3ex1YIt7R3uHLlplfO1+4VP0p+tJUR4nnq9dE72cLdzaCSFE9GCsbQaSIMku3QeuLPWq6lHiZsP7bv/0b26T9GXL2+Iq94xKOWOJY2qzMWaT9GkwsM6F86623+jLpXbt2+wiBPRVbteIOYcyyVgT1gNwyz8vy/sQnPuGLIbZt2+pLi1nifNPNN7vFz3JmYDJ5zUQqS6FH9D2XBq1eY0IZIxC3Dp/33bDhWs/DqISFDc8//5yvysKi52Nf3d1dvt8AVxPW/UMPfV8jmivFJaMqa6cvK29TPKMZFp/Qvu1tyXMixLQ0UysYUYpPPPGEKwCW4e7atdNHINdvul7fmhk2lnF+Qt+OYQUcYbP2ZqFkWBV1vnAp2/itNoLIFESK24KxMgWRIsos3Qat3y4KAoHLCOLP/vS/+34bhPyjjz7qI4gPfuhDbomzOuaaa671UQLLNVnxxmqvx5QOy3rxkqVaPrtNCuZ627F9uw2PDGs/yTpfYokCuOeee/xrjq/rm/C4Yq5YfYVGJebuJdbrs+S4V8qA1U0IdJZAr1u/zlfk4PNn/87KVSvt4IGDPrJk1R/upFYtZWWUsuHaDT6CYOSAAjsht9NXv/qPWq20wG7U5jhGRKxiGhwa9L0XJ0+clEBnn025vbzlJXcdbdy4yVfYse/n8ccf8/kUYFPevt5k4xurc9joeP0NN7rLChZEmVypfRWxIou4QuFS8lamIAq1ygzG08CXgtDBWJmCmMHGLAAqaP12URDUFyH+7LPP+iYrhDT7YuR8d/89AhTh/a53vUtCs9Ine/HLExDe3PND0UQ877gHNhZ7TCKzhJqNkDHnwPv4kT8dT7703AXpRqR4In/kAxf3LLdk+Sp7dlhC/Kr23tz8jnc4jEhDujYJ/RfkNuPTwelln1EProxC2MDJCKamptqVHX0v4ESdqD+uMfZQsaT0fAH86bmP86WfqffgvRRyi/LPFu5sBJHijmCsTEGkiDJLt0HrqSoIhAZCgA4JrMkG0rJ6hjZOC9rJ5p9qOvBSVoQiPuq0ICQOYVtRUe7KAXdPumzkTT+nywCcNLz0u/R9KJZCcNJpC90H7YABXujILxmRnJ0LoR90nsgnj9LkxwiCdCiFCNAFGMy10Na8C7pFmnzXKCdpp1PffLAnigNvKCbaEPyzsfckXxnAPRnlBB9A1+DFfLAwIOiXtEc2SZ2iUDQwDZtm1FSSWbkNvFMVltMpVDAWuN9MdUYAcSQMvnGYfrKB+ka42MJjpvFSfjZ2YqWzSmmigEC42Pw1Xb6mjZkX4eyjN1sbI1yZs1k3dp7dRG0zE++iH0+kjMGDcmC12nPPPeeKOR9uYOAyZEVapiBSFAqGzhREiiizdBu0nqrQwuLmKBWYHaZ/OwYUOsekfOADH7CVK1cWJMFkhUdBAFN8Md02ZhL8wQcf9ElzRoxvpsDIYcOGDToP7D3jLr3ZLP9k2xhD4TXNUT399NM+J5avTJSdhRS4O++9995smWsQKRg6UxBBkdm7Bq2nqiCY8H3kkUdcQbzZhMdMUTUUxJ133ulHmBSCO1nhUSj/VONnoo05cJMVW2+2NsYKR0FwmODFGJlPto1x2bGYgJEZrr18AQVxnU7JvVmr4CZUEEPDo7bzcLsNjrJLM5kwywdw5uPkTxvQ0QAX2YfIyo4BnW1SpnNzmKS7aAHfpVZ+UN+LS2dqCK111IZWmkzW5eKcoD9Lmiusvlo7X7UGfzJheFTnVHXqCOyhXs0bjIz7qFnyOdlAuyyo1dlCA8N2fM8uO7LzDR0Qd/YIgnoUl1da9ZKVVuQ0PRs6wiYmas9+M7tPjHTwTc9c0DEeRcPWVywf/chAYbDir5gPUCMXTjfNN0CuEN2vWbHBaiprfJVU+OQny1vpInT3ddueg7tsz+HdvmIr/e5898NaxltSchH78FiBgrcwMtlvMker0RbWLbLK0kobHBmy411HtcprgrY6X8XyvVebVpZUWENRnVl7qw33dOZLZcXaf1NS12hdct3t3/aK9fjJz+cmRRZwsnWz9pw8+PRzhUcQvQMj9nv/vNtOdXFe0LmAZjNmRAIEproQ4THd8lBFrfdwcXVx8SarTBB+s9d9C1NnSrRWQX/m1nn2wQ1NVlU+uY7YP9Rvf/38n1l7b6uOO9fxDWKq4gsUWKXFpfbBKz9uV9UstxPf/bq1b33JRnI6HHQsrau3db/7X3RtOKvi07VqzwJ2AQ+TtfAuAKQvJ3394Db78/v+qx04sf9Css5KWvprfXWD/c5n/oNtWn2jlZeWj0/aTkVBdPZ32Pdev8/2nNYpsRKuFxKmwlsXAr9Q2jReZEipDuT8zHW/YCuaVtmRjkN236v/Yh39HMk/c4Hlyg3lDfYzyz5hLfd/zbr37BDwcwV2qXbfz3nHnVYxb5Ed/cE3bbDtdMFC0IdKamrtpfoVhRVEd9+wfe6/v26nuy6scQpizV68pSjwS+9eYD93+zyrr5qcVdw72Gv/18P/q9HxCbDwhSrEEimIT6z/jN1Yd7Ud/pv/Zu3bpCAGz7bIgFlcWW03/um/WnljstEKfIS3koIYGOy3LbtfcgVxsj35EFZSy0v3t1ojh1//6G/aHRvebZXlVdNSEK29Lfb/vfBXU1IQU+GtmaDauXiL7Ndv/W27ct56292yw7764l9be5++TTLDobakxn57zRfs+Ff/0rp2vpYXemlNnc297S6rXrbaDt379zbQPpGC0Chcy61fW3trYQXBCOIrf7/TTnYM5dFHecswc5EMWS7QupwJ5AiQqVg708V9qfB6uadAa4Tw59813z6yqdmqK84+2bIQLQY0gvizp//YTveedhfTmc40eTXBCOLj6z9t62pW2dFv/J21vbLZRuWeOyuIb8o0crj2P/2plda+xUcQB7bZ//PAn9mJ1uMXv4+eRXS6q76MWFFtX/r4b9qNa2+ekRHEt7f+i+06lWwKzEE3wSN+gDA+Js9bEwCc5KvAm+BEfJUWl9kv3PBFW9ksodx+wP7l5X+wjr7EQJok0PMmg+7NFY32+RWftZPqE9173sibp0Tfv5n/ng/7COLwd75qg3JHFQyCWVpday8vXFdYQQwOaoPKLn3KsFSfqpRv8eKF/HMQDN8GNS8yrCNuS0uKrHzGfYyXZg4C5YCPuLz88piDGO7tduVcIiu8UID5F1QOWUONvukwiQPUgMPOX3yw/UN97mIKv/iFuPMYTs+tmW8VozraubPdBjRMHhXcs4IKV1xeYdWLV/g1/e6tNILgSIpjrS22efszdqTloPpEuqape0lLfOPJt6JT8TN8SzvWVzfabdd+yObq+y9V5cn3R6a6EGFgeMBHmx197W5QFCouLsZRze8UsX9ELh0My0K8NaJNhPB3SWWVfPLlhUBOKR71wHdW6Mecwj04pC90anC7as5ia5RwHhoetBPdxzXf2H8W/CElxltTVVE8JZmGgqjQHER9Ua0VdbTZcHeBOQj1CUYRJZLlA20tNtzfe1Y54gH5qikcG5Ex9sNnJpiDGNYhWa/+0f9sS//N/2SN190S+Wf9CqF904cqlLbmGdG8uLfTHtnaZl/+wGKbV3/maOGZKFQIaiYSL8bKgyjzpRJa4Hda92mNvFZdxHzAkYe+aT37d9qaL/3HKGLe69Hvfd0GTx2zK77wO3nf54tk7oH6emcaX5s/uTmMgIeSwEYDjrQDlTg7uAEnccWmKzRZKlwqWoPXeVp0TvN0qmgXfNs/qO/H7+mwVw502qffMccaqtlglweM6MOBd7TxTOHOg8XbpHdg1P63fz1gX3zPItu0MvnW+1QVhHMJvEI7TxD6xYN7/v6/2sIP3GP1V290o6DQ5Pig3Cq7/vqPbdmnPm+1q9dPAPXCX7HwggUfrGDq6R+x7//0tP3lj47a//0zV9jtaxuc50mTW53W7iH74wcO2ufvWGDrlhQ2ys5XokEWm2gi2nkgH8l44T9BQoPlFmQMQVf/sD36WpsdaR20kiNPFB5BDOvTjVv/z9+wZZ/9FWu+4bbzlW/G3hfqTD0q+LO7Ou3Hr7bZb9292BY0zrAFIILBWG/3Za6HvvtVKYhdduVX/o8J2/Tgt/7O+k8dtzW/9nsTpsv38lIK6kLCI185ZyquEE9PBz4K4tndnfbq/m6fC2qqGRMOOUBnA3cOivHHbvXR3/qH3fbrdy2ym1bXTmsOYhzoeW76Thyx3X/1x7bo7k9bwzU3uu+8UBsPaMS188//0JZ/7les7sprzwP5wl6n6dzVN2LffbHF/vzhI/Zf/u0qe/fVZ7s605BbOgftD791wH7lvQvt2uXnP848nTfu07inawR09A7bw6+22pHT+ibPsQkUxIi+Gf3Gf/tPtuRjP2sN6zZFWWb9WqiyfeoQW/Z12U92dNgX3rPQmmsnNzk62QKDN1MQZscffcB6Du21VZ//yoSkO/aj+6y/5YSt+JlfmzBdvpdB66lal/lgTibuUuKd6REELoxXD3bbtkPd9smb5lhdZf4RRKH+NBl6XWga+ugfSdj97G3z7Jql1RdFQQy0nrL9X/sf8q9/xOrWXqOlzYVXTw3JLbnvn//SlUnNirUXWr0J06fp3Cs6YMh+7ZmT9rsfXWo3rCp8hlRHz7D9hRTJZ26Za2sWVk2Io9DLNO7pKggM8ae2d9jx9gEb2vdo4RHEqI4waNuz3WoXLrGy2vpCZZvx+EKVZQ6iW0O39p4hW9BQbmWah5jJAN5MQWiLgfz6I3JJVC5YPCF58WOOagURy+YuNAStMwVxoZQ7kx4vAb5rhBHGUqH9KIX60xlIM3fHJzAPtPS7+7day58LWfIzh1HeEvEgbqbyhmZfvYYbpRBe5ir6Th6x8qZ5Pg8xk+VI05m2QU4dbR2w5XMrra6q0ASRjr/QvOqRtgGbV1c26SXjueVO456ugmAOolOjCEaoj/7gOxMoCAnMPu1Yraiq1ATXzFrruRVMPxeqLG41Fcl9kvjLcafNZABvpiBEX441wF2pj9VMFCabLh+MoHWmIPJRZ/JxdObErVy4PxTqT5PHMvmU9FHK5P1TXvdCgnryECeRcmxeywWjiIGMKIhXL+HbIha4aC5rJkOazjQKypLJ3lKh4YNOhQLldZopzQTJCmX3+DTu6SoIykM7AvPe7ItyZ+gOQTIFcYYes3kXtM4UxGxSOYE9k8LjQkr7dmtjDhREfpzvwLwLoeFk085WG0/6uO/paqXJVpR0l5KxxpfHzfTwZAICRH1hrIsdgrFYucVSyPTBd7Q5loSbZOMFy7WESBFxnjrJ4/mSV/E2SZekcQtL5lWVRqdeBnUsMkL28+MdwwlgBzcGMx7BrXAGb/LMX1JSz1otzY26YzGN482BdwZK4KCAAIpnoKaKMfY6iT2TFvconxfls6EIEvhs/IRSkJ8FLh4cUQLKh3RpREm0p+QPSccvZ/DyCmueuqKMwZm/jcmdAsRj3uAYzy6u0o2hH7tL0kBU3NQcB87OXMrgONzil2lNvT1ncvVHxUw3gAVas2qLY1gQ2l6is9osaAQ23sazpzxTv+RxvIKUlBDR3I/HKXJIe3Lq6+u9rrQxR36cCZGLHKl7f4xnvTlzO541aOOv+KM8gZc7RijQt0xtDM1p4/G0aVzjENM3CcKz8I7Bv//++wu7mADBkbsze35MumCF7+NME1K4wDir9IXzTfcNHYglrqEQE6aeLtTz50/jvVg4o1TQms9Efv1fvqHPPh53zkNZ8aF4ysVvGLqwvHSMERE6UWYvr56BAy+y38HjEr6z0rJSh1WsYf3w0LCE45CvFd9w7bX6nOUttmXLy/bU08+oOBJiwssqMserzjWkdeucmwRuAnCBX6o4hA4ft6ETIoAJPCehyM/iSfImim5Qa9QpwxKdM/PZT99je/fts3u/9R0lT4Qnh5QxkUzbU1+C84KnEGzhIT9x1JWO6C4e0YR6ec9Wx+I9eIHD5z75EBDp6Uf//nd+W1+AO2IPfu/7/slO0vFBnQEJE2gKXupI52eZ7qjcFJQveBK3Bf/8Y0NKlQh70iQ9Ojm/DPzFqsuA4+XTnx+++0P6GtsCu+++++2ovhMNPBQGbZzQNGlnb2OVAxyUP93G7HOgPQhe//E+ST3VRoLFXgvKNKQ25vsWmzZttDvf/S5BM33XoS/J26WvznW1WJ987qXF9aaSKK++QaB296XJnmp6f0pV/2Ydhf6yPkj0w4d/7AoZWlJueJh6q4JO36ij86fe80x7siT1TIC+COKEXvEOGoV8BGap6vCVf/dlO3jokD3+5JN2Ql/Voy2hMTxKen6K8GenmfLRnqQZRLCP8d4Z3OIp398hHoTPCF6WBDcw+ODS++680z/m9L2HfmDH9LU/4Hg/Ur1BSTovg0pE+9LW4CTQZmedaaYMZdrPUadvjBdJw47SKfMFPtYB4GB4r1y+hDMY58Qcq1y6AWYQRV5QgZcrv0I0yZt5GpHgImBxBMOMM9I04E4mK7hhDj4V+Wd/+f9aiz5NCfNWlomZdKjeiDYTiZXEwOY8gGCGyWAuF3oS/jA3who4dL4hOleKycuUBsFBBxqSkB3Q6jhoe4OOFP7A++5SR3rKnnjqaS8um7KLRsWsvgCBjVYjrkzA61wu3KFgoBGbxRDcTkG9o0wevAPpAzPsaZGwQDgg/KHvihXL7Rd//uds+46d9s//8q+eXNXV0RDF1jXQow5fpbormk7i68oT/z6wEWQuSOjIwgd+YA5pUymCnMB7Fxp6pJ496kMoLmD9wf/+e7Zfn/T8xje/ZR2dnarriEYzlfpedJs6ZK0NjyI8EnzAoIMjYKBvCDDqHbzCNQICvFxCOXgX4462QFB/+p5P6hOmy+wv/sdf2amWFodZWa621Kat0ZKypI0lD+nntJO38VhbUocoP8oZGtDW423sdEr2DpEfJYLVzqFvt7zjJrv7gx9QudhoS03MWvbtssOvPWXFa3s1uf5exTQ4vZIvz2GcJZREyCfCl5rlBEVAByiezHecnQIBjtJ6fvML9t0Hv++HfyIU3UhQ+cvKMDoSuN6uwlVCvVR2eAW6Jq15Bi8YaANomryU4BWt4G+eS4QPWv3e7/4vbnz88MeP2pGjx7ztUPwodyz9Mk1KeGnFP9CEfMG3KPWQB2cwax5DdIUX4DfyUndvK/hbMKtlZHzsox+2pYuX2Fe/9nU7cbLF0zte9Q+Cb8QVXeBXYHFOlBtUggVdQvmT1nlJBsSihfPOryAoDA0F4IsRIBAEoxIELJ2LES4V3qgbHRoaX0xag5vOjCHQ26erysDO5N5DO+zIgaeteNVynbW0QXFlbuHhmoEfPPgl1XkjPnk79jfpBEnSsXx6gxCqlOCCaTlBt7sn2dXZe3S/te141lpX6lvKNfqUpU6opHPU6OAw8owH4RqHlhdvkjLwcqUkCAU6eaO+8Uxn7OzSrnEFzqXp2PyQnVoxrBM4b9NEZp23RWNDo+fxRPxJ4x179ndJNcduJTj4N5aWVwTatrGhzq1T6ktnH9Jqsc6tT9qRkZ22aO0HbHiwXvlK3AWGu2C8lmOVTS5jDwlYerMH+Jf6RRkdr/4gSGpr9YlTtSunI6CwEO49B97QiPEFK9W3pxuq1ikfKwP1FTS5/cbbeAwHKBCGjgocZ4Wk8rnvGMVUarNrTU2VhKBOEh1b6LL1UKtt3rXdPjX3CRuZ/0kbsibnecrPD9xcE4MiGXm5UEM4jtWP5+IyCTZp8oaqehfuUSQUQWK0mL7U12nHTp627kFGC9rIphVD0BQ6LWxUmcbgRV4hdvqd/cxTUiYUR7/6SInkIXSlnFjafdpsijHCaK25scFHAqdb261VS1gZZWIYDY1IOcjwadTpA6zwohxJG/nfPHjH6Cwc8Ap9k3IzSqF+9J1BKSugoFwb6sVbiu/r1+qpUzrVVYYGo2tsF5QIZ6bVV2kgQJ0JSbON3acfkijyPPHEY5evgqCyMESmIJIGm42/MDgKwq0bMTwdAabavXuH7dj2HVu/TmctNb5XzF3l7eAWnfJER3UrBsGBhSuG0qvxAB+OFCUWS0WpdvHqXzrEERnkYYRB2LfvoL5T/LRdveINq5v3KRu2eS48sMwc5xgfozTAjaAgnnpQdgJ4R6VLRnS8eFWZjlRQ2dIBQami6j0dJ8F7QkLk6ScetzXLXrC5Sz6l/EscUKVcXgnA5AK+BG/iQjqDm/eqoQTAwHC/4+XcqNwwouMWgIcSIH13T5+9uPknNtj9Pdtw/edsaHSR6lLiQhphkNRK6VVgBBB5KEMSxurs8DQCHR30Y6WxDHMDR0wgEZLViLTxsO3avs327njQrrx6oVXW3yEhVCGlXZUIa6WGRpQ16OxCOU8bD6uNEeaF2lggVCcs5aRcPVLMXfoWQflot5VV1MnqrnQBCPOAK3FRJoqN72uXSrlQFNwvXCvkCvR2132+kFYQjC6lE8Tjyeh8SG0PfYAD/0FPLHiMUWDiGqMM7koVg4SRipsUGPB/qdKnA3w91hIOL9qYOvfKAEAxMiLz+im/u4lkyePGZSQGXtqDQpE2RmbgpmykoUzj7UrhFSi7I/YH3QKDCPE7Cos+BY8D2+effHTEiLw8wafU4GZETr3ARz2ZvwEffep7Dz4wOQVBBn4XI1AwKsUPImQKYvaoHgqCK8LD/fq6P9nRZa2n99lSbX8prlomr4f81WI8Op8HtcsYnzojJQoCYQ2fxxsJYf3jEcs0HQ+cYGiYGCFAaOnq1Q7OFltZcdBKatdIUGvEwr8xkPADZR2HpfhEWESaJOFokXhICqK8RP7tlIIYFx7CBRwsW0KnDs3ZdbLdlpfttMraK3SuD5Z8goUaK2lSt8DPO/0ITjvhcAtbcUMS1NS3RErg7CBLUGv2SYdigmaMnvafbrfy3h02t3m58DZ6fOQbr+8YPlwnodRCqHk5Ha/cWGpDXCW5gclTxFi6jY+1dVpn215bUq/yqI01VvdKJtVS3cYq7c/UX+VWpNcXnNCVq3qqX89pY+VHGYf4RMkTsMIHJTipC0KvRPGjCVKHQ71wjXjdsfildPnn7aUyoGi8zg7t3D+kQ7EQEp97MmldrHxwjo+y9M7bzduCulL1ZM4F5eD4xupKOsl6jQbaRHt9e0HfduDsI4wU8ignqMaCDK4xVyavML6cx3gQDniV42a4xzWFYeb1JE4BmsKjBPDiPG3v7dBfCXa5e2vKalwZn8GbpCU9gj2pU4lcRrhTxQfCR1wi8JNjPsLII4+Qu0KibXGtUT8UMWXkLKyH5J477xwEhckUhJNzVv9cChcTzAMTO2O5gkiYfUCCjE8+lohhqnSwGVYYViKdB6sMnqATw2wDsgixdJhkpPNGBzwfsRgm01Ng8XA/MFnb1d0l5TGgYTPHDiTWMnARcggUzrtB2GDtESo0rKcck8WbGB5JBwy8g6oTnzEdGtSZRWU6l0rwUFp+vo0sPYQatPAOLqFHKJOPHevO75V+MoZMWkEgDIZEwy7tNert6VLd5MaTr95pOlZHaOTCwa0+CU4JPkY1bkDJvYAbqkI/OnqEM3dJDPQd9hNvERQSri40zHpkZba1dwgvfnThljsIXsCKpFFG5b7BTeRGg8rpLj4Bp86UEbzQY6KQtDFySiMg4SAgyHBzEaiLKx7KL14kINR75IJj7iQWFoAPxVHpcxlJOngwEZSezf/wDC9TRq78MEBwJ7piGYNPecDHogiv1xkQ59yBjaPqf7zzMRfg6xdcbQ3FdVZTVe10IIPTXLiBS39wuog21CNkJyNzcDFCgnZRnnMQpiIY8Tyz/3k/AbapqtE2zFnnfIly8fqPpYWGTDJ7P5ZiAC90hOaJEkoS0p60c0K7FCLdJvTSwiQpuF4ds3S874Q9/+gzmYIIMkEgOh6MSJhMh4+8M3G91AoCZooOh0ChPCKJ+zz9oLexSkInhttunalT9PT2uA+U1wg9mF/RBUN04qA1z+PCQ3gHhNetY4SQBEKUCYAopW7cExLOPuksK47JSMpShethAsRpvElnSFYvAbdvYMjaO7u9k/Dsq7jGRhc8q/voxNA+LyeKiY4LPgRRlcpIxysUovzgjIlyBB6Cl/q0dnQ7rcEJz/kGxTH6YdWVaNIeIU4dWQlUW1sj+iRfxZvoK4RBCmWTgkuMAOicWLHyz3fLCOhK/NooWdoujGHQlxWFUixKyqc0iZWpNpbwLtTE6fqGAiUu2hgjgDkvgrez8PoHpEQL2g/XCKuIcOWwRBZmQuiCkIn+np5u76esOuMX+IDHfbofU/dhwR8cSvo0MBgdpAP0oC2UNW/wdpNFfrKjxd18zfrwDjuysW9QCKXAdBiJtwNB7TTWCHJgArwYW9A8Xf50AVBMGAQnWk963WtlqNXA92OGUZnyo3BI531XV8pK4tNtHRpzJLTEqEri/ZVeo9zLvN9EpWkHjCHMNQxAeA1X6eM/ejhTECKbhzRjEfF2UxDUF8aGDjAIjJL0pcRSEz+eE0jLD2b3AH8qwHDceocXzAh0hujECA/S8Ry05hmhmQTSJjAiP1fwnRPG0FPmpDy4cdT5xhKm8YZi4lXgBSdHyStzkkOIXdkIADCS3xm8dCQXNLxQtNcXOihf2hUbeAFKudIKwoWIFAATmOCPtNTZYQdeucucEMrvdUsSOF6esRB58NEB5RkLwCeQJkaJ422sePI5Xmo3ni+54W+gCRg8BwXGk/MyJ0Q9wBuWPHGhIBitIbD12o8HwXOdhkfa8XoKdjxDc+I7uyX8hqCQXCIa7VVoRZLPFaXSRhtDGo2DfDREHEhRKml65hTfH13gp144X0pYUxaMgZ7efk1465htWfINmvwlnh8hDL1RWfKcTcWSON6EcvYHlYP654Y0HN5R51Cy8COKs1sr+3Bv1VezTDjBC1185ZWuuBF7NFHtc3zQWGUsZTu3ENM/fC6H8jpyURH+0kgdfikbM3Sc1iLeA/fflykIp5P+QORgLOJCeMT72b4GY2FdRueebZzUOVd4oBy65JPv6k3W5lMGOjGHwUWAucjrHc15TwJKHYI4rEwsXYbUdFwEF9ZgDOXpBKTLpyC6+wfdsqXzJ/2nyI+xdlEnpAlTJx3HH/QCvC4uKLfcNcMSPoxicAFheYfADrz52rhPVllbV2Jle91Uv9pKrShDyQTSqDzXYgQyCshLpvr2qIPiiy/2kQV1DRdCCA6y5bYxyqFN8y5DCEy9B1elBB5Cz9F6RxYt/CUJ9H+sztBwWOXuYX+B3mNtwze4+xAmgZd0uW1MWWhnnxAdr+C5FeVVOpZyRDmBMdZIfht/PI/+RBtzpSyhILrFW21d/VJQKrO+gZB8cCoZzUWZIQR4gQVO5pMIxPWJ1sh6zY1bmVZcJQsWknYgv9NlzBOAgugf0TuN/rBhaDO+m+1wBctdeNAB4KkAz7iBoDjeATNxl6lcAsQqNOhXzShGo6kIpMMI8HqoLdp7tHCgJBHo4wpCid2gEAFy8Xr7KV8E3vseG6WEt3D99mk0Rb9ik+l4GYU32hgFQd/V9LbThlVW3gcEDCUS7j1lERHlcpIC8WXoog2jcWjMO1ZOfee+TEFEW5zFWES+XRUEVmWr3C09Pcm+AbpIuZRWaYm4RpwTygsGYoiNa6RMH4eBgUnLKo6ubgk9WU/lYtYSMSguiQoJ7BAWXPMpiA51PFwuvvxQ0ICPwAQvnRrc4xaVGLqyutInZuFqhF1HZ5vwMuzXTytyKlQulAUhV3gQF23cJYsQFxOdHlwotHJNjoKfydQQXMmoSvMy1cmGPuIxwDp7WuUakwDSbGax11XLRXF/jOEFFyFXQQzIIjyl5ZDAxaKng6LUigU06AwOXA1cfc5B9A4ZMqCPvnRpJVSxhCAKqbxCtFZ9EQhRZmgdwmN8BDEWF6t7ijSZj7BgTgSpxQe5+JBNuSxP6IALiPL0DWhKWu9ZrqnLuDDxyukPopYPeVGHaONo81AQ/QO9ErDiLbk6mNdRtTwfrpCkzEAWDuohnOQfF+F6xcQ+ARWCdUx+6EwgP+nDCEBB9A4LxmC38zD7BdJ0IR3pI8R9rpFG/Bm+Y2URCitpIxRUlICy4MN3wa2yt3b2u4Kok1sw2hNcUT7uI4CDdnNhHpG6ItQJUTfvd0JEGcdeOC2YowNGkVbPseiiSC4i8AbdeQcfdI0t7YY2lIll30Wa/6qpYpkzdVHNlJbVTd/5TqYgnCBBlHTDhfAYTzDLN7nCY5bROfhgGq5p4YGgwLqlE8KYflKoD0VTpRrrV7yPTkenwTryzXKCSUdxSzqVZpzR87iYwJus7U46RCJAkCAJssgbpUjjdqbm62KScQgM1otHuSIdafK1ceJiGnNPKbdPSKvMLv0DGdc8dUZ4MWczzIobJWGCOz1aijKQPbeNUUjQapj66T+C2ecCAhGZKEeq/mfgURfNh9BOKCbv7CgGMiWdn2u+No54rklIMoUgpt2TyurqtyjoRPhCgtRbzx5xASspciJUwU/eEFS9UjI9OoUW5VujEQR1PicofZ5YJ8PJNo0gUGRKgRKu0oa/Su2JoLxRxmhjhGDfmIKokmLFmImQywsRz3VCBYHgb+90pUmfqdHX4sBLnSlFsoqJB6XTHE9tpeZSMBZIoDAR3lwFQdpQTOTt1EKK1tbTqneVVWtPEnxXpFVVlSpDaVHiQgsFUVo0ZHVKE4oJWCgbRj/Qh0CZtObOGmsFQ8ZUBNIysX///d/NXExpogRjEfd2VhDtPQNu/bDJp0YM3lzHRCyW/Bi14HXdw/PsN0CwJOyvaOXpkoWI4GO1BZ0Y3yZClxCdON8Iokub9U62Jy6TMs3+NdeymU7W7ZgEcrRjeIVZVm4yISh+9mW47VqeS5mFxSdzsWTjGOzAm6+NmaQ+2d7r8xDgmFtfrslnrOqolYowhpeYoRF1TKxf3csG8xETli2jACaRGba7cqMkKRi5CgLhfqq9Rz5jrD/TJqpyq9fO6nQe6kIokoJmcjoIDfYBlRsXEzVm5IAATEYgZ/DS2XNHEA5wlv+EcONKfUJBdIq32jqTYzcQnpK3HryW+pPQOaGtj0zlzotK407s6mXOJjE+RqQYq7TprKo8aHTuCGJAo6tRnQpQKfqk+zTlghe45gZ4PQQr7yIt98xPdPcxooMtkzmJmAvgmlYQHbLka1Q+X601xgfAwojilxvAmTuCoJ+Qh5Hs6ZOHbceOXVI4Gh3X1NuQRgQVNXNs7uKlmgsRNKXDxdTdh4tpWMpL+4DGCAwMRgV9WmKcjIASHhnSSK5eI2LmUyKQFp757nczBRE0GWeCaLg0M40nmsWbXOExi6jGQQcjcKW+MBNWLXMQpzq0ckRCGMuiRvMPw3Q0YvQe4c0Ha5j7wlcvlvd/WLI6u8FOd7N1n3kJlsMW2Rydu1MtSw88IajzKQgY+0SHhIcEQLlcSwg73EQgxuWBa2MAuEKTxovVzb4DygxeJfWOVicBVKdJRDpO4M2nIFgZckKKiclTjhnB+quWu6ZEiDgXv1xxXBFD4C2WA5z1/8XCCe5unZ/fKasY3NWiFQqxkU+AKn1a2Oe2Me6CVvnjOyQ0yYNLp1J4VVz/+eS/7rGYeYcwHNKqJmCimGiDDn13oE/zHxWiL2WZW4drBosW7MC5vBREryZQ28QftCW8pOp5WRGu0A+ioQAq5G6rluAv9WVCiSLmHSuaEj6idskcESNVrH6EN++ijeGDQfGjDWv5Mi44jI2xQDr6OtcICVyE/hkXHe8CJjTl1yEFAU6ywqeVahs9el362aSmukhSiy80X6DRTa6CCNyBN3DkUxChxEZliLW0HLA9uw55XZvnzNFRGEt9ot73WshYAq5PUstwKBaf1MilllYQKAaWicN3BMqsxbfq31KeuQpCo437MwXhdPI/wQSZgtAks/yoWBveUUSdxBefKAd6RZxJA4Pht0yWPepBgU7P98Pp5AgqnsOXHR0MWudTEH1iyl51MFw0SQcUrjELiHaJ1VLJmvKkI1ekXEk9wosiQYHIOBdezZHol8YbwoOyhsDoF94+dRzsVmoROEmD/538KrILFOZHmOx0hQoBFFAe/RLWBL1S2WXRS6lQB/JGyFUQCH7mP4oArkC9SU98lAP81BdDm3ZgcjJgsiII3IxcoDVQUCLgjTpA68tpBMFIC1dHMr+QzG2oQi5dKSsV97ZXXZJdxaqLiJr4+s327HxDyaWcNZqqqGlU3eTn156E+fqwGXVO92MUxMCIhP1In4+wAoZAe4Cnor9HHNdx/34qEr4hgKNHS62hNQsDwp3oL/XnzCR1ieamBtzFlCxHjhQJH+XDC+xot0gdCoI2Z7ky/ZJRefBupIs2jklqFBPLWYNXKC9LtNnjkB5BjBRzKJ+WWEshR3CeuRAFkeuTC0CzcY0GhjBULpcQs4ETmIE3Gu5i4Y365AqPiJ/NqzM3vcy1AAAw4ElEQVSCBCNXF3hiUAQ6k6dY077WWtI2OmyUhXYhT4SkfzMMllWmfB2dHb6ahw7JMJz0pGFlUXTifAoCvP36IYSxKN0SCyS6IjQJgZmRC8Hh6+3pltPu1kpOBk2sQIR1aQpvPgUxKF4DN1VKu8McOPDHbs7g1Z0iiUelsMmOuicrWpLUg/IP19QkZ0kFnNw2xsU04HMxjI5ww52xRBMo/E2sbAoHfugYoV/KpU+z4+zJiDah/Zjwxd0UcSE8oo0j/2xeoUe4RyhHuJi6ZH23a8UYwlvV9ZEWI7TxRlWh4BFvU9VVYMbrDMwtzz6hlW7dduj112ze0mWu2Fevv8bWX7PJDRrSRBszIOnXHIQN9riwpP7AjRDCN565kt9HI6l0AdPLJHD9vSekWDQKknHiLiGl7R+QW7FEnxaVQnchr9Eco0NGnLi30oI/Fy/wCcBKpyMOGhIozvBQhxRiV7KYQbgJ/UNsIpTLSSMA4IzPQWgVEy4mL5/SgYFFCV1dXf5AXZyjdIXvhjUarpFbtVwjdvo7ZbzvQlYxpQlLwWYrUMnQ7FxziRbliOtMlSOYAHjgBX4Ql7jAF1fiZiqAO1Yr5IMZNJgN3OB1xlJ9CQgYLB/cHhUaOrPeGouZAH46xXgX0w2L9ZiH8M1OWNuDOqrj6CE7fvygziTS9x60qqJCQ9258xdaI596RGkIR3QSYNIhYVb3T3drVY4wcLgYE5gwNvj8ZFYkSgRFDqqTkg945bKE9sm6ZJVMb1ur1c1dqJVFvTZnwUJbuGi5d7zAGyDCUuR8oFb5xRl9NAovJ24SSE+aRNG5qnMacO4RdOKfxIKdPnHCWuQf1njJejp7rLqe7z4M2boNNzte6ggsaI0AgAbEoZiOnda6fum5Bh2kNm7FqW50WqeL8pGWICprdJH4zaFRn1aknDh2UH7lHvV+zYGIctV1tbZk+WqttDozQRlt7G03BssBzuKffLSmLbvEV6zugX4UhVVSFbJ2g0Zc2cVeU4n1qzqLt5KJe/GaFOozTz7uk7PHd++0hjkLtEppyNZcs97Wr99wFm9RNVwpveJHNjnCSUwoQ9PAFTyYS4bobxFPXRDU5JPclxXeqd3vcltJ8OM+oqAlHCcjf35slINr27Sar1g8WldbO64ggRXyLQ2fe/DyS4eQCxhLg6oHAh5+5IA+YJXoCA6UAnN/itB94toaUj/AcKiWkiCQlk2K3V3iFdGVZ444wfXmgbqpcsxl4TZzBfGd831ylBMExagUMjRZAm32/zKMwvKJzUU0TgRvqNRzxM/EFbzUNY46vxh4YRiGq1wZvubSGqYOoTITdQwYQUfgY92GIIE5+BEY3sf5P6T3DjYGAJ9vYvHQ9RXEdMBoP33K2rTaYlRWdJk6UIVcAHU6GbVG3zZPwwpaU18YFqsbJlZfVoBhgem3wot1xUR5IjAd7xmW8HSnjh3WpK0mfWXRV7IvQHnqG5ussXGuOs4ZoR+0pqzQnCWCWPLA1n/hTQBTJurrCoIXCqwZP4v1FN/Z3mYdUkr9mgDsF/5qCYRy8dGiJSu805Ev2ph7+JpnhD0+YUlLkCZ1JYFu0wrCo4LWwifKqJwjfkRHu45qZ+JxUEeUUN8aKac5UsZl2kQW7csV5UCb5vIWsGcrgDe3jZlnYFOiU1N/fCSh+kb1oTykRmnQZNBovD2U+MiBfV432qZcfKWPUjuP1dc3nUmnd7QxdHZ3EAAV4BnnX5ApuJAce+cRY38Snk7HJO3n5VBWXH60H5Y2cUCnvQjgBW7IruChNMxCeIEVdXVg+kPaCChV2pA0KE2MMngz6sSVjXBMlHPFqEornITX1dccILg4ZkX8HAhSV3D94KGHCq9iomAIDbQkgPldrAATM0SmDEGQ2cYduGIYGgLyYuBFUAVjgTfNFIE/l3EifrrXoHVuG6fLUAh3vnjysdoG/7FunZlJx/yBW4K6JwRe7oPWaZzEnxPIK6D58JLWaed4xavg1A+cCHUC8EkTyx2pM3HnwwscTwNMh3T2H4cjWHRYJXTcCIQ464m86TYex0tXTXrr2QDzPOWrcwJHdZDgTMonIThW33T6oDVpyHOxArSmPxHG25iHydRZhIbWqJKgOvfJ5rbkHW1M4BKGB3WkvmFhO0/QJmMhTZeIu9Cr0zqdiQKk2phX4E3TekbwAni8Lgl1Am7QmrIFrUke77kn5JY9932SKvn7HUYQ8p+OonlyA4BgaiyPixnASwNfCrwQdjYs9YnoN5n6RqNO1JgT4Sj0LnCHBVIo3UzHB95L0cbw1tulvrRb0PpS1Jn+lE+2UK6Z5mVgEqgveIO3eL4YIegcCvFi4Y26pWXmTOH2Za6nTp0axXrNF0A0Ww2ZD1/EZXiDEskVS4TRXKF2Ojv1hT1ltL4wek019aWiM+W9VLjz4UWQIVMKKY6p0jedLx/e9PvZur9UeKnPbOD2EQQKolY+07SPbLYImMGdGgUYyXVr5UZdXfKls0uhtKdW8ixXRoGzKRDLQLHwMz4+mzaX29O3v/1tK8oUxOXWLOeWJxREfT2TvMlk2LmpspiMApc/BTIFcfm3UZRwQgXBkIUVAPjU0PbJhNiZSS7exzAxbQlwzztCOj6QZtcLp8D5FAT0Jg1tRFuFEsEXG+1GW0V8ugTTaaNYJQJOJn5jxQTx/BiZ5gbKCs7p4A2Y1A08wAJu+J6pJ7/AMZM4A3d2nRoFJqsgaEt4Or2fI42RNs3Hz+k0k7kHDjxEucAV/SR4KmAED8Vz+hp8lo4rdA/P4mYLeFxj3oJ31JsyTAQzTZuZoEGhsk6oIGicJ554wq655hqbP3++uzgAdOTIEWtoaPAKIACoFCsGSE/FiUOxUMlYLVKoAFn85CgAbXExFRpB8J520WjQrr76aqc9bcG8xeHDh739aJcQ4FzJQxvBnBMx40QlBPauXbu8ndeuXetLGoG5f/9+O336tF1//fXe+VjqCFPDK3QImJq4qeKlTMBhKfKrr75qy5cv9y/gUSfmaXDFhXKifnT+MHQmqk/2bvYpMFkFQdu+8cYbtnHjRi8UQhz+QaYAg/anrafDQwCmn+zdu9f3FwB7xYoVzqs1OuiOd/QVcIE/LYwximKVJ/eTLQdwDh48aG1anrx06VLtFzpuV111leOij9CPly1b5oYeeMFPvcGFnKVMyIKjR48afY734J+NUFBBUIlDhw55R0cZUEAKRqdDKCxevNg7J/F0SghLg1JYOmLE3XDDDWcRdTYq8XaACT0nUhDQfuvWrS6U16xZ48xDW5EPhrviiiu8bbinfZqamuyENnfBWLfddpsriqnQkY712muveX6MiNbWVscDXhQFDA2PENjgQxoUB3V5//vf73wz2Y6VWz74ER6FH+lIdF7qHHTauXOnP9PZKOc73/lO7YdozAWTPV9kCkxWQcAvmzdvtve85z06g6jFXn75ZecXhOru3budnz72sY9NWzgilOk7COCVK1favn37nJeQZZSBON698sor3o/4FC/9h3rwHkWCEoPXJxPIh+Jj9z38evLkSYeBUY2spQ/RX7miRLiHz4FPmVAozc3NrsToOxjws8XXBRUEAufFF1/0Tk5HpKCbNm3y+lNYCkQF6PxLlixxKw5CQjg6I/FUCAWBoMjC9ChwPgXR2dnp7YWQJC0MtGjRIheWMPzChQu9vbCsgzFRFAjrW2+9dcptxEiB9oZxKQNtDlzKQcehM8ybN08nUO7wMlGu7du3Oz7wkmY6CmLbtm1eH+oBH6IM4Et4lg69YMECN2bofOvXr590J55ea2W5J6LAhSiIZ5991m655Ra3uMmHXGLkiQGLoLz77rtdaUyE73zv4BWENDwETIwmRqTE8UNAh8GMYYw8g49RKhjG8Pt111036RWG1IP+QD3AR3+kD+AdINCXkKXwNvekC+WFhwDDDqWAkmEEhXKKvOer64W+L6ggYggDQY4dO+YEQknQAakgPwiFMKKCCAEKS4fHSkVY8MzQiUpOVQhcaIXequnPpyAQgAw5sUBgIKwiGB8BeeDAAW8fGJl3CG8YnI6ABcSIg7ipBHiDEQR4gYmlB7PSceAP4COw586d68+kY3gNT+AK4zrVQB2xJOfoVEusOoQHHRvehSfBDXx4mA6GkpytofhU6/B2zIfsQB7QFhPJBdoTJQ9vYngif7iHp+F1fh/84AdnREEgsxiJYviCA2WBgQUfwU+MfOlj4MZApi+F9Y/sY1QzWUOYvoxioJ/QN1BCwAI+OOmjGDvUF4OLNFyJBxe8DE8TT1mRs5RrNkJBBcGQnVEABeDKj8aMBuV9biAtgbQE0hIXeTwy+zMlCpxPQUR7BXCeg+6596SJd9FGke9Cr7Q1gjrgpWFzn+aTdBreTUc5BOzgtXjOx4OBl2vckz4Ll4YCk1UQtG26faO0CMjXX3/dFQOjwskK5sife4VH+YEL/gieTd+TJ3iH9+l33F+InAt85Is6cs+PEPD9YexPukzpeO4Df278TDwXVBAzATyDMXMUQEFgJTPcDCE4c9DzQ4LxGAlcLHz5S5HFvtUogEWOUTFVwc7IGMGK0MSSD8FaiE68Z7SCQXK+tIVgvF3jXUFoiJNtlLvMOQAFgauIYfDFYnIUw8033+yd8DInT1a8NxEFcEviGgxLeraLjmJgHgH3zHRHrbNd1ssNvh/3rQYbxTK9WILnciPCm6E8WFx79uzxiasYbs52uVEQ+Hjxf2Yho8BMUAAZg5HDiiQmfi8GLzNSYRIZv/5URy0zUfc3Gwz6/wMPPJDspM4UxOXdfAypmcQiXIxOBR46M8ohs7qgRhZmggLwFJPPjIgvVkDQ4YpCOWRG8OSpDt38LCb5tkens9wwH8oQYukGIW5Ec9vikbHje2OiO5mcIb5Q4POVyu55+UIYgWcgRD6eeZfGOUI+peFjGxOAB9xZwT8GkwMP+MQT+LzjhQTKz48P4Pi/C8vuPlssrsyavxCqZ2kvRwqEcsgE9uXYOmeX6d57702O+w4FgRAPAZu+j2zpONLxnI6Le4QZDIAWioBobekc0sfgtYtWnxjkoyH+zWIJTj63GBIc2UnacRmqm0On+vWFKb6hVaTvpyYfuOjSR+L59jEfhx9WOXr6R6ypRh/ISAnvkx36mlOVvpksfEQDFxkfOPSYuk+w8m5AHwRp7RrSB+A5tiJJRb6jrf02R3HAS2L94nDjOYFydnxLpza6qbzz6susSvXnQyMXEnAxZQriQiiWpb1cKQAfIzsmqyCQKbkhZFRuPCNtQlru5KbJfQ74+WBO5l3AS+efKF+k5zpROt7xC7jp+3QccOKZ+0IhcPGe9OnndJ6IJ803v/nNREEwBGOVDG4M1hwjkHhmjXmsOiAN2p93rLsFAGvNec8qAQBzz1piNtmxBI0Gw33l64tLyu3FvVqbLtm4oLHcth7qtsW6Hmjpt43La9zCBiZCHsHeIMHP91xLlOHHW7UHo1krapQXBVCmuAp9nP3oaX0aU4J3cVO57TvZZ9curXEFVK5PRvb0D9u2wz1WX1lqS+eUW3NtmT5BOGoHpWyaavUdV5UXhbWwscy6pVzae/SREcGs1k86S8pgwJULwpy0c5S/Vx+ILyvlU4JD1qxyDvChepUJuErmyiopuz4dqHKeaB+0uVIKrx/p8TLvONprH9nU7Ioi3Sjnu88UxPkolL1/s1AgV0EgN+IXdeBZ3cn7HUepxAY19gbEngNcn6xoQmaEQmBugy/tXXfdxvE4ZFC4SYFLiCv3zz/3nG3QHAVyCqVFX+M9MNmYxj4D3vFMPD/gIfvYKMrmU+RhrJRCRh7UgpJmyU72/bjSIo9gU17gRHn4GiBffkPmRpmoD4G9ZMAiP7jYk4EcBReymPh92gTLfgrkNHAjL3VIP5MW3OwdYTDQqHLxOVb2dICbfRghY1hE0NPTbfPmzrPHHn88URAAhrgUIDZkxLEMuDUAygYnAvcrV670tBxnwFJIdtOySgBkKBY2f3CmCQqDdc/r1q2zxuZ59uwufX9XbXRMlnh1RYktbaqw/S19fj0uK5vPDBL30r4uu2pRtYSyPvcoQbvzRK/VKf2prkEJ8RIX0Asayu1Y24A+tF3sima3FES7BPe1S6utWVb+a1IOfRphYLXj3tm0otZOa1Rw4HS/C2vGACiaI4KBMJ8rXMelmPqkBK5ZUmNdUjDbJdhRWPPqy62zV2cbSSFUSEGgvMqUh/IsUXl3q3wol1VzK+35vZ22VMoM91aNynxI+EiP4qFMH72+2Sj7hYRovMzFdCFUy9JejhTIVRAIwcOHD2luos8/lVklgcwnM3v1PXGUATvvTxw/Yddpx3CnhCT7IEgzZ06zbzijn7HpslpyilU3a3Q+ESIWgVgvQdgjGXT1uqslhwZst84Nq2+o93dtbRjAzbb5+c22cdNG62jvsDoJWwzCYQlUhPsTTzxuN954k+NE8VRV6sw5wb36as5OGrZXfvpTmyu51yvDmjxsxuyWMD+kiXi+VT1HG0STOZcBycsmLy8bSpGfhJdeekmf5tXRGquv8I1xtbV1rox69dnalpbTrrBIj3w+JZm6QPCpz5C+w11WVu7ydVx5CX+laMCmVN8cqyub6UplvJeVlfo9ZRgcHLDBAZ2bJxjHjx23puYml+nQv7MzUUKUGZr++Mc/ThQE2uunqiw7UWNnLBoIbUIBKQQKAgVAo6EUKDRKBG24T5qMvFQcrYqm5x4FgeZjR/WceQvs1f3d7ip69WC3C0kE6V4Jdj4U3yJhWy4h2qT7do0K+O7rmgVVdlQCHAF7vGPAhXJbj0Y3svaXzKmQ0B6W1V5iCyVwserfONpjq+ZV+gfvXxEOhPk1S6rtkEYDKyS8qSf5+4dkVRQV2QIpj80S6OQH195Tfe5GWq17FAjKAwXB+53Hex0fH1lfLyXUImXTL4WxZkGlvby/y91mC6RIWnq0U7JtUGUocZib93R6mZqlgF450G13XdPo9XEOmeSfTEFMklBZssueArkKAoH/8stbJLx3+3fDkRvsyD8gOXL7Hbf7prhyCcMrr7zSlQVjgPkSyi0tp2Q9N7iMYQSwVKuUfvCDH9hC7UY+deqky6ijR4/ZmtWrXbkwGnjooe/bqlWr/JiKClnhTZJtCNE6CeZTgsfnWpdJjiGvsKoffvhhWy3hTZmRHYcPH7FNUlQoHORjUpdi+/GPfmTHjh+zDRuuk6E81w3mBQsW+nLeYSmUtvY2F9ws7123br2nQS6Sn4Blj6JEzjZJiCNfS0pLvAy8R+4uWbzEP537vQcf9FHEEeWZO3eOf24Wox54KEToh4Bv0zfSkcPIDo7j6Ozo9FHO0WNHXVb3dPd4+VC8fEudduAb1XGuFKMUX+YqwD7uYijH6ABBT2IIxzNDHSrCEIpMaGaO3ED4844RAwHNRSFpSArMcI33WL0MEUtKy+TX1yFuErCtEua4gdD+zEUca9fHxWWxI2BXSMBvO9RjS5oTK3v3iT67QnEoiisXVtmWA136sP2IrVusoZ9GE/j35zdorkBlaJfCYH4Dt9V8CX/CMbl5lsvFNChh3iBhv/d4n1xc2jijEQDKCZiMMGorNWyUYsLt1DswbCvnV1pv/4iVCx6jgw6NIKSkhbPYdh3rNZQIkw+NNSW2RzAh4lIprddVdlxowNsul9K6xVVirsQ1hhJEcTCPcSEhUxAXQq0s7eVMgUSonpmD4Hn37l1u9SJfGhsa/YiNRglFLPX9+/arvw9I8K2yw3KJIJMQ7F2SLQjcPgm39773vZJbK+wnP/mJH4uxb99et5IR8suWL5M3Y6Ufn3Hw4AEJzXaNFtpdJiFQX9dRMfN0lAYGb2VlhadDltXX1dtLW7a4POzu7rL+Pp0IXFHu3pCFCxe5gkBpINgfuP9+H33gRSmVwTygOGTe5s3PuwFdXS0Xuiz2igoZqRIiCGXKhgcGRYjlX6NREfAQ7i066oPRSJEaslzKAjfSaik6wn36iA+ymJfgw1vT3DzHRycNGh2xHP7nf/4XfIlqfX2du6c2XrfRejQqQUidlPJkNIXyQDDddvvtPrXAyOe0ZD6HWlI25PsDD9yfjCDQWPi5EOY0EgVFKEE0FABuIkYSjBaIQ/jj10IhAIh3MelE4ckLDH5oWn5F+qEQIuiVV5I4Jpjx8+OSQYEgzBHgJEEwI/Tx8+OWOiyXDc9Y9swHAId0Su4BIc6kNa4pYPIeWBCUe/Axr6ERo79PVhYlMACAwqI89WOT4QnUM3+pAmUhXzK3XqS5CI4l0RS6cAyp7LwjAKtcZYRm0IKyiQxJec6APO9dpiDOS6IswZuEArkKAjmCUIx4qoFMQaAmLhE+IzCoPqNjt/UufP3IpGeeeUZ9uVgH+r3TrWwMUmQUvn3kTU1NteSSFoZIrmHYIkwR4BWy1JFduJHAi+xql5UPPvoaygelATz6LrhIU6V85MXSJ55Avz4mq3xwUC4tCXLwIEMpJzKVvCStlHsKeK7gpPwoZ5/caMflPiMfdUYwAzdkL3PCITvYx8H9T55+2uc3muUaYmTFXAJwmSvBe4OL7MabbvK6ggNY465plbW9o922bd3m5b5KbiTmNKiD11vlZT6DsicjrocSBREF8xpnfy47CtB4MPJ4Q192JcwKlFFgchQIRRAG5eRynZuKPoGQBw4CG6H2VgshuFEM/M64tZLjQ3Lri+eHPIXkBO9QYLGnCsUE3NwQk9p+1IaI7Edt5EuYmzF7vjQUyBTEpaF7hnXmKTBTCmLmS5ZBzKXAN77xjWwEkUuUy/E5UxCXY6tkZZoKBTIFMRWqXZo8M6YgEGAMXxiF4Pci8MxQxecfGMboeVR+RSXSL5mTYMKG4KOXPEMdf6k/oyPDpHK/YsQ5PMUXyTdJII3fTwiHiYcEFsvWfFJA5SUfPsvxoHeU7XzwxtOf58brCT7wTFC+s8BAL/2YLGElxIB8nNXyUWYho8CbmQJTURDIEfpCyJZ0/b2PKGLS/Sqdeew+4I/LqjxpkHHgIA04J8IX8hD3F7ADPs/k5TcRrjzox6OATchHi/FEqRtwkSfwURbKHj9cTtwHPNKShvRn7aROwTzvbRAH5ADDp0XDM1nC/gcCkzPEMxHkyCXoBlpP2ZDW2lYtXm5FJSKWFMZgR6uV1Tf5s0o6hpvpqDP35BnRRFV505wz8RL0A+1aK1yliR35H/tPHbeKuZr5dwVFfsIZGDwNawPIQNtpK2tosp5De12pVM7TCqsqTWbVnBG+oyJa/8ljVrloqYqUMIRDGyufC3wHzZ/ARQpCOi7BP9St8ss/WCIcxeVaIuxKLScfjUbewKGGGuxo83oPqtwjolfD0hUJiuxvRoE3KQUmUhAhPKNqPCNr2NDFyqJYXs/7eAc8hFkIuMhLHCEEIukJIbuSfpssHkFWndBHfFjiGu8DPnmAwZJ+JoZZkcSkerosgStwsGwV/35MjrNFgMnjpVr9SeC9r+zEOFV8On+Ul3TAo15c4xdLV6FHpOEKnMCfvmeVFatKmWemTCw6YkFNg1aLgXe7vky3RFsXKCv5kk/4ssG5yh555JHExcQED8taEehslgMRBWFGm7iYmQcZFWAJFsBBRj4C8bHrkNl73qMwqAhKoqq8zHoOJkIZgT6ipWullTXWd/yQVUphIAzLG1EAWv3T3mrlzfNsuK/HRoVzuF+rHFpOWNXSVVZWq5UHbS0uaAfaTllZXaO/79m/y5o23WpDPV1WpJULqquE65CVVtfaqJRLsZaYDSpfx45XreGaG637wG6rXXWVFassQ1pBAMMwiiiprLZ+4eo5uNvmv/vDTov+k0d9+VGlFBDKAeVSWltvI1piR11QIkPdWkHhiqZO+Y8Lb53KqOW1ne2ufEYl8Fs2P2GNG96RKDHB4f2IGBzcFXO1mkBxpTWaOBJTjAz0q6xbnQbVK9a6Am5YshzyZCGjwJuWAhMpCCZZ+doaaeq1Q5n9EDUSbK+//po+s3mtZFKrrzRi49cxbfJi9eSrr77iJ7Uie9AB7Gwm37JlSyWDSnwvF7II2UVAHrFCp64Og1Ab0LTskw1qO3Zst2uFg1VGXZIHrCoCJoLzqJTD/gP79dnl6x3nt7/1LV8eilxEgLM1APgoDmQncg+BfOLEcYdNvVh6u1h7GZC1e/fssRtuvNFlbFVVpS/RRTgja/maHaugkpVcw35UuSswwerW3gVgDQkXG/QITNCThyWv4KVMi9iwJ1jARLY8//zz2r+2zMu+QxsPUQhshGNEs1972BCWyPGmpkZfOuzl1LuntWy4iElqALGTGoWApgQZWg4AVJTfPgApQMCVK5Od1KxDhogUmrSh6VEIxLHsio11bDypREFIiKMYuvZut9rV6/wZgVwswTogoYp1DYFrlq32dB3bX5HArrLqJSt9hIAbqWLeIhf4vYf3WfXyNS6AEbT9J45aldL1HT2gChdbxfxFrhyAOdTV4aOU8ua5LsilzQzYKAiUSM/BPa6QEMrDUjBljc3We+SALfrAPZ6+7dUXXFA333SHFbOf4+VnpSAalGa/lFGpVcyRcJcC6D91zKqXrXKF0acRTVl9g49aSmukLFSPrj1vWNXCZZ6WhiMwkqL8ZQ36ELlw1191nSsjRjEoHR+taDlbn+rQIEWahYwCb2YKTKQgEHBPPflk4hLR8lV2N2OpJ/sgVvrOZYQZx/gg3JFFyKuFCxe4fELQEwalYO5417tcBj311FMug/ZIViHA12qfFruSq5VXoHxj2nFZ2AhWlAd5kXcvvviCBHWFf/8Zg3efZNldd93lshEFsUA4EfbAvOOOBBeCn7S4aVatWmVPPf2UC//Tp1vcgF69eo21SDkdOXLY1q2/xvdBgO/nfv7nHQ47qxH4yMyt2pe2a9cu+/Uvf9k3BfJ9bvIjV9lRzvJW9oUs1vJXlsvOnTPXTpw84cuBoQ97KVA0wHKlovpxrAijiPla2lqr+qP8OBZp3vx5Xj4UJ/RmOW9XV7cdFm1dQSCU2UnNBjg+hg0QBD47qRH2IEJhoLFJA2HIA0DW0TKEIQ1DKZQMhSIvDY72e5caq0JaHwUxrA0b3ft2WKOs/Y7Xt7jgxP2CQMdSx+3UeN0tNnD6pAtuRhclsv4ZTTDKQJCiF7t2v2G1a9drVCA3k0YJfRLOuJhGNNpgtIDgrZQy6RPMwdYWK58zzxrWbfJ5AJRR94E9VrdmnfUe0zb/w/utds164TzlZahassJHCQvu/KhfKTPpGq+9yUo0xETQM9pgpMPzyIBGEqXlnrZmxRor0yiAOtasvNIVSOfObVIcV6gsR6y8YY7cTdLuUjS4zSgzv2MPf8tHNqRDOaBAGB2hgHAx9cg916ByZSGjwJuZAudTEBiiyI1du3baqpWr3ADF0Fy5aqU20x3UM0f/1Eou1fveg66uTn3LebFt3brVRwW4aRHwGzdtckGKXFukTWvILzbCkRerH8GIYlm16grbpQ1rCJUrrljtoxW+H/HC5hdctnH8BsqDUcz73/8Bj3v4hz9QOWr8fCUUxK233uow2aMwLCO2SgYv37E+rZEMRjMjGMINN9xgB7RZb9/evdqNvU717HK5SX5GD9SdzXzrtdv6NX1Wde/ePfalL/26jxCeeupJ5b/RvTYoRXZX8566s0fitde2uWx2mJLPrfIAoWzAidzGI8TGNzbcofhWaiqgSK6mRx951EdAHEGCwY9sxegnPzvRXUFQeAgMYVEACHUAkpArGoh7tAvEokCkQVOiJFAIBIZFpCGOUQgjE1xPFLRKuxBREMw59Mnar16+Wtb0UremRzRk6j9xxCoWLHYLHUu8atEyF8DDcuNUzFvoBvfIkNxSUgYIdOYRiivkNxPxezVqwK9ftWi5BPlBH3VgtZdUqRHZvShl5sMtai/DHZgoktI6HVolBhvu7fYRASOIgOcjFwlr0nbv2ynXj85Jmb/YBTsjEt7HCIJ5DdxN1UtXOszeQ/t8RIKJ4nMjKj8jGfBQTvLDkV4HjQ4o1KnnHrOmjbeo/nI7SXGo0IIxVy6wcuvVfEifytm0aq3SnhuoXxYyClxuFPA+l1OoiRQE79hZjHsEHz2H3rHbGflRW1sjAbZHBmiz7uv8OIuVK1f6Ao4OKRRwcYYTfn5cMOzERlYhv3Cb79mTjCBQCFj6c+ayIUxGrXBg7ZO2Vu4p5BqyjhEHsozzlBDoCFBcL5TlgNxNWN8nTpz0K+UAf7iHcDdhMGNs444vkYxCruA+q5OMZfSCEb5PCgFjGw8LfZgfMhVlwXlK3G/YsEHxyRxIu0ZUwINOJzVaSGRypRvoy7Vj/NSpFq/Htdde6+WhTPGjTChJlAtKAqXBO0YznDHFmU3Ib8pQqmM+BnRe02OPPZYoCAiBJuRKgQkUDgAMmSgQFUIT8kMDExD+pGO0kQ4hsEjLvRdSCXChIHARiMwlYOXrpQtDX6mk9D4prFEEBNVLn0j2iWfSEZCFIpjDlbAlwvGpLJ5ujNAIYocR+cg7FnDbeLT+uAsnXnDVVmlf4aRb3Em897IprcMkj/An5VBaWQzDGuJh6SPMKYPDpN7UX/ASXNBCeB1XAiPqiNuNeZZSKTSniafRH8epM180j8EqplptqY8QNI7n7JpR4HKlAP0/wkQKIuRJkpaOPtZbyK/+hFsFWQPvkzZ9Tx7wMBlMvwmrnXTcIyC5R74hswjIsZBzkR4YwEdh8D5w8Z5n3vMuAu8pB/HA50oYEQ7SFStPwA5cuXBQJhECH2m55106LmBFvXjHjzJEuZDjuYE0wCQNaaMMwOFdhPT9t+RK8xEEI4eoWCTMrpcPBWhYOhZWCyHdiLmlnOhdbtrsOaPATFJgIhkS7yZSEDNZlgzW9CkwY/sgpl+UDMJEFAgFwfA2HXKVQe5zOm12n1HgYlAgFEHgyn3GkicurO5Il10vPwpkCuLya5O8JUJB4BvNN4JIK4X0fV5AWWRGgYtAgbRSiPu4MoLATZIpiIvQENNEMW0FgeDiR4ABwk8nH4j75ln6yT4DOePdh5j48pMJm3xld98+PnsxkACOJ4l5gmCyEISJD3882Zkbx695grH5CVYFeV78gTHvMZY65hMcG3inE8Cr+ZPxHdOpOpwPLPnG64XvVcv8mI8h4DcMF1Ok4Zq+J108c5+FjAKXggLRR9PXuKc8MYJgLiDig5fDEEKO8Iv50HQ6YPDML3z+5GcOlcldJqTxr5M/4EZ68pKHQPoOnWzKCa747IknjrxM/pIn8nuGsT+kY9EOgT4JvtyQxpf77s30PK4gWE9MgCBULn1PXG6A+BAqNrXQ6MCggZgh10vfEzCk5ZnV7JrWpAiTuqw2qtRKpaISlIbwMNlL8HsJPAnCPq3YqWiepxVKTLSQJhG67JpmiSvPQ51tWi2knYDA9fIqHcUeL+qoNqudTOIU3aNVRWVahcR+Cza7jSstvWPSfLhHH9PQ8lPguTICnCa5XaEFTOgAjkDkZeaZeL3QhfQsqWWZLRPWxbiExunnmZO0ZFNwWo/VvefwPs/HKq+Sch0prFVcPkmu/HQcmBEXU7RHMG9cgRfvcu95zkJGgdmkQMiN9JX73OdQEIwgQogzOmYFUJnitujjQaw0atXzOq3nZ5EMApt+RDq+nYCApi8ELGTRK69oOauWfLK8dECrEVnpBHxOfCU/8omy8AU3Pv/JKiA+AMSeAcqCEcZHiEpkQAIDwQ98NgMzUUwa5Bt4n3vuWVu5cpUrE5abxson0nPPUv9QbrNJ89mGPa4gqAxLU0MDg5iddWwcYekTxCMNBEAILdJXm4jbtm2bE5M0EAYYd999t+9+doGnVUCx67liznxrf22L1azQJjg1YHmzGlI7mxGbbEzjaIsiCdUeLWGt0JEa7KRGQLKruUzLUdnPwH6BQe2eHtK+BDbPJbuvtcFM8Eq0jNRXDGltb7EEbNfeHRLyQNdPjFK1YEmypFZLZX0XNyuGVKe+Iwddr9RfucGTosTYzVyp9MDvbzmW7N7Wvoyyeu3aFnOy3La8aa7DYzc35WKvBPsb2GHNkR7t2uMx5+b3WL/2L7A6ySuqEQHKiaNFWOpaLprESqkTjz3gSqFGm//aXnnemja905fpQu+wrGIOgg4RiiGutFn6nucsZBS4mBTIVQY85/6QIQjuUBAYPqzh37tnr+9/YB8BX13jyAeW02/RR3tYQcnmLfLyKVKsfjaHqWu425WdzMgiFMyqK67wJap8/AbhT7pD2p91zz3/P3tn19vEEYXhUUiK62ClaYIDFTRulBCoA6rSkPYGIYEUVY0EqOIP9Nf0X/QX5A4JLir1hnDBh7jgM6SuIz6S1CU4QrYLrjHp+5z1bNaWWyIRRw3akezdnZ2vnd0975yz8575wRbfuXLlsvIkbRotoEJduNlQQzX1s78xDXTUTWlNhSVNb71x47q1lSmxH+ndZfr+3Xt3tTDauE0bhdVt750sHxD6MAOPjx+1hdN2su87UVcIENxEmNQgJ/Nv2TJfFnULohw3iNWPSMeMp0wmY/Ew/Tifz+ctDaOA2dlZAYRWiNOoHc1h7dovRkKDN/C6sGx8AhjCgASCFUEL76EmDQHTDMGY0wIGuAq9YjtDNOvWiACyXO+hEfdK5TDS7urZK+GbNN7AJyemxcaW1iBxjwCGucyIHsY1gh7/T9U1MSaVL5mR6wqN9P9eF6NSQAOHITU2YWWWcg+MqZ0+/b25zCjnH1k73mpeMFoNbUiNZY2oB48CjaTyJGcaAxpTQoQ/OA8AFDwPCHrV5wVxP5bdwNQpaVHPBH6DRq7blxk3kOJJhxgIrwPto3jrqgBC5BuRcQjexIQqzMMIQAAavDDNYEHqTdMTR3GIe2AnegDZQGgGBMxETKnkh8k0mCLKlgEnW7QBZA8L9iBz8BHEspeQbgEPRvAMjBD+DEyxWiCPFhcX5W5iUAsAdbsj4hHAQsZcPDo6ZqaiBRHNPocMpmblfsu58xcuWFvm568Zb4v3htXkyAuhDcJvVfXhimLy60k3MXFcZLmbtvAOpDEcZk6dnOIKjVMBTyMvXgbcCVxbsCIna0sjD0mTzWbpjl0dQoBA6MA4hPBGx+PPBLUKYgX7oD3aAeQK0Brg4MfNAzBYWJyOASBmZmYaALFknIDCr5fEjJ42YQeBbI+IbpiKyhL6kOESEqIVXF2I+Aa7+LUIc6R/ef+28Sb6spO2jzO9WqVsbGhcdbwRNyA1ckzzjWsmXAe+PeNeiGzGd4/k4Yzbp3P4YCr9/tBG6Qjlcu5hUKbKx70Gv74vJ83pX0qs7L/kn4k2sN0vP0xoOFWBEeatxOBBE+r4YeoTo5r24TwwKf9QaAtJARfOCOEzoAWUVS/gh+sNrq9aWHEHv7tobkaKt+bdgbPnAm1DmgdaBKQ5DYgMONsBhKnXelE8OBSL6w4XAcy3thEMj6LuI2VwHIbIbhgX78Q9sB09EGCClSRdAbkYAAQxksxwEjC3pOXKwWsMXoPwAAEIMNCEIJceSiudlgOWbMFMxNKedySXcCfByBxgwOREuQ8k3Bk44TaCZY4hpQFGaB2sGokfpJSWDV1dXZFrjTVzk/GxTE3X5W4C/0dD6cADBPkBHRjZYwIXykTWsSob3iAAHiwpgMDCowUT/Ph6op28ZwBcQemyE1m7dpYVBfgAnN0eQoDgQlDRAANAgpsGAxG7XdT0BGgwcgXJ6RhuMnFQ49knHx2DCQdneGgJJTmcS8mNBW4nYBLjTM+0B5lXvIkp8dmwq0joY56B/YxJCS2DhwxQScostVEXCUWqKQIawYwbCtxZADA6Yd8tmm6I8qJBUB8fphH8mHUADTQMBDllvvrjiXwpockMWBz1cT5xQA+argdWM98TytIsuvXAVaQZYH4CGDiPSar3iyMNT7Ua7ag9pKcuAzy56OiRE0IY3ZjZ6Be0i/6vYE3jKLBk6UlDe2Fe4yiwLyu3HtKOeAijGgQAUdNDDBivrBaawcA6IEaEpucgPtjBHoggRqPW/WIsD0nwY57xGgQmJuQFW0J0QEOaaPDnovGM5vE1hEbNABVAaZeOpUBxHwEYDGcyVifpfFl+v11e0hDvz9Gm1nzE+fP+HHGE1uMgdnf9z83NBUQ5VDhGqNw0kJ4AEHCRfNkH9T2Zjjh/Q3wnRDuJm86HXsxDCFe8se7hA7HKJiCU9R8wjht1qEBLh6CHiUy5VqbKYXaPfeS2GT18sKZderBIo/KNPe1Z01ZD5E83OAzcbA6IU14LxFG+6qRugh3rPIxmawNpSce1SIV9q37CXIbw14UG7WFfwp3rDtjhVlSQT+2lPuIBOAM+ncZJYTRwjvrMg63yAA6+DQAE94cXwmsQXEbk6qJFxftxD/xveoDXh7cNucAPucI2ChA01suSrTSc9ySYTLL5jaNdPt4bZBcyDZlFvXHYeg+EGoQX/lvPGqfsZA8YMDUqYN8DBNoaAMEPQOHD2bYFaX31P5/a9xiALwxyjlZNyU9LXZ5l3WZ8d5dGb4m0S/T0h0njnbgHWnvgjQZWmEE9QPAsI6zfByBa64iPO9MDMUB0pl/fu1QPEDZS+heA6JLW1CPA2K6wUSq69Z9/crXlJX0VD3znW9n6iPd4esAtVG66+samD5revZ+6b0Z+dMODpyyZb+u72hNqh5GE8cgu0hkf2C6O8+po6VIlAAYPEAx2iPOag9/+1+XzjPl00f12eThP8Onbpel03Lva6OtvTbedbW8t29e5lS0A8Q8AAAD//8ED5cAAAEAASURBVOy9V3CdSZbfmfDeewIgLwy9d+V9l7paquqe0UgTI21opYfd7X3QRmyEnrT7KIUepQiNNvSwD7uzMbuKlaZH1d3V3VVtq6rLsByr6D0BkCAI74ELD+j/O3nz4hIFkgAJy0KSF9+9+aU355/n5DmZSUNDQ3O5ubkuKSnJbbmN0QJzc3NWEJ58pqen3cTEhEtPT3czMzNudnbWJScnu/SMzBUr8Nxgj+v9D/+bm7x9w81NT86nu3+/a3q+3F0YPeWm56bi/rmZpe6lXf/cNZR/z/z6+wfcr3/zG3fw4EHX0dHhKisqXHFJsZWTANQjOSnZfs/Ozri2u3fd8PCwKy0pdfv27Y2nu/XlyWqBqalJN6PxC31JSUmx8cuTsYxfoDvhuVjtGe+Mez6pqak2lvALaSwWZ2RkxMJmZj54jjCvKA/pLseFOUq5E7+HNCjf5OSkS0tLs/SD/8In4cbHx11GRobNDerIb8qDH79t7mi+U87lOOJOTU3F0+H3wjajjNSBci50f/M3f+OSVgMgKAgOIkYBcRSCSicOBBoHRzi+8y7xPQ1DWjRMor9F0h/eJ6axWJgQdjM9w4DjyQeAYNDQudSXNklWm2SsJEAMdLuev/yXbur2dTenSR13Bw64my+Uu/Ojn94DEHmZZQKI/8U1VrxuQfv6+tz/95/+f5efn6/yTrnCoiLzHx2NCgRKXFd3l8vNyVV9Zl1WVpZrvXPHQISB+dabfy+e3daXJ6sFpkSAGA/MceZxmM/0O35hzvKEVkCwGO+8w+HHu9HRUTcw0G+LjJycHJek91lZmaIpaTYvonoPfcnU2GKO/PrX77mjR4+57Owsl6NxRzqAVVlZuS22SI/w58+fd42NjZZfdna2hZuYGFdZU628lHNsbEzpZMfnIaBz61aLq6ra5srLy92VK5etDKWlZRa2sLDQynzlyhWLV1paau9Fa11BQYEjPvlTx0kBVF9/n/wLrdzJyUlK+5blVVtT61JSU1x3d4/btm2b2mbCFRYWWVqhbUiH+kIboBG0MXUeGho22nHzxg0Xqauz999884179tlnrYyUgXj9/f369LkjR45au0SjUWsX+undd9/1AEHlcRCj0GGLfccPRyH4Hn6bZ8Kf5uZmNV6V+bS1tVnBK1hRFs+vKCkcg8FWkWrA7u5ue0/aOBqPQrIaLSsrs0KTXxg4xKfT8evq6nLV1dXxd5ZALI0QPvhthmdoV558qOe3OQgBxENWR8up69xjAgQD9dKly65XQMHKhw+DjQmWl5fn7rbfdRm2akx2UU24HI05+oxJ89TJE8sp6lbYTdQCELXpKQj+tzkI5magNzwhVrdFHO+2t2sxkePytNi4e7fN6ABj5VbLLdGSMVdf3+B6e3vduAg5i44S0Q/iTYievP7660ZvfvGLd0T4d9rcobkAndzcHPfyy6+4a9euuatXrxix7enpcSVawHjimmxPgIOyOJG7/eKgW++0GjHNzc3TPBy3tKBXhw4ddidOnHD/5T//Z5uL6Rrr0K/tO3a4Hfr87ne/dVOTfoFcUVlphLmgIN8dO3Zcc+WiLfAg4KVlparnXVck4o8053brbTcsAl8kepmenubSBIKUjzl27Phxt337dqN1LMq++uortUWP2717j+tQu40oDGXu6ek2kOgU/aypqXHZak9Azd4JcCgni8zBwQH7/tZbP3RtWrRdvXrVTQpIAciWlhYPEExiCDFIGdCPzEE+CkXjEgZChQPNIN4Qd+JA+HlCEEB3nvzmfbsKfVyVKtKKks6AsJMH+ZHmuXPn3AsvvOAuXLigSu62uBAXVqIMms7OTlepxiUuRJLvpAu4DA4O2mqURiVfBk1YBVBmgIXOD4PQCr8J/iQCBO1FXb4NEMkxgFgZ0eDjAgRlpqwz+oQShXZnWWF10hd1adzxHiKxGUE8XomtLw9sAQ8Q3+Yggqgj9D1jgXl96tSnNudJ9PjxE+7SxYuORebBQwfd+JgXxWRphcwiFA6hre2OvYfoXlTYV199RQuSfK1+f2XiS2jA9RvXrYxPP/2M0Y+f/vRtm09wshDwWXG10CtojkaoOyCuGWI6Fh0z2kH+LHLKystcbe1213TzhghxVHTredHCavfRR3+0sjHGK6sqRRtn3Z49e9zHH39kNPTq1WtuZGTYlRSXiOgXueeff8EADe6lobFBC9xuy39a9BVaevv2baOXR44ede+9967Fg3DD6dTU1qh8B20B1tLS7N5//30DEECAuABNjughdLNfNBy6e/TYMXfnTqu7ITCC9iLqNVqqRTy0nPq9+uqrBpqXLl6ysAcPHnItAl0TMdE5Z86csVV/U1OTY7VPJDqPDPhcvnzZGgtiHIlErMEg6iAb6E6GyP2MSAg8yBhwoSMh/KAeecBikR/v4DJ4HwCDOBB9CCLhgnyMcAANnVhbW2vgArqBhgACaE5nMxjgJgC3OrFVABBP0HIzuYcBBOAM+nv5agLFfYxKTkdHXefvf+4me7vcrNIPLrO63EUb013n2AUtqKaDt7iBQtdQ+YYrKThsfqzeevv6JW+esXZPSRGApYuLGIvGQYBy4wCMTC0CJjU5ETkxoVLFSrMAoa8QHUxp1cmYMlGaOA/iTur93OychQWIFNlliYtisrKo0LCy8UcapDmh1Svvp1UmykOA8XHt5WhclJWWWDpWoK0/q9YCywEI+huxDH0FXUGEc+7sWStbXX29LTLaRQBZjQ+JTuDH6plxxAKyW2LMN954wwDirOJBQwgPwWQlXhepc7ki9NCOZtG5MomHoCnQDhasFRXlGj9zRs+6RUcY04yrO62txqXA9bKqJyzEPDsn2+3du8/Sg9NJ1aob7hhCDg29dOmSaFGv5kO6cQYsYCOindAk6NzNmzfFDdXbyp94iMmKtaCFq4YGQn/hepJiBJ06E35IQMpeH2kAiuzpVQuo0lVW8mCuDAwMKJ4X69OAiHmhk0Yj1U6IwxD/Acr5aqdDhw65pqabAoc2AWPU7VA5T58+7QECgkSDQqAh2KzGQXgaAuRkwtEBIBRIBeEFCFrU0IBHQDyAAj8KSEMAArx77rnnjJh9/vnn1lCkDzFAfndHbA2/AQ8qT6dC5KkcAAEXAxcAGFGZvXv32pPGhTOhLIAH5aVspEe+hCM+flsA8fD5H52ccX/9db/rHNKmoiZJcI0ls+7vFn/qModOaW3lOUjepaQVuPSaf+iSC49ZUAZ4e2eXWPNB+52ZkW5EuO1uh/o+I75iY6yNaSVYUV7qBgaH1H+pmhCjmoiSSWsiJEkUwaQY1CSxTW2NA8bHoFhuACJP75CvMnFhpyvEntO/U5pQw8MjGj8ar8kprn9g0CZYQX6uG9VKkAk3LdDIFmAQt6a6yvK2wm79WbUWQMY+Pb00DiIsLpn7OOgIQIHIhw8Ek35kDPGduW/EUOKgDz78wAjvvn1+0Yg/NIbwfvGQFCeY0AXekw5jJ+RLeiHv0CCEY5Pd3inP4PAnLIs0xE4AS7J+Mw6hRZSX/PkQDj8AEP8g/ydfysCHMuEIhz/l5knYUG/AjLCA1y4tuvlO+wBWiJsJhx/xQr7kR9o8+eAIzwy3eaPv1I02onzUC4ff22+/7QECD9AOFguCSoKgE6tzWBUILoSaREgAMY+t7lQgKgTnQGagFyCCIywEHX/8aCRAhoKTFnkQl99wJYAClaMRjA2KdQbx+MDBwBkg8yM//EgHtKXilBX2KuTFb9KjgQm7mRzlxoXOZrDQ3rRXGDjJIoLUTZVbkar1jc+6f/XHYXdrQIN6noFwT5VH3f9Y9o4r7nvXJc9OxPNKyihxabt+7FzZa3E/ykv56HMGK87qQhn1LvSDDxdb1SvMtMZUquKE9+Fp8fWHGlo6sScTgD4PfonhiZPoCMP7+FMvV6bFEnPZ+n6/FgAgmONwBYwL6AdPxjL9EsbJg/rwfmkn+of+TfTb+v54LRDXYoLQ0IkBZWhsJiGdBmFi0sOG8TuxUxOzJzwuhCENPgwA/HABdcNv/EJ44vMhDgMo0eEPUhKf1SQuhOOJI51QhsRBl5iXBdwEf0KdeFKntQSIloFpAcQ8B/F0AIjeX7nkuQSASAcg/mfnyj1AMH7YXJzVKr20FPGNX/Eh6qH76RPqE/qGOvGdcPQ344wNbtj4sJLjfSAqdDMbnaQRxgxdGdoKrZY5xo/3tDCWscIzbhBVscLz4dkw9XsfiMVYuCCCQDUXdp70ySukTx/wIY0UqwfjzeeNqAtxGe/hYFi85OXlar5k+zBKhJT8OOSb+pTK8E1xQr0IRZrB+SAxcJMnZTdQVPzRqagbmRzRNz8+SDMlmdWhnkkpriiryKWlaDW8AaBwrQAitNvWc+VawACirbN/LkOD2Q/jlUt8K6VHb4FA9HhCTOYkY3Qzk64gF3m6Zz1Xi4N4VICAwF/RRhqEkgUH5UzXHsSY9iBYXIh2SUbKqlFyVYE8YILn7l27bDV5S6JIOMTIjohrkZgSlhnCXiwRJkoPiJcQRwFApIMYifeQWoAEgo4MGA7UyqB9DMoAkUQrIzOmEowIANAplY0Gi40vvjwt8cSH7odvvWnp8Y70oNXJAhHmxYQWJ8i52RwFwEiXviEcYq59e/dYP6FGODU1bWJZAAdNkDQBINwyHDXlAvxQt5xQepSVtgB4QAoDQ/U1T7j2bdp7GxAnr1e2b1KuTdIUtUH/uFQTR/rd2KTfRI1ORF1uZq5EgzOuKEd7hrnShklTumrr9XZbALHePfDo+RtA/N+/a5q7OyTZnmcAHj21rZir0gIQorTkOfdcfbp7enfxqgFE//ic+9cfDUnEJA4iYQ/iqbIx9z9IxFTU+94iHMT/JBHTq1ZviCbEDKLNJjAbfBBECDnEG8LJXgQEFz3tAe0RsKouKio0oonhHCtxxIu8g9gBOjnZOUZI0QcnbQMaiSfQPMEBAHADcCoACMSUsmQIRCDqRpRFrCGWpMk7Nq4h2BDrdu2zIU5l/wwgslW66o8KJe/5mAxXxJ4VPnr3lIMPAEL92Ddjs71Lm4CjI6MGPNRtZmbapSo+3/lHGNKn1GNS1wQsTfU3xq0ASnBicEOAHXmz0U6lAF0TKYrm940JIKL9BnyknaoyjE+NK9kkV5BV4Mrzylx2WvamBgjair60tlO9cGHhhN9Cxzv8eYbviWEWxglpEYbUWGjggn9ICz8WAg9yi8UhfGI5wvdQDn6HeCH9ECY8QxqLhUsME8LxDOn7Gvl2mvcjxNKdAcS/+L/Oz51rl8bHdGiipSewFXINWkDdkiu6+t89XeD+wTMVqwYQw1Nz7j+eHnVtg9MipPP1OlAy4f686Pcuf+AjAcT8JnVSWr5Lifxj54pOWmAGbBjI+iq3+HgKgzUMcH7zgeCG74lp4TefricC86W795sP6/NOjMd376u/Khy/g5+BjrzDbwtowRbPi3ChPIRNTAsw8u9I/14CEdINT9ooViz7YkTKN5wFCeWx9ChvLC9eSuAlMeCUtZm9kB/hiJOeog1SiZtCfMKvp1sOB0EdaEP6BNBGSQYNyNDGvMOF33wnDgQ2jB/AHMMvtIiiUk5Ay6m62iuqwJlZeyoe4TFIK5fmIxwunDp7mGwARyIRM/QMCjso08Q5S7Uxjvh8AHwWHTjjAOWHQxMIBZ2GxkZbYFAXNDDZeyEOCwHUTlEMYoFBGpQtpEcdfbhJd01qsrXSAiUc8fggymTBEPaFh7UXC0daqvqQzi2p6UYiXpMz7PdYwZbxxwDin/+f5+bOtElbQATiURzNlZLiBzApTMfk1yyKWDmiEaPyLupSYiunRK2ZxQJanyiNxZLx3eXfkV4Ae8pBvsTFHy2DhIXxYtnE/SgWcaZjZV+YBr+RCSc6OmWp6SfGW8r3/Mwk90+fLXB/8XzlqgHEpOZe27BW7VooJNYjP33alacNuLTJXtGiBORITncuq0JL6sKlVGErzAq3gEb3ohMCwrKR3HIAArEayjKI9OC8IHqoYEL4UHWH2MPloYCSn19g3xFhokLfervVNOCwSL4mUeffe/NNiwfRHxoaNE4UzR+IOuqwNB96/qikogWJkgRW2DdkMwHXWlBYICI8alwvatK4w4cPx2wlUOq5qL2rXlMbvX37lpWHMmKshkNd9QtpbQIK28SdAhZoc+XJ2K5S4dplOHr3brvZgKFsg5amiWMzs4x7hVNFaQhbhjap0GI7wW+0TSl8v/bOsMugrJ0CNbh2FHbQKs2UeJX2wACPttu3b5/2Bb2xsRVuiX/iAHHurnTM1QYQxkAcwneGG2MuEFuefoUJcsPeJrm8LDVuWrIryU91F29HLfusjGSXL/+uQamaxYg14cP4JZ3tpRluaGzGDUWFngmFDvkFop6htNMEQuNT2iikLApLfBz5p6Uluai0cOorMt2w0ivKTXU3O6QSpvcQ+rL8NDcwOi2Zrd8wtbh6GUvCykQ9+U36+VmpLj01yfWOeFRn0tWVZ7hb3RPWPhnKj3YqzUtzg2PTkvumutYeaWusEhe2FgChqm+5rRZY8RZYDkBgS/DLX/5SczDZrKjZn7kk7cV8qdpDcAEGQAMCywr67Nkzpt8Ph4C9DTr+UdnEMI9fefll40KuXrtqAAAhffHFF82i+Pe/+52J8aKy/dm1a7cZ6xbLgA1tylbZPDQ0NFhcxKKs1rHSZv/ptde+5+rqvF3VX/3VX9kxGWh0QsAPHjgoOpQqM4EW0+Y8+dRTsXjZpraN+j22Zfky4sPyG5EmmpsnThyXGn+prK5/Z6DB8TmAFko5cDDPPPOMgdbJk0/Z3tbf/u1PXLb2jOEmagQ+pHFVtiNwE6RZJY6kqanJbCrQQEWcu0e2Gk+pPCaiXEYPxwHiSvecqyrMcNki6n0iiqzoIardQ1JBzdRBViLOkyJ+GSKaNH5L14R+z7ptxemuXOFYafMBOEbHZwwwKEeWCPugCPZtEc9xEefSvFRXViCki864MRH7w7WyhxB4dCof4hWI0ELIC7JTDFSIB1HfUZbpju7Icd/cGlG50gUC0ktO1QZhLK9DSufDy4MuIsAZlN9OAcUXNwmb5rIUjj3AW0orMz3ZgGx0YjYWlzOgZLSlcpIvdQXUxlW3frVDRWG6BmuSQGzaHYvkuuaucavPoe057vMbQ66+TBadPeNud1WW++z6sBsU0K2G2wKI1WjVrTTXogWWAxAc+3D69NeuUMQPjpzV78joiK2KscfiXC+MyVhxYyfTJ7V6viMCgviyfzU0PGScBStuQARRCxwARmbHpSKPGvypU58aAJSXVwhUSkWYOxxWycZNaFUP98K+FgQVsRHEmtU7XAsgRD6ffPKJrdo5kBIr57q6euMAbly/YfHq6usFPGcNEHZKEaOrq1Pl7TOiDtC1SBGDY0MoJ3lcFAcBGI2KQ8KSG04JwzaMVmmDF14QuCne5cuXJEIbMFEVS1qOMaGtgro/NmOIHQFKXI7shigbbYTIajkuDhBNfc4d2ZFnxO6giG1b34RW97IfUAE6xQFAwJ9qyDMQgLjf6BxzfcNTbpcIY/vApCsUYYc7qCvLMI7hdu+EEdtnGvNEqIfdtfYxA5jGyky3rzrHwOKT60PuqAgtxJgVe5cMtHZWZrmeYW0waoUO13FV8WqLM7QhN61D4TiESzI6gRWgcXdgwtK6eEdGcdXZ7uKdqAEboAbBB2SKs6UxosbbpXS/ahp2EQFNtdL75OqQqy5KdwMi/GW5nHWS5AYFEDzTNDDaB3UWiepDnt36DmdQofA9SntG6eUJSD5XvQAXwPRoJEdtMu7a+xMOuVtOTzwk7FoCBDJcHIMpbJ49pHj3vGawJrqFIo/wfqF/Ypz7fSfuUuKFPCgJnGFiHONK1XFwqWgP8f5BLqRFmMR0HhTnYe9CmiuV3sPyW8/3ywEI5PDYTkGQ0TBDDRg1YsYkBNrk9PqdorGJqIh2JCyracIwXtmnQLkBIOA77xHtoMQAJ4J2HHkQPuwH8JtxwDv8yQd6xkkAKAwE5QWIMOmSH35YK4d9AbgHxhagRL8at6N0yYPvGNuNq1zkwxlTwdKZeqGMwNlPlBewgJMJexykx/sQDlsz6k2avGOekjZjGX/KTljABoe4jn0Jwi13vMUBokXnUh2J5LlbIuwN5Tq6QOIarE6rtIIe0oocYl1RIAIpUID4ww1AqOEI+mzFn+omxBHUiwB3iYh2iKjCWWRq9Q6h/t2FQcm2Z93J+lxbkRdkp7pTWoE3inADNBDrfPnBvcAZILYpk5jo3G2dA6W8yetATY4R534BFHkV56S4QgHAdYHVThHyK+06ByojxV0XqEC0GwVepSL+NBqcSXP3uNtRkuFyMlPdl8r7oMDpQquO+xDnBBLXChAvt+nIBoEEdQJkjoprIK/2PiwRZeg3IlXHdB2Sp/J83TJiQAWQvLA7311SXMBpNdxaAgRyWVZuNWJXw7lKDFpvH+CPsmCyscIKjomJzBStHrR4gp4/x2dkS65LfBwrOSYsv4nPIGbQhoFr0KL+4jdhEkGKuExeNKHCJPbl8pvGTChWfExSVpqkgaYTExeWnPwYC2M6aoOjCph0eSJClIdyBuKiiFZWZNLkjzYWx3Ng/4CYAbVVq4vyY/VGcMpBXUifdPTwyGRfgujS14kInP9DeCY55XuS3XIAYqO3A2MMIv4oxHaj122x8sUBAg6ClX23CPRtiUwyRKThCqITM7ZPwAr/jrgKgEHj393tnzIZfboIZYnk8HAcbF9mi6hOiqAXi7gHURUEFCLL5idEHTHOhDbEETEBp5N62h6DwuXoHWIjiDNEhv0LRFCkUaS4whi3TWDSLwIOIYiqPHq4HImOyHe/OIkzt0YNjGok/kJE1CuOpFOARfhSgRZ7FoQFwOBscJAEysB+CHsPiMsId3RHronLLt+NmviIcrMhnycg4kgKOAvA62R9njsrMKO9VsOtJUB8pfNXIPZFYqMvasMQYoyWBys6JgcrFI7KSJPqaKZWR6yKeL9jB1oWhe66WGxWM6yw2JDbubPe1EppF9jnzu5eUUyJKxU/WOnn64RLDmKjH6CtEFpkwhGdiImWBr/ZMOzSpmDNtkrXLPa8S8d6cMYOaSESYGV1/PgxI77nLlyUdkq5VFjbXW1NjduuA84434l0hpUOx4JA8HEcFsnGnm3yCThQtcXGpFCblGw6divPTuXFirKxoV6rszyLRzoAESCUqzN5bt5sspUrMl9k1xARVq60JecRpes8HspbJpFId7fu3tDm4549u2xVGwDSEn7C/jxJAPGEdc1DqxMHiAsdcAx+gxriyERl/mg+2eYwBJo9BxwEGWKLQz6PLY7ohk0+88TPvsT89JuJycwPm9Sxnz4DwipCXCuIpPWbMGYkpqeSsDRtZUl+9i5kEnsqDBvZcBzE47utIhXYtKQsDWk56Uk5KBN7JjiyJEN76quCWFxEXfwDpGgXK5QKQxqkSRkpG2Ipfls+pLXCbi0BoqmpWYR81NVFIkaU+T4yLOtgEUaIHOw7NgZjWnlz1DK/IYacn5QpDYw+yUcBFcQDrNIrKsrsSXtjpNYn7QtbOccIaJeIJcSbvkJuOiiNE069ZLWOkRxpW1wRXVZwGMmx6icseWNPQHrIajl8jTC9vf123gzGdbyr1CFsYaXOuUzEZ6UfzoiCE0CDxjpefUrevAckh4d1D4Fk43BQ1AUbChz5RAVqjCW4DWwgOKIZK3ISmhI4MEDYdARYAUzApEqbmiMjUQHVsH1H40RD6Il1WwCxebvWAOJ//+uLcxc7dViUVsNbbmO2gCRp7s9P5rkfnSi3FTwEh1UuMtMVWX2KkGGYJKoXF5WwKofAIWaC2JOPz4snr8J4gbx50Qrv4TBMxAR4ingikkkSAWUlQYwQL4h0wm9annqx+EAcxHvLEzQOWREo5nzYGMLLj7DEISgy2SAeww+gCo78KB+l9vXxZfKLHp9R8A9lBAyoNMZrQbRGOqHslibtJD/iJDrSCmF9ur69KB/AQviQX2K8J+X7agBEYt/TtrQfC4nFHO/pP9o59E2Is1h40uY97kF9Q5p8CM8+Q0h7sTQT/ULZg3g0vLMxph/4bxRnAPHJhY45bddIvr9RirVVDpgV7/RFg1XnTbqK3DlXXyVFAQiwBiUAwfG+K+KUx1xUN1ANcxJrPPMVSZpEksR5JBVoZS1xy5b7brWAv1GO403mz9WCCAbjrUBYA5AytoMLhDwQ7BAGzhH1ThYCvOP4b8ScIS1b7GgJQHj2erBBwFaCfAnPHGLRwPvET3iHxlG21GLZLF4IEoTHjzRZ/HBkDHYGiEITy064hY704a7RuIpEIgnlnTNuGGM6VGw3ijOA6O0fnMtSYyxWoY1S0O9UOcAEiLRhg1/tzs5IH1ty7OysjDhAsGJCfKKOe/zm0cA1F56Pn+K3UwjlDM9vh9jyeQJbYFz7PRBFiCoEmpXy/QAC0R+2EByRglor+0qcfYU/J/6yD4YmEeO+tfW2NHSkbal9Kg5H7JUKKdo7xMMIjfwgtpwHhuEcLKNdOCSuGwtm7j/AgI59M2wZKBfAMyw1Wc77ShNXgBptlvKC+HtxpL+/GbChnJwdduH8BffmW29ZfIzyAB80nbAEJx7AhYYSZQMgMKRrkeot9g3sq7H/hfiRMBjs/cmf/MmGGQUGEGrwOZByJQGCxqYx6CQQHMd3iFpiPoTjN+9AX74nvsePMAvjhRYkj4DapJEYN4TZjE/qhQv1Y9AxeFl1BQ4iAMRK1Zkc7XRRy3nj/zFYZOzo49sJWI0B3X2KTxzGCY6QYeyYxxL/3JMG4y/WV/eLrhGtPO8d1/cL+yT6oxG3VIBA3fTjjz4SGHBuV5apkEJYr8hYDmtkiCh6/rdEYFnhMycQ0+GHXcSIiDs3vKE4cfHiBfcXf/GPlE6m7jX4r9o/qrTTepubm228kB7A0yVjspdfecUI+YcffGCGdCgwdMhfAW28sCeFgRv7RhjxvfGDH7gvv/xCQJcqbuCOrjn9O3YiMNeHwplwvS4gw/4Se1uIJrEIR7V1u4zbmlQG5i/jgtvvGJPQYE4V/rM/+7MNMwziAAEiB2IUJhCTh+/484EQhWdg1RLfJdbq+vXrdq8EfrBiDBKs/OjIQNBIn4FDo4HgoCfGHCH/sNqAHeM9DUqckDffg2ohcbkDNqQdykpYPpvN0a44ntRztQGC3GDX1YCWJ3lDCP1ewr1El19hHNBXob+Is+YuNi7ZP2CFGcYj5QhlTBwTfNd/IyqozVIX2jcxntWBQFZtP+7DPPDxpa4aI/hsurN5Tf8k5hfCWd4qI+IVxu930S0XIKAXAAWGa/v27dcqPF1XfDbZ7ZFYRdfU1NpxHBirARCMU1bsAAFnK1VUVpg19OVLl92Pf/xj4wAACG5+g6P45OOPTcuuRtptAARGbm/pJF/um/7ZT39qdAS60nqnVVprjWYHMSPA4ggQ7oyGzhzSkRtfffWlOJpc40KOHTtuIi84HrThzspAbnvtdru97vLlS8q30biJ89KY47iPpps3bTxEIhHbKxsY6JdxYKEdmfGjH/1owwyTOEAweDExpzMx/AAFQTMIOgjIBMAvrARoXCYEiI6xBgScTqXDYKmIQyPDDiJX4+Y30oLYMyHDd8JyZR7sFhcCNcrEHHaL8tDpOIg/+fGkfLB3sG+E4zdp8AGBKQ9sHeUkHwCHQ7tsom6YZn94QWhbHM81AQjlYwRTG9Wob0IQsQ2gH2H3TfdfM5HrRNlcpX1RB0X7CEvW9XKBuBsnqj0Z1Fdh8zmiAZVaxgLjCDk4Y4QxjHyaVSeAAnFHNAEaoLIKIccfTSVUVRn31JE54bW2ciwNsVoeP6ziSe5mU5MBCqq/LEiwBCYuq18DC4Um7++iWw5AMK44koIziaApnFVEG8I50wfQGGgI5xupI20s0qa0LTSDePTb11+fNvHT93X9KGIpxgSiJ2gEC1LON+LqUSyVoQ9YRzPmERmFBSXA09TcpPwLLD/CogkHKJDmgGgN6tz0cwAr6B/xeUL3UHn2N27qXCTNE8YjdIz41IvvLJyZZ9DRAvlVi9ZtFBcHCAqEPjjEF6Skc+gICBQNSOU4657K08igKB1GHICAMExWGp8nHzqRit8UWu7cudOBllwrCjjQgDQs+cDy0WBsOtFYEHni48eAoVHpQAALxEc3nQ4n3pEjR0weSWdAADgZkUYHycmTTiff0OkbpeEfVo71AQiJsQQGHLVtR10LILjaE6MyylMgNVdYZSYF99ZWVVWaDn9NTfXDqrNq7xknlC0ABOMFQz/GV2vrHY21Ylt5IjpjHHFHA9xGagwIAIimpmZdTzpgqryo6nKBEE/SABQwGNypi+UhdBACG0sLAOLS5StuUO1G+hyQhq0D4RnrOPFlWwChuUjb0Vc8F9ukDrQjjH9ru6R7xXOEwTG3Ex1ATDzGQFgoQoQBDhsfek+cxDwIz/uQVkg7LCi5mhNNPGxZCBvKRfkJG34vjJ8YNrGM9l3paNVgnI9fBvoQxCEdyrNRXBwgKBynBELoMV6CXaORaGjETzQIRJcJwqocPxodQg1QwH2AlHyIT+MBEKAiYZ5++mkbEFyCTdrEoSMBHgg6oAPYEMfQWROWxgJ8SJNVIMAFR8Jd03AQsKIABOUEPCAAhKOccBe7du2yPAANyr+ZXBh4PGlLwBSCtVp7EORjK2o1EqtwVmEYsjGQsS9AphssoinPoO6SxrgNu4hgX7Ae7QuxVxFtLOqbPRlXcD1cysOigTZjLPEhLA4OAvEQpJvwjDPGM+2sprBJCqcxrPFbojHF2GKc+TSY3H6Skz+OviE+jtVsyI8nCRJ3PdvJCrZOf5bDQaxTEbeyvU8LxAGCAXxFJwJCjFnVM1Fg5yDmsHx8R8zDRIFAsDJiUjEBmBAQZNKAgAe2GiRkcECcgx+Aw0QCIMgjoDsTOXAOTDbYQdKGcIUnoig4lJMnTxonQX4AFlwKeVBW2EDyIg6/iR9WKvdpgw3pTblxPNcCIMgLYhfy5fdmccHoEYBLkPssXnwBBBuQjA9EZbTtQ+MsSEnDzi849AWR28PajHGK6Io8v4tuCyA2b6//5Cc/cUloMUGgw0APq20mD4ObJ5/gj18g2lSd38QN8fkdHH78Dn4hzfCeZ3jPu5DOwsmEP8BCmERZ7sJy8B6XGD/kbS82yZ/Qljyp02pzEDSLsuIvfzalW0rxE4am1dHXeXnVXW4aC8MvL7f1CM18Xbl8twBi5dpyrVOKcxCIeDYjIV3rBlur/NYLILyB0VrVciufjdgCYcG2UmVbLkCwIEIqwKIICQG/A21iXoRFYfgeyhnmTOLvxHhIJticxr4BsSKicha9iemFuod4Ia3v6nMLIDZoz4fBznOtOIgN2hQbrlihb0LBlktMFsYP6WyU53Lr87ByLwcgkBIgpkZdFYDAQhnNIoCCdHiPCJnvvGcPk/ZkrxOiz0IXcTjGdSgYUBfEe3a6rwr65VdfWRzSY78V0Ajib/Y12f/E6I5N6S3n3BZAbNBREIgIzy2A2FidRJ+w34FmVKIGzFJLaX2qNDaiQ7IEUV1JkFgOQLAP+cEH75sxGgCANl2xDm5EKQYtSjTndu7cZVd5Ykz3T/7Jf297ob/4xTtuW9U26xf2mNB6PC1V10ikzqyhAQHOLUOZhXdYQdfpHQo07Fvu3LXTuuOOlG3+5E//1PLciP2z1mVaEYBgwIPsPBlYQU0LwsYHNi4+4JgYJt9cRMgZJo3SwDEBkYknSb/9u+ZoS5wRE7UDk4XVzmpqMaHeek0GjkwgjH3oU+53sImqU0s5/hrbAlRD0fPnlFfC0KF+z2fOtJt4R7+jJYR/qRQaBrQ6oz85XZXxEOqCZg/2FxhDcaS2aUpJvZZzpsiXVSFjByLD6pAjwGkTtKy4CIXyeU2mJCkloMaqO0t0PLcC2aUy2HLgNyh13VGtMlkdEpc0M+SPSiontvryW5M/9A8aUheuXNN1k5MiShWK7y9noV6MfWxGRmInzWKPkao6Bn+6lbZhDqALtREdYkbaIz5nH7OQywEICDgWypzme0cWysTFyIwnavc7ZSdFe54/d94UZV7StaKMwTNnvjGFgY7ODrs3muM1PvvsM13necJhcFemo985QgMuge9YP++WwRr3mnAXNKra9F+z7FkACO5v3nIJHETYpKaxaShc+M6E5MOACc8AAoRhIgcWjxUA6qWEw2YBf9hAwnMkwvTIkJ3smawOnNMKwIi//JnQMzJy4dTPZB2PjCHSLESxp8NlVtZqKkEwYxOK8HzngbfCEl+jmtknf0095cdNUPE4+raZHO2H4wlBWQuAiOoY7N+//4H0/rcZgeBYbojdpNRF0QhDOQAizQXpHBfAGTvNEgXAlkNsIf5chJOjuxE44prjBohz6OAB2bh02zHfaL5xq1e2wnBtIh1IHUn3yrXruj8ixzTiWDHa/QkKx3HgdpxCaYne66atWY1RAQj2GYgTOBIcA7Wx6Lirq9uhO4yv2NWOHKsNgHB3BXYOtCH5YDTHuMTm5sCBfa4iJou2Bl/CHy4c+uSzL22clQqwKspKrL1uNDVbX1XJkhfC06k658hQCgDca/c+5NowpT+D5lXIbjnEeDlhQ/rLeTKn1wsgoBnXrl0zGyfAgP2CGzeuu/379htxN7sSze8O3fPBJU5oNFJeVPQZW5FIxK7krJUVM+MTuy60MOEU9u3fZ8exc7YS46ZU44nFDgfzQf9Qt0d9+5VXXjEty+W02ZMaNs5BQMBbdAkLSI0KKqsuWC86BBVWGp/JzooOAMFeAaIBqoP6xOd3mIRMQCY+nYdqLB2XJeTv/eqPLiVDN4zphq9p3bOaWVljoJEiwBhpue7ScqVbX1TiZlgdym+09abLbdjrZnXmf7LSmdWBdYBKsvTv04vL3NSg1GbHddWo3qcXlrjJvi6lneuyq3e4lJy8GEhsvu5ba4AILRTsCsLv+z3DYoH+5TgOs7S+X2D5h/ALg0xoFc75NoAMltkQVsYbK33iQEy5WAeuJGivLZYW7RW4EogbvwmH4zvjmvG5kFMIYRaW60G/mQs3mmSMp7lQpXsmAAH8EDvxAeRIF8BF/g2nwCVDzBsVxepE0SgvIAeXwXzD4cd8CY7yGseBhyL5Gnk120cpe0j3Qc/1BAjKFcb+wjIm1jeEWcyPeHF/NbhfavnUgn/i+OANAMLhfxW6oxpL5jDWfKzv7t84QNAEGKrV1dXZE2tlkJfByXc2dL744gsDAlZhWFJjM9EiUAEsME5jkhAHUOE9mginTp0yIzmzoRC7P3T1nHEO/Wc+dxlFpS6nfo+bGuh1afmFbkbyxtScXJdRWilAGNdAmbXwWVW1bqytxWVV17mJ3k6XrA2kZE2o7Jp6F5X/yM3LLi1PoFZSIbAZNA6kYN9RAU2p51A2Yf+GCcCTPlhtDuJxmmjhZFtOWoH4MXH5kBafQMhD/fkdJvf90n9QOXiHe1ga90s70R8QtcuA5OltKvwR0nBDuJBHLEv99n6+fvMAYUBz46ZdsITo46mTx437ASRyNA94FsgYEe7Lc0hjIlypNh/37d0TBxXLdAX/rDdArGBVlpwU84uPSTo01sL4W3ICT2jAOEAwgWDTkD8jJmJFgx8aBbBfNBjaBHAXiIyMVRcghPdwFqAuSAxw8D5wHgDFsWPHXJbkzNE7zcY5jHfcERBUiAsod9HbN1xqfpE4Cxm2SXwwp46aFVik6PCsyd5ul7Wt1jiHie4Ol1FW5aaGdZyHxB4ZRWVusr/bTUs0lSFwACQm+3tMTJUpUMHPi5k2X+8FgsZzrQAi5Ln5WmvjlzgRNOhPREw8EX1x3hCc1M7Gerve1AiVuI0+zUPmFJwHc4gjH/I1J7jZD/HZaq1yv4sAsfFH0PqUMA4QDGBkf6z+AQkGKYMSoOAYDVY4kUgkzv6iJsZAYhWEOIkjLkiD3wxo/JAjg8iEYzAjp0YcBHHXmspNDUknWZfIMPDZwExK0dWSoLjETBB29ihmtBGq2aSwAyaWmpvW0eHKBxET+xkp2RJFsKEZHTHxFOmzkEsrLDZOw5Zv69O2j5VrINZrDRBh1ftYhd+K/K0W0JC1+UH7BoAIoPGtwDEP+j6ESfx+v/Ar5b+RAOJh9U58n/j9QW2x1HCkQVhc6Af7sUp/Hjevx42/WLXiAAGXEFxgr0JDMmD47mWoftAmhvEDfl4EEApKejRsSMd/Z0M5lpNAQTvXRvCDHxNJFN8HiHWOSRFjZ954IawCxd4pA4UNCcb89WDzyb+L5bXJHqENedK+ADYiBwCb7/gBvoDwWgzeTdZ8G7a4DNulAsR6VWKjAASLTcoSzsFa2B7MDfaWmBPQIyQW7DMxLxZztDsfpB2kCT0LjrT4BLoW/Nk0x488luPIB7cwvQelQV2Yy9RhuS7Ui/xYjAe6u1idlpN2HCAQCW0RmuU03eqGpWNxPOn8LYBY3fZeq9TpVk88ZC08OeIGRntdfmaRS5rVpFYhUkTcmOAtnd2uUBpcKdqH47hxNADZ+8D4Cy0xGxfa0IcgQBBZP7V09LvS/Cxp/03axjnElTmNWqg9xaGzaf4wt54AwTiH0PNB04gP2mYshNA+w6HZNIEIWvU5q9OhDxw4YHs07e0dJt5GGpEXM6bjHgcuFoLoXr9+zb5zyGejNKQ47w2woA3ZQyVvToDmiQSENuOuCDShaGMW0bQNZWMviIuDsK0IwETZiEc4RO2ohXN5EXUIInjCQmtxfKde5EeZORgS4KJc5MM4CUpDLA4Jh4QH4ES6wxP7DkCM9tCK2A7W5Bri0PdoZnEHBnlRB+rEB6UQXF+fbsyTwlAAlqgkNmjdsQBH2+udd97xZzFtAYS114b5swUQG6YrVrQgASBm56bd9Y5L7ldnfuJe3fuWK8/Yrjslml1dZIdLE0H7j7/4g3v98B63vTBHxmKcTjupSc+qdC6u6ouaZ4Y0/Sory11qepb7N//vh+7vP6cj7icGDEQsjiZ7jrSqAJjamm1GkB5WofUECAgsN8pB5LBb4MpP7psuKSk162oIIkepc5kPN7F16pj/cinQ7N2zx2whOJ6+pLTELt+5eOmiEUIuCqqvr3e//c1vXJFE4VxmBhHGD0LbLmIOoHD675tvvmXqrl988bmOty+QPcuoKej09vZYHyBahyB3dnjVWO65wY4Co726ujoTx/M+TSJwjPqee+559+GHH1ocCDMADbBFlS631AFcbTo6n71dgCVTH57YYxQoL8CFOyWwuYHjOab8SOfX771nYLIjEhG49Vi4oqJiS+ec9pJzpQXIhUUA3FHt/17SQafkgSo67ceFR6T9yScfG5hga8LR+Jy2jYr6UGxL4bzqZof1bQHEw6bN2r7fAoi1be+1yi0AhPgI1zfa467cPed2Vux3ydMZWsUl2YUxU2IHPjp/xe2prXJFIg5sVrPCYw+PVSTiDlaXECJWoNxdkZSc6v54ptkdaqhw2ele3MIqF66DsBgRQngwgHyYW0+A4KoAuAKIGnufI1KBztYKl5OmMbxEq4t7qHkPkf/p22+bVtczzz7rPnj/fds/rdWK/7KuBpgV98UtcSjVHDx40Azn0MjErqJS149iiAfRvXb1mqvXKhtNS8KdOvWpa2m55fMSYSafVnEdHG9fqBvlIiLKEF6MOuH20P4skj0MgMM1qS3NTUbo9+/fLw3P7e4Pf/iDcUGndcxHgbgKuAKA7sSJk7rP+rzuI2lyxSLOadLOBBRYxY8MezMB+ipVedD3aM4dP37C+vPLL790x9UGv/3tb3Un93YZ/e1xP//5z+xoEriGgwcPKY1hu2OHBQJ3laCOPilO5Ie6sY5xc/XqFdMyJW0AgkuvADXMGwAJHGk9NkBAzBhUPEG3IANkYOIfWBvYFtugVhg2ljGKQ2vJthA0OWzfwIr17T9sXiuAxYm/JT01GpvbODa1k8VGxfcw4gFjXxQeVi4Y6JnGlMqXok4l7Qc6y0uGfSrztzSjSFd5h/onqaOtvKoY35fjKJ/4RBsE1jYIHpQGhGE19yBmREgGolOua4ib+CSvULasOuNO5UqekIyUeoq1nspEJEmz8QexCX2vokLkstNcWV66XcsZj7/1xVpAQ8X6lraancOGxMuqU5Lm2X8FsYubWG2mChjgHAgfd/wgITnaH/Bg8o9PCjykSs51qGGBQRiCoghCf1p/4fkAt54AAfG8KjBAlIaFO8SRS5hY6Yfb5RCz3JX9Far3EDNWxtwOx6VhEF7ed3d3+dW8jCQbd+40q2lW5YAqYjziAEaslKlvpYADjUzurcGu67wIN9wC7QVA3JI6f6G0M7FnYaXeLiNQDDnhdLgQjfQqVR4u0+qWISmiJziSQ4cOG7ih+EP5+CAyG5fdFkalxSorIi9EPnzIi3JhJsDBgoBknYCHaw5Y8XP/DaK2D3R3dtW2KhNhcbMdnA4Go3Ag/f19Arta43jgLmgTAK+oqFD0b864B4ANbdXTp7+ydsRynPu09+7bp/rcMJEU4rFPP/3UAwSri0SCHog+xB1/PgzEMPDCRgiEK8jEYGnRdkK+Rzg6g0rROIRH+jne2eYmZfeQG+HsEwbyrPPqq5WMdjUwBF7+SjdJgx3wgGhODWEQJ2Onim0GLkY8VdkJGcah9YRtBDYROdsbmA33DH/TiFI+ANDUsG5LUxkwpBu9fdPSz9t1QOH9hCMdD2JKQ+Ww2cVbARFlgOCnSSUXIz7iUE5ACkO+8R7ZaKieuZFdbqT5qsssp6zavFccazcRfgMz0o05r5WlMIAlIKu0JjH+G9NVn4N9Lru2waUVe62y1QSIyelZ19w15i60jbj+YR2Ili3ilEL/+GZIUt9WXPnMlZz9yPXvPu4u73tdEzfFZWeo7KpLe9+UKymQnFar1x0lmW5XleS+aff2Q6jzk/SkX6dmtTBRnxrxVXsxT/Rr0WrSnn4usSk6qT6PCnAztACQtp/GOY40mchYgduwVNpwF+laVLmxCY01gXi25Myp9BHH2Hi9fQBlJdx6AgRtE2gK7Uj9aErahEVIKFtoJ/9+HhCJgyOdD0VEAcZDhw6JiyizuNy7DkDQO7Q3tCssaImHyIf8+ZBnUMzhNxwZbR16Foph5SUN6Jv1uzzVX5QTx54CF27Z3e76DY1knJAnABL6jvDkRRrkC72kbISnTDzxB0TgDAAlOJZs/SYcoAE4BJfYDqRNfPKE++RJGYgHICcqAfAOuk19yfenuqPbOAhekCkvQRwigc6or7LBQQTCkBEVAeFIAIRjg4d3gAzvEVeB+L5T/f0NbJSYHcStGxr8Uo8VEQQcUrJyTJU1raBI9hHDRuw5cmNOjZdRVinDuC7rkCSh9djdW2YMlyXr6/HOu5YO6q7J6WpA2UOMd8pI7+QrbrxbbBGNrXfkBdGfFtuWlqczd7QaGWkSeyggGRURz9q2w6UXFFuc2Umx7DK+43gP4jFJU8XeAgDTAhY6HiKekp3n8ncfMGIPyEwqPyzCo3dvixvJdsXHnzfjPVRwx2T3kV5SbnYcM1FdwFS1ndFuthypSmdS9dOocKkKO6sOg5uZnRIR0HfyxVo8szpi7b+aADE6Mes+ujTo3j8/4EYnZBEsWpWRKr377BRtpM643KlR9/3f/ju3s+OM6y6qdf/Pn/5bbQymuooire7GZl1rr+xgBCileanu6V157pUDhS43U5P7CXdT4qg6Rzq1atc91FmFbmBs0JVmF4uwQYRihEsUJQCGut6ISlKSFlZjzW586CPn0k+61k5k7iMGBGwScoMfK0Jk24AEc6tOK9TpL6+46DfX3NTrR91wLvcwp5kFekV5qc3HlWjuQIQN8FYgQYgQdAGiBe0IxBBiRR6BmK1UfitQ5K0kYi0QvzCI38jSWP1//fXXJtfDKprORDaH7A52AyAAAIIlNcfyRiIRAxMGAYCBzA90Y8Ppj3/8o3vxxRctfoYQOCqAwGIa47iSp1913Z/8RvYLBS5VRm7R202yghbC6XfhgRNuTMZ0A+e/tKM5cut1sJZsHAARCHS67ByGLp9xOVqtj3fpkno9OZYjOS1Dx210W/Wyt9d7AzqstLUi5wgOM8YTMMElTGrFP3jpG9liFFsczm/KEmcx3n5Hxnc6BkQcAOlifJclIg2HAqAhxoITANSGLp+VtfdZAdNLArNuew9A9H7xocsUwA1e/Nrl7txn6WPLkVu32/Ie72gz7gL7DfLFqA+jwIJDJxSvysB1+MYlA8y1AIjxyVn32fUh19QVFeusw/Em5lzv4LTbs11aGgKPjDndO35TdfnmY3ej4pCbful1rcQQf3CyKathNbkIIRzEbnEPu6p0HtMTwEFMazMZ4p6SdC/YqcYuOj3mBieHbCExNjPuMlMz3Pi0rKDTtEjIkGaSmqRnos/GYnFGoctM4YbDBA5iVhvP0zqbLDlHbej3Cyyw/iB6AnRwiFvYqEzT6nUuqqtNR3RmWaEWFOKwPYFl89OvPi3CY/7ZAojHbMAnKHpczZXVPpbUEHfEQrA4DBSIPJwCKI/MCu4CS2lkbgAC7wkLqwV4IGNDdhfYItgYOBDYvMBBwCGMtFzTKvyQOAlNIA1uO2tJnAAiFlbvEGdW7GNalUOIAQ3OYZoeHTKCPi1iC8GFoJvxHWyRwIPfcBOsyOE6sLbG8npam11p0krIrq3XhNR9xDqSY1RnPxngkK8mJJyG+Hov5hEosHpHZAVQwZEAKhwDwqRkzwFQG7xw2rihvN0H9ZQxn9qKeg1c+Mriw42Qd4a4CDgbf4xI1EAta1tElEBiJ+XL2VTUjzLkNu5TG+je5ytnVY88l1mz+hwEIqb+4XHXM8RZV5A2qcyJmKUk+b0FdbBLCZwNwkKxtrDH5mgPvWcMIQrJy0rV5qpWtxJ5QOhshah3nFOEKIbfYbVIHP+h6f0Kk+Mr1tPNaG+AD5g3PoNuuvTgk7Xa9ZW1vxJ4uNFpqTsmefFhRoo2ESVqIt6UQAVBRFqyzi6b1XhWHYsEEKkCGX21uUI7eUcu4TtD3n8nTnB8D/7mF48i6JqPGoI/9nMLIB67CZ+YBOIAwaTFkpr9AjZ5GCQQdog/XAKbJIiJIPw4gAJQAAAQJ4UNHURRpAVbSVhWNgE80uTPURsQSkAC2T9nMDH4ObnVREwQdgENVtLsLcwhahHhtIP3FM4IuVbvdiqsygbHgJuW+IbZB5DALTBzED2lwMZC+Bc4k/UP9JkYJ1NHfgA2lIHjOvjOWU/JEvek6mDBKZWFsiGKSlKe5pjAqs+0VPEQTSG+YlXJngNiJkDL9k4kSgPgABdAEG4FkKOs1J39BkCBPY0ZcROADocZzij8wLkvTXSVIfEV7bqaIib6u1O69xPKF/1u5BpZqn+PNsrQfAl9CJGfUH9wwByEy+SXInCUDbGIHRMu0JvVxqppQoiAQcNStNrlpEz6Gr1+QAC5LGkQloPvcA11EY0b36fmsQ5/IPJwDtBhSfet/DMCOhXd/CgSdYKzSNXmsm8vfL0jPm/ZhOYdnyBiIgRtjbuH6JvPxviDrJ/9jJUq36OImBgX4RMWFPy+n6Osie8Zr4nx+E0Y/AgX6jb/nfzm+yQxLfJMTD98D2FIExd+h7SDX/gd3t/PP4QL6RNu4Xf8cCGtxPcL/UN6FuER/8QBArWn4EIjUggyoXH5HhoCv5A5/onvQhr44UI4+64/thELIfUvFcAPRAtPnFjaEFe+m0vw9x4LGohpS3axcLFIiq6O8xmFaPNPhQVsiOc3sUnDE3jzV0gf36+O/TtPFixN8pNbWG7zpNyWvk9TFMLymU+fyLQtg1VlkPPffXvrh/lbW2myzmkArjpAqL17dbz36IjAVQ4ggAOwjVMV11QMpWHRLyUE+hQijnZNgbQ6IACAA8252csoAABAAElEQVQPQPAdgkgYRCOcaooqJo6jt7kbgnhRxePmr2HlaSCkBHZsrzGZugVexz9q9SXlnkj4lxRBgRgzpimmPGizjeLCdGOeJ87bxy3fcgDCtw0b1VO2oEDNcu/evVYEypUIrpSRMntA8/eH4IdkA02kbdu22QKXxQvpEB8NIuYSC1/yIj0kH7Nw8pqPYY8kAEp4T7rE4z3x+GAMx94QUpfgR5iwiCYuv0k/lIt80VJiYeWN1eZsgc17DPp4sjfDwpvyEpc0SJ+8cYl5BZVnwvOe/WDSJX3yCnEs4iP8iQPElh3EI7TeKkZhEOB4MlgZJKvJQfh80N5gJe81Yzy6zhMxxCJMRv6xKkZ8lLh48GqxgGhwfiJ5ggPR8eIVLuwhDZxNOKXJxEC0xT/ywZhoXgzj0wttQthEF/zxW/guMdxG+U55qf29tdgopfPlWMl2XA5AILJGxRR9fTSDkE5A8EijWgS/u6c77ldQUKjvI7oHZMxhMIakgzGIMdy1a1fdW2/90ObNGdlVDEr8W6jwLHzQRkKFs6mpycYk+66trXdM3ZO900uyoUDMniqul6tKWTx7Yp1itgpdUmPldF2M4YLkpEtEP0d7s1gmV+lmO/Ztb91qkQhee58i9FxM1SFLbxy0ljtVeAIAPaoTEhkObGQ+IMXhkqPDh4/Yvdmcos3lWNhqoB7Loamc9ss9FrQBi0zIBX3GkeXcnQEgYmDI3TyAyKO6LYB41JZb5XiB6PFcC4CQPEz5SDd7rEUiroiIvz/PBTGQraJEsHkiKmLAM5ABrdY7dzVoJ1x93XZ7z6RhAlJmNle5FKi8HDVdTUzFZUJExUW06QRTDHRKZGAEp4E/YqaWFnTCs2XtWWJ54I9jVRi4GQ84fkLgRxuh7sh3e6fw8wTYk2HAjDA+7vqSZspJ+6xvKaxZF/0DoVnJdloOQHAV6C9/+UtbgGDdDBG9GLMCRqsLe4dh2StgA4DdAteQQlDhFlhAlevyp2FZUyMVeOmll2xPlDtrGLM8sTNIlyIMXC32FnTCD37wA3f6q9NmH4ChHJbPlSKuX8uqGK1ORKr7RHQhtlhhE480AK66OpRxho34c7EWdS0tKXUvKu9vvvlaHEuNGe2Rb5XK+MXnn7tIXZ3DruLFl140GwhuT+Q+FZSDsK7esSNiqqzfe/11A6e//Mt/b+DW0Nhg/dXTLatu5UX9ibtr506BR73VAa6hQYD3kZSDjp84rmNIDlo5F+3oJXhuAcQSGmk9gqw1QMxJo2Yiqms0Rz53M2kvu7ZOqVfKYYCTow30DBFxVkMQ7MqKMleuFREiprtSSiBMqVZtgAHnz0DcAY1LslCFKHNDHVeVFkmxAavO3t4+7WkNCgDgKpJN/FQqS1LC3GlrN/Ya4MAQqbS02MrR1HzLbpaDcAEonqXmsELddMcejvwpB0QXcABQADFEABAOjmBAfFWhC35Md95SXfs/lA1wiNtNrH0RHpojC4H1AgjsqCD6EF+IOgSaq20BCpRjWNGzN8o+KUZu/QP9pjBTVVllIh8slQEIxsLzzz9vHAaEd0YLFEQ/Qalmm0RN7TJ24zgNwAXwYJxA2NHmxAiP+6npL/oKTgabA9pmTPunRbKo5r5sLKvhFBobdxrXAdEmvVLNgc9OfWZtzTjkOBC4DOrDyp4VPuUjD8AMjmVQ+7x2Ba4M8XpkYoC1OAQfS+wCgSUAc/3aNVe7Xbc5an4hTgomCXAsHLExJg5j+3YZ2UmhiPS4khVwelT3WAABEWMVySewpDQGlYLnYdOXzWCuEKURvB+WzxJhCPkWc2gwafnqw6tjjAdUQOTx5vDDKX0caS3qyF+aRogsYMFMQ0gbwWyAQ5Qe5kwrR/FNsynkSSTYOZWFumFnYV5MKOqcGM7ePOCPymd15Ul6yovN6VCftQYI4yDmxlUvWZbO5YkVp7/8XkTYsLRVr9qO/QKsWykjZ7vQ/+j9G6ch7oH+5zuTAVsSCDq9xYSH8LCfwSRHjROOBAIP10E6DHyuFOV2OVtZyR/Hio949H7QsqK5AyHDn/LprT3DxGZcUk64E25+C7r3CrguTkUx0RzlDX0cVuyJv0Ph8Ev0D/XhfZhzIexKPdcTIBgDEGMAHnCn7vQrexLI6CkbfvQ7/nwnLAAS5Pb444f4h+8Qbd6RHr/5DgARRgmYPyDEPdakw7jFkRccAcCCsRtjPSw4yJ/FEmJQ7ihHDGVll4gsXwshygXnw7lHHJ/h7ynX+UsqA46wEG4rg36HJ/VEfEQ5yZd8AA/Cs1/H/p6VR+/xpx6EYc5RVus7jXnmCmOd/IweW67L/xMHCBIicQpCglQwfF/YKWTDJgjvMRPH0aikwQqAy4HUoqai6q2fqz0oiIiMNF2JWTuLjZUGEidP4iDEaPpAmKN3WqTmWuVVVRkIYvEgvqiMpkvjCM0m1GO5Qc4IhuKag2Lg9AAYMFwDmFJ19ejIzUsWPrumzoOWBoPJ7lQHs25Wff3GuOIqDppMaBVlSN0W2wl5mhaSDUhZb493tbu8nQdMrXVUth2ozzLYIPB2/IfSsONEKL+IP++wug53cQMKZteh1Qj+E7LlKDr2vAcaVYF8cDwZLLT1au5BWGZr+MfXT70U67I1zHpds6Jb6U/1rJ3eyaSGu+EYBAg+75j0yNX5Tjv5z6xNeER+xOEcIBY6nE0EoVpJsDAiw/hdoc6hvBBACBkLSNLnGcAaf9xK5WeJrfMf6kj/UU/qtVnrFgcIBhlqrhAhUBRiz2YMltR0MASKytLRAAhH4FJpNpSQ+6E1QBo833zzTbOEhtCjYjpw/guzA8iujjiMvzKKyzToJROWSipEHw4jXcdXjMkSmlX0pNRPIcppumOalTkGbalSI4Wgon7KJUIzOhfIbpdTWGwMUEXlTmostFUw2SCUmgqq+EOWAmaRzdWlZpCncln6Uj+d7O81rmJO9UrV6ZAAAwCDqirlxyCv6MgzBiID57/SvNbk1so3Kgvq0udeN7VYwCdZYhisrTPLtgmYtFlGnaTSCjiN3rquZ75UWrlatcjNCfAwFqS8TH4AiSNDio8+ZwDC2PYE9MkFiHWev+uWfQAIxn93d4+7Jpk2ezVwWnBGnD/ECa1dEjEw7+CwSjQHIThwQYj5wFRECxxlfejgAZujzM2VclsAsVItufnTuceSGmLPeeicFIgcDUtq2DHAgN8ff/yxgQMAgiU16l3I7vzJgFdNFsgO+70Aker6Tn/s8vccMsKOlTNEmiMmIMYQX7iCIVk02xEbiJg02IsOPW0WylMCgIrXfuQ6fvu2GZ4BEkVHnrWzjiDMmaXbjKAj7il9/nWzj2CypSCikB4/4io4E6yt+8+cchzTgfEdIJK366B9n9YZS7niBrJrtDmk+63z9xy286KwcQDAKGOyAKP3sz8IxNrEATXq/Kh2Awju0KZ+GPZx7AZGcsPXL9hNd9hxAHx9X39iwAdRgIMAnAAIrK+xzEYMN3Dx9LoDRHy1uvnH9YaqAdyshpstqAJA8JsVZlhphgKzmubj/QUaCscBcNY3Cg9I2MpbaSLe8GKOlVvtU44tgAi9sfWMcxAMQCyp4RjgIhikcA2sYhAn8ZuND+RmWFGzYcR7AASAQMUM4EDex4mInKUUbW1GSOy6P/6Ny5dRHOcVcVAeox6CblbM4hgADOTxiHRSkDNiRCdrYs5MMotlGc8BDN7KWZyMuBvOVsJRrhQR4hlpEhQcPKHzla6ZqCi9qMTEVExIOyBQwMQhgZzvZCClFT1sPuIdfmfvkBGgiPzQ1Qta7efa6h5REWdBURY4h8EL2uwSYUf8BaeSv/+oEf4hWTynF5Va+naWkiYx1tvZVdvdpMCHc6OyKqtN1IRxHG2DdTXHhGCtTd0Gznzuik+8sK4cxBZA2JBa8T+s+IOYIQCEqfBqHojmyyb7Xkd4GF+c1jdxbpLf+mkcBE/S0mknceDxfhrTBJQLwERaIT3/5sF/NzpAIMWgPR8mW4c+EW4p3FUAa+ZAENnhF/qN5/0ccWizpeZ1v3Q2on8cICC0N27cMHERxJ/GARxorKamJrOk3r17t4EFDQEY0AFGoGOiJ77TWAAGxDXa2iQQGDH5esG+o0YMIfgzAiD2KDjMbkZnHiHf5zymyYEeA45kgQYAQhqER3SDNTLhcNMivhZG4iY4DMQ4dlyFNnWYFgsdHAQcC2c4IbLi/COOtqAMM2LvEQelaGUPmAFa7En401qVktoBsRbOxFGKb9bb8geoNCrcrEADrgXCn6Sw/tgQbYgrnWkd6YH4iTYD+BCV8Z66ASp+v6Nf3M1nrvSZ1+L50o44nvQFbf0k7UFY5b6Df+hW+hOAEH/gxqb8WVYAAQ46xAhO10GJuCmdczU57Yk+R6njCDoxpTGhd8W5UgrQtNBPbUxqrOjlmM7V4iTeNKUBgHDoIp+luvUECNqG/HHMGdrDGxX63/hzqQ0SDVRRCcMc4cN3nP/uZJCmOS/ahKQj1D7WzHHQID8cB5MCOGgXYRcBLeP0CNKEHkIHw1xMzAsDOxQrcBwz1NBQf095ST9weRZok/2JAwREPTgaB0dDhCffgz9+oTMswII/9i7Waay8lZAisGl7b7qEC3kgf7VNYnWlxaezSYPpoFEf4pKVxdFrVkiIbewb4fks5kiHgaA8fBw/mCxtK5v3Jyppf6tuli5p+PaIv7fs9Ic0bNrG/lLdWFkoH98tiEL577F04u2hskll1DSY4vF8GMrDINsCCHpn8zvGAf0JQIi+uyGdhHuuJarLg9AEE2et/q/WCbn1ldL8U3VbeybdtfYxC49HusKMjrN57Vxhboo72ShuV35jQojPro24cT31094DFId3SFe/UpcF6QBG0luKW0+AQA21ubnJNumxb8BmBCO3EtkWIL5mYfr73//OPfvscya9QJqBFAPJBRv9KMlgi8M847dpv+k985+wPVINBTQAAQh3S3OzGc+hEQSQTKIQo5bi0h5UY7nvAZVaAIk5yGGkLNQoGxbR5HP9+jW7bwItKKQtgA1xkLjQ1+SFZGYzujhA0PBUdsttjBYIwLlWAGGES3+EU7YyZbFq90HQHCJG+m/+DBFGCStbLqbhiG9WqltuaS2QCBBaithqH5CY0mGJvEvTkh/NXo5Kp1WjIvJjOk2XtYm1vTynxSkAMHAZeVlSE9b+9IT8+oZ1N4nC0S/B5WTKzkSfNPktdXqvJ0D0SskFQzX2OCHALbIxYEMe4zHsFl599TX3q1/90vZFIchciAMh51Y1bGsyZMB2+9ZtAwOuHu3q6o6Lw7EtiEQi7q64hKeeOqn2TXKXL1+2k6YBDmx4PvvsMwuDNTThubb0qZNPucNHjhhHcerUKcW5JBuGF0xSgup2s6yeGxt3StJy08CnUjYZABXW3BwTQl0o/2akr1sAEWbSBnuuNUAgroDAdAxMuba+SVck0UWZ7nbgqG8uBWI1OjyOnNU3VK/CcrR3o1a628vW93C9DdZ1DyxOIkDQmAAtoiGA2RBBBJ6+tz2KWErECY6vdIFsDA0g4DhIg/4jCUNyBSCMxdMXOIoMAQ9xQv8R9H5uPQECovzer99zR48cNSUZQALr5lShJiKc733vdfeLX7xjx1lQl1u6KQ17B8TfrVKqQeMLUTkLXqySe3p6XUQEmlV/i6yXkRpw/eb33/i+2e4YQMgqu0N3THMjHNeNVsvorL6+wcLTD3AXb7zxAzNM49gO7nd+TkZuABdAQNq1tbXGScDNcH0n2pxtd1plnX1EYJVvFtWJEpj7tf1G898CiI3WI7HyrDVAAARfXB92V+6Mm5iCVSsr1f07pIDQNe5ytVLNz051t7snDEgQgeTpMqEjkWy3p8Yb/2zQptxQxUoECNF0Xc4059r7J92wuAj2C9Tk1v7poubsG0yLJeA6WIABbg0w4JknDmNbMde6OgdY941ob08IAdhIgmL3Ug+N+ePVcwXwNaU6ODFdG7YK/zC3ngDBNZunZfnMaj4SqTPRULuAgUP2mBOIbsJ+AVqWqNizd5Cl/UdssfhuRpgSHyFKCjetIerhGtJLly4LfJPdM888Y1wGR3sQDxEWaWCkxyGS7D+w8icN2iPYbHA3NbYoNTXVArA2SwOxEvEIw4fzkKp11hNgwflMlAnjts3IQcTVXFdaxIS8jg6lgdE68KsiWeGqARMbisbHhY7gXSLS0rGkdb+NHtJNTCMx7YdNhI38nnrheIY2WM1NaghPhzgHHKIlfneKm2gQEPAdwsJq9WbnuIk89goUCMelQHAYT6KzsaXxxzlOLM3TUvz5VIvVlbCxHlM7+fbAz26Es1V8uE5yfg9idk77CeLM2nRdKwSe8CbWU0KIiXLUrmpy168b/aZF/YtydB3kJJyCrvNVvBMNugBLWXHj3w31CyCPOCkdpFEaiJvGJmfECaa5HeV+H2KjAwRzHeUY6AQ0gfkcAAu6wIf5ED4hjBpvsW65xw9LaAg5aaCNyQkBHBeDIx81tblwvlc87Zg//UO+PHnH/iLZkh5+OL5TBzgPGwekG/vEktlUjzgHgWEciEfl6BwqzO9gMc3v0Dl8D5bXoaMg4HwnPoiJhTWsH53Ld9JB6wAgwtHAAAefoDmAqixnipAO6YU0ec9KAcc7ykc+lCN0eDgDhTITD0fe5Ev4zeaoG45naNfVBAgmCmb8yHMxziLPyakZrap0L4ZmDu8x39coUKkk/9amJ2caoWES+ouy8s9PEE8kqYM/qE9aILF39H18Uqma+JMWNWZSMSa4PIj0uNidc6CQ9Ya0mMmmNSYPjkCAijIhrcn0B3EEiVFe/Dm2g7FAenagn8KbZoye6Qo7KqtlHMchcFCglVPaKaMTOvJBmmmjUkPOlh1MflaeAFEq3yoAYTxw+DJPzciWJTrkMnUHSbY+HBcCyRmUX3Qi6mqKq1VHNGHmAYJ2nBT4oqXEFa/BBUJFlfkeo2HhtYmTABKAWQ/dYkff+D0iAACCRPnIS1/FmXgtJjgPfj/MBYJMOivhIPjWp6oQfU/6PJmX5MFYwK1UfitR5q00fAvEAYIOu3LlinUkpv5oNWFJjYoXHUyn0oEQYDoW9ouO5Ux02LH6+nqTuzEJScvYPD2R3yFH5PgNdv7JgzBoBaA+C8t49epVd/ToUbPkxigPlo/8ODALhzEelxVxZzaAgLwRjQY+lAWwomyUm/d8J3+AijSC1bev8ub4SxvheK4FQHAE9522u7oTos/ak36G1d5eU21PSBXtTVtzFhMGW9z1gNUvclgOwevRIXy0Ob8htAADRBoizwVDubmyTo+dqRTYcp7cEVEkkQKH9VVVVuhIZ1mci1j3aVwxxjhDiTEFm86lQ4QvKSkyq2LKiAMECMORyT6NHvsNEDTU7XB3dHosIGRnPbHyY3mttq2t2eauXL9pdSqUrHjXzkY3plvkeqN90gzSYWwZ+cY50BujU1FXpvumGV/TAoCJmQk3Ni3xW1qO6472uixdKcrFQnbuzsSIy8vIE/el+aLb6IqyCiQy4niXeYAgnY3otgBiI/bK+pQpDhBkzymGwZKaO6jZFIJYQ2D5/cknn9iKnM0ZVvpwCGza4PCDOKDaBXFh8NfV1RnB5ggP0gVUMMaDaENECA9otGjziO8AEps9AA6DFOJB/oAUeZE2q2jiAEwABkZ5gBnySAgIQAUnwkmH+/fvt9VsJBIxYmEF3SR/1hogACHalvPyOXyM9sfRlxBfjjeGuEKEKRsrc8JB+Dk5M0+cIU9W79MCG4CbMMQJK0QIJ/JbfnOLHMtjiDbgBK1kzJA2N87BsUTV98QJXC3kFMAxjkXxGDOUDz/KC2BBgEmLJw71xmyBFecdhfzgkro1Pjh1ljEGiBCHwwEBIwNlEXo4hCAmIMGe8T43oVNvuTo0LVkANt7vSrJ0N/rUiKvN3mZhWbn3jAlIUzNd93iPq87ZJoCQ7Qxq3lY/DxDkZwWyJ983gIu1GfWGY6O8K+G2OIiVaMX1SSMOEEwKiDfEmMnG4IAtDGINJjWEGxERH1b+vMcPcGCVj54x6TBpmcSACkAAYedOaojGhQsXLG2IPGmTH5tOpMFFHfiTN/HJE+KAvJD3nMXOKhbVMQCAdPft22fpwDmwuiUeZQBYACTKgngKwraZHHXA8aROtEPoC77jhygNcFypiQzxNpGRnrHsjdKSPh+In2i+6Cw6/IECK4jKGegdP/iNDB0/S1Nh+eXTkKcc70gL5xfzpC5/5cNeh0+Ft5TJ+9svyqYvIZyVSn5IaPCzlwSUI6SVAm8rA2H4DpEmFf22cnoRldXN8rZX9/whLbgGUvU1E1jpWtIUEX7SAwR8/Xx/+VKqHQQmVq6E1PwYlQfV3GhOdaEJsDtaqeItFyDCmGdO26JF4x0bBVtYaDCgIYRdAQuE4Eec8B36RTzeI0mAftAH4RPCWn8pHjQC+wsWmMQJtIJ+Cgui8H1hX2607lvp8sQBgoZgRc7qHkJPg9DI+KM2BmFmRc6Ki46AMBEGx+9AtHgCBKEh+U0awY8O4x0dETqKNCB2YTDQweQTOpAnfnArDDa4BvImPqBAB4c0SZ+0+FAu/Mmf52Zy1A3Hk7rSjrQP7RjaeuUBQpuasuz1FrmsqufbjG9qRpchOTa0Fb17ikj5KOk9YRUYeTd6+mxwI2OPE2TIjv5DjLOkVUMavCdccAAEeWEARuITehfk8PLx+emp7nWZyoNRaHJ8heO9CmOBApH2Xt5mA80g0pqQ3B7tIBzyfNLBnsPim+/Wn5VqgeUABPMcYEA0zZMFKOAATYKI8/z0008ksj5ui0vmALQJGsBik0Ujm8+XL1123PnAYhbRM8Z2eTqMk0UtY5Z0oEHMJYzfiIfYm3fEoRxT2n8K3xFtsodKHOjKd8XFAYJGDC5MdhqL70YEYt8Jg1/wD3Ee9kxMc2HYB71LDBvKcb8OWqxMIe3EdDbDd+qK47kWAEFuEFk0Zq7eHZcG06QryBGVlqYN7yD2Edk7lOZL5CMCe7N9PK55QzwMsngSGPuIfbXZplGD3xfXddyKnlYXvSetOmnV1Er1Eg7jjqyFr9zVXgIZiUJj/LVD7yoLdQS8vDr7p0xLB+LNxixaO3nKr64i05UVoByhfareSdfcxbHwHnzwAyew38iRSmi6qrJrW5bZd4ALF1ujph46KtuO/Srr9tJ0hzoocVbbAZb+BIDVzunR0mfO3G+OPUqKywEIiP3HH33kKiV9ACS4dwRjN9qrokJKLqJTH338kaurq3OvvfY9U2P9VMZr586ddSdOnLRyTwsskFxEFIZLhbqk3sqFQqTX3Nzs9kgCgciafU0uJ+K+kjaprOKQNgwITCgzwNSnfTU00QArrvI8fvy47CvmT514lPbYTHHiAAFSblZiupkafKllXWuAoFysqEekl98vlcsJcRKsqBEVQcR5Zovwo0bJYr93SGdkKfyMfuhhYeEKiJclQlsocMmUppMUoVz34JSBB2mwqodDKZTKZrGOiiDuqNQzh6ISC+iYCFQ0SQe7C/LCjehoiegEqp6s9r22Dvsb2ALkZWk/Q2kMKj5pUGZ+ExOuBIJPvqRJngAM9eyR7QCqouAwQFio/NDMUrBVdeQH4FOujTrfKF/gvleiMZYDEFhSc5o013ti+AbHzE1sUzq77MCBg7bix5gN8fULsmZGSeGixNYoukDwSyWiZu7AMbB3CuFvk63D4cOHzcIamwquGGUPkyMwvpHNRa3CYTAHmBxSuOamJltonJQFNWBFe8A9cNc1UhTK9F1xWwCxQXt6PQBCtMsIJkSM74kuEE4ILQ6QeJAjHEHjaSYEpm6884ARyzPhPV95H/KC4OMSs+Q9zrh9vSBM4nv/9t6/9ytTyGstuIcAEAAc7WBtoYwTwQK/lVzBJ7YCaUPwaCtrQ/Lmn/9hT8Qr6wUQiFE5H4k9zUhdnUQ6qaa1RvE40mKfVvEDEgexr4ARGuJj04xUnWqk4ELcvHzd/ywAuXnjpnEiEHT2NyORiBsXoDRKYQYOg31NRNJff33auJMKcQ+EQwGH+pMeHAfxUdU/efKkiavI87vitgBig/Y0ExkHa41Iwu9B6JIhqZWu1h6Ez8+LFS3zJf6JE5slhv8uB6NbIdDAGSq/wyPDupDey8NplyAjR+SbCBor1WYQ/34dNQEB5PKhfBFTbqdjhY4lMf7rCRArVc+tdFamBVbNkvphxbNjv3X8NfcncFQ3S1eOwDbtCRkU3c+htsjdERZOaonBmT/xY2kR5lv3SYfAepI/eUKIucJUy1kZZ0kTRZteD3OJeVGORGfvtLllSzGWZUo/fg+2X6YlBr/vd9KhPfxH1xcqnwmpg2ZoEq8GQExJfjMwEnVnm25JJl8lK94MqaxKpVXgBMGIr5pUJVRTUSKgHB2d3fp0uYb6HWZLENoDNVaM3VinciSyV/PUJrfKj3Fby21/GVVpiW7dU5tDDCFOqJnyHZXZ4eFRyYrzTSXWDOdUFgzXMDhDFZZ4XGLfrvxTJXuqkHiBzUr8kV3zJJ32ji4RvwwjxKRD+dlshFCjqkt+qPeySsURBlC2MsmTcHzXH/WnAuhBe5i/fvCd/C2MpXD/PxoOFo+EuiVOaWm5berdyMGx4cjNldqwCPeJ48e0qi23Nrl/ast/g0rxjaZmAwPsTTjxtKZa8vmhEbU1QOXvFqcvllKfpZRgOSKmpaS3FWbtWiDOQaDixeTiw3c/eSbteyBITASIBQ7tIRzhYQuJwzvCEo7BxZMVESwa6fGOlRGDjzsRBi985XLqdtsdCBAWbnrjop9w1wNyg9kp6dHrfog5GRxxjzMTdKT5qi7b2WnXgnIXQxKTXc/J/h67Y4E7IrhNLlX3TXCEdpKAhDshCMc9viTCPdfRtlsus6LabpHjTghuirO7H2JEfVZ1SxaRAWxmVQ/CACxcMjTe0aYLkGQdq8uKACIuEuJmOPIavnHR7oLI0SVEU5KF+rssRFVETMKx5txLAQgYtVF+Vj7lRbvNqGzJssYdu9uiOun6VV2i5FSXufxil8nVpsqf9oQArpSa65Ta9tzNVvfBucvuz549ateiIt8lDxx68WZhLcLPiZm1NdVWjpvNt6Sm3KMD0WrN0C2sQCHiEGGcJ8ZebFEpogcos4pta2uXbLdcBLzTNh9ZyVZUeDVngKdL6WLIhpU8dhGMMTYQ7SJ4rXzhpliBd3XpRE+Vn43HMS06sJaukjYedhEBIAAFxiHh8vJzXaHEC4zbnt5+Xfk5ZkCIJTllzVT9CGvjVGlFZZgH4aTcE7Lr4B1pD0izhTAV5WWuQOVZCkFVEjGA0H4NY1bjqpeNUPUphoK2F6g2q9IBcrQH6a+k8/NaCyI59oMoM30F9vE99B/PpdRnKWXbAoiltNLGDBMHCIg58jcIPsQfQo7hGpMOmwIGMAOG96wesTGAOLE5xCCHkAQAQK5HONTGsFfgHenjv2fPHpP9zer4gqFLZ3R5jy7oEVE14itCzHWcRjT13VbjmlHcwgZ4cD0n909zxWdW9Q6Xp2tCh3WbW5LOf8+uqdMFRTftWlOaOrOq1m6S4zIhborjnmjuiOYmN0Ajt2GPG2u/YzfMdf/xPbtmNENXn461tbhp3XedJeAgrN16p3xnxkatHNN6Ut6JLlnm5uZZGQCZoatn7Za5nB2NblBl4lKhgr1HdCNdp8pc4YZ1lSngk5wqIqW652xv0D3U3ZaWKmqXJc3CIZToDHwROW7ZA6C4cCi9tFIbwlrFFpa7TMldVwMg2Ige0wq2q3/IVRTptj0Io/qLYy6QUZvRmIgGHAXEEmINwYSoQgDQLmEc+JW4XxwAKKisYlFtxEcr8wy1Ad8hVBBYiKAtOkSgeMc4wZEuxBhOgVUveakYeiocBDwGPuGeZgCMMqFxkqL+gYMgLd4jysH5caizihSX7wAJeXBGD+WEYOJPfdkjUEEtHmXFj7Qpuz/2Q0aAKiMOq3HS5N3DHOUnPdJfGJ46LuZnqyJKsCB9axNluND/QWUgjs///gBAf2xEgAj1Tazfg+pu/aY2e1CYxLT4HvJYLM7Cdwt/h7Tu5x/eh+fDwj3sfUjnYU/S4UOdQr0Wpr3wd0gzDhAESLyTml17AILJj3Uz9hGclQ44ABoQf4xV0CFGNQx1McKwwcN57oTBH/1iVkU4NoY4cgMdZDc5bgDBXdF5uo507E6LVv068VCTelrqaFNDrJy10tM1oqzYubaUlXh2Tb1xCna3s4gLVIPrPdN09/OIVu4FB04YgZ3SVZ9R3RGdqpvquDIUMU96YYkRXbWSgKHCVv6IcLgSdPjaBeNkxjtalZaMcARKnstoMW4luzqiO6dvGJDAKURV3vTiUgvDPdR935yyG/Ty6ve68Z524wDw51Y9wGzo8hkDwTRxHOO65zqvYZ8A6rYRnhlxSeMCK8Asg+tMxQFl1URcdm29qifOquOOGWmtJkDQP4wBO6uI1WPsN/60l1FmfP3/ewYa8e438Cx+wp8QDq8wgRNe35OOaKmVg/fKgr/6MMgpkv7goxd8cMHPfsR+J75PDENYn+R8fIsnf59ySGX+afkkvE/Md2He87Hu/UZRFwIE6YS2IJ2QFvtP0xob0zryIzU9W+A1b18EYAO8MxqLaQJWuIDgQnqAXhD58Q7RHvN5aIgN2gJT11yMQ9mIAEH7sOhkcRQ4QeoJPVqsDrxDZZbFLgvZpTjiYGtBHBYKiY53qLqSX+CMWUARjvIE96A0QhiehKMvKDsLm4WO+lJXuFzKvxTAThxDIT36knwoK+mEvS0Wc6TNZj+O34SlLGH84X8PQGBJDfFm5UUFAudAg1BAjFbIgAaE+JMpIEID0VC8Q3eYozWIg1U0HATpABjEr6urM2CZ1Up88MJpv8LWCpkrQOEi/HWcWjFqtcZvpiuEeEziIH7DDUD8uc4T8Q7+TALuu54Q4Z1lVafVGdd5jrWL2GslTvwkHY0ASLA6JzxEO4ieIN6IeEjPOAy9ZwXPFagzalzuoIYL4NpSC8e90pqYKSLocxIHZW3b4fq+/sTKnFW13cqH2ClLoDLR3e7SxfVE4UzEkZAWV5fCrVDeOXVMmsRqgAKipDRdSWr1E1eU27DXuKhRAR0S8qRicRA5q8NBMBi23Oq3gKZVHCAAOyZpb0+3u6E5k5uXK5XLHaZOOSOR6u1b59zVS6dc1myay9ZibHvDEVe5rVEiyHHXKxGn7V+Icz3w6t91tfW7pSKcaiK4GzpxgKNnWLA1NDZq7nFlZoq7fOGsuyqx7o0bN12x7mb/Oz/4odseqY8R2HlYXE+AAAQC3THCrwYzDk9zGn+sqClfSXEJKwKjPSYWFGEbligyVXQHOkSYd9/9ldlGwE0CiIEosrglLewioGUQYt5BHDlO6IguB4JwBrCgHCxur1y5LDXXA0YjSf/ChfN2URBlJjw0kzTx50IhwIRTIvxRNRKH6h15kJ69E+1MFq2FcI8KmPJFeyHyjAnSRL2Xdxj8QWupJ3SW79Bc0qCMGAhCsy/qngq+UxbqBy0mrc9kJ8LlSUVFxZ7TV9qUA9oNI0D9aVfy5oQMFv4B9OIAQQZNTU2mHhYqS6OBJhB80JjjMkIFeVIIzmsKhaLiNBKVs87VfCNzKkaD8qHzeDejK/36vv5YnZxsq/JUEUeIvsn4YeW1WmIFpT/+fmoRYgaE3RUtP5xt5Jq8XqIb4rJnIfGQMvDcgVZfpMnGNXsPiVd6WgKWhsqlO6opB2GViH+lPFhxsVcAkJC3WlCvtQ8S0lJIW6FZfaL6of/kR9jwCWVVO9jGuNLiFX/gjELatvEey5+9liTJ10kLQBoUgKUUlLg5fTI1YGhTOpPBwgBKRHxf+Ef7S9/FivtoCWzFum8L+OGAaus8QNCHHe0d7puvPne/ffs/uZ0Nda7h8LPu6RdfETHpcr/6xf/hBntuuRxXJe5y2m0XCJx4/s/deF+bu33+G3fhm8uu6+IZ98qP/1e34/BzrkQE5sqlC+6XulCnp6PdgKFxz173/Msv217P2//lr13m9IDr6+5w/dEp9+Ibf98df+olzWk0pub3OpinzNGVGlesYKElpAmdIX2eECHyCLSC79AZ7BBa77TqfK88W1i23vEKDYi1b9++5SYlCo1EIkbgxrWPg4SitLRMgHpL+0VR99ZbPzTa9M477+hstjqjR4gpUZYoKCh0r732miQeX7tuGeBVCSw4oQEaxhE+b7/9ttqqwr300stmsQ2biX9Tc7OA9boZyu3evcfUaTHAq6urMzVbiPW2bdWuU/QQOvpP/9k/s3q9/fZ/FUBkuhNSkQVgaIvy8grVq0ALg14j5hB2xLGHDh7Sfly7FtKDdqYcKrvQ2Z27dkrdtsWIOBIarkUlHSzD0TxDpReV3J//7Gcm2WnW2XaU5/XXX7e2/vnPfur2CdggO9S1XPuAnFnX1NRsihsAMAuIHu350ScvvPiiLS4YzHGAgHCHAcETYpHo+B3e478wTOK7hXETw8bDKb0QTtmRov33fD+/ExwBQnl8YP8y+PEr+Ac/0gxVCO98rG//DXG+/cb7hPIlhluY5j3viGaR5lNMfD/ve99voegGgiIkgAIybzp+dQEi5Hzfom29eIQWYNz7eeABguHDAgsi8Id3/tYNt5x19Q07XVpJjTv4wvfd55//2l04/75GUYo72viUa+0WN5yd7k6eeN5Fh++49o919aUUCvoHR9wLP/qHbsdLP3JJU6OuTbYCty6ec4VOezgyeR/RSbPbGne5l1991X38wXtuvL/DTeoI8hHtUz/z6g/cnn3HXHGJDhpkcRJz6wkQrLI5SoPVLfTh+LHjtjfarutGWb2zIuaeaPaumpqbRLBPmJi7Q4R137792hO9IgD4nu1zvvvuu7aKLtWq+Oq1qyaG45ieCq2aCccRQqyqL/239s49tqsju+PH+IXBNoRHINiAf2AMBAMJEN4km2xIQ7ZJ2iS72+5qq0jblaqqVfNX1apqpVatKvXv/pXu/lFtqyYbQrJJSoAqgU2gCa9sMOZlsHkZm4fBGNv4gY37/cz1wPUvDmAw+FJmrJ/vvXPnzsw9M/d8Z86cc0bbiq5evdox688++0xMUh4DNOLGYC9fIFVSUiJvw6PdNbOPlJhrldZem5vZB3uMY9zUlW1Pi4sn25bNm+2VV14R088SQ/6tuz9l8hRnnIcj0dnyH1etspctW+Y02XjXQo36MfJjs6GTJ07a9373e3ZMu+Uxs5ggwOK7xzYEZY255eXunQFZlDAwEOS3c+cORzMG7Wx7ytLAKCljbNmyxfmsw6u2pxkzD1wrAbosAzDL4pk2zU6wYk+lUq43DJmaq++M4dg/BTx4cmSkCSi4j0MIf7cAov+ahNjBpADjBNoTgGDx/LgA4vOP3raGKrmK0D7Jk0rnWN7kR23zb35tu3ZuV+I8WzJvoSzFmy1//Gi3J/P29//LDm3eIDcQDdbWk2lFM2faI6tWS7trjMSgjdZaf8ryO1tkSd5tLcOkPps/xn7vtdds17ZPrf7YYa1bSOkkI9eekogppTWzseMna0SfDIBgpgHj9gZyqPqyvkn9YFoimx3XLII9o1kTwFq6UZp+zBDOnj3jgGX16uccsz9wYL8bZWPs9rA0zVingWliYHdae8wAGuSDaAr1aRx/nhBzZjSNSJyRPaIpRHXMCpjpIFqvlxV2vhg6Pp8Qo2OFzeyB2TxrsmjMLVy0UDXNsDox9ZbWFgc0zIwYobOlKeJ2wAZAPHWq1m2JgCsPZiV4QF68eLHzSt0taQqgw37X2RI7A1SIjthDGyBnxjKjrMzNIo5p5tChQQflMcMAPJHesDc278naE7OEKQIFeAkirOECWpYBMBJ8aMxDiu90tEPURLg2g3DqdfTaEBJBgQAQiWiGQa9EHCBghrViKJU7ttru9W/bs9990h559Amtp5XZMa0/bNrw31ax57hN1wfNQnTJjOn2gz/4gb35j39v+7Z+ao2SG6MZVzRNI8XUZFvz/Z9aR3OTHav8WkoPJ+WqJNvatA9FYcks+501a2z7ts12pGKHGGKTTZK4ClHW1NRsyb7Hi/lF2mO88FDOIABPyveSBq5RBwYgEKmi/QUYEGDYxJGGNYLt2790AFBaOsOtLRCPuJsBFSNwAvnyDAyS++TBfZ+XS6R/iKN4FqbMtxidR7YzPBfVBXsZbGmi9QtfXmSDE2m1IaZmTs47kQ6AoCzyjDT8urTF6m4BRYsTXyHepz6kI5AnTJ7yOffacuTJNWm5T31IQ0A0D41YX6Esyo4HaMCzfvAJ10dUTloCMxN/HgDCkSR5/4YCIGBedDxftv9IHXV08yo3FRhHkJYO7oZ0iuvzDDe5R1p+0am7ftD/QRo+TqdGK2I0Nl60wxIJbfqPf7UlC+ZY0aOLbdKcpfpIuyVT/pV98P5GLbyOsOJJE2xaL0CcqDpsG//z5/bJx5tcg80pL7MFa16x1/7ojyWHr7Zf/uJNqz2430bm5VjZ40/YK3/4Exs/cZJ9tfNz+2zj+3ZUsvTFTz9nT313jU0VeMS1o2ifoQSIB71/JO39A0AkrUV66+MZLkc/UvAiJj5gfowaBmuRGsd25y9dsTrtj3yiocPGaB/jhwuyrEneTvPlpO+yHOm1ymle7yDDzjbJ6FGO7/CCirfUY/Kk2tzWbbOK8uy0PMHm50aL8Y88lG1jCzXCwXV3CA5YPUAAwLTjWcnXd3/+P9pUq9QeLplphdLAg/Mj+jgoWffp+jPuXvHkYrcg2y45ce3RGtu6aYOTH696drXNKJ9no8eOc0aFhw4esg0fb5Rl+Tj7zjPf0drGdLeR02mVc/hghe3bs9tSUsFesGiJRCYT3ag63jSDDRCstdB3GZXebJE6Xo9wPvQUCAAx9G3Qbw1uBhAwGQCCaWSfkX6/ud08Ek+qXx9ttePnOp2XUzydMmMoE8M/ca7DeVbFS2ud3GpfbO2yorFaKNT1BAFApzy4HpH771EjIgv60xc6bfaUPDt6WrLUGSNtltxpsz9ECNHMKw4QyNEP7N9v/7tNxp+SYa9YuVJb6s5yg4ImiR3OX2i0OnkkZW+CUmk5FRUVW82RKtv0wTrLaJKluTRiUP+etWSlFc8qt4rffm2bP/3STpyUiqRAev6CcntuzTOyb+m2tWvfUTlSx5YIoqRkmr362qu2dOmybzRLAIhvkOSBjQgAkdCmv9cAwb4NtZo5dElLAmbOdf1FuVieMsK559Z6nBMpHTjVpplEtz2ektab5MHss4C4pEl7NJAGUOnEbXf2MDfLmDYxV+CS6e7djNQAnX9vn7a/OH/vhkfllURIShcxoVmCtg1rgDBmZM/Pa70AH1MntRiKbH3vrp3WKYv6PBl6vvrDH9o//d3fWIPczaxZsshKtPh68UKDNXRl2MynX7KdMlKdWjRJC7FjnQuRai2Szn6s3C61Ntmbb77pFjOxdXpGqp54J2WRNz0MNUCk9wFfP9pT3etaH+lvYAT4Epit+L5DfhEoR3Hp70c67vtnXQb6x2yHOF8frn3weXPtnlfb4Y2A4MvmnGf9L36PZwjUhfvk7eOI92XGyyE+PVA/0vhn/XPUwZ+nPxPP05/H39/Xn7h16zQQka+bnrBInU7Gob32jcuRHwtQcRETjTeYMwgV4TprsxhTFKJOlzecxTIYd++iltKhM5+tfRtYCKNeAAR10Q1t4KL9oTVaZeGM/aT5DtyzQg7qTFo+I7/nMYtsQhqJoK7r3WPNTSLf8ckD9T7P8XH8x4dFIgyNCCwA4mIDR3tAA+XQ0fklKUBnTweOqCRu3brV2QdFuu0FtmTpUquXf6mz8tHU2nLJPt203lovnrMn5j9u85Y9aX/7F39qi1PF9vismdYmdyXQ52Sr/DqNK7FuuXZZ/Nh8zSwLNdOT/YG0YLplY1QtY8t6ae7AiGpqauyNN97Q7GGpm4HGGR+0Smegd0o/REy0D+1JWeTP0S/YEk/wzIo+Qb/iPn3f0UtpaGvOK/futTJpbl3rd2pv0tPnamtPOvsPZtaUQZ7QFfVSNJDwnHtcrruLpEGEGir3eQ5/XxgXdkoURl5o+qDJg2YQKrWomBfJYM3Xk2d4J/o9P8SBqJCy2I/WE/yUumPXcUXp2DcdjaUZM6IFdMqlb6JuukvqtMuWL3cL6dSZ56gzZXAN/Tj3tODIsxyxa8B9Ee8LbaAt6qvlUoX19SOd/1F/6Mo98iB/+ArXX2lvDAYP0Am7EPoJcQEgXLMn6x8NSvANy0dDR6Fx6QR0hsEFiMhi9VDVEffRjJHKG07rcKoHc4ah85HQoehYzveSxB7duHtQXVD5Azj4uNT3naoeHwHpsSTlA2HbRry38jzpeAe3GZHSdOs+VrBogNBZUQEdqzogYkGXG31vPJ4CSrw3aagTTKNAHlDPyLlfxBS0XqKPCzfWhbJMRi2Q8m43QH/cWhDI53bmJb4toQfNynvD3DjClNjPgPfhPkwJw6xT0uuvl7pqi5jKNunVVx86aE/On2tLl6+0f/iXf7bFpVNtwbRpdvlSs7WrHS7IFce4mY9bYbfWf6Bjdp58a8mJpiyO65ov2wG5oYFJwrhQ+1wuhvT66687RgDd4jS6WwBBGfQHDxAwPUdTOowC7w+j3r17t+sH+fIagAPDiDYm5lrmVFrZmwG1zZaWZrcGM1k2BtgL0BcOH65y9hJsPIRfsClTJssO4byAuN6J06DvBx984DYQApwxNHtCKqWUgUYZzBLGOEr9BtuwCnmXmCkGzAZD5XPmaPOhOvdNlpZOl5roWbcGOFZqp7xLRUWFe7dUqsRtVIR9AxsQoRbLTHGE8kPdFhCh7WfIyr1O60KI/ebNf0y73k208WLOvJ8HCECFAMPG0M4bxxE3Ru+CDQN9BDVdVHJJh/oqNhXQmb5HHqjGYrfBd1WkGSbGeHyzfEv4I+MbRh129qzZLv1i2YtgV3HqVF0ACIidtOCZCkd+AER/MwgsLfmw7jRQBowV0QY+fnCI57yhtrS6zgzzb5fXU7g/HxV66u3tnS5dBApieMqDeJgoHzr5waCJa1Y+dM7x48b2go1GVW7UJ0eOWThybHOggoUp2lE42UOlr02gCMC4zq6XJM656BaD5a15d2iANSgqhTAgvK/CgCl7pOT6fAi3G7quyg+YZP35w/P1u25MOpD8mtvl30feebPk7kUkugYQ0BxmgI8zPlSYJfr3ixYt0jtctkMH9tpp6eJ/8unn1ijaLywush/9+Ef2y40fW1bLBRul2UGu8rwikeDZ3JH245/+mZ2uOWot8vElh+bOPXyPwLVgwiTNRuqdTjtlAEjYA7z44ovuhy4/8T4MNkD4ESptFQcIBjvE+f7LEZcPO3bskHfgqc6auk39AtuAkqklDqgZ4eIgtEh2BzBBdoRDTMbsKEd9lrqnSlJuVobrEtJhaHZO+v/YOWBX8cknn7jvaaryxDL7+efXOEeRPAujZBe5ItEa8OY3f958N9NjgyE8/14SKE90thHVskGY6UbwDXKpcey47BAEMBjaMYDavmO7M4ajb1+82OhmCGVKzwgfAFuodj6l/PfJUI861Ch+vgDlK9l9zJ1b7r4HDO0AxjNnTtsxzWZK9G4ACZsnQcvp00udBTnAxXaojZqxVFcfEU2mulkWMxQACuM37EQAJwCD8pkpZGtABsCyDgbIUD7gMUX9o2JvhYCxPgCE/zCSdIR5EDjyiwOEG3mrI9NBBgsg/LtTFusI6cGptCqSW75u/aXRNx4xwd76p6fx16SDwYs79L6jv3P9KB5PAhfh5bvX7/Y9ixiNp1faPV36+33v3PyqXUZltU11NnbEGCvMlWt31Ze8bjUw+9h35qCVPDTFCnIRO1wHCPLBCAyDLD+a5rhKrg7Qhz8mtxl73nnbNladsAlFxfbsqmW28oU1YkJtVvXlZ1b5xVbr0D4OhbKUnr38KSuXCOrwwSrbrxH4RPkV68mW51ox1MllZQ7I33rrLVu/fr1jUIDQyy+/bC+88IJjXPF3uhsA4QcRABH503f7AwgGFocEYDA0fEoxa6ZuAFqdQKBUo+5Dmk3hi+lcg3xYyahuRqnENhoIkC8jb/wLYfwFQ2d2BGOESfPOzCC2bdvqXG5cuHBezZhhT8kVCd8RgW8Lp6WMuAEdDN0QLVHWCInqAAwGTzgdrZebFEbwiHMOHjjgwJ3nC1QultKV+yrtpZdednliIT1abj4QjTEoAAjpSwwMyBOXH+zNkSefdDBw6IXtBgZ1BAY7zEjwyzROg6yaGg0ElK587lyX1wW9LxbaABVl4XqEb4aBEu/G9eGqKmdEVyp6UW9mGoAEs3uM+/BWzOwVLTjicOHBbC6ImFwTJOtfnAlz7kVMdBo+BOI8QAxWzRHzX5b2UocWqNlrmsC2oKiostdzjpYZ2HOaBewu3fegQTrS5Lg0cqqmNNxn72d+gAAslR+5wvgzlT4vO2K2aFBRpl7JBSV3achvuJgcKriXOyRfVf0Y6F5L15ufq5/yy1X92mUr5PbKVrnUgZClAtHAYo9sJbtp6OqRkdRVycCHZdvZy+ckx5evmkyJQ1Sxbt0ryNZsQi4sVGOXl387QasbgTrRl0Uj8uYr8vOlZCNky5CdNoOA8TGC/VwLywf2fqWF5Tx7TK40li5bIVHQSLnUkFz8aJWdOY+TzHxLTSu1cdJagnlgWbthw8d2oeGsLVvxpKywF2t2Nl6uEjTCFVO5rJEjM7NCMZZ8MSzq3tBQJ6ZW7frPsJ4r8t8zy8Y+PEX3VFeI3hsGGyAQ3/ADHDxAcOwPICgba2DERfR53pVAWgIASl6Ih/ZI/o5IhpkB74cLDhg0AUO3zEzWB6LZKd8KKuEc0RzjiGYYI2pESVz7wCyA74u8qAOBesFUASxENLnSHOMcBs8PRjpJDJV6k9cuKRZQ3ooVKx3A8R7MZDG8Iy/3niqH9/Flwcg5p1+Qt6cP53z3/puHdgAps4CpJVNVu2iQRV7Ulx91gE4+D67JhzwoByAljrx4Xw+QiHgx2tsrcdkCzUg++uijABCuByTwH41J4Eij05B0FDouPxqY68EIlATjP9/cbYfPqOOLqbbIrmHE8GE2Ki/TJo/LdQwW5r+/9rIDCuwgYN6ASKY6dVnRcDFpPSd7CewiYNReowkQgFFmaXEbXjQ2X24PZEMBWyJ9tcpslnbUCNlckB9h+oThVpg3TAzarKquTekk+hJgEPAzBGjpW7MxI6O8uAbAqurarU0PtQns3EKm8ls4faSNVN7Z1/mAy6e/f+3dHdbSJdfOmTnWIZl+QdZIAzQ6rmptpEueNAUcI7I0YlUcNR2WES2G0k6dSs9Hl5epTa40e+CZkZly1S1wINCkEROLXEv/4uf/Zht+/Y6VT8h3z53rHm7ff/1ntnLFCjH6s26Bs6dL9ijNjZYltdXUtFny5HrWdkokcFgO+3pUh6takF60aLE9s2K5Y35upCiAoD4smKZSJSq4w47s+cQ6Wxst9ehjWjyt1ztlW8nsZ6UOKw+jNEpvgHnxDvFZhb93O0cYFf2X/MjXMzAYGtc+DKQ8vgWYHIyNfPgW7maAljB56gsgpAfuRe0atS805H0Gy04pvTwPMrz7QOiWnk9/17QP74KSydp33w0A0R+RkhBHpyRw9ADBB0HjEUdn9R3Ep72TeovniklfdQZvgAU/8kWffmxBpuToWgDWSL7hkkYpYv4w8mgmEZU6cbR2Y9Movbld22k2XRGz7HGzCpjPFQ3/WevN0X3eCiAYVyi5u+61Ks+zSu/ESLpJHPljZFco2wrsLBqaVabyI16vrzQa1UGfngwrEIiMGilxm8CDvCgb0AGsKCtXZU58SGsqOt7qcoQg2AFAVka0ppJO164ejdIEDASAIgoApdwv6EUBFFguaXw60rgqoWlwmgAACU9JREFU6z4MpbKy0v76r/7SRl+9ZD9ZPt8xnvWVki0Xz7Q//5OfidOwEK/yu/OsoVFg0XNZ/nLG21ebNluO/PNktGq/AzH3mktav5HPpVefX201EiOwpoBohXBMcuspMrDr7jxju9b/u+WIcaUWPm05E1N2/OJliRSW2rRxowRg1xk1cnja4E4Zj3+ed00HCN93PUD4tK7S4V9iKBDsIBLTFN+siGf6HP2U1E81iYvf96OXeFw8Rx8fj0s/h5nCwGDALv/eBDBjRuLiGb33r69TwAQJ3HNpdE4+iKjEy108913ghtLxDFINZh1cUJ4TRUWprv0HgBzf0nOIl+J1upZIJ+n1Iy/yJPQWoRGm8qLgAQRESJH46OYPpaflmvBtz9NeyJdZmBye2WOTtIsf79ckGVmHQGlKcZGrM1vddmukrx6gHzMiqUY2Nmk7XYm4ujpdKZ0CyR4RdLQ0txAt0UfoLzDliBFrIbujRXutSCVWf90SkXVkoOmUrbWOUbJ6j8RnN3/Lb6aIM3Z/Hj96AOBJzrl3vV7XR7/+mW+WEGKGkgIBIIaS+rdQtmfsfFRM1dMBws8m/JEsHSOF08eCzycWFU6HmAK0GYwcSPUjeEAVcMGmI0JXF9Gnpg58aN5ewHNNLcbrmGxvu8fbG5DkOppPSdvM5RalRzttoMDpK5PO1P01R//zoOCPxPvZhJ/9kp9/1ud9oyPPE/oT9fCenq7cjwNUep6khf7xuqWnSb+mbJ7h2bhoK71OPk1/daR+fo1kIO+dXpd7cR0A4l5Q+Q7KoCMS6HB+MYm49B+djuDj3UXsn88nFhVOAwXuiAL9MTfifLw/jzNg4uKyfJ/GV8Qzd/qrv+fPfZqvpfmFxo5TqWYqquDTsNsazJpFXLSZYNDkw/fj86MM1ix4BvsGtJ1YqKae/juKAwvpCOTFAjdeY4uKip3NAXYHBLSdciX+RcNIFLBaXaOyTL5APgEwJn/ck3NkfYhF8iSHABBJbp3eutFB6eDMIFiD4Nr/SOLPOfprdxL+BQrcYwrAhAn+6BmtZ84cAQiO/Y3w0dtHvZW+jkoquvnYvaCG+bAYKvcvSpsIVdIGqZ6SzxipvOKSBCPAL7/8wh6T0RlM/7zUWCkfZn5Aaqjcx2YCQzj2YoC5sw7EngvsNIdqK1plnKPhxGZAhHOyw0BrqUzqwtXVR9y2pKtWPemsrp02kICjQHkzs8OOCA20muoaZ/hJeQzs2rWgjiorm/6ck7oqu7rNVz29dpYrKIH/AkAksFH6qxKjIj4aFh89IJAu/dw/68HCX4djoMC9oAAMmxA/pp/Tj4mLi5h83XBN8YX2UC6Wvj+2DGx+A/OHeWMpzMgfLS023UFDaN++SjkxLHU7szmFB21lPHt2ZA/AbAJQwVUGQMCGOOXlc+03W7bYnPI5lkpFO8Nh4UwZ1Ono0Ro38kcllK1BW1W+t5j+fe0SV1d3Siqsu21aKuWM1/x+EbyLJg7axOmC29MZUKBsAIetTUeMlKW73oEZCO8BiCxYsDAAhG/4cLwzCsQBgpw8AKQffSk+3l+HY6DAvaCABwPK8ufpxxsBRJMW7jFUwxdSZeVeWe3jB6ndudZg5M8oni1C2R6zqUl7aVQddpbMGJBhIMZsY5aM0TBEw70FBnaFMhY8LitnXHdM1ogeGwqM5JYvX+H2vwZsGNlXVOyRId4MGdW1OvEUFs8RSLQ6pj9PRmmNqh871WF4hnUzsxBcVSAywgYCtzDMVhBvlaRKHDAh7sLAD3A7eOCgA45RowodWDlguRcNc5tlhBnEbRLuXj8WFzHFy44DQfycNOnX8efCeaDAYFLAg4DPM34dP+d+XMTU3z3ESPjdQlyDcRqiKHyD4YcL0RHaX87L7d4KJ/qZJaeFbsSuET9H8sTFCmmwCMYSmjxh0DBkVH9h4KwRMMtAbItxHr7G8Nk0fnzkrI7nEUsBNNQBy2IWl1vkNoZ8cMKXJTcyV1Hh1nvhT+y8ZkC4A8E9zPC84S7/Tm3jCbAAVgAXdSQv8vYiOE+3pB0DQCStRb6lPh4gvIipv2QBEPqjSogbKgqkM3/qQZyfQcB009PQh30/9uccYaSk5cc1ecBoyYMfKtYs+PpnETdhz0H6OBPmPt8SYEE81z5PZgH8uOfjqLPPk/j4tbuI/evh+Vhd/S1ABfkT5VE2gXOfn4tI6L8AEAltmPRqxQHC3/Md11+HY6BAkikA0yXcCCCSXP8HsW4BIO6TVu8PIOJVD2ARp0Y4TwIFPCCk1yUARDpFknsdACK5bdOnZjcDiD6Jw0WgQIIpEAAiwY2TVrUAEGkESeplAIiktkyo10ApEABioBQbuvQBIIaO9gMqOQDEgMgVEieYAgEgEtw4aVULAJFGkKReBoBIasuEeg2UAgEgBkqxoUu/du3a4O576Mh/6yUHgLh1WoWUyaZAAIhkt0+8dmEGEadGgs8DQCS4cULVBkSBABADIteQJg4ziCEl/60XHgDi1mkVUiabAgEgkt0+8doFgIhTI8HnASAS3DihagOiQACIAZFrSBMHgBhS8t964QEgbp1WIWWyKRAAItntE6/du2FP6jg5knseACK5bRNqNjAKBIAYGL2GMnUAiKGk/gDKDgAxAGKFpImmQACIRDdPn8qtW7fOMmpra3vy5Jp2WO/2fX1ShIshpQC7VAEOBQWFztMk3lxDCBS4nynQ3Nxs7MTmtgxll52Ehiy59GZTorg32IRW9a5V67333rMMbfHXM/qh0dooPdrf9a6VFjIeMAVwwodb41HyXY/L4AAQAyZheCBhFGCPh0716dzcnITVrG919Om5zYbuB7fcfWt+51fwHVyff/jhh5axa+fOnlSqJPHb3935a99/OdBIbGRSqBkEm5IEgLj/2jDUuC8F2PCHzXbYFOjbPL72feLeX8Egu7QREBsUPYgAgdQCIN+5c6dlCCV6nnhikduF6d43RSjxRhSgo7Zpt6sAEDeiUrh3P1HgfgIItgZlI6IHLSC1YOvUuro6y5Cuaw+bhI8bP85yc3Ki3ZSgCHMsDu5fdH7tmhMfogT+SkfkikT6o7/l5Y3X87qepr+0Sc/j7tcPgGBRj43OKY3tEUMIFLifKXDpUpMTm+bAa67xiIF8//fgu4PAKqZAM4j/T2sQ/c3YfBxH+E27BqRst1pZWekkFv8Hec4VhyV0on0AAAAASUVORK5CYII=",k3=({cursor:i,onPaneMouseMove:u,onPaneMouseUp:c,onPaneDoubleClick:f})=>(ue.useEffect(()=>{const r=document.createElement("div");return r.style.position="fixed",r.style.top="0",r.style.right="0",r.style.bottom="0",r.style.left="0",r.style.zIndex="9999",r.style.cursor=i,document.body.appendChild(r),u&&r.addEventListener("mousemove",u),c&&r.addEventListener("mouseup",c),f&&document.body.addEventListener("dblclick",f),()=>{u&&r.removeEventListener("mousemove",u),c&&r.removeEventListener("mouseup",c),f&&document.body.removeEventListener("dblclick",f),document.body.removeChild(r)}},[i,u,c,f]),m.jsx(m.Fragment,{})),J3={position:"absolute",top:0,right:0,bottom:0,left:0},F3=({orientation:i,offsets:u,setOffsets:c,resizerColor:f,resizerWidth:r,minColumnWidth:o})=>{const h=o||0,[v,y]=ue.useState(null),[A,x]=Hh(),T={position:"absolute",right:i==="horizontal"?void 0:0,bottom:i==="horizontal"?0:void 0,width:i==="horizontal"?7:void 0,height:i==="horizontal"?void 0:7,borderTopWidth:i==="horizontal"?void 0:(7-r)/2,borderRightWidth:i==="horizontal"?(7-r)/2:void 0,borderBottomWidth:i==="horizontal"?void 0:(7-r)/2,borderLeftWidth:i==="horizontal"?(7-r)/2:void 0,borderColor:"transparent",borderStyle:"solid",cursor:i==="horizontal"?"ew-resize":"ns-resize"};return m.jsxs("div",{style:{position:"absolute",top:0,right:0,bottom:0,left:-(7-r)/2,zIndex:100,pointerEvents:"none"},ref:x,children:[!!v&&m.jsx(k3,{cursor:i==="horizontal"?"ew-resize":"ns-resize",onPaneMouseUp:()=>y(null),onPaneMouseMove:D=>{if(!D.buttons)y(null);else if(v){const X=i==="horizontal"?D.clientX-v.clientX:D.clientY-v.clientY,q=v.offset+X,p=v.index>0?u[v.index-1]:0,E=i==="horizontal"?A.width:A.height,b=Math.min(Math.max(p+h,q),E-h)-u[v.index];for(let R=v.index;R<u.length;++R)u[R]=u[R]+b;c([...u])}}}),u.map((D,X)=>m.jsx("div",{style:{...T,top:i==="horizontal"?0:D,left:i==="horizontal"?D:0,pointerEvents:"initial"},onMouseDown:q=>y({clientX:q.clientX,clientY:q.clientY,offset:D,index:X}),children:m.jsx("div",{style:{...J3,background:f}})},X))]})};async function Zf(i){const u=new Image;return i&&(u.src=i,await new Promise((c,f)=>{u.onload=c,u.onerror=c})),u}const nr={backgroundImage:`linear-gradient(45deg, #80808020 25%, transparent 25%),
50 - linear-gradient(-45deg, #80808020 25%, transparent 25%),
51 - linear-gradient(45deg, transparent 75%, #80808020 75%),
52 - linear-gradient(-45deg, transparent 75%, #80808020 75%)`,backgroundSize:"20px 20px",backgroundPosition:"0 0, 0 10px, 10px -10px, -10px 0px",boxShadow:`rgb(0 0 0 / 10%) 0px 1.8px 1.9px,
53 - rgb(0 0 0 / 15%) 0px 6.1px 6.3px,
54 - rgb(0 0 0 / 10%) 0px -2px 4px,
55 - rgb(0 0 0 / 15%) 0px -6.1px 12px,
56 - rgb(0 0 0 / 25%) 0px 6px 12px`},Vh=({diff:i,noTargetBlank:u,hideDetails:c})=>{const[f,r]=it.useState(i.diff?"diff":"actual"),[o,h]=it.useState(!1),[v,y]=it.useState(null),[A,x]=it.useState("Expected"),[T,D]=it.useState(null),[X,q]=it.useState(null),[p,E]=Hh();it.useEffect(()=>{(async()=>{var z,I,k,nt;y(await Zf((z=i.expected)==null?void 0:z.attachment.path)),x(((I=i.expected)==null?void 0:I.title)||"Expected"),D(await Zf((k=i.actual)==null?void 0:k.attachment.path)),q(await Zf((nt=i.diff)==null?void 0:nt.attachment.path))})()},[i]);const b=v&&T&&X,R=b?Math.max(v.naturalWidth,T.naturalWidth,200):500,N=b?Math.max(v.naturalHeight,T.naturalHeight,200):500,V=Math.min(1,(p.width-30)/R),F=Math.min(1,(p.width-50)/R/2),H=R*V,j=N*V,Y={flex:"none",margin:"0 10px",cursor:"pointer",userSelect:"none"};return m.jsx("div",{"data-testid":"test-result-image-mismatch",style:{display:"flex",flexDirection:"column",alignItems:"center",flex:"auto"},ref:E,children:b&&m.jsxs(m.Fragment,{children:[m.jsxs("div",{"data-testid":"test-result-image-mismatch-tabs",style:{display:"flex",margin:"10px 0 20px"},children:[i.diff&&m.jsx("div",{style:{...Y,fontWeight:f==="diff"?600:"initial"},onClick:()=>r("diff"),children:"Diff"}),m.jsx("div",{style:{...Y,fontWeight:f==="actual"?600:"initial"},onClick:()=>r("actual"),children:"Actual"}),m.jsx("div",{style:{...Y,fontWeight:f==="expected"?600:"initial"},onClick:()=>r("expected"),children:A}),m.jsx("div",{style:{...Y,fontWeight:f==="sxs"?600:"initial"},onClick:()=>r("sxs"),children:"Side by side"}),m.jsx("div",{style:{...Y,fontWeight:f==="slider"?600:"initial"},onClick:()=>r("slider"),children:"Slider"})]}),m.jsxs("div",{style:{display:"flex",justifyContent:"center",flex:"auto",minHeight:j+60},children:[i.diff&&f==="diff"&&m.jsx(yn,{image:X,alt:"Diff",hideSize:c,canvasWidth:H,canvasHeight:j,scale:V}),i.diff&&f==="actual"&&m.jsx(yn,{image:T,alt:"Actual",hideSize:c,canvasWidth:H,canvasHeight:j,scale:V}),i.diff&&f==="expected"&&m.jsx(yn,{image:v,alt:A,hideSize:c,canvasWidth:H,canvasHeight:j,scale:V}),i.diff&&f==="slider"&&m.jsx(W3,{expectedImage:v,actualImage:T,hideSize:c,canvasWidth:H,canvasHeight:j,scale:V,expectedTitle:A}),i.diff&&f==="sxs"&&m.jsxs("div",{style:{display:"flex"},children:[m.jsx(yn,{image:v,title:A,hideSize:c,canvasWidth:F*R,canvasHeight:F*N,scale:F}),m.jsx(yn,{image:o?X:T,title:o?"Diff":"Actual",onClick:()=>h(!o),hideSize:c,canvasWidth:F*R,canvasHeight:F*N,scale:F})]}),!i.diff&&f==="actual"&&m.jsx(yn,{image:T,title:"Actual",hideSize:c,canvasWidth:H,canvasHeight:j,scale:V}),!i.diff&&f==="expected"&&m.jsx(yn,{image:v,title:A,hideSize:c,canvasWidth:H,canvasHeight:j,scale:V}),!i.diff&&f==="sxs"&&m.jsxs("div",{style:{display:"flex"},children:[m.jsx(yn,{image:v,title:A,canvasWidth:F*R,canvasHeight:F*N,scale:F}),m.jsx(yn,{image:T,title:"Actual",canvasWidth:F*R,canvasHeight:F*N,scale:F})]})]}),!c&&m.jsxs("div",{style:{alignSelf:"start",lineHeight:"18px",marginLeft:"15px"},children:[m.jsx("div",{children:i.diff&&m.jsx("a",{target:"_blank",href:i.diff.attachment.path,rel:"noreferrer",children:i.diff.attachment.name})}),m.jsx("div",{children:m.jsx("a",{target:u?"":"_blank",href:i.actual.attachment.path,rel:"noreferrer",children:i.actual.attachment.name})}),m.jsx("div",{children:m.jsx("a",{target:u?"":"_blank",href:i.expected.attachment.path,rel:"noreferrer",children:i.expected.attachment.name})})]})]})})},W3=({expectedImage:i,actualImage:u,canvasWidth:c,canvasHeight:f,scale:r,expectedTitle:o,hideSize:h})=>{const v={position:"absolute",top:0,left:0},[y,A]=it.useState(c/2),x=i.naturalWidth===u.naturalWidth&&i.naturalHeight===u.naturalHeight;return m.jsxs("div",{style:{flex:"none",display:"flex",alignItems:"center",flexDirection:"column",userSelect:"none"},children:[!h&&m.jsxs("div",{style:{margin:5},children:[!x&&m.jsx("span",{style:{flex:"none",margin:"0 5px"},children:"Actual "}),!x&&m.jsx("span",{children:u.naturalWidth}),!x&&m.jsx("span",{style:{flex:"none",margin:"0 5px"},children:"x"}),!x&&m.jsx("span",{children:u.naturalHeight}),!x&&m.jsxs("span",{style:{flex:"none",margin:"0 5px 0 15px"},children:[o," "]}),m.jsx("span",{children:i.naturalWidth}),m.jsx("span",{style:{flex:"none",margin:"0 5px"},children:"x"}),m.jsx("span",{children:i.naturalHeight})]}),m.jsxs("div",{style:{position:"relative",width:c,height:f,margin:15,...nr},children:[m.jsx(F3,{orientation:"horizontal",offsets:[y],setOffsets:T=>A(T[0]),resizerColor:"#57606a80",resizerWidth:6}),m.jsx("img",{alt:o,style:{width:i.naturalWidth*r,height:i.naturalHeight*r},draggable:"false",src:i.src}),m.jsx("div",{style:{...v,bottom:0,overflow:"hidden",width:y,...nr},children:m.jsx("img",{alt:"Actual",style:{width:u.naturalWidth*r,height:u.naturalHeight*r},draggable:"false",src:u.src})})]})]})},yn=({image:i,title:u,alt:c,hideSize:f,canvasWidth:r,canvasHeight:o,scale:h,onClick:v})=>m.jsxs("div",{style:{flex:"none",display:"flex",alignItems:"center",flexDirection:"column"},children:[!f&&m.jsxs("div",{style:{margin:5},children:[u&&m.jsx("span",{style:{flex:"none",margin:"0 5px"},children:u}),m.jsx("span",{children:i.naturalWidth}),m.jsx("span",{style:{flex:"none",margin:"0 5px"},children:"x"}),m.jsx("span",{children:i.naturalHeight})]}),m.jsx("div",{style:{display:"flex",flex:"none",width:r,height:o,margin:15,...nr},children:m.jsx("img",{width:i.naturalWidth*h,height:i.naturalHeight*h,alt:u||c,style:{cursor:v?"pointer":"initial"},draggable:"false",src:i.src,onClick:v})})]});function _3(i,u){const c=/(\x1b\[(\d+(;\d+)*)m)|([^\x1b]+)/g,f=[];let r,o={},h=!1,v=u==null?void 0:u.fg,y=u==null?void 0:u.bg;for(;(r=c.exec(i))!==null;){const[,,A,,x]=r;if(A){const T=+A;switch(T){case 0:o={};break;case 1:o["font-weight"]="bold";break;case 2:o.opacity="0.8";break;case 3:o["font-style"]="italic";break;case 4:o["text-decoration"]="underline";break;case 7:h=!0;break;case 8:o.display="none";break;case 9:o["text-decoration"]="line-through";break;case 22:delete o["font-weight"],delete o["font-style"],delete o.opacity,delete o["text-decoration"];break;case 23:delete o["font-weight"],delete o["font-style"],delete o.opacity;break;case 24:delete o["text-decoration"];break;case 27:h=!1;break;case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:v=b2[T-30];break;case 39:v=u==null?void 0:u.fg;break;case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:y=b2[T-40];break;case 49:y=u==null?void 0:u.bg;break;case 53:o["text-decoration"]="overline";break;case 90:case 91:case 92:case 93:case 94:case 95:case 96:case 97:v=S2[T-90];break;case 100:case 101:case 102:case 103:case 104:case 105:case 106:case 107:y=S2[T-100];break}}else if(x){const T={...o},D=h?y:v;D!==void 0&&(T.color=D),h&&v&&(T["background-color"]=v),f.push(`<span style="${$3(T)}">${P3(x)}</span>`)}}return f.join("")}const b2={0:"var(--vscode-terminal-ansiBlack)",1:"var(--vscode-terminal-ansiRed)",2:"var(--vscode-terminal-ansiGreen)",3:"var(--vscode-terminal-ansiYellow)",4:"var(--vscode-terminal-ansiBlue)",5:"var(--vscode-terminal-ansiMagenta)",6:"var(--vscode-terminal-ansiCyan)",7:"var(--vscode-terminal-ansiWhite)"},S2={0:"var(--vscode-terminal-ansiBrightBlack)",1:"var(--vscode-terminal-ansiBrightRed)",2:"var(--vscode-terminal-ansiBrightGreen)",3:"var(--vscode-terminal-ansiBrightYellow)",4:"var(--vscode-terminal-ansiBrightBlue)",5:"var(--vscode-terminal-ansiBrightMagenta)",6:"var(--vscode-terminal-ansiBrightCyan)",7:"var(--vscode-terminal-ansiBrightWhite)"};function P3(i){return i.replace(/[&"<>]/g,u=>({"&":"&amp;",'"':"&quot;","<":"&lt;",">":"&gt;"})[u])}function $3(i){return Object.entries(i).map(([u,c])=>`${u}: ${c}`).join("; ")}const Ar=({code:i,children:u,testId:c})=>{const f=it.useMemo(()=>nv(i),[i]);return m.jsxs("div",{className:"test-error-container test-error-text","data-testid":c,children:[u,m.jsx("div",{className:"test-error-view",dangerouslySetInnerHTML:{__html:f||""}})]})},tv=({prompt:i})=>{const[u,c]=it.useState(!1);return m.jsx("button",{className:"button",style:{minWidth:100},onClick:async()=>{await navigator.clipboard.writeText(i),c(!0),setTimeout(()=>{c(!1)},3e3)},children:u?"Copied":"Copy prompt"})},ev=({diff:i})=>m.jsx("div",{"data-testid":"test-screenshot-error-view",className:"test-error-view",children:m.jsx(Vh,{diff:i,hideDetails:!0},"image-diff")});function nv(i){return _3(i||"",{bg:"var(--color-canvas-subtle)",fg:"var(--color-fg-default)"})}const Zh=({file:i,projectNames:u,isFileExpanded:c,setFileExpanded:f,footer:r})=>m.jsx(gr,{expanded:c?c(i.fileId):void 0,noInsets:!0,setExpanded:f?(o=>f(i.fileId,o)):void 0,header:m.jsx("span",{className:"chip-header-allow-selection",children:i.fileName}),footer:r,children:m.jsx(Ih,{tests:i.tests,projectNames:u})}),Ih=({tests:i,projectNames:u,runs:c,selectedTestId:f})=>{const r=se();return m.jsx("div",{role:"list",children:i.map((o,h)=>{const v=c==null?void 0:c[h],y=v!==void 0?o.results[v]:void 0,A=il({test:o,result:y},r),x=f===o.testId;return m.jsxs("div",{className:Ze("test-file-test","test-file-test-outcome-"+o.outcome,x&&"test-file-test-selected"),role:"listitem","aria-current":x,children:[m.jsxs("div",{className:"hbox",style:{alignItems:"flex-start"},children:[m.jsxs("div",{className:"hbox",children:[m.jsx("span",{className:"test-file-test-status-icon",children:fc(o.outcome)}),m.jsxs("span",{children:[m.jsx(bn,{href:A,title:[...o.path,o.title].join(" › "),children:m.jsx("span",{className:"test-file-title",children:[...o.path,o.title].join(" › ")})}),m.jsx(Qh,{style:{marginLeft:"6px"},projectNames:u,activeProjectName:o.projectName,otherLabels:o.tags})]})]}),m.jsx("span",{"data-testid":"test-duration",style:{minWidth:"50px",textAlign:"right"},children:Ta(o.duration)})]}),m.jsx("div",{className:"test-file-details-row",children:m.jsxs("div",{className:"test-file-details-row-items",children:[m.jsx(bn,{href:A,title:[...o.path,o.title].join(" › "),className:"test-file-path-link",children:m.jsxs("span",{className:"test-file-path",children:[o.location.file,":",o.location.line]})}),m.jsx(lv,{test:o}),m.jsx(av,{test:o}),m.jsx(zh,{test:o,dim:!0})]})})]},`test-${o.testId}`)})})};function lv({test:i}){const u=se();for(const c of i.results)for(const f of c.attachments)if(f.contentType.startsWith("image/")&&f.name.match(/-(expected|actual|diff)/))return m.jsx(dr,{href:il({test:i,result:c,anchor:`attachment-${c.attachments.indexOf(f)}`},u),title:"View images",dim:!0,children:m3()})}function av({test:i}){const u=se(),c=i.results.find(f=>f.attachments.some(r=>r.name==="video"));return c?m.jsx(dr,{href:il({test:i,result:c,anchor:"attachment-video"},u),title:"View video",dim:!0,children:g3()}):void 0}const iv=new RegExp("([\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)|(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~])))","g");function T2(i){return i.replace(iv,"")}function uv(i,u){var f;const c=new Map;for(const r of i){const o=r.name.match(/^(.*)-(expected|actual|diff|previous)(\.[^.]+)?$/);if(!o)continue;const[,h,v,y=""]=o,A=h+y;let x=c.get(A);x||(x={name:A,anchors:[`attachment-${h}`]},c.set(A,x)),x.anchors.push(`attachment-${u.attachments.indexOf(r)}`),v==="actual"&&(x.actual={attachment:r}),v==="expected"&&(x.expected={attachment:r,title:"Expected"}),v==="previous"&&(x.expected={attachment:r,title:"Previous"}),v==="diff"&&(x.diff={attachment:r})}for(const[r,o]of c)!o.actual||!o.expected?c.delete(r):(i.delete(o.actual.attachment),i.delete(o.expected.attachment),i.delete((f=o.diff)==null?void 0:f.attachment));return[...c.values()]}const cv=({report:i,test:u,result:c})=>{const{screenshots:f,videos:r,traces:o,otherAttachments:h,diffs:v,errors:y,otherAttachmentAnchors:A,screenshotAnchors:x,errorContext:T}=it.useMemo(()=>{const p=c.attachments.filter(z=>!z.name.startsWith("_")),E=new Set(p.filter(z=>z.contentType.startsWith("image/"))),b=[...E].map(z=>`attachment-${p.indexOf(z)}`),R=p.filter(z=>z.contentType.startsWith("video/")),N=p.filter(z=>z.name==="trace"),V=p.find(z=>z.name==="error-context"),F=new Set(p);[...E,...R,...N].forEach(z=>F.delete(z));const H=[...F].map(z=>`attachment-${p.indexOf(z)}`),j=uv(E,c),Y=c.errors.map(z=>z.message);return{screenshots:[...E],videos:R,traces:N,otherAttachments:F,diffs:j,errors:Y,otherAttachmentAnchors:H,screenshotAnchors:b,errorContext:V}},[c]),[D,X]=it.useState("");it.useEffect(()=>X(""),[c]);const q=E3(async()=>{var F;if((F=i.json().options)!=null&&F.noCopyPrompt||!T)return;let p=T.path?await fetch(T.path).then(H=>H.text()):T.body;if(!p)return;const E=c.attachments.find(H=>H.name==="stdout"),b=c.attachments.find(H=>H.name==="stderr"),R=E!=null&&E.body&&E.contentType==="text/plain"?E.body:void 0,N=b!=null&&b.body&&b.contentType==="text/plain"?b.body:void 0;R&&(p+=`
57 -
58 -# Stdout
59 -
60 -\`\`\`
61 -`+T2(R)+"\n```"),N&&(p+=`
62 -
63 -# Stderr
64 -
65 -\`\`\`
66 -`+T2(N)+"\n```");const V=i.json().metadata;return V!=null&&V.gitDiff&&(p+=`
67 -
68 -# Local changes
69 -
70 -\`\`\`diff
71 -`+V.gitDiff+"\n```"),p},[T,i,c],void 0);return m.jsxs("div",{className:"test-result",children:[!!y.length&&m.jsxs(ke,{header:"Errors",children:[q&&m.jsx("div",{style:{position:"absolute",right:"16px",padding:"10px",zIndex:1},children:m.jsx(tv,{prompt:q})}),y.map((p,E)=>{const b=sv(p,v);return m.jsxs(m.Fragment,{children:[m.jsx(Ar,{code:p},"test-result-error-message-"+E),b&&m.jsx(ev,{diff:b})]})})]}),!!c.steps.length&&m.jsxs(ke,{header:"Test Steps",children:[m.jsxs("form",{className:"subnav-search step-filter",onSubmit:p=>p.preventDefault(),children:[Oh(),m.jsx("input",{className:"form-control subnav-search-input input-contrast width-full",type:"search",spellCheck:!1,placeholder:"Filter steps","aria-label":"Filter steps",value:D,onChange:p=>X(p.target.value)})]}),c.steps.map((p,E)=>m.jsx(Jh,{step:p,result:c,test:u,depth:0,filterText:D},`step-${E}`))]}),v.map((p,E)=>m.jsx(xi,{id:p.anchors,children:m.jsx(ke,{dataTestId:"test-results-image-diff",header:`Image mismatch: ${p.name}`,revealOnAnchorId:p.anchors,children:m.jsx(Vh,{diff:p})})},`diff-${E}`)),!!f.length&&m.jsx(ke,{header:"Screenshots",revealOnAnchorId:x,children:f.map((p,E)=>m.jsxs(xi,{id:`attachment-${c.attachments.indexOf(p)}`,children:[m.jsx("a",{href:Ve(p.path),children:m.jsx("img",{className:"screenshot",src:Ve(p.path)})}),m.jsx($u,{attachment:p,result:c})]},`screenshot-${E}`))}),!!o.length&&m.jsx(xi,{id:"attachment-trace",children:m.jsx(ke,{header:"Traces",revealOnAnchorId:"attachment-trace",children:m.jsxs("div",{children:[m.jsx("a",{href:Ve(Lh(o)),children:m.jsx("img",{className:"screenshot",src:K3,style:{width:192,height:117,marginLeft:20}})}),o.map((p,E)=>m.jsx($u,{attachment:p,result:c,linkName:o.length===1?"trace":`trace-${E+1}`},`trace-${E}`))]})})}),!!r.length&&m.jsx(xi,{id:"attachment-video",children:m.jsx(ke,{header:"Videos",revealOnAnchorId:"attachment-video",children:r.map(p=>m.jsxs("div",{children:[m.jsx("video",{controls:!0,children:m.jsx("source",{src:Ve(p.path),type:p.contentType})}),m.jsx($u,{attachment:p,result:c})]},p.path))})}),!!h.size&&m.jsx(ke,{header:"Attachments",revealOnAnchorId:A,dataTestId:"attachments",children:[...h].map((p,E)=>m.jsx(xi,{id:`attachment-${c.attachments.indexOf(p)}`,children:m.jsx($u,{attachment:p,result:c,openInNewTab:p.contentType.startsWith("text/html")})},`attachment-link-${E}`))}),m.jsx(ke,{header:`Executed in Worker #${c.workerIndex}`,dataTestId:"worker-test-list",initialExpanded:!1,noInsets:!0,body:()=>{const p=fv(i).get(c.workerIndex)||{tests:[],runs:[]};return m.jsx(Ih,{tests:p.tests,runs:p.runs,projectNames:i.json().projectNames,selectedTestId:u.testId})}})]})};function sv(i,u){const c=i.split(`
72 -`)[0];if(!(!c.includes("toHaveScreenshot")&&!c.includes("toMatchSnapshot")))return u.find(f=>i.includes(f.name))}function qh(i,u){return i.title.toLowerCase().includes(u.toLowerCase())}function Kh(i,u){return i.steps.some(c=>qh(c,u)||Kh(c,u))}function kh(i){return i.steps.some(u=>u.attachments.length>0||kh(u))}const Jh=({test:i,step:u,result:c,depth:f,filterText:r})=>{const o=se();let h=!1,v=m.jsx("span",{children:u.title});if(r){const y=!!r&&qh(u,r),A=!!r&&Kh(u,r);if(!y&&!A)return null;if(h=A,y){const x=u.title.toLowerCase().split(r.toLowerCase()),T=[];let D=0;for(let X=0;X<x.length;X++)X&&(T.push(m.jsx("span",{className:"step-title-highlight",children:u.title.substring(D,D+r.length)},X)),D+=r.length),T.push(x[X]),D+=x[X].length;v=T}}return m.jsx(q3,{title:m.jsxs("div",{"aria-label":u.title,className:"step-title-container",children:[fc(u.error||u.duration===-1?"failed":u.skipped?"skipped":"passed"),m.jsxs("span",{className:"step-title-text",children:[v,u.count>1&&m.jsxs(m.Fragment,{children:[" ✕ ",m.jsx("span",{className:"test-result-counter",children:u.count})]}),u.location&&m.jsxs("span",{className:"test-result-path",children:["— ",u.location.file,":",u.location.line]})]}),m.jsx("span",{className:"step-spacer"}),u.attachments.length>0&&m.jsx("a",{className:"step-attachment-link",title:"reveal attachment",href:Ve(il({test:i,result:c,anchor:`attachment-${u.attachments[0]}`},o)),onClick:y=>{y.stopPropagation()},children:Rh()}),u.attachments.length===0&&kh(u)&&m.jsx("span",{className:"step-indirect-attachment-indicator",title:"contains attachment","aria-label":"contains attachment",children:d3()}),m.jsx("span",{className:"step-duration",children:Ta(u.duration)})]}),loadChildren:u.steps.length||u.snippet?()=>{const y=u.snippet?[m.jsx(Ar,{testId:"test-snippet",code:u.snippet},"line")]:[],A=u.steps.map((x,T)=>m.jsx(Jh,{step:x,depth:f+1,result:c,test:i,filterText:r},T));return y.concat(A)}:void 0,depth:f,expandByDefault:h})},C2=Symbol("workerLists");function fv(i){let u=i[C2];if(!u){const c=new Map;for(const f of i.json().files)for(const r of f.tests)for(let o=0;o<r.results.length;o++){let h=c.get(r.results[o].workerIndex);h||(h=[],c.set(r.results[o].workerIndex,h)),h.push({test:r,time:new Date(r.results[o].startTime).valueOf(),run:o})}u=new Map;for(const[f,r]of c)r.sort((o,h)=>o.time-h.time),u.set(f,{tests:r.map(o=>o.test),runs:r.map(o=>o.run)});i[C2]=u}return u}const rv=({report:i,test:u,run:c,next:f,prev:r})=>{const[o,h]=it.useState(c),v=se(),y=u.annotations.filter(A=>!A.type.startsWith("_"))??[];return D2(y,u.repeatEachIndex),m.jsxs(m.Fragment,{children:[m.jsx(mr,{title:u.title,leftSuperHeader:m.jsx("div",{className:"test-case-path",children:u.path.join(" › ")}),rightSuperHeader:m.jsxs(m.Fragment,{children:[m.jsx("div",{className:Ze(!r&&"hidden"),children:m.jsx(bn,{href:il({test:r},v),children:"« previous"})}),m.jsx("div",{style:{width:10}}),m.jsx("div",{className:Ze(!f&&"hidden"),children:m.jsx(bn,{href:il({test:f},v),children:"next »"})})]})}),m.jsxs("div",{className:"hbox",style:{lineHeight:"24px"},children:[m.jsx("div",{className:"test-case-location",children:m.jsxs(or,{value:`${u.location.file}:${u.location.line}`,children:[u.location.file,":",u.location.line]})}),m.jsx("div",{style:{flex:"auto"}}),m.jsx(zh,{test:u,trailingSeparator:!0}),m.jsx("div",{className:"test-case-duration",children:Ta(u.duration)})]}),m.jsx(Qh,{style:{marginLeft:"6px"},projectNames:i.json().projectNames,activeProjectName:u.projectName,otherLabels:u.tags}),u.results.length===0&&y.length!==0&&m.jsx(ke,{header:"Annotations",dataTestId:"test-case-annotations",children:y.map((A,x)=>m.jsx(O2,{annotation:A},x))}),m.jsx(I3,{tabs:u.results.map((A,x)=>({id:String(x),title:m.jsxs("div",{style:{display:"flex",alignItems:"center"},children:[fc(A.status)," ",ov(x),u.results.length>1&&m.jsx("span",{className:"test-case-run-duration",children:Ta(A.duration)})]}),render:()=>{const T=A.annotations.filter(D=>!D.type.startsWith("_"));return D2(T,u.repeatEachIndex),m.jsxs(m.Fragment,{children:[!!T.length&&m.jsx(ke,{header:"Annotations",dataTestId:"test-case-annotations",children:T.map((D,X)=>m.jsx(O2,{annotation:D},X))}),m.jsx(cv,{test:u,result:A,report:i})]})}}))||[],selectedTab:String(o),setSelectedTab:A=>h(+A)})]})};function O2({annotation:{type:i,description:u}}){return m.jsxs("div",{className:"test-case-annotation",children:[m.jsx("span",{style:{fontWeight:"bold"},children:i}),u&&m.jsxs(or,{value:u,children:[": ",Di(u)]})]})}function D2(i,u){u&&i.push({type:"repeatEachIndex",description:String(u)})}function ov(i){return i?`Retry #${i}`:"Run"}class dv extends it.Component{constructor(){super(...arguments),this.state={error:null,errorInfo:null}}componentDidCatch(u,c){this.setState({error:u,errorInfo:c})}render(){var u,c,f;return this.state.error||this.state.errorInfo?m.jsxs("div",{className:"metadata-view p-3",children:[m.jsx("p",{children:"An error was encountered when trying to render metadata."}),m.jsx("p",{children:m.jsxs("pre",{style:{overflow:"scroll"},children:[(u=this.state.error)==null?void 0:u.message,m.jsx("br",{}),(c=this.state.error)==null?void 0:c.stack,m.jsx("br",{}),(f=this.state.errorInfo)==null?void 0:f.componentStack]})})]}):this.props.children}}const hv=i=>m.jsx(dv,{children:m.jsx(mv,{metadata:i.metadata})}),mv=i=>{const u=i.metadata,c=se().has("show-metadata-other")?Object.entries(i.metadata).filter(([r])=>!Fh.has(r)):[];if(u.ci||u.gitCommit||c.length>0)return m.jsxs("div",{className:"metadata-view",children:[u.ci&&!u.gitCommit&&m.jsx(gv,{info:u.ci}),u.gitCommit&&m.jsx(Av,{ci:u.ci,commit:u.gitCommit}),c.length>0&&m.jsxs(m.Fragment,{children:[(u.gitCommit||u.ci)&&m.jsx("div",{className:"metadata-separator"}),m.jsx("div",{className:"metadata-section metadata-properties",role:"list",children:c.map(([r,o])=>{const h=typeof o!="object"||o===null||o===void 0?String(o):JSON.stringify(o),v=h.length>1e3?h.slice(0,1e3)+"…":h;return m.jsx("div",{className:"copyable-property",role:"listitem",children:m.jsxs(or,{value:h,children:[m.jsx("span",{style:{fontWeight:"bold"},title:r,children:r}),": ",m.jsx("span",{title:v,children:Di(v)})]})},r)})})]})]})},gv=({info:i})=>{const u=i.prTitle||`Commit ${i.commitHash}`,c=i.prHref||i.commitHref;return m.jsx("div",{className:"metadata-section",role:"list",children:m.jsx("div",{role:"listitem",children:m.jsx("a",{href:Ve(c),target:"_blank",rel:"noopener noreferrer",title:u,children:u})})})},Av=({ci:i,commit:u})=>{const c=(i==null?void 0:i.prTitle)||u.subject,f=(i==null?void 0:i.prHref)||(i==null?void 0:i.commitHref),r=` <${u.author.email}>`,o=`${u.author.name}${r}`,h=Intl.DateTimeFormat(void 0,{dateStyle:"medium"}).format(u.committer.time),v=Intl.DateTimeFormat(void 0,{dateStyle:"full",timeStyle:"long"}).format(u.committer.time);return m.jsxs("div",{className:"metadata-section",role:"list",children:[m.jsxs("div",{role:"listitem",children:[f&&m.jsx("a",{href:Ve(f),target:"_blank",rel:"noopener noreferrer",title:c,children:c}),!f&&m.jsx("span",{title:c,children:c})]}),m.jsxs("div",{role:"listitem",className:"hbox",children:[m.jsx("span",{className:"mr-1",children:o}),m.jsxs("span",{title:v,children:[" on ",h]})]})]})},Fh=new Set(["ci","gitCommit","gitDiff","actualWorkers"]),vv=i=>{const u=Object.entries(i).filter(([c])=>!Fh.has(c));return!i.ci&&!i.gitCommit&&!u.length},yv=({files:i,expandedFiles:u,setExpandedFiles:c,projectNames:f})=>{const r=it.useMemo(()=>{const o=[];let h=0;for(const v of i)h+=v.tests.length,o.push({file:v,defaultExpanded:h<200});return o},[i]);return m.jsx(m.Fragment,{children:r.length>0?r.map(({file:o,defaultExpanded:h})=>m.jsx(Zh,{file:o,projectNames:f,isFileExpanded:v=>{const y=u.get(v);return y===void 0?h:!!y},setFileExpanded:(v,y)=>{const A=new Map(u);A.set(v,y),c(A)}},`file-${o.fileId}`)):m.jsx("div",{className:"chip-header test-file-no-files",children:"No tests found"})})},R2=({report:i,filteredStats:u,metadataVisible:c,toggleMetadataVisible:f,errorsVisible:r,setErrorsVisible:o})=>{if(!i)return null;const h=i.projectNames.length===1&&!!i.projectNames[0],v=!h&&!u,y=!vv(i.metadata)&&m.jsxs("div",{className:Ze("metadata-toggle",!v&&"metadata-toggle-second-line"),role:"button",onClick:f,title:c?"Hide metadata":"Show metadata",children:[c?Mi():Sa(),"Metadata"]}),A=m.jsxs("div",{className:"test-file-header-info",children:[h&&m.jsxs("div",{"data-testid":"project-name",children:["Project: ",i.projectNames[0]]}),u&&m.jsxs("div",{"data-testid":"filtered-tests-count",children:["Filtered: ",u.total," ",!!u.total&&"("+Ta(u.duration)+")"]}),v&&y]}),x=m.jsxs(m.Fragment,{children:[m.jsx("div",{"data-testid":"overall-time",style:{marginRight:"10px"},children:i?new Date(i.startTime).toLocaleString():""}),m.jsxs("div",{"data-testid":"overall-duration",children:["Total time: ",Ta(i.duration??0)]})]});return m.jsxs(m.Fragment,{children:[m.jsx(mr,{title:i.options.title,leftSuperHeader:A,rightSuperHeader:x}),!v&&y,c&&m.jsx(hv,{metadata:i.metadata}),!!i.errors.length&&m.jsx(gr,{header:"Errors",dataTestId:"report-errors",expanded:r,setExpanded:o,children:i.errors.map((T,D)=>m.jsx(Ar,{code:T},"test-report-error-message-"+D))})]})},Wh=i=>{const u=Math.round(i/1e3),c=Math.floor(u/60),f=u%60;return c===0?`${f}s`:`${c}m ${f}s`},Ev=({entries:i})=>{const f=Math.max(...i.map(j=>j.label.length))*10,o={top:20,right:20,bottom:40,left:Math.min(800*.5,Math.max(50,f))},h=800-o.left-o.right,v=Math.min(...i.map(j=>j.startTime)),y=Math.max(...i.map(j=>j.startTime+j.duration));let A,x;const T=y-v;T<60*1e3?(A=10*1e3,x=!0):T<300*1e3?(A=30*1e3,x=!0):T<1800*1e3?(A=300*1e3,x=!1):(A=600*1e3,x=!1);const D=Math.ceil(v/A)*A,X=(j,Y)=>{const z=new Date(j).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:x?"2-digit":void 0});if(Y)return z;if(z.endsWith(" AM")||z.endsWith(" PM"))return z.slice(0,-3)},p=(y-v)*1.1,E=Math.ceil(p/A)*A,b=h/E,R=20,N=8,V=i.length*(R+N),F=[];for(let j=D;j<=v+E;j+=A){const Y=j-v;F.push({x:Y*b,label:X(j,j===D)})}const H=V+o.top+o.bottom;return m.jsx("svg",{viewBox:`0 0 800 ${H}`,preserveAspectRatio:"xMidYMid meet",style:{width:"100%",height:"auto"},role:"img",children:m.jsxs("g",{transform:`translate(${o.left}, ${o.top})`,role:"presentation",children:[F.map(({x:j,label:Y},z)=>m.jsxs("g",{"aria-hidden":"true",children:[m.jsx("line",{x1:j,y1:0,x2:j,y2:V,stroke:"var(--color-border-muted)",strokeWidth:"1"}),m.jsx("text",{x:j,y:V+20,textAnchor:"middle",dominantBaseline:"middle",fontSize:"12",fill:"var(--color-fg-muted)",children:Y})]},z)),i.map((j,Y)=>{const z=j.startTime-v,I=j.duration*b,k=z*b,nt=Y*(R+N),P=["var(--color-scale-blue-2)","var(--color-scale-blue-3)","var(--color-scale-blue-4)"],st=P[Y%P.length];return m.jsxs("g",{role:"listitem","aria-label":j.tooltip,children:[m.jsx("rect",{className:"gantt-bar",x:k,y:nt,width:I,height:R,fill:st,rx:"2",tabIndex:0,children:m.jsx("title",{children:j.tooltip})}),m.jsx("text",{x:k+I+6,y:nt+R/2,dominantBaseline:"middle",fontSize:"12",fill:"var(--color-fg-muted)","aria-hidden":"true",children:Wh(j.duration)}),m.jsx("text",{x:-10,y:nt+R/2,textAnchor:"end",dominantBaseline:"middle",fontSize:"12",fill:"var(--color-fg-muted)","aria-hidden":"true",children:j.label})]},Y)}),m.jsx("line",{x1:0,y1:0,x2:0,y2:V,stroke:"var(--color-fg-muted)",strokeWidth:"1","aria-hidden":"true"}),m.jsx("line",{x1:0,y1:V,x2:h,y2:V,stroke:"var(--color-fg-muted)",strokeWidth:"1","aria-hidden":"true"})]})})};function pv({report:i,tests:u}){return m.jsxs(m.Fragment,{children:[m.jsx(bv,{report:i}),m.jsx(xv,{report:i,tests:u})]})}function xv({report:i,tests:u}){const[c,f]=ue.useState(50);return m.jsx(Zh,{file:{fileId:"slowest",fileName:"Slowest Tests",tests:u.slice(0,c),stats:null},projectNames:i.json().projectNames,footer:c<u.length?m.jsxs("button",{className:"link-badge fullwidth-link",style:{padding:"8px 5px"},onClick:()=>f(r=>r+50),children:[Mi(),"Show 50 more"]}):void 0})}function bv({report:i}){const u=i.json().machines;if(u.length===0)return null;const c=u.map(f=>{const r=f.tag.join(" "),o=new Date(f.startTime).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:"short"});let h=`${r} started at ${o}, runs ${Wh(f.duration)}`;return f.shardIndex&&(h+=` (shard ${f.shardIndex})`),{label:r,tooltip:h,startTime:f.startTime,duration:f.duration,shardIndex:f.shardIndex??1}}).sort((f,r)=>f.label.localeCompare(r.label)||f.shardIndex-r.shardIndex);return m.jsx(ke,{header:"Timeline",children:m.jsx(Ev,{entries:c})})}const Sv=i=>!i.has("testId")&&!i.has("speedboard"),Tv=i=>i.has("testId"),Cv=i=>i.has("speedboard")&&!i.has("testId"),Ov=({report:i})=>{var H,j;const u=se(),[c,f]=it.useState(new Map),[r,o]=it.useState(u.get("q")||""),[h,v]=it.useState(!1),[y,A]=it.useState(!0),x=u.has("speedboard"),[T]=Bh("mergeFiles",!1),D=u.get("testId"),X=((H=u.get("q"))==null?void 0:H.toString())||"",q=X?"&q="+X:"",p=(j=i==null?void 0:i.json())==null?void 0:j.options.title,E=it.useMemo(()=>{const Y=new Map;for(const z of(i==null?void 0:i.json().files)||[])for(const I of z.tests)Y.set(I.testId,z.fileId);return Y},[i]),b=it.useMemo(()=>uc.parse(r),[r]),R=it.useMemo(()=>b.empty()?void 0:Rv((i==null?void 0:i.json().files)||[],b),[i,b]),N=it.useMemo(()=>x?jv(i,b):T?Mv(i,b):wv(i,b),[i,b,T,x]),{prev:V,next:F}=it.useMemo(()=>{const Y=N.tests.findIndex(k=>k.testId===D),z=Y>0?N.tests[Y-1]:void 0,I=Y<N.tests.length-1?N.tests[Y+1]:void 0;return{prev:z,next:I}},[D,N]);return it.useEffect(()=>{const Y=z=>{if(z.target instanceof HTMLInputElement||z.target instanceof HTMLTextAreaElement||z.shiftKey||z.ctrlKey||z.metaKey||z.altKey)return;const I=new URLSearchParams(u);switch(z.key){case"a":z.preventDefault(),ll("#?");break;case"p":z.preventDefault(),I.delete("testId"),I.delete("speedboard"),ll(Ml(I,"s:passed",!1));break;case"f":z.preventDefault(),I.delete("testId"),I.delete("speedboard"),ll(Ml(I,"s:failed",!1));break;case"ArrowLeft":V&&(z.preventDefault(),I.delete("testId"),ll(il({test:V},I)+q));break;case"ArrowRight":F&&(z.preventDefault(),I.delete("testId"),ll(il({test:F},I)+q));break}};return document.addEventListener("keydown",Y),()=>document.removeEventListener("keydown",Y)},[V,F,q,X,u]),it.useEffect(()=>{p?document.title=p:document.title="Playwright Test Report"},[p]),m.jsx("div",{className:"htmlreport vbox px-4 pb-4",children:m.jsxs("main",{children:[i&&m.jsx(G3,{stats:i.json().stats,filterText:r,setFilterText:o}),m.jsxs(Vf,{predicate:Sv,children:[m.jsx(R2,{report:i==null?void 0:i.json(),filteredStats:R,metadataVisible:h,toggleMetadataVisible:()=>v(Y=>!Y),errorsVisible:y,setErrorsVisible:A}),m.jsx(yv,{files:N.files,expandedFiles:c,setExpandedFiles:f,projectNames:(i==null?void 0:i.json().projectNames)||[]})]}),m.jsxs(Vf,{predicate:Cv,children:[m.jsx(R2,{report:i==null?void 0:i.json(),filteredStats:R,metadataVisible:h,toggleMetadataVisible:()=>v(Y=>!Y),errorsVisible:y,setErrorsVisible:A}),i&&m.jsx(pv,{report:i,tests:N.tests})]}),m.jsx(Vf,{predicate:Tv,children:i&&m.jsx(Dv,{report:i,next:F,prev:V,testId:D,testIdToFileIdMap:E})})]})})},Dv=({report:i,testIdToFileIdMap:u,next:c,prev:f,testId:r})=>{const[o,h]=it.useState("loading"),v=+(se().get("run")||"0");return it.useEffect(()=>{(async()=>{if(!r||typeof o=="object"&&r===o.testId)return;const y=u.get(r);if(!y){h("not-found");return}const A=await i.entry(`${y}.json`);h((A==null?void 0:A.tests.find(x=>x.testId===r))||"not-found")})()},[o,i,r,u]),o==="loading"?m.jsx("div",{className:"test-case-column"}):o==="not-found"?m.jsxs("div",{className:"test-case-column",children:[m.jsx(mr,{title:"Test not found"}),m.jsxs("div",{className:"test-case-location",children:["Test ID: ",r]})]}):m.jsx("div",{className:"test-case-column",children:m.jsx(rv,{report:i,next:c,prev:f,test:o,run:v})})};function Rv(i,u){const c={total:0,duration:0};for(const f of i){const r=f.tests.filter(o=>u.matches(o));c.total+=r.length;for(const o of r)c.duration+=o.duration}return c}function wv(i,u){const c={files:[],tests:[]};for(const f of(i==null?void 0:i.json().files)||[]){const r=f.tests.filter(o=>u.matches(o));r.length&&c.files.push({...f,tests:r}),c.tests.push(...r)}return c}function Mv(i,u){const c=[],f=new Map;for(const o of(i==null?void 0:i.json().files)||[]){const h=o.tests.filter(v=>u.matches(v));for(const v of h){const y=v.path[0]??"<anonymous>";let A=f.get(y);A||(A={fileId:y,fileName:y,tests:[],stats:{total:0,expected:0,unexpected:0,flaky:0,skipped:0,ok:!0}},f.set(y,A),c.push(A));const x={...v,path:v.path.slice(1)};A.tests.push(x)}}c.sort((o,h)=>o.fileName.localeCompare(h.fileName));const r={files:c,tests:[]};for(const o of c)r.tests.push(...o.tests);return r}function jv(i,u){const f=((i==null?void 0:i.json().files)||[]).flatMap(r=>r.tests).filter(r=>u.matches(r));return f.sort((r,o)=>o.duration-r.duration),{files:[],tests:f}}const Nv="data:image/svg+xml,%3csvg%20width='400'%20height='400'%20viewBox='0%200%20400%20400'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M136.444%20221.556C123.558%20225.213%20115.104%20231.625%20109.535%20238.032C114.869%20233.364%20122.014%20229.08%20131.652%20226.348C141.51%20223.554%20149.92%20223.574%20156.869%20224.915V219.481C150.941%20218.939%20144.145%20219.371%20136.444%20221.556ZM108.946%20175.876L61.0895%20188.484C61.0895%20188.484%2061.9617%20189.716%2063.5767%20191.36L104.153%20180.668C104.153%20180.668%20103.578%20188.077%2098.5847%20194.705C108.03%20187.559%20108.946%20175.876%20108.946%20175.876ZM149.005%20288.347C81.6582%20306.486%2046.0272%20228.438%2035.2396%20187.928C30.2556%20169.229%2028.0799%20155.067%2027.5%20145.928C27.4377%20144.979%2027.4665%20144.179%2027.5336%20143.446C24.04%20143.657%2022.3674%20145.473%2022.7077%20150.721C23.2876%20159.855%2025.4633%20174.016%2030.4473%20192.721C41.2301%20233.225%2076.8659%20311.273%20144.213%20293.134C158.872%20289.185%20169.885%20281.992%20178.152%20272.81C170.532%20279.692%20160.995%20285.112%20149.005%20288.347ZM161.661%20128.11V132.903H188.077C187.535%20131.206%20186.989%20129.677%20186.447%20128.11H161.661Z'%20fill='%232D4552'/%3e%3cpath%20d='M193.981%20167.584C205.861%20170.958%20212.144%20179.287%20215.465%20186.658L228.711%20190.42C228.711%20190.42%20226.904%20164.623%20203.57%20157.995C181.741%20151.793%20168.308%20170.124%20166.674%20172.496C173.024%20167.972%20182.297%20164.268%20193.981%20167.584ZM299.422%20186.777C277.573%20180.547%20264.145%20198.916%20262.535%20201.255C268.89%20196.736%20278.158%20193.031%20289.837%20196.362C301.698%20199.741%20307.976%20208.06%20311.307%20215.436L324.572%20219.212C324.572%20219.212%20322.736%20193.41%20299.422%20186.777ZM286.262%20254.795L176.072%20223.99C176.072%20223.99%20177.265%20230.038%20181.842%20237.869L274.617%20263.805C282.255%20259.386%20286.262%20254.795%20286.262%20254.795ZM209.867%20321.102C122.618%20297.71%20133.166%20186.543%20147.284%20133.865C153.097%20112.156%20159.073%2096.0203%20164.029%2085.204C161.072%2084.5953%20158.623%2086.1529%20156.203%2091.0746C150.941%20101.747%20144.212%20119.124%20137.7%20143.45C123.586%20196.127%20113.038%20307.29%20200.283%20330.682C241.406%20341.699%20273.442%20324.955%20297.323%20298.659C274.655%20319.19%20245.714%20330.701%20209.867%20321.102Z'%20fill='%232D4552'/%3e%3cpath%20d='M161.661%20262.296V239.863L99.3324%20257.537C99.3324%20257.537%20103.938%20230.777%20136.444%20221.556C146.302%20218.762%20154.713%20218.781%20161.661%20220.123V128.11H192.869C189.471%20117.61%20186.184%20109.526%20183.423%20103.909C178.856%2094.612%20174.174%20100.775%20163.545%20109.665C156.059%20115.919%20137.139%20129.261%20108.668%20136.933C80.1966%20144.61%2057.179%20142.574%2047.5752%20140.911C33.9601%20138.562%2026.8387%20135.572%2027.5049%20145.928C28.0847%20155.062%2030.2605%20169.224%2035.2445%20187.928C46.0272%20228.433%2081.663%20306.481%20149.01%20288.342C166.602%20283.602%20179.019%20274.233%20187.626%20262.291H161.661V262.296ZM61.0848%20188.484L108.946%20175.876C108.946%20175.876%20107.551%20194.288%2089.6087%20199.018C71.6614%20203.743%2061.0848%20188.484%2061.0848%20188.484Z'%20fill='%23E2574C'/%3e%3cpath%20d='M341.786%20129.174C329.345%20131.355%20299.498%20134.072%20262.612%20124.185C225.716%20114.304%20201.236%2097.0224%20191.537%2088.8994C177.788%2077.3834%20171.74%2069.3802%20165.788%2081.4857C160.526%2092.163%20153.797%20109.54%20147.284%20133.866C133.171%20186.543%20122.623%20297.706%20209.867%20321.098C297.093%20344.47%20343.53%20242.92%20357.644%20190.238C364.157%20165.917%20367.013%20147.5%20367.799%20135.625C368.695%20122.173%20359.455%20126.078%20341.786%20129.174ZM166.497%20172.756C166.497%20172.756%20180.246%20151.372%20203.565%20158C226.899%20164.628%20228.706%20190.425%20228.706%20190.425L166.497%20172.756ZM223.42%20268.713C182.403%20256.698%20176.077%20223.99%20176.077%20223.99L286.262%20254.796C286.262%20254.791%20264.021%20280.578%20223.42%20268.713ZM262.377%20201.495C262.377%20201.495%20276.107%20180.126%20299.422%20186.773C322.736%20193.411%20324.572%20219.208%20324.572%20219.208L262.377%20201.495Z'%20fill='%232EAD33'/%3e%3cpath%20d='M139.88%20246.04L99.3324%20257.532C99.3324%20257.532%20103.737%20232.44%20133.607%20222.496L110.647%20136.33L108.663%20136.933C80.1918%20144.611%2057.1742%20142.574%2047.5704%20140.911C33.9554%20138.563%2026.834%20135.572%2027.5001%20145.929C28.08%20155.063%2030.2557%20169.224%2035.2397%20187.929C46.0225%20228.433%2081.6583%20306.481%20149.005%20288.342L150.989%20287.719L139.88%20246.04ZM61.0848%20188.485L108.946%20175.876C108.946%20175.876%20107.551%20194.288%2089.6087%20199.018C71.6615%20203.743%2061.0848%20188.485%2061.0848%20188.485Z'%20fill='%23D65348'/%3e%3cpath%20d='M225.27%20269.163L223.415%20268.712C182.398%20256.698%20176.072%20223.99%20176.072%20223.99L232.89%20239.872L262.971%20124.281L262.607%20124.185C225.711%20114.304%20201.232%2097.0224%20191.532%2088.8994C177.783%2077.3834%20171.735%2069.3802%20165.783%2081.4857C160.526%2092.163%20153.797%20109.54%20147.284%20133.866C133.171%20186.543%20122.623%20297.706%20209.867%20321.097L211.655%20321.5L225.27%20269.163ZM166.497%20172.756C166.497%20172.756%20180.246%20151.372%20203.565%20158C226.899%20164.628%20228.706%20190.425%20228.706%20190.425L166.497%20172.756Z'%20fill='%231D8D22'/%3e%3cpath%20d='M141.946%20245.451L131.072%20248.537C133.641%20263.019%20138.169%20276.917%20145.276%20289.195C146.513%20288.922%20147.74%20288.687%20149%20288.342C152.302%20287.451%20155.364%20286.348%20158.312%20285.145C150.371%20273.361%20145.118%20259.789%20141.946%20245.451ZM137.7%20143.451C132.112%20164.307%20127.113%20194.326%20128.489%20224.436C130.952%20223.367%20133.554%20222.371%20136.444%20221.551L138.457%20221.101C136.003%20188.939%20141.308%20156.165%20147.284%20133.866C148.799%20128.225%20150.318%20122.978%20151.832%20118.085C149.393%20119.637%20146.767%20121.228%20143.776%20122.867C141.759%20129.093%20139.722%20135.898%20137.7%20143.451Z'%20fill='%23C04B41'/%3e%3c/svg%3e",If=t3,vr=document.createElement("link");vr.rel="shortcut icon";vr.href=Nv;document.head.appendChild(vr);const Hv=()=>{const[i,u]=it.useState();return it.useEffect(()=>{const c=new Bv;c.load().then(()=>{var f;(f=document.getElementById("playwrightReportBase64"))==null||f.remove(),u(c)})},[]),m.jsx(R3,{children:m.jsx(Ov,{report:i})})};window.onload=()=>{Q3(),s3.createRoot(document.querySelector("#root")).render(m.jsx(Hv,{}))};class Bv{constructor(){this._entries=new Map}async load(){const u=document.getElementById("playwrightReportBase64").content.textContent,c=new If.ZipReader(new If.Data64URIReader(u),{useWebWorkers:!1});for(const f of await c.getEntries())this._entries.set(f.filename,f);this._json=await this.entry("report.json")}json(){return this._json}async entry(u){const c=this._entries.get(u),f=new If.TextWriter;return await c.getData(f),JSON.parse(await f.getData())}}
node_modules/playwright-core/lib/vite/recorder/assets/codeMirrorModule-BHYmBp6h.js deleted
-32
@@ -1,32 +0,0 @@
1 -import{g as Ju}from"./index-DA10QRaq.js";var vi={exports:{}},Zu=vi.exports,pa;function mt(){return pa||(pa=1,(function(ct,xt){(function(b,pe){ct.exports=pe()})(Zu,(function(){var b=navigator.userAgent,pe=navigator.platform,_=/gecko\/\d/i.test(b),te=/MSIE \d/.test(b),oe=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(b),Q=/Edge\/(\d+)/.exec(b),k=te||oe||Q,I=k&&(te?document.documentMode||6:+(Q||oe)[1]),Y=!Q&&/WebKit\//.test(b),ne=Y&&/Qt\/\d+\.\d+/.test(b),S=!Q&&/Chrome\/(\d+)/.exec(b),R=S&&+S[1],A=/Opera\//.test(b),$=/Apple Computer/.test(navigator.vendor),ue=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(b),O=/PhantomJS/.test(b),w=$&&(/Mobile\/\w+/.test(b)||navigator.maxTouchPoints>2),M=/Android/.test(b),N=w||M||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(b),z=w||/Mac/.test(pe),X=/\bCrOS\b/.test(b),q=/win/i.test(pe),p=A&&b.match(/Version\/(\d*\.\d*)/);p&&(p=Number(p[1])),p&&p>=15&&(A=!1,Y=!0);var W=z&&(ne||A&&(p==null||p<12.11)),J=_||k&&I>=9;function P(e){return new RegExp("(^|\\s)"+e+"(?:$|\\s)\\s*")}var V=function(e,t){var n=e.className,r=P(t).exec(n);if(r){var i=n.slice(r.index+r[0].length);e.className=n.slice(0,r.index)+(i?r[1]+i:"")}};function F(e){for(var t=e.childNodes.length;t>0;--t)e.removeChild(e.firstChild);return e}function G(e,t){return F(e).appendChild(t)}function c(e,t,n,r){var i=document.createElement(e);if(n&&(i.className=n),r&&(i.style.cssText=r),typeof t=="string")i.appendChild(document.createTextNode(t));else if(t)for(var o=0;o<t.length;++o)i.appendChild(t[o]);return i}function T(e,t,n,r){var i=c(e,t,n,r);return i.setAttribute("role","presentation"),i}var C;document.createRange?C=function(e,t,n,r){var i=document.createRange();return i.setEnd(r||e,n),i.setStart(e,t),i}:C=function(e,t,n){var r=document.body.createTextRange();try{r.moveToElementText(e.parentNode)}catch{return r}return r.collapse(!0),r.moveEnd("character",n),r.moveStart("character",t),r};function g(e,t){if(t.nodeType==3&&(t=t.parentNode),e.contains)return e.contains(t);do if(t.nodeType==11&&(t=t.host),t==e)return!0;while(t=t.parentNode)}function y(e){var t=e.ownerDocument||e,n;try{n=e.activeElement}catch{n=t.body||null}for(;n&&n.shadowRoot&&n.shadowRoot.activeElement;)n=n.shadowRoot.activeElement;return n}function j(e,t){var n=e.className;P(t).test(n)||(e.className+=(n?" ":"")+t)}function de(e,t){for(var n=e.split(" "),r=0;r<n.length;r++)n[r]&&!P(n[r]).test(t)&&(t+=" "+n[r]);return t}var v=function(e){e.select()};w?v=function(e){e.selectionStart=0,e.selectionEnd=e.value.length}:k&&(v=function(e){try{e.select()}catch{}});function d(e){return e.display.wrapper.ownerDocument}function fe(e){return Te(e.display.wrapper)}function Te(e){return e.getRootNode?e.getRootNode():e.ownerDocument}function le(e){return d(e).defaultView}function xe(e){var t=Array.prototype.slice.call(arguments,1);return function(){return e.apply(null,t)}}function Me(e,t,n){t||(t={});for(var r in e)e.hasOwnProperty(r)&&(n!==!1||!t.hasOwnProperty(r))&&(t[r]=e[r]);return t}function Fe(e,t,n,r,i){t==null&&(t=e.search(/[^\s\u00a0]/),t==-1&&(t=e.length));for(var o=r||0,l=i||0;;){var a=e.indexOf(" ",o);if(a<0||a>=t)return l+(t-o);l+=a-o,l+=n-l%n,o=a+1}}var Ce=function(){this.id=null,this.f=null,this.time=0,this.handler=xe(this.onTimeout,this)};Ce.prototype.onTimeout=function(e){e.id=0,e.time<=+new Date?e.f():setTimeout(e.handler,e.time-+new Date)},Ce.prototype.set=function(e,t){this.f=t;var n=+new Date+e;(!this.id||n<this.time)&&(clearTimeout(this.id),this.id=setTimeout(this.handler,e),this.time=n)};function ve(e,t){for(var n=0;n<e.length;++n)if(e[n]==t)return n;return-1}var Oe=50,qe={toString:function(){return"CodeMirror.Pass"}},$e={scroll:!1},dt={origin:"*mouse"},Pe={origin:"+move"};function _e(e,t,n){for(var r=0,i=0;;){var o=e.indexOf(" ",r);o==-1&&(o=e.length);var l=o-r;if(o==e.length||i+l>=t)return r+Math.min(l,t-i);if(i+=o-r,i+=n-i%n,r=o+1,i>=t)return r}}var Ue=[""];function et(e){for(;Ue.length<=e;)Ue.push(we(Ue)+" ");return Ue[e]}function we(e){return e[e.length-1]}function Ie(e,t){for(var n=[],r=0;r<e.length;r++)n[r]=t(e[r],r);return n}function E(e,t,n){for(var r=0,i=n(t);r<e.length&&n(e[r])<=i;)r++;e.splice(r,0,t)}function ee(){}function K(e,t){var n;return Object.create?n=Object.create(e):(ee.prototype=e,n=new ee),t&&Me(t,n),n}var ze=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;function me(e){return/\w/.test(e)||e>"€"&&(e.toUpperCase()!=e.toLowerCase()||ze.test(e))}function De(e,t){return t?t.source.indexOf("\\w")>-1&&me(e)?!0:t.test(e):me(e)}function be(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!1;return!0}var Be=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function Ne(e){return e.charCodeAt(0)>=768&&Be.test(e)}function Mt(e,t,n){for(;(n<0?t>0:t<e.length)&&Ne(e.charAt(t));)t+=n;return t}function Pt(e,t,n){for(var r=t>n?-1:1;;){if(t==n)return t;var i=(t+n)/2,o=r<0?Math.ceil(i):Math.floor(i);if(o==t)return e(o)?t:n;e(o)?n=o:t=o+r}}function or(e,t,n,r){if(!e)return r(t,n,"ltr",0);for(var i=!1,o=0;o<e.length;++o){var l=e[o];(l.from<n&&l.to>t||t==n&&l.to==t)&&(r(Math.max(l.from,t),Math.min(l.to,n),l.level==1?"rtl":"ltr",o),i=!0)}i||r(t,n,"ltr")}var br=null;function lr(e,t,n){var r;br=null;for(var i=0;i<e.length;++i){var o=e[i];if(o.from<t&&o.to>t)return i;o.to==t&&(o.from!=o.to&&n=="before"?r=i:br=i),o.from==t&&(o.from!=o.to&&n!="before"?r=i:br=i)}return r??br}var mi=(function(){var e="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN",t="nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111";function n(u){return u<=247?e.charAt(u):1424<=u&&u<=1524?"R":1536<=u&&u<=1785?t.charAt(u-1536):1774<=u&&u<=2220?"r":8192<=u&&u<=8203?"w":u==8204?"b":"L"}var r=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,i=/[stwN]/,o=/[LRr]/,l=/[Lb1n]/,a=/[1n]/;function s(u,h,x){this.level=u,this.from=h,this.to=x}return function(u,h){var x=h=="ltr"?"L":"R";if(u.length==0||h=="ltr"&&!r.test(u))return!1;for(var D=u.length,L=[],H=0;H<D;++H)L.push(n(u.charCodeAt(H)));for(var Z=0,ie=x;Z<D;++Z){var ae=L[Z];ae=="m"?L[Z]=ie:ie=ae}for(var he=0,se=x;he<D;++he){var ge=L[he];ge=="1"&&se=="r"?L[he]="n":o.test(ge)&&(se=ge,ge=="r"&&(L[he]="R"))}for(var Le=1,ke=L[0];Le<D-1;++Le){var Ee=L[Le];Ee=="+"&&ke=="1"&&L[Le+1]=="1"?L[Le]="1":Ee==","&&ke==L[Le+1]&&(ke=="1"||ke=="n")&&(L[Le]=ke),ke=Ee}for(var Ke=0;Ke<D;++Ke){var st=L[Ke];if(st==",")L[Ke]="N";else if(st=="%"){var Xe=void 0;for(Xe=Ke+1;Xe<D&&L[Xe]=="%";++Xe);for(var Nt=Ke&&L[Ke-1]=="!"||Xe<D&&L[Xe]=="1"?"1":"N",Tt=Ke;Tt<Xe;++Tt)L[Tt]=Nt;Ke=Xe-1}}for(var tt=0,Ct=x;tt<D;++tt){var ft=L[tt];Ct=="L"&&ft=="1"?L[tt]="L":o.test(ft)&&(Ct=ft)}for(var nt=0;nt<D;++nt)if(i.test(L[nt])){var rt=void 0;for(rt=nt+1;rt<D&&i.test(L[rt]);++rt);for(var Ze=(nt?L[nt-1]:x)=="L",Dt=(rt<D?L[rt]:x)=="L",nn=Ze==Dt?Ze?"L":"R":x,yr=nt;yr<rt;++yr)L[yr]=nn;nt=rt-1}for(var vt=[],Jt,ut=0;ut<D;)if(l.test(L[ut])){var co=ut;for(++ut;ut<D&&l.test(L[ut]);++ut);vt.push(new s(0,co,ut))}else{var ir=ut,Ar=vt.length,Nr=h=="rtl"?1:0;for(++ut;ut<D&&L[ut]!="L";++ut);for(var bt=ir;bt<ut;)if(a.test(L[bt])){ir<bt&&(vt.splice(Ar,0,new s(1,ir,bt)),Ar+=Nr);var on=bt;for(++bt;bt<ut&&a.test(L[bt]);++bt);vt.splice(Ar,0,new s(2,on,bt)),Ar+=Nr,ir=bt}else++bt;ir<ut&&vt.splice(Ar,0,new s(1,ir,ut))}return h=="ltr"&&(vt[0].level==1&&(Jt=u.match(/^\s+/))&&(vt[0].from=Jt[0].length,vt.unshift(new s(0,0,Jt[0].length))),we(vt).level==1&&(Jt=u.match(/\s+$/))&&(we(vt).to-=Jt[0].length,vt.push(new s(0,D-Jt[0].length,D)))),h=="rtl"?vt.reverse():vt}})();function Re(e,t){var n=e.order;return n==null&&(n=e.order=mi(e.text,t)),n}var Bn=[],Se=function(e,t,n){if(e.addEventListener)e.addEventListener(t,n,!1);else if(e.attachEvent)e.attachEvent("on"+t,n);else{var r=e._handlers||(e._handlers={});r[t]=(r[t]||Bn).concat(n)}};function Zt(e,t){return e._handlers&&e._handlers[t]||Bn}function ht(e,t,n){if(e.removeEventListener)e.removeEventListener(t,n,!1);else if(e.detachEvent)e.detachEvent("on"+t,n);else{var r=e._handlers,i=r&&r[t];if(i){var o=ve(i,n);o>-1&&(r[t]=i.slice(0,o).concat(i.slice(o+1)))}}}function Ye(e,t){var n=Zt(e,t);if(n.length)for(var r=Array.prototype.slice.call(arguments,2),i=0;i<n.length;++i)n[i].apply(null,r)}function Qe(e,t,n){return typeof t=="string"&&(t={type:t,preventDefault:function(){this.defaultPrevented=!0}}),Ye(e,n||t.type,e,t),kt(t)||t.codemirrorIgnore}function It(e){var t=e._handlers&&e._handlers.cursorActivity;if(t)for(var n=e.curOp.cursorActivityHandlers||(e.curOp.cursorActivityHandlers=[]),r=0;r<t.length;++r)ve(n,t[r])==-1&&n.push(t[r])}function Ft(e,t){return Zt(e,t).length>0}function Bt(e){e.prototype.on=function(t,n){Se(this,t,n)},e.prototype.off=function(t,n){ht(this,t,n)}}function pt(e){e.preventDefault?e.preventDefault():e.returnValue=!1}function Er(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}function kt(e){return e.defaultPrevented!=null?e.defaultPrevented:e.returnValue==!1}function ar(e){pt(e),Er(e)}function ln(e){return e.target||e.srcElement}function Rt(e){var t=e.which;return t==null&&(e.button&1?t=1:e.button&2?t=3:e.button&4&&(t=2)),z&&e.ctrlKey&&t==1&&(t=3),t}var xi=(function(){if(k&&I<9)return!1;var e=c("div");return"draggable"in e||"dragDrop"in e})(),Or;function Rn(e){if(Or==null){var t=c("span","​");G(e,c("span",[t,document.createTextNode("x")])),e.firstChild.offsetHeight!=0&&(Or=t.offsetWidth<=1&&t.offsetHeight>2&&!(k&&I<8))}var n=Or?c("span","​"):c("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px");return n.setAttribute("cm-text",""),n}var an;function sr(e){if(an!=null)return an;var t=G(e,document.createTextNode("AخA")),n=C(t,0,1).getBoundingClientRect(),r=C(t,1,2).getBoundingClientRect();return F(e),!n||n.left==n.right?!1:an=r.right-n.right<3}var zt=`
2 -
3 -b`.split(/\n/).length!=3?function(e){for(var t=0,n=[],r=e.length;t<=r;){var i=e.indexOf(`
4 -`,t);i==-1&&(i=e.length);var o=e.slice(t,e.charAt(i-1)=="\r"?i-1:i),l=o.indexOf("\r");l!=-1?(n.push(o.slice(0,l)),t+=l+1):(n.push(o),t=i+1)}return n}:function(e){return e.split(/\r\n?|\n/)},ur=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch{return!1}}:function(e){var t;try{t=e.ownerDocument.selection.createRange()}catch{}return!t||t.parentElement()!=e?!1:t.compareEndPoints("StartToEnd",t)!=0},Wn=(function(){var e=c("div");return"oncopy"in e?!0:(e.setAttribute("oncopy","return;"),typeof e.oncopy=="function")})(),Wt=null;function yi(e){if(Wt!=null)return Wt;var t=G(e,c("span","x")),n=t.getBoundingClientRect(),r=C(t,0,1).getBoundingClientRect();return Wt=Math.abs(n.left-r.left)>1}var Pr={},Ht={};function _t(e,t){arguments.length>2&&(t.dependencies=Array.prototype.slice.call(arguments,2)),Pr[e]=t}function kr(e,t){Ht[e]=t}function Ir(e){if(typeof e=="string"&&Ht.hasOwnProperty(e))e=Ht[e];else if(e&&typeof e.name=="string"&&Ht.hasOwnProperty(e.name)){var t=Ht[e.name];typeof t=="string"&&(t={name:t}),e=K(t,e),e.name=t.name}else{if(typeof e=="string"&&/^[\w\-]+\/[\w\-]+\+xml$/.test(e))return Ir("application/xml");if(typeof e=="string"&&/^[\w\-]+\/[\w\-]+\+json$/.test(e))return Ir("application/json")}return typeof e=="string"?{name:e}:e||{name:"null"}}function zr(e,t){t=Ir(t);var n=Pr[t.name];if(!n)return zr(e,"text/plain");var r=n(e,t);if(fr.hasOwnProperty(t.name)){var i=fr[t.name];for(var o in i)i.hasOwnProperty(o)&&(r.hasOwnProperty(o)&&(r["_"+o]=r[o]),r[o]=i[o])}if(r.name=t.name,t.helperType&&(r.helperType=t.helperType),t.modeProps)for(var l in t.modeProps)r[l]=t.modeProps[l];return r}var fr={};function Br(e,t){var n=fr.hasOwnProperty(e)?fr[e]:fr[e]={};Me(t,n)}function Gt(e,t){if(t===!0)return t;if(e.copyState)return e.copyState(t);var n={};for(var r in t){var i=t[r];i instanceof Array&&(i=i.concat([])),n[r]=i}return n}function sn(e,t){for(var n;e.innerMode&&(n=e.innerMode(t),!(!n||n.mode==e));)t=n.state,e=n.mode;return n||{mode:e,state:t}}function Rr(e,t,n){return e.startState?e.startState(t,n):!0}var Je=function(e,t,n){this.pos=this.start=0,this.string=e,this.tabSize=t||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=n};Je.prototype.eol=function(){return this.pos>=this.string.length},Je.prototype.sol=function(){return this.pos==this.lineStart},Je.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},Je.prototype.next=function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},Je.prototype.eat=function(e){var t=this.string.charAt(this.pos),n;if(typeof e=="string"?n=t==e:n=t&&(e.test?e.test(t):e(t)),n)return++this.pos,t},Je.prototype.eatWhile=function(e){for(var t=this.pos;this.eat(e););return this.pos>t},Je.prototype.eatSpace=function(){for(var e=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},Je.prototype.skipToEnd=function(){this.pos=this.string.length},Je.prototype.skipTo=function(e){var t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0},Je.prototype.backUp=function(e){this.pos-=e},Je.prototype.column=function(){return this.lastColumnPos<this.start&&(this.lastColumnValue=Fe(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue-(this.lineStart?Fe(this.string,this.lineStart,this.tabSize):0)},Je.prototype.indentation=function(){return Fe(this.string,null,this.tabSize)-(this.lineStart?Fe(this.string,this.lineStart,this.tabSize):0)},Je.prototype.match=function(e,t,n){if(typeof e=="string"){var r=function(l){return n?l.toLowerCase():l},i=this.string.substr(this.pos,e.length);if(r(i)==r(e))return t!==!1&&(this.pos+=e.length),!0}else{var o=this.string.slice(this.pos).match(e);return o&&o.index>0?null:(o&&t!==!1&&(this.pos+=o[0].length),o)}},Je.prototype.current=function(){return this.string.slice(this.start,this.pos)},Je.prototype.hideFirstChars=function(e,t){this.lineStart+=e;try{return t()}finally{this.lineStart-=e}},Je.prototype.lookAhead=function(e){var t=this.lineOracle;return t&&t.lookAhead(e)},Je.prototype.baseToken=function(){var e=this.lineOracle;return e&&e.baseToken(this.pos)};function ye(e,t){if(t-=e.first,t<0||t>=e.size)throw new Error("There is no line "+(t+e.first)+" in the document.");for(var n=e;!n.lines;)for(var r=0;;++r){var i=n.children[r],o=i.chunkSize();if(t<o){n=i;break}t-=o}return n.lines[t]}function $t(e,t,n){var r=[],i=t.line;return e.iter(t.line,n.line+1,function(o){var l=o.text;i==n.line&&(l=l.slice(0,n.ch)),i==t.line&&(l=l.slice(t.ch)),r.push(l),++i}),r}function un(e,t,n){var r=[];return e.iter(t,n,function(i){r.push(i.text)}),r}function Et(e,t){var n=t-e.height;if(n)for(var r=e;r;r=r.parent)r.height+=n}function f(e){if(e.parent==null)return null;for(var t=e.parent,n=ve(t.lines,e),r=t.parent;r;t=r,r=r.parent)for(var i=0;r.children[i]!=t;++i)n+=r.children[i].chunkSize();return n+t.first}function m(e,t){var n=e.first;e:do{for(var r=0;r<e.children.length;++r){var i=e.children[r],o=i.height;if(t<o){e=i;continue e}t-=o,n+=i.chunkSize()}return n}while(!e.lines);for(var l=0;l<e.lines.length;++l){var a=e.lines[l],s=a.height;if(t<s)break;t-=s}return n+l}function U(e,t){return t>=e.first&&t<e.first+e.size}function re(e,t){return String(e.lineNumberFormatter(t+e.firstLineNumber))}function B(e,t,n){if(n===void 0&&(n=null),!(this instanceof B))return new B(e,t,n);this.line=e,this.ch=t,this.sticky=n}function ce(e,t){return e.line-t.line||e.ch-t.ch}function We(e,t){return e.sticky==t.sticky&&ce(e,t)==0}function it(e){return B(e.line,e.ch)}function wt(e,t){return ce(e,t)<0?t:e}function Wr(e,t){return ce(e,t)<0?e:t}function go(e,t){return Math.max(e.first,Math.min(t,e.first+e.size-1))}function Ae(e,t){if(t.line<e.first)return B(e.first,0);var n=e.first+e.size-1;return t.line>n?B(n,ye(e,n).text.length):Za(t,ye(e,t.line).text.length)}function Za(e,t){var n=e.ch;return n==null||n>t?B(e.line,t):n<0?B(e.line,0):e}function vo(e,t){for(var n=[],r=0;r<t.length;r++)n[r]=Ae(e,t[r]);return n}var Hn=function(e,t){this.state=e,this.lookAhead=t},Xt=function(e,t,n,r){this.state=t,this.doc=e,this.line=n,this.maxLookAhead=r||0,this.baseTokens=null,this.baseTokenPos=1};Xt.prototype.lookAhead=function(e){var t=this.doc.getLine(this.line+e);return t!=null&&e>this.maxLookAhead&&(this.maxLookAhead=e),t},Xt.prototype.baseToken=function(e){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=e;)this.baseTokenPos+=2;var t=this.baseTokens[this.baseTokenPos+1];return{type:t&&t.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-e}},Xt.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},Xt.fromSaved=function(e,t,n){return t instanceof Hn?new Xt(e,Gt(e.mode,t.state),n,t.lookAhead):new Xt(e,Gt(e.mode,t),n)},Xt.prototype.save=function(e){var t=e!==!1?Gt(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new Hn(t,this.maxLookAhead):t};function mo(e,t,n,r){var i=[e.state.modeGen],o={};So(e,t.text,e.doc.mode,n,function(u,h){return i.push(u,h)},o,r);for(var l=n.state,a=function(u){n.baseTokens=i;var h=e.state.overlays[u],x=1,D=0;n.state=!0,So(e,t.text,h.mode,n,function(L,H){for(var Z=x;D<L;){var ie=i[x];ie>L&&i.splice(x,1,L,i[x+1],ie),x+=2,D=Math.min(L,ie)}if(H)if(h.opaque)i.splice(Z,x-Z,L,"overlay "+H),x=Z+2;else for(;Z<x;Z+=2){var ae=i[Z+1];i[Z+1]=(ae?ae+" ":"")+"overlay "+H}},o),n.state=l,n.baseTokens=null,n.baseTokenPos=1},s=0;s<e.state.overlays.length;++s)a(s);return{styles:i,classes:o.bgClass||o.textClass?o:null}}function xo(e,t,n){if(!t.styles||t.styles[0]!=e.state.modeGen){var r=fn(e,f(t)),i=t.text.length>e.options.maxHighlightLength&&Gt(e.doc.mode,r.state),o=mo(e,t,r);i&&(r.state=i),t.stateAfter=r.save(!i),t.styles=o.styles,o.classes?t.styleClasses=o.classes:t.styleClasses&&(t.styleClasses=null),n===e.doc.highlightFrontier&&(e.doc.modeFrontier=Math.max(e.doc.modeFrontier,++e.doc.highlightFrontier))}return t.styles}function fn(e,t,n){var r=e.doc,i=e.display;if(!r.mode.startState)return new Xt(r,!0,t);var o=$a(e,t,n),l=o>r.first&&ye(r,o-1).stateAfter,a=l?Xt.fromSaved(r,l,o):new Xt(r,Rr(r.mode),o);return r.iter(o,t,function(s){bi(e,s.text,a);var u=a.line;s.stateAfter=u==t-1||u%5==0||u>=i.viewFrom&&u<i.viewTo?a.save():null,a.nextLine()}),n&&(r.modeFrontier=a.line),a}function bi(e,t,n,r){var i=e.doc.mode,o=new Je(t,e.options.tabSize,n);for(o.start=o.pos=r||0,t==""&&yo(i,n.state);!o.eol();)ki(i,o,n.state),o.start=o.pos}function yo(e,t){if(e.blankLine)return e.blankLine(t);if(e.innerMode){var n=sn(e,t);if(n.mode.blankLine)return n.mode.blankLine(n.state)}}function ki(e,t,n,r){for(var i=0;i<10;i++){r&&(r[0]=sn(e,n).mode);var o=e.token(t,n);if(t.pos>t.start)return o}throw new Error("Mode "+e.name+" failed to advance stream.")}var bo=function(e,t,n){this.start=e.start,this.end=e.pos,this.string=e.current(),this.type=t||null,this.state=n};function ko(e,t,n,r){var i=e.doc,o=i.mode,l;t=Ae(i,t);var a=ye(i,t.line),s=fn(e,t.line,n),u=new Je(a.text,e.options.tabSize,s),h;for(r&&(h=[]);(r||u.pos<t.ch)&&!u.eol();)u.start=u.pos,l=ki(o,u,s.state),r&&h.push(new bo(u,l,Gt(i.mode,s.state)));return r?h:new bo(u,l,s.state)}function wo(e,t){if(e)for(;;){var n=e.match(/(?:^|\s+)line-(background-)?(\S+)/);if(!n)break;e=e.slice(0,n.index)+e.slice(n.index+n[0].length);var r=n[1]?"bgClass":"textClass";t[r]==null?t[r]=n[2]:new RegExp("(?:^|\\s)"+n[2]+"(?:$|\\s)").test(t[r])||(t[r]+=" "+n[2])}return e}function So(e,t,n,r,i,o,l){var a=n.flattenSpans;a==null&&(a=e.options.flattenSpans);var s=0,u=null,h=new Je(t,e.options.tabSize,r),x,D=e.options.addModeClass&&[null];for(t==""&&wo(yo(n,r.state),o);!h.eol();){if(h.pos>e.options.maxHighlightLength?(a=!1,l&&bi(e,t,r,h.pos),h.pos=t.length,x=null):x=wo(ki(n,h,r.state,D),o),D){var L=D[0].name;L&&(x="m-"+(x?L+" "+x:L))}if(!a||u!=x){for(;s<h.start;)s=Math.min(h.start,s+5e3),i(s,u);u=x}h.start=h.pos}for(;s<h.pos;){var H=Math.min(h.pos,s+5e3);i(H,u),s=H}}function $a(e,t,n){for(var r,i,o=e.doc,l=n?-1:t-(e.doc.mode.innerMode?1e3:100),a=t;a>l;--a){if(a<=o.first)return o.first;var s=ye(o,a-1),u=s.stateAfter;if(u&&(!n||a+(u instanceof Hn?u.lookAhead:0)<=o.modeFrontier))return a;var h=Fe(s.text,null,e.options.tabSize);(i==null||r>h)&&(i=a-1,r=h)}return i}function Va(e,t){if(e.modeFrontier=Math.min(e.modeFrontier,t),!(e.highlightFrontier<t-10)){for(var n=e.first,r=t-1;r>n;r--){var i=ye(e,r).stateAfter;if(i&&(!(i instanceof Hn)||r+i.lookAhead<t)){n=r+1;break}}e.highlightFrontier=Math.min(e.highlightFrontier,n)}}var Lo=!1,Vt=!1;function es(){Lo=!0}function ts(){Vt=!0}function _n(e,t,n){this.marker=e,this.from=t,this.to=n}function cn(e,t){if(e)for(var n=0;n<e.length;++n){var r=e[n];if(r.marker==t)return r}}function rs(e,t){for(var n,r=0;r<e.length;++r)e[r]!=t&&(n||(n=[])).push(e[r]);return n}function ns(e,t,n){var r=n&&window.WeakSet&&(n.markedSpans||(n.markedSpans=new WeakSet));r&&e.markedSpans&&r.has(e.markedSpans)?e.markedSpans.push(t):(e.markedSpans=e.markedSpans?e.markedSpans.concat([t]):[t],r&&r.add(e.markedSpans)),t.marker.attachLine(e)}function is(e,t,n){var r;if(e)for(var i=0;i<e.length;++i){var o=e[i],l=o.marker,a=o.from==null||(l.inclusiveLeft?o.from<=t:o.from<t);if(a||o.from==t&&l.type=="bookmark"&&(!n||!o.marker.insertLeft)){var s=o.to==null||(l.inclusiveRight?o.to>=t:o.to>t);(r||(r=[])).push(new _n(l,o.from,s?null:o.to))}}return r}function os(e,t,n){var r;if(e)for(var i=0;i<e.length;++i){var o=e[i],l=o.marker,a=o.to==null||(l.inclusiveRight?o.to>=t:o.to>t);if(a||o.from==t&&l.type=="bookmark"&&(!n||o.marker.insertLeft)){var s=o.from==null||(l.inclusiveLeft?o.from<=t:o.from<t);(r||(r=[])).push(new _n(l,s?null:o.from-t,o.to==null?null:o.to-t))}}return r}function wi(e,t){if(t.full)return null;var n=U(e,t.from.line)&&ye(e,t.from.line).markedSpans,r=U(e,t.to.line)&&ye(e,t.to.line).markedSpans;if(!n&&!r)return null;var i=t.from.ch,o=t.to.ch,l=ce(t.from,t.to)==0,a=is(n,i,l),s=os(r,o,l),u=t.text.length==1,h=we(t.text).length+(u?i:0);if(a)for(var x=0;x<a.length;++x){var D=a[x];if(D.to==null){var L=cn(s,D.marker);L?u&&(D.to=L.to==null?null:L.to+h):D.to=i}}if(s)for(var H=0;H<s.length;++H){var Z=s[H];if(Z.to!=null&&(Z.to+=h),Z.from==null){var ie=cn(a,Z.marker);ie||(Z.from=h,u&&(a||(a=[])).push(Z))}else Z.from+=h,u&&(a||(a=[])).push(Z)}a&&(a=To(a)),s&&s!=a&&(s=To(s));var ae=[a];if(!u){var he=t.text.length-2,se;if(he>0&&a)for(var ge=0;ge<a.length;++ge)a[ge].to==null&&(se||(se=[])).push(new _n(a[ge].marker,null,null));for(var Le=0;Le<he;++Le)ae.push(se);ae.push(s)}return ae}function To(e){for(var t=0;t<e.length;++t){var n=e[t];n.from!=null&&n.from==n.to&&n.marker.clearWhenEmpty!==!1&&e.splice(t--,1)}return e.length?e:null}function ls(e,t,n){var r=null;if(e.iter(t.line,n.line+1,function(L){if(L.markedSpans)for(var H=0;H<L.markedSpans.length;++H){var Z=L.markedSpans[H].marker;Z.readOnly&&(!r||ve(r,Z)==-1)&&(r||(r=[])).push(Z)}}),!r)return null;for(var i=[{from:t,to:n}],o=0;o<r.length;++o)for(var l=r[o],a=l.find(0),s=0;s<i.length;++s){var u=i[s];if(!(ce(u.to,a.from)<0||ce(u.from,a.to)>0)){var h=[s,1],x=ce(u.from,a.from),D=ce(u.to,a.to);(x<0||!l.inclusiveLeft&&!x)&&h.push({from:u.from,to:a.from}),(D>0||!l.inclusiveRight&&!D)&&h.push({from:a.to,to:u.to}),i.splice.apply(i,h),s+=h.length-3}}return i}function Co(e){var t=e.markedSpans;if(t){for(var n=0;n<t.length;++n)t[n].marker.detachLine(e);e.markedSpans=null}}function Do(e,t){if(t){for(var n=0;n<t.length;++n)t[n].marker.attachLine(e);e.markedSpans=t}}function qn(e){return e.inclusiveLeft?-1:0}function jn(e){return e.inclusiveRight?1:0}function Si(e,t){var n=e.lines.length-t.lines.length;if(n!=0)return n;var r=e.find(),i=t.find(),o=ce(r.from,i.from)||qn(e)-qn(t);if(o)return-o;var l=ce(r.to,i.to)||jn(e)-jn(t);return l||t.id-e.id}function Mo(e,t){var n=Vt&&e.markedSpans,r;if(n)for(var i=void 0,o=0;o<n.length;++o)i=n[o],i.marker.collapsed&&(t?i.from:i.to)==null&&(!r||Si(r,i.marker)<0)&&(r=i.marker);return r}function Fo(e){return Mo(e,!0)}function Kn(e){return Mo(e,!1)}function as(e,t){var n=Vt&&e.markedSpans,r;if(n)for(var i=0;i<n.length;++i){var o=n[i];o.marker.collapsed&&(o.from==null||o.from<t)&&(o.to==null||o.to>t)&&(!r||Si(r,o.marker)<0)&&(r=o.marker)}return r}function Ao(e,t,n,r,i){var o=ye(e,t),l=Vt&&o.markedSpans;if(l)for(var a=0;a<l.length;++a){var s=l[a];if(s.marker.collapsed){var u=s.marker.find(0),h=ce(u.from,n)||qn(s.marker)-qn(i),x=ce(u.to,r)||jn(s.marker)-jn(i);if(!(h>=0&&x<=0||h<=0&&x>=0)&&(h<=0&&(s.marker.inclusiveRight&&i.inclusiveLeft?ce(u.to,n)>=0:ce(u.to,n)>0)||h>=0&&(s.marker.inclusiveRight&&i.inclusiveLeft?ce(u.from,r)<=0:ce(u.from,r)<0)))return!0}}}function qt(e){for(var t;t=Fo(e);)e=t.find(-1,!0).line;return e}function ss(e){for(var t;t=Kn(e);)e=t.find(1,!0).line;return e}function us(e){for(var t,n;t=Kn(e);)e=t.find(1,!0).line,(n||(n=[])).push(e);return n}function Li(e,t){var n=ye(e,t),r=qt(n);return n==r?t:f(r)}function No(e,t){if(t>e.lastLine())return t;var n=ye(e,t),r;if(!cr(e,n))return t;for(;r=Kn(n);)n=r.find(1,!0).line;return f(n)+1}function cr(e,t){var n=Vt&&t.markedSpans;if(n){for(var r=void 0,i=0;i<n.length;++i)if(r=n[i],!!r.marker.collapsed){if(r.from==null)return!0;if(!r.marker.widgetNode&&r.from==0&&r.marker.inclusiveLeft&&Ti(e,t,r))return!0}}}function Ti(e,t,n){if(n.to==null){var r=n.marker.find(1,!0);return Ti(e,r.line,cn(r.line.markedSpans,n.marker))}if(n.marker.inclusiveRight&&n.to==t.text.length)return!0;for(var i=void 0,o=0;o<t.markedSpans.length;++o)if(i=t.markedSpans[o],i.marker.collapsed&&!i.marker.widgetNode&&i.from==n.to&&(i.to==null||i.to!=n.from)&&(i.marker.inclusiveLeft||n.marker.inclusiveRight)&&Ti(e,t,i))return!0}function er(e){e=qt(e);for(var t=0,n=e.parent,r=0;r<n.lines.length;++r){var i=n.lines[r];if(i==e)break;t+=i.height}for(var o=n.parent;o;n=o,o=n.parent)for(var l=0;l<o.children.length;++l){var a=o.children[l];if(a==n)break;t+=a.height}return t}function Un(e){if(e.height==0)return 0;for(var t=e.text.length,n,r=e;n=Fo(r);){var i=n.find(0,!0);r=i.from.line,t+=i.from.ch-i.to.ch}for(r=e;n=Kn(r);){var o=n.find(0,!0);t-=r.text.length-o.from.ch,r=o.to.line,t+=r.text.length-o.to.ch}return t}function Ci(e){var t=e.display,n=e.doc;t.maxLine=ye(n,n.first),t.maxLineLength=Un(t.maxLine),t.maxLineChanged=!0,n.iter(function(r){var i=Un(r);i>t.maxLineLength&&(t.maxLineLength=i,t.maxLine=r)})}var Hr=function(e,t,n){this.text=e,Do(this,t),this.height=n?n(this):1};Hr.prototype.lineNo=function(){return f(this)},Bt(Hr);function fs(e,t,n,r){e.text=t,e.stateAfter&&(e.stateAfter=null),e.styles&&(e.styles=null),e.order!=null&&(e.order=null),Co(e),Do(e,n);var i=r?r(e):1;i!=e.height&&Et(e,i)}function cs(e){e.parent=null,Co(e)}var ds={},hs={};function Eo(e,t){if(!e||/^\s*$/.test(e))return null;var n=t.addModeClass?hs:ds;return n[e]||(n[e]=e.replace(/\S+/g,"cm-$&"))}function Oo(e,t){var n=T("span",null,null,Y?"padding-right: .1px":null),r={pre:T("pre",[n],"CodeMirror-line"),content:n,col:0,pos:0,cm:e,trailingSpace:!1,splitSpaces:e.getOption("lineWrapping")};t.measure={};for(var i=0;i<=(t.rest?t.rest.length:0);i++){var o=i?t.rest[i-1]:t.line,l=void 0;r.pos=0,r.addToken=gs,sr(e.display.measure)&&(l=Re(o,e.doc.direction))&&(r.addToken=ms(r.addToken,l)),r.map=[];var a=t!=e.display.externalMeasured&&f(o);xs(o,r,xo(e,o,a)),o.styleClasses&&(o.styleClasses.bgClass&&(r.bgClass=de(o.styleClasses.bgClass,r.bgClass||"")),o.styleClasses.textClass&&(r.textClass=de(o.styleClasses.textClass,r.textClass||""))),r.map.length==0&&r.map.push(0,0,r.content.appendChild(Rn(e.display.measure))),i==0?(t.measure.map=r.map,t.measure.cache={}):((t.measure.maps||(t.measure.maps=[])).push(r.map),(t.measure.caches||(t.measure.caches=[])).push({}))}if(Y){var s=r.content.lastChild;(/\bcm-tab\b/.test(s.className)||s.querySelector&&s.querySelector(".cm-tab"))&&(r.content.className="cm-tab-wrap-hack")}return Ye(e,"renderLine",e,t.line,r.pre),r.pre.className&&(r.textClass=de(r.pre.className,r.textClass||"")),r}function ps(e){var t=c("span","•","cm-invalidchar");return t.title="\\u"+e.charCodeAt(0).toString(16),t.setAttribute("aria-label",t.title),t}function gs(e,t,n,r,i,o,l){if(t){var a=e.splitSpaces?vs(t,e.trailingSpace):t,s=e.cm.state.specialChars,u=!1,h;if(!s.test(t))e.col+=t.length,h=document.createTextNode(a),e.map.push(e.pos,e.pos+t.length,h),k&&I<9&&(u=!0),e.pos+=t.length;else{h=document.createDocumentFragment();for(var x=0;;){s.lastIndex=x;var D=s.exec(t),L=D?D.index-x:t.length-x;if(L){var H=document.createTextNode(a.slice(x,x+L));k&&I<9?h.appendChild(c("span",[H])):h.appendChild(H),e.map.push(e.pos,e.pos+L,H),e.col+=L,e.pos+=L}if(!D)break;x+=L+1;var Z=void 0;if(D[0]==" "){var ie=e.cm.options.tabSize,ae=ie-e.col%ie;Z=h.appendChild(c("span",et(ae),"cm-tab")),Z.setAttribute("role","presentation"),Z.setAttribute("cm-text"," "),e.col+=ae}else D[0]=="\r"||D[0]==`
5 -`?(Z=h.appendChild(c("span",D[0]=="\r"?"␍":"␤","cm-invalidchar")),Z.setAttribute("cm-text",D[0]),e.col+=1):(Z=e.cm.options.specialCharPlaceholder(D[0]),Z.setAttribute("cm-text",D[0]),k&&I<9?h.appendChild(c("span",[Z])):h.appendChild(Z),e.col+=1);e.map.push(e.pos,e.pos+1,Z),e.pos++}}if(e.trailingSpace=a.charCodeAt(t.length-1)==32,n||r||i||u||o||l){var he=n||"";r&&(he+=r),i&&(he+=i);var se=c("span",[h],he,o);if(l)for(var ge in l)l.hasOwnProperty(ge)&&ge!="style"&&ge!="class"&&se.setAttribute(ge,l[ge]);return e.content.appendChild(se)}e.content.appendChild(h)}}function vs(e,t){if(e.length>1&&!/ /.test(e))return e;for(var n=t,r="",i=0;i<e.length;i++){var o=e.charAt(i);o==" "&&n&&(i==e.length-1||e.charCodeAt(i+1)==32)&&(o=" "),r+=o,n=o==" "}return r}function ms(e,t){return function(n,r,i,o,l,a,s){i=i?i+" cm-force-border":"cm-force-border";for(var u=n.pos,h=u+r.length;;){for(var x=void 0,D=0;D<t.length&&(x=t[D],!(x.to>u&&x.from<=u));D++);if(x.to>=h)return e(n,r,i,o,l,a,s);e(n,r.slice(0,x.to-u),i,o,null,a,s),o=null,r=r.slice(x.to-u),u=x.to}}}function Po(e,t,n,r){var i=!r&&n.widgetNode;i&&e.map.push(e.pos,e.pos+t,i),!r&&e.cm.display.input.needsContentAttribute&&(i||(i=e.content.appendChild(document.createElement("span"))),i.setAttribute("cm-marker",n.id)),i&&(e.cm.display.input.setUneditable(i),e.content.appendChild(i)),e.pos+=t,e.trailingSpace=!1}function xs(e,t,n){var r=e.markedSpans,i=e.text,o=0;if(!r){for(var l=1;l<n.length;l+=2)t.addToken(t,i.slice(o,o=n[l]),Eo(n[l+1],t.cm.options));return}for(var a=i.length,s=0,u=1,h="",x,D,L=0,H,Z,ie,ae,he;;){if(L==s){H=Z=ie=D="",he=null,ae=null,L=1/0;for(var se=[],ge=void 0,Le=0;Le<r.length;++Le){var ke=r[Le],Ee=ke.marker;if(Ee.type=="bookmark"&&ke.from==s&&Ee.widgetNode)se.push(Ee);else if(ke.from<=s&&(ke.to==null||ke.to>s||Ee.collapsed&&ke.to==s&&ke.from==s)){if(ke.to!=null&&ke.to!=s&&L>ke.to&&(L=ke.to,Z=""),Ee.className&&(H+=" "+Ee.className),Ee.css&&(D=(D?D+";":"")+Ee.css),Ee.startStyle&&ke.from==s&&(ie+=" "+Ee.startStyle),Ee.endStyle&&ke.to==L&&(ge||(ge=[])).push(Ee.endStyle,ke.to),Ee.title&&((he||(he={})).title=Ee.title),Ee.attributes)for(var Ke in Ee.attributes)(he||(he={}))[Ke]=Ee.attributes[Ke];Ee.collapsed&&(!ae||Si(ae.marker,Ee)<0)&&(ae=ke)}else ke.from>s&&L>ke.from&&(L=ke.from)}if(ge)for(var st=0;st<ge.length;st+=2)ge[st+1]==L&&(Z+=" "+ge[st]);if(!ae||ae.from==s)for(var Xe=0;Xe<se.length;++Xe)Po(t,0,se[Xe]);if(ae&&(ae.from||0)==s){if(Po(t,(ae.to==null?a+1:ae.to)-s,ae.marker,ae.from==null),ae.to==null)return;ae.to==s&&(ae=!1)}}if(s>=a)break;for(var Nt=Math.min(a,L);;){if(h){var Tt=s+h.length;if(!ae){var tt=Tt>Nt?h.slice(0,Nt-s):h;t.addToken(t,tt,x?x+H:H,ie,s+tt.length==L?Z:"",D,he)}if(Tt>=Nt){h=h.slice(Nt-s),s=Nt;break}s=Tt,ie=""}h=i.slice(o,o=n[u++]),x=Eo(n[u++],t.cm.options)}}}function Io(e,t,n){this.line=t,this.rest=us(t),this.size=this.rest?f(we(this.rest))-n+1:1,this.node=this.text=null,this.hidden=cr(e,t)}function Gn(e,t,n){for(var r=[],i,o=t;o<n;o=i){var l=new Io(e.doc,ye(e.doc,o),o);i=o+l.size,r.push(l)}return r}var _r=null;function ys(e){_r?_r.ops.push(e):e.ownsGroup=_r={ops:[e],delayedCallbacks:[]}}function bs(e){var t=e.delayedCallbacks,n=0;do{for(;n<t.length;n++)t[n].call(null);for(var r=0;r<e.ops.length;r++){var i=e.ops[r];if(i.cursorActivityHandlers)for(;i.cursorActivityCalled<i.cursorActivityHandlers.length;)i.cursorActivityHandlers[i.cursorActivityCalled++].call(null,i.cm)}}while(n<t.length)}function ks(e,t){var n=e.ownsGroup;if(n)try{bs(n)}finally{_r=null,t(n)}}var dn=null;function ot(e,t){var n=Zt(e,t);if(n.length){var r=Array.prototype.slice.call(arguments,2),i;_r?i=_r.delayedCallbacks:dn?i=dn:(i=dn=[],setTimeout(ws,0));for(var o=function(a){i.push(function(){return n[a].apply(null,r)})},l=0;l<n.length;++l)o(l)}}function ws(){var e=dn;dn=null;for(var t=0;t<e.length;++t)e[t]()}function zo(e,t,n,r){for(var i=0;i<t.changes.length;i++){var o=t.changes[i];o=="text"?Ls(e,t):o=="gutter"?Ro(e,t,n,r):o=="class"?Di(e,t):o=="widget"&&Ts(e,t,r)}t.changes=null}function hn(e){return e.node==e.text&&(e.node=c("div",null,null,"position: relative"),e.text.parentNode&&e.text.parentNode.replaceChild(e.node,e.text),e.node.appendChild(e.text),k&&I<8&&(e.node.style.zIndex=2)),e.node}function Ss(e,t){var n=t.bgClass?t.bgClass+" "+(t.line.bgClass||""):t.line.bgClass;if(n&&(n+=" CodeMirror-linebackground"),t.background)n?t.background.className=n:(t.background.parentNode.removeChild(t.background),t.background=null);else if(n){var r=hn(t);t.background=r.insertBefore(c("div",null,n),r.firstChild),e.display.input.setUneditable(t.background)}}function Bo(e,t){var n=e.display.externalMeasured;return n&&n.line==t.line?(e.display.externalMeasured=null,t.measure=n.measure,n.built):Oo(e,t)}function Ls(e,t){var n=t.text.className,r=Bo(e,t);t.text==t.node&&(t.node=r.pre),t.text.parentNode.replaceChild(r.pre,t.text),t.text=r.pre,r.bgClass!=t.bgClass||r.textClass!=t.textClass?(t.bgClass=r.bgClass,t.textClass=r.textClass,Di(e,t)):n&&(t.text.className=n)}function Di(e,t){Ss(e,t),t.line.wrapClass?hn(t).className=t.line.wrapClass:t.node!=t.text&&(t.node.className="");var n=t.textClass?t.textClass+" "+(t.line.textClass||""):t.line.textClass;t.text.className=n||""}function Ro(e,t,n,r){if(t.gutter&&(t.node.removeChild(t.gutter),t.gutter=null),t.gutterBackground&&(t.node.removeChild(t.gutterBackground),t.gutterBackground=null),t.line.gutterClass){var i=hn(t);t.gutterBackground=c("div",null,"CodeMirror-gutter-background "+t.line.gutterClass,"left: "+(e.options.fixedGutter?r.fixedPos:-r.gutterTotalWidth)+"px; width: "+r.gutterTotalWidth+"px"),e.display.input.setUneditable(t.gutterBackground),i.insertBefore(t.gutterBackground,t.text)}var o=t.line.gutterMarkers;if(e.options.lineNumbers||o){var l=hn(t),a=t.gutter=c("div",null,"CodeMirror-gutter-wrapper","left: "+(e.options.fixedGutter?r.fixedPos:-r.gutterTotalWidth)+"px");if(a.setAttribute("aria-hidden","true"),e.display.input.setUneditable(a),l.insertBefore(a,t.text),t.line.gutterClass&&(a.className+=" "+t.line.gutterClass),e.options.lineNumbers&&(!o||!o["CodeMirror-linenumbers"])&&(t.lineNumber=a.appendChild(c("div",re(e.options,n),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+r.gutterLeft["CodeMirror-linenumbers"]+"px; width: "+e.display.lineNumInnerWidth+"px"))),o)for(var s=0;s<e.display.gutterSpecs.length;++s){var u=e.display.gutterSpecs[s].className,h=o.hasOwnProperty(u)&&o[u];h&&a.appendChild(c("div",[h],"CodeMirror-gutter-elt","left: "+r.gutterLeft[u]+"px; width: "+r.gutterWidth[u]+"px"))}}}function Ts(e,t,n){t.alignable&&(t.alignable=null);for(var r=P("CodeMirror-linewidget"),i=t.node.firstChild,o=void 0;i;i=o)o=i.nextSibling,r.test(i.className)&&t.node.removeChild(i);Wo(e,t,n)}function Cs(e,t,n,r){var i=Bo(e,t);return t.text=t.node=i.pre,i.bgClass&&(t.bgClass=i.bgClass),i.textClass&&(t.textClass=i.textClass),Di(e,t),Ro(e,t,n,r),Wo(e,t,r),t.node}function Wo(e,t,n){if(Ho(e,t.line,t,n,!0),t.rest)for(var r=0;r<t.rest.length;r++)Ho(e,t.rest[r],t,n,!1)}function Ho(e,t,n,r,i){if(t.widgets)for(var o=hn(n),l=0,a=t.widgets;l<a.length;++l){var s=a[l],u=c("div",[s.node],"CodeMirror-linewidget"+(s.className?" "+s.className:""));s.handleMouseEvents||u.setAttribute("cm-ignore-events","true"),Ds(s,u,n,r),e.display.input.setUneditable(u),i&&s.above?o.insertBefore(u,n.gutter||n.text):o.appendChild(u),ot(s,"redraw")}}function Ds(e,t,n,r){if(e.noHScroll){(n.alignable||(n.alignable=[])).push(t);var i=r.wrapperWidth;t.style.left=r.fixedPos+"px",e.coverGutter||(i-=r.gutterTotalWidth,t.style.paddingLeft=r.gutterTotalWidth+"px"),t.style.width=i+"px"}e.coverGutter&&(t.style.zIndex=5,t.style.position="relative",e.noHScroll||(t.style.marginLeft=-r.gutterTotalWidth+"px"))}function pn(e){if(e.height!=null)return e.height;var t=e.doc.cm;if(!t)return 0;if(!g(document.body,e.node)){var n="position: relative;";e.coverGutter&&(n+="margin-left: -"+t.display.gutters.offsetWidth+"px;"),e.noHScroll&&(n+="width: "+t.display.wrapper.clientWidth+"px;"),G(t.display.measure,c("div",[e.node],null,n))}return e.height=e.node.parentNode.offsetHeight}function tr(e,t){for(var n=ln(t);n!=e.wrapper;n=n.parentNode)if(!n||n.nodeType==1&&n.getAttribute("cm-ignore-events")=="true"||n.parentNode==e.sizer&&n!=e.mover)return!0}function Xn(e){return e.lineSpace.offsetTop}function Mi(e){return e.mover.offsetHeight-e.lineSpace.offsetHeight}function _o(e){if(e.cachedPaddingH)return e.cachedPaddingH;var t=G(e.measure,c("pre","x","CodeMirror-line-like")),n=window.getComputedStyle?window.getComputedStyle(t):t.currentStyle,r={left:parseInt(n.paddingLeft),right:parseInt(n.paddingRight)};return!isNaN(r.left)&&!isNaN(r.right)&&(e.cachedPaddingH=r),r}function Yt(e){return Oe-e.display.nativeBarWidth}function wr(e){return e.display.scroller.clientWidth-Yt(e)-e.display.barWidth}function Fi(e){return e.display.scroller.clientHeight-Yt(e)-e.display.barHeight}function Ms(e,t,n){var r=e.options.lineWrapping,i=r&&wr(e);if(!t.measure.heights||r&&t.measure.width!=i){var o=t.measure.heights=[];if(r){t.measure.width=i;for(var l=t.text.firstChild.getClientRects(),a=0;a<l.length-1;a++){var s=l[a],u=l[a+1];Math.abs(s.bottom-u.bottom)>2&&o.push((s.bottom+u.top)/2-n.top)}}o.push(n.bottom-n.top)}}function qo(e,t,n){if(e.line==t)return{map:e.measure.map,cache:e.measure.cache};if(e.rest){for(var r=0;r<e.rest.length;r++)if(e.rest[r]==t)return{map:e.measure.maps[r],cache:e.measure.caches[r]};for(var i=0;i<e.rest.length;i++)if(f(e.rest[i])>n)return{map:e.measure.maps[i],cache:e.measure.caches[i],before:!0}}}function Fs(e,t){t=qt(t);var n=f(t),r=e.display.externalMeasured=new Io(e.doc,t,n);r.lineN=n;var i=r.built=Oo(e,r);return r.text=i.pre,G(e.display.lineMeasure,i.pre),r}function jo(e,t,n,r){return Qt(e,qr(e,t),n,r)}function Ai(e,t){if(t>=e.display.viewFrom&&t<e.display.viewTo)return e.display.view[Tr(e,t)];var n=e.display.externalMeasured;if(n&&t>=n.lineN&&t<n.lineN+n.size)return n}function qr(e,t){var n=f(t),r=Ai(e,n);r&&!r.text?r=null:r&&r.changes&&(zo(e,r,n,Ii(e)),e.curOp.forceUpdate=!0),r||(r=Fs(e,t));var i=qo(r,t,n);return{line:t,view:r,rect:null,map:i.map,cache:i.cache,before:i.before,hasHeights:!1}}function Qt(e,t,n,r,i){t.before&&(n=-1);var o=n+(r||""),l;return t.cache.hasOwnProperty(o)?l=t.cache[o]:(t.rect||(t.rect=t.view.text.getBoundingClientRect()),t.hasHeights||(Ms(e,t.view,t.rect),t.hasHeights=!0),l=Ns(e,t,n,r),l.bogus||(t.cache[o]=l)),{left:l.left,right:l.right,top:i?l.rtop:l.top,bottom:i?l.rbottom:l.bottom}}var Ko={left:0,right:0,top:0,bottom:0};function Uo(e,t,n){for(var r,i,o,l,a,s,u=0;u<e.length;u+=3)if(a=e[u],s=e[u+1],t<a?(i=0,o=1,l="left"):t<s?(i=t-a,o=i+1):(u==e.length-3||t==s&&e[u+3]>t)&&(o=s-a,i=o-1,t>=s&&(l="right")),i!=null){if(r=e[u+2],a==s&&n==(r.insertLeft?"left":"right")&&(l=n),n=="left"&&i==0)for(;u&&e[u-2]==e[u-3]&&e[u-1].insertLeft;)r=e[(u-=3)+2],l="left";if(n=="right"&&i==s-a)for(;u<e.length-3&&e[u+3]==e[u+4]&&!e[u+5].insertLeft;)r=e[(u+=3)+2],l="right";break}return{node:r,start:i,end:o,collapse:l,coverStart:a,coverEnd:s}}function As(e,t){var n=Ko;if(t=="left")for(var r=0;r<e.length&&(n=e[r]).left==n.right;r++);else for(var i=e.length-1;i>=0&&(n=e[i]).left==n.right;i--);return n}function Ns(e,t,n,r){var i=Uo(t.map,n,r),o=i.node,l=i.start,a=i.end,s=i.collapse,u;if(o.nodeType==3){for(var h=0;h<4;h++){for(;l&&Ne(t.line.text.charAt(i.coverStart+l));)--l;for(;i.coverStart+a<i.coverEnd&&Ne(t.line.text.charAt(i.coverStart+a));)++a;if(k&&I<9&&l==0&&a==i.coverEnd-i.coverStart?u=o.parentNode.getBoundingClientRect():u=As(C(o,l,a).getClientRects(),r),u.left||u.right||l==0)break;a=l,l=l-1,s="right"}k&&I<11&&(u=Es(e.display.measure,u))}else{l>0&&(s=r="right");var x;e.options.lineWrapping&&(x=o.getClientRects()).length>1?u=x[r=="right"?x.length-1:0]:u=o.getBoundingClientRect()}if(k&&I<9&&!l&&(!u||!u.left&&!u.right)){var D=o.parentNode.getClientRects()[0];D?u={left:D.left,right:D.left+Kr(e.display),top:D.top,bottom:D.bottom}:u=Ko}for(var L=u.top-t.rect.top,H=u.bottom-t.rect.top,Z=(L+H)/2,ie=t.view.measure.heights,ae=0;ae<ie.length-1&&!(Z<ie[ae]);ae++);var he=ae?ie[ae-1]:0,se=ie[ae],ge={left:(s=="right"?u.right:u.left)-t.rect.left,right:(s=="left"?u.left:u.right)-t.rect.left,top:he,bottom:se};return!u.left&&!u.right&&(ge.bogus=!0),e.options.singleCursorHeightPerLine||(ge.rtop=L,ge.rbottom=H),ge}function Es(e,t){if(!window.screen||screen.logicalXDPI==null||screen.logicalXDPI==screen.deviceXDPI||!yi(e))return t;var n=screen.logicalXDPI/screen.deviceXDPI,r=screen.logicalYDPI/screen.deviceYDPI;return{left:t.left*n,right:t.right*n,top:t.top*r,bottom:t.bottom*r}}function Go(e){if(e.measure&&(e.measure.cache={},e.measure.heights=null,e.rest))for(var t=0;t<e.rest.length;t++)e.measure.caches[t]={}}function Xo(e){e.display.externalMeasure=null,F(e.display.lineMeasure);for(var t=0;t<e.display.view.length;t++)Go(e.display.view[t])}function gn(e){Xo(e),e.display.cachedCharWidth=e.display.cachedTextHeight=e.display.cachedPaddingH=null,e.options.lineWrapping||(e.display.maxLineChanged=!0),e.display.lineNumChars=null}function Yo(e){return S&&M?-(e.body.getBoundingClientRect().left-parseInt(getComputedStyle(e.body).marginLeft)):e.defaultView.pageXOffset||(e.documentElement||e.body).scrollLeft}function Qo(e){return S&&M?-(e.body.getBoundingClientRect().top-parseInt(getComputedStyle(e.body).marginTop)):e.defaultView.pageYOffset||(e.documentElement||e.body).scrollTop}function Ni(e){var t=qt(e),n=t.widgets,r=0;if(n)for(var i=0;i<n.length;++i)n[i].above&&(r+=pn(n[i]));return r}function Yn(e,t,n,r,i){if(!i){var o=Ni(t);n.top+=o,n.bottom+=o}if(r=="line")return n;r||(r="local");var l=er(t);if(r=="local"?l+=Xn(e.display):l-=e.display.viewOffset,r=="page"||r=="window"){var a=e.display.lineSpace.getBoundingClientRect();l+=a.top+(r=="window"?0:Qo(d(e)));var s=a.left+(r=="window"?0:Yo(d(e)));n.left+=s,n.right+=s}return n.top+=l,n.bottom+=l,n}function Jo(e,t,n){if(n=="div")return t;var r=t.left,i=t.top;if(n=="page")r-=Yo(d(e)),i-=Qo(d(e));else if(n=="local"||!n){var o=e.display.sizer.getBoundingClientRect();r+=o.left,i+=o.top}var l=e.display.lineSpace.getBoundingClientRect();return{left:r-l.left,top:i-l.top}}function Qn(e,t,n,r,i){return r||(r=ye(e.doc,t.line)),Yn(e,r,jo(e,r,t.ch,i),n)}function jt(e,t,n,r,i,o){r=r||ye(e.doc,t.line),i||(i=qr(e,r));function l(H,Z){var ie=Qt(e,i,H,Z?"right":"left",o);return Z?ie.left=ie.right:ie.right=ie.left,Yn(e,r,ie,n)}var a=Re(r,e.doc.direction),s=t.ch,u=t.sticky;if(s>=r.text.length?(s=r.text.length,u="before"):s<=0&&(s=0,u="after"),!a)return l(u=="before"?s-1:s,u=="before");function h(H,Z,ie){var ae=a[Z],he=ae.level==1;return l(ie?H-1:H,he!=ie)}var x=lr(a,s,u),D=br,L=h(s,x,u=="before");return D!=null&&(L.other=h(s,D,u!="before")),L}function Zo(e,t){var n=0;t=Ae(e.doc,t),e.options.lineWrapping||(n=Kr(e.display)*t.ch);var r=ye(e.doc,t.line),i=er(r)+Xn(e.display);return{left:n,right:n,top:i,bottom:i+r.height}}function Ei(e,t,n,r,i){var o=B(e,t,n);return o.xRel=i,r&&(o.outside=r),o}function Oi(e,t,n){var r=e.doc;if(n+=e.display.viewOffset,n<0)return Ei(r.first,0,null,-1,-1);var i=m(r,n),o=r.first+r.size-1;if(i>o)return Ei(r.first+r.size-1,ye(r,o).text.length,null,1,1);t<0&&(t=0);for(var l=ye(r,i);;){var a=Os(e,l,i,t,n),s=as(l,a.ch+(a.xRel>0||a.outside>0?1:0));if(!s)return a;var u=s.find(1);if(u.line==i)return u;l=ye(r,i=u.line)}}function $o(e,t,n,r){r-=Ni(t);var i=t.text.length,o=Pt(function(l){return Qt(e,n,l-1).bottom<=r},i,0);return i=Pt(function(l){return Qt(e,n,l).top>r},o,i),{begin:o,end:i}}function Vo(e,t,n,r){n||(n=qr(e,t));var i=Yn(e,t,Qt(e,n,r),"line").top;return $o(e,t,n,i)}function Pi(e,t,n,r){return e.bottom<=n?!1:e.top>n?!0:(r?e.left:e.right)>t}function Os(e,t,n,r,i){i-=er(t);var o=qr(e,t),l=Ni(t),a=0,s=t.text.length,u=!0,h=Re(t,e.doc.direction);if(h){var x=(e.options.lineWrapping?Is:Ps)(e,t,n,o,h,r,i);u=x.level!=1,a=u?x.from:x.to-1,s=u?x.to:x.from-1}var D=null,L=null,H=Pt(function(Le){var ke=Qt(e,o,Le);return ke.top+=l,ke.bottom+=l,Pi(ke,r,i,!1)?(ke.top<=i&&ke.left<=r&&(D=Le,L=ke),!0):!1},a,s),Z,ie,ae=!1;if(L){var he=r-L.left<L.right-r,se=he==u;H=D+(se?0:1),ie=se?"after":"before",Z=he?L.left:L.right}else{!u&&(H==s||H==a)&&H++,ie=H==0?"after":H==t.text.length?"before":Qt(e,o,H-(u?1:0)).bottom+l<=i==u?"after":"before";var ge=jt(e,B(n,H,ie),"line",t,o);Z=ge.left,ae=i<ge.top?-1:i>=ge.bottom?1:0}return H=Mt(t.text,H,1),Ei(n,H,ie,ae,r-Z)}function Ps(e,t,n,r,i,o,l){var a=Pt(function(x){var D=i[x],L=D.level!=1;return Pi(jt(e,B(n,L?D.to:D.from,L?"before":"after"),"line",t,r),o,l,!0)},0,i.length-1),s=i[a];if(a>0){var u=s.level!=1,h=jt(e,B(n,u?s.from:s.to,u?"after":"before"),"line",t,r);Pi(h,o,l,!0)&&h.top>l&&(s=i[a-1])}return s}function Is(e,t,n,r,i,o,l){var a=$o(e,t,r,l),s=a.begin,u=a.end;/\s/.test(t.text.charAt(u-1))&&u--;for(var h=null,x=null,D=0;D<i.length;D++){var L=i[D];if(!(L.from>=u||L.to<=s)){var H=L.level!=1,Z=Qt(e,r,H?Math.min(u,L.to)-1:Math.max(s,L.from)).right,ie=Z<o?o-Z+1e9:Z-o;(!h||x>ie)&&(h=L,x=ie)}}return h||(h=i[i.length-1]),h.from<s&&(h={from:s,to:h.to,level:h.level}),h.to>u&&(h={from:h.from,to:u,level:h.level}),h}var Sr;function jr(e){if(e.cachedTextHeight!=null)return e.cachedTextHeight;if(Sr==null){Sr=c("pre",null,"CodeMirror-line-like");for(var t=0;t<49;++t)Sr.appendChild(document.createTextNode("x")),Sr.appendChild(c("br"));Sr.appendChild(document.createTextNode("x"))}G(e.measure,Sr);var n=Sr.offsetHeight/50;return n>3&&(e.cachedTextHeight=n),F(e.measure),n||1}function Kr(e){if(e.cachedCharWidth!=null)return e.cachedCharWidth;var t=c("span","xxxxxxxxxx"),n=c("pre",[t],"CodeMirror-line-like");G(e.measure,n);var r=t.getBoundingClientRect(),i=(r.right-r.left)/10;return i>2&&(e.cachedCharWidth=i),i||10}function Ii(e){for(var t=e.display,n={},r={},i=t.gutters.clientLeft,o=t.gutters.firstChild,l=0;o;o=o.nextSibling,++l){var a=e.display.gutterSpecs[l].className;n[a]=o.offsetLeft+o.clientLeft+i,r[a]=o.clientWidth}return{fixedPos:zi(t),gutterTotalWidth:t.gutters.offsetWidth,gutterLeft:n,gutterWidth:r,wrapperWidth:t.wrapper.clientWidth}}function zi(e){return e.scroller.getBoundingClientRect().left-e.sizer.getBoundingClientRect().left}function el(e){var t=jr(e.display),n=e.options.lineWrapping,r=n&&Math.max(5,e.display.scroller.clientWidth/Kr(e.display)-3);return function(i){if(cr(e.doc,i))return 0;var o=0;if(i.widgets)for(var l=0;l<i.widgets.length;l++)i.widgets[l].height&&(o+=i.widgets[l].height);return n?o+(Math.ceil(i.text.length/r)||1)*t:o+t}}function Bi(e){var t=e.doc,n=el(e);t.iter(function(r){var i=n(r);i!=r.height&&Et(r,i)})}function Lr(e,t,n,r){var i=e.display;if(!n&&ln(t).getAttribute("cm-not-content")=="true")return null;var o,l,a=i.lineSpace.getBoundingClientRect();try{o=t.clientX-a.left,l=t.clientY-a.top}catch{return null}var s=Oi(e,o,l),u;if(r&&s.xRel>0&&(u=ye(e.doc,s.line).text).length==s.ch){var h=Fe(u,u.length,e.options.tabSize)-u.length;s=B(s.line,Math.max(0,Math.round((o-_o(e.display).left)/Kr(e.display))-h))}return s}function Tr(e,t){if(t>=e.display.viewTo||(t-=e.display.viewFrom,t<0))return null;for(var n=e.display.view,r=0;r<n.length;r++)if(t-=n[r].size,t<0)return r}function St(e,t,n,r){t==null&&(t=e.doc.first),n==null&&(n=e.doc.first+e.doc.size),r||(r=0);var i=e.display;if(r&&n<i.viewTo&&(i.updateLineNumbers==null||i.updateLineNumbers>t)&&(i.updateLineNumbers=t),e.curOp.viewChanged=!0,t>=i.viewTo)Vt&&Li(e.doc,t)<i.viewTo&&hr(e);else if(n<=i.viewFrom)Vt&&No(e.doc,n+r)>i.viewFrom?hr(e):(i.viewFrom+=r,i.viewTo+=r);else if(t<=i.viewFrom&&n>=i.viewTo)hr(e);else if(t<=i.viewFrom){var o=Jn(e,n,n+r,1);o?(i.view=i.view.slice(o.index),i.viewFrom=o.lineN,i.viewTo+=r):hr(e)}else if(n>=i.viewTo){var l=Jn(e,t,t,-1);l?(i.view=i.view.slice(0,l.index),i.viewTo=l.lineN):hr(e)}else{var a=Jn(e,t,t,-1),s=Jn(e,n,n+r,1);a&&s?(i.view=i.view.slice(0,a.index).concat(Gn(e,a.lineN,s.lineN)).concat(i.view.slice(s.index)),i.viewTo+=r):hr(e)}var u=i.externalMeasured;u&&(n<u.lineN?u.lineN+=r:t<u.lineN+u.size&&(i.externalMeasured=null))}function dr(e,t,n){e.curOp.viewChanged=!0;var r=e.display,i=e.display.externalMeasured;if(i&&t>=i.lineN&&t<i.lineN+i.size&&(r.externalMeasured=null),!(t<r.viewFrom||t>=r.viewTo)){var o=r.view[Tr(e,t)];if(o.node!=null){var l=o.changes||(o.changes=[]);ve(l,n)==-1&&l.push(n)}}}function hr(e){e.display.viewFrom=e.display.viewTo=e.doc.first,e.display.view=[],e.display.viewOffset=0}function Jn(e,t,n,r){var i=Tr(e,t),o,l=e.display.view;if(!Vt||n==e.doc.first+e.doc.size)return{index:i,lineN:n};for(var a=e.display.viewFrom,s=0;s<i;s++)a+=l[s].size;if(a!=t){if(r>0){if(i==l.length-1)return null;o=a+l[i].size-t,i++}else o=a-t;t+=o,n+=o}for(;Li(e.doc,n)!=n;){if(i==(r<0?0:l.length-1))return null;n+=r*l[i-(r<0?1:0)].size,i+=r}return{index:i,lineN:n}}function zs(e,t,n){var r=e.display,i=r.view;i.length==0||t>=r.viewTo||n<=r.viewFrom?(r.view=Gn(e,t,n),r.viewFrom=t):(r.viewFrom>t?r.view=Gn(e,t,r.viewFrom).concat(r.view):r.viewFrom<t&&(r.view=r.view.slice(Tr(e,t))),r.viewFrom=t,r.viewTo<n?r.view=r.view.concat(Gn(e,r.viewTo,n)):r.viewTo>n&&(r.view=r.view.slice(0,Tr(e,n)))),r.viewTo=n}function tl(e){for(var t=e.display.view,n=0,r=0;r<t.length;r++){var i=t[r];!i.hidden&&(!i.node||i.changes)&&++n}return n}function vn(e){e.display.input.showSelection(e.display.input.prepareSelection())}function rl(e,t){t===void 0&&(t=!0);var n=e.doc,r={},i=r.cursors=document.createDocumentFragment(),o=r.selection=document.createDocumentFragment(),l=e.options.$customCursor;l&&(t=!0);for(var a=0;a<n.sel.ranges.length;a++)if(!(!t&&a==n.sel.primIndex)){var s=n.sel.ranges[a];if(!(s.from().line>=e.display.viewTo||s.to().line<e.display.viewFrom)){var u=s.empty();if(l){var h=l(e,s);h&&Ri(e,h,i)}else(u||e.options.showCursorWhenSelecting)&&Ri(e,s.head,i);u||Bs(e,s,o)}}return r}function Ri(e,t,n){var r=jt(e,t,"div",null,null,!e.options.singleCursorHeightPerLine),i=n.appendChild(c("div"," ","CodeMirror-cursor"));if(i.style.left=r.left+"px",i.style.top=r.top+"px",i.style.height=Math.max(0,r.bottom-r.top)*e.options.cursorHeight+"px",/\bcm-fat-cursor\b/.test(e.getWrapperElement().className)){var o=Qn(e,t,"div",null,null),l=o.right-o.left;i.style.width=(l>0?l:e.defaultCharWidth())+"px"}if(r.other){var a=n.appendChild(c("div"," ","CodeMirror-cursor CodeMirror-secondarycursor"));a.style.display="",a.style.left=r.other.left+"px",a.style.top=r.other.top+"px",a.style.height=(r.other.bottom-r.other.top)*.85+"px"}}function Zn(e,t){return e.top-t.top||e.left-t.left}function Bs(e,t,n){var r=e.display,i=e.doc,o=document.createDocumentFragment(),l=_o(e.display),a=l.left,s=Math.max(r.sizerWidth,wr(e)-r.sizer.offsetLeft)-l.right,u=i.direction=="ltr";function h(se,ge,Le,ke){ge<0&&(ge=0),ge=Math.round(ge),ke=Math.round(ke),o.appendChild(c("div",null,"CodeMirror-selected","position: absolute; left: "+se+`px;
6 - top: `+ge+"px; width: "+(Le??s-se)+`px;
7 - height: `+(ke-ge)+"px"))}function x(se,ge,Le){var ke=ye(i,se),Ee=ke.text.length,Ke,st;function Xe(tt,Ct){return Qn(e,B(se,tt),"div",ke,Ct)}function Nt(tt,Ct,ft){var nt=Vo(e,ke,null,tt),rt=Ct=="ltr"==(ft=="after")?"left":"right",Ze=ft=="after"?nt.begin:nt.end-(/\s/.test(ke.text.charAt(nt.end-1))?2:1);return Xe(Ze,rt)[rt]}var Tt=Re(ke,i.direction);return or(Tt,ge||0,Le??Ee,function(tt,Ct,ft,nt){var rt=ft=="ltr",Ze=Xe(tt,rt?"left":"right"),Dt=Xe(Ct-1,rt?"right":"left"),nn=ge==null&&tt==0,yr=Le==null&&Ct==Ee,vt=nt==0,Jt=!Tt||nt==Tt.length-1;if(Dt.top-Ze.top<=3){var ut=(u?nn:yr)&&vt,co=(u?yr:nn)&&Jt,ir=ut?a:(rt?Ze:Dt).left,Ar=co?s:(rt?Dt:Ze).right;h(ir,Ze.top,Ar-ir,Ze.bottom)}else{var Nr,bt,on,ho;rt?(Nr=u&&nn&&vt?a:Ze.left,bt=u?s:Nt(tt,ft,"before"),on=u?a:Nt(Ct,ft,"after"),ho=u&&yr&&Jt?s:Dt.right):(Nr=u?Nt(tt,ft,"before"):a,bt=!u&&nn&&vt?s:Ze.right,on=!u&&yr&&Jt?a:Dt.left,ho=u?Nt(Ct,ft,"after"):s),h(Nr,Ze.top,bt-Nr,Ze.bottom),Ze.bottom<Dt.top&&h(a,Ze.bottom,null,Dt.top),h(on,Dt.top,ho-on,Dt.bottom)}(!Ke||Zn(Ze,Ke)<0)&&(Ke=Ze),Zn(Dt,Ke)<0&&(Ke=Dt),(!st||Zn(Ze,st)<0)&&(st=Ze),Zn(Dt,st)<0&&(st=Dt)}),{start:Ke,end:st}}var D=t.from(),L=t.to();if(D.line==L.line)x(D.line,D.ch,L.ch);else{var H=ye(i,D.line),Z=ye(i,L.line),ie=qt(H)==qt(Z),ae=x(D.line,D.ch,ie?H.text.length+1:null).end,he=x(L.line,ie?0:null,L.ch).start;ie&&(ae.top<he.top-2?(h(ae.right,ae.top,null,ae.bottom),h(a,he.top,he.left,he.bottom)):h(ae.right,ae.top,he.left-ae.right,ae.bottom)),ae.bottom<he.top&&h(a,ae.bottom,null,he.top)}n.appendChild(o)}function Wi(e){if(e.state.focused){var t=e.display;clearInterval(t.blinker);var n=!0;t.cursorDiv.style.visibility="",e.options.cursorBlinkRate>0?t.blinker=setInterval(function(){e.hasFocus()||Ur(e),t.cursorDiv.style.visibility=(n=!n)?"":"hidden"},e.options.cursorBlinkRate):e.options.cursorBlinkRate<0&&(t.cursorDiv.style.visibility="hidden")}}function nl(e){e.hasFocus()||(e.display.input.focus(),e.state.focused||_i(e))}function Hi(e){e.state.delayingBlurEvent=!0,setTimeout(function(){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1,e.state.focused&&Ur(e))},100)}function _i(e,t){e.state.delayingBlurEvent&&!e.state.draggingText&&(e.state.delayingBlurEvent=!1),e.options.readOnly!="nocursor"&&(e.state.focused||(Ye(e,"focus",e,t),e.state.focused=!0,j(e.display.wrapper,"CodeMirror-focused"),!e.curOp&&e.display.selForContextMenu!=e.doc.sel&&(e.display.input.reset(),Y&&setTimeout(function(){return e.display.input.reset(!0)},20)),e.display.input.receivedFocus()),Wi(e))}function Ur(e,t){e.state.delayingBlurEvent||(e.state.focused&&(Ye(e,"blur",e,t),e.state.focused=!1,V(e.display.wrapper,"CodeMirror-focused")),clearInterval(e.display.blinker),setTimeout(function(){e.state.focused||(e.display.shift=!1)},150))}function $n(e){for(var t=e.display,n=t.lineDiv.offsetTop,r=Math.max(0,t.scroller.getBoundingClientRect().top),i=t.lineDiv.getBoundingClientRect().top,o=0,l=0;l<t.view.length;l++){var a=t.view[l],s=e.options.lineWrapping,u=void 0,h=0;if(!a.hidden){if(i+=a.line.height,k&&I<8){var x=a.node.offsetTop+a.node.offsetHeight;u=x-n,n=x}else{var D=a.node.getBoundingClientRect();u=D.bottom-D.top,!s&&a.text.firstChild&&(h=a.text.firstChild.getBoundingClientRect().right-D.left-1)}var L=a.line.height-u;if((L>.005||L<-.005)&&(i<r&&(o-=L),Et(a.line,u),il(a.line),a.rest))for(var H=0;H<a.rest.length;H++)il(a.rest[H]);if(h>e.display.sizerWidth){var Z=Math.ceil(h/Kr(e.display));Z>e.display.maxLineLength&&(e.display.maxLineLength=Z,e.display.maxLine=a.line,e.display.maxLineChanged=!0)}}}Math.abs(o)>2&&(t.scroller.scrollTop+=o)}function il(e){if(e.widgets)for(var t=0;t<e.widgets.length;++t){var n=e.widgets[t],r=n.node.parentNode;r&&(n.height=r.offsetHeight)}}function Vn(e,t,n){var r=n&&n.top!=null?Math.max(0,n.top):e.scroller.scrollTop;r=Math.floor(r-Xn(e));var i=n&&n.bottom!=null?n.bottom:r+e.wrapper.clientHeight,o=m(t,r),l=m(t,i);if(n&&n.ensure){var a=n.ensure.from.line,s=n.ensure.to.line;a<o?(o=a,l=m(t,er(ye(t,a))+e.wrapper.clientHeight)):Math.min(s,t.lastLine())>=l&&(o=m(t,er(ye(t,s))-e.wrapper.clientHeight),l=s)}return{from:o,to:Math.max(l,o+1)}}function Rs(e,t){if(!Qe(e,"scrollCursorIntoView")){var n=e.display,r=n.sizer.getBoundingClientRect(),i=null,o=n.wrapper.ownerDocument;if(t.top+r.top<0?i=!0:t.bottom+r.top>(o.defaultView.innerHeight||o.documentElement.clientHeight)&&(i=!1),i!=null&&!O){var l=c("div","​",null,`position: absolute;
8 - top: `+(t.top-n.viewOffset-Xn(e.display))+`px;
9 - height: `+(t.bottom-t.top+Yt(e)+n.barHeight)+`px;
10 - left: `+t.left+"px; width: "+Math.max(2,t.right-t.left)+"px;");e.display.lineSpace.appendChild(l),l.scrollIntoView(i),e.display.lineSpace.removeChild(l)}}}function Ws(e,t,n,r){r==null&&(r=0);var i;!e.options.lineWrapping&&t==n&&(n=t.sticky=="before"?B(t.line,t.ch+1,"before"):t,t=t.ch?B(t.line,t.sticky=="before"?t.ch-1:t.ch,"after"):t);for(var o=0;o<5;o++){var l=!1,a=jt(e,t),s=!n||n==t?a:jt(e,n);i={left:Math.min(a.left,s.left),top:Math.min(a.top,s.top)-r,right:Math.max(a.left,s.left),bottom:Math.max(a.bottom,s.bottom)+r};var u=qi(e,i),h=e.doc.scrollTop,x=e.doc.scrollLeft;if(u.scrollTop!=null&&(xn(e,u.scrollTop),Math.abs(e.doc.scrollTop-h)>1&&(l=!0)),u.scrollLeft!=null&&(Cr(e,u.scrollLeft),Math.abs(e.doc.scrollLeft-x)>1&&(l=!0)),!l)break}return i}function Hs(e,t){var n=qi(e,t);n.scrollTop!=null&&xn(e,n.scrollTop),n.scrollLeft!=null&&Cr(e,n.scrollLeft)}function qi(e,t){var n=e.display,r=jr(e.display);t.top<0&&(t.top=0);var i=e.curOp&&e.curOp.scrollTop!=null?e.curOp.scrollTop:n.scroller.scrollTop,o=Fi(e),l={};t.bottom-t.top>o&&(t.bottom=t.top+o);var a=e.doc.height+Mi(n),s=t.top<r,u=t.bottom>a-r;if(t.top<i)l.scrollTop=s?0:t.top;else if(t.bottom>i+o){var h=Math.min(t.top,(u?a:t.bottom)-o);h!=i&&(l.scrollTop=h)}var x=e.options.fixedGutter?0:n.gutters.offsetWidth,D=e.curOp&&e.curOp.scrollLeft!=null?e.curOp.scrollLeft:n.scroller.scrollLeft-x,L=wr(e)-n.gutters.offsetWidth,H=t.right-t.left>L;return H&&(t.right=t.left+L),t.left<10?l.scrollLeft=0:t.left<D?l.scrollLeft=Math.max(0,t.left+x-(H?0:10)):t.right>L+D-3&&(l.scrollLeft=t.right+(H?0:10)-L),l}function ji(e,t){t!=null&&(ei(e),e.curOp.scrollTop=(e.curOp.scrollTop==null?e.doc.scrollTop:e.curOp.scrollTop)+t)}function Gr(e){ei(e);var t=e.getCursor();e.curOp.scrollToPos={from:t,to:t,margin:e.options.cursorScrollMargin}}function mn(e,t,n){(t!=null||n!=null)&&ei(e),t!=null&&(e.curOp.scrollLeft=t),n!=null&&(e.curOp.scrollTop=n)}function _s(e,t){ei(e),e.curOp.scrollToPos=t}function ei(e){var t=e.curOp.scrollToPos;if(t){e.curOp.scrollToPos=null;var n=Zo(e,t.from),r=Zo(e,t.to);ol(e,n,r,t.margin)}}function ol(e,t,n,r){var i=qi(e,{left:Math.min(t.left,n.left),top:Math.min(t.top,n.top)-r,right:Math.max(t.right,n.right),bottom:Math.max(t.bottom,n.bottom)+r});mn(e,i.scrollLeft,i.scrollTop)}function xn(e,t){Math.abs(e.doc.scrollTop-t)<2||(_||Ui(e,{top:t}),ll(e,t,!0),_&&Ui(e),kn(e,100))}function ll(e,t,n){t=Math.max(0,Math.min(e.display.scroller.scrollHeight-e.display.scroller.clientHeight,t)),!(e.display.scroller.scrollTop==t&&!n)&&(e.doc.scrollTop=t,e.display.scrollbars.setScrollTop(t),e.display.scroller.scrollTop!=t&&(e.display.scroller.scrollTop=t))}function Cr(e,t,n,r){t=Math.max(0,Math.min(t,e.display.scroller.scrollWidth-e.display.scroller.clientWidth)),!((n?t==e.doc.scrollLeft:Math.abs(e.doc.scrollLeft-t)<2)&&!r)&&(e.doc.scrollLeft=t,cl(e),e.display.scroller.scrollLeft!=t&&(e.display.scroller.scrollLeft=t),e.display.scrollbars.setScrollLeft(t))}function yn(e){var t=e.display,n=t.gutters.offsetWidth,r=Math.round(e.doc.height+Mi(e.display));return{clientHeight:t.scroller.clientHeight,viewHeight:t.wrapper.clientHeight,scrollWidth:t.scroller.scrollWidth,clientWidth:t.scroller.clientWidth,viewWidth:t.wrapper.clientWidth,barLeft:e.options.fixedGutter?n:0,docHeight:r,scrollHeight:r+Yt(e)+t.barHeight,nativeBarWidth:t.nativeBarWidth,gutterWidth:n}}var Dr=function(e,t,n){this.cm=n;var r=this.vert=c("div",[c("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),i=this.horiz=c("div",[c("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");r.tabIndex=i.tabIndex=-1,e(r),e(i),Se(r,"scroll",function(){r.clientHeight&&t(r.scrollTop,"vertical")}),Se(i,"scroll",function(){i.clientWidth&&t(i.scrollLeft,"horizontal")}),this.checkedZeroWidth=!1,k&&I<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};Dr.prototype.update=function(e){var t=e.scrollWidth>e.clientWidth+1,n=e.scrollHeight>e.clientHeight+1,r=e.nativeBarWidth;if(n){this.vert.style.display="block",this.vert.style.bottom=t?r+"px":"0";var i=e.viewHeight-(t?r:0);this.vert.firstChild.style.height=Math.max(0,e.scrollHeight-e.clientHeight+i)+"px"}else this.vert.scrollTop=0,this.vert.style.display="",this.vert.firstChild.style.height="0";if(t){this.horiz.style.display="block",this.horiz.style.right=n?r+"px":"0",this.horiz.style.left=e.barLeft+"px";var o=e.viewWidth-e.barLeft-(n?r:0);this.horiz.firstChild.style.width=Math.max(0,e.scrollWidth-e.clientWidth+o)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&e.clientHeight>0&&(r==0&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:n?r:0,bottom:t?r:0}},Dr.prototype.setScrollLeft=function(e){this.horiz.scrollLeft!=e&&(this.horiz.scrollLeft=e),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},Dr.prototype.setScrollTop=function(e){this.vert.scrollTop!=e&&(this.vert.scrollTop=e),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},Dr.prototype.zeroWidthHack=function(){var e=z&&!ue?"12px":"18px";this.horiz.style.height=this.vert.style.width=e,this.horiz.style.visibility=this.vert.style.visibility="hidden",this.disableHoriz=new Ce,this.disableVert=new Ce},Dr.prototype.enableZeroWidthBar=function(e,t,n){e.style.visibility="";function r(){var i=e.getBoundingClientRect(),o=n=="vert"?document.elementFromPoint(i.right-1,(i.top+i.bottom)/2):document.elementFromPoint((i.right+i.left)/2,i.bottom-1);o!=e?e.style.visibility="hidden":t.set(1e3,r)}t.set(1e3,r)},Dr.prototype.clear=function(){var e=this.horiz.parentNode;e.removeChild(this.horiz),e.removeChild(this.vert)};var bn=function(){};bn.prototype.update=function(){return{bottom:0,right:0}},bn.prototype.setScrollLeft=function(){},bn.prototype.setScrollTop=function(){},bn.prototype.clear=function(){};function Xr(e,t){t||(t=yn(e));var n=e.display.barWidth,r=e.display.barHeight;al(e,t);for(var i=0;i<4&&n!=e.display.barWidth||r!=e.display.barHeight;i++)n!=e.display.barWidth&&e.options.lineWrapping&&$n(e),al(e,yn(e)),n=e.display.barWidth,r=e.display.barHeight}function al(e,t){var n=e.display,r=n.scrollbars.update(t);n.sizer.style.paddingRight=(n.barWidth=r.right)+"px",n.sizer.style.paddingBottom=(n.barHeight=r.bottom)+"px",n.heightForcer.style.borderBottom=r.bottom+"px solid transparent",r.right&&r.bottom?(n.scrollbarFiller.style.display="block",n.scrollbarFiller.style.height=r.bottom+"px",n.scrollbarFiller.style.width=r.right+"px"):n.scrollbarFiller.style.display="",r.bottom&&e.options.coverGutterNextToScrollbar&&e.options.fixedGutter?(n.gutterFiller.style.display="block",n.gutterFiller.style.height=r.bottom+"px",n.gutterFiller.style.width=t.gutterWidth+"px"):n.gutterFiller.style.display=""}var sl={native:Dr,null:bn};function ul(e){e.display.scrollbars&&(e.display.scrollbars.clear(),e.display.scrollbars.addClass&&V(e.display.wrapper,e.display.scrollbars.addClass)),e.display.scrollbars=new sl[e.options.scrollbarStyle](function(t){e.display.wrapper.insertBefore(t,e.display.scrollbarFiller),Se(t,"mousedown",function(){e.state.focused&&setTimeout(function(){return e.display.input.focus()},0)}),t.setAttribute("cm-not-content","true")},function(t,n){n=="horizontal"?Cr(e,t):xn(e,t)},e),e.display.scrollbars.addClass&&j(e.display.wrapper,e.display.scrollbars.addClass)}var qs=0;function Mr(e){e.curOp={cm:e,viewChanged:!1,startHeight:e.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++qs,markArrays:null},ys(e.curOp)}function Fr(e){var t=e.curOp;t&&ks(t,function(n){for(var r=0;r<n.ops.length;r++)n.ops[r].cm.curOp=null;js(n)})}function js(e){for(var t=e.ops,n=0;n<t.length;n++)Ks(t[n]);for(var r=0;r<t.length;r++)Us(t[r]);for(var i=0;i<t.length;i++)Gs(t[i]);for(var o=0;o<t.length;o++)Xs(t[o]);for(var l=0;l<t.length;l++)Ys(t[l])}function Ks(e){var t=e.cm,n=t.display;Js(t),e.updateMaxLine&&Ci(t),e.mustUpdate=e.viewChanged||e.forceUpdate||e.scrollTop!=null||e.scrollToPos&&(e.scrollToPos.from.line<n.viewFrom||e.scrollToPos.to.line>=n.viewTo)||n.maxLineChanged&&t.options.lineWrapping,e.update=e.mustUpdate&&new ti(t,e.mustUpdate&&{top:e.scrollTop,ensure:e.scrollToPos},e.forceUpdate)}function Us(e){e.updatedDisplay=e.mustUpdate&&Ki(e.cm,e.update)}function Gs(e){var t=e.cm,n=t.display;e.updatedDisplay&&$n(t),e.barMeasure=yn(t),n.maxLineChanged&&!t.options.lineWrapping&&(e.adjustWidthTo=jo(t,n.maxLine,n.maxLine.text.length).left+3,t.display.sizerWidth=e.adjustWidthTo,e.barMeasure.scrollWidth=Math.max(n.scroller.clientWidth,n.sizer.offsetLeft+e.adjustWidthTo+Yt(t)+t.display.barWidth),e.maxScrollLeft=Math.max(0,n.sizer.offsetLeft+e.adjustWidthTo-wr(t))),(e.updatedDisplay||e.selectionChanged)&&(e.preparedSelection=n.input.prepareSelection())}function Xs(e){var t=e.cm;e.adjustWidthTo!=null&&(t.display.sizer.style.minWidth=e.adjustWidthTo+"px",e.maxScrollLeft<t.doc.scrollLeft&&Cr(t,Math.min(t.display.scroller.scrollLeft,e.maxScrollLeft),!0),t.display.maxLineChanged=!1);var n=e.focus&&e.focus==y(fe(t));e.preparedSelection&&t.display.input.showSelection(e.preparedSelection,n),(e.updatedDisplay||e.startHeight!=t.doc.height)&&Xr(t,e.barMeasure),e.updatedDisplay&&Xi(t,e.barMeasure),e.selectionChanged&&Wi(t),t.state.focused&&e.updateInput&&t.display.input.reset(e.typing),n&&nl(e.cm)}function Ys(e){var t=e.cm,n=t.display,r=t.doc;if(e.updatedDisplay&&fl(t,e.update),n.wheelStartX!=null&&(e.scrollTop!=null||e.scrollLeft!=null||e.scrollToPos)&&(n.wheelStartX=n.wheelStartY=null),e.scrollTop!=null&&ll(t,e.scrollTop,e.forceScroll),e.scrollLeft!=null&&Cr(t,e.scrollLeft,!0,!0),e.scrollToPos){var i=Ws(t,Ae(r,e.scrollToPos.from),Ae(r,e.scrollToPos.to),e.scrollToPos.margin);Rs(t,i)}var o=e.maybeHiddenMarkers,l=e.maybeUnhiddenMarkers;if(o)for(var a=0;a<o.length;++a)o[a].lines.length||Ye(o[a],"hide");if(l)for(var s=0;s<l.length;++s)l[s].lines.length&&Ye(l[s],"unhide");n.wrapper.offsetHeight&&(r.scrollTop=t.display.scroller.scrollTop),e.changeObjs&&Ye(t,"changes",t,e.changeObjs),e.update&&e.update.finish()}function At(e,t){if(e.curOp)return t();Mr(e);try{return t()}finally{Fr(e)}}function lt(e,t){return function(){if(e.curOp)return t.apply(e,arguments);Mr(e);try{return t.apply(e,arguments)}finally{Fr(e)}}}function yt(e){return function(){if(this.curOp)return e.apply(this,arguments);Mr(this);try{return e.apply(this,arguments)}finally{Fr(this)}}}function at(e){return function(){var t=this.cm;if(!t||t.curOp)return e.apply(this,arguments);Mr(t);try{return e.apply(this,arguments)}finally{Fr(t)}}}function kn(e,t){e.doc.highlightFrontier<e.display.viewTo&&e.state.highlight.set(t,xe(Qs,e))}function Qs(e){var t=e.doc;if(!(t.highlightFrontier>=e.display.viewTo)){var n=+new Date+e.options.workTime,r=fn(e,t.highlightFrontier),i=[];t.iter(r.line,Math.min(t.first+t.size,e.display.viewTo+500),function(o){if(r.line>=e.display.viewFrom){var l=o.styles,a=o.text.length>e.options.maxHighlightLength?Gt(t.mode,r.state):null,s=mo(e,o,r,!0);a&&(r.state=a),o.styles=s.styles;var u=o.styleClasses,h=s.classes;h?o.styleClasses=h:u&&(o.styleClasses=null);for(var x=!l||l.length!=o.styles.length||u!=h&&(!u||!h||u.bgClass!=h.bgClass||u.textClass!=h.textClass),D=0;!x&&D<l.length;++D)x=l[D]!=o.styles[D];x&&i.push(r.line),o.stateAfter=r.save(),r.nextLine()}else o.text.length<=e.options.maxHighlightLength&&bi(e,o.text,r),o.stateAfter=r.line%5==0?r.save():null,r.nextLine();if(+new Date>n)return kn(e,e.options.workDelay),!0}),t.highlightFrontier=r.line,t.modeFrontier=Math.max(t.modeFrontier,r.line),i.length&&At(e,function(){for(var o=0;o<i.length;o++)dr(e,i[o],"text")})}}var ti=function(e,t,n){var r=e.display;this.viewport=t,this.visible=Vn(r,e.doc,t),this.editorIsHidden=!r.wrapper.offsetWidth,this.wrapperHeight=r.wrapper.clientHeight,this.wrapperWidth=r.wrapper.clientWidth,this.oldDisplayWidth=wr(e),this.force=n,this.dims=Ii(e),this.events=[]};ti.prototype.signal=function(e,t){Ft(e,t)&&this.events.push(arguments)},ti.prototype.finish=function(){for(var e=0;e<this.events.length;e++)Ye.apply(null,this.events[e])};function Js(e){var t=e.display;!t.scrollbarsClipped&&t.scroller.offsetWidth&&(t.nativeBarWidth=t.scroller.offsetWidth-t.scroller.clientWidth,t.heightForcer.style.height=Yt(e)+"px",t.sizer.style.marginBottom=-t.nativeBarWidth+"px",t.sizer.style.borderRightWidth=Yt(e)+"px",t.scrollbarsClipped=!0)}function Zs(e){if(e.hasFocus())return null;var t=y(fe(e));if(!t||!g(e.display.lineDiv,t))return null;var n={activeElt:t};if(window.getSelection){var r=le(e).getSelection();r.anchorNode&&r.extend&&g(e.display.lineDiv,r.anchorNode)&&(n.anchorNode=r.anchorNode,n.anchorOffset=r.anchorOffset,n.focusNode=r.focusNode,n.focusOffset=r.focusOffset)}return n}function $s(e){if(!(!e||!e.activeElt||e.activeElt==y(Te(e.activeElt)))&&(e.activeElt.focus(),!/^(INPUT|TEXTAREA)$/.test(e.activeElt.nodeName)&&e.anchorNode&&g(document.body,e.anchorNode)&&g(document.body,e.focusNode))){var t=e.activeElt.ownerDocument,n=t.defaultView.getSelection(),r=t.createRange();r.setEnd(e.anchorNode,e.anchorOffset),r.collapse(!1),n.removeAllRanges(),n.addRange(r),n.extend(e.focusNode,e.focusOffset)}}function Ki(e,t){var n=e.display,r=e.doc;if(t.editorIsHidden)return hr(e),!1;if(!t.force&&t.visible.from>=n.viewFrom&&t.visible.to<=n.viewTo&&(n.updateLineNumbers==null||n.updateLineNumbers>=n.viewTo)&&n.renderedView==n.view&&tl(e)==0)return!1;dl(e)&&(hr(e),t.dims=Ii(e));var i=r.first+r.size,o=Math.max(t.visible.from-e.options.viewportMargin,r.first),l=Math.min(i,t.visible.to+e.options.viewportMargin);n.viewFrom<o&&o-n.viewFrom<20&&(o=Math.max(r.first,n.viewFrom)),n.viewTo>l&&n.viewTo-l<20&&(l=Math.min(i,n.viewTo)),Vt&&(o=Li(e.doc,o),l=No(e.doc,l));var a=o!=n.viewFrom||l!=n.viewTo||n.lastWrapHeight!=t.wrapperHeight||n.lastWrapWidth!=t.wrapperWidth;zs(e,o,l),n.viewOffset=er(ye(e.doc,n.viewFrom)),e.display.mover.style.top=n.viewOffset+"px";var s=tl(e);if(!a&&s==0&&!t.force&&n.renderedView==n.view&&(n.updateLineNumbers==null||n.updateLineNumbers>=n.viewTo))return!1;var u=Zs(e);return s>4&&(n.lineDiv.style.display="none"),Vs(e,n.updateLineNumbers,t.dims),s>4&&(n.lineDiv.style.display=""),n.renderedView=n.view,$s(u),F(n.cursorDiv),F(n.selectionDiv),n.gutters.style.height=n.sizer.style.minHeight=0,a&&(n.lastWrapHeight=t.wrapperHeight,n.lastWrapWidth=t.wrapperWidth,kn(e,400)),n.updateLineNumbers=null,!0}function fl(e,t){for(var n=t.viewport,r=!0;;r=!1){if(!r||!e.options.lineWrapping||t.oldDisplayWidth==wr(e)){if(n&&n.top!=null&&(n={top:Math.min(e.doc.height+Mi(e.display)-Fi(e),n.top)}),t.visible=Vn(e.display,e.doc,n),t.visible.from>=e.display.viewFrom&&t.visible.to<=e.display.viewTo)break}else r&&(t.visible=Vn(e.display,e.doc,n));if(!Ki(e,t))break;$n(e);var i=yn(e);vn(e),Xr(e,i),Xi(e,i),t.force=!1}t.signal(e,"update",e),(e.display.viewFrom!=e.display.reportedViewFrom||e.display.viewTo!=e.display.reportedViewTo)&&(t.signal(e,"viewportChange",e,e.display.viewFrom,e.display.viewTo),e.display.reportedViewFrom=e.display.viewFrom,e.display.reportedViewTo=e.display.viewTo)}function Ui(e,t){var n=new ti(e,t);if(Ki(e,n)){$n(e),fl(e,n);var r=yn(e);vn(e),Xr(e,r),Xi(e,r),n.finish()}}function Vs(e,t,n){var r=e.display,i=e.options.lineNumbers,o=r.lineDiv,l=o.firstChild;function a(H){var Z=H.nextSibling;return Y&&z&&e.display.currentWheelTarget==H?H.style.display="none":H.parentNode.removeChild(H),Z}for(var s=r.view,u=r.viewFrom,h=0;h<s.length;h++){var x=s[h];if(!x.hidden)if(!x.node||x.node.parentNode!=o){var D=Cs(e,x,u,n);o.insertBefore(D,l)}else{for(;l!=x.node;)l=a(l);var L=i&&t!=null&&t<=u&&x.lineNumber;x.changes&&(ve(x.changes,"gutter")>-1&&(L=!1),zo(e,x,u,n)),L&&(F(x.lineNumber),x.lineNumber.appendChild(document.createTextNode(re(e.options,u)))),l=x.node.nextSibling}u+=x.size}for(;l;)l=a(l)}function Gi(e){var t=e.gutters.offsetWidth;e.sizer.style.marginLeft=t+"px",ot(e,"gutterChanged",e)}function Xi(e,t){e.display.sizer.style.minHeight=t.docHeight+"px",e.display.heightForcer.style.top=t.docHeight+"px",e.display.gutters.style.height=t.docHeight+e.display.barHeight+Yt(e)+"px"}function cl(e){var t=e.display,n=t.view;if(!(!t.alignWidgets&&(!t.gutters.firstChild||!e.options.fixedGutter))){for(var r=zi(t)-t.scroller.scrollLeft+e.doc.scrollLeft,i=t.gutters.offsetWidth,o=r+"px",l=0;l<n.length;l++)if(!n[l].hidden){e.options.fixedGutter&&(n[l].gutter&&(n[l].gutter.style.left=o),n[l].gutterBackground&&(n[l].gutterBackground.style.left=o));var a=n[l].alignable;if(a)for(var s=0;s<a.length;s++)a[s].style.left=o}e.options.fixedGutter&&(t.gutters.style.left=r+i+"px")}}function dl(e){if(!e.options.lineNumbers)return!1;var t=e.doc,n=re(e.options,t.first+t.size-1),r=e.display;if(n.length!=r.lineNumChars){var i=r.measure.appendChild(c("div",[c("div",n)],"CodeMirror-linenumber CodeMirror-gutter-elt")),o=i.firstChild.offsetWidth,l=i.offsetWidth-o;return r.lineGutter.style.width="",r.lineNumInnerWidth=Math.max(o,r.lineGutter.offsetWidth-l)+1,r.lineNumWidth=r.lineNumInnerWidth+l,r.lineNumChars=r.lineNumInnerWidth?n.length:-1,r.lineGutter.style.width=r.lineNumWidth+"px",Gi(e.display),!0}return!1}function Yi(e,t){for(var n=[],r=!1,i=0;i<e.length;i++){var o=e[i],l=null;if(typeof o!="string"&&(l=o.style,o=o.className),o=="CodeMirror-linenumbers")if(t)r=!0;else continue;n.push({className:o,style:l})}return t&&!r&&n.push({className:"CodeMirror-linenumbers",style:null}),n}function hl(e){var t=e.gutters,n=e.gutterSpecs;F(t),e.lineGutter=null;for(var r=0;r<n.length;++r){var i=n[r],o=i.className,l=i.style,a=t.appendChild(c("div",null,"CodeMirror-gutter "+o));l&&(a.style.cssText=l),o=="CodeMirror-linenumbers"&&(e.lineGutter=a,a.style.width=(e.lineNumWidth||1)+"px")}t.style.display=n.length?"":"none",Gi(e)}function wn(e){hl(e.display),St(e),cl(e)}function eu(e,t,n,r){var i=this;this.input=n,i.scrollbarFiller=c("div",null,"CodeMirror-scrollbar-filler"),i.scrollbarFiller.setAttribute("cm-not-content","true"),i.gutterFiller=c("div",null,"CodeMirror-gutter-filler"),i.gutterFiller.setAttribute("cm-not-content","true"),i.lineDiv=T("div",null,"CodeMirror-code"),i.selectionDiv=c("div",null,null,"position: relative; z-index: 1"),i.cursorDiv=c("div",null,"CodeMirror-cursors"),i.measure=c("div",null,"CodeMirror-measure"),i.lineMeasure=c("div",null,"CodeMirror-measure"),i.lineSpace=T("div",[i.measure,i.lineMeasure,i.selectionDiv,i.cursorDiv,i.lineDiv],null,"position: relative; outline: none");var o=T("div",[i.lineSpace],"CodeMirror-lines");i.mover=c("div",[o],null,"position: relative"),i.sizer=c("div",[i.mover],"CodeMirror-sizer"),i.sizerWidth=null,i.heightForcer=c("div",null,null,"position: absolute; height: "+Oe+"px; width: 1px;"),i.gutters=c("div",null,"CodeMirror-gutters"),i.lineGutter=null,i.scroller=c("div",[i.sizer,i.heightForcer,i.gutters],"CodeMirror-scroll"),i.scroller.setAttribute("tabIndex","-1"),i.wrapper=c("div",[i.scrollbarFiller,i.gutterFiller,i.scroller],"CodeMirror"),S&&R>=105&&(i.wrapper.style.clipPath="inset(0px)"),i.wrapper.setAttribute("translate","no"),k&&I<8&&(i.gutters.style.zIndex=-1,i.scroller.style.paddingRight=0),!Y&&!(_&&N)&&(i.scroller.draggable=!0),e&&(e.appendChild?e.appendChild(i.wrapper):e(i.wrapper)),i.viewFrom=i.viewTo=t.first,i.reportedViewFrom=i.reportedViewTo=t.first,i.view=[],i.renderedView=null,i.externalMeasured=null,i.viewOffset=0,i.lastWrapHeight=i.lastWrapWidth=0,i.updateLineNumbers=null,i.nativeBarWidth=i.barHeight=i.barWidth=0,i.scrollbarsClipped=!1,i.lineNumWidth=i.lineNumInnerWidth=i.lineNumChars=null,i.alignWidgets=!1,i.cachedCharWidth=i.cachedTextHeight=i.cachedPaddingH=null,i.maxLine=null,i.maxLineLength=0,i.maxLineChanged=!1,i.wheelDX=i.wheelDY=i.wheelStartX=i.wheelStartY=null,i.shift=!1,i.selForContextMenu=null,i.activeTouch=null,i.gutterSpecs=Yi(r.gutters,r.lineNumbers),hl(i),n.init(i)}var ri=0,rr=null;k?rr=-.53:_?rr=15:S?rr=-.7:$&&(rr=-1/3);function pl(e){var t=e.wheelDeltaX,n=e.wheelDeltaY;return t==null&&e.detail&&e.axis==e.HORIZONTAL_AXIS&&(t=e.detail),n==null&&e.detail&&e.axis==e.VERTICAL_AXIS?n=e.detail:n==null&&(n=e.wheelDelta),{x:t,y:n}}function tu(e){var t=pl(e);return t.x*=rr,t.y*=rr,t}function gl(e,t){S&&R==102&&(e.display.chromeScrollHack==null?e.display.sizer.style.pointerEvents="none":clearTimeout(e.display.chromeScrollHack),e.display.chromeScrollHack=setTimeout(function(){e.display.chromeScrollHack=null,e.display.sizer.style.pointerEvents=""},100));var n=pl(t),r=n.x,i=n.y,o=rr;t.deltaMode===0&&(r=t.deltaX,i=t.deltaY,o=1);var l=e.display,a=l.scroller,s=a.scrollWidth>a.clientWidth,u=a.scrollHeight>a.clientHeight;if(r&&s||i&&u){if(i&&z&&Y){e:for(var h=t.target,x=l.view;h!=a;h=h.parentNode)for(var D=0;D<x.length;D++)if(x[D].node==h){e.display.currentWheelTarget=h;break e}}if(r&&!_&&!A&&o!=null){i&&u&&xn(e,Math.max(0,a.scrollTop+i*o)),Cr(e,Math.max(0,a.scrollLeft+r*o)),(!i||i&&u)&&pt(t),l.wheelStartX=null;return}if(i&&o!=null){var L=i*o,H=e.doc.scrollTop,Z=H+l.wrapper.clientHeight;L<0?H=Math.max(0,H+L-50):Z=Math.min(e.doc.height,Z+L+50),Ui(e,{top:H,bottom:Z})}ri<20&&t.deltaMode!==0&&(l.wheelStartX==null?(l.wheelStartX=a.scrollLeft,l.wheelStartY=a.scrollTop,l.wheelDX=r,l.wheelDY=i,setTimeout(function(){if(l.wheelStartX!=null){var ie=a.scrollLeft-l.wheelStartX,ae=a.scrollTop-l.wheelStartY,he=ae&&l.wheelDY&&ae/l.wheelDY||ie&&l.wheelDX&&ie/l.wheelDX;l.wheelStartX=l.wheelStartY=null,he&&(rr=(rr*ri+he)/(ri+1),++ri)}},200)):(l.wheelDX+=r,l.wheelDY+=i))}}var Ot=function(e,t){this.ranges=e,this.primIndex=t};Ot.prototype.primary=function(){return this.ranges[this.primIndex]},Ot.prototype.equals=function(e){if(e==this)return!0;if(e.primIndex!=this.primIndex||e.ranges.length!=this.ranges.length)return!1;for(var t=0;t<this.ranges.length;t++){var n=this.ranges[t],r=e.ranges[t];if(!We(n.anchor,r.anchor)||!We(n.head,r.head))return!1}return!0},Ot.prototype.deepCopy=function(){for(var e=[],t=0;t<this.ranges.length;t++)e[t]=new He(it(this.ranges[t].anchor),it(this.ranges[t].head));return new Ot(e,this.primIndex)},Ot.prototype.somethingSelected=function(){for(var e=0;e<this.ranges.length;e++)if(!this.ranges[e].empty())return!0;return!1},Ot.prototype.contains=function(e,t){t||(t=e);for(var n=0;n<this.ranges.length;n++){var r=this.ranges[n];if(ce(t,r.from())>=0&&ce(e,r.to())<=0)return n}return-1};var He=function(e,t){this.anchor=e,this.head=t};He.prototype.from=function(){return Wr(this.anchor,this.head)},He.prototype.to=function(){return wt(this.anchor,this.head)},He.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch};function Kt(e,t,n){var r=e&&e.options.selectionsMayTouch,i=t[n];t.sort(function(D,L){return ce(D.from(),L.from())}),n=ve(t,i);for(var o=1;o<t.length;o++){var l=t[o],a=t[o-1],s=ce(a.to(),l.from());if(r&&!l.empty()?s>0:s>=0){var u=Wr(a.from(),l.from()),h=wt(a.to(),l.to()),x=a.empty()?l.from()==l.head:a.from()==a.head;o<=n&&--n,t.splice(--o,2,new He(x?h:u,x?u:h))}}return new Ot(t,n)}function pr(e,t){return new Ot([new He(e,t||e)],0)}function gr(e){return e.text?B(e.from.line+e.text.length-1,we(e.text).length+(e.text.length==1?e.from.ch:0)):e.to}function vl(e,t){if(ce(e,t.from)<0)return e;if(ce(e,t.to)<=0)return gr(t);var n=e.line+t.text.length-(t.to.line-t.from.line)-1,r=e.ch;return e.line==t.to.line&&(r+=gr(t).ch-t.to.ch),B(n,r)}function Qi(e,t){for(var n=[],r=0;r<e.sel.ranges.length;r++){var i=e.sel.ranges[r];n.push(new He(vl(i.anchor,t),vl(i.head,t)))}return Kt(e.cm,n,e.sel.primIndex)}function ml(e,t,n){return e.line==t.line?B(n.line,e.ch-t.ch+n.ch):B(n.line+(e.line-t.line),e.ch)}function ru(e,t,n){for(var r=[],i=B(e.first,0),o=i,l=0;l<t.length;l++){var a=t[l],s=ml(a.from,i,o),u=ml(gr(a),i,o);if(i=a.to,o=u,n=="around"){var h=e.sel.ranges[l],x=ce(h.head,h.anchor)<0;r[l]=new He(x?u:s,x?s:u)}else r[l]=new He(s,s)}return new Ot(r,e.sel.primIndex)}function Ji(e){e.doc.mode=zr(e.options,e.doc.modeOption),Sn(e)}function Sn(e){e.doc.iter(function(t){t.stateAfter&&(t.stateAfter=null),t.styles&&(t.styles=null)}),e.doc.modeFrontier=e.doc.highlightFrontier=e.doc.first,kn(e,100),e.state.modeGen++,e.curOp&&St(e)}function xl(e,t){return t.from.ch==0&&t.to.ch==0&&we(t.text)==""&&(!e.cm||e.cm.options.wholeLineUpdateBefore)}function Zi(e,t,n,r){function i(he){return n?n[he]:null}function o(he,se,ge){fs(he,se,ge,r),ot(he,"change",he,t)}function l(he,se){for(var ge=[],Le=he;Le<se;++Le)ge.push(new Hr(u[Le],i(Le),r));return ge}var a=t.from,s=t.to,u=t.text,h=ye(e,a.line),x=ye(e,s.line),D=we(u),L=i(u.length-1),H=s.line-a.line;if(t.full)e.insert(0,l(0,u.length)),e.remove(u.length,e.size-u.length);else if(xl(e,t)){var Z=l(0,u.length-1);o(x,x.text,L),H&&e.remove(a.line,H),Z.length&&e.insert(a.line,Z)}else if(h==x)if(u.length==1)o(h,h.text.slice(0,a.ch)+D+h.text.slice(s.ch),L);else{var ie=l(1,u.length-1);ie.push(new Hr(D+h.text.slice(s.ch),L,r)),o(h,h.text.slice(0,a.ch)+u[0],i(0)),e.insert(a.line+1,ie)}else if(u.length==1)o(h,h.text.slice(0,a.ch)+u[0]+x.text.slice(s.ch),i(0)),e.remove(a.line+1,H);else{o(h,h.text.slice(0,a.ch)+u[0],i(0)),o(x,D+x.text.slice(s.ch),L);var ae=l(1,u.length-1);H>1&&e.remove(a.line+1,H-1),e.insert(a.line+1,ae)}ot(e,"change",e,t)}function vr(e,t,n){function r(i,o,l){if(i.linked)for(var a=0;a<i.linked.length;++a){var s=i.linked[a];if(s.doc!=o){var u=l&&s.sharedHist;n&&!u||(t(s.doc,u),r(s.doc,i,u))}}}r(e,null,!0)}function yl(e,t){if(t.cm)throw new Error("This document is already in use.");e.doc=t,t.cm=e,Bi(e),Ji(e),bl(e),e.options.direction=t.direction,e.options.lineWrapping||Ci(e),e.options.mode=t.modeOption,St(e)}function bl(e){(e.doc.direction=="rtl"?j:V)(e.display.lineDiv,"CodeMirror-rtl")}function nu(e){At(e,function(){bl(e),St(e)})}function ni(e){this.done=[],this.undone=[],this.undoDepth=e?e.undoDepth:1/0,this.lastModTime=this.lastSelTime=0,this.lastOp=this.lastSelOp=null,this.lastOrigin=this.lastSelOrigin=null,this.generation=this.maxGeneration=e?e.maxGeneration:1}function $i(e,t){var n={from:it(t.from),to:gr(t),text:$t(e,t.from,t.to)};return Sl(e,n,t.from.line,t.to.line+1),vr(e,function(r){return Sl(r,n,t.from.line,t.to.line+1)},!0),n}function kl(e){for(;e.length;){var t=we(e);if(t.ranges)e.pop();else break}}function iu(e,t){if(t)return kl(e.done),we(e.done);if(e.done.length&&!we(e.done).ranges)return we(e.done);if(e.done.length>1&&!e.done[e.done.length-2].ranges)return e.done.pop(),we(e.done)}function wl(e,t,n,r){var i=e.history;i.undone.length=0;var o=+new Date,l,a;if((i.lastOp==r||i.lastOrigin==t.origin&&t.origin&&(t.origin.charAt(0)=="+"&&i.lastModTime>o-(e.cm?e.cm.options.historyEventDelay:500)||t.origin.charAt(0)=="*"))&&(l=iu(i,i.lastOp==r)))a=we(l.changes),ce(t.from,t.to)==0&&ce(t.from,a.to)==0?a.to=gr(t):l.changes.push($i(e,t));else{var s=we(i.done);for((!s||!s.ranges)&&ii(e.sel,i.done),l={changes:[$i(e,t)],generation:i.generation},i.done.push(l);i.done.length>i.undoDepth;)i.done.shift(),i.done[0].ranges||i.done.shift()}i.done.push(n),i.generation=++i.maxGeneration,i.lastModTime=i.lastSelTime=o,i.lastOp=i.lastSelOp=r,i.lastOrigin=i.lastSelOrigin=t.origin,a||Ye(e,"historyAdded")}function ou(e,t,n,r){var i=t.charAt(0);return i=="*"||i=="+"&&n.ranges.length==r.ranges.length&&n.somethingSelected()==r.somethingSelected()&&new Date-e.history.lastSelTime<=(e.cm?e.cm.options.historyEventDelay:500)}function lu(e,t,n,r){var i=e.history,o=r&&r.origin;n==i.lastSelOp||o&&i.lastSelOrigin==o&&(i.lastModTime==i.lastSelTime&&i.lastOrigin==o||ou(e,o,we(i.done),t))?i.done[i.done.length-1]=t:ii(t,i.done),i.lastSelTime=+new Date,i.lastSelOrigin=o,i.lastSelOp=n,r&&r.clearRedo!==!1&&kl(i.undone)}function ii(e,t){var n=we(t);n&&n.ranges&&n.equals(e)||t.push(e)}function Sl(e,t,n,r){var i=t["spans_"+e.id],o=0;e.iter(Math.max(e.first,n),Math.min(e.first+e.size,r),function(l){l.markedSpans&&((i||(i=t["spans_"+e.id]={}))[o]=l.markedSpans),++o})}function au(e){if(!e)return null;for(var t,n=0;n<e.length;++n)e[n].marker.explicitlyCleared?t||(t=e.slice(0,n)):t&&t.push(e[n]);return t?t.length?t:null:e}function su(e,t){var n=t["spans_"+e.id];if(!n)return null;for(var r=[],i=0;i<t.text.length;++i)r.push(au(n[i]));return r}function Ll(e,t){var n=su(e,t),r=wi(e,t);if(!n)return r;if(!r)return n;for(var i=0;i<n.length;++i){var o=n[i],l=r[i];if(o&&l)e:for(var a=0;a<l.length;++a){for(var s=l[a],u=0;u<o.length;++u)if(o[u].marker==s.marker)continue e;o.push(s)}else l&&(n[i]=l)}return n}function Yr(e,t,n){for(var r=[],i=0;i<e.length;++i){var o=e[i];if(o.ranges){r.push(n?Ot.prototype.deepCopy.call(o):o);continue}var l=o.changes,a=[];r.push({changes:a});for(var s=0;s<l.length;++s){var u=l[s],h=void 0;if(a.push({from:u.from,to:u.to,text:u.text}),t)for(var x in u)(h=x.match(/^spans_(\d+)$/))&&ve(t,Number(h[1]))>-1&&(we(a)[x]=u[x],delete u[x])}}return r}function Vi(e,t,n,r){if(r){var i=e.anchor;if(n){var o=ce(t,i)<0;o!=ce(n,i)<0?(i=t,t=n):o!=ce(t,n)<0&&(t=n)}return new He(i,t)}else return new He(n||t,t)}function oi(e,t,n,r,i){i==null&&(i=e.cm&&(e.cm.display.shift||e.extend)),gt(e,new Ot([Vi(e.sel.primary(),t,n,i)],0),r)}function Tl(e,t,n){for(var r=[],i=e.cm&&(e.cm.display.shift||e.extend),o=0;o<e.sel.ranges.length;o++)r[o]=Vi(e.sel.ranges[o],t[o],null,i);var l=Kt(e.cm,r,e.sel.primIndex);gt(e,l,n)}function eo(e,t,n,r){var i=e.sel.ranges.slice(0);i[t]=n,gt(e,Kt(e.cm,i,e.sel.primIndex),r)}function Cl(e,t,n,r){gt(e,pr(t,n),r)}function uu(e,t,n){var r={ranges:t.ranges,update:function(i){this.ranges=[];for(var o=0;o<i.length;o++)this.ranges[o]=new He(Ae(e,i[o].anchor),Ae(e,i[o].head))},origin:n&&n.origin};return Ye(e,"beforeSelectionChange",e,r),e.cm&&Ye(e.cm,"beforeSelectionChange",e.cm,r),r.ranges!=t.ranges?Kt(e.cm,r.ranges,r.ranges.length-1):t}function Dl(e,t,n){var r=e.history.done,i=we(r);i&&i.ranges?(r[r.length-1]=t,li(e,t,n)):gt(e,t,n)}function gt(e,t,n){li(e,t,n),lu(e,e.sel,e.cm?e.cm.curOp.id:NaN,n)}function li(e,t,n){(Ft(e,"beforeSelectionChange")||e.cm&&Ft(e.cm,"beforeSelectionChange"))&&(t=uu(e,t,n));var r=n&&n.bias||(ce(t.primary().head,e.sel.primary().head)<0?-1:1);Ml(e,Al(e,t,r,!0)),!(n&&n.scroll===!1)&&e.cm&&e.cm.getOption("readOnly")!="nocursor"&&Gr(e.cm)}function Ml(e,t){t.equals(e.sel)||(e.sel=t,e.cm&&(e.cm.curOp.updateInput=1,e.cm.curOp.selectionChanged=!0,It(e.cm)),ot(e,"cursorActivity",e))}function Fl(e){Ml(e,Al(e,e.sel,null,!1))}function Al(e,t,n,r){for(var i,o=0;o<t.ranges.length;o++){var l=t.ranges[o],a=t.ranges.length==e.sel.ranges.length&&e.sel.ranges[o],s=ai(e,l.anchor,a&&a.anchor,n,r),u=l.head==l.anchor?s:ai(e,l.head,a&&a.head,n,r);(i||s!=l.anchor||u!=l.head)&&(i||(i=t.ranges.slice(0,o)),i[o]=new He(s,u))}return i?Kt(e.cm,i,t.primIndex):t}function Qr(e,t,n,r,i){var o=ye(e,t.line);if(o.markedSpans)for(var l=0;l<o.markedSpans.length;++l){var a=o.markedSpans[l],s=a.marker,u="selectLeft"in s?!s.selectLeft:s.inclusiveLeft,h="selectRight"in s?!s.selectRight:s.inclusiveRight;if((a.from==null||(u?a.from<=t.ch:a.from<t.ch))&&(a.to==null||(h?a.to>=t.ch:a.to>t.ch))){if(i&&(Ye(s,"beforeCursorEnter"),s.explicitlyCleared))if(o.markedSpans){--l;continue}else break;if(!s.atomic)continue;if(n){var x=s.find(r<0?1:-1),D=void 0;if((r<0?h:u)&&(x=Nl(e,x,-r,x&&x.line==t.line?o:null)),x&&x.line==t.line&&(D=ce(x,n))&&(r<0?D<0:D>0))return Qr(e,x,t,r,i)}var L=s.find(r<0?-1:1);return(r<0?u:h)&&(L=Nl(e,L,r,L.line==t.line?o:null)),L?Qr(e,L,t,r,i):null}}return t}function ai(e,t,n,r,i){var o=r||1,l=Qr(e,t,n,o,i)||!i&&Qr(e,t,n,o,!0)||Qr(e,t,n,-o,i)||!i&&Qr(e,t,n,-o,!0);return l||(e.cantEdit=!0,B(e.first,0))}function Nl(e,t,n,r){return n<0&&t.ch==0?t.line>e.first?Ae(e,B(t.line-1)):null:n>0&&t.ch==(r||ye(e,t.line)).text.length?t.line<e.first+e.size-1?B(t.line+1,0):null:new B(t.line,t.ch+n)}function El(e){e.setSelection(B(e.firstLine(),0),B(e.lastLine()),$e)}function Ol(e,t,n){var r={canceled:!1,from:t.from,to:t.to,text:t.text,origin:t.origin,cancel:function(){return r.canceled=!0}};return n&&(r.update=function(i,o,l,a){i&&(r.from=Ae(e,i)),o&&(r.to=Ae(e,o)),l&&(r.text=l),a!==void 0&&(r.origin=a)}),Ye(e,"beforeChange",e,r),e.cm&&Ye(e.cm,"beforeChange",e.cm,r),r.canceled?(e.cm&&(e.cm.curOp.updateInput=2),null):{from:r.from,to:r.to,text:r.text,origin:r.origin}}function Jr(e,t,n){if(e.cm){if(!e.cm.curOp)return lt(e.cm,Jr)(e,t,n);if(e.cm.state.suppressEdits)return}if(!((Ft(e,"beforeChange")||e.cm&&Ft(e.cm,"beforeChange"))&&(t=Ol(e,t,!0),!t))){var r=Lo&&!n&&ls(e,t.from,t.to);if(r)for(var i=r.length-1;i>=0;--i)Pl(e,{from:r[i].from,to:r[i].to,text:i?[""]:t.text,origin:t.origin});else Pl(e,t)}}function Pl(e,t){if(!(t.text.length==1&&t.text[0]==""&&ce(t.from,t.to)==0)){var n=Qi(e,t);wl(e,t,n,e.cm?e.cm.curOp.id:NaN),Ln(e,t,n,wi(e,t));var r=[];vr(e,function(i,o){!o&&ve(r,i.history)==-1&&(Rl(i.history,t),r.push(i.history)),Ln(i,t,null,wi(i,t))})}}function si(e,t,n){var r=e.cm&&e.cm.state.suppressEdits;if(!(r&&!n)){for(var i=e.history,o,l=e.sel,a=t=="undo"?i.done:i.undone,s=t=="undo"?i.undone:i.done,u=0;u<a.length&&(o=a[u],!(n?o.ranges&&!o.equals(e.sel):!o.ranges));u++);if(u!=a.length){for(i.lastOrigin=i.lastSelOrigin=null;;)if(o=a.pop(),o.ranges){if(ii(o,s),n&&!o.equals(e.sel)){gt(e,o,{clearRedo:!1});return}l=o}else if(r){a.push(o);return}else break;var h=[];ii(l,s),s.push({changes:h,generation:i.generation}),i.generation=o.generation||++i.maxGeneration;for(var x=Ft(e,"beforeChange")||e.cm&&Ft(e.cm,"beforeChange"),D=function(Z){var ie=o.changes[Z];if(ie.origin=t,x&&!Ol(e,ie,!1))return a.length=0,{};h.push($i(e,ie));var ae=Z?Qi(e,ie):we(a);Ln(e,ie,ae,Ll(e,ie)),!Z&&e.cm&&e.cm.scrollIntoView({from:ie.from,to:gr(ie)});var he=[];vr(e,function(se,ge){!ge&&ve(he,se.history)==-1&&(Rl(se.history,ie),he.push(se.history)),Ln(se,ie,null,Ll(se,ie))})},L=o.changes.length-1;L>=0;--L){var H=D(L);if(H)return H.v}}}}function Il(e,t){if(t!=0&&(e.first+=t,e.sel=new Ot(Ie(e.sel.ranges,function(i){return new He(B(i.anchor.line+t,i.anchor.ch),B(i.head.line+t,i.head.ch))}),e.sel.primIndex),e.cm)){St(e.cm,e.first,e.first-t,t);for(var n=e.cm.display,r=n.viewFrom;r<n.viewTo;r++)dr(e.cm,r,"gutter")}}function Ln(e,t,n,r){if(e.cm&&!e.cm.curOp)return lt(e.cm,Ln)(e,t,n,r);if(t.to.line<e.first){Il(e,t.text.length-1-(t.to.line-t.from.line));return}if(!(t.from.line>e.lastLine())){if(t.from.line<e.first){var i=t.text.length-1-(e.first-t.from.line);Il(e,i),t={from:B(e.first,0),to:B(t.to.line+i,t.to.ch),text:[we(t.text)],origin:t.origin}}var o=e.lastLine();t.to.line>o&&(t={from:t.from,to:B(o,ye(e,o).text.length),text:[t.text[0]],origin:t.origin}),t.removed=$t(e,t.from,t.to),n||(n=Qi(e,t)),e.cm?fu(e.cm,t,r):Zi(e,t,r),li(e,n,$e),e.cantEdit&&ai(e,B(e.firstLine(),0))&&(e.cantEdit=!1)}}function fu(e,t,n){var r=e.doc,i=e.display,o=t.from,l=t.to,a=!1,s=o.line;e.options.lineWrapping||(s=f(qt(ye(r,o.line))),r.iter(s,l.line+1,function(L){if(L==i.maxLine)return a=!0,!0})),r.sel.contains(t.from,t.to)>-1&&It(e),Zi(r,t,n,el(e)),e.options.lineWrapping||(r.iter(s,o.line+t.text.length,function(L){var H=Un(L);H>i.maxLineLength&&(i.maxLine=L,i.maxLineLength=H,i.maxLineChanged=!0,a=!1)}),a&&(e.curOp.updateMaxLine=!0)),Va(r,o.line),kn(e,400);var u=t.text.length-(l.line-o.line)-1;t.full?St(e):o.line==l.line&&t.text.length==1&&!xl(e.doc,t)?dr(e,o.line,"text"):St(e,o.line,l.line+1,u);var h=Ft(e,"changes"),x=Ft(e,"change");if(x||h){var D={from:o,to:l,text:t.text,removed:t.removed,origin:t.origin};x&&ot(e,"change",e,D),h&&(e.curOp.changeObjs||(e.curOp.changeObjs=[])).push(D)}e.display.selForContextMenu=null}function Zr(e,t,n,r,i){var o;r||(r=n),ce(r,n)<0&&(o=[r,n],n=o[0],r=o[1]),typeof t=="string"&&(t=e.splitLines(t)),Jr(e,{from:n,to:r,text:t,origin:i})}function zl(e,t,n,r){n<e.line?e.line+=r:t<e.line&&(e.line=t,e.ch=0)}function Bl(e,t,n,r){for(var i=0;i<e.length;++i){var o=e[i],l=!0;if(o.ranges){o.copied||(o=e[i]=o.deepCopy(),o.copied=!0);for(var a=0;a<o.ranges.length;a++)zl(o.ranges[a].anchor,t,n,r),zl(o.ranges[a].head,t,n,r);continue}for(var s=0;s<o.changes.length;++s){var u=o.changes[s];if(n<u.from.line)u.from=B(u.from.line+r,u.from.ch),u.to=B(u.to.line+r,u.to.ch);else if(t<=u.to.line){l=!1;break}}l||(e.splice(0,i+1),i=0)}}function Rl(e,t){var n=t.from.line,r=t.to.line,i=t.text.length-(r-n)-1;Bl(e.done,n,r,i),Bl(e.undone,n,r,i)}function Tn(e,t,n,r){var i=t,o=t;return typeof t=="number"?o=ye(e,go(e,t)):i=f(t),i==null?null:(r(o,i)&&e.cm&&dr(e.cm,i,n),o)}function Cn(e){this.lines=e,this.parent=null;for(var t=0,n=0;n<e.length;++n)e[n].parent=this,t+=e[n].height;this.height=t}Cn.prototype={chunkSize:function(){return this.lines.length},removeInner:function(e,t){for(var n=e,r=e+t;n<r;++n){var i=this.lines[n];this.height-=i.height,cs(i),ot(i,"delete")}this.lines.splice(e,t)},collapse:function(e){e.push.apply(e,this.lines)},insertInner:function(e,t,n){this.height+=n,this.lines=this.lines.slice(0,e).concat(t).concat(this.lines.slice(e));for(var r=0;r<t.length;++r)t[r].parent=this},iterN:function(e,t,n){for(var r=e+t;e<r;++e)if(n(this.lines[e]))return!0}};function Dn(e){this.children=e;for(var t=0,n=0,r=0;r<e.length;++r){var i=e[r];t+=i.chunkSize(),n+=i.height,i.parent=this}this.size=t,this.height=n,this.parent=null}Dn.prototype={chunkSize:function(){return this.size},removeInner:function(e,t){this.size-=t;for(var n=0;n<this.children.length;++n){var r=this.children[n],i=r.chunkSize();if(e<i){var o=Math.min(t,i-e),l=r.height;if(r.removeInner(e,o),this.height-=l-r.height,i==o&&(this.children.splice(n--,1),r.parent=null),(t-=o)==0)break;e=0}else e-=i}if(this.size-t<25&&(this.children.length>1||!(this.children[0]instanceof Cn))){var a=[];this.collapse(a),this.children=[new Cn(a)],this.children[0].parent=this}},collapse:function(e){for(var t=0;t<this.children.length;++t)this.children[t].collapse(e)},insertInner:function(e,t,n){this.size+=t.length,this.height+=n;for(var r=0;r<this.children.length;++r){var i=this.children[r],o=i.chunkSize();if(e<=o){if(i.insertInner(e,t,n),i.lines&&i.lines.length>50){for(var l=i.lines.length%25+25,a=l;a<i.lines.length;){var s=new Cn(i.lines.slice(a,a+=25));i.height-=s.height,this.children.splice(++r,0,s),s.parent=this}i.lines=i.lines.slice(0,l),this.maybeSpill()}break}e-=o}},maybeSpill:function(){if(!(this.children.length<=10)){var e=this;do{var t=e.children.splice(e.children.length-5,5),n=new Dn(t);if(e.parent){e.size-=n.size,e.height-=n.height;var i=ve(e.parent.children,e);e.parent.children.splice(i+1,0,n)}else{var r=new Dn(e.children);r.parent=e,e.children=[r,n],e=r}n.parent=e.parent}while(e.children.length>10);e.parent.maybeSpill()}},iterN:function(e,t,n){for(var r=0;r<this.children.length;++r){var i=this.children[r],o=i.chunkSize();if(e<o){var l=Math.min(t,o-e);if(i.iterN(e,l,n))return!0;if((t-=l)==0)break;e=0}else e-=o}}};var Mn=function(e,t,n){if(n)for(var r in n)n.hasOwnProperty(r)&&(this[r]=n[r]);this.doc=e,this.node=t};Mn.prototype.clear=function(){var e=this.doc.cm,t=this.line.widgets,n=this.line,r=f(n);if(!(r==null||!t)){for(var i=0;i<t.length;++i)t[i]==this&&t.splice(i--,1);t.length||(n.widgets=null);var o=pn(this);Et(n,Math.max(0,n.height-o)),e&&(At(e,function(){Wl(e,n,-o),dr(e,r,"widget")}),ot(e,"lineWidgetCleared",e,this,r))}},Mn.prototype.changed=function(){var e=this,t=this.height,n=this.doc.cm,r=this.line;this.height=null;var i=pn(this)-t;i&&(cr(this.doc,r)||Et(r,r.height+i),n&&At(n,function(){n.curOp.forceUpdate=!0,Wl(n,r,i),ot(n,"lineWidgetChanged",n,e,f(r))}))},Bt(Mn);function Wl(e,t,n){er(t)<(e.curOp&&e.curOp.scrollTop||e.doc.scrollTop)&&ji(e,n)}function cu(e,t,n,r){var i=new Mn(e,n,r),o=e.cm;return o&&i.noHScroll&&(o.display.alignWidgets=!0),Tn(e,t,"widget",function(l){var a=l.widgets||(l.widgets=[]);if(i.insertAt==null?a.push(i):a.splice(Math.min(a.length,Math.max(0,i.insertAt)),0,i),i.line=l,o&&!cr(e,l)){var s=er(l)<e.scrollTop;Et(l,l.height+pn(i)),s&&ji(o,i.height),o.curOp.forceUpdate=!0}return!0}),o&&ot(o,"lineWidgetAdded",o,i,typeof t=="number"?t:f(t)),i}var Hl=0,mr=function(e,t){this.lines=[],this.type=t,this.doc=e,this.id=++Hl};mr.prototype.clear=function(){if(!this.explicitlyCleared){var e=this.doc.cm,t=e&&!e.curOp;if(t&&Mr(e),Ft(this,"clear")){var n=this.find();n&&ot(this,"clear",n.from,n.to)}for(var r=null,i=null,o=0;o<this.lines.length;++o){var l=this.lines[o],a=cn(l.markedSpans,this);e&&!this.collapsed?dr(e,f(l),"text"):e&&(a.to!=null&&(i=f(l)),a.from!=null&&(r=f(l))),l.markedSpans=rs(l.markedSpans,a),a.from==null&&this.collapsed&&!cr(this.doc,l)&&e&&Et(l,jr(e.display))}if(e&&this.collapsed&&!e.options.lineWrapping)for(var s=0;s<this.lines.length;++s){var u=qt(this.lines[s]),h=Un(u);h>e.display.maxLineLength&&(e.display.maxLine=u,e.display.maxLineLength=h,e.display.maxLineChanged=!0)}r!=null&&e&&this.collapsed&&St(e,r,i+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,e&&Fl(e.doc)),e&&ot(e,"markerCleared",e,this,r,i),t&&Fr(e),this.parent&&this.parent.clear()}},mr.prototype.find=function(e,t){e==null&&this.type=="bookmark"&&(e=1);for(var n,r,i=0;i<this.lines.length;++i){var o=this.lines[i],l=cn(o.markedSpans,this);if(l.from!=null&&(n=B(t?o:f(o),l.from),e==-1))return n;if(l.to!=null&&(r=B(t?o:f(o),l.to),e==1))return r}return n&&{from:n,to:r}},mr.prototype.changed=function(){var e=this,t=this.find(-1,!0),n=this,r=this.doc.cm;!t||!r||At(r,function(){var i=t.line,o=f(t.line),l=Ai(r,o);if(l&&(Go(l),r.curOp.selectionChanged=r.curOp.forceUpdate=!0),r.curOp.updateMaxLine=!0,!cr(n.doc,i)&&n.height!=null){var a=n.height;n.height=null;var s=pn(n)-a;s&&Et(i,i.height+s)}ot(r,"markerChanged",r,e)})},mr.prototype.attachLine=function(e){if(!this.lines.length&&this.doc.cm){var t=this.doc.cm.curOp;(!t.maybeHiddenMarkers||ve(t.maybeHiddenMarkers,this)==-1)&&(t.maybeUnhiddenMarkers||(t.maybeUnhiddenMarkers=[])).push(this)}this.lines.push(e)},mr.prototype.detachLine=function(e){if(this.lines.splice(ve(this.lines,e),1),!this.lines.length&&this.doc.cm){var t=this.doc.cm.curOp;(t.maybeHiddenMarkers||(t.maybeHiddenMarkers=[])).push(this)}},Bt(mr);function $r(e,t,n,r,i){if(r&&r.shared)return du(e,t,n,r,i);if(e.cm&&!e.cm.curOp)return lt(e.cm,$r)(e,t,n,r,i);var o=new mr(e,i),l=ce(t,n);if(r&&Me(r,o,!1),l>0||l==0&&o.clearWhenEmpty!==!1)return o;if(o.replacedWith&&(o.collapsed=!0,o.widgetNode=T("span",[o.replacedWith],"CodeMirror-widget"),r.handleMouseEvents||o.widgetNode.setAttribute("cm-ignore-events","true"),r.insertLeft&&(o.widgetNode.insertLeft=!0)),o.collapsed){if(Ao(e,t.line,t,n,o)||t.line!=n.line&&Ao(e,n.line,t,n,o))throw new Error("Inserting collapsed marker partially overlapping an existing one");ts()}o.addToHistory&&wl(e,{from:t,to:n,origin:"markText"},e.sel,NaN);var a=t.line,s=e.cm,u;if(e.iter(a,n.line+1,function(x){s&&o.collapsed&&!s.options.lineWrapping&&qt(x)==s.display.maxLine&&(u=!0),o.collapsed&&a!=t.line&&Et(x,0),ns(x,new _n(o,a==t.line?t.ch:null,a==n.line?n.ch:null),e.cm&&e.cm.curOp),++a}),o.collapsed&&e.iter(t.line,n.line+1,function(x){cr(e,x)&&Et(x,0)}),o.clearOnEnter&&Se(o,"beforeCursorEnter",function(){return o.clear()}),o.readOnly&&(es(),(e.history.done.length||e.history.undone.length)&&e.clearHistory()),o.collapsed&&(o.id=++Hl,o.atomic=!0),s){if(u&&(s.curOp.updateMaxLine=!0),o.collapsed)St(s,t.line,n.line+1);else if(o.className||o.startStyle||o.endStyle||o.css||o.attributes||o.title)for(var h=t.line;h<=n.line;h++)dr(s,h,"text");o.atomic&&Fl(s.doc),ot(s,"markerAdded",s,o)}return o}var Fn=function(e,t){this.markers=e,this.primary=t;for(var n=0;n<e.length;++n)e[n].parent=this};Fn.prototype.clear=function(){if(!this.explicitlyCleared){this.explicitlyCleared=!0;for(var e=0;e<this.markers.length;++e)this.markers[e].clear();ot(this,"clear")}},Fn.prototype.find=function(e,t){return this.primary.find(e,t)},Bt(Fn);function du(e,t,n,r,i){r=Me(r),r.shared=!1;var o=[$r(e,t,n,r,i)],l=o[0],a=r.widgetNode;return vr(e,function(s){a&&(r.widgetNode=a.cloneNode(!0)),o.push($r(s,Ae(s,t),Ae(s,n),r,i));for(var u=0;u<s.linked.length;++u)if(s.linked[u].isParent)return;l=we(o)}),new Fn(o,l)}function _l(e){return e.findMarks(B(e.first,0),e.clipPos(B(e.lastLine())),function(t){return t.parent})}function hu(e,t){for(var n=0;n<t.length;n++){var r=t[n],i=r.find(),o=e.clipPos(i.from),l=e.clipPos(i.to);if(ce(o,l)){var a=$r(e,o,l,r.primary,r.primary.type);r.markers.push(a),a.parent=r}}}function pu(e){for(var t=function(r){var i=e[r],o=[i.primary.doc];vr(i.primary.doc,function(s){return o.push(s)});for(var l=0;l<i.markers.length;l++){var a=i.markers[l];ve(o,a.doc)==-1&&(a.parent=null,i.markers.splice(l--,1))}},n=0;n<e.length;n++)t(n)}var gu=0,Lt=function(e,t,n,r,i){if(!(this instanceof Lt))return new Lt(e,t,n,r,i);n==null&&(n=0),Dn.call(this,[new Cn([new Hr("",null)])]),this.first=n,this.scrollTop=this.scrollLeft=0,this.cantEdit=!1,this.cleanGeneration=1,this.modeFrontier=this.highlightFrontier=n;var o=B(n,0);this.sel=pr(o),this.history=new ni(null),this.id=++gu,this.modeOption=t,this.lineSep=r,this.direction=i=="rtl"?"rtl":"ltr",this.extend=!1,typeof e=="string"&&(e=this.splitLines(e)),Zi(this,{from:o,to:o,text:e}),gt(this,pr(o),$e)};Lt.prototype=K(Dn.prototype,{constructor:Lt,iter:function(e,t,n){n?this.iterN(e-this.first,t-e,n):this.iterN(this.first,this.first+this.size,e)},insert:function(e,t){for(var n=0,r=0;r<t.length;++r)n+=t[r].height;this.insertInner(e-this.first,t,n)},remove:function(e,t){this.removeInner(e-this.first,t)},getValue:function(e){var t=un(this,this.first,this.first+this.size);return e===!1?t:t.join(e||this.lineSeparator())},setValue:at(function(e){var t=B(this.first,0),n=this.first+this.size-1;Jr(this,{from:t,to:B(n,ye(this,n).text.length),text:this.splitLines(e),origin:"setValue",full:!0},!0),this.cm&&mn(this.cm,0,0),gt(this,pr(t),$e)}),replaceRange:function(e,t,n,r){t=Ae(this,t),n=n?Ae(this,n):t,Zr(this,e,t,n,r)},getRange:function(e,t,n){var r=$t(this,Ae(this,e),Ae(this,t));return n===!1?r:n===""?r.join(""):r.join(n||this.lineSeparator())},getLine:function(e){var t=this.getLineHandle(e);return t&&t.text},getLineHandle:function(e){if(U(this,e))return ye(this,e)},getLineNumber:function(e){return f(e)},getLineHandleVisualStart:function(e){return typeof e=="number"&&(e=ye(this,e)),qt(e)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+this.size-1},clipPos:function(e){return Ae(this,e)},getCursor:function(e){var t=this.sel.primary(),n;return e==null||e=="head"?n=t.head:e=="anchor"?n=t.anchor:e=="end"||e=="to"||e===!1?n=t.to():n=t.from(),n},listSelections:function(){return this.sel.ranges},somethingSelected:function(){return this.sel.somethingSelected()},setCursor:at(function(e,t,n){Cl(this,Ae(this,typeof e=="number"?B(e,t||0):e),null,n)}),setSelection:at(function(e,t,n){Cl(this,Ae(this,e),Ae(this,t||e),n)}),extendSelection:at(function(e,t,n){oi(this,Ae(this,e),t&&Ae(this,t),n)}),extendSelections:at(function(e,t){Tl(this,vo(this,e),t)}),extendSelectionsBy:at(function(e,t){var n=Ie(this.sel.ranges,e);Tl(this,vo(this,n),t)}),setSelections:at(function(e,t,n){if(e.length){for(var r=[],i=0;i<e.length;i++)r[i]=new He(Ae(this,e[i].anchor),Ae(this,e[i].head||e[i].anchor));t==null&&(t=Math.min(e.length-1,this.sel.primIndex)),gt(this,Kt(this.cm,r,t),n)}}),addSelection:at(function(e,t,n){var r=this.sel.ranges.slice(0);r.push(new He(Ae(this,e),Ae(this,t||e))),gt(this,Kt(this.cm,r,r.length-1),n)}),getSelection:function(e){for(var t=this.sel.ranges,n,r=0;r<t.length;r++){var i=$t(this,t[r].from(),t[r].to());n=n?n.concat(i):i}return e===!1?n:n.join(e||this.lineSeparator())},getSelections:function(e){for(var t=[],n=this.sel.ranges,r=0;r<n.length;r++){var i=$t(this,n[r].from(),n[r].to());e!==!1&&(i=i.join(e||this.lineSeparator())),t[r]=i}return t},replaceSelection:function(e,t,n){for(var r=[],i=0;i<this.sel.ranges.length;i++)r[i]=e;this.replaceSelections(r,t,n||"+input")},replaceSelections:at(function(e,t,n){for(var r=[],i=this.sel,o=0;o<i.ranges.length;o++){var l=i.ranges[o];r[o]={from:l.from(),to:l.to(),text:this.splitLines(e[o]),origin:n}}for(var a=t&&t!="end"&&ru(this,r,t),s=r.length-1;s>=0;s--)Jr(this,r[s]);a?Dl(this,a):this.cm&&Gr(this.cm)}),undo:at(function(){si(this,"undo")}),redo:at(function(){si(this,"redo")}),undoSelection:at(function(){si(this,"undo",!0)}),redoSelection:at(function(){si(this,"redo",!0)}),setExtending:function(e){this.extend=e},getExtending:function(){return this.extend},historySize:function(){for(var e=this.history,t=0,n=0,r=0;r<e.done.length;r++)e.done[r].ranges||++t;for(var i=0;i<e.undone.length;i++)e.undone[i].ranges||++n;return{undo:t,redo:n}},clearHistory:function(){var e=this;this.history=new ni(this.history),vr(this,function(t){return t.history=e.history},!0)},markClean:function(){this.cleanGeneration=this.changeGeneration(!0)},changeGeneration:function(e){return e&&(this.history.lastOp=this.history.lastSelOp=this.history.lastOrigin=null),this.history.generation},isClean:function(e){return this.history.generation==(e||this.cleanGeneration)},getHistory:function(){return{done:Yr(this.history.done),undone:Yr(this.history.undone)}},setHistory:function(e){var t=this.history=new ni(this.history);t.done=Yr(e.done.slice(0),null,!0),t.undone=Yr(e.undone.slice(0),null,!0)},setGutterMarker:at(function(e,t,n){return Tn(this,e,"gutter",function(r){var i=r.gutterMarkers||(r.gutterMarkers={});return i[t]=n,!n&&be(i)&&(r.gutterMarkers=null),!0})}),clearGutter:at(function(e){var t=this;this.iter(function(n){n.gutterMarkers&&n.gutterMarkers[e]&&Tn(t,n,"gutter",function(){return n.gutterMarkers[e]=null,be(n.gutterMarkers)&&(n.gutterMarkers=null),!0})})}),lineInfo:function(e){var t;if(typeof e=="number"){if(!U(this,e)||(t=e,e=ye(this,e),!e))return null}else if(t=f(e),t==null)return null;return{line:t,handle:e,text:e.text,gutterMarkers:e.gutterMarkers,textClass:e.textClass,bgClass:e.bgClass,wrapClass:e.wrapClass,widgets:e.widgets}},addLineClass:at(function(e,t,n){return Tn(this,e,t=="gutter"?"gutter":"class",function(r){var i=t=="text"?"textClass":t=="background"?"bgClass":t=="gutter"?"gutterClass":"wrapClass";if(!r[i])r[i]=n;else{if(P(n).test(r[i]))return!1;r[i]+=" "+n}return!0})}),removeLineClass:at(function(e,t,n){return Tn(this,e,t=="gutter"?"gutter":"class",function(r){var i=t=="text"?"textClass":t=="background"?"bgClass":t=="gutter"?"gutterClass":"wrapClass",o=r[i];if(o)if(n==null)r[i]=null;else{var l=o.match(P(n));if(!l)return!1;var a=l.index+l[0].length;r[i]=o.slice(0,l.index)+(!l.index||a==o.length?"":" ")+o.slice(a)||null}else return!1;return!0})}),addLineWidget:at(function(e,t,n){return cu(this,e,t,n)}),removeLineWidget:function(e){e.clear()},markText:function(e,t,n){return $r(this,Ae(this,e),Ae(this,t),n,n&&n.type||"range")},setBookmark:function(e,t){var n={replacedWith:t&&(t.nodeType==null?t.widget:t),insertLeft:t&&t.insertLeft,clearWhenEmpty:!1,shared:t&&t.shared,handleMouseEvents:t&&t.handleMouseEvents};return e=Ae(this,e),$r(this,e,e,n,"bookmark")},findMarksAt:function(e){e=Ae(this,e);var t=[],n=ye(this,e.line).markedSpans;if(n)for(var r=0;r<n.length;++r){var i=n[r];(i.from==null||i.from<=e.ch)&&(i.to==null||i.to>=e.ch)&&t.push(i.marker.parent||i.marker)}return t},findMarks:function(e,t,n){e=Ae(this,e),t=Ae(this,t);var r=[],i=e.line;return this.iter(e.line,t.line+1,function(o){var l=o.markedSpans;if(l)for(var a=0;a<l.length;a++){var s=l[a];!(s.to!=null&&i==e.line&&e.ch>=s.to||s.from==null&&i!=e.line||s.from!=null&&i==t.line&&s.from>=t.ch)&&(!n||n(s.marker))&&r.push(s.marker.parent||s.marker)}++i}),r},getAllMarks:function(){var e=[];return this.iter(function(t){var n=t.markedSpans;if(n)for(var r=0;r<n.length;++r)n[r].from!=null&&e.push(n[r].marker)}),e},posFromIndex:function(e){var t,n=this.first,r=this.lineSeparator().length;return this.iter(function(i){var o=i.text.length+r;if(o>e)return t=e,!0;e-=o,++n}),Ae(this,B(n,t))},indexFromPos:function(e){e=Ae(this,e);var t=e.ch;if(e.line<this.first||e.ch<0)return 0;var n=this.lineSeparator().length;return this.iter(this.first,e.line,function(r){t+=r.text.length+n}),t},copy:function(e){var t=new Lt(un(this,this.first,this.first+this.size),this.modeOption,this.first,this.lineSep,this.direction);return t.scrollTop=this.scrollTop,t.scrollLeft=this.scrollLeft,t.sel=this.sel,t.extend=!1,e&&(t.history.undoDepth=this.history.undoDepth,t.setHistory(this.getHistory())),t},linkedDoc:function(e){e||(e={});var t=this.first,n=this.first+this.size;e.from!=null&&e.from>t&&(t=e.from),e.to!=null&&e.to<n&&(n=e.to);var r=new Lt(un(this,t,n),e.mode||this.modeOption,t,this.lineSep,this.direction);return e.sharedHist&&(r.history=this.history),(this.linked||(this.linked=[])).push({doc:r,sharedHist:e.sharedHist}),r.linked=[{doc:this,isParent:!0,sharedHist:e.sharedHist}],hu(r,_l(this)),r},unlinkDoc:function(e){if(e instanceof Ge&&(e=e.doc),this.linked)for(var t=0;t<this.linked.length;++t){var n=this.linked[t];if(n.doc==e){this.linked.splice(t,1),e.unlinkDoc(this),pu(_l(this));break}}if(e.history==this.history){var r=[e.id];vr(e,function(i){return r.push(i.id)},!0),e.history=new ni(null),e.history.done=Yr(this.history.done,r),e.history.undone=Yr(this.history.undone,r)}},iterLinkedDocs:function(e){vr(this,e)},getMode:function(){return this.mode},getEditor:function(){return this.cm},splitLines:function(e){return this.lineSep?e.split(this.lineSep):zt(e)},lineSeparator:function(){return this.lineSep||`
11 -`},setDirection:at(function(e){e!="rtl"&&(e="ltr"),e!=this.direction&&(this.direction=e,this.iter(function(t){return t.order=null}),this.cm&&nu(this.cm))})}),Lt.prototype.eachLine=Lt.prototype.iter;var ql=0;function vu(e){var t=this;if(jl(t),!(Qe(t,e)||tr(t.display,e))){pt(e),k&&(ql=+new Date);var n=Lr(t,e,!0),r=e.dataTransfer.files;if(!(!n||t.isReadOnly()))if(r&&r.length&&window.FileReader&&window.File)for(var i=r.length,o=Array(i),l=0,a=function(){++l==i&&lt(t,function(){n=Ae(t.doc,n);var L={from:n,to:n,text:t.doc.splitLines(o.filter(function(H){return H!=null}).join(t.doc.lineSeparator())),origin:"paste"};Jr(t.doc,L),Dl(t.doc,pr(Ae(t.doc,n),Ae(t.doc,gr(L))))})()},s=function(L,H){if(t.options.allowDropFileTypes&&ve(t.options.allowDropFileTypes,L.type)==-1){a();return}var Z=new FileReader;Z.onerror=function(){return a()},Z.onload=function(){var ie=Z.result;if(/[\x00-\x08\x0e-\x1f]{2}/.test(ie)){a();return}o[H]=ie,a()},Z.readAsText(L)},u=0;u<r.length;u++)s(r[u],u);else{if(t.state.draggingText&&t.doc.sel.contains(n)>-1){t.state.draggingText(e),setTimeout(function(){return t.display.input.focus()},20);return}try{var h=e.dataTransfer.getData("Text");if(h){var x;if(t.state.draggingText&&!t.state.draggingText.copy&&(x=t.listSelections()),li(t.doc,pr(n,n)),x)for(var D=0;D<x.length;++D)Zr(t.doc,"",x[D].anchor,x[D].head,"drag");t.replaceSelection(h,"around","paste"),t.display.input.focus()}}catch{}}}}function mu(e,t){if(k&&(!e.state.draggingText||+new Date-ql<100)){ar(t);return}if(!(Qe(e,t)||tr(e.display,t))&&(t.dataTransfer.setData("Text",e.getSelection()),t.dataTransfer.effectAllowed="copyMove",t.dataTransfer.setDragImage&&!$)){var n=c("img",null,null,"position: fixed; left: 0; top: 0;");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",A&&(n.width=n.height=1,e.display.wrapper.appendChild(n),n._top=n.offsetTop),t.dataTransfer.setDragImage(n,0,0),A&&n.parentNode.removeChild(n)}}function xu(e,t){var n=Lr(e,t);if(n){var r=document.createDocumentFragment();Ri(e,n,r),e.display.dragCursor||(e.display.dragCursor=c("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),e.display.lineSpace.insertBefore(e.display.dragCursor,e.display.cursorDiv)),G(e.display.dragCursor,r)}}function jl(e){e.display.dragCursor&&(e.display.lineSpace.removeChild(e.display.dragCursor),e.display.dragCursor=null)}function Kl(e){if(document.getElementsByClassName){for(var t=document.getElementsByClassName("CodeMirror"),n=[],r=0;r<t.length;r++){var i=t[r].CodeMirror;i&&n.push(i)}n.length&&n[0].operation(function(){for(var o=0;o<n.length;o++)e(n[o])})}}var Ul=!1;function yu(){Ul||(bu(),Ul=!0)}function bu(){var e;Se(window,"resize",function(){e==null&&(e=setTimeout(function(){e=null,Kl(ku)},100))}),Se(window,"blur",function(){return Kl(Ur)})}function ku(e){var t=e.display;t.cachedCharWidth=t.cachedTextHeight=t.cachedPaddingH=null,t.scrollbarsClipped=!1,e.setSize()}for(var xr={3:"Pause",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",61:"=",91:"Mod",92:"Mod",93:"Mod",106:"*",107:"=",109:"-",110:".",111:"/",145:"ScrollLock",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",224:"Mod",63232:"Up",63233:"Down",63234:"Left",63235:"Right",63272:"Delete",63273:"Home",63275:"End",63276:"PageUp",63277:"PageDown",63302:"Insert"},An=0;An<10;An++)xr[An+48]=xr[An+96]=String(An);for(var ui=65;ui<=90;ui++)xr[ui]=String.fromCharCode(ui);for(var Nn=1;Nn<=12;Nn++)xr[Nn+111]=xr[Nn+63235]="F"+Nn;var nr={};nr.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},nr.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},nr.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},nr.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]},nr.default=z?nr.macDefault:nr.pcDefault;function wu(e){var t=e.split(/-(?!$)/);e=t[t.length-1];for(var n,r,i,o,l=0;l<t.length-1;l++){var a=t[l];if(/^(cmd|meta|m)$/i.test(a))o=!0;else if(/^a(lt)?$/i.test(a))n=!0;else if(/^(c|ctrl|control)$/i.test(a))r=!0;else if(/^s(hift)?$/i.test(a))i=!0;else throw new Error("Unrecognized modifier name: "+a)}return n&&(e="Alt-"+e),r&&(e="Ctrl-"+e),o&&(e="Cmd-"+e),i&&(e="Shift-"+e),e}function Su(e){var t={};for(var n in e)if(e.hasOwnProperty(n)){var r=e[n];if(/^(name|fallthrough|(de|at)tach)$/.test(n))continue;if(r=="..."){delete e[n];continue}for(var i=Ie(n.split(" "),wu),o=0;o<i.length;o++){var l=void 0,a=void 0;o==i.length-1?(a=i.join(" "),l=r):(a=i.slice(0,o+1).join(" "),l="...");var s=t[a];if(!s)t[a]=l;else if(s!=l)throw new Error("Inconsistent bindings for "+a)}delete e[n]}for(var u in t)e[u]=t[u];return e}function Vr(e,t,n,r){t=fi(t);var i=t.call?t.call(e,r):t[e];if(i===!1)return"nothing";if(i==="...")return"multi";if(i!=null&&n(i))return"handled";if(t.fallthrough){if(Object.prototype.toString.call(t.fallthrough)!="[object Array]")return Vr(e,t.fallthrough,n,r);for(var o=0;o<t.fallthrough.length;o++){var l=Vr(e,t.fallthrough[o],n,r);if(l)return l}}}function Gl(e){var t=typeof e=="string"?e:xr[e.keyCode];return t=="Ctrl"||t=="Alt"||t=="Shift"||t=="Mod"}function Xl(e,t,n){var r=e;return t.altKey&&r!="Alt"&&(e="Alt-"+e),(W?t.metaKey:t.ctrlKey)&&r!="Ctrl"&&(e="Ctrl-"+e),(W?t.ctrlKey:t.metaKey)&&r!="Mod"&&(e="Cmd-"+e),!n&&t.shiftKey&&r!="Shift"&&(e="Shift-"+e),e}function Yl(e,t){if(A&&e.keyCode==34&&e.char)return!1;var n=xr[e.keyCode];return n==null||e.altGraphKey?!1:(e.keyCode==3&&e.code&&(n=e.code),Xl(n,e,t))}function fi(e){return typeof e=="string"?nr[e]:e}function en(e,t){for(var n=e.doc.sel.ranges,r=[],i=0;i<n.length;i++){for(var o=t(n[i]);r.length&&ce(o.from,we(r).to)<=0;){var l=r.pop();if(ce(l.from,o.from)<0){o.from=l.from;break}}r.push(o)}At(e,function(){for(var a=r.length-1;a>=0;a--)Zr(e.doc,"",r[a].from,r[a].to,"+delete");Gr(e)})}function to(e,t,n){var r=Mt(e.text,t+n,n);return r<0||r>e.text.length?null:r}function ro(e,t,n){var r=to(e,t.ch,n);return r==null?null:new B(t.line,r,n<0?"after":"before")}function no(e,t,n,r,i){if(e){t.doc.direction=="rtl"&&(i=-i);var o=Re(n,t.doc.direction);if(o){var l=i<0?we(o):o[0],a=i<0==(l.level==1),s=a?"after":"before",u;if(l.level>0||t.doc.direction=="rtl"){var h=qr(t,n);u=i<0?n.text.length-1:0;var x=Qt(t,h,u).top;u=Pt(function(D){return Qt(t,h,D).top==x},i<0==(l.level==1)?l.from:l.to-1,u),s=="before"&&(u=to(n,u,1))}else u=i<0?l.to:l.from;return new B(r,u,s)}}return new B(r,i<0?n.text.length:0,i<0?"before":"after")}function Lu(e,t,n,r){var i=Re(t,e.doc.direction);if(!i)return ro(t,n,r);n.ch>=t.text.length?(n.ch=t.text.length,n.sticky="before"):n.ch<=0&&(n.ch=0,n.sticky="after");var o=lr(i,n.ch,n.sticky),l=i[o];if(e.doc.direction=="ltr"&&l.level%2==0&&(r>0?l.to>n.ch:l.from<n.ch))return ro(t,n,r);var a=function(ae,he){return to(t,ae instanceof B?ae.ch:ae,he)},s,u=function(ae){return e.options.lineWrapping?(s=s||qr(e,t),Vo(e,t,s,ae)):{begin:0,end:t.text.length}},h=u(n.sticky=="before"?a(n,-1):n.ch);if(e.doc.direction=="rtl"||l.level==1){var x=l.level==1==r<0,D=a(n,x?1:-1);if(D!=null&&(x?D<=l.to&&D<=h.end:D>=l.from&&D>=h.begin)){var L=x?"before":"after";return new B(n.line,D,L)}}var H=function(ae,he,se){for(var ge=function(Ke,st){return st?new B(n.line,a(Ke,1),"before"):new B(n.line,Ke,"after")};ae>=0&&ae<i.length;ae+=he){var Le=i[ae],ke=he>0==(Le.level!=1),Ee=ke?se.begin:a(se.end,-1);if(Le.from<=Ee&&Ee<Le.to||(Ee=ke?Le.from:a(Le.to,-1),se.begin<=Ee&&Ee<se.end))return ge(Ee,ke)}},Z=H(o+r,r,h);if(Z)return Z;var ie=r>0?h.end:a(h.begin,-1);return ie!=null&&!(r>0&&ie==t.text.length)&&(Z=H(r>0?0:i.length-1,r,u(ie)),Z)?Z:null}var En={selectAll:El,singleSelection:function(e){return e.setSelection(e.getCursor("anchor"),e.getCursor("head"),$e)},killLine:function(e){return en(e,function(t){if(t.empty()){var n=ye(e.doc,t.head.line).text.length;return t.head.ch==n&&t.head.line<e.lastLine()?{from:t.head,to:B(t.head.line+1,0)}:{from:t.head,to:B(t.head.line,n)}}else return{from:t.from(),to:t.to()}})},deleteLine:function(e){return en(e,function(t){return{from:B(t.from().line,0),to:Ae(e.doc,B(t.to().line+1,0))}})},delLineLeft:function(e){return en(e,function(t){return{from:B(t.from().line,0),to:t.from()}})},delWrappedLineLeft:function(e){return en(e,function(t){var n=e.charCoords(t.head,"div").top+5,r=e.coordsChar({left:0,top:n},"div");return{from:r,to:t.from()}})},delWrappedLineRight:function(e){return en(e,function(t){var n=e.charCoords(t.head,"div").top+5,r=e.coordsChar({left:e.display.lineDiv.offsetWidth+100,top:n},"div");return{from:t.from(),to:r}})},undo:function(e){return e.undo()},redo:function(e){return e.redo()},undoSelection:function(e){return e.undoSelection()},redoSelection:function(e){return e.redoSelection()},goDocStart:function(e){return e.extendSelection(B(e.firstLine(),0))},goDocEnd:function(e){return e.extendSelection(B(e.lastLine()))},goLineStart:function(e){return e.extendSelectionsBy(function(t){return Ql(e,t.head.line)},{origin:"+move",bias:1})},goLineStartSmart:function(e){return e.extendSelectionsBy(function(t){return Jl(e,t.head)},{origin:"+move",bias:1})},goLineEnd:function(e){return e.extendSelectionsBy(function(t){return Tu(e,t.head.line)},{origin:"+move",bias:-1})},goLineRight:function(e){return e.extendSelectionsBy(function(t){var n=e.cursorCoords(t.head,"div").top+5;return e.coordsChar({left:e.display.lineDiv.offsetWidth+100,top:n},"div")},Pe)},goLineLeft:function(e){return e.extendSelectionsBy(function(t){var n=e.cursorCoords(t.head,"div").top+5;return e.coordsChar({left:0,top:n},"div")},Pe)},goLineLeftSmart:function(e){return e.extendSelectionsBy(function(t){var n=e.cursorCoords(t.head,"div").top+5,r=e.coordsChar({left:0,top:n},"div");return r.ch<e.getLine(r.line).search(/\S/)?Jl(e,t.head):r},Pe)},goLineUp:function(e){return e.moveV(-1,"line")},goLineDown:function(e){return e.moveV(1,"line")},goPageUp:function(e){return e.moveV(-1,"page")},goPageDown:function(e){return e.moveV(1,"page")},goCharLeft:function(e){return e.moveH(-1,"char")},goCharRight:function(e){return e.moveH(1,"char")},goColumnLeft:function(e){return e.moveH(-1,"column")},goColumnRight:function(e){return e.moveH(1,"column")},goWordLeft:function(e){return e.moveH(-1,"word")},goGroupRight:function(e){return e.moveH(1,"group")},goGroupLeft:function(e){return e.moveH(-1,"group")},goWordRight:function(e){return e.moveH(1,"word")},delCharBefore:function(e){return e.deleteH(-1,"codepoint")},delCharAfter:function(e){return e.deleteH(1,"char")},delWordBefore:function(e){return e.deleteH(-1,"word")},delWordAfter:function(e){return e.deleteH(1,"word")},delGroupBefore:function(e){return e.deleteH(-1,"group")},delGroupAfter:function(e){return e.deleteH(1,"group")},indentAuto:function(e){return e.indentSelection("smart")},indentMore:function(e){return e.indentSelection("add")},indentLess:function(e){return e.indentSelection("subtract")},insertTab:function(e){return e.replaceSelection(" ")},insertSoftTab:function(e){for(var t=[],n=e.listSelections(),r=e.options.tabSize,i=0;i<n.length;i++){var o=n[i].from(),l=Fe(e.getLine(o.line),o.ch,r);t.push(et(r-l%r))}e.replaceSelections(t)},defaultTab:function(e){e.somethingSelected()?e.indentSelection("add"):e.execCommand("insertTab")},transposeChars:function(e){return At(e,function(){for(var t=e.listSelections(),n=[],r=0;r<t.length;r++)if(t[r].empty()){var i=t[r].head,o=ye(e.doc,i.line).text;if(o){if(i.ch==o.length&&(i=new B(i.line,i.ch-1)),i.ch>0)i=new B(i.line,i.ch+1),e.replaceRange(o.charAt(i.ch-1)+o.charAt(i.ch-2),B(i.line,i.ch-2),i,"+transpose");else if(i.line>e.doc.first){var l=ye(e.doc,i.line-1).text;l&&(i=new B(i.line,1),e.replaceRange(o.charAt(0)+e.doc.lineSeparator()+l.charAt(l.length-1),B(i.line-1,l.length-1),i,"+transpose"))}}n.push(new He(i,i))}e.setSelections(n)})},newlineAndIndent:function(e){return At(e,function(){for(var t=e.listSelections(),n=t.length-1;n>=0;n--)e.replaceRange(e.doc.lineSeparator(),t[n].anchor,t[n].head,"+input");t=e.listSelections();for(var r=0;r<t.length;r++)e.indentLine(t[r].from().line,null,!0);Gr(e)})},openLine:function(e){return e.replaceSelection(`
12 -`,"start")},toggleOverwrite:function(e){return e.toggleOverwrite()}};function Ql(e,t){var n=ye(e.doc,t),r=qt(n);return r!=n&&(t=f(r)),no(!0,e,r,t,1)}function Tu(e,t){var n=ye(e.doc,t),r=ss(n);return r!=n&&(t=f(r)),no(!0,e,n,t,-1)}function Jl(e,t){var n=Ql(e,t.line),r=ye(e.doc,n.line),i=Re(r,e.doc.direction);if(!i||i[0].level==0){var o=Math.max(n.ch,r.text.search(/\S/)),l=t.line==n.line&&t.ch<=o&&t.ch;return B(n.line,l?0:o,n.sticky)}return n}function ci(e,t,n){if(typeof t=="string"&&(t=En[t],!t))return!1;e.display.input.ensurePolled();var r=e.display.shift,i=!1;try{e.isReadOnly()&&(e.state.suppressEdits=!0),n&&(e.display.shift=!1),i=t(e)!=qe}finally{e.display.shift=r,e.state.suppressEdits=!1}return i}function Cu(e,t,n){for(var r=0;r<e.state.keyMaps.length;r++){var i=Vr(t,e.state.keyMaps[r],n,e);if(i)return i}return e.options.extraKeys&&Vr(t,e.options.extraKeys,n,e)||Vr(t,e.options.keyMap,n,e)}var Du=new Ce;function On(e,t,n,r){var i=e.state.keySeq;if(i){if(Gl(t))return"handled";if(/\'$/.test(t)?e.state.keySeq=null:Du.set(50,function(){e.state.keySeq==i&&(e.state.keySeq=null,e.display.input.reset())}),Zl(e,i+" "+t,n,r))return!0}return Zl(e,t,n,r)}function Zl(e,t,n,r){var i=Cu(e,t,r);return i=="multi"&&(e.state.keySeq=t),i=="handled"&&ot(e,"keyHandled",e,t,n),(i=="handled"||i=="multi")&&(pt(n),Wi(e)),!!i}function $l(e,t){var n=Yl(t,!0);return n?t.shiftKey&&!e.state.keySeq?On(e,"Shift-"+n,t,function(r){return ci(e,r,!0)})||On(e,n,t,function(r){if(typeof r=="string"?/^go[A-Z]/.test(r):r.motion)return ci(e,r)}):On(e,n,t,function(r){return ci(e,r)}):!1}function Mu(e,t,n){return On(e,"'"+n+"'",t,function(r){return ci(e,r,!0)})}var io=null;function Vl(e){var t=this;if(!(e.target&&e.target!=t.display.input.getField())&&(t.curOp.focus=y(fe(t)),!Qe(t,e))){k&&I<11&&e.keyCode==27&&(e.returnValue=!1);var n=e.keyCode;t.display.shift=n==16||e.shiftKey;var r=$l(t,e);A&&(io=r?n:null,!r&&n==88&&!Wn&&(z?e.metaKey:e.ctrlKey)&&t.replaceSelection("",null,"cut")),_&&!z&&!r&&n==46&&e.shiftKey&&!e.ctrlKey&&document.execCommand&&document.execCommand("cut"),n==18&&!/\bCodeMirror-crosshair\b/.test(t.display.lineDiv.className)&&Fu(t)}}function Fu(e){var t=e.display.lineDiv;j(t,"CodeMirror-crosshair");function n(r){(r.keyCode==18||!r.altKey)&&(V(t,"CodeMirror-crosshair"),ht(document,"keyup",n),ht(document,"mouseover",n))}Se(document,"keyup",n),Se(document,"mouseover",n)}function ea(e){e.keyCode==16&&(this.doc.sel.shift=!1),Qe(this,e)}function ta(e){var t=this;if(!(e.target&&e.target!=t.display.input.getField())&&!(tr(t.display,e)||Qe(t,e)||e.ctrlKey&&!e.altKey||z&&e.metaKey)){var n=e.keyCode,r=e.charCode;if(A&&n==io){io=null,pt(e);return}if(!(A&&(!e.which||e.which<10)&&$l(t,e))){var i=String.fromCharCode(r??n);i!="\b"&&(Mu(t,e,i)||t.display.input.onKeyPress(e))}}}var Au=400,oo=function(e,t,n){this.time=e,this.pos=t,this.button=n};oo.prototype.compare=function(e,t,n){return this.time+Au>e&&ce(t,this.pos)==0&&n==this.button};var Pn,In;function Nu(e,t){var n=+new Date;return In&&In.compare(n,e,t)?(Pn=In=null,"triple"):Pn&&Pn.compare(n,e,t)?(In=new oo(n,e,t),Pn=null,"double"):(Pn=new oo(n,e,t),In=null,"single")}function ra(e){var t=this,n=t.display;if(!(Qe(t,e)||n.activeTouch&&n.input.supportsTouch())){if(n.input.ensurePolled(),n.shift=e.shiftKey,tr(n,e)){Y||(n.scroller.draggable=!1,setTimeout(function(){return n.scroller.draggable=!0},100));return}if(!lo(t,e)){var r=Lr(t,e),i=Rt(e),o=r?Nu(r,i):"single";le(t).focus(),i==1&&t.state.selectingText&&t.state.selectingText(e),!(r&&Eu(t,i,r,o,e))&&(i==1?r?Pu(t,r,o,e):ln(e)==n.scroller&&pt(e):i==2?(r&&oi(t.doc,r),setTimeout(function(){return n.input.focus()},20)):i==3&&(J?t.display.input.onContextMenu(e):Hi(t)))}}}function Eu(e,t,n,r,i){var o="Click";return r=="double"?o="Double"+o:r=="triple"&&(o="Triple"+o),o=(t==1?"Left":t==2?"Middle":"Right")+o,On(e,Xl(o,i),i,function(l){if(typeof l=="string"&&(l=En[l]),!l)return!1;var a=!1;try{e.isReadOnly()&&(e.state.suppressEdits=!0),a=l(e,n)!=qe}finally{e.state.suppressEdits=!1}return a})}function Ou(e,t,n){var r=e.getOption("configureMouse"),i=r?r(e,t,n):{};if(i.unit==null){var o=X?n.shiftKey&&n.metaKey:n.altKey;i.unit=o?"rectangle":t=="single"?"char":t=="double"?"word":"line"}return(i.extend==null||e.doc.extend)&&(i.extend=e.doc.extend||n.shiftKey),i.addNew==null&&(i.addNew=z?n.metaKey:n.ctrlKey),i.moveOnDrag==null&&(i.moveOnDrag=!(z?n.altKey:n.ctrlKey)),i}function Pu(e,t,n,r){k?setTimeout(xe(nl,e),0):e.curOp.focus=y(fe(e));var i=Ou(e,n,r),o=e.doc.sel,l;e.options.dragDrop&&xi&&!e.isReadOnly()&&n=="single"&&(l=o.contains(t))>-1&&(ce((l=o.ranges[l]).from(),t)<0||t.xRel>0)&&(ce(l.to(),t)>0||t.xRel<0)?Iu(e,r,t,i):zu(e,r,t,i)}function Iu(e,t,n,r){var i=e.display,o=!1,l=lt(e,function(u){Y&&(i.scroller.draggable=!1),e.state.draggingText=!1,e.state.delayingBlurEvent&&(e.hasFocus()?e.state.delayingBlurEvent=!1:Hi(e)),ht(i.wrapper.ownerDocument,"mouseup",l),ht(i.wrapper.ownerDocument,"mousemove",a),ht(i.scroller,"dragstart",s),ht(i.scroller,"drop",l),o||(pt(u),r.addNew||oi(e.doc,n,null,null,r.extend),Y&&!$||k&&I==9?setTimeout(function(){i.wrapper.ownerDocument.body.focus({preventScroll:!0}),i.input.focus()},20):i.input.focus())}),a=function(u){o=o||Math.abs(t.clientX-u.clientX)+Math.abs(t.clientY-u.clientY)>=10},s=function(){return o=!0};Y&&(i.scroller.draggable=!0),e.state.draggingText=l,l.copy=!r.moveOnDrag,Se(i.wrapper.ownerDocument,"mouseup",l),Se(i.wrapper.ownerDocument,"mousemove",a),Se(i.scroller,"dragstart",s),Se(i.scroller,"drop",l),e.state.delayingBlurEvent=!0,setTimeout(function(){return i.input.focus()},20),i.scroller.dragDrop&&i.scroller.dragDrop()}function na(e,t,n){if(n=="char")return new He(t,t);if(n=="word")return e.findWordAt(t);if(n=="line")return new He(B(t.line,0),Ae(e.doc,B(t.line+1,0)));var r=n(e,t);return new He(r.from,r.to)}function zu(e,t,n,r){k&&Hi(e);var i=e.display,o=e.doc;pt(t);var l,a,s=o.sel,u=s.ranges;if(r.addNew&&!r.extend?(a=o.sel.contains(n),a>-1?l=u[a]:l=new He(n,n)):(l=o.sel.primary(),a=o.sel.primIndex),r.unit=="rectangle")r.addNew||(l=new He(n,n)),n=Lr(e,t,!0,!0),a=-1;else{var h=na(e,n,r.unit);r.extend?l=Vi(l,h.anchor,h.head,r.extend):l=h}r.addNew?a==-1?(a=u.length,gt(o,Kt(e,u.concat([l]),a),{scroll:!1,origin:"*mouse"})):u.length>1&&u[a].empty()&&r.unit=="char"&&!r.extend?(gt(o,Kt(e,u.slice(0,a).concat(u.slice(a+1)),0),{scroll:!1,origin:"*mouse"}),s=o.sel):eo(o,a,l,dt):(a=0,gt(o,new Ot([l],0),dt),s=o.sel);var x=n;function D(se){if(ce(x,se)!=0)if(x=se,r.unit=="rectangle"){for(var ge=[],Le=e.options.tabSize,ke=Fe(ye(o,n.line).text,n.ch,Le),Ee=Fe(ye(o,se.line).text,se.ch,Le),Ke=Math.min(ke,Ee),st=Math.max(ke,Ee),Xe=Math.min(n.line,se.line),Nt=Math.min(e.lastLine(),Math.max(n.line,se.line));Xe<=Nt;Xe++){var Tt=ye(o,Xe).text,tt=_e(Tt,Ke,Le);Ke==st?ge.push(new He(B(Xe,tt),B(Xe,tt))):Tt.length>tt&&ge.push(new He(B(Xe,tt),B(Xe,_e(Tt,st,Le))))}ge.length||ge.push(new He(n,n)),gt(o,Kt(e,s.ranges.slice(0,a).concat(ge),a),{origin:"*mouse",scroll:!1}),e.scrollIntoView(se)}else{var Ct=l,ft=na(e,se,r.unit),nt=Ct.anchor,rt;ce(ft.anchor,nt)>0?(rt=ft.head,nt=Wr(Ct.from(),ft.anchor)):(rt=ft.anchor,nt=wt(Ct.to(),ft.head));var Ze=s.ranges.slice(0);Ze[a]=Bu(e,new He(Ae(o,nt),rt)),gt(o,Kt(e,Ze,a),dt)}}var L=i.wrapper.getBoundingClientRect(),H=0;function Z(se){var ge=++H,Le=Lr(e,se,!0,r.unit=="rectangle");if(Le)if(ce(Le,x)!=0){e.curOp.focus=y(fe(e)),D(Le);var ke=Vn(i,o);(Le.line>=ke.to||Le.line<ke.from)&&setTimeout(lt(e,function(){H==ge&&Z(se)}),150)}else{var Ee=se.clientY<L.top?-20:se.clientY>L.bottom?20:0;Ee&&setTimeout(lt(e,function(){H==ge&&(i.scroller.scrollTop+=Ee,Z(se))}),50)}}function ie(se){e.state.selectingText=!1,H=1/0,se&&(pt(se),i.input.focus()),ht(i.wrapper.ownerDocument,"mousemove",ae),ht(i.wrapper.ownerDocument,"mouseup",he),o.history.lastSelOrigin=null}var ae=lt(e,function(se){se.buttons===0||!Rt(se)?ie(se):Z(se)}),he=lt(e,ie);e.state.selectingText=he,Se(i.wrapper.ownerDocument,"mousemove",ae),Se(i.wrapper.ownerDocument,"mouseup",he)}function Bu(e,t){var n=t.anchor,r=t.head,i=ye(e.doc,n.line);if(ce(n,r)==0&&n.sticky==r.sticky)return t;var o=Re(i);if(!o)return t;var l=lr(o,n.ch,n.sticky),a=o[l];if(a.from!=n.ch&&a.to!=n.ch)return t;var s=l+(a.from==n.ch==(a.level!=1)?0:1);if(s==0||s==o.length)return t;var u;if(r.line!=n.line)u=(r.line-n.line)*(e.doc.direction=="ltr"?1:-1)>0;else{var h=lr(o,r.ch,r.sticky),x=h-l||(r.ch-n.ch)*(a.level==1?-1:1);h==s-1||h==s?u=x<0:u=x>0}var D=o[s+(u?-1:0)],L=u==(D.level==1),H=L?D.from:D.to,Z=L?"after":"before";return n.ch==H&&n.sticky==Z?t:new He(new B(n.line,H,Z),r)}function ia(e,t,n,r){var i,o;if(t.touches)i=t.touches[0].clientX,o=t.touches[0].clientY;else try{i=t.clientX,o=t.clientY}catch{return!1}if(i>=Math.floor(e.display.gutters.getBoundingClientRect().right))return!1;r&&pt(t);var l=e.display,a=l.lineDiv.getBoundingClientRect();if(o>a.bottom||!Ft(e,n))return kt(t);o-=a.top-l.viewOffset;for(var s=0;s<e.display.gutterSpecs.length;++s){var u=l.gutters.childNodes[s];if(u&&u.getBoundingClientRect().right>=i){var h=m(e.doc,o),x=e.display.gutterSpecs[s];return Ye(e,n,e,h,x.className,t),kt(t)}}}function lo(e,t){return ia(e,t,"gutterClick",!0)}function oa(e,t){tr(e.display,t)||Ru(e,t)||Qe(e,t,"contextmenu")||J||e.display.input.onContextMenu(t)}function Ru(e,t){return Ft(e,"gutterContextMenu")?ia(e,t,"gutterContextMenu",!1):!1}function la(e){e.display.wrapper.className=e.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+e.options.theme.replace(/(^|\s)\s*/g," cm-s-"),gn(e)}var tn={toString:function(){return"CodeMirror.Init"}},aa={},di={};function Wu(e){var t=e.optionHandlers;function n(r,i,o,l){e.defaults[r]=i,o&&(t[r]=l?function(a,s,u){u!=tn&&o(a,s,u)}:o)}e.defineOption=n,e.Init=tn,n("value","",function(r,i){return r.setValue(i)},!0),n("mode",null,function(r,i){r.doc.modeOption=i,Ji(r)},!0),n("indentUnit",2,Ji,!0),n("indentWithTabs",!1),n("smartIndent",!0),n("tabSize",4,function(r){Sn(r),gn(r),St(r)},!0),n("lineSeparator",null,function(r,i){if(r.doc.lineSep=i,!!i){var o=[],l=r.doc.first;r.doc.iter(function(s){for(var u=0;;){var h=s.text.indexOf(i,u);if(h==-1)break;u=h+i.length,o.push(B(l,h))}l++});for(var a=o.length-1;a>=0;a--)Zr(r.doc,i,o[a],B(o[a].line,o[a].ch+i.length))}}),n("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b\u200e\u200f\u2028\u2029\u202d\u202e\u2066\u2067\u2069\ufeff\ufff9-\ufffc]/g,function(r,i,o){r.state.specialChars=new RegExp(i.source+(i.test(" ")?"":"| "),"g"),o!=tn&&r.refresh()}),n("specialCharPlaceholder",ps,function(r){return r.refresh()},!0),n("electricChars",!0),n("inputStyle",N?"contenteditable":"textarea",function(){throw new Error("inputStyle can not (yet) be changed in a running editor")},!0),n("spellcheck",!1,function(r,i){return r.getInputField().spellcheck=i},!0),n("autocorrect",!1,function(r,i){return r.getInputField().autocorrect=i},!0),n("autocapitalize",!1,function(r,i){return r.getInputField().autocapitalize=i},!0),n("rtlMoveVisually",!q),n("wholeLineUpdateBefore",!0),n("theme","default",function(r){la(r),wn(r)},!0),n("keyMap","default",function(r,i,o){var l=fi(i),a=o!=tn&&fi(o);a&&a.detach&&a.detach(r,l),l.attach&&l.attach(r,a||null)}),n("extraKeys",null),n("configureMouse",null),n("lineWrapping",!1,_u,!0),n("gutters",[],function(r,i){r.display.gutterSpecs=Yi(i,r.options.lineNumbers),wn(r)},!0),n("fixedGutter",!0,function(r,i){r.display.gutters.style.left=i?zi(r.display)+"px":"0",r.refresh()},!0),n("coverGutterNextToScrollbar",!1,function(r){return Xr(r)},!0),n("scrollbarStyle","native",function(r){ul(r),Xr(r),r.display.scrollbars.setScrollTop(r.doc.scrollTop),r.display.scrollbars.setScrollLeft(r.doc.scrollLeft)},!0),n("lineNumbers",!1,function(r,i){r.display.gutterSpecs=Yi(r.options.gutters,i),wn(r)},!0),n("firstLineNumber",1,wn,!0),n("lineNumberFormatter",function(r){return r},wn,!0),n("showCursorWhenSelecting",!1,vn,!0),n("resetSelectionOnContextMenu",!0),n("lineWiseCopyCut",!0),n("pasteLinesPerSelection",!0),n("selectionsMayTouch",!1),n("readOnly",!1,function(r,i){i=="nocursor"&&(Ur(r),r.display.input.blur()),r.display.input.readOnlyChanged(i)}),n("screenReaderLabel",null,function(r,i){i=i===""?null:i,r.display.input.screenReaderLabelChanged(i)}),n("disableInput",!1,function(r,i){i||r.display.input.reset()},!0),n("dragDrop",!0,Hu),n("allowDropFileTypes",null),n("cursorBlinkRate",530),n("cursorScrollMargin",0),n("cursorHeight",1,vn,!0),n("singleCursorHeightPerLine",!0,vn,!0),n("workTime",100),n("workDelay",100),n("flattenSpans",!0,Sn,!0),n("addModeClass",!1,Sn,!0),n("pollInterval",100),n("undoDepth",200,function(r,i){return r.doc.history.undoDepth=i}),n("historyEventDelay",1250),n("viewportMargin",10,function(r){return r.refresh()},!0),n("maxHighlightLength",1e4,Sn,!0),n("moveInputWithCursor",!0,function(r,i){i||r.display.input.resetPosition()}),n("tabindex",null,function(r,i){return r.display.input.getField().tabIndex=i||""}),n("autofocus",null),n("direction","ltr",function(r,i){return r.doc.setDirection(i)},!0),n("phrases",null)}function Hu(e,t,n){var r=n&&n!=tn;if(!t!=!r){var i=e.display.dragFunctions,o=t?Se:ht;o(e.display.scroller,"dragstart",i.start),o(e.display.scroller,"dragenter",i.enter),o(e.display.scroller,"dragover",i.over),o(e.display.scroller,"dragleave",i.leave),o(e.display.scroller,"drop",i.drop)}}function _u(e){e.options.lineWrapping?(j(e.display.wrapper,"CodeMirror-wrap"),e.display.sizer.style.minWidth="",e.display.sizerWidth=null):(V(e.display.wrapper,"CodeMirror-wrap"),Ci(e)),Bi(e),St(e),gn(e),setTimeout(function(){return Xr(e)},100)}function Ge(e,t){var n=this;if(!(this instanceof Ge))return new Ge(e,t);this.options=t=t?Me(t):{},Me(aa,t,!1);var r=t.value;typeof r=="string"?r=new Lt(r,t.mode,null,t.lineSeparator,t.direction):t.mode&&(r.modeOption=t.mode),this.doc=r;var i=new Ge.inputStyles[t.inputStyle](this),o=this.display=new eu(e,r,i,t);o.wrapper.CodeMirror=this,la(this),t.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),ul(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new Ce,keySeq:null,specialChars:null},t.autofocus&&!N&&o.input.focus(),k&&I<11&&setTimeout(function(){return n.display.input.reset(!0)},20),qu(this),yu(),Mr(this),this.curOp.forceUpdate=!0,yl(this,r),t.autofocus&&!N||this.hasFocus()?setTimeout(function(){n.hasFocus()&&!n.state.focused&&_i(n)},20):Ur(this);for(var l in di)di.hasOwnProperty(l)&&di[l](this,t[l],tn);dl(this),t.finishInit&&t.finishInit(this);for(var a=0;a<ao.length;++a)ao[a](this);Fr(this),Y&&t.lineWrapping&&getComputedStyle(o.lineDiv).textRendering=="optimizelegibility"&&(o.lineDiv.style.textRendering="auto")}Ge.defaults=aa,Ge.optionHandlers=di;function qu(e){var t=e.display;Se(t.scroller,"mousedown",lt(e,ra)),k&&I<11?Se(t.scroller,"dblclick",lt(e,function(s){if(!Qe(e,s)){var u=Lr(e,s);if(!(!u||lo(e,s)||tr(e.display,s))){pt(s);var h=e.findWordAt(u);oi(e.doc,h.anchor,h.head)}}})):Se(t.scroller,"dblclick",function(s){return Qe(e,s)||pt(s)}),Se(t.scroller,"contextmenu",function(s){return oa(e,s)}),Se(t.input.getField(),"contextmenu",function(s){t.scroller.contains(s.target)||oa(e,s)});var n,r={end:0};function i(){t.activeTouch&&(n=setTimeout(function(){return t.activeTouch=null},1e3),r=t.activeTouch,r.end=+new Date)}function o(s){if(s.touches.length!=1)return!1;var u=s.touches[0];return u.radiusX<=1&&u.radiusY<=1}function l(s,u){if(u.left==null)return!0;var h=u.left-s.left,x=u.top-s.top;return h*h+x*x>400}Se(t.scroller,"touchstart",function(s){if(!Qe(e,s)&&!o(s)&&!lo(e,s)){t.input.ensurePolled(),clearTimeout(n);var u=+new Date;t.activeTouch={start:u,moved:!1,prev:u-r.end<=300?r:null},s.touches.length==1&&(t.activeTouch.left=s.touches[0].pageX,t.activeTouch.top=s.touches[0].pageY)}}),Se(t.scroller,"touchmove",function(){t.activeTouch&&(t.activeTouch.moved=!0)}),Se(t.scroller,"touchend",function(s){var u=t.activeTouch;if(u&&!tr(t,s)&&u.left!=null&&!u.moved&&new Date-u.start<300){var h=e.coordsChar(t.activeTouch,"page"),x;!u.prev||l(u,u.prev)?x=new He(h,h):!u.prev.prev||l(u,u.prev.prev)?x=e.findWordAt(h):x=new He(B(h.line,0),Ae(e.doc,B(h.line+1,0))),e.setSelection(x.anchor,x.head),e.focus(),pt(s)}i()}),Se(t.scroller,"touchcancel",i),Se(t.scroller,"scroll",function(){t.scroller.clientHeight&&(xn(e,t.scroller.scrollTop),Cr(e,t.scroller.scrollLeft,!0),Ye(e,"scroll",e))}),Se(t.scroller,"mousewheel",function(s){return gl(e,s)}),Se(t.scroller,"DOMMouseScroll",function(s){return gl(e,s)}),Se(t.wrapper,"scroll",function(){return t.wrapper.scrollTop=t.wrapper.scrollLeft=0}),t.dragFunctions={enter:function(s){Qe(e,s)||ar(s)},over:function(s){Qe(e,s)||(xu(e,s),ar(s))},start:function(s){return mu(e,s)},drop:lt(e,vu),leave:function(s){Qe(e,s)||jl(e)}};var a=t.input.getField();Se(a,"keyup",function(s){return ea.call(e,s)}),Se(a,"keydown",lt(e,Vl)),Se(a,"keypress",lt(e,ta)),Se(a,"focus",function(s){return _i(e,s)}),Se(a,"blur",function(s){return Ur(e,s)})}var ao=[];Ge.defineInitHook=function(e){return ao.push(e)};function zn(e,t,n,r){var i=e.doc,o;n==null&&(n="add"),n=="smart"&&(i.mode.indent?o=fn(e,t).state:n="prev");var l=e.options.tabSize,a=ye(i,t),s=Fe(a.text,null,l);a.stateAfter&&(a.stateAfter=null);var u=a.text.match(/^\s*/)[0],h;if(!r&&!/\S/.test(a.text))h=0,n="not";else if(n=="smart"&&(h=i.mode.indent(o,a.text.slice(u.length),a.text),h==qe||h>150)){if(!r)return;n="prev"}n=="prev"?t>i.first?h=Fe(ye(i,t-1).text,null,l):h=0:n=="add"?h=s+e.options.indentUnit:n=="subtract"?h=s-e.options.indentUnit:typeof n=="number"&&(h=s+n),h=Math.max(0,h);var x="",D=0;if(e.options.indentWithTabs)for(var L=Math.floor(h/l);L;--L)D+=l,x+=" ";if(D<h&&(x+=et(h-D)),x!=u)return Zr(i,x,B(t,0),B(t,u.length),"+input"),a.stateAfter=null,!0;for(var H=0;H<i.sel.ranges.length;H++){var Z=i.sel.ranges[H];if(Z.head.line==t&&Z.head.ch<u.length){var ie=B(t,u.length);eo(i,H,new He(ie,ie));break}}}var Ut=null;function hi(e){Ut=e}function so(e,t,n,r,i){var o=e.doc;e.display.shift=!1,r||(r=o.sel);var l=+new Date-200,a=i=="paste"||e.state.pasteIncoming>l,s=zt(t),u=null;if(a&&r.ranges.length>1)if(Ut&&Ut.text.join(`
13 -`)==t){if(r.ranges.length%Ut.text.length==0){u=[];for(var h=0;h<Ut.text.length;h++)u.push(o.splitLines(Ut.text[h]))}}else s.length==r.ranges.length&&e.options.pasteLinesPerSelection&&(u=Ie(s,function(ae){return[ae]}));for(var x=e.curOp.updateInput,D=r.ranges.length-1;D>=0;D--){var L=r.ranges[D],H=L.from(),Z=L.to();L.empty()&&(n&&n>0?H=B(H.line,H.ch-n):e.state.overwrite&&!a?Z=B(Z.line,Math.min(ye(o,Z.line).text.length,Z.ch+we(s).length)):a&&Ut&&Ut.lineWise&&Ut.text.join(`
14 -`)==s.join(`
15 -`)&&(H=Z=B(H.line,0)));var ie={from:H,to:Z,text:u?u[D%u.length]:s,origin:i||(a?"paste":e.state.cutIncoming>l?"cut":"+input")};Jr(e.doc,ie),ot(e,"inputRead",e,ie)}t&&!a&&ua(e,t),Gr(e),e.curOp.updateInput<2&&(e.curOp.updateInput=x),e.curOp.typing=!0,e.state.pasteIncoming=e.state.cutIncoming=-1}function sa(e,t){var n=e.clipboardData&&e.clipboardData.getData("Text");if(n)return e.preventDefault(),!t.isReadOnly()&&!t.options.disableInput&&t.hasFocus()&&At(t,function(){return so(t,n,0,null,"paste")}),!0}function ua(e,t){if(!(!e.options.electricChars||!e.options.smartIndent))for(var n=e.doc.sel,r=n.ranges.length-1;r>=0;r--){var i=n.ranges[r];if(!(i.head.ch>100||r&&n.ranges[r-1].head.line==i.head.line)){var o=e.getModeAt(i.head),l=!1;if(o.electricChars){for(var a=0;a<o.electricChars.length;a++)if(t.indexOf(o.electricChars.charAt(a))>-1){l=zn(e,i.head.line,"smart");break}}else o.electricInput&&o.electricInput.test(ye(e.doc,i.head.line).text.slice(0,i.head.ch))&&(l=zn(e,i.head.line,"smart"));l&&ot(e,"electricInput",e,i.head.line)}}}function fa(e){for(var t=[],n=[],r=0;r<e.doc.sel.ranges.length;r++){var i=e.doc.sel.ranges[r].head.line,o={anchor:B(i,0),head:B(i+1,0)};n.push(o),t.push(e.getRange(o.anchor,o.head))}return{text:t,ranges:n}}function uo(e,t,n,r){e.setAttribute("autocorrect",n?"on":"off"),e.setAttribute("autocapitalize",r?"on":"off"),e.setAttribute("spellcheck",!!t)}function ca(){var e=c("textarea",null,null,"position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; min-height: 1em; outline: none"),t=c("div",[e],null,"overflow: hidden; position: relative; width: 3px; height: 0px;");return Y?e.style.width="1000px":e.setAttribute("wrap","off"),w&&(e.style.border="1px solid black"),t}function ju(e){var t=e.optionHandlers,n=e.helpers={};e.prototype={constructor:e,focus:function(){le(this).focus(),this.display.input.focus()},setOption:function(r,i){var o=this.options,l=o[r];o[r]==i&&r!="mode"||(o[r]=i,t.hasOwnProperty(r)&&lt(this,t[r])(this,i,l),Ye(this,"optionChange",this,r))},getOption:function(r){return this.options[r]},getDoc:function(){return this.doc},addKeyMap:function(r,i){this.state.keyMaps[i?"push":"unshift"](fi(r))},removeKeyMap:function(r){for(var i=this.state.keyMaps,o=0;o<i.length;++o)if(i[o]==r||i[o].name==r)return i.splice(o,1),!0},addOverlay:yt(function(r,i){var o=r.token?r:e.getMode(this.options,r);if(o.startState)throw new Error("Overlays may not be stateful.");E(this.state.overlays,{mode:o,modeSpec:r,opaque:i&&i.opaque,priority:i&&i.priority||0},function(l){return l.priority}),this.state.modeGen++,St(this)}),removeOverlay:yt(function(r){for(var i=this.state.overlays,o=0;o<i.length;++o){var l=i[o].modeSpec;if(l==r||typeof r=="string"&&l.name==r){i.splice(o,1),this.state.modeGen++,St(this);return}}}),indentLine:yt(function(r,i,o){typeof i!="string"&&typeof i!="number"&&(i==null?i=this.options.smartIndent?"smart":"prev":i=i?"add":"subtract"),U(this.doc,r)&&zn(this,r,i,o)}),indentSelection:yt(function(r){for(var i=this.doc.sel.ranges,o=-1,l=0;l<i.length;l++){var a=i[l];if(a.empty())a.head.line>o&&(zn(this,a.head.line,r,!0),o=a.head.line,l==this.doc.sel.primIndex&&Gr(this));else{var s=a.from(),u=a.to(),h=Math.max(o,s.line);o=Math.min(this.lastLine(),u.line-(u.ch?0:1))+1;for(var x=h;x<o;++x)zn(this,x,r);var D=this.doc.sel.ranges;s.ch==0&&i.length==D.length&&D[l].from().ch>0&&eo(this.doc,l,new He(s,D[l].to()),$e)}}}),getTokenAt:function(r,i){return ko(this,r,i)},getLineTokens:function(r,i){return ko(this,B(r),i,!0)},getTokenTypeAt:function(r){r=Ae(this.doc,r);var i=xo(this,ye(this.doc,r.line)),o=0,l=(i.length-1)/2,a=r.ch,s;if(a==0)s=i[2];else for(;;){var u=o+l>>1;if((u?i[u*2-1]:0)>=a)l=u;else if(i[u*2+1]<a)o=u+1;else{s=i[u*2+2];break}}var h=s?s.indexOf("overlay "):-1;return h<0?s:h==0?null:s.slice(0,h-1)},getModeAt:function(r){var i=this.doc.mode;return i.innerMode?e.innerMode(i,this.getTokenAt(r).state).mode:i},getHelper:function(r,i){return this.getHelpers(r,i)[0]},getHelpers:function(r,i){var o=[];if(!n.hasOwnProperty(i))return o;var l=n[i],a=this.getModeAt(r);if(typeof a[i]=="string")l[a[i]]&&o.push(l[a[i]]);else if(a[i])for(var s=0;s<a[i].length;s++){var u=l[a[i][s]];u&&o.push(u)}else a.helperType&&l[a.helperType]?o.push(l[a.helperType]):l[a.name]&&o.push(l[a.name]);for(var h=0;h<l._global.length;h++){var x=l._global[h];x.pred(a,this)&&ve(o,x.val)==-1&&o.push(x.val)}return o},getStateAfter:function(r,i){var o=this.doc;return r=go(o,r??o.first+o.size-1),fn(this,r+1,i).state},cursorCoords:function(r,i){var o,l=this.doc.sel.primary();return r==null?o=l.head:typeof r=="object"?o=Ae(this.doc,r):o=r?l.from():l.to(),jt(this,o,i||"page")},charCoords:function(r,i){return Qn(this,Ae(this.doc,r),i||"page")},coordsChar:function(r,i){return r=Jo(this,r,i||"page"),Oi(this,r.left,r.top)},lineAtHeight:function(r,i){return r=Jo(this,{top:r,left:0},i||"page").top,m(this.doc,r+this.display.viewOffset)},heightAtLine:function(r,i,o){var l=!1,a;if(typeof r=="number"){var s=this.doc.first+this.doc.size-1;r<this.doc.first?r=this.doc.first:r>s&&(r=s,l=!0),a=ye(this.doc,r)}else a=r;return Yn(this,a,{top:0,left:0},i||"page",o||l).top+(l?this.doc.height-er(a):0)},defaultTextHeight:function(){return jr(this.display)},defaultCharWidth:function(){return Kr(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(r,i,o,l,a){var s=this.display;r=jt(this,Ae(this.doc,r));var u=r.bottom,h=r.left;if(i.style.position="absolute",i.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(i),s.sizer.appendChild(i),l=="over")u=r.top;else if(l=="above"||l=="near"){var x=Math.max(s.wrapper.clientHeight,this.doc.height),D=Math.max(s.sizer.clientWidth,s.lineSpace.clientWidth);(l=="above"||r.bottom+i.offsetHeight>x)&&r.top>i.offsetHeight?u=r.top-i.offsetHeight:r.bottom+i.offsetHeight<=x&&(u=r.bottom),h+i.offsetWidth>D&&(h=D-i.offsetWidth)}i.style.top=u+"px",i.style.left=i.style.right="",a=="right"?(h=s.sizer.clientWidth-i.offsetWidth,i.style.right="0px"):(a=="left"?h=0:a=="middle"&&(h=(s.sizer.clientWidth-i.offsetWidth)/2),i.style.left=h+"px"),o&&Hs(this,{left:h,top:u,right:h+i.offsetWidth,bottom:u+i.offsetHeight})},triggerOnKeyDown:yt(Vl),triggerOnKeyPress:yt(ta),triggerOnKeyUp:ea,triggerOnMouseDown:yt(ra),execCommand:function(r){if(En.hasOwnProperty(r))return En[r].call(null,this)},triggerElectric:yt(function(r){ua(this,r)}),findPosH:function(r,i,o,l){var a=1;i<0&&(a=-1,i=-i);for(var s=Ae(this.doc,r),u=0;u<i&&(s=fo(this.doc,s,a,o,l),!s.hitSide);++u);return s},moveH:yt(function(r,i){var o=this;this.extendSelectionsBy(function(l){return o.display.shift||o.doc.extend||l.empty()?fo(o.doc,l.head,r,i,o.options.rtlMoveVisually):r<0?l.from():l.to()},Pe)}),deleteH:yt(function(r,i){var o=this.doc.sel,l=this.doc;o.somethingSelected()?l.replaceSelection("",null,"+delete"):en(this,function(a){var s=fo(l,a.head,r,i,!1);return r<0?{from:s,to:a.head}:{from:a.head,to:s}})}),findPosV:function(r,i,o,l){var a=1,s=l;i<0&&(a=-1,i=-i);for(var u=Ae(this.doc,r),h=0;h<i;++h){var x=jt(this,u,"div");if(s==null?s=x.left:x.left=s,u=da(this,x,a,o),u.hitSide)break}return u},moveV:yt(function(r,i){var o=this,l=this.doc,a=[],s=!this.display.shift&&!l.extend&&l.sel.somethingSelected();if(l.extendSelectionsBy(function(h){if(s)return r<0?h.from():h.to();var x=jt(o,h.head,"div");h.goalColumn!=null&&(x.left=h.goalColumn),a.push(x.left);var D=da(o,x,r,i);return i=="page"&&h==l.sel.primary()&&ji(o,Qn(o,D,"div").top-x.top),D},Pe),a.length)for(var u=0;u<l.sel.ranges.length;u++)l.sel.ranges[u].goalColumn=a[u]}),findWordAt:function(r){var i=this.doc,o=ye(i,r.line).text,l=r.ch,a=r.ch;if(o){var s=this.getHelper(r,"wordChars");(r.sticky=="before"||a==o.length)&&l?--l:++a;for(var u=o.charAt(l),h=De(u,s)?function(x){return De(x,s)}:/\s/.test(u)?function(x){return/\s/.test(x)}:function(x){return!/\s/.test(x)&&!De(x)};l>0&&h(o.charAt(l-1));)--l;for(;a<o.length&&h(o.charAt(a));)++a}return new He(B(r.line,l),B(r.line,a))},toggleOverwrite:function(r){r!=null&&r==this.state.overwrite||((this.state.overwrite=!this.state.overwrite)?j(this.display.cursorDiv,"CodeMirror-overwrite"):V(this.display.cursorDiv,"CodeMirror-overwrite"),Ye(this,"overwriteToggle",this,this.state.overwrite))},hasFocus:function(){return this.display.input.getField()==y(fe(this))},isReadOnly:function(){return!!(this.options.readOnly||this.doc.cantEdit)},scrollTo:yt(function(r,i){mn(this,r,i)}),getScrollInfo:function(){var r=this.display.scroller;return{left:r.scrollLeft,top:r.scrollTop,height:r.scrollHeight-Yt(this)-this.display.barHeight,width:r.scrollWidth-Yt(this)-this.display.barWidth,clientHeight:Fi(this),clientWidth:wr(this)}},scrollIntoView:yt(function(r,i){r==null?(r={from:this.doc.sel.primary().head,to:null},i==null&&(i=this.options.cursorScrollMargin)):typeof r=="number"?r={from:B(r,0),to:null}:r.from==null&&(r={from:r,to:null}),r.to||(r.to=r.from),r.margin=i||0,r.from.line!=null?_s(this,r):ol(this,r.from,r.to,r.margin)}),setSize:yt(function(r,i){var o=this,l=function(s){return typeof s=="number"||/^\d+$/.test(String(s))?s+"px":s};r!=null&&(this.display.wrapper.style.width=l(r)),i!=null&&(this.display.wrapper.style.height=l(i)),this.options.lineWrapping&&Xo(this);var a=this.display.viewFrom;this.doc.iter(a,this.display.viewTo,function(s){if(s.widgets){for(var u=0;u<s.widgets.length;u++)if(s.widgets[u].noHScroll){dr(o,a,"widget");break}}++a}),this.curOp.forceUpdate=!0,Ye(this,"refresh",this)}),operation:function(r){return At(this,r)},startOperation:function(){return Mr(this)},endOperation:function(){return Fr(this)},refresh:yt(function(){var r=this.display.cachedTextHeight;St(this),this.curOp.forceUpdate=!0,gn(this),mn(this,this.doc.scrollLeft,this.doc.scrollTop),Gi(this.display),(r==null||Math.abs(r-jr(this.display))>.5||this.options.lineWrapping)&&Bi(this),Ye(this,"refresh",this)}),swapDoc:yt(function(r){var i=this.doc;return i.cm=null,this.state.selectingText&&this.state.selectingText(),yl(this,r),gn(this),this.display.input.reset(),mn(this,r.scrollLeft,r.scrollTop),this.curOp.forceScroll=!0,ot(this,"swapDoc",this,i),i}),phrase:function(r){var i=this.options.phrases;return i&&Object.prototype.hasOwnProperty.call(i,r)?i[r]:r},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},Bt(e),e.registerHelper=function(r,i,o){n.hasOwnProperty(r)||(n[r]=e[r]={_global:[]}),n[r][i]=o},e.registerGlobalHelper=function(r,i,o,l){e.registerHelper(r,i,l),n[r]._global.push({pred:o,val:l})}}function fo(e,t,n,r,i){var o=t,l=n,a=ye(e,t.line),s=i&&e.direction=="rtl"?-n:n;function u(){var he=t.line+s;return he<e.first||he>=e.first+e.size?!1:(t=new B(he,t.ch,t.sticky),a=ye(e,he))}function h(he){var se;if(r=="codepoint"){var ge=a.text.charCodeAt(t.ch+(n>0?0:-1));if(isNaN(ge))se=null;else{var Le=n>0?ge>=55296&&ge<56320:ge>=56320&&ge<57343;se=new B(t.line,Math.max(0,Math.min(a.text.length,t.ch+n*(Le?2:1))),-n)}}else i?se=Lu(e.cm,a,t,n):se=ro(a,t,n);if(se==null)if(!he&&u())t=no(i,e.cm,a,t.line,s);else return!1;else t=se;return!0}if(r=="char"||r=="codepoint")h();else if(r=="column")h(!0);else if(r=="word"||r=="group")for(var x=null,D=r=="group",L=e.cm&&e.cm.getHelper(t,"wordChars"),H=!0;!(n<0&&!h(!H));H=!1){var Z=a.text.charAt(t.ch)||`
16 -`,ie=De(Z,L)?"w":D&&Z==`
17 -`?"n":!D||/\s/.test(Z)?null:"p";if(D&&!H&&!ie&&(ie="s"),x&&x!=ie){n<0&&(n=1,h(),t.sticky="after");break}if(ie&&(x=ie),n>0&&!h(!H))break}var ae=ai(e,t,o,l,!0);return We(o,ae)&&(ae.hitSide=!0),ae}function da(e,t,n,r){var i=e.doc,o=t.left,l;if(r=="page"){var a=Math.min(e.display.wrapper.clientHeight,le(e).innerHeight||i(e).documentElement.clientHeight),s=Math.max(a-.5*jr(e.display),3);l=(n>0?t.bottom:t.top)+n*s}else r=="line"&&(l=n>0?t.bottom+3:t.top-3);for(var u;u=Oi(e,o,l),!!u.outside;){if(n<0?l<=0:l>=i.height){u.hitSide=!0;break}l+=n*5}return u}var je=function(e){this.cm=e,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new Ce,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};je.prototype.init=function(e){var t=this,n=this,r=n.cm,i=n.div=e.lineDiv;i.contentEditable=!0,uo(i,r.options.spellcheck,r.options.autocorrect,r.options.autocapitalize);function o(a){for(var s=a.target;s;s=s.parentNode){if(s==i)return!0;if(/\bCodeMirror-(?:line)?widget\b/.test(s.className))break}return!1}Se(i,"paste",function(a){!o(a)||Qe(r,a)||sa(a,r)||I<=11&&setTimeout(lt(r,function(){return t.updateFromDOM()}),20)}),Se(i,"compositionstart",function(a){t.composing={data:a.data,done:!1}}),Se(i,"compositionupdate",function(a){t.composing||(t.composing={data:a.data,done:!1})}),Se(i,"compositionend",function(a){t.composing&&(a.data!=t.composing.data&&t.readFromDOMSoon(),t.composing.done=!0)}),Se(i,"touchstart",function(){return n.forceCompositionEnd()}),Se(i,"input",function(){t.composing||t.readFromDOMSoon()});function l(a){if(!(!o(a)||Qe(r,a))){if(r.somethingSelected())hi({lineWise:!1,text:r.getSelections()}),a.type=="cut"&&r.replaceSelection("",null,"cut");else if(r.options.lineWiseCopyCut){var s=fa(r);hi({lineWise:!0,text:s.text}),a.type=="cut"&&r.operation(function(){r.setSelections(s.ranges,0,$e),r.replaceSelection("",null,"cut")})}else return;if(a.clipboardData){a.clipboardData.clearData();var u=Ut.text.join(`
18 -`);if(a.clipboardData.setData("Text",u),a.clipboardData.getData("Text")==u){a.preventDefault();return}}var h=ca(),x=h.firstChild;uo(x),r.display.lineSpace.insertBefore(h,r.display.lineSpace.firstChild),x.value=Ut.text.join(`
19 -`);var D=y(Te(i));v(x),setTimeout(function(){r.display.lineSpace.removeChild(h),D.focus(),D==i&&n.showPrimarySelection()},50)}}Se(i,"copy",l),Se(i,"cut",l)},je.prototype.screenReaderLabelChanged=function(e){e?this.div.setAttribute("aria-label",e):this.div.removeAttribute("aria-label")},je.prototype.prepareSelection=function(){var e=rl(this.cm,!1);return e.focus=y(Te(this.div))==this.div,e},je.prototype.showSelection=function(e,t){!e||!this.cm.display.view.length||((e.focus||t)&&this.showPrimarySelection(),this.showMultipleSelections(e))},je.prototype.getSelection=function(){return this.cm.display.wrapper.ownerDocument.getSelection()},je.prototype.showPrimarySelection=function(){var e=this.getSelection(),t=this.cm,n=t.doc.sel.primary(),r=n.from(),i=n.to();if(t.display.viewTo==t.display.viewFrom||r.line>=t.display.viewTo||i.line<t.display.viewFrom){e.removeAllRanges();return}var o=pi(t,e.anchorNode,e.anchorOffset),l=pi(t,e.focusNode,e.focusOffset);if(!(o&&!o.bad&&l&&!l.bad&&ce(Wr(o,l),r)==0&&ce(wt(o,l),i)==0)){var a=t.display.view,s=r.line>=t.display.viewFrom&&ha(t,r)||{node:a[0].measure.map[2],offset:0},u=i.line<t.display.viewTo&&ha(t,i);if(!u){var h=a[a.length-1].measure,x=h.maps?h.maps[h.maps.length-1]:h.map;u={node:x[x.length-1],offset:x[x.length-2]-x[x.length-3]}}if(!s||!u){e.removeAllRanges();return}var D=e.rangeCount&&e.getRangeAt(0),L;try{L=C(s.node,s.offset,u.offset,u.node)}catch{}L&&(!_&&t.state.focused?(e.collapse(s.node,s.offset),L.collapsed||(e.removeAllRanges(),e.addRange(L))):(e.removeAllRanges(),e.addRange(L)),D&&e.anchorNode==null?e.addRange(D):_&&this.startGracePeriod()),this.rememberSelection()}},je.prototype.startGracePeriod=function(){var e=this;clearTimeout(this.gracePeriod),this.gracePeriod=setTimeout(function(){e.gracePeriod=!1,e.selectionChanged()&&e.cm.operation(function(){return e.cm.curOp.selectionChanged=!0})},20)},je.prototype.showMultipleSelections=function(e){G(this.cm.display.cursorDiv,e.cursors),G(this.cm.display.selectionDiv,e.selection)},je.prototype.rememberSelection=function(){var e=this.getSelection();this.lastAnchorNode=e.anchorNode,this.lastAnchorOffset=e.anchorOffset,this.lastFocusNode=e.focusNode,this.lastFocusOffset=e.focusOffset},je.prototype.selectionInEditor=function(){var e=this.getSelection();if(!e.rangeCount)return!1;var t=e.getRangeAt(0).commonAncestorContainer;return g(this.div,t)},je.prototype.focus=function(){this.cm.options.readOnly!="nocursor"&&((!this.selectionInEditor()||y(Te(this.div))!=this.div)&&this.showSelection(this.prepareSelection(),!0),this.div.focus())},je.prototype.blur=function(){this.div.blur()},je.prototype.getField=function(){return this.div},je.prototype.supportsTouch=function(){return!0},je.prototype.receivedFocus=function(){var e=this,t=this;this.selectionInEditor()?setTimeout(function(){return e.pollSelection()},20):At(this.cm,function(){return t.cm.curOp.selectionChanged=!0});function n(){t.cm.state.focused&&(t.pollSelection(),t.polling.set(t.cm.options.pollInterval,n))}this.polling.set(this.cm.options.pollInterval,n)},je.prototype.selectionChanged=function(){var e=this.getSelection();return e.anchorNode!=this.lastAnchorNode||e.anchorOffset!=this.lastAnchorOffset||e.focusNode!=this.lastFocusNode||e.focusOffset!=this.lastFocusOffset},je.prototype.pollSelection=function(){if(!(this.readDOMTimeout!=null||this.gracePeriod||!this.selectionChanged())){var e=this.getSelection(),t=this.cm;if(M&&S&&this.cm.display.gutterSpecs.length&&Ku(e.anchorNode)){this.cm.triggerOnKeyDown({type:"keydown",keyCode:8,preventDefault:Math.abs}),this.blur(),this.focus();return}if(!this.composing){this.rememberSelection();var n=pi(t,e.anchorNode,e.anchorOffset),r=pi(t,e.focusNode,e.focusOffset);n&&r&&At(t,function(){gt(t.doc,pr(n,r),$e),(n.bad||r.bad)&&(t.curOp.selectionChanged=!0)})}}},je.prototype.pollContent=function(){this.readDOMTimeout!=null&&(clearTimeout(this.readDOMTimeout),this.readDOMTimeout=null);var e=this.cm,t=e.display,n=e.doc.sel.primary(),r=n.from(),i=n.to();if(r.ch==0&&r.line>e.firstLine()&&(r=B(r.line-1,ye(e.doc,r.line-1).length)),i.ch==ye(e.doc,i.line).text.length&&i.line<e.lastLine()&&(i=B(i.line+1,0)),r.line<t.viewFrom||i.line>t.viewTo-1)return!1;var o,l,a;r.line==t.viewFrom||(o=Tr(e,r.line))==0?(l=f(t.view[0].line),a=t.view[0].node):(l=f(t.view[o].line),a=t.view[o-1].node.nextSibling);var s=Tr(e,i.line),u,h;if(s==t.view.length-1?(u=t.viewTo-1,h=t.lineDiv.lastChild):(u=f(t.view[s+1].line)-1,h=t.view[s+1].node.previousSibling),!a)return!1;for(var x=e.doc.splitLines(Uu(e,a,h,l,u)),D=$t(e.doc,B(l,0),B(u,ye(e.doc,u).text.length));x.length>1&&D.length>1;)if(we(x)==we(D))x.pop(),D.pop(),u--;else if(x[0]==D[0])x.shift(),D.shift(),l++;else break;for(var L=0,H=0,Z=x[0],ie=D[0],ae=Math.min(Z.length,ie.length);L<ae&&Z.charCodeAt(L)==ie.charCodeAt(L);)++L;for(var he=we(x),se=we(D),ge=Math.min(he.length-(x.length==1?L:0),se.length-(D.length==1?L:0));H<ge&&he.charCodeAt(he.length-H-1)==se.charCodeAt(se.length-H-1);)++H;if(x.length==1&&D.length==1&&l==r.line)for(;L&&L>r.ch&&he.charCodeAt(he.length-H-1)==se.charCodeAt(se.length-H-1);)L--,H++;x[x.length-1]=he.slice(0,he.length-H).replace(/^\u200b+/,""),x[0]=x[0].slice(L).replace(/\u200b+$/,"");var Le=B(l,L),ke=B(u,D.length?we(D).length-H:0);if(x.length>1||x[0]||ce(Le,ke))return Zr(e.doc,x,Le,ke,"+input"),!0},je.prototype.ensurePolled=function(){this.forceCompositionEnd()},je.prototype.reset=function(){this.forceCompositionEnd()},je.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},je.prototype.readFromDOMSoon=function(){var e=this;this.readDOMTimeout==null&&(this.readDOMTimeout=setTimeout(function(){if(e.readDOMTimeout=null,e.composing)if(e.composing.done)e.composing=null;else return;e.updateFromDOM()},80))},je.prototype.updateFromDOM=function(){var e=this;(this.cm.isReadOnly()||!this.pollContent())&&At(this.cm,function(){return St(e.cm)})},je.prototype.setUneditable=function(e){e.contentEditable="false"},je.prototype.onKeyPress=function(e){e.charCode==0||this.composing||(e.preventDefault(),this.cm.isReadOnly()||lt(this.cm,so)(this.cm,String.fromCharCode(e.charCode==null?e.keyCode:e.charCode),0))},je.prototype.readOnlyChanged=function(e){this.div.contentEditable=String(e!="nocursor")},je.prototype.onContextMenu=function(){},je.prototype.resetPosition=function(){},je.prototype.needsContentAttribute=!0;function ha(e,t){var n=Ai(e,t.line);if(!n||n.hidden)return null;var r=ye(e.doc,t.line),i=qo(n,r,t.line),o=Re(r,e.doc.direction),l="left";if(o){var a=lr(o,t.ch);l=a%2?"right":"left"}var s=Uo(i.map,t.ch,l);return s.offset=s.collapse=="right"?s.end:s.start,s}function Ku(e){for(var t=e;t;t=t.parentNode)if(/CodeMirror-gutter-wrapper/.test(t.className))return!0;return!1}function rn(e,t){return t&&(e.bad=!0),e}function Uu(e,t,n,r,i){var o="",l=!1,a=e.doc.lineSeparator(),s=!1;function u(L){return function(H){return H.id==L}}function h(){l&&(o+=a,s&&(o+=a),l=s=!1)}function x(L){L&&(h(),o+=L)}function D(L){if(L.nodeType==1){var H=L.getAttribute("cm-text");if(H){x(H);return}var Z=L.getAttribute("cm-marker"),ie;if(Z){var ae=e.findMarks(B(r,0),B(i+1,0),u(+Z));ae.length&&(ie=ae[0].find(0))&&x($t(e.doc,ie.from,ie.to).join(a));return}if(L.getAttribute("contenteditable")=="false")return;var he=/^(pre|div|p|li|table|br)$/i.test(L.nodeName);if(!/^br$/i.test(L.nodeName)&&L.textContent.length==0)return;he&&h();for(var se=0;se<L.childNodes.length;se++)D(L.childNodes[se]);/^(pre|p)$/i.test(L.nodeName)&&(s=!0),he&&(l=!0)}else L.nodeType==3&&x(L.nodeValue.replace(/\u200b/g,"").replace(/\u00a0/g," "))}for(;D(t),t!=n;)t=t.nextSibling,s=!1;return o}function pi(e,t,n){var r;if(t==e.display.lineDiv){if(r=e.display.lineDiv.childNodes[n],!r)return rn(e.clipPos(B(e.display.viewTo-1)),!0);t=null,n=0}else for(r=t;;r=r.parentNode){if(!r||r==e.display.lineDiv)return null;if(r.parentNode&&r.parentNode==e.display.lineDiv)break}for(var i=0;i<e.display.view.length;i++){var o=e.display.view[i];if(o.node==r)return Gu(o,t,n)}}function Gu(e,t,n){var r=e.text.firstChild,i=!1;if(!t||!g(r,t))return rn(B(f(e.line),0),!0);if(t==r&&(i=!0,t=r.childNodes[n],n=0,!t)){var o=e.rest?we(e.rest):e.line;return rn(B(f(o),o.text.length),i)}var l=t.nodeType==3?t:null,a=t;for(!l&&t.childNodes.length==1&&t.firstChild.nodeType==3&&(l=t.firstChild,n&&(n=l.nodeValue.length));a.parentNode!=r;)a=a.parentNode;var s=e.measure,u=s.maps;function h(ie,ae,he){for(var se=-1;se<(u?u.length:0);se++)for(var ge=se<0?s.map:u[se],Le=0;Le<ge.length;Le+=3){var ke=ge[Le+2];if(ke==ie||ke==ae){var Ee=f(se<0?e.line:e.rest[se]),Ke=ge[Le]+he;return(he<0||ke!=ie)&&(Ke=ge[Le+(he?1:0)]),B(Ee,Ke)}}}var x=h(l,a,n);if(x)return rn(x,i);for(var D=a.nextSibling,L=l?l.nodeValue.length-n:0;D;D=D.nextSibling){if(x=h(D,D.firstChild,0),x)return rn(B(x.line,x.ch-L),i);L+=D.textContent.length}for(var H=a.previousSibling,Z=n;H;H=H.previousSibling){if(x=h(H,H.firstChild,-1),x)return rn(B(x.line,x.ch+Z),i);Z+=H.textContent.length}}var Ve=function(e){this.cm=e,this.prevInput="",this.pollingFast=!1,this.polling=new Ce,this.hasSelection=!1,this.composing=null,this.resetting=!1};Ve.prototype.init=function(e){var t=this,n=this,r=this.cm;this.createField(e);var i=this.textarea;e.wrapper.insertBefore(this.wrapper,e.wrapper.firstChild),w&&(i.style.width="0px"),Se(i,"input",function(){k&&I>=9&&t.hasSelection&&(t.hasSelection=null),n.poll()}),Se(i,"paste",function(l){Qe(r,l)||sa(l,r)||(r.state.pasteIncoming=+new Date,n.fastPoll())});function o(l){if(!Qe(r,l)){if(r.somethingSelected())hi({lineWise:!1,text:r.getSelections()});else if(r.options.lineWiseCopyCut){var a=fa(r);hi({lineWise:!0,text:a.text}),l.type=="cut"?r.setSelections(a.ranges,null,$e):(n.prevInput="",i.value=a.text.join(`
20 -`),v(i))}else return;l.type=="cut"&&(r.state.cutIncoming=+new Date)}}Se(i,"cut",o),Se(i,"copy",o),Se(e.scroller,"paste",function(l){if(!(tr(e,l)||Qe(r,l))){if(!i.dispatchEvent){r.state.pasteIncoming=+new Date,n.focus();return}var a=new Event("paste");a.clipboardData=l.clipboardData,i.dispatchEvent(a)}}),Se(e.lineSpace,"selectstart",function(l){tr(e,l)||pt(l)}),Se(i,"compositionstart",function(){var l=r.getCursor("from");n.composing&&n.composing.range.clear(),n.composing={start:l,range:r.markText(l,r.getCursor("to"),{className:"CodeMirror-composing"})}}),Se(i,"compositionend",function(){n.composing&&(n.poll(),n.composing.range.clear(),n.composing=null)})},Ve.prototype.createField=function(e){this.wrapper=ca(),this.textarea=this.wrapper.firstChild;var t=this.cm.options;uo(this.textarea,t.spellcheck,t.autocorrect,t.autocapitalize)},Ve.prototype.screenReaderLabelChanged=function(e){e?this.textarea.setAttribute("aria-label",e):this.textarea.removeAttribute("aria-label")},Ve.prototype.prepareSelection=function(){var e=this.cm,t=e.display,n=e.doc,r=rl(e);if(e.options.moveInputWithCursor){var i=jt(e,n.sel.primary().head,"div"),o=t.wrapper.getBoundingClientRect(),l=t.lineDiv.getBoundingClientRect();r.teTop=Math.max(0,Math.min(t.wrapper.clientHeight-10,i.top+l.top-o.top)),r.teLeft=Math.max(0,Math.min(t.wrapper.clientWidth-10,i.left+l.left-o.left))}return r},Ve.prototype.showSelection=function(e){var t=this.cm,n=t.display;G(n.cursorDiv,e.cursors),G(n.selectionDiv,e.selection),e.teTop!=null&&(this.wrapper.style.top=e.teTop+"px",this.wrapper.style.left=e.teLeft+"px")},Ve.prototype.reset=function(e){if(!(this.contextMenuPending||this.composing&&e)){var t=this.cm;if(this.resetting=!0,t.somethingSelected()){this.prevInput="";var n=t.getSelection();this.textarea.value=n,t.state.focused&&v(this.textarea),k&&I>=9&&(this.hasSelection=n)}else e||(this.prevInput=this.textarea.value="",k&&I>=9&&(this.hasSelection=null));this.resetting=!1}},Ve.prototype.getField=function(){return this.textarea},Ve.prototype.supportsTouch=function(){return!1},Ve.prototype.focus=function(){if(this.cm.options.readOnly!="nocursor"&&(!N||y(Te(this.textarea))!=this.textarea))try{this.textarea.focus()}catch{}},Ve.prototype.blur=function(){this.textarea.blur()},Ve.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},Ve.prototype.receivedFocus=function(){this.slowPoll()},Ve.prototype.slowPoll=function(){var e=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,function(){e.poll(),e.cm.state.focused&&e.slowPoll()})},Ve.prototype.fastPoll=function(){var e=!1,t=this;t.pollingFast=!0;function n(){var r=t.poll();!r&&!e?(e=!0,t.polling.set(60,n)):(t.pollingFast=!1,t.slowPoll())}t.polling.set(20,n)},Ve.prototype.poll=function(){var e=this,t=this.cm,n=this.textarea,r=this.prevInput;if(this.contextMenuPending||this.resetting||!t.state.focused||ur(n)&&!r&&!this.composing||t.isReadOnly()||t.options.disableInput||t.state.keySeq)return!1;var i=n.value;if(i==r&&!t.somethingSelected())return!1;if(k&&I>=9&&this.hasSelection===i||z&&/[\uf700-\uf7ff]/.test(i))return t.display.input.reset(),!1;if(t.doc.sel==t.display.selForContextMenu){var o=i.charCodeAt(0);if(o==8203&&!r&&(r="​"),o==8666)return this.reset(),this.cm.execCommand("undo")}for(var l=0,a=Math.min(r.length,i.length);l<a&&r.charCodeAt(l)==i.charCodeAt(l);)++l;return At(t,function(){so(t,i.slice(l),r.length-l,null,e.composing?"*compose":null),i.length>1e3||i.indexOf(`
21 -`)>-1?n.value=e.prevInput="":e.prevInput=i,e.composing&&(e.composing.range.clear(),e.composing.range=t.markText(e.composing.start,t.getCursor("to"),{className:"CodeMirror-composing"}))}),!0},Ve.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},Ve.prototype.onKeyPress=function(){k&&I>=9&&(this.hasSelection=null),this.fastPoll()},Ve.prototype.onContextMenu=function(e){var t=this,n=t.cm,r=n.display,i=t.textarea;t.contextMenuPending&&t.contextMenuPending();var o=Lr(n,e),l=r.scroller.scrollTop;if(!o||A)return;var a=n.options.resetSelectionOnContextMenu;a&&n.doc.sel.contains(o)==-1&&lt(n,gt)(n.doc,pr(o),$e);var s=i.style.cssText,u=t.wrapper.style.cssText,h=t.wrapper.offsetParent.getBoundingClientRect();t.wrapper.style.cssText="position: static",i.style.cssText=`position: absolute; width: 30px; height: 30px;
22 - top: `+(e.clientY-h.top-5)+"px; left: "+(e.clientX-h.left-5)+`px;
23 - z-index: 1000; background: `+(k?"rgba(255, 255, 255, .05)":"transparent")+`;
24 - outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);`;var x;Y&&(x=i.ownerDocument.defaultView.scrollY),r.input.focus(),Y&&i.ownerDocument.defaultView.scrollTo(null,x),r.input.reset(),n.somethingSelected()||(i.value=t.prevInput=" "),t.contextMenuPending=L,r.selForContextMenu=n.doc.sel,clearTimeout(r.detectingSelectAll);function D(){if(i.selectionStart!=null){var Z=n.somethingSelected(),ie="​"+(Z?i.value:"");i.value="⇚",i.value=ie,t.prevInput=Z?"":"​",i.selectionStart=1,i.selectionEnd=ie.length,r.selForContextMenu=n.doc.sel}}function L(){if(t.contextMenuPending==L&&(t.contextMenuPending=!1,t.wrapper.style.cssText=u,i.style.cssText=s,k&&I<9&&r.scrollbars.setScrollTop(r.scroller.scrollTop=l),i.selectionStart!=null)){(!k||k&&I<9)&&D();var Z=0,ie=function(){r.selForContextMenu==n.doc.sel&&i.selectionStart==0&&i.selectionEnd>0&&t.prevInput=="​"?lt(n,El)(n):Z++<10?r.detectingSelectAll=setTimeout(ie,500):(r.selForContextMenu=null,r.input.reset())};r.detectingSelectAll=setTimeout(ie,200)}}if(k&&I>=9&&D(),J){ar(e);var H=function(){ht(window,"mouseup",H),setTimeout(L,20)};Se(window,"mouseup",H)}else setTimeout(L,50)},Ve.prototype.readOnlyChanged=function(e){e||this.reset(),this.textarea.disabled=e=="nocursor",this.textarea.readOnly=!!e},Ve.prototype.setUneditable=function(){},Ve.prototype.needsContentAttribute=!1;function Xu(e,t){if(t=t?Me(t):{},t.value=e.value,!t.tabindex&&e.tabIndex&&(t.tabindex=e.tabIndex),!t.placeholder&&e.placeholder&&(t.placeholder=e.placeholder),t.autofocus==null){var n=y(Te(e));t.autofocus=n==e||e.getAttribute("autofocus")!=null&&n==document.body}function r(){e.value=a.getValue()}var i;if(e.form&&(Se(e.form,"submit",r),!t.leaveSubmitMethodAlone)){var o=e.form;i=o.submit;try{var l=o.submit=function(){r(),o.submit=i,o.submit(),o.submit=l}}catch{}}t.finishInit=function(s){s.save=r,s.getTextArea=function(){return e},s.toTextArea=function(){s.toTextArea=isNaN,r(),e.parentNode.removeChild(s.getWrapperElement()),e.style.display="",e.form&&(ht(e.form,"submit",r),!t.leaveSubmitMethodAlone&&typeof e.form.submit=="function"&&(e.form.submit=i))}},e.style.display="none";var a=Ge(function(s){return e.parentNode.insertBefore(s,e.nextSibling)},t);return a}function Yu(e){e.off=ht,e.on=Se,e.wheelEventPixels=tu,e.Doc=Lt,e.splitLines=zt,e.countColumn=Fe,e.findColumn=_e,e.isWordChar=me,e.Pass=qe,e.signal=Ye,e.Line=Hr,e.changeEnd=gr,e.scrollbarModel=sl,e.Pos=B,e.cmpPos=ce,e.modes=Pr,e.mimeModes=Ht,e.resolveMode=Ir,e.getMode=zr,e.modeExtensions=fr,e.extendMode=Br,e.copyState=Gt,e.startState=Rr,e.innerMode=sn,e.commands=En,e.keyMap=nr,e.keyName=Yl,e.isModifierKey=Gl,e.lookupKey=Vr,e.normalizeKeyMap=Su,e.StringStream=Je,e.SharedTextMarker=Fn,e.TextMarker=mr,e.LineWidget=Mn,e.e_preventDefault=pt,e.e_stopPropagation=Er,e.e_stop=ar,e.addClass=j,e.contains=g,e.rmClass=V,e.keyNames=xr}Wu(Ge),ju(Ge);var Qu="iter insert remove copy getEditor constructor".split(" ");for(var gi in Lt.prototype)Lt.prototype.hasOwnProperty(gi)&&ve(Qu,gi)<0&&(Ge.prototype[gi]=(function(e){return function(){return e.apply(this.doc,arguments)}})(Lt.prototype[gi]));return Bt(Lt),Ge.inputStyles={textarea:Ve,contenteditable:je},Ge.defineMode=function(e){!Ge.defaults.mode&&e!="null"&&(Ge.defaults.mode=e),_t.apply(this,arguments)},Ge.defineMIME=kr,Ge.defineMode("null",function(){return{token:function(e){return e.skipToEnd()}}}),Ge.defineMIME("text/plain","null"),Ge.defineExtension=function(e,t){Ge.prototype[e]=t},Ge.defineDocExtension=function(e,t){Lt.prototype[e]=t},Ge.fromTextArea=Xu,Yu(Ge),Ge.version="5.65.18",Ge}))})(vi)),vi.exports}var $u=mt();const df=Ju($u);var ga={exports:{}},va;function Xa(){return va||(va=1,(function(ct,xt){(function(b){b(mt())})(function(b){b.defineMode("css",function(J,P){var V=P.inline;P.propertyKeywords||(P=b.resolveMode("text/css"));var F=J.indentUnit,G=P.tokenHooks,c=P.documentTypes||{},T=P.mediaTypes||{},C=P.mediaFeatures||{},g=P.mediaValueKeywords||{},y=P.propertyKeywords||{},j=P.nonStandardPropertyKeywords||{},de=P.fontProperties||{},v=P.counterDescriptors||{},d=P.colorKeywords||{},fe=P.valueKeywords||{},Te=P.allowNested,le=P.lineComment,xe=P.supportsAtComponent===!0,Me=J.highlightNonStandardPropertyKeywords!==!1,Fe,Ce;function ve(E,ee){return Fe=ee,E}function Oe(E,ee){var K=E.next();if(G[K]){var ze=G[K](E,ee);if(ze!==!1)return ze}if(K=="@")return E.eatWhile(/[\w\\\-]/),ve("def",E.current());if(K=="="||(K=="~"||K=="|")&&E.eat("="))return ve(null,"compare");if(K=='"'||K=="'")return ee.tokenize=qe(K),ee.tokenize(E,ee);if(K=="#")return E.eatWhile(/[\w\\\-]/),ve("atom","hash");if(K=="!")return E.match(/^\s*\w*/),ve("keyword","important");if(/\d/.test(K)||K=="."&&E.eat(/\d/))return E.eatWhile(/[\w.%]/),ve("number","unit");if(K==="-"){if(/[\d.]/.test(E.peek()))return E.eatWhile(/[\w.%]/),ve("number","unit");if(E.match(/^-[\w\\\-]*/))return E.eatWhile(/[\w\\\-]/),E.match(/^\s*:/,!1)?ve("variable-2","variable-definition"):ve("variable-2","variable");if(E.match(/^\w+-/))return ve("meta","meta")}else return/[,+>*\/]/.test(K)?ve(null,"select-op"):K=="."&&E.match(/^-?[_a-z][_a-z0-9-]*/i)?ve("qualifier","qualifier"):/[:;{}\[\]\(\)]/.test(K)?ve(null,K):E.match(/^[\w-.]+(?=\()/)?(/^(url(-prefix)?|domain|regexp)$/i.test(E.current())&&(ee.tokenize=$e),ve("variable callee","variable")):/[\w\\\-]/.test(K)?(E.eatWhile(/[\w\\\-]/),ve("property","word")):ve(null,null)}function qe(E){return function(ee,K){for(var ze=!1,me;(me=ee.next())!=null;){if(me==E&&!ze){E==")"&&ee.backUp(1);break}ze=!ze&&me=="\\"}return(me==E||!ze&&E!=")")&&(K.tokenize=null),ve("string","string")}}function $e(E,ee){return E.next(),E.match(/^\s*[\"\')]/,!1)?ee.tokenize=null:ee.tokenize=qe(")"),ve(null,"(")}function dt(E,ee,K){this.type=E,this.indent=ee,this.prev=K}function Pe(E,ee,K,ze){return E.context=new dt(K,ee.indentation()+(ze===!1?0:F),E.context),K}function _e(E){return E.context.prev&&(E.context=E.context.prev),E.context.type}function Ue(E,ee,K){return Ie[K.context.type](E,ee,K)}function et(E,ee,K,ze){for(var me=ze||1;me>0;me--)K.context=K.context.prev;return Ue(E,ee,K)}function we(E){var ee=E.current().toLowerCase();fe.hasOwnProperty(ee)?Ce="atom":d.hasOwnProperty(ee)?Ce="keyword":Ce="variable"}var Ie={};return Ie.top=function(E,ee,K){if(E=="{")return Pe(K,ee,"block");if(E=="}"&&K.context.prev)return _e(K);if(xe&&/@component/i.test(E))return Pe(K,ee,"atComponentBlock");if(/^@(-moz-)?document$/i.test(E))return Pe(K,ee,"documentTypes");if(/^@(media|supports|(-moz-)?document|import)$/i.test(E))return Pe(K,ee,"atBlock");if(/^@(font-face|counter-style)/i.test(E))return K.stateArg=E,"restricted_atBlock_before";if(/^@(-(moz|ms|o|webkit)-)?keyframes$/i.test(E))return"keyframes";if(E&&E.charAt(0)=="@")return Pe(K,ee,"at");if(E=="hash")Ce="builtin";else if(E=="word")Ce="tag";else{if(E=="variable-definition")return"maybeprop";if(E=="interpolation")return Pe(K,ee,"interpolation");if(E==":")return"pseudo";if(Te&&E=="(")return Pe(K,ee,"parens")}return K.context.type},Ie.block=function(E,ee,K){if(E=="word"){var ze=ee.current().toLowerCase();return y.hasOwnProperty(ze)?(Ce="property","maybeprop"):j.hasOwnProperty(ze)?(Ce=Me?"string-2":"property","maybeprop"):Te?(Ce=ee.match(/^\s*:(?:\s|$)/,!1)?"property":"tag","block"):(Ce+=" error","maybeprop")}else return E=="meta"?"block":!Te&&(E=="hash"||E=="qualifier")?(Ce="error","block"):Ie.top(E,ee,K)},Ie.maybeprop=function(E,ee,K){return E==":"?Pe(K,ee,"prop"):Ue(E,ee,K)},Ie.prop=function(E,ee,K){if(E==";")return _e(K);if(E=="{"&&Te)return Pe(K,ee,"propBlock");if(E=="}"||E=="{")return et(E,ee,K);if(E=="(")return Pe(K,ee,"parens");if(E=="hash"&&!/^#([0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(ee.current()))Ce+=" error";else if(E=="word")we(ee);else if(E=="interpolation")return Pe(K,ee,"interpolation");return"prop"},Ie.propBlock=function(E,ee,K){return E=="}"?_e(K):E=="word"?(Ce="property","maybeprop"):K.context.type},Ie.parens=function(E,ee,K){return E=="{"||E=="}"?et(E,ee,K):E==")"?_e(K):E=="("?Pe(K,ee,"parens"):E=="interpolation"?Pe(K,ee,"interpolation"):(E=="word"&&we(ee),"parens")},Ie.pseudo=function(E,ee,K){return E=="meta"?"pseudo":E=="word"?(Ce="variable-3",K.context.type):Ue(E,ee,K)},Ie.documentTypes=function(E,ee,K){return E=="word"&&c.hasOwnProperty(ee.current())?(Ce="tag",K.context.type):Ie.atBlock(E,ee,K)},Ie.atBlock=function(E,ee,K){if(E=="(")return Pe(K,ee,"atBlock_parens");if(E=="}"||E==";")return et(E,ee,K);if(E=="{")return _e(K)&&Pe(K,ee,Te?"block":"top");if(E=="interpolation")return Pe(K,ee,"interpolation");if(E=="word"){var ze=ee.current().toLowerCase();ze=="only"||ze=="not"||ze=="and"||ze=="or"?Ce="keyword":T.hasOwnProperty(ze)?Ce="attribute":C.hasOwnProperty(ze)?Ce="property":g.hasOwnProperty(ze)?Ce="keyword":y.hasOwnProperty(ze)?Ce="property":j.hasOwnProperty(ze)?Ce=Me?"string-2":"property":fe.hasOwnProperty(ze)?Ce="atom":d.hasOwnProperty(ze)?Ce="keyword":Ce="error"}return K.context.type},Ie.atComponentBlock=function(E,ee,K){return E=="}"?et(E,ee,K):E=="{"?_e(K)&&Pe(K,ee,Te?"block":"top",!1):(E=="word"&&(Ce="error"),K.context.type)},Ie.atBlock_parens=function(E,ee,K){return E==")"?_e(K):E=="{"||E=="}"?et(E,ee,K,2):Ie.atBlock(E,ee,K)},Ie.restricted_atBlock_before=function(E,ee,K){return E=="{"?Pe(K,ee,"restricted_atBlock"):E=="word"&&K.stateArg=="@counter-style"?(Ce="variable","restricted_atBlock_before"):Ue(E,ee,K)},Ie.restricted_atBlock=function(E,ee,K){return E=="}"?(K.stateArg=null,_e(K)):E=="word"?(K.stateArg=="@font-face"&&!de.hasOwnProperty(ee.current().toLowerCase())||K.stateArg=="@counter-style"&&!v.hasOwnProperty(ee.current().toLowerCase())?Ce="error":Ce="property","maybeprop"):"restricted_atBlock"},Ie.keyframes=function(E,ee,K){return E=="word"?(Ce="variable","keyframes"):E=="{"?Pe(K,ee,"top"):Ue(E,ee,K)},Ie.at=function(E,ee,K){return E==";"?_e(K):E=="{"||E=="}"?et(E,ee,K):(E=="word"?Ce="tag":E=="hash"&&(Ce="builtin"),"at")},Ie.interpolation=function(E,ee,K){return E=="}"?_e(K):E=="{"||E==";"?et(E,ee,K):(E=="word"?Ce="variable":E!="variable"&&E!="("&&E!=")"&&(Ce="error"),"interpolation")},{startState:function(E){return{tokenize:null,state:V?"block":"top",stateArg:null,context:new dt(V?"block":"top",E||0,null)}},token:function(E,ee){if(!ee.tokenize&&E.eatSpace())return null;var K=(ee.tokenize||Oe)(E,ee);return K&&typeof K=="object"&&(Fe=K[1],K=K[0]),Ce=K,Fe!="comment"&&(ee.state=Ie[ee.state](Fe,E,ee)),Ce},indent:function(E,ee){var K=E.context,ze=ee&&ee.charAt(0),me=K.indent;return K.type=="prop"&&(ze=="}"||ze==")")&&(K=K.prev),K.prev&&(ze=="}"&&(K.type=="block"||K.type=="top"||K.type=="interpolation"||K.type=="restricted_atBlock")?(K=K.prev,me=K.indent):(ze==")"&&(K.type=="parens"||K.type=="atBlock_parens")||ze=="{"&&(K.type=="at"||K.type=="atBlock"))&&(me=Math.max(0,K.indent-F))),me},electricChars:"}",blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:le,fold:"brace"}});function pe(J){for(var P={},V=0;V<J.length;++V)P[J[V].toLowerCase()]=!0;return P}var _=["domain","regexp","url","url-prefix"],te=pe(_),oe=["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"],Q=pe(oe),k=["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid","orientation","device-pixel-ratio","min-device-pixel-ratio","max-device-pixel-ratio","pointer","any-pointer","hover","any-hover","prefers-color-scheme","dynamic-range","video-dynamic-range"],I=pe(k),Y=["landscape","portrait","none","coarse","fine","on-demand","hover","interlace","progressive","dark","light","standard","high"],ne=pe(Y),S=["align-content","align-items","align-self","alignment-adjust","alignment-baseline","all","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","binding","bleed","block-size","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-content","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-gap","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-gap","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","inset","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","left","letter-spacing","line-break","line-height","line-height-step","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","place-content","place-items","place-self","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotate","rotation","rotation-point","row-gap","ruby-align","ruby-overhang","ruby-position","ruby-span","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-type","shape-image-threshold","shape-inside","shape-margin","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-orientation","text-outline","text-overflow","text-rendering","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","touch-action","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-select","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","paint-order","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","text-anchor","writing-mode"],R=pe(S),A=["accent-color","aspect-ratio","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","content-visibility","margin-block","margin-block-end","margin-block-start","margin-inline","margin-inline-end","margin-inline-start","overflow-anchor","overscroll-behavior","padding-block","padding-block-end","padding-block-start","padding-inline","padding-inline-end","padding-inline-start","scroll-snap-stop","scrollbar-3d-light-color","scrollbar-arrow-color","scrollbar-base-color","scrollbar-dark-shadow-color","scrollbar-face-color","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-track-color","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","shape-inside","zoom"],$=pe(A),ue=["font-display","font-family","src","unicode-range","font-variant","font-feature-settings","font-stretch","font-weight","font-style"],O=pe(ue),w=["additive-symbols","fallback","negative","pad","prefix","range","speak-as","suffix","symbols","system"],M=pe(w),N=["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","grey","green","greenyellow","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"],z=pe(N),X=["above","absolute","activeborder","additive","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","blur","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","brightness","bullets","button","buttonface","buttonhighlight","buttonshadow","buttontext","calc","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","conic-gradient","contain","content","contents","content-box","context-menu","continuous","contrast","copy","counter","counters","cover","crop","cross","crosshair","cubic-bezier","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","devanagari","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","drop-shadow","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ethiopic-numeric","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","georgian","grayscale","graytext","grid","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hard-light","hebrew","help","hidden","hide","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","hue","hue-rotate","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","japanese-formal","japanese-informal","justify","kannada","katakana","katakana-iroha","keep-all","khmer","korean-hangul-formal","korean-hanja-formal","korean-hanja-informal","landscape","lao","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","luminosity","malayalam","manipulation","match","matrix","matrix3d","media-play-button","media-slider","media-sliderthumb","media-volume-slider","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","multiple_mask_images","multiply","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","octal","opacity","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","persian","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeating-conic-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturate","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","self-start","self-end","semi-condensed","semi-expanded","separate","sepia","serif","show","sidama","simp-chinese-formal","simp-chinese-informal","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","somali","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","square-button","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","tamil","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","trad-chinese-formal","trad-chinese-informal","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"],q=pe(X),p=_.concat(oe).concat(k).concat(Y).concat(S).concat(A).concat(N).concat(X);b.registerHelper("hintWords","css",p);function W(J,P){for(var V=!1,F;(F=J.next())!=null;){if(V&&F=="/"){P.tokenize=null;break}V=F=="*"}return["comment","comment"]}b.defineMIME("text/css",{documentTypes:te,mediaTypes:Q,mediaFeatures:I,mediaValueKeywords:ne,propertyKeywords:R,nonStandardPropertyKeywords:$,fontProperties:O,counterDescriptors:M,colorKeywords:z,valueKeywords:q,tokenHooks:{"/":function(J,P){return J.eat("*")?(P.tokenize=W,W(J,P)):!1}},name:"css"}),b.defineMIME("text/x-scss",{mediaTypes:Q,mediaFeatures:I,mediaValueKeywords:ne,propertyKeywords:R,nonStandardPropertyKeywords:$,colorKeywords:z,valueKeywords:q,fontProperties:O,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(J,P){return J.eat("/")?(J.skipToEnd(),["comment","comment"]):J.eat("*")?(P.tokenize=W,W(J,P)):["operator","operator"]},":":function(J){return J.match(/^\s*\{/,!1)?[null,null]:!1},$:function(J){return J.match(/^[\w-]+/),J.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"]},"#":function(J){return J.eat("{")?[null,"interpolation"]:!1}},name:"css",helperType:"scss"}),b.defineMIME("text/x-less",{mediaTypes:Q,mediaFeatures:I,mediaValueKeywords:ne,propertyKeywords:R,nonStandardPropertyKeywords:$,colorKeywords:z,valueKeywords:q,fontProperties:O,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(J,P){return J.eat("/")?(J.skipToEnd(),["comment","comment"]):J.eat("*")?(P.tokenize=W,W(J,P)):["operator","operator"]},"@":function(J){return J.eat("{")?[null,"interpolation"]:J.match(/^(charset|document|font-face|import|(-(moz|ms|o|webkit)-)?keyframes|media|namespace|page|supports)\b/i,!1)?!1:(J.eatWhile(/[\w\\\-]/),J.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"])},"&":function(){return["atom","atom"]}},name:"css",helperType:"less"}),b.defineMIME("text/x-gss",{documentTypes:te,mediaTypes:Q,mediaFeatures:I,propertyKeywords:R,nonStandardPropertyKeywords:$,fontProperties:O,counterDescriptors:M,colorKeywords:z,valueKeywords:q,supportsAtComponent:!0,tokenHooks:{"/":function(J,P){return J.eat("*")?(P.tokenize=W,W(J,P)):!1}},name:"css",helperType:"gss"})})})()),ga.exports}Xa();var ma={exports:{}},xa={exports:{}},ya;function Ya(){return ya||(ya=1,(function(ct,xt){(function(b){b(mt())})(function(b){var pe={autoSelfClosers:{area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},implicitlyClosed:{dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},contextGrabbers:{dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}},doNotIndent:{pre:!0},allowUnquoted:!0,allowMissing:!0,caseFold:!0},_={autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:!1,allowMissing:!1,allowMissingTagName:!1,caseFold:!1};b.defineMode("xml",function(te,oe){var Q=te.indentUnit,k={},I=oe.htmlMode?pe:_;for(var Y in I)k[Y]=I[Y];for(var Y in oe)k[Y]=oe[Y];var ne,S;function R(c,T){function C(j){return T.tokenize=j,j(c,T)}var g=c.next();if(g=="<")return c.eat("!")?c.eat("[")?c.match("CDATA[")?C(ue("atom","]]>")):null:c.match("--")?C(ue("comment","-->")):c.match("DOCTYPE",!0,!0)?(c.eatWhile(/[\w\._\-]/),C(O(1))):null:c.eat("?")?(c.eatWhile(/[\w\._\-]/),T.tokenize=ue("meta","?>"),"meta"):(ne=c.eat("/")?"closeTag":"openTag",T.tokenize=A,"tag bracket");if(g=="&"){var y;return c.eat("#")?c.eat("x")?y=c.eatWhile(/[a-fA-F\d]/)&&c.eat(";"):y=c.eatWhile(/[\d]/)&&c.eat(";"):y=c.eatWhile(/[\w\.\-:]/)&&c.eat(";"),y?"atom":"error"}else return c.eatWhile(/[^&<]/),null}R.isInText=!0;function A(c,T){var C=c.next();if(C==">"||C=="/"&&c.eat(">"))return T.tokenize=R,ne=C==">"?"endTag":"selfcloseTag","tag bracket";if(C=="=")return ne="equals",null;if(C=="<"){T.tokenize=R,T.state=X,T.tagName=T.tagStart=null;var g=T.tokenize(c,T);return g?g+" tag error":"tag error"}else return/[\'\"]/.test(C)?(T.tokenize=$(C),T.stringStartCol=c.column(),T.tokenize(c,T)):(c.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/),"word")}function $(c){var T=function(C,g){for(;!C.eol();)if(C.next()==c){g.tokenize=A;break}return"string"};return T.isInAttribute=!0,T}function ue(c,T){return function(C,g){for(;!C.eol();){if(C.match(T)){g.tokenize=R;break}C.next()}return c}}function O(c){return function(T,C){for(var g;(g=T.next())!=null;){if(g=="<")return C.tokenize=O(c+1),C.tokenize(T,C);if(g==">")if(c==1){C.tokenize=R;break}else return C.tokenize=O(c-1),C.tokenize(T,C)}return"meta"}}function w(c){return c&&c.toLowerCase()}function M(c,T,C){this.prev=c.context,this.tagName=T||"",this.indent=c.indented,this.startOfLine=C,(k.doNotIndent.hasOwnProperty(T)||c.context&&c.context.noIndent)&&(this.noIndent=!0)}function N(c){c.context&&(c.context=c.context.prev)}function z(c,T){for(var C;;){if(!c.context||(C=c.context.tagName,!k.contextGrabbers.hasOwnProperty(w(C))||!k.contextGrabbers[w(C)].hasOwnProperty(w(T))))return;N(c)}}function X(c,T,C){return c=="openTag"?(C.tagStart=T.column(),q):c=="closeTag"?p:X}function q(c,T,C){return c=="word"?(C.tagName=T.current(),S="tag",P):k.allowMissingTagName&&c=="endTag"?(S="tag bracket",P(c,T,C)):(S="error",q)}function p(c,T,C){if(c=="word"){var g=T.current();return C.context&&C.context.tagName!=g&&k.implicitlyClosed.hasOwnProperty(w(C.context.tagName))&&N(C),C.context&&C.context.tagName==g||k.matchClosing===!1?(S="tag",W):(S="tag error",J)}else return k.allowMissingTagName&&c=="endTag"?(S="tag bracket",W(c,T,C)):(S="error",J)}function W(c,T,C){return c!="endTag"?(S="error",W):(N(C),X)}function J(c,T,C){return S="error",W(c,T,C)}function P(c,T,C){if(c=="word")return S="attribute",V;if(c=="endTag"||c=="selfcloseTag"){var g=C.tagName,y=C.tagStart;return C.tagName=C.tagStart=null,c=="selfcloseTag"||k.autoSelfClosers.hasOwnProperty(w(g))?z(C,g):(z(C,g),C.context=new M(C,g,y==C.indented)),X}return S="error",P}function V(c,T,C){return c=="equals"?F:(k.allowMissing||(S="error"),P(c,T,C))}function F(c,T,C){return c=="string"?G:c=="word"&&k.allowUnquoted?(S="string",P):(S="error",P(c,T,C))}function G(c,T,C){return c=="string"?G:P(c,T,C)}return{startState:function(c){var T={tokenize:R,state:X,indented:c||0,tagName:null,tagStart:null,context:null};return c!=null&&(T.baseIndent=c),T},token:function(c,T){if(!T.tagName&&c.sol()&&(T.indented=c.indentation()),c.eatSpace())return null;ne=null;var C=T.tokenize(c,T);return(C||ne)&&C!="comment"&&(S=null,T.state=T.state(ne||C,c,T),S&&(C=S=="error"?C+" error":S)),C},indent:function(c,T,C){var g=c.context;if(c.tokenize.isInAttribute)return c.tagStart==c.indented?c.stringStartCol+1:c.indented+Q;if(g&&g.noIndent)return b.Pass;if(c.tokenize!=A&&c.tokenize!=R)return C?C.match(/^(\s*)/)[0].length:0;if(c.tagName)return k.multilineTagIndentPastTag!==!1?c.tagStart+c.tagName.length+2:c.tagStart+Q*(k.multilineTagIndentFactor||1);if(k.alignCDATA&&/<!\[CDATA\[/.test(T))return 0;var y=T&&/^<(\/)?([\w_:\.-]*)/.exec(T);if(y&&y[1])for(;g;)if(g.tagName==y[2]){g=g.prev;break}else if(k.implicitlyClosed.hasOwnProperty(w(g.tagName)))g=g.prev;else break;else if(y)for(;g;){var j=k.contextGrabbers[w(g.tagName)];if(j&&j.hasOwnProperty(w(y[2])))g=g.prev;else break}for(;g&&g.prev&&!g.startOfLine;)g=g.prev;return g?g.indent+Q:c.baseIndent||0},electricInput:/<\/[\s\w:]+>$/,blockCommentStart:"<!--",blockCommentEnd:"-->",configuration:k.htmlMode?"html":"xml",helperType:k.htmlMode?"html":"xml",skipAttribute:function(c){c.state==F&&(c.state=P)},xmlCurrentTag:function(c){return c.tagName?{name:c.tagName,close:c.type=="closeTag"}:null},xmlCurrentContext:function(c){for(var T=[],C=c.context;C;C=C.prev)T.push(C.tagName);return T.reverse()}}}),b.defineMIME("text/xml","xml"),b.defineMIME("application/xml","xml"),b.mimeModes.hasOwnProperty("text/html")||b.defineMIME("text/html",{name:"xml",htmlMode:!0})})})()),xa.exports}var ba={exports:{}},ka;function Qa(){return ka||(ka=1,(function(ct,xt){(function(b){b(mt())})(function(b){b.defineMode("javascript",function(pe,_){var te=pe.indentUnit,oe=_.statementIndent,Q=_.jsonld,k=_.json||Q,I=_.trackScope!==!1,Y=_.typescript,ne=_.wordCharacters||/[\w$\xa1-\uffff]/,S=(function(){function f(it){return{type:it,style:"keyword"}}var m=f("keyword a"),U=f("keyword b"),re=f("keyword c"),B=f("keyword d"),ce=f("operator"),We={type:"atom",style:"atom"};return{if:f("if"),while:m,with:m,else:U,do:U,try:U,finally:U,return:B,break:B,continue:B,new:f("new"),delete:re,void:re,throw:re,debugger:f("debugger"),var:f("var"),const:f("var"),let:f("var"),function:f("function"),catch:f("catch"),for:f("for"),switch:f("switch"),case:f("case"),default:f("default"),in:ce,typeof:ce,instanceof:ce,true:We,false:We,null:We,undefined:We,NaN:We,Infinity:We,this:f("this"),class:f("class"),super:f("atom"),yield:re,export:f("export"),import:f("import"),extends:re,await:re}})(),R=/[+\-*&%=<>!?|~^@]/,A=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/;function $(f){for(var m=!1,U,re=!1;(U=f.next())!=null;){if(!m){if(U=="/"&&!re)return;U=="["?re=!0:re&&U=="]"&&(re=!1)}m=!m&&U=="\\"}}var ue,O;function w(f,m,U){return ue=f,O=U,m}function M(f,m){var U=f.next();if(U=='"'||U=="'")return m.tokenize=N(U),m.tokenize(f,m);if(U=="."&&f.match(/^\d[\d_]*(?:[eE][+\-]?[\d_]+)?/))return w("number","number");if(U=="."&&f.match(".."))return w("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(U))return w(U);if(U=="="&&f.eat(">"))return w("=>","operator");if(U=="0"&&f.match(/^(?:x[\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/))return w("number","number");if(/\d/.test(U))return f.match(/^[\d_]*(?:n|(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)?/),w("number","number");if(U=="/")return f.eat("*")?(m.tokenize=z,z(f,m)):f.eat("/")?(f.skipToEnd(),w("comment","comment")):Et(f,m,1)?($(f),f.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/),w("regexp","string-2")):(f.eat("="),w("operator","operator",f.current()));if(U=="`")return m.tokenize=X,X(f,m);if(U=="#"&&f.peek()=="!")return f.skipToEnd(),w("meta","meta");if(U=="#"&&f.eatWhile(ne))return w("variable","property");if(U=="<"&&f.match("!--")||U=="-"&&f.match("->")&&!/\S/.test(f.string.slice(0,f.start)))return f.skipToEnd(),w("comment","comment");if(R.test(U))return(U!=">"||!m.lexical||m.lexical.type!=">")&&(f.eat("=")?(U=="!"||U=="=")&&f.eat("="):/[<>*+\-|&?]/.test(U)&&(f.eat(U),U==">"&&f.eat(U))),U=="?"&&f.eat(".")?w("."):w("operator","operator",f.current());if(ne.test(U)){f.eatWhile(ne);var re=f.current();if(m.lastType!="."){if(S.propertyIsEnumerable(re)){var B=S[re];return w(B.type,B.style,re)}if(re=="async"&&f.match(/^(\s|\/\*([^*]|\*(?!\/))*?\*\/)*[\[\(\w]/,!1))return w("async","keyword",re)}return w("variable","variable",re)}}function N(f){return function(m,U){var re=!1,B;if(Q&&m.peek()=="@"&&m.match(A))return U.tokenize=M,w("jsonld-keyword","meta");for(;(B=m.next())!=null&&!(B==f&&!re);)re=!re&&B=="\\";return re||(U.tokenize=M),w("string","string")}}function z(f,m){for(var U=!1,re;re=f.next();){if(re=="/"&&U){m.tokenize=M;break}U=re=="*"}return w("comment","comment")}function X(f,m){for(var U=!1,re;(re=f.next())!=null;){if(!U&&(re=="`"||re=="$"&&f.eat("{"))){m.tokenize=M;break}U=!U&&re=="\\"}return w("quasi","string-2",f.current())}var q="([{}])";function p(f,m){m.fatArrowAt&&(m.fatArrowAt=null);var U=f.string.indexOf("=>",f.start);if(!(U<0)){if(Y){var re=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(f.string.slice(f.start,U));re&&(U=re.index)}for(var B=0,ce=!1,We=U-1;We>=0;--We){var it=f.string.charAt(We),wt=q.indexOf(it);if(wt>=0&&wt<3){if(!B){++We;break}if(--B==0){it=="("&&(ce=!0);break}}else if(wt>=3&&wt<6)++B;else if(ne.test(it))ce=!0;else if(/["'\/`]/.test(it))for(;;--We){if(We==0)return;var Wr=f.string.charAt(We-1);if(Wr==it&&f.string.charAt(We-2)!="\\"){We--;break}}else if(ce&&!B){++We;break}}ce&&!B&&(m.fatArrowAt=We)}}var W={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,import:!0,"jsonld-keyword":!0};function J(f,m,U,re,B,ce){this.indented=f,this.column=m,this.type=U,this.prev=B,this.info=ce,re!=null&&(this.align=re)}function P(f,m){if(!I)return!1;for(var U=f.localVars;U;U=U.next)if(U.name==m)return!0;for(var re=f.context;re;re=re.prev)for(var U=re.vars;U;U=U.next)if(U.name==m)return!0}function V(f,m,U,re,B){var ce=f.cc;for(F.state=f,F.stream=B,F.marked=null,F.cc=ce,F.style=m,f.lexical.hasOwnProperty("align")||(f.lexical.align=!0);;){var We=ce.length?ce.pop():k?ve:Fe;if(We(U,re)){for(;ce.length&&ce[ce.length-1].lex;)ce.pop()();return F.marked?F.marked:U=="variable"&&P(f,re)?"variable-2":m}}}var F={state:null,marked:null,cc:null};function G(){for(var f=arguments.length-1;f>=0;f--)F.cc.push(arguments[f])}function c(){return G.apply(null,arguments),!0}function T(f,m){for(var U=m;U;U=U.next)if(U.name==f)return!0;return!1}function C(f){var m=F.state;if(F.marked="def",!!I){if(m.context){if(m.lexical.info=="var"&&m.context&&m.context.block){var U=g(f,m.context);if(U!=null){m.context=U;return}}else if(!T(f,m.localVars)){m.localVars=new de(f,m.localVars);return}}_.globalVars&&!T(f,m.globalVars)&&(m.globalVars=new de(f,m.globalVars))}}function g(f,m){if(m)if(m.block){var U=g(f,m.prev);return U?U==m.prev?m:new j(U,m.vars,!0):null}else return T(f,m.vars)?m:new j(m.prev,new de(f,m.vars),!1);else return null}function y(f){return f=="public"||f=="private"||f=="protected"||f=="abstract"||f=="readonly"}function j(f,m,U){this.prev=f,this.vars=m,this.block=U}function de(f,m){this.name=f,this.next=m}var v=new de("this",new de("arguments",null));function d(){F.state.context=new j(F.state.context,F.state.localVars,!1),F.state.localVars=v}function fe(){F.state.context=new j(F.state.context,F.state.localVars,!0),F.state.localVars=null}d.lex=fe.lex=!0;function Te(){F.state.localVars=F.state.context.vars,F.state.context=F.state.context.prev}Te.lex=!0;function le(f,m){var U=function(){var re=F.state,B=re.indented;if(re.lexical.type=="stat")B=re.lexical.indented;else for(var ce=re.lexical;ce&&ce.type==")"&&ce.align;ce=ce.prev)B=ce.indented;re.lexical=new J(B,F.stream.column(),f,null,re.lexical,m)};return U.lex=!0,U}function xe(){var f=F.state;f.lexical.prev&&(f.lexical.type==")"&&(f.indented=f.lexical.indented),f.lexical=f.lexical.prev)}xe.lex=!0;function Me(f){function m(U){return U==f?c():f==";"||U=="}"||U==")"||U=="]"?G():c(m)}return m}function Fe(f,m){return f=="var"?c(le("vardef",m),Er,Me(";"),xe):f=="keyword a"?c(le("form"),qe,Fe,xe):f=="keyword b"?c(le("form"),Fe,xe):f=="keyword d"?F.stream.match(/^\s*$/,!1)?c():c(le("stat"),dt,Me(";"),xe):f=="debugger"?c(Me(";")):f=="{"?c(le("}"),fe,Pt,xe,Te):f==";"?c():f=="if"?(F.state.lexical.info=="else"&&F.state.cc[F.state.cc.length-1]==xe&&F.state.cc.pop()(),c(le("form"),qe,Fe,xe,Or)):f=="function"?c(zt):f=="for"?c(le("form"),fe,Rn,Fe,Te,xe):f=="class"||Y&&m=="interface"?(F.marked="keyword",c(le("form",f=="class"?f:m),Pr,xe)):f=="variable"?Y&&m=="declare"?(F.marked="keyword",c(Fe)):Y&&(m=="module"||m=="enum"||m=="type")&&F.stream.match(/^\s*\w/,!1)?(F.marked="keyword",m=="enum"?c(ye):m=="type"?c(Wn,Me("operator"),Re,Me(";")):c(le("form"),kt,Me("{"),le("}"),Pt,xe,xe)):Y&&m=="namespace"?(F.marked="keyword",c(le("form"),ve,Fe,xe)):Y&&m=="abstract"?(F.marked="keyword",c(Fe)):c(le("stat"),ze):f=="switch"?c(le("form"),qe,Me("{"),le("}","switch"),fe,Pt,xe,xe,Te):f=="case"?c(ve,Me(":")):f=="default"?c(Me(":")):f=="catch"?c(le("form"),d,Ce,Fe,xe,Te):f=="export"?c(le("stat"),Ir,xe):f=="import"?c(le("stat"),fr,xe):f=="async"?c(Fe):m=="@"?c(ve,Fe):G(le("stat"),ve,Me(";"),xe)}function Ce(f){if(f=="(")return c(Wt,Me(")"))}function ve(f,m){return $e(f,m,!1)}function Oe(f,m){return $e(f,m,!0)}function qe(f){return f!="("?G():c(le(")"),dt,Me(")"),xe)}function $e(f,m,U){if(F.state.fatArrowAt==F.stream.start){var re=U?Ie:we;if(f=="(")return c(d,le(")"),Ne(Wt,")"),xe,Me("=>"),re,Te);if(f=="variable")return G(d,kt,Me("=>"),re,Te)}var B=U?_e:Pe;return W.hasOwnProperty(f)?c(B):f=="function"?c(zt,B):f=="class"||Y&&m=="interface"?(F.marked="keyword",c(le("form"),yi,xe)):f=="keyword c"||f=="async"?c(U?Oe:ve):f=="("?c(le(")"),dt,Me(")"),xe,B):f=="operator"||f=="spread"?c(U?Oe:ve):f=="["?c(le("]"),Je,xe,B):f=="{"?Mt(De,"}",null,B):f=="quasi"?G(Ue,B):f=="new"?c(E(U)):c()}function dt(f){return f.match(/[;\}\)\],]/)?G():G(ve)}function Pe(f,m){return f==","?c(dt):_e(f,m,!1)}function _e(f,m,U){var re=U==!1?Pe:_e,B=U==!1?ve:Oe;if(f=="=>")return c(d,U?Ie:we,Te);if(f=="operator")return/\+\+|--/.test(m)||Y&&m=="!"?c(re):Y&&m=="<"&&F.stream.match(/^([^<>]|<[^<>]*>)*>\s*\(/,!1)?c(le(">"),Ne(Re,">"),xe,re):m=="?"?c(ve,Me(":"),B):c(B);if(f=="quasi")return G(Ue,re);if(f!=";"){if(f=="(")return Mt(Oe,")","call",re);if(f==".")return c(me,re);if(f=="[")return c(le("]"),dt,Me("]"),xe,re);if(Y&&m=="as")return F.marked="keyword",c(Re,re);if(f=="regexp")return F.state.lastType=F.marked="operator",F.stream.backUp(F.stream.pos-F.stream.start-1),c(B)}}function Ue(f,m){return f!="quasi"?G():m.slice(m.length-2)!="${"?c(Ue):c(dt,et)}function et(f){if(f=="}")return F.marked="string-2",F.state.tokenize=X,c(Ue)}function we(f){return p(F.stream,F.state),G(f=="{"?Fe:ve)}function Ie(f){return p(F.stream,F.state),G(f=="{"?Fe:Oe)}function E(f){return function(m){return m=="."?c(f?K:ee):m=="variable"&&Y?c(Ft,f?_e:Pe):G(f?Oe:ve)}}function ee(f,m){if(m=="target")return F.marked="keyword",c(Pe)}function K(f,m){if(m=="target")return F.marked="keyword",c(_e)}function ze(f){return f==":"?c(xe,Fe):G(Pe,Me(";"),xe)}function me(f){if(f=="variable")return F.marked="property",c()}function De(f,m){if(f=="async")return F.marked="property",c(De);if(f=="variable"||F.style=="keyword"){if(F.marked="property",m=="get"||m=="set")return c(be);var U;return Y&&F.state.fatArrowAt==F.stream.start&&(U=F.stream.match(/^\s*:\s*/,!1))&&(F.state.fatArrowAt=F.stream.pos+U[0].length),c(Be)}else{if(f=="number"||f=="string")return F.marked=Q?"property":F.style+" property",c(Be);if(f=="jsonld-keyword")return c(Be);if(Y&&y(m))return F.marked="keyword",c(De);if(f=="[")return c(ve,or,Me("]"),Be);if(f=="spread")return c(Oe,Be);if(m=="*")return F.marked="keyword",c(De);if(f==":")return G(Be)}}function be(f){return f!="variable"?G(Be):(F.marked="property",c(zt))}function Be(f){if(f==":")return c(Oe);if(f=="(")return G(zt)}function Ne(f,m,U){function re(B,ce){if(U?U.indexOf(B)>-1:B==","){var We=F.state.lexical;return We.info=="call"&&(We.pos=(We.pos||0)+1),c(function(it,wt){return it==m||wt==m?G():G(f)},re)}return B==m||ce==m?c():U&&U.indexOf(";")>-1?G(f):c(Me(m))}return function(B,ce){return B==m||ce==m?c():G(f,re)}}function Mt(f,m,U){for(var re=3;re<arguments.length;re++)F.cc.push(arguments[re]);return c(le(m,U),Ne(f,m),xe)}function Pt(f){return f=="}"?c():G(Fe,Pt)}function or(f,m){if(Y){if(f==":")return c(Re);if(m=="?")return c(or)}}function br(f,m){if(Y&&(f==":"||m=="in"))return c(Re)}function lr(f){if(Y&&f==":")return F.stream.match(/^\s*\w+\s+is\b/,!1)?c(ve,mi,Re):c(Re)}function mi(f,m){if(m=="is")return F.marked="keyword",c()}function Re(f,m){if(m=="keyof"||m=="typeof"||m=="infer"||m=="readonly")return F.marked="keyword",c(m=="typeof"?Oe:Re);if(f=="variable"||m=="void")return F.marked="type",c(It);if(m=="|"||m=="&")return c(Re);if(f=="string"||f=="number"||f=="atom")return c(It);if(f=="[")return c(le("]"),Ne(Re,"]",","),xe,It);if(f=="{")return c(le("}"),Se,xe,It);if(f=="(")return c(Ne(Qe,")"),Bn,It);if(f=="<")return c(Ne(Re,">"),Re);if(f=="quasi")return G(ht,It)}function Bn(f){if(f=="=>")return c(Re)}function Se(f){return f.match(/[\}\)\]]/)?c():f==","||f==";"?c(Se):G(Zt,Se)}function Zt(f,m){if(f=="variable"||F.style=="keyword")return F.marked="property",c(Zt);if(m=="?"||f=="number"||f=="string")return c(Zt);if(f==":")return c(Re);if(f=="[")return c(Me("variable"),br,Me("]"),Zt);if(f=="(")return G(ur,Zt);if(!f.match(/[;\}\)\],]/))return c()}function ht(f,m){return f!="quasi"?G():m.slice(m.length-2)!="${"?c(ht):c(Re,Ye)}function Ye(f){if(f=="}")return F.marked="string-2",F.state.tokenize=X,c(ht)}function Qe(f,m){return f=="variable"&&F.stream.match(/^\s*[?:]/,!1)||m=="?"?c(Qe):f==":"?c(Re):f=="spread"?c(Qe):G(Re)}function It(f,m){if(m=="<")return c(le(">"),Ne(Re,">"),xe,It);if(m=="|"||f=="."||m=="&")return c(Re);if(f=="[")return c(Re,Me("]"),It);if(m=="extends"||m=="implements")return F.marked="keyword",c(Re);if(m=="?")return c(Re,Me(":"),Re)}function Ft(f,m){if(m=="<")return c(le(">"),Ne(Re,">"),xe,It)}function Bt(){return G(Re,pt)}function pt(f,m){if(m=="=")return c(Re)}function Er(f,m){return m=="enum"?(F.marked="keyword",c(ye)):G(kt,or,Rt,xi)}function kt(f,m){if(Y&&y(m))return F.marked="keyword",c(kt);if(f=="variable")return C(m),c();if(f=="spread")return c(kt);if(f=="[")return Mt(ln,"]");if(f=="{")return Mt(ar,"}")}function ar(f,m){return f=="variable"&&!F.stream.match(/^\s*:/,!1)?(C(m),c(Rt)):(f=="variable"&&(F.marked="property"),f=="spread"?c(kt):f=="}"?G():f=="["?c(ve,Me("]"),Me(":"),ar):c(Me(":"),kt,Rt))}function ln(){return G(kt,Rt)}function Rt(f,m){if(m=="=")return c(Oe)}function xi(f){if(f==",")return c(Er)}function Or(f,m){if(f=="keyword b"&&m=="else")return c(le("form","else"),Fe,xe)}function Rn(f,m){if(m=="await")return c(Rn);if(f=="(")return c(le(")"),an,xe)}function an(f){return f=="var"?c(Er,sr):f=="variable"?c(sr):G(sr)}function sr(f,m){return f==")"?c():f==";"?c(sr):m=="in"||m=="of"?(F.marked="keyword",c(ve,sr)):G(ve,sr)}function zt(f,m){if(m=="*")return F.marked="keyword",c(zt);if(f=="variable")return C(m),c(zt);if(f=="(")return c(d,le(")"),Ne(Wt,")"),xe,lr,Fe,Te);if(Y&&m=="<")return c(le(">"),Ne(Bt,">"),xe,zt)}function ur(f,m){if(m=="*")return F.marked="keyword",c(ur);if(f=="variable")return C(m),c(ur);if(f=="(")return c(d,le(")"),Ne(Wt,")"),xe,lr,Te);if(Y&&m=="<")return c(le(">"),Ne(Bt,">"),xe,ur)}function Wn(f,m){if(f=="keyword"||f=="variable")return F.marked="type",c(Wn);if(m=="<")return c(le(">"),Ne(Bt,">"),xe)}function Wt(f,m){return m=="@"&&c(ve,Wt),f=="spread"?c(Wt):Y&&y(m)?(F.marked="keyword",c(Wt)):Y&&f=="this"?c(or,Rt):G(kt,or,Rt)}function yi(f,m){return f=="variable"?Pr(f,m):Ht(f,m)}function Pr(f,m){if(f=="variable")return C(m),c(Ht)}function Ht(f,m){if(m=="<")return c(le(">"),Ne(Bt,">"),xe,Ht);if(m=="extends"||m=="implements"||Y&&f==",")return m=="implements"&&(F.marked="keyword"),c(Y?Re:ve,Ht);if(f=="{")return c(le("}"),_t,xe)}function _t(f,m){if(f=="async"||f=="variable"&&(m=="static"||m=="get"||m=="set"||Y&&y(m))&&F.stream.match(/^\s+#?[\w$\xa1-\uffff]/,!1))return F.marked="keyword",c(_t);if(f=="variable"||F.style=="keyword")return F.marked="property",c(kr,_t);if(f=="number"||f=="string")return c(kr,_t);if(f=="[")return c(ve,or,Me("]"),kr,_t);if(m=="*")return F.marked="keyword",c(_t);if(Y&&f=="(")return G(ur,_t);if(f==";"||f==",")return c(_t);if(f=="}")return c();if(m=="@")return c(ve,_t)}function kr(f,m){if(m=="!"||m=="?")return c(kr);if(f==":")return c(Re,Rt);if(m=="=")return c(Oe);var U=F.state.lexical.prev,re=U&&U.info=="interface";return G(re?ur:zt)}function Ir(f,m){return m=="*"?(F.marked="keyword",c(Rr,Me(";"))):m=="default"?(F.marked="keyword",c(ve,Me(";"))):f=="{"?c(Ne(zr,"}"),Rr,Me(";")):G(Fe)}function zr(f,m){if(m=="as")return F.marked="keyword",c(Me("variable"));if(f=="variable")return G(Oe,zr)}function fr(f){return f=="string"?c():f=="("?G(ve):f=="."?G(Pe):G(Br,Gt,Rr)}function Br(f,m){return f=="{"?Mt(Br,"}"):(f=="variable"&&C(m),m=="*"&&(F.marked="keyword"),c(sn))}function Gt(f){if(f==",")return c(Br,Gt)}function sn(f,m){if(m=="as")return F.marked="keyword",c(Br)}function Rr(f,m){if(m=="from")return F.marked="keyword",c(ve)}function Je(f){return f=="]"?c():G(Ne(Oe,"]"))}function ye(){return G(le("form"),kt,Me("{"),le("}"),Ne($t,"}"),xe,xe)}function $t(){return G(kt,Rt)}function un(f,m){return f.lastType=="operator"||f.lastType==","||R.test(m.charAt(0))||/[,.]/.test(m.charAt(0))}function Et(f,m,U){return m.tokenize==M&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(m.lastType)||m.lastType=="quasi"&&/\{\s*$/.test(f.string.slice(0,f.pos-(U||0)))}return{startState:function(f){var m={tokenize:M,lastType:"sof",cc:[],lexical:new J((f||0)-te,0,"block",!1),localVars:_.localVars,context:_.localVars&&new j(null,null,!1),indented:f||0};return _.globalVars&&typeof _.globalVars=="object"&&(m.globalVars=_.globalVars),m},token:function(f,m){if(f.sol()&&(m.lexical.hasOwnProperty("align")||(m.lexical.align=!1),m.indented=f.indentation(),p(f,m)),m.tokenize!=z&&f.eatSpace())return null;var U=m.tokenize(f,m);return ue=="comment"?U:(m.lastType=ue=="operator"&&(O=="++"||O=="--")?"incdec":ue,V(m,U,ue,O,f))},indent:function(f,m){if(f.tokenize==z||f.tokenize==X)return b.Pass;if(f.tokenize!=M)return 0;var U=m&&m.charAt(0),re=f.lexical,B;if(!/^\s*else\b/.test(m))for(var ce=f.cc.length-1;ce>=0;--ce){var We=f.cc[ce];if(We==xe)re=re.prev;else if(We!=Or&&We!=Te)break}for(;(re.type=="stat"||re.type=="form")&&(U=="}"||(B=f.cc[f.cc.length-1])&&(B==Pe||B==_e)&&!/^[,\.=+\-*:?[\(]/.test(m));)re=re.prev;oe&&re.type==")"&&re.prev.type=="stat"&&(re=re.prev);var it=re.type,wt=U==it;return it=="vardef"?re.indented+(f.lastType=="operator"||f.lastType==","?re.info.length+1:0):it=="form"&&U=="{"?re.indented:it=="form"?re.indented+te:it=="stat"?re.indented+(un(f,m)?oe||te:0):re.info=="switch"&&!wt&&_.doubleIndentSwitch!=!1?re.indented+(/^(?:case|default)\b/.test(m)?te:2*te):re.align?re.column+(wt?0:1):re.indented+(wt?0:te)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:k?null:"/*",blockCommentEnd:k?null:"*/",blockCommentContinue:k?null:" * ",lineComment:k?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:k?"json":"javascript",jsonldMode:Q,jsonMode:k,expressionAllowed:Et,skipExpression:function(f){V(f,"atom","atom","true",new b.StringStream("",2,null))}}}),b.registerHelper("wordChars","javascript",/[\w$]/),b.defineMIME("text/javascript","javascript"),b.defineMIME("text/ecmascript","javascript"),b.defineMIME("application/javascript","javascript"),b.defineMIME("application/x-javascript","javascript"),b.defineMIME("application/ecmascript","javascript"),b.defineMIME("application/json",{name:"javascript",json:!0}),b.defineMIME("application/x-json",{name:"javascript",json:!0}),b.defineMIME("application/manifest+json",{name:"javascript",json:!0}),b.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),b.defineMIME("text/typescript",{name:"javascript",typescript:!0}),b.defineMIME("application/typescript",{name:"javascript",typescript:!0})})})()),ba.exports}var wa;function Vu(){return wa||(wa=1,(function(ct,xt){(function(b){b(mt(),Ya(),Qa(),Xa())})(function(b){var pe={script:[["lang",/(javascript|babel)/i,"javascript"],["type",/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i,"javascript"],["type",/./,"text/plain"],[null,null,"javascript"]],style:[["lang",/^css$/i,"css"],["type",/^(text\/)?(x-)?(stylesheet|css)$/i,"css"],["type",/./,"text/plain"],[null,null,"css"]]};function _(ne,S,R){var A=ne.current(),$=A.search(S);return $>-1?ne.backUp(A.length-$):A.match(/<\/?$/)&&(ne.backUp(A.length),ne.match(S,!1)||ne.match(A)),R}var te={};function oe(ne){var S=te[ne];return S||(te[ne]=new RegExp("\\s+"+ne+`\\s*=\\s*('|")?([^'"]+)('|")?\\s*`))}function Q(ne,S){var R=ne.match(oe(S));return R?/^\s*(.*?)\s*$/.exec(R[2])[1]:""}function k(ne,S){return new RegExp((S?"^":"")+"</\\s*"+ne+"\\s*>","i")}function I(ne,S){for(var R in ne)for(var A=S[R]||(S[R]=[]),$=ne[R],ue=$.length-1;ue>=0;ue--)A.unshift($[ue])}function Y(ne,S){for(var R=0;R<ne.length;R++){var A=ne[R];if(!A[0]||A[1].test(Q(S,A[0])))return A[2]}}b.defineMode("htmlmixed",function(ne,S){var R=b.getMode(ne,{name:"xml",htmlMode:!0,multilineTagIndentFactor:S.multilineTagIndentFactor,multilineTagIndentPastTag:S.multilineTagIndentPastTag,allowMissingTagName:S.allowMissingTagName}),A={},$=S&&S.tags,ue=S&&S.scriptTypes;if(I(pe,A),$&&I($,A),ue)for(var O=ue.length-1;O>=0;O--)A.script.unshift(["type",ue[O].matches,ue[O].mode]);function w(M,N){var z=R.token(M,N.htmlState),X=/\btag\b/.test(z),q;if(X&&!/[<>\s\/]/.test(M.current())&&(q=N.htmlState.tagName&&N.htmlState.tagName.toLowerCase())&&A.hasOwnProperty(q))N.inTag=q+" ";else if(N.inTag&&X&&/>$/.test(M.current())){var p=/^([\S]+) (.*)/.exec(N.inTag);N.inTag=null;var W=M.current()==">"&&Y(A[p[1]],p[2]),J=b.getMode(ne,W),P=k(p[1],!0),V=k(p[1],!1);N.token=function(F,G){return F.match(P,!1)?(G.token=w,G.localState=G.localMode=null,null):_(F,V,G.localMode.token(F,G.localState))},N.localMode=J,N.localState=b.startState(J,R.indent(N.htmlState,"",""))}else N.inTag&&(N.inTag+=M.current(),M.eol()&&(N.inTag+=" "));return z}return{startState:function(){var M=b.startState(R);return{token:w,inTag:null,localMode:null,localState:null,htmlState:M}},copyState:function(M){var N;return M.localState&&(N=b.copyState(M.localMode,M.localState)),{token:M.token,inTag:M.inTag,localMode:M.localMode,localState:N,htmlState:b.copyState(R,M.htmlState)}},token:function(M,N){return N.token(M,N)},indent:function(M,N,z){return!M.localMode||/^\s*<\//.test(N)?R.indent(M.htmlState,N,z):M.localMode.indent?M.localMode.indent(M.localState,N,z):b.Pass},innerMode:function(M){return{state:M.localState||M.htmlState,mode:M.localMode||R}}}},"xml","javascript","css"),b.defineMIME("text/html","htmlmixed")})})()),ma.exports}Vu();Qa();var Sa={exports:{}},La;function ef(){return La||(La=1,(function(ct,xt){(function(b){b(mt())})(function(b){function pe(I){return new RegExp("^(("+I.join(")|(")+"))\\b")}var _=pe(["and","or","not","is"]),te=["as","assert","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","lambda","pass","raise","return","try","while","with","yield","in","False","True"],oe=["abs","all","any","bin","bool","bytearray","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip","__import__","NotImplemented","Ellipsis","__debug__"];b.registerHelper("hintWords","python",te.concat(oe).concat(["exec","print"]));function Q(I){return I.scopes[I.scopes.length-1]}b.defineMode("python",function(I,Y){for(var ne="error",S=Y.delimiters||Y.singleDelimiters||/^[\(\)\[\]\{\}@,:`=;\.\\]/,R=[Y.singleOperators,Y.doubleOperators,Y.doubleDelimiters,Y.tripleDelimiters,Y.operators||/^([-+*/%\/&|^]=?|[<>=]+|\/\/=?|\*\*=?|!=|[~!@]|\.\.\.)/],A=0;A<R.length;A++)R[A]||R.splice(A--,1);var $=Y.hangingIndent||I.indentUnit,ue=te,O=oe;Y.extra_keywords!=null&&(ue=ue.concat(Y.extra_keywords)),Y.extra_builtins!=null&&(O=O.concat(Y.extra_builtins));var w=!(Y.version&&Number(Y.version)<3);if(w){var M=Y.identifiers||/^[_A-Za-z\u00A1-\uFFFF][_A-Za-z0-9\u00A1-\uFFFF]*/;ue=ue.concat(["nonlocal","None","aiter","anext","async","await","breakpoint","match","case"]),O=O.concat(["ascii","bytes","exec","print"]);var N=new RegExp(`^(([rbuf]|(br)|(rb)|(fr)|(rf))?('{3}|"{3}|['"]))`,"i")}else{var M=Y.identifiers||/^[_A-Za-z][_A-Za-z0-9]*/;ue=ue.concat(["exec","print"]),O=O.concat(["apply","basestring","buffer","cmp","coerce","execfile","file","intern","long","raw_input","reduce","reload","unichr","unicode","xrange","None"]);var N=new RegExp(`^(([rubf]|(ur)|(br))?('{3}|"{3}|['"]))`,"i")}var z=pe(ue),X=pe(O);function q(T,C){var g=T.sol()&&C.lastToken!="\\";if(g&&(C.indent=T.indentation()),g&&Q(C).type=="py"){var y=Q(C).offset;if(T.eatSpace()){var j=T.indentation();return j>y?P(C):j<y&&F(T,C)&&T.peek()!="#"&&(C.errorToken=!0),null}else{var de=p(T,C);return y>0&&F(T,C)&&(de+=" "+ne),de}}return p(T,C)}function p(T,C,g){if(T.eatSpace())return null;if(!g&&T.match(/^#.*/))return"comment";if(T.match(/^[0-9\.]/,!1)){var y=!1;if(T.match(/^[\d_]*\.\d+(e[\+\-]?\d+)?/i)&&(y=!0),T.match(/^[\d_]+\.\d*/)&&(y=!0),T.match(/^\.\d+/)&&(y=!0),y)return T.eat(/J/i),"number";var j=!1;if(T.match(/^0x[0-9a-f_]+/i)&&(j=!0),T.match(/^0b[01_]+/i)&&(j=!0),T.match(/^0o[0-7_]+/i)&&(j=!0),T.match(/^[1-9][\d_]*(e[\+\-]?[\d_]+)?/)&&(T.eat(/J/i),j=!0),T.match(/^0(?![\dx])/i)&&(j=!0),j)return T.eat(/L/i),"number"}if(T.match(N)){var de=T.current().toLowerCase().indexOf("f")!==-1;return de?(C.tokenize=W(T.current(),C.tokenize),C.tokenize(T,C)):(C.tokenize=J(T.current(),C.tokenize),C.tokenize(T,C))}for(var v=0;v<R.length;v++)if(T.match(R[v]))return"operator";return T.match(S)?"punctuation":C.lastToken=="."&&T.match(M)?"property":T.match(z)||T.match(_)?"keyword":T.match(X)?"builtin":T.match(/^(self|cls)\b/)?"variable-2":T.match(M)?C.lastToken=="def"||C.lastToken=="class"?"def":"variable":(T.next(),g?null:ne)}function W(T,C){for(;"rubf".indexOf(T.charAt(0).toLowerCase())>=0;)T=T.substr(1);var g=T.length==1,y="string";function j(v){return function(d,fe){var Te=p(d,fe,!0);return Te=="punctuation"&&(d.current()=="{"?fe.tokenize=j(v+1):d.current()=="}"&&(v>1?fe.tokenize=j(v-1):fe.tokenize=de)),Te}}function de(v,d){for(;!v.eol();)if(v.eatWhile(/[^'"\{\}\\]/),v.eat("\\")){if(v.next(),g&&v.eol())return y}else{if(v.match(T))return d.tokenize=C,y;if(v.match("{{"))return y;if(v.match("{",!1))return d.tokenize=j(0),v.current()?y:d.tokenize(v,d);if(v.match("}}"))return y;if(v.match("}"))return ne;v.eat(/['"]/)}if(g){if(Y.singleLineStringErrors)return ne;d.tokenize=C}return y}return de.isString=!0,de}function J(T,C){for(;"rubf".indexOf(T.charAt(0).toLowerCase())>=0;)T=T.substr(1);var g=T.length==1,y="string";function j(de,v){for(;!de.eol();)if(de.eatWhile(/[^'"\\]/),de.eat("\\")){if(de.next(),g&&de.eol())return y}else{if(de.match(T))return v.tokenize=C,y;de.eat(/['"]/)}if(g){if(Y.singleLineStringErrors)return ne;v.tokenize=C}return y}return j.isString=!0,j}function P(T){for(;Q(T).type!="py";)T.scopes.pop();T.scopes.push({offset:Q(T).offset+I.indentUnit,type:"py",align:null})}function V(T,C,g){var y=T.match(/^[\s\[\{\(]*(?:#|$)/,!1)?null:T.column()+1;C.scopes.push({offset:C.indent+$,type:g,align:y})}function F(T,C){for(var g=T.indentation();C.scopes.length>1&&Q(C).offset>g;){if(Q(C).type!="py")return!0;C.scopes.pop()}return Q(C).offset!=g}function G(T,C){T.sol()&&(C.beginningOfLine=!0,C.dedent=!1);var g=C.tokenize(T,C),y=T.current();if(C.beginningOfLine&&y=="@")return T.match(M,!1)?"meta":w?"operator":ne;if(/\S/.test(y)&&(C.beginningOfLine=!1),(g=="variable"||g=="builtin")&&C.lastToken=="meta"&&(g="meta"),(y=="pass"||y=="return")&&(C.dedent=!0),y=="lambda"&&(C.lambda=!0),y==":"&&!C.lambda&&Q(C).type=="py"&&T.match(/^\s*(?:#|$)/,!1)&&P(C),y.length==1&&!/string|comment/.test(g)){var j="[({".indexOf(y);if(j!=-1&&V(T,C,"])}".slice(j,j+1)),j="])}".indexOf(y),j!=-1)if(Q(C).type==y)C.indent=C.scopes.pop().offset-$;else return ne}return C.dedent&&T.eol()&&Q(C).type=="py"&&C.scopes.length>1&&C.scopes.pop(),g}var c={startState:function(T){return{tokenize:q,scopes:[{offset:T||0,type:"py",align:null}],indent:T||0,lastToken:null,lambda:!1,dedent:0}},token:function(T,C){var g=C.errorToken;g&&(C.errorToken=!1);var y=G(T,C);return y&&y!="comment"&&(C.lastToken=y=="keyword"||y=="punctuation"?T.current():y),y=="punctuation"&&(y=null),T.eol()&&C.lambda&&(C.lambda=!1),g?y+" "+ne:y},indent:function(T,C){if(T.tokenize!=q)return T.tokenize.isString?b.Pass:0;var g=Q(T),y=g.type==C.charAt(0)||g.type=="py"&&!T.dedent&&/^(else:|elif |except |finally:)/.test(C);return g.align!=null?g.align-(y?1:0):g.offset-(y?$:0)},electricInput:/^\s*([\}\]\)]|else:|elif |except |finally:)$/,closeBrackets:{triples:`'"`},lineComment:"#",fold:"indent"};return c}),b.defineMIME("text/x-python","python");var k=function(I){return I.split(" ")};b.defineMIME("text/x-cython",{name:"python",extra_keywords:k("by cdef cimport cpdef ctypedef enum except extern gil include nogil property public readonly struct union DEF IF ELIF ELSE")})})})()),Sa.exports}ef();var Ta={exports:{}},Ca;function tf(){return Ca||(Ca=1,(function(ct,xt){(function(b){b(mt())})(function(b){function pe(g,y,j,de,v,d){this.indented=g,this.column=y,this.type=j,this.info=de,this.align=v,this.prev=d}function _(g,y,j,de){var v=g.indented;return g.context&&g.context.type=="statement"&&j!="statement"&&(v=g.context.indented),g.context=new pe(v,y,j,de,null,g.context)}function te(g){var y=g.context.type;return(y==")"||y=="]"||y=="}")&&(g.indented=g.context.indented),g.context=g.context.prev}function oe(g,y,j){if(y.prevToken=="variable"||y.prevToken=="type"||/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(g.string.slice(0,j))||y.typeAtEndOfLine&&g.column()==g.indentation())return!0}function Q(g){for(;;){if(!g||g.type=="top")return!0;if(g.type=="}"&&g.prev.info!="namespace")return!1;g=g.prev}}b.defineMode("clike",function(g,y){var j=g.indentUnit,de=y.statementIndentUnit||j,v=y.dontAlignCalls,d=y.keywords||{},fe=y.types||{},Te=y.builtin||{},le=y.blockKeywords||{},xe=y.defKeywords||{},Me=y.atoms||{},Fe=y.hooks||{},Ce=y.multiLineStrings,ve=y.indentStatements!==!1,Oe=y.indentSwitch!==!1,qe=y.namespaceSeparator,$e=y.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,dt=y.numberStart||/[\d\.]/,Pe=y.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,_e=y.isOperatorChar||/[+\-*&%=<>!?|\/]/,Ue=y.isIdentifierChar||/[\w\$_\xa1-\uffff]/,et=y.isReservedIdentifier||!1,we,Ie;function E(me,De){var be=me.next();if(Fe[be]){var Be=Fe[be](me,De);if(Be!==!1)return Be}if(be=='"'||be=="'")return De.tokenize=ee(be),De.tokenize(me,De);if(dt.test(be)){if(me.backUp(1),me.match(Pe))return"number";me.next()}if($e.test(be))return we=be,null;if(be=="/"){if(me.eat("*"))return De.tokenize=K,K(me,De);if(me.eat("/"))return me.skipToEnd(),"comment"}if(_e.test(be)){for(;!me.match(/^\/[\/*]/,!1)&&me.eat(_e););return"operator"}if(me.eatWhile(Ue),qe)for(;me.match(qe);)me.eatWhile(Ue);var Ne=me.current();return I(d,Ne)?(I(le,Ne)&&(we="newstatement"),I(xe,Ne)&&(Ie=!0),"keyword"):I(fe,Ne)?"type":I(Te,Ne)||et&&et(Ne)?(I(le,Ne)&&(we="newstatement"),"builtin"):I(Me,Ne)?"atom":"variable"}function ee(me){return function(De,be){for(var Be=!1,Ne,Mt=!1;(Ne=De.next())!=null;){if(Ne==me&&!Be){Mt=!0;break}Be=!Be&&Ne=="\\"}return(Mt||!(Be||Ce))&&(be.tokenize=null),"string"}}function K(me,De){for(var be=!1,Be;Be=me.next();){if(Be=="/"&&be){De.tokenize=null;break}be=Be=="*"}return"comment"}function ze(me,De){y.typeFirstDefinitions&&me.eol()&&Q(De.context)&&(De.typeAtEndOfLine=oe(me,De,me.pos))}return{startState:function(me){return{tokenize:null,context:new pe((me||0)-j,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(me,De){var be=De.context;if(me.sol()&&(be.align==null&&(be.align=!1),De.indented=me.indentation(),De.startOfLine=!0),me.eatSpace())return ze(me,De),null;we=Ie=null;var Be=(De.tokenize||E)(me,De);if(Be=="comment"||Be=="meta")return Be;if(be.align==null&&(be.align=!0),we==";"||we==":"||we==","&&me.match(/^\s*(?:\/\/.*)?$/,!1))for(;De.context.type=="statement";)te(De);else if(we=="{")_(De,me.column(),"}");else if(we=="[")_(De,me.column(),"]");else if(we=="(")_(De,me.column(),")");else if(we=="}"){for(;be.type=="statement";)be=te(De);for(be.type=="}"&&(be=te(De));be.type=="statement";)be=te(De)}else we==be.type?te(De):ve&&((be.type=="}"||be.type=="top")&&we!=";"||be.type=="statement"&&we=="newstatement")&&_(De,me.column(),"statement",me.current());if(Be=="variable"&&(De.prevToken=="def"||y.typeFirstDefinitions&&oe(me,De,me.start)&&Q(De.context)&&me.match(/^\s*\(/,!1))&&(Be="def"),Fe.token){var Ne=Fe.token(me,De,Be);Ne!==void 0&&(Be=Ne)}return Be=="def"&&y.styleDefs===!1&&(Be="variable"),De.startOfLine=!1,De.prevToken=Ie?"def":Be||we,ze(me,De),Be},indent:function(me,De){if(me.tokenize!=E&&me.tokenize!=null||me.typeAtEndOfLine&&Q(me.context))return b.Pass;var be=me.context,Be=De&&De.charAt(0),Ne=Be==be.type;if(be.type=="statement"&&Be=="}"&&(be=be.prev),y.dontIndentStatements)for(;be.type=="statement"&&y.dontIndentStatements.test(be.info);)be=be.prev;if(Fe.indent){var Mt=Fe.indent(me,be,De,j);if(typeof Mt=="number")return Mt}var Pt=be.prev&&be.prev.info=="switch";if(y.allmanIndentation&&/[{(]/.test(Be)){for(;be.type!="top"&&be.type!="}";)be=be.prev;return be.indented}return be.type=="statement"?be.indented+(Be=="{"?0:de):be.align&&(!v||be.type!=")")?be.column+(Ne?0:1):be.type==")"&&!Ne?be.indented+de:be.indented+(Ne?0:j)+(!Ne&&Pt&&!/^(?:case|default)\b/.test(De)?j:0)},electricInput:Oe?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"brace"}});function k(g){for(var y={},j=g.split(" "),de=0;de<j.length;++de)y[j[de]]=!0;return y}function I(g,y){return typeof g=="function"?g(y):g.propertyIsEnumerable(y)}var Y="auto if break case register continue return default do sizeof static else struct switch extern typedef union for goto while enum const volatile inline restrict asm fortran",ne="alignas alignof and and_eq audit axiom bitand bitor catch class compl concept constexpr const_cast decltype delete dynamic_cast explicit export final friend import module mutable namespace new noexcept not not_eq operator or or_eq override private protected public reinterpret_cast requires static_assert static_cast template this thread_local throw try typeid typename using virtual xor xor_eq",S="bycopy byref in inout oneway out self super atomic nonatomic retain copy readwrite readonly strong weak assign typeof nullable nonnull null_resettable _cmd @interface @implementation @end @protocol @encode @property @synthesize @dynamic @class @public @package @private @protected @required @optional @try @catch @finally @import @selector @encode @defs @synchronized @autoreleasepool @compatibility_alias @available",R="FOUNDATION_EXPORT FOUNDATION_EXTERN NS_INLINE NS_FORMAT_FUNCTION NS_RETURNS_RETAINEDNS_ERROR_ENUM NS_RETURNS_NOT_RETAINED NS_RETURNS_INNER_POINTER NS_DESIGNATED_INITIALIZER NS_ENUM NS_OPTIONS NS_REQUIRES_NIL_TERMINATION NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_SWIFT_NAME NS_REFINED_FOR_SWIFT",A=k("int long char short double float unsigned signed void bool"),$=k("SEL instancetype id Class Protocol BOOL");function ue(g){return I(A,g)||/.+_t$/.test(g)}function O(g){return ue(g)||I($,g)}var w="case do else for if switch while struct enum union",M="struct enum union";function N(g,y){if(!y.startOfLine)return!1;for(var j,de=null;j=g.peek();){if(j=="\\"&&g.match(/^.$/)){de=N;break}else if(j=="/"&&g.match(/^\/[\/\*]/,!1))break;g.next()}return y.tokenize=de,"meta"}function z(g,y){return y.prevToken=="type"?"type":!1}function X(g){return!g||g.length<2||g[0]!="_"?!1:g[1]=="_"||g[1]!==g[1].toLowerCase()}function q(g){return g.eatWhile(/[\w\.']/),"number"}function p(g,y){if(g.backUp(1),g.match(/^(?:R|u8R|uR|UR|LR)/)){var j=g.match(/^"([^\s\\()]{0,16})\(/);return j?(y.cpp11RawStringDelim=j[1],y.tokenize=P,P(g,y)):!1}return g.match(/^(?:u8|u|U|L)/)?g.match(/^["']/,!1)?"string":!1:(g.next(),!1)}function W(g){var y=/(\w+)::~?(\w+)$/.exec(g);return y&&y[1]==y[2]}function J(g,y){for(var j;(j=g.next())!=null;)if(j=='"'&&!g.eat('"')){y.tokenize=null;break}return"string"}function P(g,y){var j=y.cpp11RawStringDelim.replace(/[^\w\s]/g,"\\$&"),de=g.match(new RegExp(".*?\\)"+j+'"'));return de?y.tokenize=null:g.skipToEnd(),"string"}function V(g,y){typeof g=="string"&&(g=[g]);var j=[];function de(d){if(d)for(var fe in d)d.hasOwnProperty(fe)&&j.push(fe)}de(y.keywords),de(y.types),de(y.builtin),de(y.atoms),j.length&&(y.helperType=g[0],b.registerHelper("hintWords",g[0],j));for(var v=0;v<g.length;++v)b.defineMIME(g[v],y)}V(["text/x-csrc","text/x-c","text/x-chdr"],{name:"clike",keywords:k(Y),types:ue,blockKeywords:k(w),defKeywords:k(M),typeFirstDefinitions:!0,atoms:k("NULL true false"),isReservedIdentifier:X,hooks:{"#":N,"*":z},modeProps:{fold:["brace","include"]}}),V(["text/x-c++src","text/x-c++hdr"],{name:"clike",keywords:k(Y+" "+ne),types:ue,blockKeywords:k(w+" class try catch"),defKeywords:k(M+" class namespace"),typeFirstDefinitions:!0,atoms:k("true false NULL nullptr"),dontIndentStatements:/^template$/,isIdentifierChar:/[\w\$_~\xa1-\uffff]/,isReservedIdentifier:X,hooks:{"#":N,"*":z,u:p,U:p,L:p,R:p,0:q,1:q,2:q,3:q,4:q,5:q,6:q,7:q,8:q,9:q,token:function(g,y,j){if(j=="variable"&&g.peek()=="("&&(y.prevToken==";"||y.prevToken==null||y.prevToken=="}")&&W(g.current()))return"def"}},namespaceSeparator:"::",modeProps:{fold:["brace","include"]}}),V("text/x-java",{name:"clike",keywords:k("abstract assert break case catch class const continue default do else enum extends final finally for goto if implements import instanceof interface native new package private protected public return static strictfp super switch synchronized this throw throws transient try volatile while @interface"),types:k("var byte short int long float double boolean char void Boolean Byte Character Double Float Integer Long Number Object Short String StringBuffer StringBuilder Void"),blockKeywords:k("catch class do else finally for if switch try while"),defKeywords:k("class interface enum @interface"),typeFirstDefinitions:!0,atoms:k("true false null"),number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+\.?\d*|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,hooks:{"@":function(g){return g.match("interface",!1)?!1:(g.eatWhile(/[\w\$_]/),"meta")},'"':function(g,y){return g.match(/""$/)?(y.tokenize=F,y.tokenize(g,y)):!1}},modeProps:{fold:["brace","import"]}}),V("text/x-csharp",{name:"clike",keywords:k("abstract as async await base break case catch checked class const continue default delegate do else enum event explicit extern finally fixed for foreach goto if implicit in init interface internal is lock namespace new operator out override params private protected public readonly record ref required return sealed sizeof stackalloc static struct switch this throw try typeof unchecked unsafe using virtual void volatile while add alias ascending descending dynamic from get global group into join let orderby partial remove select set value var yield"),types:k("Action Boolean Byte Char DateTime DateTimeOffset Decimal Double Func Guid Int16 Int32 Int64 Object SByte Single String Task TimeSpan UInt16 UInt32 UInt64 bool byte char decimal double short int long object sbyte float string ushort uint ulong"),blockKeywords:k("catch class do else finally for foreach if struct switch try while"),defKeywords:k("class interface namespace record struct var"),typeFirstDefinitions:!0,atoms:k("true false null"),hooks:{"@":function(g,y){return g.eat('"')?(y.tokenize=J,J(g,y)):(g.eatWhile(/[\w\$_]/),"meta")}}});function F(g,y){for(var j=!1;!g.eol();){if(!j&&g.match('"""')){y.tokenize=null;break}j=g.next()=="\\"&&!j}return"string"}function G(g){return function(y,j){for(var de;de=y.next();)if(de=="*"&&y.eat("/"))if(g==1){j.tokenize=null;break}else return j.tokenize=G(g-1),j.tokenize(y,j);else if(de=="/"&&y.eat("*"))return j.tokenize=G(g+1),j.tokenize(y,j);return"comment"}}V("text/x-scala",{name:"clike",keywords:k("abstract case catch class def do else extends final finally for forSome if implicit import lazy match new null object override package private protected return sealed super this throw trait try type val var while with yield _ assert assume require print println printf readLine readBoolean readByte readShort readChar readInt readLong readFloat readDouble"),types:k("AnyVal App Application Array BufferedIterator BigDecimal BigInt Char Console Either Enumeration Equiv Error Exception Fractional Function IndexedSeq Int Integral Iterable Iterator List Map Numeric Nil NotNull Option Ordered Ordering PartialFunction PartialOrdering Product Proxy Range Responder Seq Serializable Set Specializable Stream StringBuilder StringContext Symbol Throwable Traversable TraversableOnce Tuple Unit Vector Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void"),multiLineStrings:!0,blockKeywords:k("catch class enum do else finally for forSome if match switch try while"),defKeywords:k("class enum def object package trait type val var"),atoms:k("true false null"),indentStatements:!1,indentSwitch:!1,isOperatorChar:/[+\-*&%=<>!?|\/#:@]/,hooks:{"@":function(g){return g.eatWhile(/[\w\$_]/),"meta"},'"':function(g,y){return g.match('""')?(y.tokenize=F,y.tokenize(g,y)):!1},"'":function(g){return g.match(/^(\\[^'\s]+|[^\\'])'/)?"string-2":(g.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},"=":function(g,y){var j=y.context;return j.type=="}"&&j.align&&g.eat(">")?(y.context=new pe(j.indented,j.column,j.type,j.info,null,j.prev),"operator"):!1},"/":function(g,y){return g.eat("*")?(y.tokenize=G(1),y.tokenize(g,y)):!1}},modeProps:{closeBrackets:{pairs:'()[]{}""',triples:'"'}}});function c(g){return function(y,j){for(var de=!1,v,d=!1;!y.eol();){if(!g&&!de&&y.match('"')){d=!0;break}if(g&&y.match('"""')){d=!0;break}v=y.next(),!de&&v=="$"&&y.match("{")&&y.skipTo("}"),de=!de&&v=="\\"&&!g}return(d||!g)&&(j.tokenize=null),"string"}}V("text/x-kotlin",{name:"clike",keywords:k("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam value"),types:k("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,blockKeywords:k("catch class do else finally for if where try while enum"),defKeywords:k("class val var object interface fun"),atoms:k("true false null this"),hooks:{"@":function(g){return g.eatWhile(/[\w\$_]/),"meta"},"*":function(g,y){return y.prevToken=="."?"variable":"operator"},'"':function(g,y){return y.tokenize=c(g.match('""')),y.tokenize(g,y)},"/":function(g,y){return g.eat("*")?(y.tokenize=G(1),y.tokenize(g,y)):!1},indent:function(g,y,j,de){var v=j&&j.charAt(0);if((g.prevToken=="}"||g.prevToken==")")&&j=="")return g.indented;if(g.prevToken=="operator"&&j!="}"&&g.context.type!="}"||g.prevToken=="variable"&&v=="."||(g.prevToken=="}"||g.prevToken==")")&&v==".")return de*2+y.indented;if(y.align&&y.type=="}")return y.indented+(g.context.type==(j||"").charAt(0)?0:de)}},modeProps:{closeBrackets:{triples:'"'}}}),V(["x-shader/x-vertex","x-shader/x-fragment"],{name:"clike",keywords:k("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:k("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:k("for while do if else struct"),builtin:k("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:k("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TextureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":N},modeProps:{fold:["brace","include"]}}),V("text/x-nesc",{name:"clike",keywords:k(Y+" as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:ue,blockKeywords:k(w),atoms:k("null true false"),hooks:{"#":N},modeProps:{fold:["brace","include"]}}),V("text/x-objectivec",{name:"clike",keywords:k(Y+" "+S),types:O,builtin:k(R),blockKeywords:k(w+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:k(M+" @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:k("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:X,hooks:{"#":N,"*":z},modeProps:{fold:["brace","include"]}}),V("text/x-objectivec++",{name:"clike",keywords:k(Y+" "+S+" "+ne),types:O,builtin:k(R),blockKeywords:k(w+" @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:k(M+" @interface @implementation @protocol @class class namespace"),dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:k("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:X,hooks:{"#":N,"*":z,u:p,U:p,L:p,R:p,0:q,1:q,2:q,3:q,4:q,5:q,6:q,7:q,8:q,9:q,token:function(g,y,j){if(j=="variable"&&g.peek()=="("&&(y.prevToken==";"||y.prevToken==null||y.prevToken=="}")&&W(g.current()))return"def"}},namespaceSeparator:"::",modeProps:{fold:["brace","include"]}}),V("text/x-squirrel",{name:"clike",keywords:k("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:ue,blockKeywords:k("case catch class else for foreach if switch try while"),defKeywords:k("function local class"),typeFirstDefinitions:!0,atoms:k("true false null"),hooks:{"#":N},modeProps:{fold:["brace","include"]}});var T=null;function C(g){return function(y,j){for(var de=!1,v,d=!1;!y.eol();){if(!de&&y.match('"')&&(g=="single"||y.match('""'))){d=!0;break}if(!de&&y.match("``")){T=C(g),d=!0;break}v=y.next(),de=g=="single"&&!de&&v=="\\"}return d&&(j.tokenize=null),"string"}}V("text/x-ceylon",{name:"clike",keywords:k("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(g){var y=g.charAt(0);return y===y.toUpperCase()&&y!==y.toLowerCase()},blockKeywords:k("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:k("class dynamic function interface module object package value"),builtin:k("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:k("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(g){return g.eatWhile(/[\w\$_]/),"meta"},'"':function(g,y){return y.tokenize=C(g.match('""')?"triple":"single"),y.tokenize(g,y)},"`":function(g,y){return!T||!g.match("`")?!1:(y.tokenize=T,T=null,y.tokenize(g,y))},"'":function(g){return g.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},token:function(g,y,j){if((j=="variable"||j=="type")&&y.prevToken==".")return"variable-2"}},modeProps:{fold:["brace","import"],closeBrackets:{triples:'"'}}})})})()),Ta.exports}tf();var Da={exports:{}},Ma={exports:{}},Fa;function rf(){return Fa||(Fa=1,(function(ct,xt){(function(b){b(mt())})(function(b){b.modeInfo=[{name:"APL",mime:"text/apl",mode:"apl",ext:["dyalog","apl"]},{name:"PGP",mimes:["application/pgp","application/pgp-encrypted","application/pgp-keys","application/pgp-signature"],mode:"asciiarmor",ext:["asc","pgp","sig"]},{name:"ASN.1",mime:"text/x-ttcn-asn",mode:"asn.1",ext:["asn","asn1"]},{name:"Asterisk",mime:"text/x-asterisk",mode:"asterisk",file:/^extensions\.conf$/i},{name:"Brainfuck",mime:"text/x-brainfuck",mode:"brainfuck",ext:["b","bf"]},{name:"C",mime:"text/x-csrc",mode:"clike",ext:["c","h","ino"]},{name:"C++",mime:"text/x-c++src",mode:"clike",ext:["cpp","c++","cc","cxx","hpp","h++","hh","hxx"],alias:["cpp"]},{name:"Cobol",mime:"text/x-cobol",mode:"cobol",ext:["cob","cpy","cbl"]},{name:"C#",mime:"text/x-csharp",mode:"clike",ext:["cs"],alias:["csharp","cs"]},{name:"Clojure",mime:"text/x-clojure",mode:"clojure",ext:["clj","cljc","cljx"]},{name:"ClojureScript",mime:"text/x-clojurescript",mode:"clojure",ext:["cljs"]},{name:"Closure Stylesheets (GSS)",mime:"text/x-gss",mode:"css",ext:["gss"]},{name:"CMake",mime:"text/x-cmake",mode:"cmake",ext:["cmake","cmake.in"],file:/^CMakeLists\.txt$/},{name:"CoffeeScript",mimes:["application/vnd.coffeescript","text/coffeescript","text/x-coffeescript"],mode:"coffeescript",ext:["coffee"],alias:["coffee","coffee-script"]},{name:"Common Lisp",mime:"text/x-common-lisp",mode:"commonlisp",ext:["cl","lisp","el"],alias:["lisp"]},{name:"Cypher",mime:"application/x-cypher-query",mode:"cypher",ext:["cyp","cypher"]},{name:"Cython",mime:"text/x-cython",mode:"python",ext:["pyx","pxd","pxi"]},{name:"Crystal",mime:"text/x-crystal",mode:"crystal",ext:["cr"]},{name:"CSS",mime:"text/css",mode:"css",ext:["css"]},{name:"CQL",mime:"text/x-cassandra",mode:"sql",ext:["cql"]},{name:"D",mime:"text/x-d",mode:"d",ext:["d"]},{name:"Dart",mimes:["application/dart","text/x-dart"],mode:"dart",ext:["dart"]},{name:"diff",mime:"text/x-diff",mode:"diff",ext:["diff","patch"]},{name:"Django",mime:"text/x-django",mode:"django"},{name:"Dockerfile",mime:"text/x-dockerfile",mode:"dockerfile",file:/^Dockerfile$/},{name:"DTD",mime:"application/xml-dtd",mode:"dtd",ext:["dtd"]},{name:"Dylan",mime:"text/x-dylan",mode:"dylan",ext:["dylan","dyl","intr"]},{name:"EBNF",mime:"text/x-ebnf",mode:"ebnf"},{name:"ECL",mime:"text/x-ecl",mode:"ecl",ext:["ecl"]},{name:"edn",mime:"application/edn",mode:"clojure",ext:["edn"]},{name:"Eiffel",mime:"text/x-eiffel",mode:"eiffel",ext:["e"]},{name:"Elm",mime:"text/x-elm",mode:"elm",ext:["elm"]},{name:"Embedded JavaScript",mime:"application/x-ejs",mode:"htmlembedded",ext:["ejs"]},{name:"Embedded Ruby",mime:"application/x-erb",mode:"htmlembedded",ext:["erb"]},{name:"Erlang",mime:"text/x-erlang",mode:"erlang",ext:["erl"]},{name:"Esper",mime:"text/x-esper",mode:"sql"},{name:"Factor",mime:"text/x-factor",mode:"factor",ext:["factor"]},{name:"FCL",mime:"text/x-fcl",mode:"fcl"},{name:"Forth",mime:"text/x-forth",mode:"forth",ext:["forth","fth","4th"]},{name:"Fortran",mime:"text/x-fortran",mode:"fortran",ext:["f","for","f77","f90","f95"]},{name:"F#",mime:"text/x-fsharp",mode:"mllike",ext:["fs"],alias:["fsharp"]},{name:"Gas",mime:"text/x-gas",mode:"gas",ext:["s"]},{name:"Gherkin",mime:"text/x-feature",mode:"gherkin",ext:["feature"]},{name:"GitHub Flavored Markdown",mime:"text/x-gfm",mode:"gfm",file:/^(readme|contributing|history)\.md$/i},{name:"Go",mime:"text/x-go",mode:"go",ext:["go"]},{name:"Groovy",mime:"text/x-groovy",mode:"groovy",ext:["groovy","gradle"],file:/^Jenkinsfile$/},{name:"HAML",mime:"text/x-haml",mode:"haml",ext:["haml"]},{name:"Haskell",mime:"text/x-haskell",mode:"haskell",ext:["hs"]},{name:"Haskell (Literate)",mime:"text/x-literate-haskell",mode:"haskell-literate",ext:["lhs"]},{name:"Haxe",mime:"text/x-haxe",mode:"haxe",ext:["hx"]},{name:"HXML",mime:"text/x-hxml",mode:"haxe",ext:["hxml"]},{name:"ASP.NET",mime:"application/x-aspx",mode:"htmlembedded",ext:["aspx"],alias:["asp","aspx"]},{name:"HTML",mime:"text/html",mode:"htmlmixed",ext:["html","htm","handlebars","hbs"],alias:["xhtml"]},{name:"HTTP",mime:"message/http",mode:"http"},{name:"IDL",mime:"text/x-idl",mode:"idl",ext:["pro"]},{name:"Pug",mime:"text/x-pug",mode:"pug",ext:["jade","pug"],alias:["jade"]},{name:"Java",mime:"text/x-java",mode:"clike",ext:["java"]},{name:"Java Server Pages",mime:"application/x-jsp",mode:"htmlembedded",ext:["jsp"],alias:["jsp"]},{name:"JavaScript",mimes:["text/javascript","text/ecmascript","application/javascript","application/x-javascript","application/ecmascript"],mode:"javascript",ext:["js"],alias:["ecmascript","js","node"]},{name:"JSON",mimes:["application/json","application/x-json"],mode:"javascript",ext:["json","map"],alias:["json5"]},{name:"JSON-LD",mime:"application/ld+json",mode:"javascript",ext:["jsonld"],alias:["jsonld"]},{name:"JSX",mime:"text/jsx",mode:"jsx",ext:["jsx"]},{name:"Jinja2",mime:"text/jinja2",mode:"jinja2",ext:["j2","jinja","jinja2"]},{name:"Julia",mime:"text/x-julia",mode:"julia",ext:["jl"],alias:["jl"]},{name:"Kotlin",mime:"text/x-kotlin",mode:"clike",ext:["kt"]},{name:"LESS",mime:"text/x-less",mode:"css",ext:["less"]},{name:"LiveScript",mime:"text/x-livescript",mode:"livescript",ext:["ls"],alias:["ls"]},{name:"Lua",mime:"text/x-lua",mode:"lua",ext:["lua"]},{name:"Markdown",mime:"text/x-markdown",mode:"markdown",ext:["markdown","md","mkd"]},{name:"mIRC",mime:"text/mirc",mode:"mirc"},{name:"MariaDB SQL",mime:"text/x-mariadb",mode:"sql"},{name:"Mathematica",mime:"text/x-mathematica",mode:"mathematica",ext:["m","nb","wl","wls"]},{name:"Modelica",mime:"text/x-modelica",mode:"modelica",ext:["mo"]},{name:"MUMPS",mime:"text/x-mumps",mode:"mumps",ext:["mps"]},{name:"MS SQL",mime:"text/x-mssql",mode:"sql"},{name:"mbox",mime:"application/mbox",mode:"mbox",ext:["mbox"]},{name:"MySQL",mime:"text/x-mysql",mode:"sql"},{name:"Nginx",mime:"text/x-nginx-conf",mode:"nginx",file:/nginx.*\.conf$/i},{name:"NSIS",mime:"text/x-nsis",mode:"nsis",ext:["nsh","nsi"]},{name:"NTriples",mimes:["application/n-triples","application/n-quads","text/n-triples"],mode:"ntriples",ext:["nt","nq"]},{name:"Objective-C",mime:"text/x-objectivec",mode:"clike",ext:["m"],alias:["objective-c","objc"]},{name:"Objective-C++",mime:"text/x-objectivec++",mode:"clike",ext:["mm"],alias:["objective-c++","objc++"]},{name:"OCaml",mime:"text/x-ocaml",mode:"mllike",ext:["ml","mli","mll","mly"]},{name:"Octave",mime:"text/x-octave",mode:"octave",ext:["m"]},{name:"Oz",mime:"text/x-oz",mode:"oz",ext:["oz"]},{name:"Pascal",mime:"text/x-pascal",mode:"pascal",ext:["p","pas"]},{name:"PEG.js",mime:"null",mode:"pegjs",ext:["jsonld"]},{name:"Perl",mime:"text/x-perl",mode:"perl",ext:["pl","pm"]},{name:"PHP",mimes:["text/x-php","application/x-httpd-php","application/x-httpd-php-open"],mode:"php",ext:["php","php3","php4","php5","php7","phtml"]},{name:"Pig",mime:"text/x-pig",mode:"pig",ext:["pig"]},{name:"Plain Text",mime:"text/plain",mode:"null",ext:["txt","text","conf","def","list","log"]},{name:"PLSQL",mime:"text/x-plsql",mode:"sql",ext:["pls"]},{name:"PostgreSQL",mime:"text/x-pgsql",mode:"sql"},{name:"PowerShell",mime:"application/x-powershell",mode:"powershell",ext:["ps1","psd1","psm1"]},{name:"Properties files",mime:"text/x-properties",mode:"properties",ext:["properties","ini","in"],alias:["ini","properties"]},{name:"ProtoBuf",mime:"text/x-protobuf",mode:"protobuf",ext:["proto"]},{name:"Python",mime:"text/x-python",mode:"python",ext:["BUILD","bzl","py","pyw"],file:/^(BUCK|BUILD)$/},{name:"Puppet",mime:"text/x-puppet",mode:"puppet",ext:["pp"]},{name:"Q",mime:"text/x-q",mode:"q",ext:["q"]},{name:"R",mime:"text/x-rsrc",mode:"r",ext:["r","R"],alias:["rscript"]},{name:"reStructuredText",mime:"text/x-rst",mode:"rst",ext:["rst"],alias:["rst"]},{name:"RPM Changes",mime:"text/x-rpm-changes",mode:"rpm"},{name:"RPM Spec",mime:"text/x-rpm-spec",mode:"rpm",ext:["spec"]},{name:"Ruby",mime:"text/x-ruby",mode:"ruby",ext:["rb"],alias:["jruby","macruby","rake","rb","rbx"]},{name:"Rust",mime:"text/x-rustsrc",mode:"rust",ext:["rs"]},{name:"SAS",mime:"text/x-sas",mode:"sas",ext:["sas"]},{name:"Sass",mime:"text/x-sass",mode:"sass",ext:["sass"]},{name:"Scala",mime:"text/x-scala",mode:"clike",ext:["scala"]},{name:"Scheme",mime:"text/x-scheme",mode:"scheme",ext:["scm","ss"]},{name:"SCSS",mime:"text/x-scss",mode:"css",ext:["scss"]},{name:"Shell",mimes:["text/x-sh","application/x-sh"],mode:"shell",ext:["sh","ksh","bash"],alias:["bash","sh","zsh"],file:/^PKGBUILD$/},{name:"Sieve",mime:"application/sieve",mode:"sieve",ext:["siv","sieve"]},{name:"Slim",mimes:["text/x-slim","application/x-slim"],mode:"slim",ext:["slim"]},{name:"Smalltalk",mime:"text/x-stsrc",mode:"smalltalk",ext:["st"]},{name:"Smarty",mime:"text/x-smarty",mode:"smarty",ext:["tpl"]},{name:"Solr",mime:"text/x-solr",mode:"solr"},{name:"SML",mime:"text/x-sml",mode:"mllike",ext:["sml","sig","fun","smackspec"]},{name:"Soy",mime:"text/x-soy",mode:"soy",ext:["soy"],alias:["closure template"]},{name:"SPARQL",mime:"application/sparql-query",mode:"sparql",ext:["rq","sparql"],alias:["sparul"]},{name:"Spreadsheet",mime:"text/x-spreadsheet",mode:"spreadsheet",alias:["excel","formula"]},{name:"SQL",mime:"text/x-sql",mode:"sql",ext:["sql"]},{name:"SQLite",mime:"text/x-sqlite",mode:"sql"},{name:"Squirrel",mime:"text/x-squirrel",mode:"clike",ext:["nut"]},{name:"Stylus",mime:"text/x-styl",mode:"stylus",ext:["styl"]},{name:"Swift",mime:"text/x-swift",mode:"swift",ext:["swift"]},{name:"sTeX",mime:"text/x-stex",mode:"stex"},{name:"LaTeX",mime:"text/x-latex",mode:"stex",ext:["text","ltx","tex"],alias:["tex"]},{name:"SystemVerilog",mime:"text/x-systemverilog",mode:"verilog",ext:["v","sv","svh"]},{name:"Tcl",mime:"text/x-tcl",mode:"tcl",ext:["tcl"]},{name:"Textile",mime:"text/x-textile",mode:"textile",ext:["textile"]},{name:"TiddlyWiki",mime:"text/x-tiddlywiki",mode:"tiddlywiki"},{name:"Tiki wiki",mime:"text/tiki",mode:"tiki"},{name:"TOML",mime:"text/x-toml",mode:"toml",ext:["toml"]},{name:"Tornado",mime:"text/x-tornado",mode:"tornado"},{name:"troff",mime:"text/troff",mode:"troff",ext:["1","2","3","4","5","6","7","8","9"]},{name:"TTCN",mime:"text/x-ttcn",mode:"ttcn",ext:["ttcn","ttcn3","ttcnpp"]},{name:"TTCN_CFG",mime:"text/x-ttcn-cfg",mode:"ttcn-cfg",ext:["cfg"]},{name:"Turtle",mime:"text/turtle",mode:"turtle",ext:["ttl"]},{name:"TypeScript",mime:"application/typescript",mode:"javascript",ext:["ts"],alias:["ts"]},{name:"TypeScript-JSX",mime:"text/typescript-jsx",mode:"jsx",ext:["tsx"],alias:["tsx"]},{name:"Twig",mime:"text/x-twig",mode:"twig"},{name:"Web IDL",mime:"text/x-webidl",mode:"webidl",ext:["webidl"]},{name:"VB.NET",mime:"text/x-vb",mode:"vb",ext:["vb"]},{name:"VBScript",mime:"text/vbscript",mode:"vbscript",ext:["vbs"]},{name:"Velocity",mime:"text/velocity",mode:"velocity",ext:["vtl"]},{name:"Verilog",mime:"text/x-verilog",mode:"verilog",ext:["v"]},{name:"VHDL",mime:"text/x-vhdl",mode:"vhdl",ext:["vhd","vhdl"]},{name:"Vue.js Component",mimes:["script/x-vue","text/x-vue"],mode:"vue",ext:["vue"]},{name:"XML",mimes:["application/xml","text/xml"],mode:"xml",ext:["xml","xsl","xsd","svg"],alias:["rss","wsdl","xsd"]},{name:"XQuery",mime:"application/xquery",mode:"xquery",ext:["xy","xquery"]},{name:"Yacas",mime:"text/x-yacas",mode:"yacas",ext:["ys"]},{name:"YAML",mimes:["text/x-yaml","text/yaml"],mode:"yaml",ext:["yaml","yml"],alias:["yml"]},{name:"Z80",mime:"text/x-z80",mode:"z80",ext:["z80"]},{name:"mscgen",mime:"text/x-mscgen",mode:"mscgen",ext:["mscgen","mscin","msc"]},{name:"xu",mime:"text/x-xu",mode:"mscgen",ext:["xu"]},{name:"msgenny",mime:"text/x-msgenny",mode:"mscgen",ext:["msgenny"]},{name:"WebAssembly",mime:"text/webassembly",mode:"wast",ext:["wat","wast"]}];for(var pe=0;pe<b.modeInfo.length;pe++){var _=b.modeInfo[pe];_.mimes&&(_.mime=_.mimes[0])}b.findModeByMIME=function(te){te=te.toLowerCase();for(var oe=0;oe<b.modeInfo.length;oe++){var Q=b.modeInfo[oe];if(Q.mime==te)return Q;if(Q.mimes){for(var k=0;k<Q.mimes.length;k++)if(Q.mimes[k]==te)return Q}}if(/\+xml$/.test(te))return b.findModeByMIME("application/xml");if(/\+json$/.test(te))return b.findModeByMIME("application/json")},b.findModeByExtension=function(te){te=te.toLowerCase();for(var oe=0;oe<b.modeInfo.length;oe++){var Q=b.modeInfo[oe];if(Q.ext){for(var k=0;k<Q.ext.length;k++)if(Q.ext[k]==te)return Q}}},b.findModeByFileName=function(te){for(var oe=0;oe<b.modeInfo.length;oe++){var Q=b.modeInfo[oe];if(Q.file&&Q.file.test(te))return Q}var k=te.lastIndexOf("."),I=k>-1&&te.substring(k+1,te.length);if(I)return b.findModeByExtension(I)},b.findModeByName=function(te){te=te.toLowerCase();for(var oe=0;oe<b.modeInfo.length;oe++){var Q=b.modeInfo[oe];if(Q.name.toLowerCase()==te)return Q;if(Q.alias){for(var k=0;k<Q.alias.length;k++)if(Q.alias[k].toLowerCase()==te)return Q}}}})})()),Ma.exports}var Aa;function nf(){return Aa||(Aa=1,(function(ct,xt){(function(b){b(mt(),Ya(),rf())})(function(b){b.defineMode("markdown",function(pe,_){var te=b.getMode(pe,"text/html"),oe=te.name=="null";function Q(v){if(b.findModeByName){var d=b.findModeByName(v);d&&(v=d.mime||d.mimes[0])}var fe=b.getMode(pe,v);return fe.name=="null"?null:fe}_.highlightFormatting===void 0&&(_.highlightFormatting=!1),_.maxBlockquoteDepth===void 0&&(_.maxBlockquoteDepth=0),_.taskLists===void 0&&(_.taskLists=!1),_.strikethrough===void 0&&(_.strikethrough=!1),_.emoji===void 0&&(_.emoji=!1),_.fencedCodeBlockHighlighting===void 0&&(_.fencedCodeBlockHighlighting=!0),_.fencedCodeBlockDefaultMode===void 0&&(_.fencedCodeBlockDefaultMode="text/plain"),_.xml===void 0&&(_.xml=!0),_.tokenTypeOverrides===void 0&&(_.tokenTypeOverrides={});var k={header:"header",code:"comment",quote:"quote",list1:"variable-2",list2:"variable-3",list3:"keyword",hr:"hr",image:"image",imageAltText:"image-alt-text",imageMarker:"image-marker",formatting:"formatting",linkInline:"link",linkEmail:"link",linkText:"link",linkHref:"string",em:"em",strong:"strong",strikethrough:"strikethrough",emoji:"builtin"};for(var I in k)k.hasOwnProperty(I)&&_.tokenTypeOverrides[I]&&(k[I]=_.tokenTypeOverrides[I]);var Y=/^([*\-_])(?:\s*\1){2,}\s*$/,ne=/^(?:[*\-+]|^[0-9]+([.)]))\s+/,S=/^\[(x| )\](?=\s)/i,R=_.allowAtxHeaderWithoutSpace?/^(#+)/:/^(#+)(?: |$)/,A=/^ {0,3}(?:\={1,}|-{2,})\s*$/,$=/^[^#!\[\]*_\\<>` "'(~:]+/,ue=/^(~~~+|```+)[ \t]*([\w\/+#-]*)[^\n`]*$/,O=/^\s*\[[^\]]+?\]:.*$/,w=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E42\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC9\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDF3C-\uDF3E]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]/,M=" ";function N(v,d,fe){return d.f=d.inline=fe,fe(v,d)}function z(v,d,fe){return d.f=d.block=fe,fe(v,d)}function X(v){return!v||!/\S/.test(v.string)}function q(v){if(v.linkTitle=!1,v.linkHref=!1,v.linkText=!1,v.em=!1,v.strong=!1,v.strikethrough=!1,v.quote=0,v.indentedCode=!1,v.f==W){var d=oe;if(!d){var fe=b.innerMode(te,v.htmlState);d=fe.mode.name=="xml"&&fe.state.tagStart===null&&!fe.state.context&&fe.state.tokenize.isInText}d&&(v.f=F,v.block=p,v.htmlState=null)}return v.trailingSpace=0,v.trailingSpaceNewLine=!1,v.prevLine=v.thisLine,v.thisLine={stream:null},null}function p(v,d){var fe=v.column()===d.indentation,Te=X(d.prevLine.stream),le=d.indentedCode,xe=d.prevLine.hr,Me=d.list!==!1,Fe=(d.listStack[d.listStack.length-1]||0)+3;d.indentedCode=!1;var Ce=d.indentation;if(d.indentationDiff===null&&(d.indentationDiff=d.indentation,Me)){for(d.list=null;Ce<d.listStack[d.listStack.length-1];)d.listStack.pop(),d.listStack.length?d.indentation=d.listStack[d.listStack.length-1]:d.list=!1;d.list!==!1&&(d.indentationDiff=Ce-d.listStack[d.listStack.length-1])}var ve=!Te&&!xe&&!d.prevLine.header&&(!Me||!le)&&!d.prevLine.fencedCodeEnd,Oe=(d.list===!1||xe||Te)&&d.indentation<=Fe&&v.match(Y),qe=null;if(d.indentationDiff>=4&&(le||d.prevLine.fencedCodeEnd||d.prevLine.header||Te))return v.skipToEnd(),d.indentedCode=!0,k.code;if(v.eatSpace())return null;if(fe&&d.indentation<=Fe&&(qe=v.match(R))&&qe[1].length<=6)return d.quote=0,d.header=qe[1].length,d.thisLine.header=!0,_.highlightFormatting&&(d.formatting="header"),d.f=d.inline,P(d);if(d.indentation<=Fe&&v.eat(">"))return d.quote=fe?1:d.quote+1,_.highlightFormatting&&(d.formatting="quote"),v.eatSpace(),P(d);if(!Oe&&!d.setext&&fe&&d.indentation<=Fe&&(qe=v.match(ne))){var $e=qe[1]?"ol":"ul";return d.indentation=Ce+v.current().length,d.list=!0,d.quote=0,d.listStack.push(d.indentation),d.em=!1,d.strong=!1,d.code=!1,d.strikethrough=!1,_.taskLists&&v.match(S,!1)&&(d.taskList=!0),d.f=d.inline,_.highlightFormatting&&(d.formatting=["list","list-"+$e]),P(d)}else{if(fe&&d.indentation<=Fe&&(qe=v.match(ue,!0)))return d.quote=0,d.fencedEndRE=new RegExp(qe[1]+"+ *$"),d.localMode=_.fencedCodeBlockHighlighting&&Q(qe[2]||_.fencedCodeBlockDefaultMode),d.localMode&&(d.localState=b.startState(d.localMode)),d.f=d.block=J,_.highlightFormatting&&(d.formatting="code-block"),d.code=-1,P(d);if(d.setext||(!ve||!Me)&&!d.quote&&d.list===!1&&!d.code&&!Oe&&!O.test(v.string)&&(qe=v.lookAhead(1))&&(qe=qe.match(A)))return d.setext?(d.header=d.setext,d.setext=0,v.skipToEnd(),_.highlightFormatting&&(d.formatting="header")):(d.header=qe[0].charAt(0)=="="?1:2,d.setext=d.header),d.thisLine.header=!0,d.f=d.inline,P(d);if(Oe)return v.skipToEnd(),d.hr=!0,d.thisLine.hr=!0,k.hr;if(v.peek()==="[")return N(v,d,g)}return N(v,d,d.inline)}function W(v,d){var fe=te.token(v,d.htmlState);if(!oe){var Te=b.innerMode(te,d.htmlState);(Te.mode.name=="xml"&&Te.state.tagStart===null&&!Te.state.context&&Te.state.tokenize.isInText||d.md_inside&&v.current().indexOf(">")>-1)&&(d.f=F,d.block=p,d.htmlState=null)}return fe}function J(v,d){var fe=d.listStack[d.listStack.length-1]||0,Te=d.indentation<fe,le=fe+3;if(d.fencedEndRE&&d.indentation<=le&&(Te||v.match(d.fencedEndRE))){_.highlightFormatting&&(d.formatting="code-block");var xe;return Te||(xe=P(d)),d.localMode=d.localState=null,d.block=p,d.f=F,d.fencedEndRE=null,d.code=0,d.thisLine.fencedCodeEnd=!0,Te?z(v,d,d.block):xe}else return d.localMode?d.localMode.token(v,d.localState):(v.skipToEnd(),k.code)}function P(v){var d=[];if(v.formatting){d.push(k.formatting),typeof v.formatting=="string"&&(v.formatting=[v.formatting]);for(var fe=0;fe<v.formatting.length;fe++)d.push(k.formatting+"-"+v.formatting[fe]),v.formatting[fe]==="header"&&d.push(k.formatting+"-"+v.formatting[fe]+"-"+v.header),v.formatting[fe]==="quote"&&(!_.maxBlockquoteDepth||_.maxBlockquoteDepth>=v.quote?d.push(k.formatting+"-"+v.formatting[fe]+"-"+v.quote):d.push("error"))}if(v.taskOpen)return d.push("meta"),d.length?d.join(" "):null;if(v.taskClosed)return d.push("property"),d.length?d.join(" "):null;if(v.linkHref?d.push(k.linkHref,"url"):(v.strong&&d.push(k.strong),v.em&&d.push(k.em),v.strikethrough&&d.push(k.strikethrough),v.emoji&&d.push(k.emoji),v.linkText&&d.push(k.linkText),v.code&&d.push(k.code),v.image&&d.push(k.image),v.imageAltText&&d.push(k.imageAltText,"link"),v.imageMarker&&d.push(k.imageMarker)),v.header&&d.push(k.header,k.header+"-"+v.header),v.quote&&(d.push(k.quote),!_.maxBlockquoteDepth||_.maxBlockquoteDepth>=v.quote?d.push(k.quote+"-"+v.quote):d.push(k.quote+"-"+_.maxBlockquoteDepth)),v.list!==!1){var Te=(v.listStack.length-1)%3;Te?Te===1?d.push(k.list2):d.push(k.list3):d.push(k.list1)}return v.trailingSpaceNewLine?d.push("trailing-space-new-line"):v.trailingSpace&&d.push("trailing-space-"+(v.trailingSpace%2?"a":"b")),d.length?d.join(" "):null}function V(v,d){if(v.match($,!0))return P(d)}function F(v,d){var fe=d.text(v,d);if(typeof fe<"u")return fe;if(d.list)return d.list=null,P(d);if(d.taskList){var Te=v.match(S,!0)[1]===" ";return Te?d.taskOpen=!0:d.taskClosed=!0,_.highlightFormatting&&(d.formatting="task"),d.taskList=!1,P(d)}if(d.taskOpen=!1,d.taskClosed=!1,d.header&&v.match(/^#+$/,!0))return _.highlightFormatting&&(d.formatting="header"),P(d);var le=v.next();if(d.linkTitle){d.linkTitle=!1;var xe=le;le==="("&&(xe=")"),xe=(xe+"").replace(/([.?*+^\[\]\\(){}|-])/g,"\\$1");var Me="^\\s*(?:[^"+xe+"\\\\]+|\\\\\\\\|\\\\.)"+xe;if(v.match(new RegExp(Me),!0))return k.linkHref}if(le==="`"){var Fe=d.formatting;_.highlightFormatting&&(d.formatting="code"),v.eatWhile("`");var Ce=v.current().length;if(d.code==0&&(!d.quote||Ce==1))return d.code=Ce,P(d);if(Ce==d.code){var ve=P(d);return d.code=0,ve}else return d.formatting=Fe,P(d)}else if(d.code)return P(d);if(le==="\\"&&(v.next(),_.highlightFormatting)){var Oe=P(d),qe=k.formatting+"-escape";return Oe?Oe+" "+qe:qe}if(le==="!"&&v.match(/\[[^\]]*\] ?(?:\(|\[)/,!1))return d.imageMarker=!0,d.image=!0,_.highlightFormatting&&(d.formatting="image"),P(d);if(le==="["&&d.imageMarker&&v.match(/[^\]]*\](\(.*?\)| ?\[.*?\])/,!1))return d.imageMarker=!1,d.imageAltText=!0,_.highlightFormatting&&(d.formatting="image"),P(d);if(le==="]"&&d.imageAltText){_.highlightFormatting&&(d.formatting="image");var Oe=P(d);return d.imageAltText=!1,d.image=!1,d.inline=d.f=c,Oe}if(le==="["&&!d.image)return d.linkText&&v.match(/^.*?\]/)||(d.linkText=!0,_.highlightFormatting&&(d.formatting="link")),P(d);if(le==="]"&&d.linkText){_.highlightFormatting&&(d.formatting="link");var Oe=P(d);return d.linkText=!1,d.inline=d.f=v.match(/\(.*?\)| ?\[.*?\]/,!1)?c:F,Oe}if(le==="<"&&v.match(/^(https?|ftps?):\/\/(?:[^\\>]|\\.)+>/,!1)){d.f=d.inline=G,_.highlightFormatting&&(d.formatting="link");var Oe=P(d);return Oe?Oe+=" ":Oe="",Oe+k.linkInline}if(le==="<"&&v.match(/^[^> \\]+@(?:[^\\>]|\\.)+>/,!1)){d.f=d.inline=G,_.highlightFormatting&&(d.formatting="link");var Oe=P(d);return Oe?Oe+=" ":Oe="",Oe+k.linkEmail}if(_.xml&&le==="<"&&v.match(/^(!--|\?|!\[CDATA\[|[a-z][a-z0-9-]*(?:\s+[a-z_:.\-]+(?:\s*=\s*[^>]+)?)*\s*(?:>|$))/i,!1)){var $e=v.string.indexOf(">",v.pos);if($e!=-1){var dt=v.string.substring(v.start,$e);/markdown\s*=\s*('|"){0,1}1('|"){0,1}/.test(dt)&&(d.md_inside=!0)}return v.backUp(1),d.htmlState=b.startState(te),z(v,d,W)}if(_.xml&&le==="<"&&v.match(/^\/\w*?>/))return d.md_inside=!1,"tag";if(le==="*"||le==="_"){for(var Pe=1,_e=v.pos==1?" ":v.string.charAt(v.pos-2);Pe<3&&v.eat(le);)Pe++;var Ue=v.peek()||" ",et=!/\s/.test(Ue)&&(!w.test(Ue)||/\s/.test(_e)||w.test(_e)),we=!/\s/.test(_e)&&(!w.test(_e)||/\s/.test(Ue)||w.test(Ue)),Ie=null,E=null;if(Pe%2&&(!d.em&&et&&(le==="*"||!we||w.test(_e))?Ie=!0:d.em==le&&we&&(le==="*"||!et||w.test(Ue))&&(Ie=!1)),Pe>1&&(!d.strong&&et&&(le==="*"||!we||w.test(_e))?E=!0:d.strong==le&&we&&(le==="*"||!et||w.test(Ue))&&(E=!1)),E!=null||Ie!=null){_.highlightFormatting&&(d.formatting=Ie==null?"strong":E==null?"em":"strong em"),Ie===!0&&(d.em=le),E===!0&&(d.strong=le);var ve=P(d);return Ie===!1&&(d.em=!1),E===!1&&(d.strong=!1),ve}}else if(le===" "&&(v.eat("*")||v.eat("_"))){if(v.peek()===" ")return P(d);v.backUp(1)}if(_.strikethrough){if(le==="~"&&v.eatWhile(le)){if(d.strikethrough){_.highlightFormatting&&(d.formatting="strikethrough");var ve=P(d);return d.strikethrough=!1,ve}else if(v.match(/^[^\s]/,!1))return d.strikethrough=!0,_.highlightFormatting&&(d.formatting="strikethrough"),P(d)}else if(le===" "&&v.match("~~",!0)){if(v.peek()===" ")return P(d);v.backUp(2)}}if(_.emoji&&le===":"&&v.match(/^(?:[a-z_\d+][a-z_\d+-]*|\-[a-z_\d+][a-z_\d+-]*):/)){d.emoji=!0,_.highlightFormatting&&(d.formatting="emoji");var ee=P(d);return d.emoji=!1,ee}return le===" "&&(v.match(/^ +$/,!1)?d.trailingSpace++:d.trailingSpace&&(d.trailingSpaceNewLine=!0)),P(d)}function G(v,d){var fe=v.next();if(fe===">"){d.f=d.inline=F,_.highlightFormatting&&(d.formatting="link");var Te=P(d);return Te?Te+=" ":Te="",Te+k.linkInline}return v.match(/^[^>]+/,!0),k.linkInline}function c(v,d){if(v.eatSpace())return null;var fe=v.next();return fe==="("||fe==="["?(d.f=d.inline=C(fe==="("?")":"]"),_.highlightFormatting&&(d.formatting="link-string"),d.linkHref=!0,P(d)):"error"}var T={")":/^(?:[^\\\(\)]|\\.|\((?:[^\\\(\)]|\\.)*\))*?(?=\))/,"]":/^(?:[^\\\[\]]|\\.|\[(?:[^\\\[\]]|\\.)*\])*?(?=\])/};function C(v){return function(d,fe){var Te=d.next();if(Te===v){fe.f=fe.inline=F,_.highlightFormatting&&(fe.formatting="link-string");var le=P(fe);return fe.linkHref=!1,le}return d.match(T[v]),fe.linkHref=!0,P(fe)}}function g(v,d){return v.match(/^([^\]\\]|\\.)*\]:/,!1)?(d.f=y,v.next(),_.highlightFormatting&&(d.formatting="link"),d.linkText=!0,P(d)):N(v,d,F)}function y(v,d){if(v.match("]:",!0)){d.f=d.inline=j,_.highlightFormatting&&(d.formatting="link");var fe=P(d);return d.linkText=!1,fe}return v.match(/^([^\]\\]|\\.)+/,!0),k.linkText}function j(v,d){return v.eatSpace()?null:(v.match(/^[^\s]+/,!0),v.peek()===void 0?d.linkTitle=!0:v.match(/^(?:\s+(?:"(?:[^"\\]|\\.)+"|'(?:[^'\\]|\\.)+'|\((?:[^)\\]|\\.)+\)))?/,!0),d.f=d.inline=F,k.linkHref+" url")}var de={startState:function(){return{f:p,prevLine:{stream:null},thisLine:{stream:null},block:p,htmlState:null,indentation:0,inline:F,text:V,formatting:!1,linkText:!1,linkHref:!1,linkTitle:!1,code:0,em:!1,strong:!1,header:0,setext:0,hr:!1,taskList:!1,list:!1,listStack:[],quote:0,trailingSpace:0,trailingSpaceNewLine:!1,strikethrough:!1,emoji:!1,fencedEndRE:null}},copyState:function(v){return{f:v.f,prevLine:v.prevLine,thisLine:v.thisLine,block:v.block,htmlState:v.htmlState&&b.copyState(te,v.htmlState),indentation:v.indentation,localMode:v.localMode,localState:v.localMode?b.copyState(v.localMode,v.localState):null,inline:v.inline,text:v.text,formatting:!1,linkText:v.linkText,linkTitle:v.linkTitle,linkHref:v.linkHref,code:v.code,em:v.em,strong:v.strong,strikethrough:v.strikethrough,emoji:v.emoji,header:v.header,setext:v.setext,hr:v.hr,taskList:v.taskList,list:v.list,listStack:v.listStack.slice(0),quote:v.quote,indentedCode:v.indentedCode,trailingSpace:v.trailingSpace,trailingSpaceNewLine:v.trailingSpaceNewLine,md_inside:v.md_inside,fencedEndRE:v.fencedEndRE}},token:function(v,d){if(d.formatting=!1,v!=d.thisLine.stream){if(d.header=0,d.hr=!1,v.match(/^\s*$/,!0))return q(d),null;if(d.prevLine=d.thisLine,d.thisLine={stream:v},d.taskList=!1,d.trailingSpace=0,d.trailingSpaceNewLine=!1,!d.localState&&(d.f=d.block,d.f!=W)){var fe=v.match(/^\s*/,!0)[0].replace(/\t/g,M).length;if(d.indentation=fe,d.indentationDiff=null,fe>0)return null}}return d.f(v,d)},innerMode:function(v){return v.block==W?{state:v.htmlState,mode:te}:v.localState?{state:v.localState,mode:v.localMode}:{state:v,mode:de}},indent:function(v,d,fe){return v.block==W&&te.indent?te.indent(v.htmlState,d,fe):v.localState&&v.localMode.indent?v.localMode.indent(v.localState,d,fe):b.Pass},blankLine:q,getType:P,blockCommentStart:"<!--",blockCommentEnd:"-->",closeBrackets:"()[]{}''\"\"``",fold:"markdown"};return de},"xml"),b.defineMIME("text/markdown","markdown"),b.defineMIME("text/x-markdown","markdown")})})()),Da.exports}nf();var Na={exports:{}},Ea;function of(){return Ea||(Ea=1,(function(ct,xt){(function(b){b(mt())})(function(b){b.defineOption("placeholder","",function(I,Y,ne){var S=ne&&ne!=b.Init;if(Y&&!S)I.on("blur",oe),I.on("change",Q),I.on("swapDoc",Q),b.on(I.getInputField(),"compositionupdate",I.state.placeholderCompose=function(){te(I)}),Q(I);else if(!Y&&S){I.off("blur",oe),I.off("change",Q),I.off("swapDoc",Q),b.off(I.getInputField(),"compositionupdate",I.state.placeholderCompose),pe(I);var R=I.getWrapperElement();R.className=R.className.replace(" CodeMirror-empty","")}Y&&!I.hasFocus()&&oe(I)});function pe(I){I.state.placeholder&&(I.state.placeholder.parentNode.removeChild(I.state.placeholder),I.state.placeholder=null)}function _(I){pe(I);var Y=I.state.placeholder=document.createElement("pre");Y.style.cssText="height: 0; overflow: visible",Y.style.direction=I.getOption("direction"),Y.className="CodeMirror-placeholder CodeMirror-line-like";var ne=I.getOption("placeholder");typeof ne=="string"&&(ne=document.createTextNode(ne)),Y.appendChild(ne),I.display.lineSpace.insertBefore(Y,I.display.lineSpace.firstChild)}function te(I){setTimeout(function(){var Y=!1;if(I.lineCount()==1){var ne=I.getInputField();Y=ne.nodeName=="TEXTAREA"?!I.getLine(0).length:!/[^\u200b]/.test(ne.querySelector(".CodeMirror-line").textContent)}Y?_(I):pe(I)},20)}function oe(I){k(I)&&_(I)}function Q(I){var Y=I.getWrapperElement(),ne=k(I);Y.className=Y.className.replace(" CodeMirror-empty","")+(ne?" CodeMirror-empty":""),ne?_(I):pe(I)}function k(I){return I.lineCount()===1&&I.getLine(0)===""}})})()),Na.exports}of();var Oa={exports:{}},Pa;function lf(){return Pa||(Pa=1,(function(ct,xt){(function(b){b(mt())})(function(b){b.defineSimpleMode=function(S,R){b.defineMode(S,function(A){return b.simpleMode(A,R)})},b.simpleMode=function(S,R){pe(R,"start");var A={},$=R.meta||{},ue=!1;for(var O in R)if(O!=$&&R.hasOwnProperty(O))for(var w=A[O]=[],M=R[O],N=0;N<M.length;N++){var z=M[N];w.push(new oe(z,R)),(z.indent||z.dedent)&&(ue=!0)}var X={startState:function(){return{state:"start",pending:null,local:null,localState:null,indent:ue?[]:null}},copyState:function(p){var W={state:p.state,pending:p.pending,local:p.local,localState:null,indent:p.indent&&p.indent.slice(0)};p.localState&&(W.localState=b.copyState(p.local.mode,p.localState)),p.stack&&(W.stack=p.stack.slice(0));for(var J=p.persistentStates;J;J=J.next)W.persistentStates={mode:J.mode,spec:J.spec,state:J.state==p.localState?W.localState:b.copyState(J.mode,J.state),next:W.persistentStates};return W},token:Q(A,S),innerMode:function(p){return p.local&&{mode:p.local.mode,state:p.localState}},indent:ne(A,$)};if($)for(var q in $)$.hasOwnProperty(q)&&(X[q]=$[q]);return X};function pe(S,R){if(!S.hasOwnProperty(R))throw new Error("Undefined state "+R+" in simple mode")}function _(S,R){if(!S)return/(?:)/;var A="";return S instanceof RegExp?(S.ignoreCase&&(A="i"),S.unicode&&(A+="u"),S=S.source):S=String(S),new RegExp((R===!1?"":"^")+"(?:"+S+")",A)}function te(S){if(!S)return null;if(S.apply)return S;if(typeof S=="string")return S.replace(/\./g," ");for(var R=[],A=0;A<S.length;A++)R.push(S[A]&&S[A].replace(/\./g," "));return R}function oe(S,R){(S.next||S.push)&&pe(R,S.next||S.push),this.regex=_(S.regex),this.token=te(S.token),this.data=S}function Q(S,R){return function(A,$){if($.pending){var ue=$.pending.shift();return $.pending.length==0&&($.pending=null),A.pos+=ue.text.length,ue.token}if($.local)if($.local.end&&A.match($.local.end)){var O=$.local.endToken||null;return $.local=$.localState=null,O}else{var O=$.local.mode.token(A,$.localState),w;return $.local.endScan&&(w=$.local.endScan.exec(A.current()))&&(A.pos=A.start+w.index),O}for(var M=S[$.state],N=0;N<M.length;N++){var z=M[N],X=(!z.data.sol||A.sol())&&A.match(z.regex);if(X){z.data.next?$.state=z.data.next:z.data.push?(($.stack||($.stack=[])).push($.state),$.state=z.data.push):z.data.pop&&$.stack&&$.stack.length&&($.state=$.stack.pop()),z.data.mode&&I(R,$,z.data.mode,z.token),z.data.indent&&$.indent.push(A.indentation()+R.indentUnit),z.data.dedent&&$.indent.pop();var q=z.token;if(q&&q.apply&&(q=q(X)),X.length>2&&z.token&&typeof z.token!="string"){for(var p=2;p<X.length;p++)X[p]&&($.pending||($.pending=[])).push({text:X[p],token:z.token[p-1]});return A.backUp(X[0].length-(X[1]?X[1].length:0)),q[0]}else return q&&q.join?q[0]:q}}return A.next(),null}}function k(S,R){if(S===R)return!0;if(!S||typeof S!="object"||!R||typeof R!="object")return!1;var A=0;for(var $ in S)if(S.hasOwnProperty($)){if(!R.hasOwnProperty($)||!k(S[$],R[$]))return!1;A++}for(var $ in R)R.hasOwnProperty($)&&A--;return A==0}function I(S,R,A,$){var ue;if(A.persistent)for(var O=R.persistentStates;O&&!ue;O=O.next)(A.spec?k(A.spec,O.spec):A.mode==O.mode)&&(ue=O);var w=ue?ue.mode:A.mode||b.getMode(S,A.spec),M=ue?ue.state:b.startState(w);A.persistent&&!ue&&(R.persistentStates={mode:w,spec:A.spec,state:M,next:R.persistentStates}),R.localState=M,R.local={mode:w,end:A.end&&_(A.end),endScan:A.end&&A.forceEnd!==!1&&_(A.end,!1),endToken:$&&$.join?$[$.length-1]:$}}function Y(S,R){for(var A=0;A<R.length;A++)if(R[A]===S)return!0}function ne(S,R){return function(A,$,ue){if(A.local&&A.local.mode.indent)return A.local.mode.indent(A.localState,$,ue);if(A.indent==null||A.local||R.dontIndentStates&&Y(A.state,R.dontIndentStates)>-1)return b.Pass;var O=A.indent.length-1,w=S[A.state];e:for(;;){for(var M=0;M<w.length;M++){var N=w[M];if(N.data.dedent&&N.data.dedentIfLineStart!==!1){var z=N.regex.exec($);if(z&&z[0]){O--,(N.next||N.push)&&(w=S[N.next||N.push]),$=$.slice(z[0].length);continue e}}}break}return O<0?0:A.indent[O]}}})})()),Oa.exports}lf();var Ia={exports:{}},za;function af(){return za||(za=1,(function(ct,xt){(function(b){b(mt())})(function(b){var pe=/MSIE \d/.test(navigator.userAgent)&&(document.documentMode==null||document.documentMode<8),_=b.Pos,te={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<","<":">>",">":"<<"};function oe(S){return S&&S.bracketRegex||/[(){}[\]]/}function Q(S,R,A){var $=S.getLineHandle(R.line),ue=R.ch-1,O=A&&A.afterCursor;O==null&&(O=/(^| )cm-fat-cursor($| )/.test(S.getWrapperElement().className));var w=oe(A),M=!O&&ue>=0&&w.test($.text.charAt(ue))&&te[$.text.charAt(ue)]||w.test($.text.charAt(ue+1))&&te[$.text.charAt(++ue)];if(!M)return null;var N=M.charAt(1)==">"?1:-1;if(A&&A.strict&&N>0!=(ue==R.ch))return null;var z=S.getTokenTypeAt(_(R.line,ue+1)),X=k(S,_(R.line,ue+(N>0?1:0)),N,z,A);return X==null?null:{from:_(R.line,ue),to:X&&X.pos,match:X&&X.ch==M.charAt(0),forward:N>0}}function k(S,R,A,$,ue){for(var O=ue&&ue.maxScanLineLength||1e4,w=ue&&ue.maxScanLines||1e3,M=[],N=oe(ue),z=A>0?Math.min(R.line+w,S.lastLine()+1):Math.max(S.firstLine()-1,R.line-w),X=R.line;X!=z;X+=A){var q=S.getLine(X);if(q){var p=A>0?0:q.length-1,W=A>0?q.length:-1;if(!(q.length>O))for(X==R.line&&(p=R.ch-(A<0?1:0));p!=W;p+=A){var J=q.charAt(p);if(N.test(J)&&($===void 0||(S.getTokenTypeAt(_(X,p+1))||"")==($||""))){var P=te[J];if(P&&P.charAt(1)==">"==A>0)M.push(J);else if(M.length)M.pop();else return{pos:_(X,p),ch:J}}}}}return X-A==(A>0?S.lastLine():S.firstLine())?!1:null}function I(S,R,A){for(var $=S.state.matchBrackets.maxHighlightLineLength||1e3,ue=A&&A.highlightNonMatching,O=[],w=S.listSelections(),M=0;M<w.length;M++){var N=w[M].empty()&&Q(S,w[M].head,A);if(N&&(N.match||ue!==!1)&&S.getLine(N.from.line).length<=$){var z=N.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket";O.push(S.markText(N.from,_(N.from.line,N.from.ch+1),{className:z})),N.to&&S.getLine(N.to.line).length<=$&&O.push(S.markText(N.to,_(N.to.line,N.to.ch+1),{className:z}))}}if(O.length){pe&&S.state.focused&&S.focus();var X=function(){S.operation(function(){for(var q=0;q<O.length;q++)O[q].clear()})};if(R)setTimeout(X,800);else return X}}function Y(S){S.operation(function(){S.state.matchBrackets.currentlyHighlighted&&(S.state.matchBrackets.currentlyHighlighted(),S.state.matchBrackets.currentlyHighlighted=null),S.state.matchBrackets.currentlyHighlighted=I(S,!1,S.state.matchBrackets)})}function ne(S){S.state.matchBrackets&&S.state.matchBrackets.currentlyHighlighted&&(S.state.matchBrackets.currentlyHighlighted(),S.state.matchBrackets.currentlyHighlighted=null)}b.defineOption("matchBrackets",!1,function(S,R,A){A&&A!=b.Init&&(S.off("cursorActivity",Y),S.off("focus",Y),S.off("blur",ne),ne(S)),R&&(S.state.matchBrackets=typeof R=="object"?R:{},S.on("cursorActivity",Y),S.on("focus",Y),S.on("blur",ne))}),b.defineExtension("matchBrackets",function(){I(this,!0)}),b.defineExtension("findMatchingBracket",function(S,R,A){return(A||typeof R=="boolean")&&(A?(A.strict=R,R=A):R=R?{strict:!0}:null),Q(this,S,R)}),b.defineExtension("scanForBracket",function(S,R,A,$){return k(this,S,R,A,$)})})})()),Ia.exports}af();var Ba={exports:{}},Ra;function sf(){return Ra||(Ra=1,(function(ct,xt){(function(b){b(mt())})(function(b){var pe={pairs:`()[]{}''""`,closeBefore:`)]}'":;>`,triples:"",explode:"[]{}"},_=b.Pos;b.defineOption("autoCloseBrackets",!1,function(O,w,M){M&&M!=b.Init&&(O.removeKeyMap(oe),O.state.closeBrackets=null),w&&(Q(te(w,"pairs")),O.state.closeBrackets=w,O.addKeyMap(oe))});function te(O,w){return w=="pairs"&&typeof O=="string"?O:typeof O=="object"&&O[w]!=null?O[w]:pe[w]}var oe={Backspace:Y,Enter:ne};function Q(O){for(var w=0;w<O.length;w++){var M=O.charAt(w),N="'"+M+"'";oe[N]||(oe[N]=k(M))}}Q(pe.pairs+"`");function k(O){return function(w){return A(w,O)}}function I(O){var w=O.state.closeBrackets;if(!w||w.override)return w;var M=O.getModeAt(O.getCursor());return M.closeBrackets||w}function Y(O){var w=I(O);if(!w||O.getOption("disableInput"))return b.Pass;for(var M=te(w,"pairs"),N=O.listSelections(),z=0;z<N.length;z++){if(!N[z].empty())return b.Pass;var X=$(O,N[z].head);if(!X||M.indexOf(X)%2!=0)return b.Pass}for(var z=N.length-1;z>=0;z--){var q=N[z].head;O.replaceRange("",_(q.line,q.ch-1),_(q.line,q.ch+1),"+delete")}}function ne(O){var w=I(O),M=w&&te(w,"explode");if(!M||O.getOption("disableInput"))return b.Pass;for(var N=O.listSelections(),z=0;z<N.length;z++){if(!N[z].empty())return b.Pass;var X=$(O,N[z].head);if(!X||M.indexOf(X)%2!=0)return b.Pass}O.operation(function(){var q=O.lineSeparator()||`
25 -`;O.replaceSelection(q+q,null),S(O,-1),N=O.listSelections();for(var p=0;p<N.length;p++){var W=N[p].head.line;O.indentLine(W,null,!0),O.indentLine(W+1,null,!0)}})}function S(O,w){for(var M=[],N=O.listSelections(),z=0,X=0;X<N.length;X++){var q=N[X];q.head==O.getCursor()&&(z=X);var p=q.head.ch||w>0?{line:q.head.line,ch:q.head.ch+w}:{line:q.head.line-1};M.push({anchor:p,head:p})}O.setSelections(M,z)}function R(O){var w=b.cmpPos(O.anchor,O.head)>0;return{anchor:new _(O.anchor.line,O.anchor.ch+(w?-1:1)),head:new _(O.head.line,O.head.ch+(w?1:-1))}}function A(O,w){var M=I(O);if(!M||O.getOption("disableInput"))return b.Pass;var N=te(M,"pairs"),z=N.indexOf(w);if(z==-1)return b.Pass;for(var X=te(M,"closeBefore"),q=te(M,"triples"),p=N.charAt(z+1)==w,W=O.listSelections(),J=z%2==0,P,V=0;V<W.length;V++){var F=W[V],G=F.head,c,T=O.getRange(G,_(G.line,G.ch+1));if(J&&!F.empty())c="surround";else if((p||!J)&&T==w)p&&ue(O,G)?c="both":q.indexOf(w)>=0&&O.getRange(G,_(G.line,G.ch+3))==w+w+w?c="skipThree":c="skip";else if(p&&G.ch>1&&q.indexOf(w)>=0&&O.getRange(_(G.line,G.ch-2),G)==w+w){if(G.ch>2&&/\bstring/.test(O.getTokenTypeAt(_(G.line,G.ch-2))))return b.Pass;c="addFour"}else if(p){var C=G.ch==0?" ":O.getRange(_(G.line,G.ch-1),G);if(!b.isWordChar(T)&&C!=w&&!b.isWordChar(C))c="both";else return b.Pass}else if(J&&(T.length===0||/\s/.test(T)||X.indexOf(T)>-1))c="both";else return b.Pass;if(!P)P=c;else if(P!=c)return b.Pass}var g=z%2?N.charAt(z-1):w,y=z%2?w:N.charAt(z+1);O.operation(function(){if(P=="skip")S(O,1);else if(P=="skipThree")S(O,3);else if(P=="surround"){for(var j=O.getSelections(),de=0;de<j.length;de++)j[de]=g+j[de]+y;O.replaceSelections(j,"around"),j=O.listSelections().slice();for(var de=0;de<j.length;de++)j[de]=R(j[de]);O.setSelections(j)}else P=="both"?(O.replaceSelection(g+y,null),O.triggerElectric(g+y),S(O,-1)):P=="addFour"&&(O.replaceSelection(g+g+g+g,"before"),S(O,1))})}function $(O,w){var M=O.getRange(_(w.line,w.ch-1),_(w.line,w.ch+1));return M.length==2?M:null}function ue(O,w){var M=O.getTokenAt(_(w.line,w.ch+1));return/\bstring/.test(M.type)&&M.start==w.ch&&(w.ch==0||!/\bstring/.test(O.getTokenTypeAt(w)))}})})()),Ba.exports}sf();var Wa={exports:{}},Ha={exports:{}},_a;function Ja(){return _a||(_a=1,(function(ct,xt){(function(b){b(mt())})(function(b){var pe=b.Pos;function _(w){var M=w.flags;return M??(w.ignoreCase?"i":"")+(w.global?"g":"")+(w.multiline?"m":"")}function te(w,M){for(var N=_(w),z=N,X=0;X<M.length;X++)z.indexOf(M.charAt(X))==-1&&(z+=M.charAt(X));return N==z?w:new RegExp(w.source,z)}function oe(w){return/\\s|\\n|\n|\\W|\\D|\[\^/.test(w.source)}function Q(w,M,N){M=te(M,"g");for(var z=N.line,X=N.ch,q=w.lastLine();z<=q;z++,X=0){M.lastIndex=X;var p=w.getLine(z),W=M.exec(p);if(W)return{from:pe(z,W.index),to:pe(z,W.index+W[0].length),match:W}}}function k(w,M,N){if(!oe(M))return Q(w,M,N);M=te(M,"gm");for(var z,X=1,q=N.line,p=w.lastLine();q<=p;){for(var W=0;W<X&&!(q>p);W++){var J=w.getLine(q++);z=z==null?J:z+`
26 -`+J}X=X*2,M.lastIndex=N.ch;var P=M.exec(z);if(P){var V=z.slice(0,P.index).split(`
27 -`),F=P[0].split(`
28 -`),G=N.line+V.length-1,c=V[V.length-1].length;return{from:pe(G,c),to:pe(G+F.length-1,F.length==1?c+F[0].length:F[F.length-1].length),match:P}}}}function I(w,M,N){for(var z,X=0;X<=w.length;){M.lastIndex=X;var q=M.exec(w);if(!q)break;var p=q.index+q[0].length;if(p>w.length-N)break;(!z||p>z.index+z[0].length)&&(z=q),X=q.index+1}return z}function Y(w,M,N){M=te(M,"g");for(var z=N.line,X=N.ch,q=w.firstLine();z>=q;z--,X=-1){var p=w.getLine(z),W=I(p,M,X<0?0:p.length-X);if(W)return{from:pe(z,W.index),to:pe(z,W.index+W[0].length),match:W}}}function ne(w,M,N){if(!oe(M))return Y(w,M,N);M=te(M,"gm");for(var z,X=1,q=w.getLine(N.line).length-N.ch,p=N.line,W=w.firstLine();p>=W;){for(var J=0;J<X&&p>=W;J++){var P=w.getLine(p--);z=z==null?P:P+`
29 -`+z}X*=2;var V=I(z,M,q);if(V){var F=z.slice(0,V.index).split(`
30 -`),G=V[0].split(`
31 -`),c=p+F.length,T=F[F.length-1].length;return{from:pe(c,T),to:pe(c+G.length-1,G.length==1?T+G[0].length:G[G.length-1].length),match:V}}}}var S,R;String.prototype.normalize?(S=function(w){return w.normalize("NFD").toLowerCase()},R=function(w){return w.normalize("NFD")}):(S=function(w){return w.toLowerCase()},R=function(w){return w});function A(w,M,N,z){if(w.length==M.length)return N;for(var X=0,q=N+Math.max(0,w.length-M.length);;){if(X==q)return X;var p=X+q>>1,W=z(w.slice(0,p)).length;if(W==N)return p;W>N?q=p:X=p+1}}function $(w,M,N,z){if(!M.length)return null;var X=z?S:R,q=X(M).split(/\r|\n\r?/);e:for(var p=N.line,W=N.ch,J=w.lastLine()+1-q.length;p<=J;p++,W=0){var P=w.getLine(p).slice(W),V=X(P);if(q.length==1){var F=V.indexOf(q[0]);if(F==-1)continue e;var N=A(P,V,F,X)+W;return{from:pe(p,A(P,V,F,X)+W),to:pe(p,A(P,V,F+q[0].length,X)+W)}}else{var G=V.length-q[0].length;if(V.slice(G)!=q[0])continue e;for(var c=1;c<q.length-1;c++)if(X(w.getLine(p+c))!=q[c])continue e;var T=w.getLine(p+q.length-1),C=X(T),g=q[q.length-1];if(C.slice(0,g.length)!=g)continue e;return{from:pe(p,A(P,V,G,X)+W),to:pe(p+q.length-1,A(T,C,g.length,X))}}}}function ue(w,M,N,z){if(!M.length)return null;var X=z?S:R,q=X(M).split(/\r|\n\r?/);e:for(var p=N.line,W=N.ch,J=w.firstLine()-1+q.length;p>=J;p--,W=-1){var P=w.getLine(p);W>-1&&(P=P.slice(0,W));var V=X(P);if(q.length==1){var F=V.lastIndexOf(q[0]);if(F==-1)continue e;return{from:pe(p,A(P,V,F,X)),to:pe(p,A(P,V,F+q[0].length,X))}}else{var G=q[q.length-1];if(V.slice(0,G.length)!=G)continue e;for(var c=1,N=p-q.length+1;c<q.length-1;c++)if(X(w.getLine(N+c))!=q[c])continue e;var T=w.getLine(p+1-q.length),C=X(T);if(C.slice(C.length-q[0].length)!=q[0])continue e;return{from:pe(p+1-q.length,A(T,C,T.length-q[0].length,X)),to:pe(p,A(P,V,G.length,X))}}}}function O(w,M,N,z){this.atOccurrence=!1,this.afterEmptyMatch=!1,this.doc=w,N=N?w.clipPos(N):pe(0,0),this.pos={from:N,to:N};var X;typeof z=="object"?X=z.caseFold:(X=z,z=null),typeof M=="string"?(X==null&&(X=!1),this.matches=function(q,p){return(q?ue:$)(w,M,p,X)}):(M=te(M,"gm"),!z||z.multiline!==!1?this.matches=function(q,p){return(q?ne:k)(w,M,p)}:this.matches=function(q,p){return(q?Y:Q)(w,M,p)})}O.prototype={findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(w){var M=this.doc.clipPos(w?this.pos.from:this.pos.to);if(this.afterEmptyMatch&&this.atOccurrence&&(M=pe(M.line,M.ch),w?(M.ch--,M.ch<0&&(M.line--,M.ch=(this.doc.getLine(M.line)||"").length)):(M.ch++,M.ch>(this.doc.getLine(M.line)||"").length&&(M.ch=0,M.line++)),b.cmpPos(M,this.doc.clipPos(M))!=0))return this.atOccurrence=!1;var N=this.matches(w,M);if(this.afterEmptyMatch=N&&b.cmpPos(N.from,N.to)==0,N)return this.pos=N,this.atOccurrence=!0,this.pos.match||!0;var z=pe(w?this.doc.firstLine():this.doc.lastLine()+1,0);return this.pos={from:z,to:z},this.atOccurrence=!1},from:function(){if(this.atOccurrence)return this.pos.from},to:function(){if(this.atOccurrence)return this.pos.to},replace:function(w,M){if(this.atOccurrence){var N=b.splitLines(w);this.doc.replaceRange(N,this.pos.from,this.pos.to,M),this.pos.to=pe(this.pos.from.line+N.length-1,N[N.length-1].length+(N.length==1?this.pos.from.ch:0))}}},b.defineExtension("getSearchCursor",function(w,M,N){return new O(this.doc,w,M,N)}),b.defineDocExtension("getSearchCursor",function(w,M,N){return new O(this,w,M,N)}),b.defineExtension("selectMatches",function(w,M){for(var N=[],z=this.getSearchCursor(w,this.getCursor("from"),M);z.findNext()&&!(b.cmpPos(z.to(),this.getCursor("to"))>0);)N.push({anchor:z.from(),head:z.to()});N.length&&this.setSelections(N,0)})})})()),Ha.exports}var qa={exports:{}},ja;function po(){return ja||(ja=1,(function(ct,xt){(function(b){b(mt())})(function(b){function pe(te,oe,Q){var k=te.getWrapperElement(),I;return I=k.appendChild(document.createElement("div")),Q?I.className="CodeMirror-dialog CodeMirror-dialog-bottom":I.className="CodeMirror-dialog CodeMirror-dialog-top",typeof oe=="string"?I.innerHTML=oe:I.appendChild(oe),b.addClass(k,"dialog-opened"),I}function _(te,oe){te.state.currentNotificationClose&&te.state.currentNotificationClose(),te.state.currentNotificationClose=oe}b.defineExtension("openDialog",function(te,oe,Q){Q||(Q={}),_(this,null);var k=pe(this,te,Q.bottom),I=!1,Y=this;function ne(A){if(typeof A=="string")S.value=A;else{if(I)return;I=!0,b.rmClass(k.parentNode,"dialog-opened"),k.parentNode.removeChild(k),Y.focus(),Q.onClose&&Q.onClose(k)}}var S=k.getElementsByTagName("input")[0],R;return S?(S.focus(),Q.value&&(S.value=Q.value,Q.selectValueOnOpen!==!1&&S.select()),Q.onInput&&b.on(S,"input",function(A){Q.onInput(A,S.value,ne)}),Q.onKeyUp&&b.on(S,"keyup",function(A){Q.onKeyUp(A,S.value,ne)}),b.on(S,"keydown",function(A){Q&&Q.onKeyDown&&Q.onKeyDown(A,S.value,ne)||((A.keyCode==27||Q.closeOnEnter!==!1&&A.keyCode==13)&&(S.blur(),b.e_stop(A),ne()),A.keyCode==13&&oe(S.value,A))}),Q.closeOnBlur!==!1&&b.on(k,"focusout",function(A){A.relatedTarget!==null&&ne()})):(R=k.getElementsByTagName("button")[0])&&(b.on(R,"click",function(){ne(),Y.focus()}),Q.closeOnBlur!==!1&&b.on(R,"blur",ne),R.focus()),ne}),b.defineExtension("openConfirm",function(te,oe,Q){_(this,null);var k=pe(this,te,Q&&Q.bottom),I=k.getElementsByTagName("button"),Y=!1,ne=this,S=1;function R(){Y||(Y=!0,b.rmClass(k.parentNode,"dialog-opened"),k.parentNode.removeChild(k),ne.focus())}I[0].focus();for(var A=0;A<I.length;++A){var $=I[A];(function(ue){b.on($,"click",function(O){b.e_preventDefault(O),R(),ue&&ue(ne)})})(oe[A]),b.on($,"blur",function(){--S,setTimeout(function(){S<=0&&R()},200)}),b.on($,"focus",function(){++S})}}),b.defineExtension("openNotification",function(te,oe){_(this,ne);var Q=pe(this,te,oe&&oe.bottom),k=!1,I,Y=oe&&typeof oe.duration<"u"?oe.duration:5e3;function ne(){k||(k=!0,clearTimeout(I),b.rmClass(Q.parentNode,"dialog-opened"),Q.parentNode.removeChild(Q))}return b.on(Q,"click",function(S){b.e_preventDefault(S),ne()}),Y&&(I=setTimeout(ne,Y)),ne})})})()),qa.exports}var Ka;function uf(){return Ka||(Ka=1,(function(ct,xt){(function(b){b(mt(),Ja(),po())})(function(b){b.defineOption("search",{bottom:!1});function pe(p,W){return typeof p=="string"?p=new RegExp(p.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),W?"gi":"g"):p.global||(p=new RegExp(p.source,p.ignoreCase?"gi":"g")),{token:function(J){p.lastIndex=J.pos;var P=p.exec(J.string);if(P&&P.index==J.pos)return J.pos+=P[0].length||1,"searching";P?J.pos=P.index:J.skipToEnd()}}}function _(){this.posFrom=this.posTo=this.lastQuery=this.query=null,this.overlay=null}function te(p){return p.state.search||(p.state.search=new _)}function oe(p){return typeof p=="string"&&p==p.toLowerCase()}function Q(p,W,J){return p.getSearchCursor(W,J,{caseFold:oe(W),multiline:!0})}function k(p,W,J,P,V){p.openDialog(W,P,{value:J,selectValueOnOpen:!0,closeOnEnter:!1,onClose:function(){ue(p)},onKeyDown:V,bottom:p.options.search.bottom})}function I(p,W,J,P,V){p.openDialog?p.openDialog(W,V,{value:P,selectValueOnOpen:!0,bottom:p.options.search.bottom}):V(prompt(J,P))}function Y(p,W,J,P){p.openConfirm?p.openConfirm(W,P):confirm(J)&&P[0]()}function ne(p){return p.replace(/\\([nrt\\])/g,function(W,J){return J=="n"?`
32 -`:J=="r"?"\r":J=="t"?" ":J=="\\"?"\\":W})}function S(p){var W=p.match(/^\/(.*)\/([a-z]*)$/);if(W)try{p=new RegExp(W[1],W[2].indexOf("i")==-1?"":"i")}catch{}else p=ne(p);return(typeof p=="string"?p=="":p.test(""))&&(p=/x^/),p}function R(p,W,J){W.queryText=J,W.query=S(J),p.removeOverlay(W.overlay,oe(W.query)),W.overlay=pe(W.query,oe(W.query)),p.addOverlay(W.overlay),p.showMatchesOnScrollbar&&(W.annotate&&(W.annotate.clear(),W.annotate=null),W.annotate=p.showMatchesOnScrollbar(W.query,oe(W.query)))}function A(p,W,J,P){var V=te(p);if(V.query)return $(p,W);var F=p.getSelection()||V.lastQuery;if(F instanceof RegExp&&F.source=="x^"&&(F=null),J&&p.openDialog){var G=null,c=function(T,C){b.e_stop(C),T&&(T!=V.queryText&&(R(p,V,T),V.posFrom=V.posTo=p.getCursor()),G&&(G.style.opacity=1),$(p,C.shiftKey,function(g,y){var j;y.line<3&&document.querySelector&&(j=p.display.wrapper.querySelector(".CodeMirror-dialog"))&&j.getBoundingClientRect().bottom-4>p.cursorCoords(y,"window").top&&((G=j).style.opacity=.4)}))};k(p,w(p),F,c,function(T,C){var g=b.keyName(T),y=p.getOption("extraKeys"),j=y&&y[g]||b.keyMap[p.getOption("keyMap")][g];j=="findNext"||j=="findPrev"||j=="findPersistentNext"||j=="findPersistentPrev"?(b.e_stop(T),R(p,te(p),C),p.execCommand(j)):(j=="find"||j=="findPersistent")&&(b.e_stop(T),c(C,T))}),P&&F&&(R(p,V,F),$(p,W))}else I(p,w(p),"Search for:",F,function(T){T&&!V.query&&p.operation(function(){R(p,V,T),V.posFrom=V.posTo=p.getCursor(),$(p,W)})})}function $(p,W,J){p.operation(function(){var P=te(p),V=Q(p,P.query,W?P.posFrom:P.posTo);!V.find(W)&&(V=Q(p,P.query,W?b.Pos(p.lastLine()):b.Pos(p.firstLine(),0)),!V.find(W))||(p.setSelection(V.from(),V.to()),p.scrollIntoView({from:V.from(),to:V.to()},20),P.posFrom=V.from(),P.posTo=V.to(),J&&J(V.from(),V.to()))})}function ue(p){p.operation(function(){var W=te(p);W.lastQuery=W.query,W.query&&(W.query=W.queryText=null,p.removeOverlay(W.overlay),W.annotate&&(W.annotate.clear(),W.annotate=null))})}function O(p,W){var J=p?document.createElement(p):document.createDocumentFragment();for(var P in W)J[P]=W[P];for(var V=2;V<arguments.length;V++){var F=arguments[V];J.appendChild(typeof F=="string"?document.createTextNode(F):F)}return J}function w(p){var W=O("label",{className:"CodeMirror-search-label"},p.phrase("Search:"),O("input",{type:"text",style:"width: 10em",className:"CodeMirror-search-field",id:"CodeMirror-search-field"}));return W.setAttribute("for","CodeMirror-search-field"),O("",null,W," ",O("span",{style:"color: #666",className:"CodeMirror-search-hint"},p.phrase("(Use /re/ syntax for regexp search)")))}function M(p){return O("",null," ",O("input",{type:"text",style:"width: 10em",className:"CodeMirror-search-field"})," ",O("span",{style:"color: #666",className:"CodeMirror-search-hint"},p.phrase("(Use /re/ syntax for regexp search)")))}function N(p){return O("",null,O("span",{className:"CodeMirror-search-label"},p.phrase("With:"))," ",O("input",{type:"text",style:"width: 10em",className:"CodeMirror-search-field"}))}function z(p){return O("",null,O("span",{className:"CodeMirror-search-label"},p.phrase("Replace?"))," ",O("button",{},p.phrase("Yes"))," ",O("button",{},p.phrase("No"))," ",O("button",{},p.phrase("All"))," ",O("button",{},p.phrase("Stop")))}function X(p,W,J){p.operation(function(){for(var P=Q(p,W);P.findNext();)if(typeof W!="string"){var V=p.getRange(P.from(),P.to()).match(W);P.replace(J.replace(/\$(\d)/g,function(F,G){return V[G]}))}else P.replace(J)})}function q(p,W){if(!p.getOption("readOnly")){var J=p.getSelection()||te(p).lastQuery,P=W?p.phrase("Replace all:"):p.phrase("Replace:"),V=O("",null,O("span",{className:"CodeMirror-search-label"},P),M(p));I(p,V,P,J,function(F){F&&(F=S(F),I(p,N(p),p.phrase("Replace with:"),"",function(G){if(G=ne(G),W)X(p,F,G);else{ue(p);var c=Q(p,F,p.getCursor("from")),T=function(){var g=c.from(),y;!(y=c.findNext())&&(c=Q(p,F),!(y=c.findNext())||g&&c.from().line==g.line&&c.from().ch==g.ch)||(p.setSelection(c.from(),c.to()),p.scrollIntoView({from:c.from(),to:c.to()}),Y(p,z(p),p.phrase("Replace?"),[function(){C(y)},T,function(){X(p,F,G)}]))},C=function(g){c.replace(typeof F=="string"?G:G.replace(/\$(\d)/g,function(y,j){return g[j]})),T()};T()}}))})}}b.commands.find=function(p){ue(p),A(p)},b.commands.findPersistent=function(p){ue(p),A(p,!1,!0)},b.commands.findPersistentNext=function(p){A(p,!1,!0,!0)},b.commands.findPersistentPrev=function(p){A(p,!0,!0,!0)},b.commands.findNext=A,b.commands.findPrev=function(p){A(p,!0)},b.commands.clearSearch=ue,b.commands.replace=q,b.commands.replaceAll=function(p){q(p,!0)}})})()),Wa.exports}uf();Ja();var Ua={exports:{}},Ga;function ff(){return Ga||(Ga=1,(function(ct,xt){(function(b){b(mt(),po())})(function(b){b.defineOption("search",{bottom:!1});function pe(oe,Q,k,I,Y){oe.openDialog?oe.openDialog(Q,Y,{value:I,selectValueOnOpen:!0,bottom:oe.options.search.bottom}):Y(prompt(k,I))}function _(oe){return oe.phrase("Jump to line:")+' <input type="text" style="width: 10em" class="CodeMirror-search-field"/> <span style="color: #888" class="CodeMirror-search-hint">'+oe.phrase("(Use line:column or scroll% syntax)")+"</span>"}function te(oe,Q){var k=Number(Q);return/^[-+]/.test(Q)?oe.getCursor().line+k:k-1}b.commands.jumpToLine=function(oe){var Q=oe.getCursor();pe(oe,_(oe),oe.phrase("Jump to line:"),Q.line+1+":"+Q.ch,function(k){if(k){var I;if(I=/^\s*([\+\-]?\d+)\s*\:\s*(\d+)\s*$/.exec(k))oe.setCursor(te(oe,I[1]),Number(I[2]));else if(I=/^\s*([\+\-]?\d+(\.\d+)?)\%\s*/.exec(k)){var Y=Math.round(oe.lineCount()*Number(I[1])/100);/^[-+]/.test(I[1])&&(Y=Q.line+Y+1),oe.setCursor(Y-1,Q.ch)}else(I=/^\s*\:?\s*([\+\-]?\d+)\s*/.exec(k))&&oe.setCursor(te(oe,I[1]),Q.ch)}})},b.keyMap.default["Alt-G"]="jumpToLine"})})()),Ua.exports}ff();po();export{df as default};
node_modules/playwright-core/lib/vite/recorder/assets/codeMirrorModule-DYBRYzYX.css deleted
-1
@@ -1 +0,0 @@
1 -.CodeMirror{font-family:monospace;height:300px;color:#000;direction:ltr}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid black;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0!important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor .CodeMirror-line::selection,.cm-fat-cursor .CodeMirror-line>span::selection,.cm-fat-cursor .CodeMirror-line>span>span::selection{background:transparent}.cm-fat-cursor .CodeMirror-line::-moz-selection,.cm-fat-cursor .CodeMirror-line>span::-moz-selection,.cm-fat-cursor .CodeMirror-line>span>span::-moz-selection{background:transparent}.cm-fat-cursor{caret-color:transparent}@-moz-keyframes blink{50%{background-color:transparent}}@-webkit-keyframes blink{50%{background-color:transparent}}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;left:0;right:0;top:-50px;bottom:0;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-variable-3,.cm-s-default .cm-type{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-s-default .cm-error,.cm-invalidchar{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:#ff96004d}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:#fff}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-50px;margin-right:-50px;padding-bottom:50px;height:100%;outline:none;position:relative;z-index:0}.CodeMirror-sizer{position:relative;border-right:50px solid transparent}.CodeMirror-vscrollbar,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{position:absolute;z-index:6;display:none;outline:none}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-50px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:none!important;border:none!important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:transparent;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;padding:.1px}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:none}.CodeMirror-scroll,.CodeMirror-sizer,.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber{-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute;pointer-events:none}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}div.CodeMirror-dragcursors,.CodeMirror-focused div.CodeMirror-cursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:#ff06}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:""}span.CodeMirror-selectedtext{background:none}.CodeMirror-dialog{position:absolute;left:0;right:0;background:inherit;z-index:15;padding:.1em .8em;overflow:hidden;color:inherit}.CodeMirror-dialog-top{border-bottom:1px solid #eee;top:0}.CodeMirror-dialog-bottom{border-top:1px solid #eee;bottom:0}.CodeMirror-dialog input{border:none;outline:none;background:transparent;width:20em;color:inherit;font-family:monospace}.CodeMirror-dialog button{font-size:70%}
node_modules/playwright-core/lib/vite/recorder/assets/codicon-DCmgc-ay.ttf
Binary files a/node_modules/playwright-core/lib/vite/recorder/assets/codicon-DCmgc-ay.ttf and /dev/null differ
node_modules/playwright-core/lib/vite/recorder/assets/index-4ZiSSCmn.css deleted
-1
@@ -1 +0,0 @@
1 -:root{color-scheme:light dark}body{--transparent-blue: #2196F355;--light-pink: #ff69b460;--gray: #888888;--sidebar-width: 250px;--box-shadow: rgba(0, 0, 0, .133) 0px 1.6px 3.6px 0px, rgba(0, 0, 0, .11) 0px .3px .9px 0px}html,body{width:100%;height:100%;padding:0;margin:0;overflow:hidden;display:flex;overscroll-behavior-x:none}#root{width:100%;height:100%;display:flex}body,dialog{background-color:var(--vscode-panel-background);color:var(--vscode-foreground);font-family:var(--vscode-font-family);font-weight:var(--vscode-font-weight);font-size:var(--vscode-font-size);-webkit-font-smoothing:antialiased}a{color:var(--vscode-textLink-foreground)}dialog{border:none;padding:0;box-shadow:var(--box-shadow);line-height:28px;max-width:400px}dialog .title{display:flex;align-items:center;margin:0;padding:0 5px;height:32px;background-color:var(--vscode-sideBar-background);max-width:400px}dialog .title .codicon{margin-right:3px}dialog .body{padding:10px;text-align:center}.button{color:var(--vscode-button-foreground);background:var(--vscode-button-background);margin:10px;border:none;height:28px;min-width:40px;cursor:pointer;-webkit-user-select:none;user-select:none}.button:focus{outline:1px solid var(--vscode-focusBorder)}.button:hover{background:var(--vscode-button-hoverBackground)}.button.secondary{color:var(--vscode-button-secondaryForeground);background:var(--vscode-button-secondaryBackground)}.button.secondary:hover{background:var(--vscode-button-secondaryHoverBackground)}*{box-sizing:border-box;min-width:0;min-height:0}*[hidden],.hidden{display:none!important}.invisible{visibility:hidden!important}svg{fill:currentColor}.vbox{display:flex;flex-direction:column;flex:auto;position:relative}.fill{position:absolute;top:0;right:0;bottom:0;left:0}.hbox{display:flex;flex:auto;position:relative}.spacer{flex:auto}.codicon-check{color:var(--vscode-charts-green)}.codicon-error{color:var(--vscode-errorForeground)}.codicon-warning{color:var(--vscode-list-warningForeground)}.codicon-circle-outline{color:var(--vscode-disabledForeground)}input[type=text],input[type=search]{color:var(--vscode-input-foreground);background-color:var(--vscode-input-background);border:none;outline:none}.codicon-loading{animation:spin 1s infinite linear}::placeholder{color:var(--vscode-input-placeholderForeground)}@keyframes spin{to{transform:rotate(360deg)}}@font-face{font-family:codicon;src:url(/assets/codicon-DCmgc-ay.ttf) format("truetype")}.codicon{font: 16px/1 codicon;flex:none;display:inline-block;text-decoration:none;text-rendering:auto;text-align:center;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.codicon-add:before{content:""}.codicon-plus:before{content:""}.codicon-gist-new:before{content:""}.codicon-repo-create:before{content:""}.codicon-lightbulb:before{content:""}.codicon-light-bulb:before{content:""}.codicon-repo:before{content:""}.codicon-repo-delete:before{content:""}.codicon-gist-fork:before{content:""}.codicon-repo-forked:before{content:""}.codicon-git-pull-request:before{content:""}.codicon-git-pull-request-abandoned:before{content:""}.codicon-record-keys:before{content:""}.codicon-keyboard:before{content:""}.codicon-tag:before{content:""}.codicon-git-pull-request-label:before{content:""}.codicon-tag-add:before{content:""}.codicon-tag-remove:before{content:""}.codicon-person:before{content:""}.codicon-person-follow:before{content:""}.codicon-person-outline:before{content:""}.codicon-person-filled:before{content:""}.codicon-git-branch:before{content:""}.codicon-git-branch-create:before{content:""}.codicon-git-branch-delete:before{content:""}.codicon-source-control:before{content:""}.codicon-mirror:before{content:""}.codicon-mirror-public:before{content:""}.codicon-star:before{content:""}.codicon-star-add:before{content:""}.codicon-star-delete:before{content:""}.codicon-star-empty:before{content:""}.codicon-comment:before{content:""}.codicon-comment-add:before{content:""}.codicon-alert:before{content:""}.codicon-warning:before{content:""}.codicon-search:before{content:""}.codicon-search-save:before{content:""}.codicon-log-out:before{content:""}.codicon-sign-out:before{content:""}.codicon-log-in:before{content:""}.codicon-sign-in:before{content:""}.codicon-eye:before{content:""}.codicon-eye-unwatch:before{content:""}.codicon-eye-watch:before{content:""}.codicon-circle-filled:before{content:""}.codicon-primitive-dot:before{content:""}.codicon-close-dirty:before{content:""}.codicon-debug-breakpoint:before{content:""}.codicon-debug-breakpoint-disabled:before{content:""}.codicon-debug-hint:before{content:""}.codicon-terminal-decoration-success:before{content:""}.codicon-primitive-square:before{content:""}.codicon-edit:before{content:""}.codicon-pencil:before{content:""}.codicon-info:before{content:""}.codicon-issue-opened:before{content:""}.codicon-gist-private:before{content:""}.codicon-git-fork-private:before{content:""}.codicon-lock:before{content:""}.codicon-mirror-private:before{content:""}.codicon-close:before{content:""}.codicon-remove-close:before{content:""}.codicon-x:before{content:""}.codicon-repo-sync:before{content:""}.codicon-sync:before{content:""}.codicon-clone:before{content:""}.codicon-desktop-download:before{content:""}.codicon-beaker:before{content:""}.codicon-microscope:before{content:""}.codicon-vm:before{content:""}.codicon-device-desktop:before{content:""}.codicon-file:before{content:""}.codicon-file-text:before{content:""}.codicon-more:before{content:""}.codicon-ellipsis:before{content:""}.codicon-kebab-horizontal:before{content:""}.codicon-mail-reply:before{content:""}.codicon-reply:before{content:""}.codicon-organization:before{content:""}.codicon-organization-filled:before{content:""}.codicon-organization-outline:before{content:""}.codicon-new-file:before{content:""}.codicon-file-add:before{content:""}.codicon-new-folder:before{content:""}.codicon-file-directory-create:before{content:""}.codicon-trash:before{content:""}.codicon-trashcan:before{content:""}.codicon-history:before{content:""}.codicon-clock:before{content:""}.codicon-folder:before{content:""}.codicon-file-directory:before{content:""}.codicon-symbol-folder:before{content:""}.codicon-logo-github:before{content:""}.codicon-mark-github:before{content:""}.codicon-github:before{content:""}.codicon-terminal:before{content:""}.codicon-console:before{content:""}.codicon-repl:before{content:""}.codicon-zap:before{content:""}.codicon-symbol-event:before{content:""}.codicon-error:before{content:""}.codicon-stop:before{content:""}.codicon-variable:before{content:""}.codicon-symbol-variable:before{content:""}.codicon-array:before{content:""}.codicon-symbol-array:before{content:""}.codicon-symbol-module:before{content:""}.codicon-symbol-package:before{content:""}.codicon-symbol-namespace:before{content:""}.codicon-symbol-object:before{content:""}.codicon-symbol-method:before{content:""}.codicon-symbol-function:before{content:""}.codicon-symbol-constructor:before{content:""}.codicon-symbol-boolean:before{content:""}.codicon-symbol-null:before{content:""}.codicon-symbol-numeric:before{content:""}.codicon-symbol-number:before{content:""}.codicon-symbol-structure:before{content:""}.codicon-symbol-struct:before{content:""}.codicon-symbol-parameter:before{content:""}.codicon-symbol-type-parameter:before{content:""}.codicon-symbol-key:before{content:""}.codicon-symbol-text:before{content:""}.codicon-symbol-reference:before{content:""}.codicon-go-to-file:before{content:""}.codicon-symbol-enum:before{content:""}.codicon-symbol-value:before{content:""}.codicon-symbol-ruler:before{content:""}.codicon-symbol-unit:before{content:""}.codicon-activate-breakpoints:before{content:""}.codicon-archive:before{content:""}.codicon-arrow-both:before{content:""}.codicon-arrow-down:before{content:""}.codicon-arrow-left:before{content:""}.codicon-arrow-right:before{content:""}.codicon-arrow-small-down:before{content:""}.codicon-arrow-small-left:before{content:""}.codicon-arrow-small-right:before{content:""}.codicon-arrow-small-up:before{content:""}.codicon-arrow-up:before{content:""}.codicon-bell:before{content:""}.codicon-bold:before{content:""}.codicon-book:before{content:""}.codicon-bookmark:before{content:""}.codicon-debug-breakpoint-conditional-unverified:before{content:""}.codicon-debug-breakpoint-conditional:before{content:""}.codicon-debug-breakpoint-conditional-disabled:before{content:""}.codicon-debug-breakpoint-data-unverified:before{content:""}.codicon-debug-breakpoint-data:before{content:""}.codicon-debug-breakpoint-data-disabled:before{content:""}.codicon-debug-breakpoint-log-unverified:before{content:""}.codicon-debug-breakpoint-log:before{content:""}.codicon-debug-breakpoint-log-disabled:before{content:""}.codicon-briefcase:before{content:""}.codicon-broadcast:before{content:""}.codicon-browser:before{content:""}.codicon-bug:before{content:""}.codicon-calendar:before{content:""}.codicon-case-sensitive:before{content:""}.codicon-check:before{content:""}.codicon-checklist:before{content:""}.codicon-chevron-down:before{content:""}.codicon-chevron-left:before{content:""}.codicon-chevron-right:before{content:""}.codicon-chevron-up:before{content:""}.codicon-chrome-close:before{content:""}.codicon-chrome-maximize:before{content:""}.codicon-chrome-minimize:before{content:""}.codicon-chrome-restore:before{content:""}.codicon-circle-outline:before{content:""}.codicon-circle:before{content:""}.codicon-debug-breakpoint-unverified:before{content:""}.codicon-terminal-decoration-incomplete:before{content:""}.codicon-circle-slash:before{content:""}.codicon-circuit-board:before{content:""}.codicon-clear-all:before{content:""}.codicon-clippy:before{content:""}.codicon-close-all:before{content:""}.codicon-cloud-download:before{content:""}.codicon-cloud-upload:before{content:""}.codicon-code:before{content:""}.codicon-collapse-all:before{content:""}.codicon-color-mode:before{content:""}.codicon-comment-discussion:before{content:""}.codicon-credit-card:before{content:""}.codicon-dash:before{content:""}.codicon-dashboard:before{content:""}.codicon-database:before{content:""}.codicon-debug-continue:before{content:""}.codicon-debug-disconnect:before{content:""}.codicon-debug-pause:before{content:""}.codicon-debug-restart:before{content:""}.codicon-debug-start:before{content:""}.codicon-debug-step-into:before{content:""}.codicon-debug-step-out:before{content:""}.codicon-debug-step-over:before{content:""}.codicon-debug-stop:before{content:""}.codicon-debug:before{content:""}.codicon-device-camera-video:before{content:""}.codicon-device-camera:before{content:""}.codicon-device-mobile:before{content:""}.codicon-diff-added:before{content:""}.codicon-diff-ignored:before{content:""}.codicon-diff-modified:before{content:""}.codicon-diff-removed:before{content:""}.codicon-diff-renamed:before{content:""}.codicon-diff:before{content:""}.codicon-diff-sidebyside:before{content:""}.codicon-discard:before{content:""}.codicon-editor-layout:before{content:""}.codicon-empty-window:before{content:""}.codicon-exclude:before{content:""}.codicon-extensions:before{content:""}.codicon-eye-closed:before{content:""}.codicon-file-binary:before{content:""}.codicon-file-code:before{content:""}.codicon-file-media:before{content:""}.codicon-file-pdf:before{content:""}.codicon-file-submodule:before{content:""}.codicon-file-symlink-directory:before{content:""}.codicon-file-symlink-file:before{content:""}.codicon-file-zip:before{content:""}.codicon-files:before{content:""}.codicon-filter:before{content:""}.codicon-flame:before{content:""}.codicon-fold-down:before{content:""}.codicon-fold-up:before{content:""}.codicon-fold:before{content:""}.codicon-folder-active:before{content:""}.codicon-folder-opened:before{content:""}.codicon-gear:before{content:""}.codicon-gift:before{content:""}.codicon-gist-secret:before{content:""}.codicon-gist:before{content:""}.codicon-git-commit:before{content:""}.codicon-git-compare:before{content:""}.codicon-compare-changes:before{content:""}.codicon-git-merge:before{content:""}.codicon-github-action:before{content:""}.codicon-github-alt:before{content:""}.codicon-globe:before{content:""}.codicon-grabber:before{content:""}.codicon-graph:before{content:""}.codicon-gripper:before{content:""}.codicon-heart:before{content:""}.codicon-home:before{content:""}.codicon-horizontal-rule:before{content:""}.codicon-hubot:before{content:""}.codicon-inbox:before{content:""}.codicon-issue-reopened:before{content:""}.codicon-issues:before{content:""}.codicon-italic:before{content:""}.codicon-jersey:before{content:""}.codicon-json:before{content:""}.codicon-kebab-vertical:before{content:""}.codicon-key:before{content:""}.codicon-law:before{content:""}.codicon-lightbulb-autofix:before{content:""}.codicon-link-external:before{content:""}.codicon-link:before{content:""}.codicon-list-ordered:before{content:""}.codicon-list-unordered:before{content:""}.codicon-live-share:before{content:""}.codicon-loading:before{content:""}.codicon-location:before{content:""}.codicon-mail-read:before{content:""}.codicon-mail:before{content:""}.codicon-markdown:before{content:""}.codicon-megaphone:before{content:""}.codicon-mention:before{content:""}.codicon-milestone:before{content:""}.codicon-git-pull-request-milestone:before{content:""}.codicon-mortar-board:before{content:""}.codicon-move:before{content:""}.codicon-multiple-windows:before{content:""}.codicon-mute:before{content:""}.codicon-no-newline:before{content:""}.codicon-note:before{content:""}.codicon-octoface:before{content:""}.codicon-open-preview:before{content:""}.codicon-package:before{content:""}.codicon-paintcan:before{content:""}.codicon-pin:before{content:""}.codicon-play:before{content:""}.codicon-run:before{content:""}.codicon-plug:before{content:""}.codicon-preserve-case:before{content:""}.codicon-preview:before{content:""}.codicon-project:before{content:""}.codicon-pulse:before{content:""}.codicon-question:before{content:""}.codicon-quote:before{content:""}.codicon-radio-tower:before{content:""}.codicon-reactions:before{content:""}.codicon-references:before{content:""}.codicon-refresh:before{content:""}.codicon-regex:before{content:""}.codicon-remote-explorer:before{content:""}.codicon-remote:before{content:""}.codicon-remove:before{content:""}.codicon-replace-all:before{content:""}.codicon-replace:before{content:""}.codicon-repo-clone:before{content:""}.codicon-repo-force-push:before{content:""}.codicon-repo-pull:before{content:""}.codicon-repo-push:before{content:""}.codicon-report:before{content:""}.codicon-request-changes:before{content:""}.codicon-rocket:before{content:""}.codicon-root-folder-opened:before{content:""}.codicon-root-folder:before{content:""}.codicon-rss:before{content:""}.codicon-ruby:before{content:""}.codicon-save-all:before{content:""}.codicon-save-as:before{content:""}.codicon-save:before{content:""}.codicon-screen-full:before{content:""}.codicon-screen-normal:before{content:""}.codicon-search-stop:before{content:""}.codicon-server:before{content:""}.codicon-settings-gear:before{content:""}.codicon-settings:before{content:""}.codicon-shield:before{content:""}.codicon-smiley:before{content:""}.codicon-sort-precedence:before{content:""}.codicon-split-horizontal:before{content:""}.codicon-split-vertical:before{content:""}.codicon-squirrel:before{content:""}.codicon-star-full:before{content:""}.codicon-star-half:before{content:""}.codicon-symbol-class:before{content:""}.codicon-symbol-color:before{content:""}.codicon-symbol-constant:before{content:""}.codicon-symbol-enum-member:before{content:""}.codicon-symbol-field:before{content:""}.codicon-symbol-file:before{content:""}.codicon-symbol-interface:before{content:""}.codicon-symbol-keyword:before{content:""}.codicon-symbol-misc:before{content:""}.codicon-symbol-operator:before{content:""}.codicon-symbol-property:before{content:""}.codicon-wrench:before{content:""}.codicon-wrench-subaction:before{content:""}.codicon-symbol-snippet:before{content:""}.codicon-tasklist:before{content:""}.codicon-telescope:before{content:""}.codicon-text-size:before{content:""}.codicon-three-bars:before{content:""}.codicon-thumbsdown:before{content:""}.codicon-thumbsup:before{content:""}.codicon-tools:before{content:""}.codicon-triangle-down:before{content:""}.codicon-triangle-left:before{content:""}.codicon-triangle-right:before{content:""}.codicon-triangle-up:before{content:""}.codicon-twitter:before{content:""}.codicon-unfold:before{content:""}.codicon-unlock:before{content:""}.codicon-unmute:before{content:""}.codicon-unverified:before{content:""}.codicon-verified:before{content:""}.codicon-versions:before{content:""}.codicon-vm-active:before{content:""}.codicon-vm-outline:before{content:""}.codicon-vm-running:before{content:""}.codicon-watch:before{content:""}.codicon-whitespace:before{content:""}.codicon-whole-word:before{content:""}.codicon-window:before{content:""}.codicon-word-wrap:before{content:""}.codicon-zoom-in:before{content:""}.codicon-zoom-out:before{content:""}.codicon-list-filter:before{content:""}.codicon-list-flat:before{content:""}.codicon-list-selection:before{content:""}.codicon-selection:before{content:""}.codicon-list-tree:before{content:""}.codicon-debug-breakpoint-function-unverified:before{content:""}.codicon-debug-breakpoint-function:before{content:""}.codicon-debug-breakpoint-function-disabled:before{content:""}.codicon-debug-stackframe-active:before{content:""}.codicon-circle-small-filled:before{content:""}.codicon-debug-stackframe-dot:before{content:""}.codicon-terminal-decoration-mark:before{content:""}.codicon-debug-stackframe:before{content:""}.codicon-debug-stackframe-focused:before{content:""}.codicon-debug-breakpoint-unsupported:before{content:""}.codicon-symbol-string:before{content:""}.codicon-debug-reverse-continue:before{content:""}.codicon-debug-step-back:before{content:""}.codicon-debug-restart-frame:before{content:""}.codicon-debug-alt:before{content:""}.codicon-call-incoming:before{content:""}.codicon-call-outgoing:before{content:""}.codicon-menu:before{content:""}.codicon-expand-all:before{content:""}.codicon-feedback:before{content:""}.codicon-git-pull-request-reviewer:before{content:""}.codicon-group-by-ref-type:before{content:""}.codicon-ungroup-by-ref-type:before{content:""}.codicon-account:before{content:""}.codicon-git-pull-request-assignee:before{content:""}.codicon-bell-dot:before{content:""}.codicon-debug-console:before{content:""}.codicon-library:before{content:""}.codicon-output:before{content:""}.codicon-run-all:before{content:""}.codicon-sync-ignored:before{content:""}.codicon-pinned:before{content:""}.codicon-github-inverted:before{content:""}.codicon-server-process:before{content:""}.codicon-server-environment:before{content:""}.codicon-pass:before{content:""}.codicon-issue-closed:before{content:""}.codicon-stop-circle:before{content:""}.codicon-play-circle:before{content:""}.codicon-record:before{content:""}.codicon-debug-alt-small:before{content:""}.codicon-vm-connect:before{content:""}.codicon-cloud:before{content:""}.codicon-merge:before{content:""}.codicon-export:before{content:""}.codicon-graph-left:before{content:""}.codicon-magnet:before{content:""}.codicon-notebook:before{content:""}.codicon-redo:before{content:""}.codicon-check-all:before{content:""}.codicon-pinned-dirty:before{content:""}.codicon-pass-filled:before{content:""}.codicon-circle-large-filled:before{content:""}.codicon-circle-large:before{content:""}.codicon-circle-large-outline:before{content:""}.codicon-combine:before{content:""}.codicon-gather:before{content:""}.codicon-table:before{content:""}.codicon-variable-group:before{content:""}.codicon-type-hierarchy:before{content:""}.codicon-type-hierarchy-sub:before{content:""}.codicon-type-hierarchy-super:before{content:""}.codicon-git-pull-request-create:before{content:""}.codicon-run-above:before{content:""}.codicon-run-below:before{content:""}.codicon-notebook-template:before{content:""}.codicon-debug-rerun:before{content:""}.codicon-workspace-trusted:before{content:""}.codicon-workspace-untrusted:before{content:""}.codicon-workspace-unknown:before{content:""}.codicon-terminal-cmd:before{content:""}.codicon-terminal-debian:before{content:""}.codicon-terminal-linux:before{content:""}.codicon-terminal-powershell:before{content:""}.codicon-terminal-tmux:before{content:""}.codicon-terminal-ubuntu:before{content:""}.codicon-terminal-bash:before{content:""}.codicon-arrow-swap:before{content:""}.codicon-copy:before{content:""}.codicon-person-add:before{content:""}.codicon-filter-filled:before{content:""}.codicon-wand:before{content:""}.codicon-debug-line-by-line:before{content:""}.codicon-inspect:before{content:""}.codicon-layers:before{content:""}.codicon-layers-dot:before{content:""}.codicon-layers-active:before{content:""}.codicon-compass:before{content:""}.codicon-compass-dot:before{content:""}.codicon-compass-active:before{content:""}.codicon-azure:before{content:""}.codicon-issue-draft:before{content:""}.codicon-git-pull-request-closed:before{content:""}.codicon-git-pull-request-draft:before{content:""}.codicon-debug-all:before{content:""}.codicon-debug-coverage:before{content:""}.codicon-run-errors:before{content:""}.codicon-folder-library:before{content:""}.codicon-debug-continue-small:before{content:""}.codicon-beaker-stop:before{content:""}.codicon-graph-line:before{content:""}.codicon-graph-scatter:before{content:""}.codicon-pie-chart:before{content:""}.codicon-bracket:before{content:""}.codicon-bracket-dot:before{content:""}.codicon-bracket-error:before{content:""}.codicon-lock-small:before{content:""}.codicon-azure-devops:before{content:""}.codicon-verified-filled:before{content:""}.codicon-newline:before{content:""}.codicon-layout:before{content:""}.codicon-layout-activitybar-left:before{content:""}.codicon-layout-activitybar-right:before{content:""}.codicon-layout-panel-left:before{content:""}.codicon-layout-panel-center:before{content:""}.codicon-layout-panel-justify:before{content:""}.codicon-layout-panel-right:before{content:""}.codicon-layout-panel:before{content:""}.codicon-layout-sidebar-left:before{content:""}.codicon-layout-sidebar-right:before{content:""}.codicon-layout-statusbar:before{content:""}.codicon-layout-menubar:before{content:""}.codicon-layout-centered:before{content:""}.codicon-target:before{content:""}.codicon-indent:before{content:""}.codicon-record-small:before{content:""}.codicon-error-small:before{content:""}.codicon-terminal-decoration-error:before{content:""}.codicon-arrow-circle-down:before{content:""}.codicon-arrow-circle-left:before{content:""}.codicon-arrow-circle-right:before{content:""}.codicon-arrow-circle-up:before{content:""}.codicon-layout-sidebar-right-off:before{content:""}.codicon-layout-panel-off:before{content:""}.codicon-layout-sidebar-left-off:before{content:""}.codicon-blank:before{content:""}.codicon-heart-filled:before{content:""}.codicon-map:before{content:""}.codicon-map-horizontal:before{content:""}.codicon-fold-horizontal:before{content:""}.codicon-map-filled:before{content:""}.codicon-map-horizontal-filled:before{content:""}.codicon-fold-horizontal-filled:before{content:""}.codicon-circle-small:before{content:""}.codicon-bell-slash:before{content:""}.codicon-bell-slash-dot:before{content:""}.codicon-comment-unresolved:before{content:""}.codicon-git-pull-request-go-to-changes:before{content:""}.codicon-git-pull-request-new-changes:before{content:""}.codicon-search-fuzzy:before{content:""}.codicon-comment-draft:before{content:""}.codicon-send:before{content:""}.codicon-sparkle:before{content:""}.codicon-insert:before{content:""}.codicon-mic:before{content:""}.codicon-thumbsdown-filled:before{content:""}.codicon-thumbsup-filled:before{content:""}.codicon-coffee:before{content:""}.codicon-snake:before{content:""}.codicon-game:before{content:""}.codicon-vr:before{content:""}.codicon-chip:before{content:""}.codicon-piano:before{content:""}.codicon-music:before{content:""}.codicon-mic-filled:before{content:""}.codicon-repo-fetch:before{content:""}.codicon-copilot:before{content:""}.codicon-lightbulb-sparkle:before{content:""}.codicon-robot:before{content:""}.codicon-sparkle-filled:before{content:""}.codicon-diff-single:before{content:""}.codicon-diff-multiple:before{content:""}.codicon-surround-with:before{content:""}.codicon-share:before{content:""}.codicon-git-stash:before{content:""}.codicon-git-stash-apply:before{content:""}.codicon-git-stash-pop:before{content:""}.codicon-vscode:before{content:""}.codicon-vscode-insiders:before{content:""}.codicon-code-oss:before{content:""}.codicon-run-coverage:before{content:""}.codicon-run-all-coverage:before{content:""}.codicon-coverage:before{content:""}.codicon-github-project:before{content:""}.codicon-map-vertical:before{content:""}.codicon-fold-vertical:before{content:""}.codicon-map-vertical-filled:before{content:""}.codicon-fold-vertical-filled:before{content:""}.codicon-go-to-search:before{content:""}.codicon-percentage:before{content:""}.codicon-sort-percentage:before{content:""}.codicon-attach:before{content:""}.codicon-git-fetch:before{content:""}.cm-wrapper{line-height:18px}.cm-wrapper,.cm-wrapper>div{width:100%;height:100%}.CodeMirror span.cm-meta{color:var(--vscode-editor-foreground)}.CodeMirror span.cm-number{color:var(--vscode-debugTokenExpression-number)}.CodeMirror span.cm-keyword,.CodeMirror span.cm-builtin{color:var(--vscode-debugTokenExpression-name)}.CodeMirror span.cm-operator{color:var(--vscode-editor-foreground)}.CodeMirror span.cm-string,.CodeMirror span.cm-string-2{color:var(--vscode-debugTokenExpression-string)}.CodeMirror span.cm-error{color:var(--vscode-errorForeground)}.CodeMirror span.cm-def,.CodeMirror span.cm-tag{color:#0070c1}.CodeMirror span.cm-comment,.CodeMirror span.cm-link{color:green}.CodeMirror span.cm-variable,.CodeMirror span.cm-variable-2,.CodeMirror span.cm-atom{color:#0070c1}.CodeMirror span.cm-property{color:#795e26}.CodeMirror span.cm-qualifier,.CodeMirror span.cm-attribute{color:#001080}.CodeMirror span.cm-variable-3,.CodeMirror span.cm-type{color:#267f99}:root.dark-mode .CodeMirror span.cm-def,:root.dark-mode .CodeMirror span.cm-tag{color:var(--vscode-debugView-valueChangedHighlight)}:root.dark-mode .CodeMirror span.cm-comment,:root.dark-mode .CodeMirror span.cm-link{color:#6a9955}:root.dark-mode .CodeMirror span.cm-variable,:root.dark-mode .CodeMirror span.cm-variable-2,:root.dark-mode .CodeMirror span.cm-atom{color:#4fc1ff}:root.dark-mode .CodeMirror span.cm-property{color:#dcdcaa}:root.dark-mode .CodeMirror span.cm-qualifier,:root.dark-mode .CodeMirror span.cm-attribute{color:#9cdcfe}:root.dark-mode .CodeMirror span.cm-variable-3,:root.dark-mode .CodeMirror span.cm-type{color:#4ec9b0}.CodeMirror span.cm-bracket{color:var(--vscode-editorBracketHighlight-foreground3)}.CodeMirror-cursor{border-left:1px solid var(--vscode-editor-foreground)!important}.CodeMirror div.CodeMirror-selected{background:var(--vscode-terminal-inactiveSelectionBackground)}.CodeMirror .CodeMirror-gutters{z-index:0;background:1px solid var(--vscode-editorGroup-border);border-right:none}.CodeMirror .CodeMirror-gutter-elt{background-color:var(--vscode-editorGutter-background)}.CodeMirror .CodeMirror-gutterwrapper{border-right:1px solid var(--vscode-editorGroup-border);color:var(--vscode-editorLineNumber-foreground)}.CodeMirror .CodeMirror-matchingbracket{background-color:var(--vscode-editorBracketPairGuide-background1);color:var(--vscode-editorBracketHighlight-foreground1)!important}.CodeMirror{font-family:var(--vscode-editor-font-family)!important;color:var(--vscode-editor-foreground)!important;background-color:var(--vscode-editor-background)!important;font-weight:var(--vscode-editor-font-weight)!important;font-size:var(--vscode-editor-font-size)!important}.CodeMirror .source-line-running{background-color:var(--vscode-editor-selectionBackground);z-index:2}.CodeMirror .source-line-paused{background-color:var(--vscode-editor-selectionHighlightBackground);z-index:2}.CodeMirror .source-line-error-widget{background-color:var(--vscode-inputValidation-errorBackground);white-space:pre-wrap;margin:3px 10px;padding:5px}.CodeMirror span.cm-link,span.cm-linkified{color:var(--vscode-textLink-foreground);text-decoration:underline;cursor:pointer}.CodeMirror .source-line-error-underline{text-decoration:underline;text-decoration-color:var(--vscode-errorForeground);text-decoration-style:wavy}.CodeMirror-placeholder{color:var(--vscode-input-placeholderForeground)!important}.CodeMirror-dialog-top{padding-top:8px!important}.split-view{display:flex;flex:auto;position:relative}.split-view.vertical{flex-direction:column}.split-view.vertical.sidebar-first{flex-direction:column-reverse}.split-view.horizontal{flex-direction:row}.split-view.horizontal.sidebar-first{flex-direction:row-reverse}.split-view-main{display:flex;flex:auto}.split-view-sidebar{display:flex;flex:none}.split-view.vertical:not(.sidebar-first)>.split-view-sidebar{border-top:1px solid var(--vscode-panel-border)}.split-view.horizontal:not(.sidebar-first)>.split-view-sidebar{border-left:1px solid var(--vscode-panel-border)}.split-view.vertical.sidebar-first>.split-view-sidebar{border-bottom:1px solid var(--vscode-panel-border)}.split-view.horizontal.sidebar-first>.split-view-sidebar{border-right:1px solid var(--vscode-panel-border)}.split-view-resizer{position:absolute;z-index:100}.split-view.vertical>.split-view-resizer{left:0;right:0;height:12px;cursor:ns-resize}.split-view.horizontal>.split-view-resizer{top:0;bottom:0;width:12px;cursor:ew-resize}.tabbed-pane{display:flex;flex:auto;overflow:hidden}.tabbed-pane .toolbar{background-color:var(--vscode-sideBar-background)}.tabbed-pane .tab-content{display:flex;flex:auto;overflow:hidden;position:relative;flex-direction:column}.tabbed-pane-tab{padding:2px 6px 0;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;border-bottom:2px solid transparent;outline:none;height:100%}.tabbed-pane-tab-label{max-width:250px;white-space:pre;overflow:hidden;text-overflow:ellipsis;display:inline-block}.tabbed-pane-tab.selected{background-color:var(--vscode-tab-activeBackground)}.tabbed-pane-tab-counter{padding:0 4px;background:var(--vscode-menu-separatorBackground);border-radius:8px;height:16px;margin-left:4px;line-height:16px;min-width:18px;display:flex;align-items:center;justify-content:center}.tabbed-pane-tab-counter.error{background:var(--vscode-list-errorForeground);color:var(--vscode-button-foreground)}.toolbar{position:relative;display:flex;color:var(--vscode-sideBarTitle-foreground);min-height:30px;align-items:center;flex:none;padding-right:4px}.toolbar.toolbar-sidebar-background{background-color:var(--vscode-sideBar-background)}.toolbar:not(.no-shadow):after{content:"";display:block;position:absolute;pointer-events:none;top:0;bottom:0;left:-2px;right:-2px;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px;z-index:100}.toolbar.no-min-height{min-height:0}.toolbar input{padding:0 5px;line-height:24px;outline:none;margin:0 4px}.toolbar select{background:none;outline:none;padding:3px;margin:2px}.toolbar option{background-color:var(--vscode-tab-activeBackground)}.toolbar input,.toolbar select{border:none;color:var(--vscode-input-foreground);background-color:var(--vscode-input-background)}:root{--vscode-font-family: system-ui, "Ubuntu", "Droid Sans", sans-serif;--vscode-font-weight: normal;--vscode-font-size: 13px;--vscode-editor-font-family: "Droid Sans Mono", "monospace", monospace;--vscode-editor-font-weight: normal;--vscode-editor-font-size: 14px;--vscode-foreground: #616161;--vscode-disabledForeground: rgba(97, 97, 97, .5);--vscode-errorForeground: #a1260d;--vscode-descriptionForeground: #717171;--vscode-icon-foreground: #424242;--vscode-focusBorder: #0090f1;--vscode-textSeparator-foreground: rgba(0, 0, 0, .18);--vscode-textLink-foreground: #006ab1;--vscode-textLink-activeForeground: #006ab1;--vscode-textPreformat-foreground: #a31515;--vscode-textBlockQuote-background: rgba(127, 127, 127, .1);--vscode-textBlockQuote-border: rgba(0, 122, 204, .5);--vscode-textCodeBlock-background: rgba(220, 220, 220, .4);--vscode-widget-shadow: rgba(0, 0, 0, .16);--vscode-input-background: #ffffff;--vscode-input-foreground: #616161;--vscode-inputOption-activeBorder: #007acc;--vscode-inputOption-hoverBackground: rgba(184, 184, 184, .31);--vscode-inputOption-activeBackground: rgba(0, 144, 241, .2);--vscode-inputOption-activeForeground: #000000;--vscode-input-placeholderForeground: #767676;--vscode-inputValidation-infoBackground: #d6ecf2;--vscode-inputValidation-infoBorder: #007acc;--vscode-inputValidation-warningBackground: #f6f5d2;--vscode-inputValidation-warningBorder: #b89500;--vscode-inputValidation-errorBackground: #f2dede;--vscode-inputValidation-errorBorder: #be1100;--vscode-dropdown-background: #ffffff;--vscode-dropdown-border: #cecece;--vscode-checkbox-background: #ffffff;--vscode-checkbox-border: #cecece;--vscode-button-foreground: #ffffff;--vscode-button-separator: rgba(255, 255, 255, .4);--vscode-button-background: #007acc;--vscode-button-hoverBackground: #0062a3;--vscode-button-secondaryForeground: #ffffff;--vscode-button-secondaryBackground: #5f6a79;--vscode-button-secondaryHoverBackground: #4c5561;--vscode-badge-background: #c4c4c4;--vscode-badge-foreground: #333333;--vscode-scrollbar-shadow: #dddddd;--vscode-scrollbarSlider-background: rgba(100, 100, 100, .4);--vscode-scrollbarSlider-hoverBackground: rgba(100, 100, 100, .7);--vscode-scrollbarSlider-activeBackground: rgba(0, 0, 0, .6);--vscode-progressBar-background: #0e70c0;--vscode-editorError-foreground: #e51400;--vscode-editorWarning-foreground: #bf8803;--vscode-editorInfo-foreground: #1a85ff;--vscode-editorHint-foreground: #6c6c6c;--vscode-sash-hoverBorder: #0090f1;--vscode-editor-background: #ffffff;--vscode-editor-foreground: #000000;--vscode-editorStickyScroll-background: #ffffff;--vscode-editorStickyScrollHover-background: #f0f0f0;--vscode-editorWidget-background: #f3f3f3;--vscode-editorWidget-foreground: #616161;--vscode-editorWidget-border: #c8c8c8;--vscode-quickInput-background: #f3f3f3;--vscode-quickInput-foreground: #616161;--vscode-quickInputTitle-background: rgba(0, 0, 0, .06);--vscode-pickerGroup-foreground: #0066bf;--vscode-pickerGroup-border: #cccedb;--vscode-keybindingLabel-background: rgba(221, 221, 221, .4);--vscode-keybindingLabel-foreground: #555555;--vscode-keybindingLabel-border: rgba(204, 204, 204, .4);--vscode-keybindingLabel-bottomBorder: rgba(187, 187, 187, .4);--vscode-editor-selectionBackground: #add6ff;--vscode-editor-inactiveSelectionBackground: #e5ebf1;--vscode-editor-selectionHighlightBackground: rgba(173, 214, 255, .5);--vscode-editor-findMatchBackground: #a8ac94;--vscode-editor-findMatchHighlightBackground: rgba(234, 92, 0, .33);--vscode-editor-findRangeHighlightBackground: rgba(180, 180, 180, .3);--vscode-searchEditor-findMatchBackground: rgba(234, 92, 0, .22);--vscode-editor-hoverHighlightBackground: rgba(173, 214, 255, .15);--vscode-editorHoverWidget-background: #f3f3f3;--vscode-editorHoverWidget-foreground: #616161;--vscode-editorHoverWidget-border: #c8c8c8;--vscode-editorHoverWidget-statusBarBackground: #e7e7e7;--vscode-editorLink-activeForeground: #0000ff;--vscode-editorInlayHint-foreground: rgba(51, 51, 51, .8);--vscode-editorInlayHint-background: rgba(196, 196, 196, .3);--vscode-editorInlayHint-typeForeground: rgba(51, 51, 51, .8);--vscode-editorInlayHint-typeBackground: rgba(196, 196, 196, .3);--vscode-editorInlayHint-parameterForeground: rgba(51, 51, 51, .8);--vscode-editorInlayHint-parameterBackground: rgba(196, 196, 196, .3);--vscode-editorLightBulb-foreground: #ddb100;--vscode-editorLightBulbAutoFix-foreground: #007acc;--vscode-diffEditor-insertedTextBackground: rgba(156, 204, 44, .4);--vscode-diffEditor-removedTextBackground: rgba(255, 0, 0, .3);--vscode-diffEditor-insertedLineBackground: rgba(155, 185, 85, .2);--vscode-diffEditor-removedLineBackground: rgba(255, 0, 0, .2);--vscode-diffEditor-diagonalFill: rgba(34, 34, 34, .2);--vscode-list-focusOutline: #0090f1;--vscode-list-focusAndSelectionOutline: #90c2f9;--vscode-list-activeSelectionBackground: #0060c0;--vscode-list-activeSelectionForeground: #ffffff;--vscode-list-activeSelectionIconForeground: #ffffff;--vscode-list-inactiveSelectionBackground: #e4e6f1;--vscode-list-hoverBackground: #e8e8e8;--vscode-list-dropBackground: #d6ebff;--vscode-list-highlightForeground: #0066bf;--vscode-list-focusHighlightForeground: #bbe7ff;--vscode-list-invalidItemForeground: #b89500;--vscode-list-errorForeground: #b01011;--vscode-list-warningForeground: #855f00;--vscode-listFilterWidget-background: #f3f3f3;--vscode-listFilterWidget-outline: rgba(0, 0, 0, 0);--vscode-listFilterWidget-noMatchesOutline: #be1100;--vscode-listFilterWidget-shadow: rgba(0, 0, 0, .16);--vscode-list-filterMatchBackground: rgba(234, 92, 0, .33);--vscode-tree-indentGuidesStroke: #a9a9a9;--vscode-tree-tableColumnsBorder: rgba(97, 97, 97, .13);--vscode-tree-tableOddRowsBackground: rgba(97, 97, 97, .04);--vscode-list-deemphasizedForeground: #8e8e90;--vscode-quickInputList-focusForeground: #ffffff;--vscode-quickInputList-focusIconForeground: #ffffff;--vscode-quickInputList-focusBackground: #0060c0;--vscode-menu-foreground: #616161;--vscode-menu-background: #ffffff;--vscode-menu-selectionForeground: #ffffff;--vscode-menu-selectionBackground: #0060c0;--vscode-menu-separatorBackground: #d4d4d4;--vscode-toolbar-hoverBackground: rgba(184, 184, 184, .31);--vscode-toolbar-activeBackground: rgba(166, 166, 166, .31);--vscode-editor-snippetTabstopHighlightBackground: rgba(10, 50, 100, .2);--vscode-editor-snippetFinalTabstopHighlightBorder: rgba(10, 50, 100, .5);--vscode-breadcrumb-foreground: rgba(97, 97, 97, .8);--vscode-breadcrumb-background: #ffffff;--vscode-breadcrumb-focusForeground: #4e4e4e;--vscode-breadcrumb-activeSelectionForeground: #4e4e4e;--vscode-breadcrumbPicker-background: #f3f3f3;--vscode-merge-currentHeaderBackground: rgba(64, 200, 174, .5);--vscode-merge-currentContentBackground: rgba(64, 200, 174, .2);--vscode-merge-incomingHeaderBackground: rgba(64, 166, 255, .5);--vscode-merge-incomingContentBackground: rgba(64, 166, 255, .2);--vscode-merge-commonHeaderBackground: rgba(96, 96, 96, .4);--vscode-merge-commonContentBackground: rgba(96, 96, 96, .16);--vscode-editorOverviewRuler-currentContentForeground: rgba(64, 200, 174, .5);--vscode-editorOverviewRuler-incomingContentForeground: rgba(64, 166, 255, .5);--vscode-editorOverviewRuler-commonContentForeground: rgba(96, 96, 96, .4);--vscode-editorOverviewRuler-findMatchForeground: rgba(209, 134, 22, .49);--vscode-editorOverviewRuler-selectionHighlightForeground: rgba(160, 160, 160, .8);--vscode-minimap-findMatchHighlight: #d18616;--vscode-minimap-selectionOccurrenceHighlight: #c9c9c9;--vscode-minimap-selectionHighlight: #add6ff;--vscode-minimap-errorHighlight: rgba(255, 18, 18, .7);--vscode-minimap-warningHighlight: #bf8803;--vscode-minimap-foregroundOpacity: #000000;--vscode-minimapSlider-background: rgba(100, 100, 100, .2);--vscode-minimapSlider-hoverBackground: rgba(100, 100, 100, .35);--vscode-minimapSlider-activeBackground: rgba(0, 0, 0, .3);--vscode-problemsErrorIcon-foreground: #e51400;--vscode-problemsWarningIcon-foreground: #bf8803;--vscode-problemsInfoIcon-foreground: #1a85ff;--vscode-charts-foreground: #616161;--vscode-charts-lines: rgba(97, 97, 97, .5);--vscode-charts-red: #e51400;--vscode-charts-blue: #1a85ff;--vscode-charts-yellow: #bf8803;--vscode-charts-orange: #d18616;--vscode-charts-green: #388a34;--vscode-charts-purple: #652d90;--vscode-editor-lineHighlightBorder: #eeeeee;--vscode-editor-rangeHighlightBackground: rgba(253, 255, 0, .2);--vscode-editor-symbolHighlightBackground: rgba(234, 92, 0, .33);--vscode-editorCursor-foreground: #000000;--vscode-editorWhitespace-foreground: rgba(51, 51, 51, .2);--vscode-editorIndentGuide-background: #d3d3d3;--vscode-editorIndentGuide-activeBackground: #939393;--vscode-editorLineNumber-foreground: #237893;--vscode-editorActiveLineNumber-foreground: #0b216f;--vscode-editorLineNumber-activeForeground: #0b216f;--vscode-editorRuler-foreground: #d3d3d3;--vscode-editorCodeLens-foreground: #919191;--vscode-editorBracketMatch-background: rgba(0, 100, 0, .1);--vscode-editorBracketMatch-border: #b9b9b9;--vscode-editorOverviewRuler-border: rgba(127, 127, 127, .3);--vscode-editorGutter-background: #ffffff;--vscode-editorUnnecessaryCode-opacity: rgba(0, 0, 0, .47);--vscode-editorGhostText-foreground: rgba(0, 0, 0, .47);--vscode-editorOverviewRuler-rangeHighlightForeground: rgba(0, 122, 204, .6);--vscode-editorOverviewRuler-errorForeground: rgba(255, 18, 18, .7);--vscode-editorOverviewRuler-warningForeground: #bf8803;--vscode-editorOverviewRuler-infoForeground: #1a85ff;--vscode-editorBracketHighlight-foreground1: #0431fa;--vscode-editorBracketHighlight-foreground2: #319331;--vscode-editorBracketHighlight-foreground3: #7b3814;--vscode-editorBracketHighlight-foreground4: rgba(0, 0, 0, 0);--vscode-editorBracketHighlight-foreground5: rgba(0, 0, 0, 0);--vscode-editorBracketHighlight-foreground6: rgba(0, 0, 0, 0);--vscode-editorBracketHighlight-unexpectedBracket\.foreground: rgba(255, 18, 18, .8);--vscode-editorBracketPairGuide-background1: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background2: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background3: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background4: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background5: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background6: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground1: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground2: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground3: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground4: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground5: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground6: rgba(0, 0, 0, 0);--vscode-editorUnicodeHighlight-border: #cea33d;--vscode-editorUnicodeHighlight-background: rgba(206, 163, 61, .08);--vscode-symbolIcon-arrayForeground: #616161;--vscode-symbolIcon-booleanForeground: #616161;--vscode-symbolIcon-classForeground: #d67e00;--vscode-symbolIcon-colorForeground: #616161;--vscode-symbolIcon-constantForeground: #616161;--vscode-symbolIcon-constructorForeground: #652d90;--vscode-symbolIcon-enumeratorForeground: #d67e00;--vscode-symbolIcon-enumeratorMemberForeground: #007acc;--vscode-symbolIcon-eventForeground: #d67e00;--vscode-symbolIcon-fieldForeground: #007acc;--vscode-symbolIcon-fileForeground: #616161;--vscode-symbolIcon-folderForeground: #616161;--vscode-symbolIcon-functionForeground: #652d90;--vscode-symbolIcon-interfaceForeground: #007acc;--vscode-symbolIcon-keyForeground: #616161;--vscode-symbolIcon-keywordForeground: #616161;--vscode-symbolIcon-methodForeground: #652d90;--vscode-symbolIcon-moduleForeground: #616161;--vscode-symbolIcon-namespaceForeground: #616161;--vscode-symbolIcon-nullForeground: #616161;--vscode-symbolIcon-numberForeground: #616161;--vscode-symbolIcon-objectForeground: #616161;--vscode-symbolIcon-operatorForeground: #616161;--vscode-symbolIcon-packageForeground: #616161;--vscode-symbolIcon-propertyForeground: #616161;--vscode-symbolIcon-referenceForeground: #616161;--vscode-symbolIcon-snippetForeground: #616161;--vscode-symbolIcon-stringForeground: #616161;--vscode-symbolIcon-structForeground: #616161;--vscode-symbolIcon-textForeground: #616161;--vscode-symbolIcon-typeParameterForeground: #616161;--vscode-symbolIcon-unitForeground: #616161;--vscode-symbolIcon-variableForeground: #007acc;--vscode-editorHoverWidget-highlightForeground: #0066bf;--vscode-editorOverviewRuler-bracketMatchForeground: #a0a0a0;--vscode-editor-foldBackground: rgba(173, 214, 255, .3);--vscode-editorGutter-foldingControlForeground: #424242;--vscode-editor-linkedEditingBackground: rgba(255, 0, 0, .3);--vscode-editor-wordHighlightBackground: rgba(87, 87, 87, .25);--vscode-editor-wordHighlightStrongBackground: rgba(14, 99, 156, .25);--vscode-editorOverviewRuler-wordHighlightForeground: rgba(160, 160, 160, .8);--vscode-editorOverviewRuler-wordHighlightStrongForeground: rgba(192, 160, 192, .8);--vscode-peekViewTitle-background: rgba(26, 133, 255, .1);--vscode-peekViewTitleLabel-foreground: #000000;--vscode-peekViewTitleDescription-foreground: #616161;--vscode-peekView-border: #1a85ff;--vscode-peekViewResult-background: #f3f3f3;--vscode-peekViewResult-lineForeground: #646465;--vscode-peekViewResult-fileForeground: #1e1e1e;--vscode-peekViewResult-selectionBackground: rgba(51, 153, 255, .2);--vscode-peekViewResult-selectionForeground: #6c6c6c;--vscode-peekViewEditor-background: #f2f8fc;--vscode-peekViewEditorGutter-background: #f2f8fc;--vscode-peekViewResult-matchHighlightBackground: rgba(234, 92, 0, .3);--vscode-peekViewEditor-matchHighlightBackground: rgba(245, 216, 2, .87);--vscode-editorMarkerNavigationError-background: #e51400;--vscode-editorMarkerNavigationError-headerBackground: rgba(229, 20, 0, .1);--vscode-editorMarkerNavigationWarning-background: #bf8803;--vscode-editorMarkerNavigationWarning-headerBackground: rgba(191, 136, 3, .1);--vscode-editorMarkerNavigationInfo-background: #1a85ff;--vscode-editorMarkerNavigationInfo-headerBackground: rgba(26, 133, 255, .1);--vscode-editorMarkerNavigation-background: #ffffff;--vscode-editorSuggestWidget-background: #f3f3f3;--vscode-editorSuggestWidget-border: #c8c8c8;--vscode-editorSuggestWidget-foreground: #000000;--vscode-editorSuggestWidget-selectedForeground: #ffffff;--vscode-editorSuggestWidget-selectedIconForeground: #ffffff;--vscode-editorSuggestWidget-selectedBackground: #0060c0;--vscode-editorSuggestWidget-highlightForeground: #0066bf;--vscode-editorSuggestWidget-focusHighlightForeground: #bbe7ff;--vscode-editorSuggestWidgetStatus-foreground: rgba(0, 0, 0, .5);--vscode-tab-activeBackground: #ffffff;--vscode-tab-unfocusedActiveBackground: #ffffff;--vscode-tab-inactiveBackground: #ececec;--vscode-tab-unfocusedInactiveBackground: #ececec;--vscode-tab-activeForeground: #333333;--vscode-tab-inactiveForeground: rgba(51, 51, 51, .7);--vscode-tab-unfocusedActiveForeground: rgba(51, 51, 51, .7);--vscode-tab-unfocusedInactiveForeground: rgba(51, 51, 51, .35);--vscode-tab-border: #f3f3f3;--vscode-tab-lastPinnedBorder: rgba(97, 97, 97, .19);--vscode-tab-activeModifiedBorder: #33aaee;--vscode-tab-inactiveModifiedBorder: rgba(51, 170, 238, .5);--vscode-tab-unfocusedActiveModifiedBorder: rgba(51, 170, 238, .7);--vscode-tab-unfocusedInactiveModifiedBorder: rgba(51, 170, 238, .25);--vscode-editorPane-background: #ffffff;--vscode-editorGroupHeader-tabsBackground: #f3f3f3;--vscode-editorGroupHeader-noTabsBackground: #ffffff;--vscode-editorGroup-border: #e7e7e7;--vscode-editorGroup-dropBackground: rgba(38, 119, 203, .18);--vscode-editorGroup-dropIntoPromptForeground: #616161;--vscode-editorGroup-dropIntoPromptBackground: #f3f3f3;--vscode-sideBySideEditor-horizontalBorder: #e7e7e7;--vscode-sideBySideEditor-verticalBorder: #e7e7e7;--vscode-panel-background: #ffffff;--vscode-panel-border: rgba(128, 128, 128, .35);--vscode-panelTitle-activeForeground: #424242;--vscode-panelTitle-inactiveForeground: rgba(66, 66, 66, .75);--vscode-panelTitle-activeBorder: #424242;--vscode-panelInput-border: #dddddd;--vscode-panel-dropBorder: #424242;--vscode-panelSection-dropBackground: rgba(38, 119, 203, .18);--vscode-panelSectionHeader-background: rgba(128, 128, 128, .2);--vscode-panelSection-border: rgba(128, 128, 128, .35);--vscode-banner-background: #004386;--vscode-banner-foreground: #ffffff;--vscode-banner-iconForeground: #1a85ff;--vscode-statusBar-foreground: #ffffff;--vscode-statusBar-noFolderForeground: #ffffff;--vscode-statusBar-background: #007acc;--vscode-statusBar-noFolderBackground: #68217a;--vscode-statusBar-focusBorder: #ffffff;--vscode-statusBarItem-activeBackground: rgba(255, 255, 255, .18);--vscode-statusBarItem-focusBorder: #ffffff;--vscode-statusBarItem-hoverBackground: rgba(255, 255, 255, .12);--vscode-statusBarItem-compactHoverBackground: rgba(255, 255, 255, .2);--vscode-statusBarItem-prominentForeground: #ffffff;--vscode-statusBarItem-prominentBackground: rgba(0, 0, 0, .5);--vscode-statusBarItem-prominentHoverBackground: rgba(0, 0, 0, .3);--vscode-statusBarItem-errorBackground: #c72e0f;--vscode-statusBarItem-errorForeground: #ffffff;--vscode-statusBarItem-warningBackground: #725102;--vscode-statusBarItem-warningForeground: #ffffff;--vscode-activityBar-background: #2c2c2c;--vscode-activityBar-foreground: #ffffff;--vscode-activityBar-inactiveForeground: rgba(255, 255, 255, .4);--vscode-activityBar-activeBorder: #ffffff;--vscode-activityBar-dropBorder: #ffffff;--vscode-activityBarBadge-background: #007acc;--vscode-activityBarBadge-foreground: #ffffff;--vscode-statusBarItem-remoteBackground: #16825d;--vscode-statusBarItem-remoteForeground: #ffffff;--vscode-extensionBadge-remoteBackground: #007acc;--vscode-extensionBadge-remoteForeground: #ffffff;--vscode-sideBar-background: #f3f3f3;--vscode-sideBarTitle-foreground: #6f6f6f;--vscode-sideBar-dropBackground: rgba(38, 119, 203, .18);--vscode-sideBarSectionHeader-background: rgba(0, 0, 0, 0);--vscode-sideBarSectionHeader-border: rgba(97, 97, 97, .19);--vscode-titleBar-activeForeground: #333333;--vscode-titleBar-inactiveForeground: rgba(51, 51, 51, .6);--vscode-titleBar-activeBackground: #dddddd;--vscode-titleBar-inactiveBackground: rgba(221, 221, 221, .6);--vscode-menubar-selectionForeground: #333333;--vscode-menubar-selectionBackground: rgba(184, 184, 184, .31);--vscode-notifications-foreground: #616161;--vscode-notifications-background: #f3f3f3;--vscode-notificationLink-foreground: #006ab1;--vscode-notificationCenterHeader-background: #e7e7e7;--vscode-notifications-border: #e7e7e7;--vscode-notificationsErrorIcon-foreground: #e51400;--vscode-notificationsWarningIcon-foreground: #bf8803;--vscode-notificationsInfoIcon-foreground: #1a85ff;--vscode-commandCenter-foreground: #333333;--vscode-commandCenter-activeForeground: #333333;--vscode-commandCenter-activeBackground: rgba(184, 184, 184, .31);--vscode-commandCenter-border: rgba(128, 128, 128, .35);--vscode-editorCommentsWidget-resolvedBorder: rgba(97, 97, 97, .5);--vscode-editorCommentsWidget-unresolvedBorder: #1a85ff;--vscode-editorCommentsWidget-rangeBackground: rgba(26, 133, 255, .1);--vscode-editorCommentsWidget-rangeBorder: rgba(26, 133, 255, .4);--vscode-editorCommentsWidget-rangeActiveBackground: rgba(26, 133, 255, .1);--vscode-editorCommentsWidget-rangeActiveBorder: rgba(26, 133, 255, .4);--vscode-editorGutter-commentRangeForeground: #d5d8e9;--vscode-debugToolBar-background: #f3f3f3;--vscode-debugIcon-startForeground: #388a34;--vscode-editor-stackFrameHighlightBackground: rgba(255, 255, 102, .45);--vscode-editor-focusedStackFrameHighlightBackground: rgba(206, 231, 206, .45);--vscode-mergeEditor-change\.background: rgba(155, 185, 85, .2);--vscode-mergeEditor-change\.word\.background: rgba(156, 204, 44, .4);--vscode-mergeEditor-conflict\.unhandledUnfocused\.border: rgba(255, 166, 0, .48);--vscode-mergeEditor-conflict\.unhandledFocused\.border: #ffa600;--vscode-mergeEditor-conflict\.handledUnfocused\.border: rgba(134, 134, 134, .29);--vscode-mergeEditor-conflict\.handledFocused\.border: rgba(193, 193, 193, .8);--vscode-mergeEditor-conflict\.handled\.minimapOverViewRuler: rgba(173, 172, 168, .93);--vscode-mergeEditor-conflict\.unhandled\.minimapOverViewRuler: #fcba03;--vscode-mergeEditor-conflictingLines\.background: rgba(255, 234, 0, .28);--vscode-settings-headerForeground: #444444;--vscode-settings-modifiedItemIndicator: #66afe0;--vscode-settings-headerBorder: rgba(128, 128, 128, .35);--vscode-settings-sashBorder: rgba(128, 128, 128, .35);--vscode-settings-dropdownBackground: #ffffff;--vscode-settings-dropdownBorder: #cecece;--vscode-settings-dropdownListBorder: #c8c8c8;--vscode-settings-checkboxBackground: #ffffff;--vscode-settings-checkboxBorder: #cecece;--vscode-settings-textInputBackground: #ffffff;--vscode-settings-textInputForeground: #616161;--vscode-settings-textInputBorder: #cecece;--vscode-settings-numberInputBackground: #ffffff;--vscode-settings-numberInputForeground: #616161;--vscode-settings-numberInputBorder: #cecece;--vscode-settings-focusedRowBackground: rgba(232, 232, 232, .6);--vscode-settings-rowHoverBackground: rgba(232, 232, 232, .3);--vscode-settings-focusedRowBorder: rgba(0, 0, 0, .12);--vscode-terminal-foreground: #333333;--vscode-terminal-selectionBackground: #add6ff;--vscode-terminal-inactiveSelectionBackground: #e5ebf1;--vscode-terminalCommandDecoration-defaultBackground: rgba(0, 0, 0, .25);--vscode-terminalCommandDecoration-successBackground: #2090d3;--vscode-terminalCommandDecoration-errorBackground: #e51400;--vscode-terminalOverviewRuler-cursorForeground: rgba(160, 160, 160, .8);--vscode-terminal-border: rgba(128, 128, 128, .35);--vscode-terminal-findMatchBackground: #a8ac94;--vscode-terminal-findMatchHighlightBackground: rgba(234, 92, 0, .33);--vscode-terminalOverviewRuler-findMatchForeground: rgba(209, 134, 22, .49);--vscode-terminal-dropBackground: rgba(38, 119, 203, .18);--vscode-testing-iconFailed: #f14c4c;--vscode-testing-iconErrored: #f14c4c;--vscode-testing-iconPassed: #73c991;--vscode-testing-runAction: #73c991;--vscode-testing-iconQueued: #cca700;--vscode-testing-iconUnset: #848484;--vscode-testing-iconSkipped: #848484;--vscode-testing-peekBorder: #e51400;--vscode-testing-peekHeaderBackground: rgba(229, 20, 0, .1);--vscode-testing-message\.error\.decorationForeground: #e51400;--vscode-testing-message\.error\.lineBackground: rgba(255, 0, 0, .2);--vscode-testing-message\.info\.decorationForeground: rgba(0, 0, 0, .5);--vscode-welcomePage-tileBackground: #f3f3f3;--vscode-welcomePage-tileHoverBackground: #dbdbdb;--vscode-welcomePage-tileShadow: rgba(0, 0, 0, .16);--vscode-welcomePage-progress\.background: #ffffff;--vscode-welcomePage-progress\.foreground: #006ab1;--vscode-debugExceptionWidget-border: #a31515;--vscode-debugExceptionWidget-background: #f1dfde;--vscode-ports-iconRunningProcessForeground: #369432;--vscode-statusBar-debuggingBackground: #cc6633;--vscode-statusBar-debuggingForeground: #ffffff;--vscode-editor-inlineValuesForeground: rgba(0, 0, 0, .5);--vscode-editor-inlineValuesBackground: rgba(255, 200, 0, .2);--vscode-editorGutter-modifiedBackground: #2090d3;--vscode-editorGutter-addedBackground: #48985d;--vscode-editorGutter-deletedBackground: #e51400;--vscode-minimapGutter-modifiedBackground: #2090d3;--vscode-minimapGutter-addedBackground: #48985d;--vscode-minimapGutter-deletedBackground: #e51400;--vscode-editorOverviewRuler-modifiedForeground: rgba(32, 144, 211, .6);--vscode-editorOverviewRuler-addedForeground: rgba(72, 152, 93, .6);--vscode-editorOverviewRuler-deletedForeground: rgba(229, 20, 0, .6);--vscode-debugIcon-breakpointForeground: #e51400;--vscode-debugIcon-breakpointDisabledForeground: #848484;--vscode-debugIcon-breakpointUnverifiedForeground: #848484;--vscode-debugIcon-breakpointCurrentStackframeForeground: #be8700;--vscode-debugIcon-breakpointStackframeForeground: #89d185;--vscode-notebook-cellBorderColor: #e8e8e8;--vscode-notebook-focusedEditorBorder: #0090f1;--vscode-notebookStatusSuccessIcon-foreground: #388a34;--vscode-notebookStatusErrorIcon-foreground: #a1260d;--vscode-notebookStatusRunningIcon-foreground: #616161;--vscode-notebook-cellToolbarSeparator: rgba(128, 128, 128, .35);--vscode-notebook-selectedCellBackground: rgba(200, 221, 241, .31);--vscode-notebook-selectedCellBorder: #e8e8e8;--vscode-notebook-focusedCellBorder: #0090f1;--vscode-notebook-inactiveFocusedCellBorder: #e8e8e8;--vscode-notebook-cellStatusBarItemHoverBackground: rgba(0, 0, 0, .08);--vscode-notebook-cellInsertionIndicator: #0090f1;--vscode-notebookScrollbarSlider-background: rgba(100, 100, 100, .4);--vscode-notebookScrollbarSlider-hoverBackground: rgba(100, 100, 100, .7);--vscode-notebookScrollbarSlider-activeBackground: rgba(0, 0, 0, .6);--vscode-notebook-symbolHighlightBackground: rgba(253, 255, 0, .2);--vscode-notebook-cellEditorBackground: #f3f3f3;--vscode-notebook-editorBackground: #ffffff;--vscode-keybindingTable-headerBackground: rgba(97, 97, 97, .04);--vscode-keybindingTable-rowsBackground: rgba(97, 97, 97, .04);--vscode-scm-providerBorder: #c8c8c8;--vscode-searchEditor-textInputBorder: #cecece;--vscode-debugTokenExpression-name: #9b46b0;--vscode-debugTokenExpression-value: rgba(108, 108, 108, .8);--vscode-debugTokenExpression-string: #a31515;--vscode-debugTokenExpression-boolean: #0000ff;--vscode-debugTokenExpression-number: #098658;--vscode-debugTokenExpression-error: #e51400;--vscode-debugView-exceptionLabelForeground: #ffffff;--vscode-debugView-exceptionLabelBackground: #a31515;--vscode-debugView-stateLabelForeground: #616161;--vscode-debugView-stateLabelBackground: rgba(136, 136, 136, .27);--vscode-debugView-valueChangedHighlight: #569cd6;--vscode-debugConsole-infoForeground: #1a85ff;--vscode-debugConsole-warningForeground: #bf8803;--vscode-debugConsole-errorForeground: #a1260d;--vscode-debugConsole-sourceForeground: #616161;--vscode-debugConsoleInputIcon-foreground: #616161;--vscode-debugIcon-pauseForeground: #007acc;--vscode-debugIcon-stopForeground: #a1260d;--vscode-debugIcon-disconnectForeground: #a1260d;--vscode-debugIcon-restartForeground: #388a34;--vscode-debugIcon-stepOverForeground: #007acc;--vscode-debugIcon-stepIntoForeground: #007acc;--vscode-debugIcon-stepOutForeground: #007acc;--vscode-debugIcon-continueForeground: #007acc;--vscode-debugIcon-stepBackForeground: #007acc;--vscode-extensionButton-prominentBackground: #007acc;--vscode-extensionButton-prominentForeground: #ffffff;--vscode-extensionButton-prominentHoverBackground: #0062a3;--vscode-extensionIcon-starForeground: #df6100;--vscode-extensionIcon-verifiedForeground: #006ab1;--vscode-extensionIcon-preReleaseForeground: #1d9271;--vscode-extensionIcon-sponsorForeground: #b51e78;--vscode-terminal-ansiBlack: #000000;--vscode-terminal-ansiRed: #cd3131;--vscode-terminal-ansiGreen: #00bc00;--vscode-terminal-ansiYellow: #949800;--vscode-terminal-ansiBlue: #0451a5;--vscode-terminal-ansiMagenta: #bc05bc;--vscode-terminal-ansiCyan: #0598bc;--vscode-terminal-ansiWhite: #555555;--vscode-terminal-ansiBrightBlack: #666666;--vscode-terminal-ansiBrightRed: #cd3131;--vscode-terminal-ansiBrightGreen: #14ce14;--vscode-terminal-ansiBrightYellow: #b5ba00;--vscode-terminal-ansiBrightBlue: #0451a5;--vscode-terminal-ansiBrightMagenta: #bc05bc;--vscode-terminal-ansiBrightCyan: #0598bc;--vscode-terminal-ansiBrightWhite: #a5a5a5;--vscode-interactive-activeCodeBorder: #1a85ff;--vscode-interactive-inactiveCodeBorder: #e4e6f1;--vscode-gitDecoration-addedResourceForeground: #587c0c;--vscode-gitDecoration-modifiedResourceForeground: #895503;--vscode-gitDecoration-deletedResourceForeground: #ad0707;--vscode-gitDecoration-renamedResourceForeground: #007100;--vscode-gitDecoration-untrackedResourceForeground: #007100;--vscode-gitDecoration-ignoredResourceForeground: #8e8e90;--vscode-gitDecoration-stageModifiedResourceForeground: #895503;--vscode-gitDecoration-stageDeletedResourceForeground: #ad0707;--vscode-gitDecoration-conflictingResourceForeground: #ad0707;--vscode-gitDecoration-submoduleResourceForeground: #1258a7}:root.light-mode{color-scheme:light}:root.dark-mode{color-scheme:dark;--vscode-font-family: system-ui, "Ubuntu", "Droid Sans", sans-serif;--vscode-font-weight: normal;--vscode-font-size: 13px;--vscode-editor-font-family: "Droid Sans Mono", "monospace", monospace;--vscode-editor-font-weight: normal;--vscode-editor-font-size: 14px;--vscode-foreground: #cccccc;--vscode-disabledForeground: rgba(204, 204, 204, .5);--vscode-errorForeground: #f48771;--vscode-descriptionForeground: rgba(204, 204, 204, .7);--vscode-icon-foreground: #c5c5c5;--vscode-focusBorder: #007fd4;--vscode-textSeparator-foreground: rgba(255, 255, 255, .18);--vscode-textLink-foreground: #3794ff;--vscode-textLink-activeForeground: #3794ff;--vscode-textPreformat-foreground: #d7ba7d;--vscode-textBlockQuote-background: rgba(127, 127, 127, .1);--vscode-textBlockQuote-border: rgba(0, 122, 204, .5);--vscode-textCodeBlock-background: rgba(10, 10, 10, .4);--vscode-widget-shadow: rgba(0, 0, 0, .36);--vscode-input-background: #3c3c3c;--vscode-input-foreground: #cccccc;--vscode-inputOption-activeBorder: #007acc;--vscode-inputOption-hoverBackground: rgba(90, 93, 94, .5);--vscode-inputOption-activeBackground: rgba(0, 127, 212, .4);--vscode-inputOption-activeForeground: #ffffff;--vscode-input-placeholderForeground: #a6a6a6;--vscode-inputValidation-infoBackground: #063b49;--vscode-inputValidation-infoBorder: #007acc;--vscode-inputValidation-warningBackground: #352a05;--vscode-inputValidation-warningBorder: #b89500;--vscode-inputValidation-errorBackground: #5a1d1d;--vscode-inputValidation-errorBorder: #be1100;--vscode-dropdown-background: #3c3c3c;--vscode-dropdown-foreground: #f0f0f0;--vscode-dropdown-border: #3c3c3c;--vscode-checkbox-background: #3c3c3c;--vscode-checkbox-foreground: #f0f0f0;--vscode-checkbox-border: #3c3c3c;--vscode-button-foreground: #ffffff;--vscode-button-separator: rgba(255, 255, 255, .4);--vscode-button-background: #0e639c;--vscode-button-hoverBackground: #1177bb;--vscode-button-secondaryForeground: #ffffff;--vscode-button-secondaryBackground: #3a3d41;--vscode-button-secondaryHoverBackground: #45494e;--vscode-badge-background: #4d4d4d;--vscode-badge-foreground: #ffffff;--vscode-scrollbar-shadow: #000000;--vscode-scrollbarSlider-background: rgba(121, 121, 121, .4);--vscode-scrollbarSlider-hoverBackground: rgba(100, 100, 100, .7);--vscode-scrollbarSlider-activeBackground: rgba(191, 191, 191, .4);--vscode-progressBar-background: #0e70c0;--vscode-editorError-foreground: #f14c4c;--vscode-editorWarning-foreground: #cca700;--vscode-editorInfo-foreground: #3794ff;--vscode-editorHint-foreground: rgba(238, 238, 238, .7);--vscode-sash-hoverBorder: #007fd4;--vscode-editor-background: #1e1e1e;--vscode-editor-foreground: #d4d4d4;--vscode-editorStickyScroll-background: #1e1e1e;--vscode-editorStickyScrollHover-background: #2a2d2e;--vscode-editorWidget-background: #252526;--vscode-editorWidget-foreground: #cccccc;--vscode-editorWidget-border: #454545;--vscode-quickInput-background: #252526;--vscode-quickInput-foreground: #cccccc;--vscode-quickInputTitle-background: rgba(255, 255, 255, .1);--vscode-pickerGroup-foreground: #3794ff;--vscode-pickerGroup-border: #3f3f46;--vscode-keybindingLabel-background: rgba(128, 128, 128, .17);--vscode-keybindingLabel-foreground: #cccccc;--vscode-keybindingLabel-border: rgba(51, 51, 51, .6);--vscode-keybindingLabel-bottomBorder: rgba(68, 68, 68, .6);--vscode-editor-selectionBackground: #264f78;--vscode-editor-inactiveSelectionBackground: #3a3d41;--vscode-editor-selectionHighlightBackground: rgba(173, 214, 255, .15);--vscode-editor-findMatchBackground: #515c6a;--vscode-editor-findMatchHighlightBackground: rgba(234, 92, 0, .33);--vscode-editor-findRangeHighlightBackground: rgba(58, 61, 65, .4);--vscode-searchEditor-findMatchBackground: rgba(234, 92, 0, .22);--vscode-editor-hoverHighlightBackground: rgba(38, 79, 120, .25);--vscode-editorHoverWidget-background: #252526;--vscode-editorHoverWidget-foreground: #cccccc;--vscode-editorHoverWidget-border: #454545;--vscode-editorHoverWidget-statusBarBackground: #2c2c2d;--vscode-editorLink-activeForeground: #4e94ce;--vscode-editorInlayHint-foreground: rgba(255, 255, 255, .8);--vscode-editorInlayHint-background: rgba(77, 77, 77, .6);--vscode-editorInlayHint-typeForeground: rgba(255, 255, 255, .8);--vscode-editorInlayHint-typeBackground: rgba(77, 77, 77, .6);--vscode-editorInlayHint-parameterForeground: rgba(255, 255, 255, .8);--vscode-editorInlayHint-parameterBackground: rgba(77, 77, 77, .6);--vscode-editorLightBulb-foreground: #ffcc00;--vscode-editorLightBulbAutoFix-foreground: #75beff;--vscode-diffEditor-insertedTextBackground: rgba(156, 204, 44, .2);--vscode-diffEditor-removedTextBackground: rgba(255, 0, 0, .4);--vscode-diffEditor-insertedLineBackground: rgba(155, 185, 85, .2);--vscode-diffEditor-removedLineBackground: rgba(255, 0, 0, .2);--vscode-diffEditor-diagonalFill: rgba(204, 204, 204, .2);--vscode-list-focusOutline: #007fd4;--vscode-list-activeSelectionBackground: #04395e;--vscode-list-activeSelectionForeground: #ffffff;--vscode-list-activeSelectionIconForeground: #ffffff;--vscode-list-inactiveSelectionBackground: #37373d;--vscode-list-hoverBackground: #2a2d2e;--vscode-list-dropBackground: #383b3d;--vscode-list-highlightForeground: #2aaaff;--vscode-list-focusHighlightForeground: #2aaaff;--vscode-list-invalidItemForeground: #b89500;--vscode-list-errorForeground: #f88070;--vscode-list-warningForeground: #cca700;--vscode-listFilterWidget-background: #252526;--vscode-listFilterWidget-outline: rgba(0, 0, 0, 0);--vscode-listFilterWidget-noMatchesOutline: #be1100;--vscode-listFilterWidget-shadow: rgba(0, 0, 0, .36);--vscode-list-filterMatchBackground: rgba(234, 92, 0, .33);--vscode-tree-indentGuidesStroke: #585858;--vscode-tree-tableColumnsBorder: rgba(204, 204, 204, .13);--vscode-tree-tableOddRowsBackground: rgba(204, 204, 204, .04);--vscode-list-deemphasizedForeground: #8c8c8c;--vscode-quickInputList-focusForeground: #ffffff;--vscode-quickInputList-focusIconForeground: #ffffff;--vscode-quickInputList-focusBackground: #04395e;--vscode-menu-foreground: #cccccc;--vscode-menu-background: #303031;--vscode-menu-selectionForeground: #ffffff;--vscode-menu-selectionBackground: #04395e;--vscode-menu-separatorBackground: #606060;--vscode-toolbar-hoverBackground: rgba(90, 93, 94, .31);--vscode-toolbar-activeBackground: rgba(99, 102, 103, .31);--vscode-editor-snippetTabstopHighlightBackground: rgba(124, 124, 124, .3);--vscode-editor-snippetFinalTabstopHighlightBorder: #525252;--vscode-breadcrumb-foreground: rgba(204, 204, 204, .8);--vscode-breadcrumb-background: #1e1e1e;--vscode-breadcrumb-focusForeground: #e0e0e0;--vscode-breadcrumb-activeSelectionForeground: #e0e0e0;--vscode-breadcrumbPicker-background: #252526;--vscode-merge-currentHeaderBackground: rgba(64, 200, 174, .5);--vscode-merge-currentContentBackground: rgba(64, 200, 174, .2);--vscode-merge-incomingHeaderBackground: rgba(64, 166, 255, .5);--vscode-merge-incomingContentBackground: rgba(64, 166, 255, .2);--vscode-merge-commonHeaderBackground: rgba(96, 96, 96, .4);--vscode-merge-commonContentBackground: rgba(96, 96, 96, .16);--vscode-editorOverviewRuler-currentContentForeground: rgba(64, 200, 174, .5);--vscode-editorOverviewRuler-incomingContentForeground: rgba(64, 166, 255, .5);--vscode-editorOverviewRuler-commonContentForeground: rgba(96, 96, 96, .4);--vscode-editorOverviewRuler-findMatchForeground: rgba(209, 134, 22, .49);--vscode-editorOverviewRuler-selectionHighlightForeground: rgba(160, 160, 160, .8);--vscode-minimap-findMatchHighlight: #d18616;--vscode-minimap-selectionOccurrenceHighlight: #676767;--vscode-minimap-selectionHighlight: #264f78;--vscode-minimap-errorHighlight: rgba(255, 18, 18, .7);--vscode-minimap-warningHighlight: #cca700;--vscode-minimap-foregroundOpacity: #000000;--vscode-minimapSlider-background: rgba(121, 121, 121, .2);--vscode-minimapSlider-hoverBackground: rgba(100, 100, 100, .35);--vscode-minimapSlider-activeBackground: rgba(191, 191, 191, .2);--vscode-problemsErrorIcon-foreground: #f14c4c;--vscode-problemsWarningIcon-foreground: #cca700;--vscode-problemsInfoIcon-foreground: #3794ff;--vscode-charts-foreground: #cccccc;--vscode-charts-lines: rgba(204, 204, 204, .5);--vscode-charts-red: #f14c4c;--vscode-charts-blue: #3794ff;--vscode-charts-yellow: #cca700;--vscode-charts-orange: #d18616;--vscode-charts-green: #89d185;--vscode-charts-purple: #b180d7;--vscode-editor-lineHighlightBorder: #282828;--vscode-editor-rangeHighlightBackground: rgba(255, 255, 255, .04);--vscode-editor-symbolHighlightBackground: rgba(234, 92, 0, .33);--vscode-editorCursor-foreground: #aeafad;--vscode-editorWhitespace-foreground: rgba(227, 228, 226, .16);--vscode-editorIndentGuide-background: #404040;--vscode-editorIndentGuide-activeBackground: #707070;--vscode-editorLineNumber-foreground: #858585;--vscode-editorActiveLineNumber-foreground: #c6c6c6;--vscode-editorLineNumber-activeForeground: #c6c6c6;--vscode-editorRuler-foreground: #5a5a5a;--vscode-editorCodeLens-foreground: #999999;--vscode-editorBracketMatch-background: rgba(0, 100, 0, .1);--vscode-editorBracketMatch-border: #888888;--vscode-editorOverviewRuler-border: rgba(127, 127, 127, .3);--vscode-editorGutter-background: #1e1e1e;--vscode-editorUnnecessaryCode-opacity: rgba(0, 0, 0, .67);--vscode-editorGhostText-foreground: rgba(255, 255, 255, .34);--vscode-editorOverviewRuler-rangeHighlightForeground: rgba(0, 122, 204, .6);--vscode-editorOverviewRuler-errorForeground: rgba(255, 18, 18, .7);--vscode-editorOverviewRuler-warningForeground: #cca700;--vscode-editorOverviewRuler-infoForeground: #3794ff;--vscode-editorBracketHighlight-foreground1: #ffd700;--vscode-editorBracketHighlight-foreground2: #da70d6;--vscode-editorBracketHighlight-foreground3: #179fff;--vscode-editorBracketHighlight-foreground4: rgba(0, 0, 0, 0);--vscode-editorBracketHighlight-foreground5: rgba(0, 0, 0, 0);--vscode-editorBracketHighlight-foreground6: rgba(0, 0, 0, 0);--vscode-editorBracketHighlight-unexpectedBracket\.foreground: rgba(255, 18, 18, .8);--vscode-editorBracketPairGuide-background1: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background2: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background3: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background4: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background5: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background6: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground1: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground2: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground3: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground4: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground5: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground6: rgba(0, 0, 0, 0);--vscode-editorUnicodeHighlight-border: #bd9b03;--vscode-editorUnicodeHighlight-background: rgba(189, 155, 3, .15);--vscode-symbolIcon-arrayForeground: #cccccc;--vscode-symbolIcon-booleanForeground: #cccccc;--vscode-symbolIcon-classForeground: #ee9d28;--vscode-symbolIcon-colorForeground: #cccccc;--vscode-symbolIcon-constantForeground: #cccccc;--vscode-symbolIcon-constructorForeground: #b180d7;--vscode-symbolIcon-enumeratorForeground: #ee9d28;--vscode-symbolIcon-enumeratorMemberForeground: #75beff;--vscode-symbolIcon-eventForeground: #ee9d28;--vscode-symbolIcon-fieldForeground: #75beff;--vscode-symbolIcon-fileForeground: #cccccc;--vscode-symbolIcon-folderForeground: #cccccc;--vscode-symbolIcon-functionForeground: #b180d7;--vscode-symbolIcon-interfaceForeground: #75beff;--vscode-symbolIcon-keyForeground: #cccccc;--vscode-symbolIcon-keywordForeground: #cccccc;--vscode-symbolIcon-methodForeground: #b180d7;--vscode-symbolIcon-moduleForeground: #cccccc;--vscode-symbolIcon-namespaceForeground: #cccccc;--vscode-symbolIcon-nullForeground: #cccccc;--vscode-symbolIcon-numberForeground: #cccccc;--vscode-symbolIcon-objectForeground: #cccccc;--vscode-symbolIcon-operatorForeground: #cccccc;--vscode-symbolIcon-packageForeground: #cccccc;--vscode-symbolIcon-propertyForeground: #cccccc;--vscode-symbolIcon-referenceForeground: #cccccc;--vscode-symbolIcon-snippetForeground: #cccccc;--vscode-symbolIcon-stringForeground: #cccccc;--vscode-symbolIcon-structForeground: #cccccc;--vscode-symbolIcon-textForeground: #cccccc;--vscode-symbolIcon-typeParameterForeground: #cccccc;--vscode-symbolIcon-unitForeground: #cccccc;--vscode-symbolIcon-variableForeground: #75beff;--vscode-editorHoverWidget-highlightForeground: #2aaaff;--vscode-editorOverviewRuler-bracketMatchForeground: #a0a0a0;--vscode-editor-foldBackground: rgba(38, 79, 120, .3);--vscode-editorGutter-foldingControlForeground: #c5c5c5;--vscode-editor-linkedEditingBackground: rgba(255, 0, 0, .3);--vscode-editor-wordHighlightBackground: rgba(87, 87, 87, .72);--vscode-editor-wordHighlightStrongBackground: rgba(0, 73, 114, .72);--vscode-editorOverviewRuler-wordHighlightForeground: rgba(160, 160, 160, .8);--vscode-editorOverviewRuler-wordHighlightStrongForeground: rgba(192, 160, 192, .8);--vscode-peekViewTitle-background: rgba(55, 148, 255, .1);--vscode-peekViewTitleLabel-foreground: #ffffff;--vscode-peekViewTitleDescription-foreground: rgba(204, 204, 204, .7);--vscode-peekView-border: #3794ff;--vscode-peekViewResult-background: #252526;--vscode-peekViewResult-lineForeground: #bbbbbb;--vscode-peekViewResult-fileForeground: #ffffff;--vscode-peekViewResult-selectionBackground: rgba(51, 153, 255, .2);--vscode-peekViewResult-selectionForeground: #ffffff;--vscode-peekViewEditor-background: #001f33;--vscode-peekViewEditorGutter-background: #001f33;--vscode-peekViewResult-matchHighlightBackground: rgba(234, 92, 0, .3);--vscode-peekViewEditor-matchHighlightBackground: rgba(255, 143, 0, .6);--vscode-editorMarkerNavigationError-background: #f14c4c;--vscode-editorMarkerNavigationError-headerBackground: rgba(241, 76, 76, .1);--vscode-editorMarkerNavigationWarning-background: #cca700;--vscode-editorMarkerNavigationWarning-headerBackground: rgba(204, 167, 0, .1);--vscode-editorMarkerNavigationInfo-background: #3794ff;--vscode-editorMarkerNavigationInfo-headerBackground: rgba(55, 148, 255, .1);--vscode-editorMarkerNavigation-background: #1e1e1e;--vscode-editorSuggestWidget-background: #252526;--vscode-editorSuggestWidget-border: #454545;--vscode-editorSuggestWidget-foreground: #d4d4d4;--vscode-editorSuggestWidget-selectedForeground: #ffffff;--vscode-editorSuggestWidget-selectedIconForeground: #ffffff;--vscode-editorSuggestWidget-selectedBackground: #04395e;--vscode-editorSuggestWidget-highlightForeground: #2aaaff;--vscode-editorSuggestWidget-focusHighlightForeground: #2aaaff;--vscode-editorSuggestWidgetStatus-foreground: rgba(212, 212, 212, .5);--vscode-tab-activeBackground: #1e1e1e;--vscode-tab-unfocusedActiveBackground: #1e1e1e;--vscode-tab-inactiveBackground: #2d2d2d;--vscode-tab-unfocusedInactiveBackground: #2d2d2d;--vscode-tab-activeForeground: #ffffff;--vscode-tab-inactiveForeground: rgba(255, 255, 255, .5);--vscode-tab-unfocusedActiveForeground: rgba(255, 255, 255, .5);--vscode-tab-unfocusedInactiveForeground: rgba(255, 255, 255, .25);--vscode-tab-border: #252526;--vscode-tab-lastPinnedBorder: rgba(204, 204, 204, .2);--vscode-tab-activeModifiedBorder: #3399cc;--vscode-tab-inactiveModifiedBorder: rgba(51, 153, 204, .5);--vscode-tab-unfocusedActiveModifiedBorder: rgba(51, 153, 204, .5);--vscode-tab-unfocusedInactiveModifiedBorder: rgba(51, 153, 204, .25);--vscode-editorPane-background: #1e1e1e;--vscode-editorGroupHeader-tabsBackground: #252526;--vscode-editorGroupHeader-noTabsBackground: #1e1e1e;--vscode-editorGroup-border: #444444;--vscode-editorGroup-dropBackground: rgba(83, 89, 93, .5);--vscode-editorGroup-dropIntoPromptForeground: #cccccc;--vscode-editorGroup-dropIntoPromptBackground: #252526;--vscode-sideBySideEditor-horizontalBorder: #444444;--vscode-sideBySideEditor-verticalBorder: #444444;--vscode-panel-background: #1e1e1e;--vscode-panel-border: rgba(128, 128, 128, .35);--vscode-panelTitle-activeForeground: #e7e7e7;--vscode-panelTitle-inactiveForeground: rgba(231, 231, 231, .6);--vscode-panelTitle-activeBorder: #e7e7e7;--vscode-panel-dropBorder: #e7e7e7;--vscode-panelSection-dropBackground: rgba(83, 89, 93, .5);--vscode-panelSectionHeader-background: rgba(128, 128, 128, .2);--vscode-panelSection-border: rgba(128, 128, 128, .35);--vscode-banner-background: #04395e;--vscode-banner-foreground: #ffffff;--vscode-banner-iconForeground: #3794ff;--vscode-statusBar-foreground: #ffffff;--vscode-statusBar-noFolderForeground: #ffffff;--vscode-statusBar-background: #007acc;--vscode-statusBar-noFolderBackground: #68217a;--vscode-statusBar-focusBorder: #ffffff;--vscode-statusBarItem-activeBackground: rgba(255, 255, 255, .18);--vscode-statusBarItem-focusBorder: #ffffff;--vscode-statusBarItem-hoverBackground: rgba(255, 255, 255, .12);--vscode-statusBarItem-compactHoverBackground: rgba(255, 255, 255, .2);--vscode-statusBarItem-prominentForeground: #ffffff;--vscode-statusBarItem-prominentBackground: rgba(0, 0, 0, .5);--vscode-statusBarItem-prominentHoverBackground: rgba(0, 0, 0, .3);--vscode-statusBarItem-errorBackground: #c72e0f;--vscode-statusBarItem-errorForeground: #ffffff;--vscode-statusBarItem-warningBackground: #7a6400;--vscode-statusBarItem-warningForeground: #ffffff;--vscode-activityBar-background: #333333;--vscode-activityBar-foreground: #ffffff;--vscode-activityBar-inactiveForeground: rgba(255, 255, 255, .4);--vscode-activityBar-activeBorder: #ffffff;--vscode-activityBar-dropBorder: #ffffff;--vscode-activityBarBadge-background: #007acc;--vscode-activityBarBadge-foreground: #ffffff;--vscode-statusBarItem-remoteBackground: #16825d;--vscode-statusBarItem-remoteForeground: #ffffff;--vscode-extensionBadge-remoteBackground: #007acc;--vscode-extensionBadge-remoteForeground: #ffffff;--vscode-sideBar-background: #252526;--vscode-sideBarTitle-foreground: #bbbbbb;--vscode-sideBar-dropBackground: rgba(83, 89, 93, .5);--vscode-sideBarSectionHeader-background: rgba(0, 0, 0, 0);--vscode-sideBarSectionHeader-border: rgba(204, 204, 204, .2);--vscode-titleBar-activeForeground: #cccccc;--vscode-titleBar-inactiveForeground: rgba(204, 204, 204, .6);--vscode-titleBar-activeBackground: #3c3c3c;--vscode-titleBar-inactiveBackground: rgba(60, 60, 60, .6);--vscode-menubar-selectionForeground: #cccccc;--vscode-menubar-selectionBackground: rgba(90, 93, 94, .31);--vscode-notifications-foreground: #cccccc;--vscode-notifications-background: #252526;--vscode-notificationLink-foreground: #3794ff;--vscode-notificationCenterHeader-background: #303031;--vscode-notifications-border: #303031;--vscode-notificationsErrorIcon-foreground: #f14c4c;--vscode-notificationsWarningIcon-foreground: #cca700;--vscode-notificationsInfoIcon-foreground: #3794ff;--vscode-commandCenter-foreground: #cccccc;--vscode-commandCenter-activeForeground: #cccccc;--vscode-commandCenter-activeBackground: rgba(90, 93, 94, .31);--vscode-commandCenter-border: rgba(128, 128, 128, .35);--vscode-editorCommentsWidget-resolvedBorder: rgba(204, 204, 204, .5);--vscode-editorCommentsWidget-unresolvedBorder: #3794ff;--vscode-editorCommentsWidget-rangeBackground: rgba(55, 148, 255, .1);--vscode-editorCommentsWidget-rangeBorder: rgba(55, 148, 255, .4);--vscode-editorCommentsWidget-rangeActiveBackground: rgba(55, 148, 255, .1);--vscode-editorCommentsWidget-rangeActiveBorder: rgba(55, 148, 255, .4);--vscode-editorGutter-commentRangeForeground: #37373d;--vscode-debugToolBar-background: #333333;--vscode-debugIcon-startForeground: #89d185;--vscode-editor-stackFrameHighlightBackground: rgba(255, 255, 0, .2);--vscode-editor-focusedStackFrameHighlightBackground: rgba(122, 189, 122, .3);--vscode-mergeEditor-change\.background: rgba(155, 185, 85, .2);--vscode-mergeEditor-change\.word\.background: rgba(156, 204, 44, .2);--vscode-mergeEditor-conflict\.unhandledUnfocused\.border: rgba(255, 166, 0, .48);--vscode-mergeEditor-conflict\.unhandledFocused\.border: #ffa600;--vscode-mergeEditor-conflict\.handledUnfocused\.border: rgba(134, 134, 134, .29);--vscode-mergeEditor-conflict\.handledFocused\.border: rgba(193, 193, 193, .8);--vscode-mergeEditor-conflict\.handled\.minimapOverViewRuler: rgba(173, 172, 168, .93);--vscode-mergeEditor-conflict\.unhandled\.minimapOverViewRuler: #fcba03;--vscode-mergeEditor-conflictingLines\.background: rgba(255, 234, 0, .28);--vscode-settings-headerForeground: #e7e7e7;--vscode-settings-modifiedItemIndicator: #0c7d9d;--vscode-settings-headerBorder: rgba(128, 128, 128, .35);--vscode-settings-sashBorder: rgba(128, 128, 128, .35);--vscode-settings-dropdownBackground: #3c3c3c;--vscode-settings-dropdownForeground: #f0f0f0;--vscode-settings-dropdownBorder: #3c3c3c;--vscode-settings-dropdownListBorder: #454545;--vscode-settings-checkboxBackground: #3c3c3c;--vscode-settings-checkboxForeground: #f0f0f0;--vscode-settings-checkboxBorder: #3c3c3c;--vscode-settings-textInputBackground: #3c3c3c;--vscode-settings-textInputForeground: #cccccc;--vscode-settings-numberInputBackground: #3c3c3c;--vscode-settings-numberInputForeground: #cccccc;--vscode-settings-focusedRowBackground: rgba(42, 45, 46, .6);--vscode-settings-rowHoverBackground: rgba(42, 45, 46, .3);--vscode-settings-focusedRowBorder: rgba(255, 255, 255, .12);--vscode-terminal-foreground: #cccccc;--vscode-terminal-selectionBackground: #264f78;--vscode-terminal-inactiveSelectionBackground: #3a3d41;--vscode-terminalCommandDecoration-defaultBackground: rgba(255, 255, 255, .25);--vscode-terminalCommandDecoration-successBackground: #1b81a8;--vscode-terminalCommandDecoration-errorBackground: #f14c4c;--vscode-terminalOverviewRuler-cursorForeground: rgba(160, 160, 160, .8);--vscode-terminal-border: rgba(128, 128, 128, .35);--vscode-terminal-findMatchBackground: #515c6a;--vscode-terminal-findMatchHighlightBackground: rgba(234, 92, 0, .33);--vscode-terminalOverviewRuler-findMatchForeground: rgba(209, 134, 22, .49);--vscode-terminal-dropBackground: rgba(83, 89, 93, .5);--vscode-testing-iconFailed: #f14c4c;--vscode-testing-iconErrored: #f14c4c;--vscode-testing-iconPassed: #73c991;--vscode-testing-runAction: #73c991;--vscode-testing-iconQueued: #cca700;--vscode-testing-iconUnset: #848484;--vscode-testing-iconSkipped: #848484;--vscode-testing-peekBorder: #f14c4c;--vscode-testing-peekHeaderBackground: rgba(241, 76, 76, .1);--vscode-testing-message\.error\.decorationForeground: #f14c4c;--vscode-testing-message\.error\.lineBackground: rgba(255, 0, 0, .2);--vscode-testing-message\.info\.decorationForeground: rgba(212, 212, 212, .5);--vscode-welcomePage-tileBackground: #252526;--vscode-welcomePage-tileHoverBackground: #2c2c2d;--vscode-welcomePage-tileShadow: rgba(0, 0, 0, .36);--vscode-welcomePage-progress\.background: #3c3c3c;--vscode-welcomePage-progress\.foreground: #3794ff;--vscode-debugExceptionWidget-border: #a31515;--vscode-debugExceptionWidget-background: #420b0d;--vscode-ports-iconRunningProcessForeground: #369432;--vscode-statusBar-debuggingBackground: #cc6633;--vscode-statusBar-debuggingForeground: #ffffff;--vscode-editor-inlineValuesForeground: rgba(255, 255, 255, .5);--vscode-editor-inlineValuesBackground: rgba(255, 200, 0, .2);--vscode-editorGutter-modifiedBackground: #1b81a8;--vscode-editorGutter-addedBackground: #487e02;--vscode-editorGutter-deletedBackground: #f14c4c;--vscode-minimapGutter-modifiedBackground: #1b81a8;--vscode-minimapGutter-addedBackground: #487e02;--vscode-minimapGutter-deletedBackground: #f14c4c;--vscode-editorOverviewRuler-modifiedForeground: rgba(27, 129, 168, .6);--vscode-editorOverviewRuler-addedForeground: rgba(72, 126, 2, .6);--vscode-editorOverviewRuler-deletedForeground: rgba(241, 76, 76, .6);--vscode-debugIcon-breakpointForeground: #e51400;--vscode-debugIcon-breakpointDisabledForeground: #848484;--vscode-debugIcon-breakpointUnverifiedForeground: #848484;--vscode-debugIcon-breakpointCurrentStackframeForeground: #ffcc00;--vscode-debugIcon-breakpointStackframeForeground: #89d185;--vscode-notebook-cellBorderColor: #37373d;--vscode-notebook-focusedEditorBorder: #007fd4;--vscode-notebookStatusSuccessIcon-foreground: #89d185;--vscode-notebookStatusErrorIcon-foreground: #f48771;--vscode-notebookStatusRunningIcon-foreground: #cccccc;--vscode-notebook-cellToolbarSeparator: rgba(128, 128, 128, .35);--vscode-notebook-selectedCellBackground: #37373d;--vscode-notebook-selectedCellBorder: #37373d;--vscode-notebook-focusedCellBorder: #007fd4;--vscode-notebook-inactiveFocusedCellBorder: #37373d;--vscode-notebook-cellStatusBarItemHoverBackground: rgba(255, 255, 255, .15);--vscode-notebook-cellInsertionIndicator: #007fd4;--vscode-notebookScrollbarSlider-background: rgba(121, 121, 121, .4);--vscode-notebookScrollbarSlider-hoverBackground: rgba(100, 100, 100, .7);--vscode-notebookScrollbarSlider-activeBackground: rgba(191, 191, 191, .4);--vscode-notebook-symbolHighlightBackground: rgba(255, 255, 255, .04);--vscode-notebook-cellEditorBackground: #252526;--vscode-notebook-editorBackground: #1e1e1e;--vscode-keybindingTable-headerBackground: rgba(204, 204, 204, .04);--vscode-keybindingTable-rowsBackground: rgba(204, 204, 204, .04);--vscode-scm-providerBorder: #454545;--vscode-debugTokenExpression-name: #c586c0;--vscode-debugTokenExpression-value: rgba(204, 204, 204, .6);--vscode-debugTokenExpression-string: #ce9178;--vscode-debugTokenExpression-boolean: #4e94ce;--vscode-debugTokenExpression-number: #b5cea8;--vscode-debugTokenExpression-error: #f48771;--vscode-debugView-exceptionLabelForeground: #cccccc;--vscode-debugView-exceptionLabelBackground: #6c2022;--vscode-debugView-stateLabelForeground: #cccccc;--vscode-debugView-stateLabelBackground: rgba(136, 136, 136, .27);--vscode-debugView-valueChangedHighlight: #569cd6;--vscode-debugConsole-infoForeground: #3794ff;--vscode-debugConsole-warningForeground: #cca700;--vscode-debugConsole-errorForeground: #f48771;--vscode-debugConsole-sourceForeground: #cccccc;--vscode-debugConsoleInputIcon-foreground: #cccccc;--vscode-debugIcon-pauseForeground: #75beff;--vscode-debugIcon-stopForeground: #f48771;--vscode-debugIcon-disconnectForeground: #f48771;--vscode-debugIcon-restartForeground: #89d185;--vscode-debugIcon-stepOverForeground: #75beff;--vscode-debugIcon-stepIntoForeground: #75beff;--vscode-debugIcon-stepOutForeground: #75beff;--vscode-debugIcon-continueForeground: #75beff;--vscode-debugIcon-stepBackForeground: #75beff;--vscode-extensionButton-prominentBackground: #0e639c;--vscode-extensionButton-prominentForeground: #ffffff;--vscode-extensionButton-prominentHoverBackground: #1177bb;--vscode-extensionIcon-starForeground: #ff8e00;--vscode-extensionIcon-verifiedForeground: #3794ff;--vscode-extensionIcon-preReleaseForeground: #1d9271;--vscode-extensionIcon-sponsorForeground: #d758b3;--vscode-terminal-ansiBlack: #000000;--vscode-terminal-ansiRed: #cd3131;--vscode-terminal-ansiGreen: #0dbc79;--vscode-terminal-ansiYellow: #e5e510;--vscode-terminal-ansiBlue: #2472c8;--vscode-terminal-ansiMagenta: #bc3fbc;--vscode-terminal-ansiCyan: #11a8cd;--vscode-terminal-ansiWhite: #e5e5e5;--vscode-terminal-ansiBrightBlack: #666666;--vscode-terminal-ansiBrightRed: #f14c4c;--vscode-terminal-ansiBrightGreen: #23d18b;--vscode-terminal-ansiBrightYellow: #f5f543;--vscode-terminal-ansiBrightBlue: #3b8eea;--vscode-terminal-ansiBrightMagenta: #d670d6;--vscode-terminal-ansiBrightCyan: #29b8db;--vscode-terminal-ansiBrightWhite: #e5e5e5;--vscode-interactive-activeCodeBorder: #3794ff;--vscode-interactive-inactiveCodeBorder: #37373d;--vscode-gitDecoration-addedResourceForeground: #81b88b;--vscode-gitDecoration-modifiedResourceForeground: #e2c08d;--vscode-gitDecoration-deletedResourceForeground: #c74e39;--vscode-gitDecoration-renamedResourceForeground: #73c991;--vscode-gitDecoration-untrackedResourceForeground: #73c991;--vscode-gitDecoration-ignoredResourceForeground: #8c8c8c;--vscode-gitDecoration-stageModifiedResourceForeground: #e2c08d;--vscode-gitDecoration-stageDeletedResourceForeground: #c74e39;--vscode-gitDecoration-conflictingResourceForeground: #e4676b;--vscode-gitDecoration-submoduleResourceForeground: #8db9e2}.toolbar-button{position:relative;flex:none;border:none;outline:none;color:var(--vscode-sideBarTitle-foreground);background:transparent;padding:4px;cursor:pointer;display:inline-flex;align-items:center;border-radius:4px}.toolbar-button:disabled{color:var(--vscode-disabledForeground)!important;cursor:default}.toolbar-button:not(:disabled):hover{background-color:var(--vscode-toolbar-hoverBackground)}.toolbar-button:not(:disabled):active{background-color:var(--vscode-toolbar-activeBackground)}.toolbar-button.toggled{color:var(--vscode-notificationLink-foreground)}.toolbar-button-error-badge{position:absolute;top:2px;right:2px;width:7px;height:7px;border-radius:50%;background-color:var(--vscode-notificationsErrorIcon-foreground)}.toolbar-separator{flex:none;background-color:var(--vscode-menu-separatorBackground);width:1px;padding:0;margin:5px 4px;height:16px}.call-log{display:flex;flex-direction:column;flex:auto;line-height:20px;white-space:pre;overflow:auto}.call-log-message{flex:none;padding:3px 0 3px 36px;display:flex;align-items:center}.call-log-call{display:flex;flex:none;flex-direction:column;border-top:1px solid var(--vscode-panel-border)}.call-log-call-header{height:24px;display:flex;align-items:center;padding:0 2px;z-index:2}.call-log-call .codicon{padding:0 4px;flex:none}.call-log .codicon-check{color:#21a945;font-weight:700}.call-log-call.error{background-color:var(--vscode-inputValidation-errorBackground);border-top:1px solid var(--vscode-panel-border)}.call-log-call.error .call-log-call-header,.call-log-message.error,.call-log .codicon-error{color:var(--vscode-errorForeground)}.call-log-details{flex:0 1 auto;overflow-x:hidden;text-overflow:ellipsis}.call-log-url{color:var(--vscode-charts-blue)}.call-log-selector{color:var(--vscode-charts-orange);white-space:nowrap}.call-log-time{flex:none;margin-left:4px;color:var(--gray)}.call-log-call .codicon.preview{visibility:hidden;color:var(--vscode-sideBarTitle-foreground);cursor:pointer}.call-log-call .codicon.preview:hover{color:inherit}.call-log-call:hover .codicon.preview{visibility:visible}.recorder{display:flex;flex-direction:column;flex:auto}.recorder-chooser{border:none;background:none;outline:none;color:var(--vscode-sideBarTitle-foreground);min-width:100px}.recorder .codicon{font-size:16px}.recorder .codicon.circle-large-filled,.recorder .codicon.stop-circle{font-size:15px}.recorder .toolbar-button.toggled.stop-circle{color:#a1260d}:root.dark-mode .recorder .toolbar-button.toggled.stop-circle{color:#f48771}.recorder .toolbar-button:not([disabled]) .codicon-debug-continue,.recorder .toolbar-button:not([disabled]) .codicon-debug-step-over{color:#01bb01}.recorder .toolbar-button:not([disabled]):hover .codicon-debug-continue,.recorder .toolbar-button:not([disabled]):hover .codicon-debug-step-over{color:#41ca1e}.recorder .selector-input{flex:auto}.setting{display:flex;align-items:center}.setting-theme{display:grid;margin-left:22px}.setting label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;cursor:pointer}.setting input{margin-right:5px;flex-shrink:0}
node_modules/playwright-core/lib/vite/recorder/assets/index-DA10QRaq.js deleted
-193
@@ -1,193 +0,0 @@
1 -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/codeMirrorModule-BHYmBp6h.js","assets/codeMirrorModule-DYBRYzYX.css"])))=>i.map(i=>d[i]);
2 -(function(){const l=document.createElement("link").relList;if(l&&l.supports&&l.supports("modulepreload"))return;for(const c of document.querySelectorAll('link[rel="modulepreload"]'))s(c);new MutationObserver(c=>{for(const o of c)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&s(h)}).observe(document,{childList:!0,subtree:!0});function a(c){const o={};return c.integrity&&(o.integrity=c.integrity),c.referrerPolicy&&(o.referrerPolicy=c.referrerPolicy),c.crossOrigin==="use-credentials"?o.credentials="include":c.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function s(c){if(c.ep)return;c.ep=!0;const o=a(c);fetch(c.href,o)}})();function b1(u){return u&&u.__esModule&&Object.prototype.hasOwnProperty.call(u,"default")?u.default:u}var lf={exports:{}},Oa={};/**
3 - * @license React
4 - * react-jsx-runtime.production.js
5 - *
6 - * Copyright (c) Meta Platforms, Inc. and affiliates.
7 - *
8 - * This source code is licensed under the MIT license found in the
9 - * LICENSE file in the root directory of this source tree.
10 - */var Wm;function S1(){if(Wm)return Oa;Wm=1;var u=Symbol.for("react.transitional.element"),l=Symbol.for("react.fragment");function a(s,c,o){var h=null;if(o!==void 0&&(h=""+o),c.key!==void 0&&(h=""+c.key),"key"in c){o={};for(var m in c)m!=="key"&&(o[m]=c[m])}else o=c;return c=o.ref,{$$typeof:u,type:s,key:h,ref:c!==void 0?c:null,props:o}}return Oa.Fragment=l,Oa.jsx=a,Oa.jsxs=a,Oa}var Fm;function T1(){return Fm||(Fm=1,lf.exports=S1()),lf.exports}var X=T1(),af={exports:{}},ue={};/**
11 - * @license React
12 - * react.production.js
13 - *
14 - * Copyright (c) Meta Platforms, Inc. and affiliates.
15 - *
16 - * This source code is licensed under the MIT license found in the
17 - * LICENSE file in the root directory of this source tree.
18 - */var Im;function E1(){if(Im)return ue;Im=1;var u=Symbol.for("react.transitional.element"),l=Symbol.for("react.portal"),a=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),c=Symbol.for("react.profiler"),o=Symbol.for("react.consumer"),h=Symbol.for("react.context"),m=Symbol.for("react.forward_ref"),g=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),T=Symbol.for("react.lazy"),v=Symbol.for("react.activity"),_=Symbol.iterator;function E(O){return O===null||typeof O!="object"?null:(O=_&&O[_]||O["@@iterator"],typeof O=="function"?O:null)}var x={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},b=Object.assign,A={};function M(O,Y,J){this.props=O,this.context=Y,this.refs=A,this.updater=J||x}M.prototype.isReactComponent={},M.prototype.setState=function(O,Y){if(typeof O!="object"&&typeof O!="function"&&O!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,O,Y,"setState")},M.prototype.forceUpdate=function(O){this.updater.enqueueForceUpdate(this,O,"forceUpdate")};function R(){}R.prototype=M.prototype;function G(O,Y,J){this.props=O,this.context=Y,this.refs=A,this.updater=J||x}var Q=G.prototype=new R;Q.constructor=G,b(Q,M.prototype),Q.isPureReactComponent=!0;var Z=Array.isArray;function W(){}var q={H:null,A:null,T:null,S:null},V=Object.prototype.hasOwnProperty;function U(O,Y,J){var I=J.ref;return{$$typeof:u,type:O,key:Y,ref:I!==void 0?I:null,props:J}}function ae(O,Y){return U(O.type,Y,O.props)}function te(O){return typeof O=="object"&&O!==null&&O.$$typeof===u}function $(O){var Y={"=":"=0",":":"=2"};return"$"+O.replace(/[=:]/g,function(J){return Y[J]})}var ee=/\/+/g;function Ae(O,Y){return typeof O=="object"&&O!==null&&O.key!=null?$(""+O.key):Y.toString(36)}function se(O){switch(O.status){case"fulfilled":return O.value;case"rejected":throw O.reason;default:switch(typeof O.status=="string"?O.then(W,W):(O.status="pending",O.then(function(Y){O.status==="pending"&&(O.status="fulfilled",O.value=Y)},function(Y){O.status==="pending"&&(O.status="rejected",O.reason=Y)})),O.status){case"fulfilled":return O.value;case"rejected":throw O.reason}}throw O}function D(O,Y,J,I,re){var me=typeof O;(me==="undefined"||me==="boolean")&&(O=null);var we=!1;if(O===null)we=!0;else switch(me){case"bigint":case"string":case"number":we=!0;break;case"object":switch(O.$$typeof){case u:case l:we=!0;break;case T:return we=O._init,D(we(O._payload),Y,J,I,re)}}if(we)return re=re(O),we=I===""?"."+Ae(O,0):I,Z(re)?(J="",we!=null&&(J=we.replace(ee,"$&/")+"/"),D(re,Y,J,"",function(Di){return Di})):re!=null&&(te(re)&&(re=ae(re,J+(re.key==null||O&&O.key===re.key?"":(""+re.key).replace(ee,"$&/")+"/")+we)),Y.push(re)),1;we=0;var rt=I===""?".":I+":";if(Z(O))for(var Ye=0;Ye<O.length;Ye++)I=O[Ye],me=rt+Ae(I,Ye),we+=D(I,Y,J,me,re);else if(Ye=E(O),typeof Ye=="function")for(O=Ye.call(O),Ye=0;!(I=O.next()).done;)I=I.value,me=rt+Ae(I,Ye++),we+=D(I,Y,J,me,re);else if(me==="object"){if(typeof O.then=="function")return D(se(O),Y,J,I,re);throw Y=String(O),Error("Objects are not valid as a React child (found: "+(Y==="[object Object]"?"object with keys {"+Object.keys(O).join(", ")+"}":Y)+"). If you meant to render a collection of children, use an array instead.")}return we}function K(O,Y,J){if(O==null)return O;var I=[],re=0;return D(O,I,"","",function(me){return Y.call(J,me,re++)}),I}function ne(O){if(O._status===-1){var Y=O._result;Y=Y(),Y.then(function(J){(O._status===0||O._status===-1)&&(O._status=1,O._result=J)},function(J){(O._status===0||O._status===-1)&&(O._status=2,O._result=J)}),O._status===-1&&(O._status=0,O._result=Y)}if(O._status===1)return O._result.default;throw O._result}var de=typeof reportError=="function"?reportError:function(O){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var Y=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof O=="object"&&O!==null&&typeof O.message=="string"?String(O.message):String(O),error:O});if(!window.dispatchEvent(Y))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",O);return}console.error(O)},Ne={map:K,forEach:function(O,Y,J){K(O,function(){Y.apply(this,arguments)},J)},count:function(O){var Y=0;return K(O,function(){Y++}),Y},toArray:function(O){return K(O,function(Y){return Y})||[]},only:function(O){if(!te(O))throw Error("React.Children.only expected to receive a single React element child.");return O}};return ue.Activity=v,ue.Children=Ne,ue.Component=M,ue.Fragment=a,ue.Profiler=c,ue.PureComponent=G,ue.StrictMode=s,ue.Suspense=g,ue.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=q,ue.__COMPILER_RUNTIME={__proto__:null,c:function(O){return q.H.useMemoCache(O)}},ue.cache=function(O){return function(){return O.apply(null,arguments)}},ue.cacheSignal=function(){return null},ue.cloneElement=function(O,Y,J){if(O==null)throw Error("The argument must be a React element, but you passed "+O+".");var I=b({},O.props),re=O.key;if(Y!=null)for(me in Y.key!==void 0&&(re=""+Y.key),Y)!V.call(Y,me)||me==="key"||me==="__self"||me==="__source"||me==="ref"&&Y.ref===void 0||(I[me]=Y[me]);var me=arguments.length-2;if(me===1)I.children=J;else if(1<me){for(var we=Array(me),rt=0;rt<me;rt++)we[rt]=arguments[rt+2];I.children=we}return U(O.type,re,I)},ue.createContext=function(O){return O={$$typeof:h,_currentValue:O,_currentValue2:O,_threadCount:0,Provider:null,Consumer:null},O.Provider=O,O.Consumer={$$typeof:o,_context:O},O},ue.createElement=function(O,Y,J){var I,re={},me=null;if(Y!=null)for(I in Y.key!==void 0&&(me=""+Y.key),Y)V.call(Y,I)&&I!=="key"&&I!=="__self"&&I!=="__source"&&(re[I]=Y[I]);var we=arguments.length-2;if(we===1)re.children=J;else if(1<we){for(var rt=Array(we),Ye=0;Ye<we;Ye++)rt[Ye]=arguments[Ye+2];re.children=rt}if(O&&O.defaultProps)for(I in we=O.defaultProps,we)re[I]===void 0&&(re[I]=we[I]);return U(O,me,re)},ue.createRef=function(){return{current:null}},ue.forwardRef=function(O){return{$$typeof:m,render:O}},ue.isValidElement=te,ue.lazy=function(O){return{$$typeof:T,_payload:{_status:-1,_result:O},_init:ne}},ue.memo=function(O,Y){return{$$typeof:p,type:O,compare:Y===void 0?null:Y}},ue.startTransition=function(O){var Y=q.T,J={};q.T=J;try{var I=O(),re=q.S;re!==null&&re(J,I),typeof I=="object"&&I!==null&&typeof I.then=="function"&&I.then(W,de)}catch(me){de(me)}finally{Y!==null&&J.types!==null&&(Y.types=J.types),q.T=Y}},ue.unstable_useCacheRefresh=function(){return q.H.useCacheRefresh()},ue.use=function(O){return q.H.use(O)},ue.useActionState=function(O,Y,J){return q.H.useActionState(O,Y,J)},ue.useCallback=function(O,Y){return q.H.useCallback(O,Y)},ue.useContext=function(O){return q.H.useContext(O)},ue.useDebugValue=function(){},ue.useDeferredValue=function(O,Y){return q.H.useDeferredValue(O,Y)},ue.useEffect=function(O,Y){return q.H.useEffect(O,Y)},ue.useEffectEvent=function(O){return q.H.useEffectEvent(O)},ue.useId=function(){return q.H.useId()},ue.useImperativeHandle=function(O,Y,J){return q.H.useImperativeHandle(O,Y,J)},ue.useInsertionEffect=function(O,Y){return q.H.useInsertionEffect(O,Y)},ue.useLayoutEffect=function(O,Y){return q.H.useLayoutEffect(O,Y)},ue.useMemo=function(O,Y){return q.H.useMemo(O,Y)},ue.useOptimistic=function(O,Y){return q.H.useOptimistic(O,Y)},ue.useReducer=function(O,Y,J){return q.H.useReducer(O,Y,J)},ue.useRef=function(O){return q.H.useRef(O)},ue.useState=function(O){return q.H.useState(O)},ue.useSyncExternalStore=function(O,Y,J){return q.H.useSyncExternalStore(O,Y,J)},ue.useTransition=function(){return q.H.useTransition()},ue.version="19.2.1",ue}var Pm;function xf(){return Pm||(Pm=1,af.exports=E1()),af.exports}var he=xf();const wn=b1(he);function Mg(){const u=wn.useRef(null),[l]=Sf(u);return[l,u]}function Sf(u){const[l,a]=wn.useState(new DOMRect(0,0,10,10)),s=wn.useCallback(()=>{const c=u==null?void 0:u.current;c&&a(c.getBoundingClientRect())},[u]);return wn.useLayoutEffect(()=>{const c=u==null?void 0:u.current;if(!c)return;s();const o=new ResizeObserver(s);return o.observe(c),window.addEventListener("resize",s),()=>{o.disconnect(),window.removeEventListener("resize",s)}},[s,u]),[l,s]}function eg(u){const l=document.createElement("textarea");l.style.position="absolute",l.style.zIndex="-1000",l.value=u,document.body.appendChild(l),l.select(),document.execCommand("copy"),l.remove()}function pu(u,l){u&&(l=Sl.getObject(u,l));const[a,s]=wn.useState(l),c=wn.useCallback(o=>{u?Sl.setObject(u,o):s(o)},[u,s]);return wn.useEffect(()=>{if(u){const o=()=>s(Sl.getObject(u,l));return Sl.onChangeEmitter.addEventListener(u,o),()=>Sl.onChangeEmitter.removeEventListener(u,o)}},[l,u]),[a,c]}class A1{constructor(){this.onChangeEmitter=new EventTarget}getString(l,a){return localStorage[l]||a}setString(l,a){var s;localStorage[l]=a,this.onChangeEmitter.dispatchEvent(new Event(l)),(s=window.saveSettings)==null||s.call(window)}getObject(l,a){if(!localStorage[l])return a;try{return JSON.parse(localStorage[l])}catch{return a}}setObject(l,a){var s;localStorage[l]=JSON.stringify(a),this.onChangeEmitter.dispatchEvent(new Event(l)),(s=window.saveSettings)==null||s.call(window)}}const Sl=new A1;function wl(...u){return u.filter(Boolean).join(" ")}const tg="\\u0000-\\u0020\\u007f-\\u009f",w1=new RegExp("(?:[a-zA-Z][a-zA-Z0-9+.-]{2,}:\\/\\/|www\\.)[^\\s"+tg+'"]{2,}[^\\s'+tg+`"')}\\],:;.!?]`,"ug"),O1="system",Cg="theme",_1=[{label:"Dark mode",value:"dark-mode"},{label:"Light mode",value:"light-mode"},{label:"System",value:"system"}],zg=window.matchMedia("(prefers-color-scheme: dark)");function N1(){document.playwrightThemeInitialized||(document.playwrightThemeInitialized=!0,document.defaultView.addEventListener("focus",u=>{u.target.document.nodeType===Node.DOCUMENT_NODE&&document.body.classList.remove("inactive")},!1),document.defaultView.addEventListener("blur",u=>{document.body.classList.add("inactive")},!1),Tf(Ef()),zg.addEventListener("change",()=>{Tf(Ef())}))}const M1=new Set;function Tf(u){const l=C1(),a=u==="system"?zg.matches?"dark-mode":"light-mode":u;if(l!==a){l&&document.documentElement.classList.remove(l),document.documentElement.classList.add(a);for(const s of M1)s(a)}}function Ef(){return Sl.getString(Cg,O1)}function C1(){return document.documentElement.classList.contains("dark-mode")?"dark-mode":document.documentElement.classList.contains("light-mode")?"light-mode":null}function z1(){const[u,l]=wn.useState(Ef());return wn.useEffect(()=>{Sl.setString(Cg,u),Tf(u)},[u]),[u,l]}var sf={exports:{}},_a={},uf={exports:{}},cf={};/**
19 - * @license React
20 - * scheduler.production.js
21 - *
22 - * Copyright (c) Meta Platforms, Inc. and affiliates.
23 - *
24 - * This source code is licensed under the MIT license found in the
25 - * LICENSE file in the root directory of this source tree.
26 - */var ng;function x1(){return ng||(ng=1,(function(u){function l(D,K){var ne=D.length;D.push(K);e:for(;0<ne;){var de=ne-1>>>1,Ne=D[de];if(0<c(Ne,K))D[de]=K,D[ne]=Ne,ne=de;else break e}}function a(D){return D.length===0?null:D[0]}function s(D){if(D.length===0)return null;var K=D[0],ne=D.pop();if(ne!==K){D[0]=ne;e:for(var de=0,Ne=D.length,O=Ne>>>1;de<O;){var Y=2*(de+1)-1,J=D[Y],I=Y+1,re=D[I];if(0>c(J,ne))I<Ne&&0>c(re,J)?(D[de]=re,D[I]=ne,de=I):(D[de]=J,D[Y]=ne,de=Y);else if(I<Ne&&0>c(re,ne))D[de]=re,D[I]=ne,de=I;else break e}}return K}function c(D,K){var ne=D.sortIndex-K.sortIndex;return ne!==0?ne:D.id-K.id}if(u.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var o=performance;u.unstable_now=function(){return o.now()}}else{var h=Date,m=h.now();u.unstable_now=function(){return h.now()-m}}var g=[],p=[],T=1,v=null,_=3,E=!1,x=!1,b=!1,A=!1,M=typeof setTimeout=="function"?setTimeout:null,R=typeof clearTimeout=="function"?clearTimeout:null,G=typeof setImmediate<"u"?setImmediate:null;function Q(D){for(var K=a(p);K!==null;){if(K.callback===null)s(p);else if(K.startTime<=D)s(p),K.sortIndex=K.expirationTime,l(g,K);else break;K=a(p)}}function Z(D){if(b=!1,Q(D),!x)if(a(g)!==null)x=!0,W||(W=!0,$());else{var K=a(p);K!==null&&se(Z,K.startTime-D)}}var W=!1,q=-1,V=5,U=-1;function ae(){return A?!0:!(u.unstable_now()-U<V)}function te(){if(A=!1,W){var D=u.unstable_now();U=D;var K=!0;try{e:{x=!1,b&&(b=!1,R(q),q=-1),E=!0;var ne=_;try{t:{for(Q(D),v=a(g);v!==null&&!(v.expirationTime>D&&ae());){var de=v.callback;if(typeof de=="function"){v.callback=null,_=v.priorityLevel;var Ne=de(v.expirationTime<=D);if(D=u.unstable_now(),typeof Ne=="function"){v.callback=Ne,Q(D),K=!0;break t}v===a(g)&&s(g),Q(D)}else s(g);v=a(g)}if(v!==null)K=!0;else{var O=a(p);O!==null&&se(Z,O.startTime-D),K=!1}}break e}finally{v=null,_=ne,E=!1}K=void 0}}finally{K?$():W=!1}}}var $;if(typeof G=="function")$=function(){G(te)};else if(typeof MessageChannel<"u"){var ee=new MessageChannel,Ae=ee.port2;ee.port1.onmessage=te,$=function(){Ae.postMessage(null)}}else $=function(){M(te,0)};function se(D,K){q=M(function(){D(u.unstable_now())},K)}u.unstable_IdlePriority=5,u.unstable_ImmediatePriority=1,u.unstable_LowPriority=4,u.unstable_NormalPriority=3,u.unstable_Profiling=null,u.unstable_UserBlockingPriority=2,u.unstable_cancelCallback=function(D){D.callback=null},u.unstable_forceFrameRate=function(D){0>D||125<D?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):V=0<D?Math.floor(1e3/D):5},u.unstable_getCurrentPriorityLevel=function(){return _},u.unstable_next=function(D){switch(_){case 1:case 2:case 3:var K=3;break;default:K=_}var ne=_;_=K;try{return D()}finally{_=ne}},u.unstable_requestPaint=function(){A=!0},u.unstable_runWithPriority=function(D,K){switch(D){case 1:case 2:case 3:case 4:case 5:break;default:D=3}var ne=_;_=D;try{return K()}finally{_=ne}},u.unstable_scheduleCallback=function(D,K,ne){var de=u.unstable_now();switch(typeof ne=="object"&&ne!==null?(ne=ne.delay,ne=typeof ne=="number"&&0<ne?de+ne:de):ne=de,D){case 1:var Ne=-1;break;case 2:Ne=250;break;case 5:Ne=1073741823;break;case 4:Ne=1e4;break;default:Ne=5e3}return Ne=ne+Ne,D={id:T++,callback:K,priorityLevel:D,startTime:ne,expirationTime:Ne,sortIndex:-1},ne>de?(D.sortIndex=ne,l(p,D),a(g)===null&&D===a(p)&&(b?(R(q),q=-1):b=!0,se(Z,ne-de))):(D.sortIndex=Ne,l(g,D),x||E||(x=!0,W||(W=!0,$()))),D},u.unstable_shouldYield=ae,u.unstable_wrapCallback=function(D){var K=_;return function(){var ne=_;_=K;try{return D.apply(this,arguments)}finally{_=ne}}}})(cf)),cf}var lg;function D1(){return lg||(lg=1,uf.exports=x1()),uf.exports}var rf={exports:{}},st={};/**
27 - * @license React
28 - * react-dom.production.js
29 - *
30 - * Copyright (c) Meta Platforms, Inc. and affiliates.
31 - *
32 - * This source code is licensed under the MIT license found in the
33 - * LICENSE file in the root directory of this source tree.
34 - */var ig;function L1(){if(ig)return st;ig=1;var u=xf();function l(g){var p="https://react.dev/errors/"+g;if(1<arguments.length){p+="?args[]="+encodeURIComponent(arguments[1]);for(var T=2;T<arguments.length;T++)p+="&args[]="+encodeURIComponent(arguments[T])}return"Minified React error #"+g+"; visit "+p+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function a(){}var s={d:{f:a,r:function(){throw Error(l(522))},D:a,C:a,L:a,m:a,X:a,S:a,M:a},p:0,findDOMNode:null},c=Symbol.for("react.portal");function o(g,p,T){var v=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:c,key:v==null?null:""+v,children:g,containerInfo:p,implementation:T}}var h=u.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function m(g,p){if(g==="font")return"";if(typeof p=="string")return p==="use-credentials"?p:""}return st.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=s,st.createPortal=function(g,p){var T=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!p||p.nodeType!==1&&p.nodeType!==9&&p.nodeType!==11)throw Error(l(299));return o(g,p,null,T)},st.flushSync=function(g){var p=h.T,T=s.p;try{if(h.T=null,s.p=2,g)return g()}finally{h.T=p,s.p=T,s.d.f()}},st.preconnect=function(g,p){typeof g=="string"&&(p?(p=p.crossOrigin,p=typeof p=="string"?p==="use-credentials"?p:"":void 0):p=null,s.d.C(g,p))},st.prefetchDNS=function(g){typeof g=="string"&&s.d.D(g)},st.preinit=function(g,p){if(typeof g=="string"&&p&&typeof p.as=="string"){var T=p.as,v=m(T,p.crossOrigin),_=typeof p.integrity=="string"?p.integrity:void 0,E=typeof p.fetchPriority=="string"?p.fetchPriority:void 0;T==="style"?s.d.S(g,typeof p.precedence=="string"?p.precedence:void 0,{crossOrigin:v,integrity:_,fetchPriority:E}):T==="script"&&s.d.X(g,{crossOrigin:v,integrity:_,fetchPriority:E,nonce:typeof p.nonce=="string"?p.nonce:void 0})}},st.preinitModule=function(g,p){if(typeof g=="string")if(typeof p=="object"&&p!==null){if(p.as==null||p.as==="script"){var T=m(p.as,p.crossOrigin);s.d.M(g,{crossOrigin:T,integrity:typeof p.integrity=="string"?p.integrity:void 0,nonce:typeof p.nonce=="string"?p.nonce:void 0})}}else p==null&&s.d.M(g)},st.preload=function(g,p){if(typeof g=="string"&&typeof p=="object"&&p!==null&&typeof p.as=="string"){var T=p.as,v=m(T,p.crossOrigin);s.d.L(g,T,{crossOrigin:v,integrity:typeof p.integrity=="string"?p.integrity:void 0,nonce:typeof p.nonce=="string"?p.nonce:void 0,type:typeof p.type=="string"?p.type:void 0,fetchPriority:typeof p.fetchPriority=="string"?p.fetchPriority:void 0,referrerPolicy:typeof p.referrerPolicy=="string"?p.referrerPolicy:void 0,imageSrcSet:typeof p.imageSrcSet=="string"?p.imageSrcSet:void 0,imageSizes:typeof p.imageSizes=="string"?p.imageSizes:void 0,media:typeof p.media=="string"?p.media:void 0})}},st.preloadModule=function(g,p){if(typeof g=="string")if(p){var T=m(p.as,p.crossOrigin);s.d.m(g,{as:typeof p.as=="string"&&p.as!=="script"?p.as:void 0,crossOrigin:T,integrity:typeof p.integrity=="string"?p.integrity:void 0})}else s.d.m(g)},st.requestFormReset=function(g){s.d.r(g)},st.unstable_batchedUpdates=function(g,p){return g(p)},st.useFormState=function(g,p,T){return h.H.useFormState(g,p,T)},st.useFormStatus=function(){return h.H.useHostTransitionStatus()},st.version="19.2.1",st}var ag;function U1(){if(ag)return rf.exports;ag=1;function u(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(u)}catch(l){console.error(l)}}return u(),rf.exports=L1(),rf.exports}/**
35 - * @license React
36 - * react-dom-client.production.js
37 - *
38 - * Copyright (c) Meta Platforms, Inc. and affiliates.
39 - *
40 - * This source code is licensed under the MIT license found in the
41 - * LICENSE file in the root directory of this source tree.
42 - */var sg;function R1(){if(sg)return _a;sg=1;var u=D1(),l=xf(),a=U1();function s(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function c(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function o(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function h(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function m(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function g(e){if(o(e)!==e)throw Error(s(188))}function p(e){var t=e.alternate;if(!t){if(t=o(e),t===null)throw Error(s(188));return t!==e?null:e}for(var n=e,i=t;;){var r=n.return;if(r===null)break;var f=r.alternate;if(f===null){if(i=r.return,i!==null){n=i;continue}break}if(r.child===f.child){for(f=r.child;f;){if(f===n)return g(r),e;if(f===i)return g(r),t;f=f.sibling}throw Error(s(188))}if(n.return!==i.return)n=r,i=f;else{for(var d=!1,y=r.child;y;){if(y===n){d=!0,n=r,i=f;break}if(y===i){d=!0,i=r,n=f;break}y=y.sibling}if(!d){for(y=f.child;y;){if(y===n){d=!0,n=f,i=r;break}if(y===i){d=!0,i=f,n=r;break}y=y.sibling}if(!d)throw Error(s(189))}}if(n.alternate!==i)throw Error(s(190))}if(n.tag!==3)throw Error(s(188));return n.stateNode.current===n?e:t}function T(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=T(e),t!==null)return t;e=e.sibling}return null}var v=Object.assign,_=Symbol.for("react.element"),E=Symbol.for("react.transitional.element"),x=Symbol.for("react.portal"),b=Symbol.for("react.fragment"),A=Symbol.for("react.strict_mode"),M=Symbol.for("react.profiler"),R=Symbol.for("react.consumer"),G=Symbol.for("react.context"),Q=Symbol.for("react.forward_ref"),Z=Symbol.for("react.suspense"),W=Symbol.for("react.suspense_list"),q=Symbol.for("react.memo"),V=Symbol.for("react.lazy"),U=Symbol.for("react.activity"),ae=Symbol.for("react.memo_cache_sentinel"),te=Symbol.iterator;function $(e){return e===null||typeof e!="object"?null:(e=te&&e[te]||e["@@iterator"],typeof e=="function"?e:null)}var ee=Symbol.for("react.client.reference");function Ae(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===ee?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case b:return"Fragment";case M:return"Profiler";case A:return"StrictMode";case Z:return"Suspense";case W:return"SuspenseList";case U:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case x:return"Portal";case G:return e.displayName||"Context";case R:return(e._context.displayName||"Context")+".Consumer";case Q:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case q:return t=e.displayName||null,t!==null?t:Ae(e.type)||"Memo";case V:t=e._payload,e=e._init;try{return Ae(e(t))}catch{}}return null}var se=Array.isArray,D=l.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,K=a.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ne={pending:!1,data:null,method:null,action:null},de=[],Ne=-1;function O(e){return{current:e}}function Y(e){0>Ne||(e.current=de[Ne],de[Ne]=null,Ne--)}function J(e,t){Ne++,de[Ne]=e.current,e.current=t}var I=O(null),re=O(null),me=O(null),we=O(null);function rt(e,t){switch(J(me,t),J(re,e),J(I,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?bm(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=bm(t),e=Sm(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}Y(I),J(I,e)}function Ye(){Y(I),Y(re),Y(me)}function Di(e){e.memoizedState!==null&&J(we,e);var t=I.current,n=Sm(t,e.type);t!==n&&(J(re,e),J(I,n))}function qa(e){re.current===e&&(Y(I),Y(re)),we.current===e&&(Y(we),Ta._currentValue=ne)}var ku,Zf;function tl(e){if(ku===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);ku=t&&t[1]||"",Zf=-1<n.stack.indexOf(`
43 - at`)?" (<anonymous>)":-1<n.stack.indexOf("@")?"@unknown:0:0":""}return`
44 -`+ku+e+Zf}var Hu=!1;function Yu(e,t){if(!e||Hu)return"";Hu=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var i={DetermineComponentFrameRoot:function(){try{if(t){var H=function(){throw Error()};if(Object.defineProperty(H.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(H,[])}catch(j){var L=j}Reflect.construct(e,[],H)}else{try{H.call()}catch(j){L=j}e.call(H.prototype)}}else{try{throw Error()}catch(j){L=j}(H=e())&&typeof H.catch=="function"&&H.catch(function(){})}}catch(j){if(j&&L&&typeof j.stack=="string")return[j.stack,L.stack]}return[null,null]}};i.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var r=Object.getOwnPropertyDescriptor(i.DetermineComponentFrameRoot,"name");r&&r.configurable&&Object.defineProperty(i.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var f=i.DetermineComponentFrameRoot(),d=f[0],y=f[1];if(d&&y){var S=d.split(`
45 -`),z=y.split(`
46 -`);for(r=i=0;i<S.length&&!S[i].includes("DetermineComponentFrameRoot");)i++;for(;r<z.length&&!z[r].includes("DetermineComponentFrameRoot");)r++;if(i===S.length||r===z.length)for(i=S.length-1,r=z.length-1;1<=i&&0<=r&&S[i]!==z[r];)r--;for(;1<=i&&0<=r;i--,r--)if(S[i]!==z[r]){if(i!==1||r!==1)do if(i--,r--,0>r||S[i]!==z[r]){var B=`
47 -`+S[i].replace(" at new "," at ");return e.displayName&&B.includes("<anonymous>")&&(B=B.replace("<anonymous>",e.displayName)),B}while(1<=i&&0<=r);break}}}finally{Hu=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?tl(n):""}function Wp(e,t){switch(e.tag){case 26:case 27:case 5:return tl(e.type);case 16:return tl("Lazy");case 13:return e.child!==t&&t!==null?tl("Suspense Fallback"):tl("Suspense");case 19:return tl("SuspenseList");case 0:case 15:return Yu(e.type,!1);case 11:return Yu(e.type.render,!1);case 1:return Yu(e.type,!0);case 31:return tl("Activity");default:return""}}function Jf(e){try{var t="",n=null;do t+=Wp(e,n),n=e,e=e.return;while(e);return t}catch(i){return`
48 -Error generating stack: `+i.message+`
49 -`+i.stack}}var $u=Object.prototype.hasOwnProperty,Gu=u.unstable_scheduleCallback,Ku=u.unstable_cancelCallback,Fp=u.unstable_shouldYield,Ip=u.unstable_requestPaint,Et=u.unstable_now,Pp=u.unstable_getCurrentPriorityLevel,Wf=u.unstable_ImmediatePriority,Ff=u.unstable_UserBlockingPriority,ka=u.unstable_NormalPriority,ey=u.unstable_LowPriority,If=u.unstable_IdlePriority,ty=u.log,ny=u.unstable_setDisableYieldValue,Li=null,At=null;function _n(e){if(typeof ty=="function"&&ny(e),At&&typeof At.setStrictMode=="function")try{At.setStrictMode(Li,e)}catch{}}var wt=Math.clz32?Math.clz32:ay,ly=Math.log,iy=Math.LN2;function ay(e){return e>>>=0,e===0?32:31-(ly(e)/iy|0)|0}var Ha=256,Ya=262144,$a=4194304;function nl(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Ga(e,t,n){var i=e.pendingLanes;if(i===0)return 0;var r=0,f=e.suspendedLanes,d=e.pingedLanes;e=e.warmLanes;var y=i&134217727;return y!==0?(i=y&~f,i!==0?r=nl(i):(d&=y,d!==0?r=nl(d):n||(n=y&~e,n!==0&&(r=nl(n))))):(y=i&~f,y!==0?r=nl(y):d!==0?r=nl(d):n||(n=i&~e,n!==0&&(r=nl(n)))),r===0?0:t!==0&&t!==r&&(t&f)===0&&(f=r&-r,n=t&-t,f>=n||f===32&&(n&4194048)!==0)?t:r}function Ui(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function sy(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Pf(){var e=$a;return $a<<=1,($a&62914560)===0&&($a=4194304),e}function Vu(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Ri(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function uy(e,t,n,i,r,f){var d=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var y=e.entanglements,S=e.expirationTimes,z=e.hiddenUpdates;for(n=d&~n;0<n;){var B=31-wt(n),H=1<<B;y[B]=0,S[B]=-1;var L=z[B];if(L!==null)for(z[B]=null,B=0;B<L.length;B++){var j=L[B];j!==null&&(j.lane&=-536870913)}n&=~H}i!==0&&eo(e,i,0),f!==0&&r===0&&e.tag!==0&&(e.suspendedLanes|=f&~(d&~t))}function eo(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var i=31-wt(t);e.entangledLanes|=t,e.entanglements[i]=e.entanglements[i]|1073741824|n&261930}function to(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var i=31-wt(n),r=1<<i;r&t|e[i]&t&&(e[i]|=t),n&=~r}}function no(e,t){var n=t&-t;return n=(n&42)!==0?1:Qu(n),(n&(e.suspendedLanes|t))!==0?0:n}function Qu(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function Xu(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function lo(){var e=K.p;return e!==0?e:(e=window.event,e===void 0?32:Gm(e.type))}function io(e,t){var n=K.p;try{return K.p=e,t()}finally{K.p=n}}var Nn=Math.random().toString(36).slice(2),tt="__reactFiber$"+Nn,ht="__reactProps$"+Nn,Ml="__reactContainer$"+Nn,Zu="__reactEvents$"+Nn,cy="__reactListeners$"+Nn,ry="__reactHandles$"+Nn,ao="__reactResources$"+Nn,ji="__reactMarker$"+Nn;function Ju(e){delete e[tt],delete e[ht],delete e[Zu],delete e[cy],delete e[ry]}function Cl(e){var t=e[tt];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Ml]||n[tt]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=Nm(e);e!==null;){if(n=e[tt])return n;e=Nm(e)}return t}e=n,n=e.parentNode}return null}function zl(e){if(e=e[tt]||e[Ml]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function Bi(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(s(33))}function xl(e){var t=e[ao];return t||(t=e[ao]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function Pe(e){e[ji]=!0}var so=new Set,uo={};function ll(e,t){Dl(e,t),Dl(e+"Capture",t)}function Dl(e,t){for(uo[e]=t,e=0;e<t.length;e++)so.add(t[e])}var fy=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),co={},ro={};function oy(e){return $u.call(ro,e)?!0:$u.call(co,e)?!1:fy.test(e)?ro[e]=!0:(co[e]=!0,!1)}function Ka(e,t,n){if(oy(t))if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var i=t.toLowerCase().slice(0,5);if(i!=="data-"&&i!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+n)}}function Va(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+n)}}function ln(e,t,n,i){if(i===null)e.removeAttribute(n);else{switch(typeof i){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(n);return}e.setAttributeNS(t,n,""+i)}}function Ut(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function fo(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function hy(e,t,n){var i=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof i<"u"&&typeof i.get=="function"&&typeof i.set=="function"){var r=i.get,f=i.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(d){n=""+d,f.call(this,d)}}),Object.defineProperty(e,t,{enumerable:i.enumerable}),{getValue:function(){return n},setValue:function(d){n=""+d},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Wu(e){if(!e._valueTracker){var t=fo(e)?"checked":"value";e._valueTracker=hy(e,t,""+e[t])}}function oo(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),i="";return e&&(i=fo(e)?e.checked?"true":"false":e.value),e=i,e!==n?(t.setValue(e),!0):!1}function Qa(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var dy=/[\n"\\]/g;function Rt(e){return e.replace(dy,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Fu(e,t,n,i,r,f,d,y){e.name="",d!=null&&typeof d!="function"&&typeof d!="symbol"&&typeof d!="boolean"?e.type=d:e.removeAttribute("type"),t!=null?d==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Ut(t)):e.value!==""+Ut(t)&&(e.value=""+Ut(t)):d!=="submit"&&d!=="reset"||e.removeAttribute("value"),t!=null?Iu(e,d,Ut(t)):n!=null?Iu(e,d,Ut(n)):i!=null&&e.removeAttribute("value"),r==null&&f!=null&&(e.defaultChecked=!!f),r!=null&&(e.checked=r&&typeof r!="function"&&typeof r!="symbol"),y!=null&&typeof y!="function"&&typeof y!="symbol"&&typeof y!="boolean"?e.name=""+Ut(y):e.removeAttribute("name")}function ho(e,t,n,i,r,f,d,y){if(f!=null&&typeof f!="function"&&typeof f!="symbol"&&typeof f!="boolean"&&(e.type=f),t!=null||n!=null){if(!(f!=="submit"&&f!=="reset"||t!=null)){Wu(e);return}n=n!=null?""+Ut(n):"",t=t!=null?""+Ut(t):n,y||t===e.value||(e.value=t),e.defaultValue=t}i=i??r,i=typeof i!="function"&&typeof i!="symbol"&&!!i,e.checked=y?e.checked:!!i,e.defaultChecked=!!i,d!=null&&typeof d!="function"&&typeof d!="symbol"&&typeof d!="boolean"&&(e.name=d),Wu(e)}function Iu(e,t,n){t==="number"&&Qa(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function Ll(e,t,n,i){if(e=e.options,t){t={};for(var r=0;r<n.length;r++)t["$"+n[r]]=!0;for(n=0;n<e.length;n++)r=t.hasOwnProperty("$"+e[n].value),e[n].selected!==r&&(e[n].selected=r),r&&i&&(e[n].defaultSelected=!0)}else{for(n=""+Ut(n),t=null,r=0;r<e.length;r++){if(e[r].value===n){e[r].selected=!0,i&&(e[r].defaultSelected=!0);return}t!==null||e[r].disabled||(t=e[r])}t!==null&&(t.selected=!0)}}function mo(e,t,n){if(t!=null&&(t=""+Ut(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n!=null?""+Ut(n):""}function go(e,t,n,i){if(t==null){if(i!=null){if(n!=null)throw Error(s(92));if(se(i)){if(1<i.length)throw Error(s(93));i=i[0]}n=i}n==null&&(n=""),t=n}n=Ut(t),e.defaultValue=n,i=e.textContent,i===n&&i!==""&&i!==null&&(e.value=i),Wu(e)}function Ul(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var my=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function po(e,t,n){var i=t.indexOf("--")===0;n==null||typeof n=="boolean"||n===""?i?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":i?e.setProperty(t,n):typeof n!="number"||n===0||my.has(t)?t==="float"?e.cssFloat=n:e[t]=(""+n).trim():e[t]=n+"px"}function yo(e,t,n){if(t!=null&&typeof t!="object")throw Error(s(62));if(e=e.style,n!=null){for(var i in n)!n.hasOwnProperty(i)||t!=null&&t.hasOwnProperty(i)||(i.indexOf("--")===0?e.setProperty(i,""):i==="float"?e.cssFloat="":e[i]="");for(var r in t)i=t[r],t.hasOwnProperty(r)&&n[r]!==i&&po(e,r,i)}else for(var f in t)t.hasOwnProperty(f)&&po(e,f,t[f])}function Pu(e){if(e.indexOf("-")===-1)return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var gy=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),py=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function Xa(e){return py.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function an(){}var ec=null;function tc(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Rl=null,jl=null;function vo(e){var t=zl(e);if(t&&(e=t.stateNode)){var n=e[ht]||null;e:switch(e=t.stateNode,t.type){case"input":if(Fu(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll('input[name="'+Rt(""+t)+'"][type="radio"]'),t=0;t<n.length;t++){var i=n[t];if(i!==e&&i.form===e.form){var r=i[ht]||null;if(!r)throw Error(s(90));Fu(i,r.value,r.defaultValue,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name)}}for(t=0;t<n.length;t++)i=n[t],i.form===e.form&&oo(i)}break e;case"textarea":mo(e,n.value,n.defaultValue);break e;case"select":t=n.value,t!=null&&Ll(e,!!n.multiple,t,!1)}}}var nc=!1;function bo(e,t,n){if(nc)return e(t,n);nc=!0;try{var i=e(t);return i}finally{if(nc=!1,(Rl!==null||jl!==null)&&(Us(),Rl&&(t=Rl,e=jl,jl=Rl=null,vo(t),e)))for(t=0;t<e.length;t++)vo(e[t])}}function qi(e,t){var n=e.stateNode;if(n===null)return null;var i=n[ht]||null;if(i===null)return null;n=i[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(i=!i.disabled)||(e=e.type,i=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!i;break e;default:e=!1}if(e)return null;if(n&&typeof n!="function")throw Error(s(231,t,typeof n));return n}var sn=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),lc=!1;if(sn)try{var ki={};Object.defineProperty(ki,"passive",{get:function(){lc=!0}}),window.addEventListener("test",ki,ki),window.removeEventListener("test",ki,ki)}catch{lc=!1}var Mn=null,ic=null,Za=null;function So(){if(Za)return Za;var e,t=ic,n=t.length,i,r="value"in Mn?Mn.value:Mn.textContent,f=r.length;for(e=0;e<n&&t[e]===r[e];e++);var d=n-e;for(i=1;i<=d&&t[n-i]===r[f-i];i++);return Za=r.slice(e,1<i?1-i:void 0)}function Ja(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Wa(){return!0}function To(){return!1}function dt(e){function t(n,i,r,f,d){this._reactName=n,this._targetInst=r,this.type=i,this.nativeEvent=f,this.target=d,this.currentTarget=null;for(var y in e)e.hasOwnProperty(y)&&(n=e[y],this[y]=n?n(f):f[y]);return this.isDefaultPrevented=(f.defaultPrevented!=null?f.defaultPrevented:f.returnValue===!1)?Wa:To,this.isPropagationStopped=To,this}return v(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=Wa)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=Wa)},persist:function(){},isPersistent:Wa}),t}var il={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Fa=dt(il),Hi=v({},il,{view:0,detail:0}),yy=dt(Hi),ac,sc,Yi,Ia=v({},Hi,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:cc,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==Yi&&(Yi&&e.type==="mousemove"?(ac=e.screenX-Yi.screenX,sc=e.screenY-Yi.screenY):sc=ac=0,Yi=e),ac)},movementY:function(e){return"movementY"in e?e.movementY:sc}}),Eo=dt(Ia),vy=v({},Ia,{dataTransfer:0}),by=dt(vy),Sy=v({},Hi,{relatedTarget:0}),uc=dt(Sy),Ty=v({},il,{animationName:0,elapsedTime:0,pseudoElement:0}),Ey=dt(Ty),Ay=v({},il,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),wy=dt(Ay),Oy=v({},il,{data:0}),Ao=dt(Oy),_y={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Ny={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},My={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Cy(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=My[e])?!!t[e]:!1}function cc(){return Cy}var zy=v({},Hi,{key:function(e){if(e.key){var t=_y[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Ja(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?Ny[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:cc,charCode:function(e){return e.type==="keypress"?Ja(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Ja(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),xy=dt(zy),Dy=v({},Ia,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),wo=dt(Dy),Ly=v({},Hi,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:cc}),Uy=dt(Ly),Ry=v({},il,{propertyName:0,elapsedTime:0,pseudoElement:0}),jy=dt(Ry),By=v({},Ia,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),qy=dt(By),ky=v({},il,{newState:0,oldState:0}),Hy=dt(ky),Yy=[9,13,27,32],rc=sn&&"CompositionEvent"in window,$i=null;sn&&"documentMode"in document&&($i=document.documentMode);var $y=sn&&"TextEvent"in window&&!$i,Oo=sn&&(!rc||$i&&8<$i&&11>=$i),_o=" ",No=!1;function Mo(e,t){switch(e){case"keyup":return Yy.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Co(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Bl=!1;function Gy(e,t){switch(e){case"compositionend":return Co(t);case"keypress":return t.which!==32?null:(No=!0,_o);case"textInput":return e=t.data,e===_o&&No?null:e;default:return null}}function Ky(e,t){if(Bl)return e==="compositionend"||!rc&&Mo(e,t)?(e=So(),Za=ic=Mn=null,Bl=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Oo&&t.locale!=="ko"?null:t.data;default:return null}}var Vy={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function zo(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!Vy[e.type]:t==="textarea"}function xo(e,t,n,i){Rl?jl?jl.push(i):jl=[i]:Rl=i,t=Ys(t,"onChange"),0<t.length&&(n=new Fa("onChange","change",null,n,i),e.push({event:n,listeners:t}))}var Gi=null,Ki=null;function Qy(e){dm(e,0)}function Pa(e){var t=Bi(e);if(oo(t))return e}function Do(e,t){if(e==="change")return t}var Lo=!1;if(sn){var fc;if(sn){var oc="oninput"in document;if(!oc){var Uo=document.createElement("div");Uo.setAttribute("oninput","return;"),oc=typeof Uo.oninput=="function"}fc=oc}else fc=!1;Lo=fc&&(!document.documentMode||9<document.documentMode)}function Ro(){Gi&&(Gi.detachEvent("onpropertychange",jo),Ki=Gi=null)}function jo(e){if(e.propertyName==="value"&&Pa(Ki)){var t=[];xo(t,Ki,e,tc(e)),bo(Qy,t)}}function Xy(e,t,n){e==="focusin"?(Ro(),Gi=t,Ki=n,Gi.attachEvent("onpropertychange",jo)):e==="focusout"&&Ro()}function Zy(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Pa(Ki)}function Jy(e,t){if(e==="click")return Pa(t)}function Wy(e,t){if(e==="input"||e==="change")return Pa(t)}function Fy(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Ot=typeof Object.is=="function"?Object.is:Fy;function Vi(e,t){if(Ot(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),i=Object.keys(t);if(n.length!==i.length)return!1;for(i=0;i<n.length;i++){var r=n[i];if(!$u.call(t,r)||!Ot(e[r],t[r]))return!1}return!0}function Bo(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function qo(e,t){var n=Bo(e);e=0;for(var i;n;){if(n.nodeType===3){if(i=e+n.textContent.length,e<=t&&i>=t)return{node:n,offset:t-e};e=i}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Bo(n)}}function ko(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?ko(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Ho(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Qa(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Qa(e.document)}return t}function hc(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var Iy=sn&&"documentMode"in document&&11>=document.documentMode,ql=null,dc=null,Qi=null,mc=!1;function Yo(e,t,n){var i=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;mc||ql==null||ql!==Qa(i)||(i=ql,"selectionStart"in i&&hc(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),Qi&&Vi(Qi,i)||(Qi=i,i=Ys(dc,"onSelect"),0<i.length&&(t=new Fa("onSelect","select",null,t,n),e.push({event:t,listeners:i}),t.target=ql)))}function al(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var kl={animationend:al("Animation","AnimationEnd"),animationiteration:al("Animation","AnimationIteration"),animationstart:al("Animation","AnimationStart"),transitionrun:al("Transition","TransitionRun"),transitionstart:al("Transition","TransitionStart"),transitioncancel:al("Transition","TransitionCancel"),transitionend:al("Transition","TransitionEnd")},gc={},$o={};sn&&($o=document.createElement("div").style,"AnimationEvent"in window||(delete kl.animationend.animation,delete kl.animationiteration.animation,delete kl.animationstart.animation),"TransitionEvent"in window||delete kl.transitionend.transition);function sl(e){if(gc[e])return gc[e];if(!kl[e])return e;var t=kl[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in $o)return gc[e]=t[n];return e}var Go=sl("animationend"),Ko=sl("animationiteration"),Vo=sl("animationstart"),Py=sl("transitionrun"),e0=sl("transitionstart"),t0=sl("transitioncancel"),Qo=sl("transitionend"),Xo=new Map,pc="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");pc.push("scrollEnd");function Qt(e,t){Xo.set(e,t),ll(t,[e])}var es=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},jt=[],Hl=0,yc=0;function ts(){for(var e=Hl,t=yc=Hl=0;t<e;){var n=jt[t];jt[t++]=null;var i=jt[t];jt[t++]=null;var r=jt[t];jt[t++]=null;var f=jt[t];if(jt[t++]=null,i!==null&&r!==null){var d=i.pending;d===null?r.next=r:(r.next=d.next,d.next=r),i.pending=r}f!==0&&Zo(n,r,f)}}function ns(e,t,n,i){jt[Hl++]=e,jt[Hl++]=t,jt[Hl++]=n,jt[Hl++]=i,yc|=i,e.lanes|=i,e=e.alternate,e!==null&&(e.lanes|=i)}function vc(e,t,n,i){return ns(e,t,n,i),ls(e)}function ul(e,t){return ns(e,null,null,t),ls(e)}function Zo(e,t,n){e.lanes|=n;var i=e.alternate;i!==null&&(i.lanes|=n);for(var r=!1,f=e.return;f!==null;)f.childLanes|=n,i=f.alternate,i!==null&&(i.childLanes|=n),f.tag===22&&(e=f.stateNode,e===null||e._visibility&1||(r=!0)),e=f,f=f.return;return e.tag===3?(f=e.stateNode,r&&t!==null&&(r=31-wt(n),e=f.hiddenUpdates,i=e[r],i===null?e[r]=[t]:i.push(t),t.lane=n|536870912),f):null}function ls(e){if(50<ma)throw ma=0,Nr=null,Error(s(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var Yl={};function n0(e,t,n,i){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function _t(e,t,n,i){return new n0(e,t,n,i)}function bc(e){return e=e.prototype,!(!e||!e.isReactComponent)}function un(e,t){var n=e.alternate;return n===null?(n=_t(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&65011712,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function Jo(e,t){e.flags&=65011714;var n=e.alternate;return n===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function is(e,t,n,i,r,f){var d=0;if(i=e,typeof e=="function")bc(e)&&(d=1);else if(typeof e=="string")d=u1(e,n,I.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case U:return e=_t(31,n,t,r),e.elementType=U,e.lanes=f,e;case b:return cl(n.children,r,f,t);case A:d=8,r|=24;break;case M:return e=_t(12,n,t,r|2),e.elementType=M,e.lanes=f,e;case Z:return e=_t(13,n,t,r),e.elementType=Z,e.lanes=f,e;case W:return e=_t(19,n,t,r),e.elementType=W,e.lanes=f,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case G:d=10;break e;case R:d=9;break e;case Q:d=11;break e;case q:d=14;break e;case V:d=16,i=null;break e}d=29,n=Error(s(130,e===null?"null":typeof e,"")),i=null}return t=_t(d,n,t,r),t.elementType=e,t.type=i,t.lanes=f,t}function cl(e,t,n,i){return e=_t(7,e,i,t),e.lanes=n,e}function Sc(e,t,n){return e=_t(6,e,null,t),e.lanes=n,e}function Wo(e){var t=_t(18,null,null,0);return t.stateNode=e,t}function Tc(e,t,n){return t=_t(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var Fo=new WeakMap;function Bt(e,t){if(typeof e=="object"&&e!==null){var n=Fo.get(e);return n!==void 0?n:(t={value:e,source:t,stack:Jf(t)},Fo.set(e,t),t)}return{value:e,source:t,stack:Jf(t)}}var $l=[],Gl=0,as=null,Xi=0,qt=[],kt=0,Cn=null,Ft=1,It="";function cn(e,t){$l[Gl++]=Xi,$l[Gl++]=as,as=e,Xi=t}function Io(e,t,n){qt[kt++]=Ft,qt[kt++]=It,qt[kt++]=Cn,Cn=e;var i=Ft;e=It;var r=32-wt(i)-1;i&=~(1<<r),n+=1;var f=32-wt(t)+r;if(30<f){var d=r-r%5;f=(i&(1<<d)-1).toString(32),i>>=d,r-=d,Ft=1<<32-wt(t)+r|n<<r|i,It=f+e}else Ft=1<<f|n<<r|i,It=e}function Ec(e){e.return!==null&&(cn(e,1),Io(e,1,0))}function Ac(e){for(;e===as;)as=$l[--Gl],$l[Gl]=null,Xi=$l[--Gl],$l[Gl]=null;for(;e===Cn;)Cn=qt[--kt],qt[kt]=null,It=qt[--kt],qt[kt]=null,Ft=qt[--kt],qt[kt]=null}function Po(e,t){qt[kt++]=Ft,qt[kt++]=It,qt[kt++]=Cn,Ft=t.id,It=t.overflow,Cn=e}var nt=null,Le=null,be=!1,zn=null,Ht=!1,wc=Error(s(519));function xn(e){var t=Error(s(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Zi(Bt(t,e)),wc}function eh(e){var t=e.stateNode,n=e.type,i=e.memoizedProps;switch(t[tt]=e,t[ht]=i,n){case"dialog":pe("cancel",t),pe("close",t);break;case"iframe":case"object":case"embed":pe("load",t);break;case"video":case"audio":for(n=0;n<pa.length;n++)pe(pa[n],t);break;case"source":pe("error",t);break;case"img":case"image":case"link":pe("error",t),pe("load",t);break;case"details":pe("toggle",t);break;case"input":pe("invalid",t),ho(t,i.value,i.defaultValue,i.checked,i.defaultChecked,i.type,i.name,!0);break;case"select":pe("invalid",t);break;case"textarea":pe("invalid",t),go(t,i.value,i.defaultValue,i.children)}n=i.children,typeof n!="string"&&typeof n!="number"&&typeof n!="bigint"||t.textContent===""+n||i.suppressHydrationWarning===!0||ym(t.textContent,n)?(i.popover!=null&&(pe("beforetoggle",t),pe("toggle",t)),i.onScroll!=null&&pe("scroll",t),i.onScrollEnd!=null&&pe("scrollend",t),i.onClick!=null&&(t.onclick=an),t=!0):t=!1,t||xn(e,!0)}function th(e){for(nt=e.return;nt;)switch(nt.tag){case 5:case 31:case 13:Ht=!1;return;case 27:case 3:Ht=!0;return;default:nt=nt.return}}function Kl(e){if(e!==nt)return!1;if(!be)return th(e),be=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=!(n!=="form"&&n!=="button")||$r(e.type,e.memoizedProps)),n=!n),n&&Le&&xn(e),th(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(s(317));Le=_m(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(s(317));Le=_m(e)}else t===27?(t=Le,Vn(e.type)?(e=Xr,Xr=null,Le=e):Le=t):Le=nt?$t(e.stateNode.nextSibling):null;return!0}function rl(){Le=nt=null,be=!1}function Oc(){var e=zn;return e!==null&&(yt===null?yt=e:yt.push.apply(yt,e),zn=null),e}function Zi(e){zn===null?zn=[e]:zn.push(e)}var _c=O(null),fl=null,rn=null;function Dn(e,t,n){J(_c,t._currentValue),t._currentValue=n}function fn(e){e._currentValue=_c.current,Y(_c)}function Nc(e,t,n){for(;e!==null;){var i=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,i!==null&&(i.childLanes|=t)):i!==null&&(i.childLanes&t)!==t&&(i.childLanes|=t),e===n)break;e=e.return}}function Mc(e,t,n,i){var r=e.child;for(r!==null&&(r.return=e);r!==null;){var f=r.dependencies;if(f!==null){var d=r.child;f=f.firstContext;e:for(;f!==null;){var y=f;f=r;for(var S=0;S<t.length;S++)if(y.context===t[S]){f.lanes|=n,y=f.alternate,y!==null&&(y.lanes|=n),Nc(f.return,n,e),i||(d=null);break e}f=y.next}}else if(r.tag===18){if(d=r.return,d===null)throw Error(s(341));d.lanes|=n,f=d.alternate,f!==null&&(f.lanes|=n),Nc(d,n,e),d=null}else d=r.child;if(d!==null)d.return=r;else for(d=r;d!==null;){if(d===e){d=null;break}if(r=d.sibling,r!==null){r.return=d.return,d=r;break}d=d.return}r=d}}function Vl(e,t,n,i){e=null;for(var r=t,f=!1;r!==null;){if(!f){if((r.flags&524288)!==0)f=!0;else if((r.flags&262144)!==0)break}if(r.tag===10){var d=r.alternate;if(d===null)throw Error(s(387));if(d=d.memoizedProps,d!==null){var y=r.type;Ot(r.pendingProps.value,d.value)||(e!==null?e.push(y):e=[y])}}else if(r===we.current){if(d=r.alternate,d===null)throw Error(s(387));d.memoizedState.memoizedState!==r.memoizedState.memoizedState&&(e!==null?e.push(Ta):e=[Ta])}r=r.return}e!==null&&Mc(t,e,n,i),t.flags|=262144}function ss(e){for(e=e.firstContext;e!==null;){if(!Ot(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function ol(e){fl=e,rn=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function lt(e){return nh(fl,e)}function us(e,t){return fl===null&&ol(e),nh(e,t)}function nh(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},rn===null){if(e===null)throw Error(s(308));rn=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else rn=rn.next=t;return n}var l0=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(n,i){e.push(i)}};this.abort=function(){t.aborted=!0,e.forEach(function(n){return n()})}},i0=u.unstable_scheduleCallback,a0=u.unstable_NormalPriority,Qe={$$typeof:G,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Cc(){return{controller:new l0,data:new Map,refCount:0}}function Ji(e){e.refCount--,e.refCount===0&&i0(a0,function(){e.controller.abort()})}var Wi=null,zc=0,Ql=0,Xl=null;function s0(e,t){if(Wi===null){var n=Wi=[];zc=0,Ql=Lr(),Xl={status:"pending",value:void 0,then:function(i){n.push(i)}}}return zc++,t.then(lh,lh),t}function lh(){if(--zc===0&&Wi!==null){Xl!==null&&(Xl.status="fulfilled");var e=Wi;Wi=null,Ql=0,Xl=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function u0(e,t){var n=[],i={status:"pending",value:null,reason:null,then:function(r){n.push(r)}};return e.then(function(){i.status="fulfilled",i.value=t;for(var r=0;r<n.length;r++)(0,n[r])(t)},function(r){for(i.status="rejected",i.reason=r,r=0;r<n.length;r++)(0,n[r])(void 0)}),i}var ih=D.S;D.S=function(e,t){Yd=Et(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&s0(e,t),ih!==null&&ih(e,t)};var hl=O(null);function xc(){var e=hl.current;return e!==null?e:xe.pooledCache}function cs(e,t){t===null?J(hl,hl.current):J(hl,t.pool)}function ah(){var e=xc();return e===null?null:{parent:Qe._currentValue,pool:e}}var Zl=Error(s(460)),Dc=Error(s(474)),rs=Error(s(542)),fs={then:function(){}};function sh(e){return e=e.status,e==="fulfilled"||e==="rejected"}function uh(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(an,an),t=n),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,rh(e),e;default:if(typeof t.status=="string")t.then(an,an);else{if(e=xe,e!==null&&100<e.shellSuspendCounter)throw Error(s(482));e=t,e.status="pending",e.then(function(i){if(t.status==="pending"){var r=t;r.status="fulfilled",r.value=i}},function(i){if(t.status==="pending"){var r=t;r.status="rejected",r.reason=i}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,rh(e),e}throw ml=t,Zl}}function dl(e){try{var t=e._init;return t(e._payload)}catch(n){throw n!==null&&typeof n=="object"&&typeof n.then=="function"?(ml=n,Zl):n}}var ml=null;function ch(){if(ml===null)throw Error(s(459));var e=ml;return ml=null,e}function rh(e){if(e===Zl||e===rs)throw Error(s(483))}var Jl=null,Fi=0;function os(e){var t=Fi;return Fi+=1,Jl===null&&(Jl=[]),uh(Jl,e,t)}function Ii(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function hs(e,t){throw t.$$typeof===_?Error(s(525)):(e=Object.prototype.toString.call(t),Error(s(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function fh(e){function t(N,w){if(e){var C=N.deletions;C===null?(N.deletions=[w],N.flags|=16):C.push(w)}}function n(N,w){if(!e)return null;for(;w!==null;)t(N,w),w=w.sibling;return null}function i(N){for(var w=new Map;N!==null;)N.key!==null?w.set(N.key,N):w.set(N.index,N),N=N.sibling;return w}function r(N,w){return N=un(N,w),N.index=0,N.sibling=null,N}function f(N,w,C){return N.index=C,e?(C=N.alternate,C!==null?(C=C.index,C<w?(N.flags|=67108866,w):C):(N.flags|=67108866,w)):(N.flags|=1048576,w)}function d(N){return e&&N.alternate===null&&(N.flags|=67108866),N}function y(N,w,C,k){return w===null||w.tag!==6?(w=Sc(C,N.mode,k),w.return=N,w):(w=r(w,C),w.return=N,w)}function S(N,w,C,k){var le=C.type;return le===b?B(N,w,C.props.children,k,C.key):w!==null&&(w.elementType===le||typeof le=="object"&&le!==null&&le.$$typeof===V&&dl(le)===w.type)?(w=r(w,C.props),Ii(w,C),w.return=N,w):(w=is(C.type,C.key,C.props,null,N.mode,k),Ii(w,C),w.return=N,w)}function z(N,w,C,k){return w===null||w.tag!==4||w.stateNode.containerInfo!==C.containerInfo||w.stateNode.implementation!==C.implementation?(w=Tc(C,N.mode,k),w.return=N,w):(w=r(w,C.children||[]),w.return=N,w)}function B(N,w,C,k,le){return w===null||w.tag!==7?(w=cl(C,N.mode,k,le),w.return=N,w):(w=r(w,C),w.return=N,w)}function H(N,w,C){if(typeof w=="string"&&w!==""||typeof w=="number"||typeof w=="bigint")return w=Sc(""+w,N.mode,C),w.return=N,w;if(typeof w=="object"&&w!==null){switch(w.$$typeof){case E:return C=is(w.type,w.key,w.props,null,N.mode,C),Ii(C,w),C.return=N,C;case x:return w=Tc(w,N.mode,C),w.return=N,w;case V:return w=dl(w),H(N,w,C)}if(se(w)||$(w))return w=cl(w,N.mode,C,null),w.return=N,w;if(typeof w.then=="function")return H(N,os(w),C);if(w.$$typeof===G)return H(N,us(N,w),C);hs(N,w)}return null}function L(N,w,C,k){var le=w!==null?w.key:null;if(typeof C=="string"&&C!==""||typeof C=="number"||typeof C=="bigint")return le!==null?null:y(N,w,""+C,k);if(typeof C=="object"&&C!==null){switch(C.$$typeof){case E:return C.key===le?S(N,w,C,k):null;case x:return C.key===le?z(N,w,C,k):null;case V:return C=dl(C),L(N,w,C,k)}if(se(C)||$(C))return le!==null?null:B(N,w,C,k,null);if(typeof C.then=="function")return L(N,w,os(C),k);if(C.$$typeof===G)return L(N,w,us(N,C),k);hs(N,C)}return null}function j(N,w,C,k,le){if(typeof k=="string"&&k!==""||typeof k=="number"||typeof k=="bigint")return N=N.get(C)||null,y(w,N,""+k,le);if(typeof k=="object"&&k!==null){switch(k.$$typeof){case E:return N=N.get(k.key===null?C:k.key)||null,S(w,N,k,le);case x:return N=N.get(k.key===null?C:k.key)||null,z(w,N,k,le);case V:return k=dl(k),j(N,w,C,k,le)}if(se(k)||$(k))return N=N.get(C)||null,B(w,N,k,le,null);if(typeof k.then=="function")return j(N,w,C,os(k),le);if(k.$$typeof===G)return j(N,w,C,us(w,k),le);hs(w,k)}return null}function F(N,w,C,k){for(var le=null,Se=null,P=w,oe=w=0,ve=null;P!==null&&oe<C.length;oe++){P.index>oe?(ve=P,P=null):ve=P.sibling;var Te=L(N,P,C[oe],k);if(Te===null){P===null&&(P=ve);break}e&&P&&Te.alternate===null&&t(N,P),w=f(Te,w,oe),Se===null?le=Te:Se.sibling=Te,Se=Te,P=ve}if(oe===C.length)return n(N,P),be&&cn(N,oe),le;if(P===null){for(;oe<C.length;oe++)P=H(N,C[oe],k),P!==null&&(w=f(P,w,oe),Se===null?le=P:Se.sibling=P,Se=P);return be&&cn(N,oe),le}for(P=i(P);oe<C.length;oe++)ve=j(P,N,oe,C[oe],k),ve!==null&&(e&&ve.alternate!==null&&P.delete(ve.key===null?oe:ve.key),w=f(ve,w,oe),Se===null?le=ve:Se.sibling=ve,Se=ve);return e&&P.forEach(function(Wn){return t(N,Wn)}),be&&cn(N,oe),le}function ie(N,w,C,k){if(C==null)throw Error(s(151));for(var le=null,Se=null,P=w,oe=w=0,ve=null,Te=C.next();P!==null&&!Te.done;oe++,Te=C.next()){P.index>oe?(ve=P,P=null):ve=P.sibling;var Wn=L(N,P,Te.value,k);if(Wn===null){P===null&&(P=ve);break}e&&P&&Wn.alternate===null&&t(N,P),w=f(Wn,w,oe),Se===null?le=Wn:Se.sibling=Wn,Se=Wn,P=ve}if(Te.done)return n(N,P),be&&cn(N,oe),le;if(P===null){for(;!Te.done;oe++,Te=C.next())Te=H(N,Te.value,k),Te!==null&&(w=f(Te,w,oe),Se===null?le=Te:Se.sibling=Te,Se=Te);return be&&cn(N,oe),le}for(P=i(P);!Te.done;oe++,Te=C.next())Te=j(P,N,oe,Te.value,k),Te!==null&&(e&&Te.alternate!==null&&P.delete(Te.key===null?oe:Te.key),w=f(Te,w,oe),Se===null?le=Te:Se.sibling=Te,Se=Te);return e&&P.forEach(function(v1){return t(N,v1)}),be&&cn(N,oe),le}function ze(N,w,C,k){if(typeof C=="object"&&C!==null&&C.type===b&&C.key===null&&(C=C.props.children),typeof C=="object"&&C!==null){switch(C.$$typeof){case E:e:{for(var le=C.key;w!==null;){if(w.key===le){if(le=C.type,le===b){if(w.tag===7){n(N,w.sibling),k=r(w,C.props.children),k.return=N,N=k;break e}}else if(w.elementType===le||typeof le=="object"&&le!==null&&le.$$typeof===V&&dl(le)===w.type){n(N,w.sibling),k=r(w,C.props),Ii(k,C),k.return=N,N=k;break e}n(N,w);break}else t(N,w);w=w.sibling}C.type===b?(k=cl(C.props.children,N.mode,k,C.key),k.return=N,N=k):(k=is(C.type,C.key,C.props,null,N.mode,k),Ii(k,C),k.return=N,N=k)}return d(N);case x:e:{for(le=C.key;w!==null;){if(w.key===le)if(w.tag===4&&w.stateNode.containerInfo===C.containerInfo&&w.stateNode.implementation===C.implementation){n(N,w.sibling),k=r(w,C.children||[]),k.return=N,N=k;break e}else{n(N,w);break}else t(N,w);w=w.sibling}k=Tc(C,N.mode,k),k.return=N,N=k}return d(N);case V:return C=dl(C),ze(N,w,C,k)}if(se(C))return F(N,w,C,k);if($(C)){if(le=$(C),typeof le!="function")throw Error(s(150));return C=le.call(C),ie(N,w,C,k)}if(typeof C.then=="function")return ze(N,w,os(C),k);if(C.$$typeof===G)return ze(N,w,us(N,C),k);hs(N,C)}return typeof C=="string"&&C!==""||typeof C=="number"||typeof C=="bigint"?(C=""+C,w!==null&&w.tag===6?(n(N,w.sibling),k=r(w,C),k.return=N,N=k):(n(N,w),k=Sc(C,N.mode,k),k.return=N,N=k),d(N)):n(N,w)}return function(N,w,C,k){try{Fi=0;var le=ze(N,w,C,k);return Jl=null,le}catch(P){if(P===Zl||P===rs)throw P;var Se=_t(29,P,null,N.mode);return Se.lanes=k,Se.return=N,Se}finally{}}}var gl=fh(!0),oh=fh(!1),Ln=!1;function Lc(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Uc(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Un(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Rn(e,t,n){var i=e.updateQueue;if(i===null)return null;if(i=i.shared,(Ee&2)!==0){var r=i.pending;return r===null?t.next=t:(t.next=r.next,r.next=t),i.pending=t,t=ls(e),Zo(e,null,n),t}return ns(e,i,t,n),ls(e)}function Pi(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194048)!==0)){var i=t.lanes;i&=e.pendingLanes,n|=i,t.lanes=n,to(e,n)}}function Rc(e,t){var n=e.updateQueue,i=e.alternate;if(i!==null&&(i=i.updateQueue,n===i)){var r=null,f=null;if(n=n.firstBaseUpdate,n!==null){do{var d={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};f===null?r=f=d:f=f.next=d,n=n.next}while(n!==null);f===null?r=f=t:f=f.next=t}else r=f=t;n={baseState:i.baseState,firstBaseUpdate:r,lastBaseUpdate:f,shared:i.shared,callbacks:i.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var jc=!1;function ea(){if(jc){var e=Xl;if(e!==null)throw e}}function ta(e,t,n,i){jc=!1;var r=e.updateQueue;Ln=!1;var f=r.firstBaseUpdate,d=r.lastBaseUpdate,y=r.shared.pending;if(y!==null){r.shared.pending=null;var S=y,z=S.next;S.next=null,d===null?f=z:d.next=z,d=S;var B=e.alternate;B!==null&&(B=B.updateQueue,y=B.lastBaseUpdate,y!==d&&(y===null?B.firstBaseUpdate=z:y.next=z,B.lastBaseUpdate=S))}if(f!==null){var H=r.baseState;d=0,B=z=S=null,y=f;do{var L=y.lane&-536870913,j=L!==y.lane;if(j?(ye&L)===L:(i&L)===L){L!==0&&L===Ql&&(jc=!0),B!==null&&(B=B.next={lane:0,tag:y.tag,payload:y.payload,callback:null,next:null});e:{var F=e,ie=y;L=t;var ze=n;switch(ie.tag){case 1:if(F=ie.payload,typeof F=="function"){H=F.call(ze,H,L);break e}H=F;break e;case 3:F.flags=F.flags&-65537|128;case 0:if(F=ie.payload,L=typeof F=="function"?F.call(ze,H,L):F,L==null)break e;H=v({},H,L);break e;case 2:Ln=!0}}L=y.callback,L!==null&&(e.flags|=64,j&&(e.flags|=8192),j=r.callbacks,j===null?r.callbacks=[L]:j.push(L))}else j={lane:L,tag:y.tag,payload:y.payload,callback:y.callback,next:null},B===null?(z=B=j,S=H):B=B.next=j,d|=L;if(y=y.next,y===null){if(y=r.shared.pending,y===null)break;j=y,y=j.next,j.next=null,r.lastBaseUpdate=j,r.shared.pending=null}}while(!0);B===null&&(S=H),r.baseState=S,r.firstBaseUpdate=z,r.lastBaseUpdate=B,f===null&&(r.shared.lanes=0),Hn|=d,e.lanes=d,e.memoizedState=H}}function hh(e,t){if(typeof e!="function")throw Error(s(191,e));e.call(t)}function dh(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)hh(n[e],t)}var Wl=O(null),ds=O(0);function mh(e,t){e=bn,J(ds,e),J(Wl,t),bn=e|t.baseLanes}function Bc(){J(ds,bn),J(Wl,Wl.current)}function qc(){bn=ds.current,Y(Wl),Y(ds)}var Nt=O(null),Yt=null;function jn(e){var t=e.alternate;J($e,$e.current&1),J(Nt,e),Yt===null&&(t===null||Wl.current!==null||t.memoizedState!==null)&&(Yt=e)}function kc(e){J($e,$e.current),J(Nt,e),Yt===null&&(Yt=e)}function gh(e){e.tag===22?(J($e,$e.current),J(Nt,e),Yt===null&&(Yt=e)):Bn()}function Bn(){J($e,$e.current),J(Nt,Nt.current)}function Mt(e){Y(Nt),Yt===e&&(Yt=null),Y($e)}var $e=O(0);function ms(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||Vr(n)||Qr(n)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder==="forwards"||t.memoizedProps.revealOrder==="backwards"||t.memoizedProps.revealOrder==="unstable_legacy-backwards"||t.memoizedProps.revealOrder==="together")){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var on=0,fe=null,Me=null,Xe=null,gs=!1,Fl=!1,pl=!1,ps=0,na=0,Il=null,c0=0;function ke(){throw Error(s(321))}function Hc(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Ot(e[n],t[n]))return!1;return!0}function Yc(e,t,n,i,r,f){return on=f,fe=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,D.H=e===null||e.memoizedState===null?Ih:nr,pl=!1,f=n(i,r),pl=!1,Fl&&(f=yh(t,n,i,r)),ph(e),f}function ph(e){D.H=aa;var t=Me!==null&&Me.next!==null;if(on=0,Xe=Me=fe=null,gs=!1,na=0,Il=null,t)throw Error(s(300));e===null||Ze||(e=e.dependencies,e!==null&&ss(e)&&(Ze=!0))}function yh(e,t,n,i){fe=e;var r=0;do{if(Fl&&(Il=null),na=0,Fl=!1,25<=r)throw Error(s(301));if(r+=1,Xe=Me=null,e.updateQueue!=null){var f=e.updateQueue;f.lastEffect=null,f.events=null,f.stores=null,f.memoCache!=null&&(f.memoCache.index=0)}D.H=Ph,f=t(n,i)}while(Fl);return f}function r0(){var e=D.H,t=e.useState()[0];return t=typeof t.then=="function"?la(t):t,e=e.useState()[0],(Me!==null?Me.memoizedState:null)!==e&&(fe.flags|=1024),t}function $c(){var e=ps!==0;return ps=0,e}function Gc(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function Kc(e){if(gs){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}gs=!1}on=0,Xe=Me=fe=null,Fl=!1,na=ps=0,Il=null}function ft(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Xe===null?fe.memoizedState=Xe=e:Xe=Xe.next=e,Xe}function Ge(){if(Me===null){var e=fe.alternate;e=e!==null?e.memoizedState:null}else e=Me.next;var t=Xe===null?fe.memoizedState:Xe.next;if(t!==null)Xe=t,Me=e;else{if(e===null)throw fe.alternate===null?Error(s(467)):Error(s(310));Me=e,e={memoizedState:Me.memoizedState,baseState:Me.baseState,baseQueue:Me.baseQueue,queue:Me.queue,next:null},Xe===null?fe.memoizedState=Xe=e:Xe=Xe.next=e}return Xe}function ys(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function la(e){var t=na;return na+=1,Il===null&&(Il=[]),e=uh(Il,e,t),t=fe,(Xe===null?t.memoizedState:Xe.next)===null&&(t=t.alternate,D.H=t===null||t.memoizedState===null?Ih:nr),e}function vs(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return la(e);if(e.$$typeof===G)return lt(e)}throw Error(s(438,String(e)))}function Vc(e){var t=null,n=fe.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var i=fe.alternate;i!==null&&(i=i.updateQueue,i!==null&&(i=i.memoCache,i!=null&&(t={data:i.data.map(function(r){return r.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),n===null&&(n=ys(),fe.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),i=0;i<e;i++)n[i]=ae;return t.index++,n}function hn(e,t){return typeof t=="function"?t(e):t}function bs(e){var t=Ge();return Qc(t,Me,e)}function Qc(e,t,n){var i=e.queue;if(i===null)throw Error(s(311));i.lastRenderedReducer=n;var r=e.baseQueue,f=i.pending;if(f!==null){if(r!==null){var d=r.next;r.next=f.next,f.next=d}t.baseQueue=r=f,i.pending=null}if(f=e.baseState,r===null)e.memoizedState=f;else{t=r.next;var y=d=null,S=null,z=t,B=!1;do{var H=z.lane&-536870913;if(H!==z.lane?(ye&H)===H:(on&H)===H){var L=z.revertLane;if(L===0)S!==null&&(S=S.next={lane:0,revertLane:0,gesture:null,action:z.action,hasEagerState:z.hasEagerState,eagerState:z.eagerState,next:null}),H===Ql&&(B=!0);else if((on&L)===L){z=z.next,L===Ql&&(B=!0);continue}else H={lane:0,revertLane:z.revertLane,gesture:null,action:z.action,hasEagerState:z.hasEagerState,eagerState:z.eagerState,next:null},S===null?(y=S=H,d=f):S=S.next=H,fe.lanes|=L,Hn|=L;H=z.action,pl&&n(f,H),f=z.hasEagerState?z.eagerState:n(f,H)}else L={lane:H,revertLane:z.revertLane,gesture:z.gesture,action:z.action,hasEagerState:z.hasEagerState,eagerState:z.eagerState,next:null},S===null?(y=S=L,d=f):S=S.next=L,fe.lanes|=H,Hn|=H;z=z.next}while(z!==null&&z!==t);if(S===null?d=f:S.next=y,!Ot(f,e.memoizedState)&&(Ze=!0,B&&(n=Xl,n!==null)))throw n;e.memoizedState=f,e.baseState=d,e.baseQueue=S,i.lastRenderedState=f}return r===null&&(i.lanes=0),[e.memoizedState,i.dispatch]}function Xc(e){var t=Ge(),n=t.queue;if(n===null)throw Error(s(311));n.lastRenderedReducer=e;var i=n.dispatch,r=n.pending,f=t.memoizedState;if(r!==null){n.pending=null;var d=r=r.next;do f=e(f,d.action),d=d.next;while(d!==r);Ot(f,t.memoizedState)||(Ze=!0),t.memoizedState=f,t.baseQueue===null&&(t.baseState=f),n.lastRenderedState=f}return[f,i]}function vh(e,t,n){var i=fe,r=Ge(),f=be;if(f){if(n===void 0)throw Error(s(407));n=n()}else n=t();var d=!Ot((Me||r).memoizedState,n);if(d&&(r.memoizedState=n,Ze=!0),r=r.queue,Wc(Th.bind(null,i,r,e),[e]),r.getSnapshot!==t||d||Xe!==null&&Xe.memoizedState.tag&1){if(i.flags|=2048,Pl(9,{destroy:void 0},Sh.bind(null,i,r,n,t),null),xe===null)throw Error(s(349));f||(on&127)!==0||bh(i,t,n)}return n}function bh(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=fe.updateQueue,t===null?(t=ys(),fe.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function Sh(e,t,n,i){t.value=n,t.getSnapshot=i,Eh(t)&&Ah(e)}function Th(e,t,n){return n(function(){Eh(t)&&Ah(e)})}function Eh(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Ot(e,n)}catch{return!0}}function Ah(e){var t=ul(e,2);t!==null&&vt(t,e,2)}function Zc(e){var t=ft();if(typeof e=="function"){var n=e;if(e=n(),pl){_n(!0);try{n()}finally{_n(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:hn,lastRenderedState:e},t}function wh(e,t,n,i){return e.baseState=n,Qc(e,Me,typeof i=="function"?i:hn)}function f0(e,t,n,i,r){if(Es(e))throw Error(s(485));if(e=t.action,e!==null){var f={payload:r,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(d){f.listeners.push(d)}};D.T!==null?n(!0):f.isTransition=!1,i(f),n=t.pending,n===null?(f.next=t.pending=f,Oh(t,f)):(f.next=n.next,t.pending=n.next=f)}}function Oh(e,t){var n=t.action,i=t.payload,r=e.state;if(t.isTransition){var f=D.T,d={};D.T=d;try{var y=n(r,i),S=D.S;S!==null&&S(d,y),_h(e,t,y)}catch(z){Jc(e,t,z)}finally{f!==null&&d.types!==null&&(f.types=d.types),D.T=f}}else try{f=n(r,i),_h(e,t,f)}catch(z){Jc(e,t,z)}}function _h(e,t,n){n!==null&&typeof n=="object"&&typeof n.then=="function"?n.then(function(i){Nh(e,t,i)},function(i){return Jc(e,t,i)}):Nh(e,t,n)}function Nh(e,t,n){t.status="fulfilled",t.value=n,Mh(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,Oh(e,n)))}function Jc(e,t,n){var i=e.pending;if(e.pending=null,i!==null){i=i.next;do t.status="rejected",t.reason=n,Mh(t),t=t.next;while(t!==i)}e.action=null}function Mh(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function Ch(e,t){return t}function zh(e,t){if(be){var n=xe.formState;if(n!==null){e:{var i=fe;if(be){if(Le){t:{for(var r=Le,f=Ht;r.nodeType!==8;){if(!f){r=null;break t}if(r=$t(r.nextSibling),r===null){r=null;break t}}f=r.data,r=f==="F!"||f==="F"?r:null}if(r){Le=$t(r.nextSibling),i=r.data==="F!";break e}}xn(i)}i=!1}i&&(t=n[0])}}return n=ft(),n.memoizedState=n.baseState=t,i={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ch,lastRenderedState:t},n.queue=i,n=Jh.bind(null,fe,i),i.dispatch=n,i=Zc(!1),f=tr.bind(null,fe,!1,i.queue),i=ft(),r={state:t,dispatch:null,action:e,pending:null},i.queue=r,n=f0.bind(null,fe,r,f,n),r.dispatch=n,i.memoizedState=e,[t,n,!1]}function xh(e){var t=Ge();return Dh(t,Me,e)}function Dh(e,t,n){if(t=Qc(e,t,Ch)[0],e=bs(hn)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var i=la(t)}catch(d){throw d===Zl?rs:d}else i=t;t=Ge();var r=t.queue,f=r.dispatch;return n!==t.memoizedState&&(fe.flags|=2048,Pl(9,{destroy:void 0},o0.bind(null,r,n),null)),[i,f,e]}function o0(e,t){e.action=t}function Lh(e){var t=Ge(),n=Me;if(n!==null)return Dh(t,n,e);Ge(),t=t.memoizedState,n=Ge();var i=n.queue.dispatch;return n.memoizedState=e,[t,i,!1]}function Pl(e,t,n,i){return e={tag:e,create:n,deps:i,inst:t,next:null},t=fe.updateQueue,t===null&&(t=ys(),fe.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(i=n.next,n.next=e,e.next=i,t.lastEffect=e),e}function Uh(){return Ge().memoizedState}function Ss(e,t,n,i){var r=ft();fe.flags|=e,r.memoizedState=Pl(1|t,{destroy:void 0},n,i===void 0?null:i)}function Ts(e,t,n,i){var r=Ge();i=i===void 0?null:i;var f=r.memoizedState.inst;Me!==null&&i!==null&&Hc(i,Me.memoizedState.deps)?r.memoizedState=Pl(t,f,n,i):(fe.flags|=e,r.memoizedState=Pl(1|t,f,n,i))}function Rh(e,t){Ss(8390656,8,e,t)}function Wc(e,t){Ts(2048,8,e,t)}function h0(e){fe.flags|=4;var t=fe.updateQueue;if(t===null)t=ys(),fe.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function jh(e){var t=Ge().memoizedState;return h0({ref:t,nextImpl:e}),function(){if((Ee&2)!==0)throw Error(s(440));return t.impl.apply(void 0,arguments)}}function Bh(e,t){return Ts(4,2,e,t)}function qh(e,t){return Ts(4,4,e,t)}function kh(e,t){if(typeof t=="function"){e=e();var n=t(e);return function(){typeof n=="function"?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Hh(e,t,n){n=n!=null?n.concat([e]):null,Ts(4,4,kh.bind(null,t,e),n)}function Fc(){}function Yh(e,t){var n=Ge();t=t===void 0?null:t;var i=n.memoizedState;return t!==null&&Hc(t,i[1])?i[0]:(n.memoizedState=[e,t],e)}function $h(e,t){var n=Ge();t=t===void 0?null:t;var i=n.memoizedState;if(t!==null&&Hc(t,i[1]))return i[0];if(i=e(),pl){_n(!0);try{e()}finally{_n(!1)}}return n.memoizedState=[i,t],i}function Ic(e,t,n){return n===void 0||(on&1073741824)!==0&&(ye&261930)===0?e.memoizedState=t:(e.memoizedState=n,e=Gd(),fe.lanes|=e,Hn|=e,n)}function Gh(e,t,n,i){return Ot(n,t)?n:Wl.current!==null?(e=Ic(e,n,i),Ot(e,t)||(Ze=!0),e):(on&42)===0||(on&1073741824)!==0&&(ye&261930)===0?(Ze=!0,e.memoizedState=n):(e=Gd(),fe.lanes|=e,Hn|=e,t)}function Kh(e,t,n,i,r){var f=K.p;K.p=f!==0&&8>f?f:8;var d=D.T,y={};D.T=y,tr(e,!1,t,n);try{var S=r(),z=D.S;if(z!==null&&z(y,S),S!==null&&typeof S=="object"&&typeof S.then=="function"){var B=u0(S,i);ia(e,t,B,xt(e))}else ia(e,t,i,xt(e))}catch(H){ia(e,t,{then:function(){},status:"rejected",reason:H},xt())}finally{K.p=f,d!==null&&y.types!==null&&(d.types=y.types),D.T=d}}function d0(){}function Pc(e,t,n,i){if(e.tag!==5)throw Error(s(476));var r=Vh(e).queue;Kh(e,r,t,ne,n===null?d0:function(){return Qh(e),n(i)})}function Vh(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:ne,baseState:ne,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:hn,lastRenderedState:ne},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:hn,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Qh(e){var t=Vh(e);t.next===null&&(t=e.alternate.memoizedState),ia(e,t.next.queue,{},xt())}function er(){return lt(Ta)}function Xh(){return Ge().memoizedState}function Zh(){return Ge().memoizedState}function m0(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=xt();e=Un(n);var i=Rn(t,e,n);i!==null&&(vt(i,t,n),Pi(i,t,n)),t={cache:Cc()},e.payload=t;return}t=t.return}}function g0(e,t,n){var i=xt();n={lane:i,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Es(e)?Wh(t,n):(n=vc(e,t,n,i),n!==null&&(vt(n,e,i),Fh(n,t,i)))}function Jh(e,t,n){var i=xt();ia(e,t,n,i)}function ia(e,t,n,i){var r={lane:i,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Es(e))Wh(t,r);else{var f=e.alternate;if(e.lanes===0&&(f===null||f.lanes===0)&&(f=t.lastRenderedReducer,f!==null))try{var d=t.lastRenderedState,y=f(d,n);if(r.hasEagerState=!0,r.eagerState=y,Ot(y,d))return ns(e,t,r,0),xe===null&&ts(),!1}catch{}finally{}if(n=vc(e,t,r,i),n!==null)return vt(n,e,i),Fh(n,t,i),!0}return!1}function tr(e,t,n,i){if(i={lane:2,revertLane:Lr(),gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null},Es(e)){if(t)throw Error(s(479))}else t=vc(e,n,i,2),t!==null&&vt(t,e,2)}function Es(e){var t=e.alternate;return e===fe||t!==null&&t===fe}function Wh(e,t){Fl=gs=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Fh(e,t,n){if((n&4194048)!==0){var i=t.lanes;i&=e.pendingLanes,n|=i,t.lanes=n,to(e,n)}}var aa={readContext:lt,use:vs,useCallback:ke,useContext:ke,useEffect:ke,useImperativeHandle:ke,useLayoutEffect:ke,useInsertionEffect:ke,useMemo:ke,useReducer:ke,useRef:ke,useState:ke,useDebugValue:ke,useDeferredValue:ke,useTransition:ke,useSyncExternalStore:ke,useId:ke,useHostTransitionStatus:ke,useFormState:ke,useActionState:ke,useOptimistic:ke,useMemoCache:ke,useCacheRefresh:ke};aa.useEffectEvent=ke;var Ih={readContext:lt,use:vs,useCallback:function(e,t){return ft().memoizedState=[e,t===void 0?null:t],e},useContext:lt,useEffect:Rh,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,Ss(4194308,4,kh.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Ss(4194308,4,e,t)},useInsertionEffect:function(e,t){Ss(4,2,e,t)},useMemo:function(e,t){var n=ft();t=t===void 0?null:t;var i=e();if(pl){_n(!0);try{e()}finally{_n(!1)}}return n.memoizedState=[i,t],i},useReducer:function(e,t,n){var i=ft();if(n!==void 0){var r=n(t);if(pl){_n(!0);try{n(t)}finally{_n(!1)}}}else r=t;return i.memoizedState=i.baseState=r,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:r},i.queue=e,e=e.dispatch=g0.bind(null,fe,e),[i.memoizedState,e]},useRef:function(e){var t=ft();return e={current:e},t.memoizedState=e},useState:function(e){e=Zc(e);var t=e.queue,n=Jh.bind(null,fe,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:Fc,useDeferredValue:function(e,t){var n=ft();return Ic(n,e,t)},useTransition:function(){var e=Zc(!1);return e=Kh.bind(null,fe,e.queue,!0,!1),ft().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var i=fe,r=ft();if(be){if(n===void 0)throw Error(s(407));n=n()}else{if(n=t(),xe===null)throw Error(s(349));(ye&127)!==0||bh(i,t,n)}r.memoizedState=n;var f={value:n,getSnapshot:t};return r.queue=f,Rh(Th.bind(null,i,f,e),[e]),i.flags|=2048,Pl(9,{destroy:void 0},Sh.bind(null,i,f,n,t),null),n},useId:function(){var e=ft(),t=xe.identifierPrefix;if(be){var n=It,i=Ft;n=(i&~(1<<32-wt(i)-1)).toString(32)+n,t="_"+t+"R_"+n,n=ps++,0<n&&(t+="H"+n.toString(32)),t+="_"}else n=c0++,t="_"+t+"r_"+n.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:er,useFormState:zh,useActionState:zh,useOptimistic:function(e){var t=ft();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=tr.bind(null,fe,!0,n),n.dispatch=t,[e,t]},useMemoCache:Vc,useCacheRefresh:function(){return ft().memoizedState=m0.bind(null,fe)},useEffectEvent:function(e){var t=ft(),n={impl:e};return t.memoizedState=n,function(){if((Ee&2)!==0)throw Error(s(440));return n.impl.apply(void 0,arguments)}}},nr={readContext:lt,use:vs,useCallback:Yh,useContext:lt,useEffect:Wc,useImperativeHandle:Hh,useInsertionEffect:Bh,useLayoutEffect:qh,useMemo:$h,useReducer:bs,useRef:Uh,useState:function(){return bs(hn)},useDebugValue:Fc,useDeferredValue:function(e,t){var n=Ge();return Gh(n,Me.memoizedState,e,t)},useTransition:function(){var e=bs(hn)[0],t=Ge().memoizedState;return[typeof e=="boolean"?e:la(e),t]},useSyncExternalStore:vh,useId:Xh,useHostTransitionStatus:er,useFormState:xh,useActionState:xh,useOptimistic:function(e,t){var n=Ge();return wh(n,Me,e,t)},useMemoCache:Vc,useCacheRefresh:Zh};nr.useEffectEvent=jh;var Ph={readContext:lt,use:vs,useCallback:Yh,useContext:lt,useEffect:Wc,useImperativeHandle:Hh,useInsertionEffect:Bh,useLayoutEffect:qh,useMemo:$h,useReducer:Xc,useRef:Uh,useState:function(){return Xc(hn)},useDebugValue:Fc,useDeferredValue:function(e,t){var n=Ge();return Me===null?Ic(n,e,t):Gh(n,Me.memoizedState,e,t)},useTransition:function(){var e=Xc(hn)[0],t=Ge().memoizedState;return[typeof e=="boolean"?e:la(e),t]},useSyncExternalStore:vh,useId:Xh,useHostTransitionStatus:er,useFormState:Lh,useActionState:Lh,useOptimistic:function(e,t){var n=Ge();return Me!==null?wh(n,Me,e,t):(n.baseState=e,[e,n.queue.dispatch])},useMemoCache:Vc,useCacheRefresh:Zh};Ph.useEffectEvent=jh;function lr(e,t,n,i){t=e.memoizedState,n=n(i,t),n=n==null?t:v({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var ir={enqueueSetState:function(e,t,n){e=e._reactInternals;var i=xt(),r=Un(i);r.payload=t,n!=null&&(r.callback=n),t=Rn(e,r,i),t!==null&&(vt(t,e,i),Pi(t,e,i))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var i=xt(),r=Un(i);r.tag=1,r.payload=t,n!=null&&(r.callback=n),t=Rn(e,r,i),t!==null&&(vt(t,e,i),Pi(t,e,i))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=xt(),i=Un(n);i.tag=2,t!=null&&(i.callback=t),t=Rn(e,i,n),t!==null&&(vt(t,e,n),Pi(t,e,n))}};function ed(e,t,n,i,r,f,d){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(i,f,d):t.prototype&&t.prototype.isPureReactComponent?!Vi(n,i)||!Vi(r,f):!0}function td(e,t,n,i){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,i),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,i),t.state!==e&&ir.enqueueReplaceState(t,t.state,null)}function yl(e,t){var n=t;if("ref"in t){n={};for(var i in t)i!=="ref"&&(n[i]=t[i])}if(e=e.defaultProps){n===t&&(n=v({},n));for(var r in e)n[r]===void 0&&(n[r]=e[r])}return n}function nd(e){es(e)}function ld(e){console.error(e)}function id(e){es(e)}function As(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(i){setTimeout(function(){throw i})}}function ad(e,t,n){try{var i=e.onCaughtError;i(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(r){setTimeout(function(){throw r})}}function ar(e,t,n){return n=Un(n),n.tag=3,n.payload={element:null},n.callback=function(){As(e,t)},n}function sd(e){return e=Un(e),e.tag=3,e}function ud(e,t,n,i){var r=n.type.getDerivedStateFromError;if(typeof r=="function"){var f=i.value;e.payload=function(){return r(f)},e.callback=function(){ad(t,n,i)}}var d=n.stateNode;d!==null&&typeof d.componentDidCatch=="function"&&(e.callback=function(){ad(t,n,i),typeof r!="function"&&(Yn===null?Yn=new Set([this]):Yn.add(this));var y=i.stack;this.componentDidCatch(i.value,{componentStack:y!==null?y:""})})}function p0(e,t,n,i,r){if(n.flags|=32768,i!==null&&typeof i=="object"&&typeof i.then=="function"){if(t=n.alternate,t!==null&&Vl(t,n,r,!0),n=Nt.current,n!==null){switch(n.tag){case 31:case 13:return Yt===null?Rs():n.alternate===null&&He===0&&(He=3),n.flags&=-257,n.flags|=65536,n.lanes=r,i===fs?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([i]):t.add(i),zr(e,i,r)),!1;case 22:return n.flags|=65536,i===fs?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([i])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([i]):n.add(i)),zr(e,i,r)),!1}throw Error(s(435,n.tag))}return zr(e,i,r),Rs(),!1}if(be)return t=Nt.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=r,i!==wc&&(e=Error(s(422),{cause:i}),Zi(Bt(e,n)))):(i!==wc&&(t=Error(s(423),{cause:i}),Zi(Bt(t,n))),e=e.current.alternate,e.flags|=65536,r&=-r,e.lanes|=r,i=Bt(i,n),r=ar(e.stateNode,i,r),Rc(e,r),He!==4&&(He=2)),!1;var f=Error(s(520),{cause:i});if(f=Bt(f,n),da===null?da=[f]:da.push(f),He!==4&&(He=2),t===null)return!0;i=Bt(i,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=r&-r,n.lanes|=e,e=ar(n.stateNode,i,e),Rc(n,e),!1;case 1:if(t=n.type,f=n.stateNode,(n.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||f!==null&&typeof f.componentDidCatch=="function"&&(Yn===null||!Yn.has(f))))return n.flags|=65536,r&=-r,n.lanes|=r,r=sd(r),ud(r,e,n,i),Rc(n,r),!1}n=n.return}while(n!==null);return!1}var sr=Error(s(461)),Ze=!1;function it(e,t,n,i){t.child=e===null?oh(t,null,n,i):gl(t,e.child,n,i)}function cd(e,t,n,i,r){n=n.render;var f=t.ref;if("ref"in i){var d={};for(var y in i)y!=="ref"&&(d[y]=i[y])}else d=i;return ol(t),i=Yc(e,t,n,d,f,r),y=$c(),e!==null&&!Ze?(Gc(e,t,r),dn(e,t,r)):(be&&y&&Ec(t),t.flags|=1,it(e,t,i,r),t.child)}function rd(e,t,n,i,r){if(e===null){var f=n.type;return typeof f=="function"&&!bc(f)&&f.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=f,fd(e,t,f,i,r)):(e=is(n.type,null,i,t,t.mode,r),e.ref=t.ref,e.return=t,t.child=e)}if(f=e.child,!mr(e,r)){var d=f.memoizedProps;if(n=n.compare,n=n!==null?n:Vi,n(d,i)&&e.ref===t.ref)return dn(e,t,r)}return t.flags|=1,e=un(f,i),e.ref=t.ref,e.return=t,t.child=e}function fd(e,t,n,i,r){if(e!==null){var f=e.memoizedProps;if(Vi(f,i)&&e.ref===t.ref)if(Ze=!1,t.pendingProps=i=f,mr(e,r))(e.flags&131072)!==0&&(Ze=!0);else return t.lanes=e.lanes,dn(e,t,r)}return ur(e,t,n,i,r)}function od(e,t,n,i){var r=i.children,f=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),i.mode==="hidden"){if((t.flags&128)!==0){if(f=f!==null?f.baseLanes|n:n,e!==null){for(i=t.child=e.child,r=0;i!==null;)r=r|i.lanes|i.childLanes,i=i.sibling;i=r&~f}else i=0,t.child=null;return hd(e,t,f,n,i)}if((n&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&cs(t,f!==null?f.cachePool:null),f!==null?mh(t,f):Bc(),gh(t);else return i=t.lanes=536870912,hd(e,t,f!==null?f.baseLanes|n:n,n,i)}else f!==null?(cs(t,f.cachePool),mh(t,f),Bn(),t.memoizedState=null):(e!==null&&cs(t,null),Bc(),Bn());return it(e,t,r,n),t.child}function sa(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function hd(e,t,n,i,r){var f=xc();return f=f===null?null:{parent:Qe._currentValue,pool:f},t.memoizedState={baseLanes:n,cachePool:f},e!==null&&cs(t,null),Bc(),gh(t),e!==null&&Vl(e,t,i,!0),t.childLanes=r,null}function ws(e,t){return t=_s({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function dd(e,t,n){return gl(t,e.child,null,n),e=ws(t,t.pendingProps),e.flags|=2,Mt(t),t.memoizedState=null,e}function y0(e,t,n){var i=t.pendingProps,r=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(be){if(i.mode==="hidden")return e=ws(t,i),t.lanes=536870912,sa(null,e);if(kc(t),(e=Le)?(e=Om(e,Ht),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Cn!==null?{id:Ft,overflow:It}:null,retryLane:536870912,hydrationErrors:null},n=Wo(e),n.return=t,t.child=n,nt=t,Le=null)):e=null,e===null)throw xn(t);return t.lanes=536870912,null}return ws(t,i)}var f=e.memoizedState;if(f!==null){var d=f.dehydrated;if(kc(t),r)if(t.flags&256)t.flags&=-257,t=dd(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(s(558));else if(Ze||Vl(e,t,n,!1),r=(n&e.childLanes)!==0,Ze||r){if(i=xe,i!==null&&(d=no(i,n),d!==0&&d!==f.retryLane))throw f.retryLane=d,ul(e,d),vt(i,e,d),sr;Rs(),t=dd(e,t,n)}else e=f.treeContext,Le=$t(d.nextSibling),nt=t,be=!0,zn=null,Ht=!1,e!==null&&Po(t,e),t=ws(t,i),t.flags|=4096;return t}return e=un(e.child,{mode:i.mode,children:i.children}),e.ref=t.ref,t.child=e,e.return=t,e}function Os(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!="function"&&typeof n!="object")throw Error(s(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function ur(e,t,n,i,r){return ol(t),n=Yc(e,t,n,i,void 0,r),i=$c(),e!==null&&!Ze?(Gc(e,t,r),dn(e,t,r)):(be&&i&&Ec(t),t.flags|=1,it(e,t,n,r),t.child)}function md(e,t,n,i,r,f){return ol(t),t.updateQueue=null,n=yh(t,i,n,r),ph(e),i=$c(),e!==null&&!Ze?(Gc(e,t,f),dn(e,t,f)):(be&&i&&Ec(t),t.flags|=1,it(e,t,n,f),t.child)}function gd(e,t,n,i,r){if(ol(t),t.stateNode===null){var f=Yl,d=n.contextType;typeof d=="object"&&d!==null&&(f=lt(d)),f=new n(i,f),t.memoizedState=f.state!==null&&f.state!==void 0?f.state:null,f.updater=ir,t.stateNode=f,f._reactInternals=t,f=t.stateNode,f.props=i,f.state=t.memoizedState,f.refs={},Lc(t),d=n.contextType,f.context=typeof d=="object"&&d!==null?lt(d):Yl,f.state=t.memoizedState,d=n.getDerivedStateFromProps,typeof d=="function"&&(lr(t,n,d,i),f.state=t.memoizedState),typeof n.getDerivedStateFromProps=="function"||typeof f.getSnapshotBeforeUpdate=="function"||typeof f.UNSAFE_componentWillMount!="function"&&typeof f.componentWillMount!="function"||(d=f.state,typeof f.componentWillMount=="function"&&f.componentWillMount(),typeof f.UNSAFE_componentWillMount=="function"&&f.UNSAFE_componentWillMount(),d!==f.state&&ir.enqueueReplaceState(f,f.state,null),ta(t,i,f,r),ea(),f.state=t.memoizedState),typeof f.componentDidMount=="function"&&(t.flags|=4194308),i=!0}else if(e===null){f=t.stateNode;var y=t.memoizedProps,S=yl(n,y);f.props=S;var z=f.context,B=n.contextType;d=Yl,typeof B=="object"&&B!==null&&(d=lt(B));var H=n.getDerivedStateFromProps;B=typeof H=="function"||typeof f.getSnapshotBeforeUpdate=="function",y=t.pendingProps!==y,B||typeof f.UNSAFE_componentWillReceiveProps!="function"&&typeof f.componentWillReceiveProps!="function"||(y||z!==d)&&td(t,f,i,d),Ln=!1;var L=t.memoizedState;f.state=L,ta(t,i,f,r),ea(),z=t.memoizedState,y||L!==z||Ln?(typeof H=="function"&&(lr(t,n,H,i),z=t.memoizedState),(S=Ln||ed(t,n,S,i,L,z,d))?(B||typeof f.UNSAFE_componentWillMount!="function"&&typeof f.componentWillMount!="function"||(typeof f.componentWillMount=="function"&&f.componentWillMount(),typeof f.UNSAFE_componentWillMount=="function"&&f.UNSAFE_componentWillMount()),typeof f.componentDidMount=="function"&&(t.flags|=4194308)):(typeof f.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=i,t.memoizedState=z),f.props=i,f.state=z,f.context=d,i=S):(typeof f.componentDidMount=="function"&&(t.flags|=4194308),i=!1)}else{f=t.stateNode,Uc(e,t),d=t.memoizedProps,B=yl(n,d),f.props=B,H=t.pendingProps,L=f.context,z=n.contextType,S=Yl,typeof z=="object"&&z!==null&&(S=lt(z)),y=n.getDerivedStateFromProps,(z=typeof y=="function"||typeof f.getSnapshotBeforeUpdate=="function")||typeof f.UNSAFE_componentWillReceiveProps!="function"&&typeof f.componentWillReceiveProps!="function"||(d!==H||L!==S)&&td(t,f,i,S),Ln=!1,L=t.memoizedState,f.state=L,ta(t,i,f,r),ea();var j=t.memoizedState;d!==H||L!==j||Ln||e!==null&&e.dependencies!==null&&ss(e.dependencies)?(typeof y=="function"&&(lr(t,n,y,i),j=t.memoizedState),(B=Ln||ed(t,n,B,i,L,j,S)||e!==null&&e.dependencies!==null&&ss(e.dependencies))?(z||typeof f.UNSAFE_componentWillUpdate!="function"&&typeof f.componentWillUpdate!="function"||(typeof f.componentWillUpdate=="function"&&f.componentWillUpdate(i,j,S),typeof f.UNSAFE_componentWillUpdate=="function"&&f.UNSAFE_componentWillUpdate(i,j,S)),typeof f.componentDidUpdate=="function"&&(t.flags|=4),typeof f.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof f.componentDidUpdate!="function"||d===e.memoizedProps&&L===e.memoizedState||(t.flags|=4),typeof f.getSnapshotBeforeUpdate!="function"||d===e.memoizedProps&&L===e.memoizedState||(t.flags|=1024),t.memoizedProps=i,t.memoizedState=j),f.props=i,f.state=j,f.context=S,i=B):(typeof f.componentDidUpdate!="function"||d===e.memoizedProps&&L===e.memoizedState||(t.flags|=4),typeof f.getSnapshotBeforeUpdate!="function"||d===e.memoizedProps&&L===e.memoizedState||(t.flags|=1024),i=!1)}return f=i,Os(e,t),i=(t.flags&128)!==0,f||i?(f=t.stateNode,n=i&&typeof n.getDerivedStateFromError!="function"?null:f.render(),t.flags|=1,e!==null&&i?(t.child=gl(t,e.child,null,r),t.child=gl(t,null,n,r)):it(e,t,n,r),t.memoizedState=f.state,e=t.child):e=dn(e,t,r),e}function pd(e,t,n,i){return rl(),t.flags|=256,it(e,t,n,i),t.child}var cr={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function rr(e){return{baseLanes:e,cachePool:ah()}}function fr(e,t,n){return e=e!==null?e.childLanes&~n:0,t&&(e|=zt),e}function yd(e,t,n){var i=t.pendingProps,r=!1,f=(t.flags&128)!==0,d;if((d=f)||(d=e!==null&&e.memoizedState===null?!1:($e.current&2)!==0),d&&(r=!0,t.flags&=-129),d=(t.flags&32)!==0,t.flags&=-33,e===null){if(be){if(r?jn(t):Bn(),(e=Le)?(e=Om(e,Ht),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Cn!==null?{id:Ft,overflow:It}:null,retryLane:536870912,hydrationErrors:null},n=Wo(e),n.return=t,t.child=n,nt=t,Le=null)):e=null,e===null)throw xn(t);return Qr(e)?t.lanes=32:t.lanes=536870912,null}var y=i.children;return i=i.fallback,r?(Bn(),r=t.mode,y=_s({mode:"hidden",children:y},r),i=cl(i,r,n,null),y.return=t,i.return=t,y.sibling=i,t.child=y,i=t.child,i.memoizedState=rr(n),i.childLanes=fr(e,d,n),t.memoizedState=cr,sa(null,i)):(jn(t),or(t,y))}var S=e.memoizedState;if(S!==null&&(y=S.dehydrated,y!==null)){if(f)t.flags&256?(jn(t),t.flags&=-257,t=hr(e,t,n)):t.memoizedState!==null?(Bn(),t.child=e.child,t.flags|=128,t=null):(Bn(),y=i.fallback,r=t.mode,i=_s({mode:"visible",children:i.children},r),y=cl(y,r,n,null),y.flags|=2,i.return=t,y.return=t,i.sibling=y,t.child=i,gl(t,e.child,null,n),i=t.child,i.memoizedState=rr(n),i.childLanes=fr(e,d,n),t.memoizedState=cr,t=sa(null,i));else if(jn(t),Qr(y)){if(d=y.nextSibling&&y.nextSibling.dataset,d)var z=d.dgst;d=z,i=Error(s(419)),i.stack="",i.digest=d,Zi({value:i,source:null,stack:null}),t=hr(e,t,n)}else if(Ze||Vl(e,t,n,!1),d=(n&e.childLanes)!==0,Ze||d){if(d=xe,d!==null&&(i=no(d,n),i!==0&&i!==S.retryLane))throw S.retryLane=i,ul(e,i),vt(d,e,i),sr;Vr(y)||Rs(),t=hr(e,t,n)}else Vr(y)?(t.flags|=192,t.child=e.child,t=null):(e=S.treeContext,Le=$t(y.nextSibling),nt=t,be=!0,zn=null,Ht=!1,e!==null&&Po(t,e),t=or(t,i.children),t.flags|=4096);return t}return r?(Bn(),y=i.fallback,r=t.mode,S=e.child,z=S.sibling,i=un(S,{mode:"hidden",children:i.children}),i.subtreeFlags=S.subtreeFlags&65011712,z!==null?y=un(z,y):(y=cl(y,r,n,null),y.flags|=2),y.return=t,i.return=t,i.sibling=y,t.child=i,sa(null,i),i=t.child,y=e.child.memoizedState,y===null?y=rr(n):(r=y.cachePool,r!==null?(S=Qe._currentValue,r=r.parent!==S?{parent:S,pool:S}:r):r=ah(),y={baseLanes:y.baseLanes|n,cachePool:r}),i.memoizedState=y,i.childLanes=fr(e,d,n),t.memoizedState=cr,sa(e.child,i)):(jn(t),n=e.child,e=n.sibling,n=un(n,{mode:"visible",children:i.children}),n.return=t,n.sibling=null,e!==null&&(d=t.deletions,d===null?(t.deletions=[e],t.flags|=16):d.push(e)),t.child=n,t.memoizedState=null,n)}function or(e,t){return t=_s({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function _s(e,t){return e=_t(22,e,null,t),e.lanes=0,e}function hr(e,t,n){return gl(t,e.child,null,n),e=or(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function vd(e,t,n){e.lanes|=t;var i=e.alternate;i!==null&&(i.lanes|=t),Nc(e.return,t,n)}function dr(e,t,n,i,r,f){var d=e.memoizedState;d===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:i,tail:n,tailMode:r,treeForkCount:f}:(d.isBackwards=t,d.rendering=null,d.renderingStartTime=0,d.last=i,d.tail=n,d.tailMode=r,d.treeForkCount=f)}function bd(e,t,n){var i=t.pendingProps,r=i.revealOrder,f=i.tail;i=i.children;var d=$e.current,y=(d&2)!==0;if(y?(d=d&1|2,t.flags|=128):d&=1,J($e,d),it(e,t,i,n),i=be?Xi:0,!y&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&vd(e,n,t);else if(e.tag===19)vd(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(r){case"forwards":for(n=t.child,r=null;n!==null;)e=n.alternate,e!==null&&ms(e)===null&&(r=n),n=n.sibling;n=r,n===null?(r=t.child,t.child=null):(r=n.sibling,n.sibling=null),dr(t,!1,r,n,f,i);break;case"backwards":case"unstable_legacy-backwards":for(n=null,r=t.child,t.child=null;r!==null;){if(e=r.alternate,e!==null&&ms(e)===null){t.child=r;break}e=r.sibling,r.sibling=n,n=r,r=e}dr(t,!0,n,null,f,i);break;case"together":dr(t,!1,null,null,void 0,i);break;default:t.memoizedState=null}return t.child}function dn(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Hn|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(Vl(e,t,n,!1),(n&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(s(153));if(t.child!==null){for(e=t.child,n=un(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=un(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function mr(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&ss(e)))}function v0(e,t,n){switch(t.tag){case 3:rt(t,t.stateNode.containerInfo),Dn(t,Qe,e.memoizedState.cache),rl();break;case 27:case 5:Di(t);break;case 4:rt(t,t.stateNode.containerInfo);break;case 10:Dn(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,kc(t),null;break;case 13:var i=t.memoizedState;if(i!==null)return i.dehydrated!==null?(jn(t),t.flags|=128,null):(n&t.child.childLanes)!==0?yd(e,t,n):(jn(t),e=dn(e,t,n),e!==null?e.sibling:null);jn(t);break;case 19:var r=(e.flags&128)!==0;if(i=(n&t.childLanes)!==0,i||(Vl(e,t,n,!1),i=(n&t.childLanes)!==0),r){if(i)return bd(e,t,n);t.flags|=128}if(r=t.memoizedState,r!==null&&(r.rendering=null,r.tail=null,r.lastEffect=null),J($e,$e.current),i)break;return null;case 22:return t.lanes=0,od(e,t,n,t.pendingProps);case 24:Dn(t,Qe,e.memoizedState.cache)}return dn(e,t,n)}function Sd(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)Ze=!0;else{if(!mr(e,n)&&(t.flags&128)===0)return Ze=!1,v0(e,t,n);Ze=(e.flags&131072)!==0}else Ze=!1,be&&(t.flags&1048576)!==0&&Io(t,Xi,t.index);switch(t.lanes=0,t.tag){case 16:e:{var i=t.pendingProps;if(e=dl(t.elementType),t.type=e,typeof e=="function")bc(e)?(i=yl(e,i),t.tag=1,t=gd(null,t,e,i,n)):(t.tag=0,t=ur(null,t,e,i,n));else{if(e!=null){var r=e.$$typeof;if(r===Q){t.tag=11,t=cd(null,t,e,i,n);break e}else if(r===q){t.tag=14,t=rd(null,t,e,i,n);break e}}throw t=Ae(e)||e,Error(s(306,t,""))}}return t;case 0:return ur(e,t,t.type,t.pendingProps,n);case 1:return i=t.type,r=yl(i,t.pendingProps),gd(e,t,i,r,n);case 3:e:{if(rt(t,t.stateNode.containerInfo),e===null)throw Error(s(387));i=t.pendingProps;var f=t.memoizedState;r=f.element,Uc(e,t),ta(t,i,null,n);var d=t.memoizedState;if(i=d.cache,Dn(t,Qe,i),i!==f.cache&&Mc(t,[Qe],n,!0),ea(),i=d.element,f.isDehydrated)if(f={element:i,isDehydrated:!1,cache:d.cache},t.updateQueue.baseState=f,t.memoizedState=f,t.flags&256){t=pd(e,t,i,n);break e}else if(i!==r){r=Bt(Error(s(424)),t),Zi(r),t=pd(e,t,i,n);break e}else{switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName==="HTML"?e.ownerDocument.body:e}for(Le=$t(e.firstChild),nt=t,be=!0,zn=null,Ht=!0,n=oh(t,null,i,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(rl(),i===r){t=dn(e,t,n);break e}it(e,t,i,n)}t=t.child}return t;case 26:return Os(e,t),e===null?(n=xm(t.type,null,t.pendingProps,null))?t.memoizedState=n:be||(n=t.type,e=t.pendingProps,i=$s(me.current).createElement(n),i[tt]=t,i[ht]=e,at(i,n,e),Pe(i),t.stateNode=i):t.memoizedState=xm(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return Di(t),e===null&&be&&(i=t.stateNode=Mm(t.type,t.pendingProps,me.current),nt=t,Ht=!0,r=Le,Vn(t.type)?(Xr=r,Le=$t(i.firstChild)):Le=r),it(e,t,t.pendingProps.children,n),Os(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&be&&((r=i=Le)&&(i=Z0(i,t.type,t.pendingProps,Ht),i!==null?(t.stateNode=i,nt=t,Le=$t(i.firstChild),Ht=!1,r=!0):r=!1),r||xn(t)),Di(t),r=t.type,f=t.pendingProps,d=e!==null?e.memoizedProps:null,i=f.children,$r(r,f)?i=null:d!==null&&$r(r,d)&&(t.flags|=32),t.memoizedState!==null&&(r=Yc(e,t,r0,null,null,n),Ta._currentValue=r),Os(e,t),it(e,t,i,n),t.child;case 6:return e===null&&be&&((e=n=Le)&&(n=J0(n,t.pendingProps,Ht),n!==null?(t.stateNode=n,nt=t,Le=null,e=!0):e=!1),e||xn(t)),null;case 13:return yd(e,t,n);case 4:return rt(t,t.stateNode.containerInfo),i=t.pendingProps,e===null?t.child=gl(t,null,i,n):it(e,t,i,n),t.child;case 11:return cd(e,t,t.type,t.pendingProps,n);case 7:return it(e,t,t.pendingProps,n),t.child;case 8:return it(e,t,t.pendingProps.children,n),t.child;case 12:return it(e,t,t.pendingProps.children,n),t.child;case 10:return i=t.pendingProps,Dn(t,t.type,i.value),it(e,t,i.children,n),t.child;case 9:return r=t.type._context,i=t.pendingProps.children,ol(t),r=lt(r),i=i(r),t.flags|=1,it(e,t,i,n),t.child;case 14:return rd(e,t,t.type,t.pendingProps,n);case 15:return fd(e,t,t.type,t.pendingProps,n);case 19:return bd(e,t,n);case 31:return y0(e,t,n);case 22:return od(e,t,n,t.pendingProps);case 24:return ol(t),i=lt(Qe),e===null?(r=xc(),r===null&&(r=xe,f=Cc(),r.pooledCache=f,f.refCount++,f!==null&&(r.pooledCacheLanes|=n),r=f),t.memoizedState={parent:i,cache:r},Lc(t),Dn(t,Qe,r)):((e.lanes&n)!==0&&(Uc(e,t),ta(t,null,null,n),ea()),r=e.memoizedState,f=t.memoizedState,r.parent!==i?(r={parent:i,cache:i},t.memoizedState=r,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=r),Dn(t,Qe,i)):(i=f.cache,Dn(t,Qe,i),i!==r.cache&&Mc(t,[Qe],n,!0))),it(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(s(156,t.tag))}function mn(e){e.flags|=4}function gr(e,t,n,i,r){if((t=(e.mode&32)!==0)&&(t=!1),t){if(e.flags|=16777216,(r&335544128)===r)if(e.stateNode.complete)e.flags|=8192;else if(Xd())e.flags|=8192;else throw ml=fs,Dc}else e.flags&=-16777217}function Td(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!jm(t))if(Xd())e.flags|=8192;else throw ml=fs,Dc}function Ns(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?Pf():536870912,e.lanes|=t,li|=t)}function ua(e,t){if(!be)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var i=null;n!==null;)n.alternate!==null&&(i=n),n=n.sibling;i===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:i.sibling=null}}function Ue(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,i=0;if(t)for(var r=e.child;r!==null;)n|=r.lanes|r.childLanes,i|=r.subtreeFlags&65011712,i|=r.flags&65011712,r.return=e,r=r.sibling;else for(r=e.child;r!==null;)n|=r.lanes|r.childLanes,i|=r.subtreeFlags,i|=r.flags,r.return=e,r=r.sibling;return e.subtreeFlags|=i,e.childLanes=n,t}function b0(e,t,n){var i=t.pendingProps;switch(Ac(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ue(t),null;case 1:return Ue(t),null;case 3:return n=t.stateNode,i=null,e!==null&&(i=e.memoizedState.cache),t.memoizedState.cache!==i&&(t.flags|=2048),fn(Qe),Ye(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(Kl(t)?mn(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Oc())),Ue(t),null;case 26:var r=t.type,f=t.memoizedState;return e===null?(mn(t),f!==null?(Ue(t),Td(t,f)):(Ue(t),gr(t,r,null,i,n))):f?f!==e.memoizedState?(mn(t),Ue(t),Td(t,f)):(Ue(t),t.flags&=-16777217):(e=e.memoizedProps,e!==i&&mn(t),Ue(t),gr(t,r,e,i,n)),null;case 27:if(qa(t),n=me.current,r=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==i&&mn(t);else{if(!i){if(t.stateNode===null)throw Error(s(166));return Ue(t),null}e=I.current,Kl(t)?eh(t):(e=Mm(r,i,n),t.stateNode=e,mn(t))}return Ue(t),null;case 5:if(qa(t),r=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==i&&mn(t);else{if(!i){if(t.stateNode===null)throw Error(s(166));return Ue(t),null}if(f=I.current,Kl(t))eh(t);else{var d=$s(me.current);switch(f){case 1:f=d.createElementNS("http://www.w3.org/2000/svg",r);break;case 2:f=d.createElementNS("http://www.w3.org/1998/Math/MathML",r);break;default:switch(r){case"svg":f=d.createElementNS("http://www.w3.org/2000/svg",r);break;case"math":f=d.createElementNS("http://www.w3.org/1998/Math/MathML",r);break;case"script":f=d.createElement("div"),f.innerHTML="<script><\/script>",f=f.removeChild(f.firstChild);break;case"select":f=typeof i.is=="string"?d.createElement("select",{is:i.is}):d.createElement("select"),i.multiple?f.multiple=!0:i.size&&(f.size=i.size);break;default:f=typeof i.is=="string"?d.createElement(r,{is:i.is}):d.createElement(r)}}f[tt]=t,f[ht]=i;e:for(d=t.child;d!==null;){if(d.tag===5||d.tag===6)f.appendChild(d.stateNode);else if(d.tag!==4&&d.tag!==27&&d.child!==null){d.child.return=d,d=d.child;continue}if(d===t)break e;for(;d.sibling===null;){if(d.return===null||d.return===t)break e;d=d.return}d.sibling.return=d.return,d=d.sibling}t.stateNode=f;e:switch(at(f,r,i),r){case"button":case"input":case"select":case"textarea":i=!!i.autoFocus;break e;case"img":i=!0;break e;default:i=!1}i&&mn(t)}}return Ue(t),gr(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==i&&mn(t);else{if(typeof i!="string"&&t.stateNode===null)throw Error(s(166));if(e=me.current,Kl(t)){if(e=t.stateNode,n=t.memoizedProps,i=null,r=nt,r!==null)switch(r.tag){case 27:case 5:i=r.memoizedProps}e[tt]=t,e=!!(e.nodeValue===n||i!==null&&i.suppressHydrationWarning===!0||ym(e.nodeValue,n)),e||xn(t,!0)}else e=$s(e).createTextNode(i),e[tt]=t,t.stateNode=e}return Ue(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(i=Kl(t),n!==null){if(e===null){if(!i)throw Error(s(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(s(557));e[tt]=t}else rl(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Ue(t),e=!1}else n=Oc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Mt(t),t):(Mt(t),null);if((t.flags&128)!==0)throw Error(s(558))}return Ue(t),null;case 13:if(i=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(r=Kl(t),i!==null&&i.dehydrated!==null){if(e===null){if(!r)throw Error(s(318));if(r=t.memoizedState,r=r!==null?r.dehydrated:null,!r)throw Error(s(317));r[tt]=t}else rl(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Ue(t),r=!1}else r=Oc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=r),r=!0;if(!r)return t.flags&256?(Mt(t),t):(Mt(t),null)}return Mt(t),(t.flags&128)!==0?(t.lanes=n,t):(n=i!==null,e=e!==null&&e.memoizedState!==null,n&&(i=t.child,r=null,i.alternate!==null&&i.alternate.memoizedState!==null&&i.alternate.memoizedState.cachePool!==null&&(r=i.alternate.memoizedState.cachePool.pool),f=null,i.memoizedState!==null&&i.memoizedState.cachePool!==null&&(f=i.memoizedState.cachePool.pool),f!==r&&(i.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Ns(t,t.updateQueue),Ue(t),null);case 4:return Ye(),e===null&&Br(t.stateNode.containerInfo),Ue(t),null;case 10:return fn(t.type),Ue(t),null;case 19:if(Y($e),i=t.memoizedState,i===null)return Ue(t),null;if(r=(t.flags&128)!==0,f=i.rendering,f===null)if(r)ua(i,!1);else{if(He!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(f=ms(e),f!==null){for(t.flags|=128,ua(i,!1),e=f.updateQueue,t.updateQueue=e,Ns(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)Jo(n,e),n=n.sibling;return J($e,$e.current&1|2),be&&cn(t,i.treeForkCount),t.child}e=e.sibling}i.tail!==null&&Et()>Ds&&(t.flags|=128,r=!0,ua(i,!1),t.lanes=4194304)}else{if(!r)if(e=ms(f),e!==null){if(t.flags|=128,r=!0,e=e.updateQueue,t.updateQueue=e,Ns(t,e),ua(i,!0),i.tail===null&&i.tailMode==="hidden"&&!f.alternate&&!be)return Ue(t),null}else 2*Et()-i.renderingStartTime>Ds&&n!==536870912&&(t.flags|=128,r=!0,ua(i,!1),t.lanes=4194304);i.isBackwards?(f.sibling=t.child,t.child=f):(e=i.last,e!==null?e.sibling=f:t.child=f,i.last=f)}return i.tail!==null?(e=i.tail,i.rendering=e,i.tail=e.sibling,i.renderingStartTime=Et(),e.sibling=null,n=$e.current,J($e,r?n&1|2:n&1),be&&cn(t,i.treeForkCount),e):(Ue(t),null);case 22:case 23:return Mt(t),qc(),i=t.memoizedState!==null,e!==null?e.memoizedState!==null!==i&&(t.flags|=8192):i&&(t.flags|=8192),i?(n&536870912)!==0&&(t.flags&128)===0&&(Ue(t),t.subtreeFlags&6&&(t.flags|=8192)):Ue(t),n=t.updateQueue,n!==null&&Ns(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),i=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(i=t.memoizedState.cachePool.pool),i!==n&&(t.flags|=2048),e!==null&&Y(hl),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),fn(Qe),Ue(t),null;case 25:return null;case 30:return null}throw Error(s(156,t.tag))}function S0(e,t){switch(Ac(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return fn(Qe),Ye(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return qa(t),null;case 31:if(t.memoizedState!==null){if(Mt(t),t.alternate===null)throw Error(s(340));rl()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Mt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(s(340));rl()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Y($e),null;case 4:return Ye(),null;case 10:return fn(t.type),null;case 22:case 23:return Mt(t),qc(),e!==null&&Y(hl),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return fn(Qe),null;case 25:return null;default:return null}}function Ed(e,t){switch(Ac(t),t.tag){case 3:fn(Qe),Ye();break;case 26:case 27:case 5:qa(t);break;case 4:Ye();break;case 31:t.memoizedState!==null&&Mt(t);break;case 13:Mt(t);break;case 19:Y($e);break;case 10:fn(t.type);break;case 22:case 23:Mt(t),qc(),e!==null&&Y(hl);break;case 24:fn(Qe)}}function ca(e,t){try{var n=t.updateQueue,i=n!==null?n.lastEffect:null;if(i!==null){var r=i.next;n=r;do{if((n.tag&e)===e){i=void 0;var f=n.create,d=n.inst;i=f(),d.destroy=i}n=n.next}while(n!==r)}}catch(y){_e(t,t.return,y)}}function qn(e,t,n){try{var i=t.updateQueue,r=i!==null?i.lastEffect:null;if(r!==null){var f=r.next;i=f;do{if((i.tag&e)===e){var d=i.inst,y=d.destroy;if(y!==void 0){d.destroy=void 0,r=t;var S=n,z=y;try{z()}catch(B){_e(r,S,B)}}}i=i.next}while(i!==f)}}catch(B){_e(t,t.return,B)}}function Ad(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{dh(t,n)}catch(i){_e(e,e.return,i)}}}function wd(e,t,n){n.props=yl(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(i){_e(e,t,i)}}function ra(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var i=e.stateNode;break;case 30:i=e.stateNode;break;default:i=e.stateNode}typeof n=="function"?e.refCleanup=n(i):n.current=i}}catch(r){_e(e,t,r)}}function Pt(e,t){var n=e.ref,i=e.refCleanup;if(n!==null)if(typeof i=="function")try{i()}catch(r){_e(e,t,r)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(r){_e(e,t,r)}else n.current=null}function Od(e){var t=e.type,n=e.memoizedProps,i=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&i.focus();break e;case"img":n.src?i.src=n.src:n.srcSet&&(i.srcset=n.srcSet)}}catch(r){_e(e,e.return,r)}}function pr(e,t,n){try{var i=e.stateNode;$0(i,e.type,n,t),i[ht]=t}catch(r){_e(e,e.return,r)}}function _d(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Vn(e.type)||e.tag===4}function yr(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||_d(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Vn(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function vr(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=an));else if(i!==4&&(i===27&&Vn(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(vr(e,t,n),e=e.sibling;e!==null;)vr(e,t,n),e=e.sibling}function Ms(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(i!==4&&(i===27&&Vn(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(Ms(e,t,n),e=e.sibling;e!==null;)Ms(e,t,n),e=e.sibling}function Nd(e){var t=e.stateNode,n=e.memoizedProps;try{for(var i=e.type,r=t.attributes;r.length;)t.removeAttributeNode(r[0]);at(t,i,n),t[tt]=e,t[ht]=n}catch(f){_e(e,e.return,f)}}var gn=!1,Je=!1,br=!1,Md=typeof WeakSet=="function"?WeakSet:Set,et=null;function T0(e,t){if(e=e.containerInfo,Hr=Js,e=Ho(e),hc(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var i=n.getSelection&&n.getSelection();if(i&&i.rangeCount!==0){n=i.anchorNode;var r=i.anchorOffset,f=i.focusNode;i=i.focusOffset;try{n.nodeType,f.nodeType}catch{n=null;break e}var d=0,y=-1,S=-1,z=0,B=0,H=e,L=null;t:for(;;){for(var j;H!==n||r!==0&&H.nodeType!==3||(y=d+r),H!==f||i!==0&&H.nodeType!==3||(S=d+i),H.nodeType===3&&(d+=H.nodeValue.length),(j=H.firstChild)!==null;)L=H,H=j;for(;;){if(H===e)break t;if(L===n&&++z===r&&(y=d),L===f&&++B===i&&(S=d),(j=H.nextSibling)!==null)break;H=L,L=H.parentNode}H=j}n=y===-1||S===-1?null:{start:y,end:S}}else n=null}n=n||{start:0,end:0}}else n=null;for(Yr={focusedElem:e,selectionRange:n},Js=!1,et=t;et!==null;)if(t=et,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,et=e;else for(;et!==null;){switch(t=et,f=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(n=0;n<e.length;n++)r=e[n],r.ref.impl=r.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&f!==null){e=void 0,n=t,r=f.memoizedProps,f=f.memoizedState,i=n.stateNode;try{var F=yl(n.type,r);e=i.getSnapshotBeforeUpdate(F,f),i.__reactInternalSnapshotBeforeUpdate=e}catch(ie){_e(n,n.return,ie)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)Kr(e);else if(n===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":Kr(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(s(163))}if(e=t.sibling,e!==null){e.return=t.return,et=e;break}et=t.return}}function Cd(e,t,n){var i=n.flags;switch(n.tag){case 0:case 11:case 15:yn(e,n),i&4&&ca(5,n);break;case 1:if(yn(e,n),i&4)if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(d){_e(n,n.return,d)}else{var r=yl(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(r,t,e.__reactInternalSnapshotBeforeUpdate)}catch(d){_e(n,n.return,d)}}i&64&&Ad(n),i&512&&ra(n,n.return);break;case 3:if(yn(e,n),i&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{dh(e,t)}catch(d){_e(n,n.return,d)}}break;case 27:t===null&&i&4&&Nd(n);case 26:case 5:yn(e,n),t===null&&i&4&&Od(n),i&512&&ra(n,n.return);break;case 12:yn(e,n);break;case 31:yn(e,n),i&4&&Dd(e,n);break;case 13:yn(e,n),i&4&&Ld(e,n),i&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=z0.bind(null,n),W0(e,n))));break;case 22:if(i=n.memoizedState!==null||gn,!i){t=t!==null&&t.memoizedState!==null||Je,r=gn;var f=Je;gn=i,(Je=t)&&!f?vn(e,n,(n.subtreeFlags&8772)!==0):yn(e,n),gn=r,Je=f}break;case 30:break;default:yn(e,n)}}function zd(e){var t=e.alternate;t!==null&&(e.alternate=null,zd(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&Ju(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var Re=null,mt=!1;function pn(e,t,n){for(n=n.child;n!==null;)xd(e,t,n),n=n.sibling}function xd(e,t,n){if(At&&typeof At.onCommitFiberUnmount=="function")try{At.onCommitFiberUnmount(Li,n)}catch{}switch(n.tag){case 26:Je||Pt(n,t),pn(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:Je||Pt(n,t);var i=Re,r=mt;Vn(n.type)&&(Re=n.stateNode,mt=!1),pn(e,t,n),va(n.stateNode),Re=i,mt=r;break;case 5:Je||Pt(n,t);case 6:if(i=Re,r=mt,Re=null,pn(e,t,n),Re=i,mt=r,Re!==null)if(mt)try{(Re.nodeType===9?Re.body:Re.nodeName==="HTML"?Re.ownerDocument.body:Re).removeChild(n.stateNode)}catch(f){_e(n,t,f)}else try{Re.removeChild(n.stateNode)}catch(f){_e(n,t,f)}break;case 18:Re!==null&&(mt?(e=Re,Am(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,n.stateNode),oi(e)):Am(Re,n.stateNode));break;case 4:i=Re,r=mt,Re=n.stateNode.containerInfo,mt=!0,pn(e,t,n),Re=i,mt=r;break;case 0:case 11:case 14:case 15:qn(2,n,t),Je||qn(4,n,t),pn(e,t,n);break;case 1:Je||(Pt(n,t),i=n.stateNode,typeof i.componentWillUnmount=="function"&&wd(n,t,i)),pn(e,t,n);break;case 21:pn(e,t,n);break;case 22:Je=(i=Je)||n.memoizedState!==null,pn(e,t,n),Je=i;break;default:pn(e,t,n)}}function Dd(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{oi(e)}catch(n){_e(t,t.return,n)}}}function Ld(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{oi(e)}catch(n){_e(t,t.return,n)}}function E0(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new Md),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new Md),t;default:throw Error(s(435,e.tag))}}function Cs(e,t){var n=E0(e);t.forEach(function(i){if(!n.has(i)){n.add(i);var r=x0.bind(null,e,i);i.then(r,r)}})}function gt(e,t){var n=t.deletions;if(n!==null)for(var i=0;i<n.length;i++){var r=n[i],f=e,d=t,y=d;e:for(;y!==null;){switch(y.tag){case 27:if(Vn(y.type)){Re=y.stateNode,mt=!1;break e}break;case 5:Re=y.stateNode,mt=!1;break e;case 3:case 4:Re=y.stateNode.containerInfo,mt=!0;break e}y=y.return}if(Re===null)throw Error(s(160));xd(f,d,r),Re=null,mt=!1,f=r.alternate,f!==null&&(f.return=null),r.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)Ud(t,e),t=t.sibling}var Xt=null;function Ud(e,t){var n=e.alternate,i=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:gt(t,e),pt(e),i&4&&(qn(3,e,e.return),ca(3,e),qn(5,e,e.return));break;case 1:gt(t,e),pt(e),i&512&&(Je||n===null||Pt(n,n.return)),i&64&&gn&&(e=e.updateQueue,e!==null&&(i=e.callbacks,i!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?i:n.concat(i))));break;case 26:var r=Xt;if(gt(t,e),pt(e),i&512&&(Je||n===null||Pt(n,n.return)),i&4){var f=n!==null?n.memoizedState:null;if(i=e.memoizedState,n===null)if(i===null)if(e.stateNode===null){e:{i=e.type,n=e.memoizedProps,r=r.ownerDocument||r;t:switch(i){case"title":f=r.getElementsByTagName("title")[0],(!f||f[ji]||f[tt]||f.namespaceURI==="http://www.w3.org/2000/svg"||f.hasAttribute("itemprop"))&&(f=r.createElement(i),r.head.insertBefore(f,r.querySelector("head > title"))),at(f,i,n),f[tt]=e,Pe(f),i=f;break e;case"link":var d=Um("link","href",r).get(i+(n.href||""));if(d){for(var y=0;y<d.length;y++)if(f=d[y],f.getAttribute("href")===(n.href==null||n.href===""?null:n.href)&&f.getAttribute("rel")===(n.rel==null?null:n.rel)&&f.getAttribute("title")===(n.title==null?null:n.title)&&f.getAttribute("crossorigin")===(n.crossOrigin==null?null:n.crossOrigin)){d.splice(y,1);break t}}f=r.createElement(i),at(f,i,n),r.head.appendChild(f);break;case"meta":if(d=Um("meta","content",r).get(i+(n.content||""))){for(y=0;y<d.length;y++)if(f=d[y],f.getAttribute("content")===(n.content==null?null:""+n.content)&&f.getAttribute("name")===(n.name==null?null:n.name)&&f.getAttribute("property")===(n.property==null?null:n.property)&&f.getAttribute("http-equiv")===(n.httpEquiv==null?null:n.httpEquiv)&&f.getAttribute("charset")===(n.charSet==null?null:n.charSet)){d.splice(y,1);break t}}f=r.createElement(i),at(f,i,n),r.head.appendChild(f);break;default:throw Error(s(468,i))}f[tt]=e,Pe(f),i=f}e.stateNode=i}else Rm(r,e.type,e.stateNode);else e.stateNode=Lm(r,i,e.memoizedProps);else f!==i?(f===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):f.count--,i===null?Rm(r,e.type,e.stateNode):Lm(r,i,e.memoizedProps)):i===null&&e.stateNode!==null&&pr(e,e.memoizedProps,n.memoizedProps)}break;case 27:gt(t,e),pt(e),i&512&&(Je||n===null||Pt(n,n.return)),n!==null&&i&4&&pr(e,e.memoizedProps,n.memoizedProps);break;case 5:if(gt(t,e),pt(e),i&512&&(Je||n===null||Pt(n,n.return)),e.flags&32){r=e.stateNode;try{Ul(r,"")}catch(F){_e(e,e.return,F)}}i&4&&e.stateNode!=null&&(r=e.memoizedProps,pr(e,r,n!==null?n.memoizedProps:r)),i&1024&&(br=!0);break;case 6:if(gt(t,e),pt(e),i&4){if(e.stateNode===null)throw Error(s(162));i=e.memoizedProps,n=e.stateNode;try{n.nodeValue=i}catch(F){_e(e,e.return,F)}}break;case 3:if(Vs=null,r=Xt,Xt=Gs(t.containerInfo),gt(t,e),Xt=r,pt(e),i&4&&n!==null&&n.memoizedState.isDehydrated)try{oi(t.containerInfo)}catch(F){_e(e,e.return,F)}br&&(br=!1,Rd(e));break;case 4:i=Xt,Xt=Gs(e.stateNode.containerInfo),gt(t,e),pt(e),Xt=i;break;case 12:gt(t,e),pt(e);break;case 31:gt(t,e),pt(e),i&4&&(i=e.updateQueue,i!==null&&(e.updateQueue=null,Cs(e,i)));break;case 13:gt(t,e),pt(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(xs=Et()),i&4&&(i=e.updateQueue,i!==null&&(e.updateQueue=null,Cs(e,i)));break;case 22:r=e.memoizedState!==null;var S=n!==null&&n.memoizedState!==null,z=gn,B=Je;if(gn=z||r,Je=B||S,gt(t,e),Je=B,gn=z,pt(e),i&8192)e:for(t=e.stateNode,t._visibility=r?t._visibility&-2:t._visibility|1,r&&(n===null||S||gn||Je||vl(e)),n=null,t=e;;){if(t.tag===5||t.tag===26){if(n===null){S=n=t;try{if(f=S.stateNode,r)d=f.style,typeof d.setProperty=="function"?d.setProperty("display","none","important"):d.display="none";else{y=S.stateNode;var H=S.memoizedProps.style,L=H!=null&&H.hasOwnProperty("display")?H.display:null;y.style.display=L==null||typeof L=="boolean"?"":(""+L).trim()}}catch(F){_e(S,S.return,F)}}}else if(t.tag===6){if(n===null){S=t;try{S.stateNode.nodeValue=r?"":S.memoizedProps}catch(F){_e(S,S.return,F)}}}else if(t.tag===18){if(n===null){S=t;try{var j=S.stateNode;r?wm(j,!0):wm(S.stateNode,!1)}catch(F){_e(S,S.return,F)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}i&4&&(i=e.updateQueue,i!==null&&(n=i.retryQueue,n!==null&&(i.retryQueue=null,Cs(e,n))));break;case 19:gt(t,e),pt(e),i&4&&(i=e.updateQueue,i!==null&&(e.updateQueue=null,Cs(e,i)));break;case 30:break;case 21:break;default:gt(t,e),pt(e)}}function pt(e){var t=e.flags;if(t&2){try{for(var n,i=e.return;i!==null;){if(_d(i)){n=i;break}i=i.return}if(n==null)throw Error(s(160));switch(n.tag){case 27:var r=n.stateNode,f=yr(e);Ms(e,f,r);break;case 5:var d=n.stateNode;n.flags&32&&(Ul(d,""),n.flags&=-33);var y=yr(e);Ms(e,y,d);break;case 3:case 4:var S=n.stateNode.containerInfo,z=yr(e);vr(e,z,S);break;default:throw Error(s(161))}}catch(B){_e(e,e.return,B)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function Rd(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;Rd(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function yn(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)Cd(e,t.alternate,t),t=t.sibling}function vl(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:qn(4,t,t.return),vl(t);break;case 1:Pt(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount=="function"&&wd(t,t.return,n),vl(t);break;case 27:va(t.stateNode);case 26:case 5:Pt(t,t.return),vl(t);break;case 22:t.memoizedState===null&&vl(t);break;case 30:vl(t);break;default:vl(t)}e=e.sibling}}function vn(e,t,n){for(n=n&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var i=t.alternate,r=e,f=t,d=f.flags;switch(f.tag){case 0:case 11:case 15:vn(r,f,n),ca(4,f);break;case 1:if(vn(r,f,n),i=f,r=i.stateNode,typeof r.componentDidMount=="function")try{r.componentDidMount()}catch(z){_e(i,i.return,z)}if(i=f,r=i.updateQueue,r!==null){var y=i.stateNode;try{var S=r.shared.hiddenCallbacks;if(S!==null)for(r.shared.hiddenCallbacks=null,r=0;r<S.length;r++)hh(S[r],y)}catch(z){_e(i,i.return,z)}}n&&d&64&&Ad(f),ra(f,f.return);break;case 27:Nd(f);case 26:case 5:vn(r,f,n),n&&i===null&&d&4&&Od(f),ra(f,f.return);break;case 12:vn(r,f,n);break;case 31:vn(r,f,n),n&&d&4&&Dd(r,f);break;case 13:vn(r,f,n),n&&d&4&&Ld(r,f);break;case 22:f.memoizedState===null&&vn(r,f,n),ra(f,f.return);break;case 30:break;default:vn(r,f,n)}t=t.sibling}}function Sr(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&Ji(n))}function Tr(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Ji(e))}function Zt(e,t,n,i){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)jd(e,t,n,i),t=t.sibling}function jd(e,t,n,i){var r=t.flags;switch(t.tag){case 0:case 11:case 15:Zt(e,t,n,i),r&2048&&ca(9,t);break;case 1:Zt(e,t,n,i);break;case 3:Zt(e,t,n,i),r&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Ji(e)));break;case 12:if(r&2048){Zt(e,t,n,i),e=t.stateNode;try{var f=t.memoizedProps,d=f.id,y=f.onPostCommit;typeof y=="function"&&y(d,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(S){_e(t,t.return,S)}}else Zt(e,t,n,i);break;case 31:Zt(e,t,n,i);break;case 13:Zt(e,t,n,i);break;case 23:break;case 22:f=t.stateNode,d=t.alternate,t.memoizedState!==null?f._visibility&2?Zt(e,t,n,i):fa(e,t):f._visibility&2?Zt(e,t,n,i):(f._visibility|=2,ei(e,t,n,i,(t.subtreeFlags&10256)!==0||!1)),r&2048&&Sr(d,t);break;case 24:Zt(e,t,n,i),r&2048&&Tr(t.alternate,t);break;default:Zt(e,t,n,i)}}function ei(e,t,n,i,r){for(r=r&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var f=e,d=t,y=n,S=i,z=d.flags;switch(d.tag){case 0:case 11:case 15:ei(f,d,y,S,r),ca(8,d);break;case 23:break;case 22:var B=d.stateNode;d.memoizedState!==null?B._visibility&2?ei(f,d,y,S,r):fa(f,d):(B._visibility|=2,ei(f,d,y,S,r)),r&&z&2048&&Sr(d.alternate,d);break;case 24:ei(f,d,y,S,r),r&&z&2048&&Tr(d.alternate,d);break;default:ei(f,d,y,S,r)}t=t.sibling}}function fa(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,i=t,r=i.flags;switch(i.tag){case 22:fa(n,i),r&2048&&Sr(i.alternate,i);break;case 24:fa(n,i),r&2048&&Tr(i.alternate,i);break;default:fa(n,i)}t=t.sibling}}var oa=8192;function ti(e,t,n){if(e.subtreeFlags&oa)for(e=e.child;e!==null;)Bd(e,t,n),e=e.sibling}function Bd(e,t,n){switch(e.tag){case 26:ti(e,t,n),e.flags&oa&&e.memoizedState!==null&&c1(n,Xt,e.memoizedState,e.memoizedProps);break;case 5:ti(e,t,n);break;case 3:case 4:var i=Xt;Xt=Gs(e.stateNode.containerInfo),ti(e,t,n),Xt=i;break;case 22:e.memoizedState===null&&(i=e.alternate,i!==null&&i.memoizedState!==null?(i=oa,oa=16777216,ti(e,t,n),oa=i):ti(e,t,n));break;default:ti(e,t,n)}}function qd(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function ha(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var i=t[n];et=i,Hd(i,e)}qd(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)kd(e),e=e.sibling}function kd(e){switch(e.tag){case 0:case 11:case 15:ha(e),e.flags&2048&&qn(9,e,e.return);break;case 3:ha(e);break;case 12:ha(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,zs(e)):ha(e);break;default:ha(e)}}function zs(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var i=t[n];et=i,Hd(i,e)}qd(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:qn(8,t,t.return),zs(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,zs(t));break;default:zs(t)}e=e.sibling}}function Hd(e,t){for(;et!==null;){var n=et;switch(n.tag){case 0:case 11:case 15:qn(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var i=n.memoizedState.cachePool.pool;i!=null&&i.refCount++}break;case 24:Ji(n.memoizedState.cache)}if(i=n.child,i!==null)i.return=n,et=i;else e:for(n=e;et!==null;){i=et;var r=i.sibling,f=i.return;if(zd(i),i===n){et=null;break e}if(r!==null){r.return=f,et=r;break e}et=f}}}var A0={getCacheForType:function(e){var t=lt(Qe),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return lt(Qe).controller.signal}},w0=typeof WeakMap=="function"?WeakMap:Map,Ee=0,xe=null,ge=null,ye=0,Oe=0,Ct=null,kn=!1,ni=!1,Er=!1,bn=0,He=0,Hn=0,bl=0,Ar=0,zt=0,li=0,da=null,yt=null,wr=!1,xs=0,Yd=0,Ds=1/0,Ls=null,Yn=null,Fe=0,$n=null,ii=null,Sn=0,Or=0,_r=null,$d=null,ma=0,Nr=null;function xt(){return(Ee&2)!==0&&ye!==0?ye&-ye:D.T!==null?Lr():lo()}function Gd(){if(zt===0)if((ye&536870912)===0||be){var e=Ya;Ya<<=1,(Ya&3932160)===0&&(Ya=262144),zt=e}else zt=536870912;return e=Nt.current,e!==null&&(e.flags|=32),zt}function vt(e,t,n){(e===xe&&(Oe===2||Oe===9)||e.cancelPendingCommit!==null)&&(ai(e,0),Gn(e,ye,zt,!1)),Ri(e,n),((Ee&2)===0||e!==xe)&&(e===xe&&((Ee&2)===0&&(bl|=n),He===4&&Gn(e,ye,zt,!1)),en(e))}function Kd(e,t,n){if((Ee&6)!==0)throw Error(s(327));var i=!n&&(t&127)===0&&(t&e.expiredLanes)===0||Ui(e,t),r=i?N0(e,t):Cr(e,t,!0),f=i;do{if(r===0){ni&&!i&&Gn(e,t,0,!1);break}else{if(n=e.current.alternate,f&&!O0(n)){r=Cr(e,t,!1),f=!1;continue}if(r===2){if(f=t,e.errorRecoveryDisabledLanes&f)var d=0;else d=e.pendingLanes&-536870913,d=d!==0?d:d&536870912?536870912:0;if(d!==0){t=d;e:{var y=e;r=da;var S=y.current.memoizedState.isDehydrated;if(S&&(ai(y,d).flags|=256),d=Cr(y,d,!1),d!==2){if(Er&&!S){y.errorRecoveryDisabledLanes|=f,bl|=f,r=4;break e}f=yt,yt=r,f!==null&&(yt===null?yt=f:yt.push.apply(yt,f))}r=d}if(f=!1,r!==2)continue}}if(r===1){ai(e,0),Gn(e,t,0,!0);break}e:{switch(i=e,f=r,f){case 0:case 1:throw Error(s(345));case 4:if((t&4194048)!==t)break;case 6:Gn(i,t,zt,!kn);break e;case 2:yt=null;break;case 3:case 5:break;default:throw Error(s(329))}if((t&62914560)===t&&(r=xs+300-Et(),10<r)){if(Gn(i,t,zt,!kn),Ga(i,0,!0)!==0)break e;Sn=t,i.timeoutHandle=Tm(Vd.bind(null,i,n,yt,Ls,wr,t,zt,bl,li,kn,f,"Throttled",-0,0),r);break e}Vd(i,n,yt,Ls,wr,t,zt,bl,li,kn,f,null,-0,0)}}break}while(!0);en(e)}function Vd(e,t,n,i,r,f,d,y,S,z,B,H,L,j){if(e.timeoutHandle=-1,H=t.subtreeFlags,H&8192||(H&16785408)===16785408){H={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:an},Bd(t,f,H);var F=(f&62914560)===f?xs-Et():(f&4194048)===f?Yd-Et():0;if(F=r1(H,F),F!==null){Sn=f,e.cancelPendingCommit=F(Pd.bind(null,e,t,f,n,i,r,d,y,S,B,H,null,L,j)),Gn(e,f,d,!z);return}}Pd(e,t,f,n,i,r,d,y,S)}function O0(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var i=0;i<n.length;i++){var r=n[i],f=r.getSnapshot;r=r.value;try{if(!Ot(f(),r))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function Gn(e,t,n,i){t&=~Ar,t&=~bl,e.suspendedLanes|=t,e.pingedLanes&=~t,i&&(e.warmLanes|=t),i=e.expirationTimes;for(var r=t;0<r;){var f=31-wt(r),d=1<<f;i[f]=-1,r&=~d}n!==0&&eo(e,n,t)}function Us(){return(Ee&6)===0?(ga(0),!1):!0}function Mr(){if(ge!==null){if(Oe===0)var e=ge.return;else e=ge,rn=fl=null,Kc(e),Jl=null,Fi=0,e=ge;for(;e!==null;)Ed(e.alternate,e),e=e.return;ge=null}}function ai(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,V0(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),Sn=0,Mr(),xe=e,ge=n=un(e.current,null),ye=t,Oe=0,Ct=null,kn=!1,ni=Ui(e,t),Er=!1,li=zt=Ar=bl=Hn=He=0,yt=da=null,wr=!1,(t&8)!==0&&(t|=t&32);var i=e.entangledLanes;if(i!==0)for(e=e.entanglements,i&=t;0<i;){var r=31-wt(i),f=1<<r;t|=e[r],i&=~f}return bn=t,ts(),n}function Qd(e,t){fe=null,D.H=aa,t===Zl||t===rs?(t=ch(),Oe=3):t===Dc?(t=ch(),Oe=4):Oe=t===sr?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,Ct=t,ge===null&&(He=1,As(e,Bt(t,e.current)))}function Xd(){var e=Nt.current;return e===null?!0:(ye&4194048)===ye?Yt===null:(ye&62914560)===ye||(ye&536870912)!==0?e===Yt:!1}function Zd(){var e=D.H;return D.H=aa,e===null?aa:e}function Jd(){var e=D.A;return D.A=A0,e}function Rs(){He=4,kn||(ye&4194048)!==ye&&Nt.current!==null||(ni=!0),(Hn&134217727)===0&&(bl&134217727)===0||xe===null||Gn(xe,ye,zt,!1)}function Cr(e,t,n){var i=Ee;Ee|=2;var r=Zd(),f=Jd();(xe!==e||ye!==t)&&(Ls=null,ai(e,t)),t=!1;var d=He;e:do try{if(Oe!==0&&ge!==null){var y=ge,S=Ct;switch(Oe){case 8:Mr(),d=6;break e;case 3:case 2:case 9:case 6:Nt.current===null&&(t=!0);var z=Oe;if(Oe=0,Ct=null,si(e,y,S,z),n&&ni){d=0;break e}break;default:z=Oe,Oe=0,Ct=null,si(e,y,S,z)}}_0(),d=He;break}catch(B){Qd(e,B)}while(!0);return t&&e.shellSuspendCounter++,rn=fl=null,Ee=i,D.H=r,D.A=f,ge===null&&(xe=null,ye=0,ts()),d}function _0(){for(;ge!==null;)Wd(ge)}function N0(e,t){var n=Ee;Ee|=2;var i=Zd(),r=Jd();xe!==e||ye!==t?(Ls=null,Ds=Et()+500,ai(e,t)):ni=Ui(e,t);e:do try{if(Oe!==0&&ge!==null){t=ge;var f=Ct;t:switch(Oe){case 1:Oe=0,Ct=null,si(e,t,f,1);break;case 2:case 9:if(sh(f)){Oe=0,Ct=null,Fd(t);break}t=function(){Oe!==2&&Oe!==9||xe!==e||(Oe=7),en(e)},f.then(t,t);break e;case 3:Oe=7;break e;case 4:Oe=5;break e;case 7:sh(f)?(Oe=0,Ct=null,Fd(t)):(Oe=0,Ct=null,si(e,t,f,7));break;case 5:var d=null;switch(ge.tag){case 26:d=ge.memoizedState;case 5:case 27:var y=ge;if(d?jm(d):y.stateNode.complete){Oe=0,Ct=null;var S=y.sibling;if(S!==null)ge=S;else{var z=y.return;z!==null?(ge=z,js(z)):ge=null}break t}}Oe=0,Ct=null,si(e,t,f,5);break;case 6:Oe=0,Ct=null,si(e,t,f,6);break;case 8:Mr(),He=6;break e;default:throw Error(s(462))}}M0();break}catch(B){Qd(e,B)}while(!0);return rn=fl=null,D.H=i,D.A=r,Ee=n,ge!==null?0:(xe=null,ye=0,ts(),He)}function M0(){for(;ge!==null&&!Fp();)Wd(ge)}function Wd(e){var t=Sd(e.alternate,e,bn);e.memoizedProps=e.pendingProps,t===null?js(e):ge=t}function Fd(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=md(n,t,t.pendingProps,t.type,void 0,ye);break;case 11:t=md(n,t,t.pendingProps,t.type.render,t.ref,ye);break;case 5:Kc(t);default:Ed(n,t),t=ge=Jo(t,bn),t=Sd(n,t,bn)}e.memoizedProps=e.pendingProps,t===null?js(e):ge=t}function si(e,t,n,i){rn=fl=null,Kc(t),Jl=null,Fi=0;var r=t.return;try{if(p0(e,r,t,n,ye)){He=1,As(e,Bt(n,e.current)),ge=null;return}}catch(f){if(r!==null)throw ge=r,f;He=1,As(e,Bt(n,e.current)),ge=null;return}t.flags&32768?(be||i===1?e=!0:ni||(ye&536870912)!==0?e=!1:(kn=e=!0,(i===2||i===9||i===3||i===6)&&(i=Nt.current,i!==null&&i.tag===13&&(i.flags|=16384))),Id(t,e)):js(t)}function js(e){var t=e;do{if((t.flags&32768)!==0){Id(t,kn);return}e=t.return;var n=b0(t.alternate,t,bn);if(n!==null){ge=n;return}if(t=t.sibling,t!==null){ge=t;return}ge=t=e}while(t!==null);He===0&&(He=5)}function Id(e,t){do{var n=S0(e.alternate,e);if(n!==null){n.flags&=32767,ge=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){ge=e;return}ge=e=n}while(e!==null);He=6,ge=null}function Pd(e,t,n,i,r,f,d,y,S){e.cancelPendingCommit=null;do Bs();while(Fe!==0);if((Ee&6)!==0)throw Error(s(327));if(t!==null){if(t===e.current)throw Error(s(177));if(f=t.lanes|t.childLanes,f|=yc,uy(e,n,f,d,y,S),e===xe&&(ge=xe=null,ye=0),ii=t,$n=e,Sn=n,Or=f,_r=r,$d=i,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,D0(ka,function(){return im(),null})):(e.callbackNode=null,e.callbackPriority=0),i=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||i){i=D.T,D.T=null,r=K.p,K.p=2,d=Ee,Ee|=4;try{T0(e,t,n)}finally{Ee=d,K.p=r,D.T=i}}Fe=1,em(),tm(),nm()}}function em(){if(Fe===1){Fe=0;var e=$n,t=ii,n=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||n){n=D.T,D.T=null;var i=K.p;K.p=2;var r=Ee;Ee|=4;try{Ud(t,e);var f=Yr,d=Ho(e.containerInfo),y=f.focusedElem,S=f.selectionRange;if(d!==y&&y&&y.ownerDocument&&ko(y.ownerDocument.documentElement,y)){if(S!==null&&hc(y)){var z=S.start,B=S.end;if(B===void 0&&(B=z),"selectionStart"in y)y.selectionStart=z,y.selectionEnd=Math.min(B,y.value.length);else{var H=y.ownerDocument||document,L=H&&H.defaultView||window;if(L.getSelection){var j=L.getSelection(),F=y.textContent.length,ie=Math.min(S.start,F),ze=S.end===void 0?ie:Math.min(S.end,F);!j.extend&&ie>ze&&(d=ze,ze=ie,ie=d);var N=qo(y,ie),w=qo(y,ze);if(N&&w&&(j.rangeCount!==1||j.anchorNode!==N.node||j.anchorOffset!==N.offset||j.focusNode!==w.node||j.focusOffset!==w.offset)){var C=H.createRange();C.setStart(N.node,N.offset),j.removeAllRanges(),ie>ze?(j.addRange(C),j.extend(w.node,w.offset)):(C.setEnd(w.node,w.offset),j.addRange(C))}}}}for(H=[],j=y;j=j.parentNode;)j.nodeType===1&&H.push({element:j,left:j.scrollLeft,top:j.scrollTop});for(typeof y.focus=="function"&&y.focus(),y=0;y<H.length;y++){var k=H[y];k.element.scrollLeft=k.left,k.element.scrollTop=k.top}}Js=!!Hr,Yr=Hr=null}finally{Ee=r,K.p=i,D.T=n}}e.current=t,Fe=2}}function tm(){if(Fe===2){Fe=0;var e=$n,t=ii,n=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||n){n=D.T,D.T=null;var i=K.p;K.p=2;var r=Ee;Ee|=4;try{Cd(e,t.alternate,t)}finally{Ee=r,K.p=i,D.T=n}}Fe=3}}function nm(){if(Fe===4||Fe===3){Fe=0,Ip();var e=$n,t=ii,n=Sn,i=$d;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?Fe=5:(Fe=0,ii=$n=null,lm(e,e.pendingLanes));var r=e.pendingLanes;if(r===0&&(Yn=null),Xu(n),t=t.stateNode,At&&typeof At.onCommitFiberRoot=="function")try{At.onCommitFiberRoot(Li,t,void 0,(t.current.flags&128)===128)}catch{}if(i!==null){t=D.T,r=K.p,K.p=2,D.T=null;try{for(var f=e.onRecoverableError,d=0;d<i.length;d++){var y=i[d];f(y.value,{componentStack:y.stack})}}finally{D.T=t,K.p=r}}(Sn&3)!==0&&Bs(),en(e),r=e.pendingLanes,(n&261930)!==0&&(r&42)!==0?e===Nr?ma++:(ma=0,Nr=e):ma=0,ga(0)}}function lm(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Ji(t)))}function Bs(){return em(),tm(),nm(),im()}function im(){if(Fe!==5)return!1;var e=$n,t=Or;Or=0;var n=Xu(Sn),i=D.T,r=K.p;try{K.p=32>n?32:n,D.T=null,n=_r,_r=null;var f=$n,d=Sn;if(Fe=0,ii=$n=null,Sn=0,(Ee&6)!==0)throw Error(s(331));var y=Ee;if(Ee|=4,kd(f.current),jd(f,f.current,d,n),Ee=y,ga(0,!1),At&&typeof At.onPostCommitFiberRoot=="function")try{At.onPostCommitFiberRoot(Li,f)}catch{}return!0}finally{K.p=r,D.T=i,lm(e,t)}}function am(e,t,n){t=Bt(n,t),t=ar(e.stateNode,t,2),e=Rn(e,t,2),e!==null&&(Ri(e,2),en(e))}function _e(e,t,n){if(e.tag===3)am(e,e,n);else for(;t!==null;){if(t.tag===3){am(t,e,n);break}else if(t.tag===1){var i=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof i.componentDidCatch=="function"&&(Yn===null||!Yn.has(i))){e=Bt(n,e),n=sd(2),i=Rn(t,n,2),i!==null&&(ud(n,i,t,e),Ri(i,2),en(i));break}}t=t.return}}function zr(e,t,n){var i=e.pingCache;if(i===null){i=e.pingCache=new w0;var r=new Set;i.set(t,r)}else r=i.get(t),r===void 0&&(r=new Set,i.set(t,r));r.has(n)||(Er=!0,r.add(n),e=C0.bind(null,e,t,n),t.then(e,e))}function C0(e,t,n){var i=e.pingCache;i!==null&&i.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,xe===e&&(ye&n)===n&&(He===4||He===3&&(ye&62914560)===ye&&300>Et()-xs?(Ee&2)===0&&ai(e,0):Ar|=n,li===ye&&(li=0)),en(e)}function sm(e,t){t===0&&(t=Pf()),e=ul(e,t),e!==null&&(Ri(e,t),en(e))}function z0(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),sm(e,n)}function x0(e,t){var n=0;switch(e.tag){case 31:case 13:var i=e.stateNode,r=e.memoizedState;r!==null&&(n=r.retryLane);break;case 19:i=e.stateNode;break;case 22:i=e.stateNode._retryCache;break;default:throw Error(s(314))}i!==null&&i.delete(t),sm(e,n)}function D0(e,t){return Gu(e,t)}var qs=null,ui=null,xr=!1,ks=!1,Dr=!1,Kn=0;function en(e){e!==ui&&e.next===null&&(ui===null?qs=ui=e:ui=ui.next=e),ks=!0,xr||(xr=!0,U0())}function ga(e,t){if(!Dr&&ks){Dr=!0;do for(var n=!1,i=qs;i!==null;){if(e!==0){var r=i.pendingLanes;if(r===0)var f=0;else{var d=i.suspendedLanes,y=i.pingedLanes;f=(1<<31-wt(42|e)+1)-1,f&=r&~(d&~y),f=f&201326741?f&201326741|1:f?f|2:0}f!==0&&(n=!0,fm(i,f))}else f=ye,f=Ga(i,i===xe?f:0,i.cancelPendingCommit!==null||i.timeoutHandle!==-1),(f&3)===0||Ui(i,f)||(n=!0,fm(i,f));i=i.next}while(n);Dr=!1}}function L0(){um()}function um(){ks=xr=!1;var e=0;Kn!==0&&K0()&&(e=Kn);for(var t=Et(),n=null,i=qs;i!==null;){var r=i.next,f=cm(i,t);f===0?(i.next=null,n===null?qs=r:n.next=r,r===null&&(ui=n)):(n=i,(e!==0||(f&3)!==0)&&(ks=!0)),i=r}Fe!==0&&Fe!==5||ga(e),Kn!==0&&(Kn=0)}function cm(e,t){for(var n=e.suspendedLanes,i=e.pingedLanes,r=e.expirationTimes,f=e.pendingLanes&-62914561;0<f;){var d=31-wt(f),y=1<<d,S=r[d];S===-1?((y&n)===0||(y&i)!==0)&&(r[d]=sy(y,t)):S<=t&&(e.expiredLanes|=y),f&=~y}if(t=xe,n=ye,n=Ga(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),i=e.callbackNode,n===0||e===t&&(Oe===2||Oe===9)||e.cancelPendingCommit!==null)return i!==null&&i!==null&&Ku(i),e.callbackNode=null,e.callbackPriority=0;if((n&3)===0||Ui(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(i!==null&&Ku(i),Xu(n)){case 2:case 8:n=Ff;break;case 32:n=ka;break;case 268435456:n=If;break;default:n=ka}return i=rm.bind(null,e),n=Gu(n,i),e.callbackPriority=t,e.callbackNode=n,t}return i!==null&&i!==null&&Ku(i),e.callbackPriority=2,e.callbackNode=null,2}function rm(e,t){if(Fe!==0&&Fe!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(Bs()&&e.callbackNode!==n)return null;var i=ye;return i=Ga(e,e===xe?i:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),i===0?null:(Kd(e,i,t),cm(e,Et()),e.callbackNode!=null&&e.callbackNode===n?rm.bind(null,e):null)}function fm(e,t){if(Bs())return null;Kd(e,t,!0)}function U0(){Q0(function(){(Ee&6)!==0?Gu(Wf,L0):um()})}function Lr(){if(Kn===0){var e=Ql;e===0&&(e=Ha,Ha<<=1,(Ha&261888)===0&&(Ha=256)),Kn=e}return Kn}function om(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:Xa(""+e)}function hm(e,t){var n=t.ownerDocument.createElement("input");return n.name=t.name,n.value=t.value,e.id&&n.setAttribute("form",e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function R0(e,t,n,i,r){if(t==="submit"&&n&&n.stateNode===r){var f=om((r[ht]||null).action),d=i.submitter;d&&(t=(t=d[ht]||null)?om(t.formAction):d.getAttribute("formAction"),t!==null&&(f=t,d=null));var y=new Fa("action","action",null,i,r);e.push({event:y,listeners:[{instance:null,listener:function(){if(i.defaultPrevented){if(Kn!==0){var S=d?hm(r,d):new FormData(r);Pc(n,{pending:!0,data:S,method:r.method,action:f},null,S)}}else typeof f=="function"&&(y.preventDefault(),S=d?hm(r,d):new FormData(r),Pc(n,{pending:!0,data:S,method:r.method,action:f},f,S))},currentTarget:r}]})}}for(var Ur=0;Ur<pc.length;Ur++){var Rr=pc[Ur],j0=Rr.toLowerCase(),B0=Rr[0].toUpperCase()+Rr.slice(1);Qt(j0,"on"+B0)}Qt(Go,"onAnimationEnd"),Qt(Ko,"onAnimationIteration"),Qt(Vo,"onAnimationStart"),Qt("dblclick","onDoubleClick"),Qt("focusin","onFocus"),Qt("focusout","onBlur"),Qt(Py,"onTransitionRun"),Qt(e0,"onTransitionStart"),Qt(t0,"onTransitionCancel"),Qt(Qo,"onTransitionEnd"),Dl("onMouseEnter",["mouseout","mouseover"]),Dl("onMouseLeave",["mouseout","mouseover"]),Dl("onPointerEnter",["pointerout","pointerover"]),Dl("onPointerLeave",["pointerout","pointerover"]),ll("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),ll("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),ll("onBeforeInput",["compositionend","keypress","textInput","paste"]),ll("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),ll("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),ll("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var pa="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),q0=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(pa));function dm(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var i=e[n],r=i.event;i=i.listeners;e:{var f=void 0;if(t)for(var d=i.length-1;0<=d;d--){var y=i[d],S=y.instance,z=y.currentTarget;if(y=y.listener,S!==f&&r.isPropagationStopped())break e;f=y,r.currentTarget=z;try{f(r)}catch(B){es(B)}r.currentTarget=null,f=S}else for(d=0;d<i.length;d++){if(y=i[d],S=y.instance,z=y.currentTarget,y=y.listener,S!==f&&r.isPropagationStopped())break e;f=y,r.currentTarget=z;try{f(r)}catch(B){es(B)}r.currentTarget=null,f=S}}}}function pe(e,t){var n=t[Zu];n===void 0&&(n=t[Zu]=new Set);var i=e+"__bubble";n.has(i)||(mm(t,e,2,!1),n.add(i))}function jr(e,t,n){var i=0;t&&(i|=4),mm(n,e,i,t)}var Hs="_reactListening"+Math.random().toString(36).slice(2);function Br(e){if(!e[Hs]){e[Hs]=!0,so.forEach(function(n){n!=="selectionchange"&&(q0.has(n)||jr(n,!1,e),jr(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Hs]||(t[Hs]=!0,jr("selectionchange",!1,t))}}function mm(e,t,n,i){switch(Gm(t)){case 2:var r=h1;break;case 8:r=d1;break;default:r=Ir}n=r.bind(null,t,n,e),r=void 0,!lc||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(r=!0),i?r!==void 0?e.addEventListener(t,n,{capture:!0,passive:r}):e.addEventListener(t,n,!0):r!==void 0?e.addEventListener(t,n,{passive:r}):e.addEventListener(t,n,!1)}function qr(e,t,n,i,r){var f=i;if((t&1)===0&&(t&2)===0&&i!==null)e:for(;;){if(i===null)return;var d=i.tag;if(d===3||d===4){var y=i.stateNode.containerInfo;if(y===r)break;if(d===4)for(d=i.return;d!==null;){var S=d.tag;if((S===3||S===4)&&d.stateNode.containerInfo===r)return;d=d.return}for(;y!==null;){if(d=Cl(y),d===null)return;if(S=d.tag,S===5||S===6||S===26||S===27){i=f=d;continue e}y=y.parentNode}}i=i.return}bo(function(){var z=f,B=tc(n),H=[];e:{var L=Xo.get(e);if(L!==void 0){var j=Fa,F=e;switch(e){case"keypress":if(Ja(n)===0)break e;case"keydown":case"keyup":j=xy;break;case"focusin":F="focus",j=uc;break;case"focusout":F="blur",j=uc;break;case"beforeblur":case"afterblur":j=uc;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":j=Eo;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":j=by;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":j=Uy;break;case Go:case Ko:case Vo:j=Ey;break;case Qo:j=jy;break;case"scroll":case"scrollend":j=yy;break;case"wheel":j=qy;break;case"copy":case"cut":case"paste":j=wy;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":j=wo;break;case"toggle":case"beforetoggle":j=Hy}var ie=(t&4)!==0,ze=!ie&&(e==="scroll"||e==="scrollend"),N=ie?L!==null?L+"Capture":null:L;ie=[];for(var w=z,C;w!==null;){var k=w;if(C=k.stateNode,k=k.tag,k!==5&&k!==26&&k!==27||C===null||N===null||(k=qi(w,N),k!=null&&ie.push(ya(w,k,C))),ze)break;w=w.return}0<ie.length&&(L=new j(L,F,null,n,B),H.push({event:L,listeners:ie}))}}if((t&7)===0){e:{if(L=e==="mouseover"||e==="pointerover",j=e==="mouseout"||e==="pointerout",L&&n!==ec&&(F=n.relatedTarget||n.fromElement)&&(Cl(F)||F[Ml]))break e;if((j||L)&&(L=B.window===B?B:(L=B.ownerDocument)?L.defaultView||L.parentWindow:window,j?(F=n.relatedTarget||n.toElement,j=z,F=F?Cl(F):null,F!==null&&(ze=o(F),ie=F.tag,F!==ze||ie!==5&&ie!==27&&ie!==6)&&(F=null)):(j=null,F=z),j!==F)){if(ie=Eo,k="onMouseLeave",N="onMouseEnter",w="mouse",(e==="pointerout"||e==="pointerover")&&(ie=wo,k="onPointerLeave",N="onPointerEnter",w="pointer"),ze=j==null?L:Bi(j),C=F==null?L:Bi(F),L=new ie(k,w+"leave",j,n,B),L.target=ze,L.relatedTarget=C,k=null,Cl(B)===z&&(ie=new ie(N,w+"enter",F,n,B),ie.target=C,ie.relatedTarget=ze,k=ie),ze=k,j&&F)t:{for(ie=k0,N=j,w=F,C=0,k=N;k;k=ie(k))C++;k=0;for(var le=w;le;le=ie(le))k++;for(;0<C-k;)N=ie(N),C--;for(;0<k-C;)w=ie(w),k--;for(;C--;){if(N===w||w!==null&&N===w.alternate){ie=N;break t}N=ie(N),w=ie(w)}ie=null}else ie=null;j!==null&&gm(H,L,j,ie,!1),F!==null&&ze!==null&&gm(H,ze,F,ie,!0)}}e:{if(L=z?Bi(z):window,j=L.nodeName&&L.nodeName.toLowerCase(),j==="select"||j==="input"&&L.type==="file")var Se=Do;else if(zo(L))if(Lo)Se=Wy;else{Se=Zy;var P=Xy}else j=L.nodeName,!j||j.toLowerCase()!=="input"||L.type!=="checkbox"&&L.type!=="radio"?z&&Pu(z.elementType)&&(Se=Do):Se=Jy;if(Se&&(Se=Se(e,z))){xo(H,Se,n,B);break e}P&&P(e,L,z),e==="focusout"&&z&&L.type==="number"&&z.memoizedProps.value!=null&&Iu(L,"number",L.value)}switch(P=z?Bi(z):window,e){case"focusin":(zo(P)||P.contentEditable==="true")&&(ql=P,dc=z,Qi=null);break;case"focusout":Qi=dc=ql=null;break;case"mousedown":mc=!0;break;case"contextmenu":case"mouseup":case"dragend":mc=!1,Yo(H,n,B);break;case"selectionchange":if(Iy)break;case"keydown":case"keyup":Yo(H,n,B)}var oe;if(rc)e:{switch(e){case"compositionstart":var ve="onCompositionStart";break e;case"compositionend":ve="onCompositionEnd";break e;case"compositionupdate":ve="onCompositionUpdate";break e}ve=void 0}else Bl?Mo(e,n)&&(ve="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(ve="onCompositionStart");ve&&(Oo&&n.locale!=="ko"&&(Bl||ve!=="onCompositionStart"?ve==="onCompositionEnd"&&Bl&&(oe=So()):(Mn=B,ic="value"in Mn?Mn.value:Mn.textContent,Bl=!0)),P=Ys(z,ve),0<P.length&&(ve=new Ao(ve,e,null,n,B),H.push({event:ve,listeners:P}),oe?ve.data=oe:(oe=Co(n),oe!==null&&(ve.data=oe)))),(oe=$y?Gy(e,n):Ky(e,n))&&(ve=Ys(z,"onBeforeInput"),0<ve.length&&(P=new Ao("onBeforeInput","beforeinput",null,n,B),H.push({event:P,listeners:ve}),P.data=oe)),R0(H,e,z,n,B)}dm(H,t)})}function ya(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Ys(e,t){for(var n=t+"Capture",i=[];e!==null;){var r=e,f=r.stateNode;if(r=r.tag,r!==5&&r!==26&&r!==27||f===null||(r=qi(e,n),r!=null&&i.unshift(ya(e,r,f)),r=qi(e,t),r!=null&&i.push(ya(e,r,f))),e.tag===3)return i;e=e.return}return[]}function k0(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function gm(e,t,n,i,r){for(var f=t._reactName,d=[];n!==null&&n!==i;){var y=n,S=y.alternate,z=y.stateNode;if(y=y.tag,S!==null&&S===i)break;y!==5&&y!==26&&y!==27||z===null||(S=z,r?(z=qi(n,f),z!=null&&d.unshift(ya(n,z,S))):r||(z=qi(n,f),z!=null&&d.push(ya(n,z,S)))),n=n.return}d.length!==0&&e.push({event:t,listeners:d})}var H0=/\r\n?/g,Y0=/\u0000|\uFFFD/g;function pm(e){return(typeof e=="string"?e:""+e).replace(H0,`
50 -`).replace(Y0,"")}function ym(e,t){return t=pm(t),pm(e)===t}function Ce(e,t,n,i,r,f){switch(n){case"children":typeof i=="string"?t==="body"||t==="textarea"&&i===""||Ul(e,i):(typeof i=="number"||typeof i=="bigint")&&t!=="body"&&Ul(e,""+i);break;case"className":Va(e,"class",i);break;case"tabIndex":Va(e,"tabindex",i);break;case"dir":case"role":case"viewBox":case"width":case"height":Va(e,n,i);break;case"style":yo(e,i,f);break;case"data":if(t!=="object"){Va(e,"data",i);break}case"src":case"href":if(i===""&&(t!=="a"||n!=="href")){e.removeAttribute(n);break}if(i==null||typeof i=="function"||typeof i=="symbol"||typeof i=="boolean"){e.removeAttribute(n);break}i=Xa(""+i),e.setAttribute(n,i);break;case"action":case"formAction":if(typeof i=="function"){e.setAttribute(n,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof f=="function"&&(n==="formAction"?(t!=="input"&&Ce(e,t,"name",r.name,r,null),Ce(e,t,"formEncType",r.formEncType,r,null),Ce(e,t,"formMethod",r.formMethod,r,null),Ce(e,t,"formTarget",r.formTarget,r,null)):(Ce(e,t,"encType",r.encType,r,null),Ce(e,t,"method",r.method,r,null),Ce(e,t,"target",r.target,r,null)));if(i==null||typeof i=="symbol"||typeof i=="boolean"){e.removeAttribute(n);break}i=Xa(""+i),e.setAttribute(n,i);break;case"onClick":i!=null&&(e.onclick=an);break;case"onScroll":i!=null&&pe("scroll",e);break;case"onScrollEnd":i!=null&&pe("scrollend",e);break;case"dangerouslySetInnerHTML":if(i!=null){if(typeof i!="object"||!("__html"in i))throw Error(s(61));if(n=i.__html,n!=null){if(r.children!=null)throw Error(s(60));e.innerHTML=n}}break;case"multiple":e.multiple=i&&typeof i!="function"&&typeof i!="symbol";break;case"muted":e.muted=i&&typeof i!="function"&&typeof i!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(i==null||typeof i=="function"||typeof i=="boolean"||typeof i=="symbol"){e.removeAttribute("xlink:href");break}n=Xa(""+i),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",n);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":i!=null&&typeof i!="function"&&typeof i!="symbol"?e.setAttribute(n,""+i):e.removeAttribute(n);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":i&&typeof i!="function"&&typeof i!="symbol"?e.setAttribute(n,""):e.removeAttribute(n);break;case"capture":case"download":i===!0?e.setAttribute(n,""):i!==!1&&i!=null&&typeof i!="function"&&typeof i!="symbol"?e.setAttribute(n,i):e.removeAttribute(n);break;case"cols":case"rows":case"size":case"span":i!=null&&typeof i!="function"&&typeof i!="symbol"&&!isNaN(i)&&1<=i?e.setAttribute(n,i):e.removeAttribute(n);break;case"rowSpan":case"start":i==null||typeof i=="function"||typeof i=="symbol"||isNaN(i)?e.removeAttribute(n):e.setAttribute(n,i);break;case"popover":pe("beforetoggle",e),pe("toggle",e),Ka(e,"popover",i);break;case"xlinkActuate":ln(e,"http://www.w3.org/1999/xlink","xlink:actuate",i);break;case"xlinkArcrole":ln(e,"http://www.w3.org/1999/xlink","xlink:arcrole",i);break;case"xlinkRole":ln(e,"http://www.w3.org/1999/xlink","xlink:role",i);break;case"xlinkShow":ln(e,"http://www.w3.org/1999/xlink","xlink:show",i);break;case"xlinkTitle":ln(e,"http://www.w3.org/1999/xlink","xlink:title",i);break;case"xlinkType":ln(e,"http://www.w3.org/1999/xlink","xlink:type",i);break;case"xmlBase":ln(e,"http://www.w3.org/XML/1998/namespace","xml:base",i);break;case"xmlLang":ln(e,"http://www.w3.org/XML/1998/namespace","xml:lang",i);break;case"xmlSpace":ln(e,"http://www.w3.org/XML/1998/namespace","xml:space",i);break;case"is":Ka(e,"is",i);break;case"innerText":case"textContent":break;default:(!(2<n.length)||n[0]!=="o"&&n[0]!=="O"||n[1]!=="n"&&n[1]!=="N")&&(n=gy.get(n)||n,Ka(e,n,i))}}function kr(e,t,n,i,r,f){switch(n){case"style":yo(e,i,f);break;case"dangerouslySetInnerHTML":if(i!=null){if(typeof i!="object"||!("__html"in i))throw Error(s(61));if(n=i.__html,n!=null){if(r.children!=null)throw Error(s(60));e.innerHTML=n}}break;case"children":typeof i=="string"?Ul(e,i):(typeof i=="number"||typeof i=="bigint")&&Ul(e,""+i);break;case"onScroll":i!=null&&pe("scroll",e);break;case"onScrollEnd":i!=null&&pe("scrollend",e);break;case"onClick":i!=null&&(e.onclick=an);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!uo.hasOwnProperty(n))e:{if(n[0]==="o"&&n[1]==="n"&&(r=n.endsWith("Capture"),t=n.slice(2,r?n.length-7:void 0),f=e[ht]||null,f=f!=null?f[n]:null,typeof f=="function"&&e.removeEventListener(t,f,r),typeof i=="function")){typeof f!="function"&&f!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,i,r);break e}n in e?e[n]=i:i===!0?e.setAttribute(n,""):Ka(e,n,i)}}}function at(e,t,n){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":pe("error",e),pe("load",e);var i=!1,r=!1,f;for(f in n)if(n.hasOwnProperty(f)){var d=n[f];if(d!=null)switch(f){case"src":i=!0;break;case"srcSet":r=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(s(137,t));default:Ce(e,t,f,d,n,null)}}r&&Ce(e,t,"srcSet",n.srcSet,n,null),i&&Ce(e,t,"src",n.src,n,null);return;case"input":pe("invalid",e);var y=f=d=r=null,S=null,z=null;for(i in n)if(n.hasOwnProperty(i)){var B=n[i];if(B!=null)switch(i){case"name":r=B;break;case"type":d=B;break;case"checked":S=B;break;case"defaultChecked":z=B;break;case"value":f=B;break;case"defaultValue":y=B;break;case"children":case"dangerouslySetInnerHTML":if(B!=null)throw Error(s(137,t));break;default:Ce(e,t,i,B,n,null)}}ho(e,f,y,S,z,d,r,!1);return;case"select":pe("invalid",e),i=d=f=null;for(r in n)if(n.hasOwnProperty(r)&&(y=n[r],y!=null))switch(r){case"value":f=y;break;case"defaultValue":d=y;break;case"multiple":i=y;default:Ce(e,t,r,y,n,null)}t=f,n=d,e.multiple=!!i,t!=null?Ll(e,!!i,t,!1):n!=null&&Ll(e,!!i,n,!0);return;case"textarea":pe("invalid",e),f=r=i=null;for(d in n)if(n.hasOwnProperty(d)&&(y=n[d],y!=null))switch(d){case"value":i=y;break;case"defaultValue":r=y;break;case"children":f=y;break;case"dangerouslySetInnerHTML":if(y!=null)throw Error(s(91));break;default:Ce(e,t,d,y,n,null)}go(e,i,r,f);return;case"option":for(S in n)if(n.hasOwnProperty(S)&&(i=n[S],i!=null))switch(S){case"selected":e.selected=i&&typeof i!="function"&&typeof i!="symbol";break;default:Ce(e,t,S,i,n,null)}return;case"dialog":pe("beforetoggle",e),pe("toggle",e),pe("cancel",e),pe("close",e);break;case"iframe":case"object":pe("load",e);break;case"video":case"audio":for(i=0;i<pa.length;i++)pe(pa[i],e);break;case"image":pe("error",e),pe("load",e);break;case"details":pe("toggle",e);break;case"embed":case"source":case"link":pe("error",e),pe("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(z in n)if(n.hasOwnProperty(z)&&(i=n[z],i!=null))switch(z){case"children":case"dangerouslySetInnerHTML":throw Error(s(137,t));default:Ce(e,t,z,i,n,null)}return;default:if(Pu(t)){for(B in n)n.hasOwnProperty(B)&&(i=n[B],i!==void 0&&kr(e,t,B,i,n,void 0));return}}for(y in n)n.hasOwnProperty(y)&&(i=n[y],i!=null&&Ce(e,t,y,i,n,null))}function $0(e,t,n,i){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var r=null,f=null,d=null,y=null,S=null,z=null,B=null;for(j in n){var H=n[j];if(n.hasOwnProperty(j)&&H!=null)switch(j){case"checked":break;case"value":break;case"defaultValue":S=H;default:i.hasOwnProperty(j)||Ce(e,t,j,null,i,H)}}for(var L in i){var j=i[L];if(H=n[L],i.hasOwnProperty(L)&&(j!=null||H!=null))switch(L){case"type":f=j;break;case"name":r=j;break;case"checked":z=j;break;case"defaultChecked":B=j;break;case"value":d=j;break;case"defaultValue":y=j;break;case"children":case"dangerouslySetInnerHTML":if(j!=null)throw Error(s(137,t));break;default:j!==H&&Ce(e,t,L,j,i,H)}}Fu(e,d,y,S,z,B,f,r);return;case"select":j=d=y=L=null;for(f in n)if(S=n[f],n.hasOwnProperty(f)&&S!=null)switch(f){case"value":break;case"multiple":j=S;default:i.hasOwnProperty(f)||Ce(e,t,f,null,i,S)}for(r in i)if(f=i[r],S=n[r],i.hasOwnProperty(r)&&(f!=null||S!=null))switch(r){case"value":L=f;break;case"defaultValue":y=f;break;case"multiple":d=f;default:f!==S&&Ce(e,t,r,f,i,S)}t=y,n=d,i=j,L!=null?Ll(e,!!n,L,!1):!!i!=!!n&&(t!=null?Ll(e,!!n,t,!0):Ll(e,!!n,n?[]:"",!1));return;case"textarea":j=L=null;for(y in n)if(r=n[y],n.hasOwnProperty(y)&&r!=null&&!i.hasOwnProperty(y))switch(y){case"value":break;case"children":break;default:Ce(e,t,y,null,i,r)}for(d in i)if(r=i[d],f=n[d],i.hasOwnProperty(d)&&(r!=null||f!=null))switch(d){case"value":L=r;break;case"defaultValue":j=r;break;case"children":break;case"dangerouslySetInnerHTML":if(r!=null)throw Error(s(91));break;default:r!==f&&Ce(e,t,d,r,i,f)}mo(e,L,j);return;case"option":for(var F in n)if(L=n[F],n.hasOwnProperty(F)&&L!=null&&!i.hasOwnProperty(F))switch(F){case"selected":e.selected=!1;break;default:Ce(e,t,F,null,i,L)}for(S in i)if(L=i[S],j=n[S],i.hasOwnProperty(S)&&L!==j&&(L!=null||j!=null))switch(S){case"selected":e.selected=L&&typeof L!="function"&&typeof L!="symbol";break;default:Ce(e,t,S,L,i,j)}return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var ie in n)L=n[ie],n.hasOwnProperty(ie)&&L!=null&&!i.hasOwnProperty(ie)&&Ce(e,t,ie,null,i,L);for(z in i)if(L=i[z],j=n[z],i.hasOwnProperty(z)&&L!==j&&(L!=null||j!=null))switch(z){case"children":case"dangerouslySetInnerHTML":if(L!=null)throw Error(s(137,t));break;default:Ce(e,t,z,L,i,j)}return;default:if(Pu(t)){for(var ze in n)L=n[ze],n.hasOwnProperty(ze)&&L!==void 0&&!i.hasOwnProperty(ze)&&kr(e,t,ze,void 0,i,L);for(B in i)L=i[B],j=n[B],!i.hasOwnProperty(B)||L===j||L===void 0&&j===void 0||kr(e,t,B,L,i,j);return}}for(var N in n)L=n[N],n.hasOwnProperty(N)&&L!=null&&!i.hasOwnProperty(N)&&Ce(e,t,N,null,i,L);for(H in i)L=i[H],j=n[H],!i.hasOwnProperty(H)||L===j||L==null&&j==null||Ce(e,t,H,L,i,j)}function vm(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function G0(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,n=performance.getEntriesByType("resource"),i=0;i<n.length;i++){var r=n[i],f=r.transferSize,d=r.initiatorType,y=r.duration;if(f&&y&&vm(d)){for(d=0,y=r.responseEnd,i+=1;i<n.length;i++){var S=n[i],z=S.startTime;if(z>y)break;var B=S.transferSize,H=S.initiatorType;B&&vm(H)&&(S=S.responseEnd,d+=B*(S<y?1:(y-z)/(S-z)))}if(--i,t+=8*(f+d)/(r.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var Hr=null,Yr=null;function $s(e){return e.nodeType===9?e:e.ownerDocument}function bm(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function Sm(e,t){if(e===0)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&t==="foreignObject"?0:e}function $r(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.children=="bigint"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Gr=null;function K0(){var e=window.event;return e&&e.type==="popstate"?e===Gr?!1:(Gr=e,!0):(Gr=null,!1)}var Tm=typeof setTimeout=="function"?setTimeout:void 0,V0=typeof clearTimeout=="function"?clearTimeout:void 0,Em=typeof Promise=="function"?Promise:void 0,Q0=typeof queueMicrotask=="function"?queueMicrotask:typeof Em<"u"?function(e){return Em.resolve(null).then(e).catch(X0)}:Tm;function X0(e){setTimeout(function(){throw e})}function Vn(e){return e==="head"}function Am(e,t){var n=t,i=0;do{var r=n.nextSibling;if(e.removeChild(n),r&&r.nodeType===8)if(n=r.data,n==="/$"||n==="/&"){if(i===0){e.removeChild(r),oi(t);return}i--}else if(n==="$"||n==="$?"||n==="$~"||n==="$!"||n==="&")i++;else if(n==="html")va(e.ownerDocument.documentElement);else if(n==="head"){n=e.ownerDocument.head,va(n);for(var f=n.firstChild;f;){var d=f.nextSibling,y=f.nodeName;f[ji]||y==="SCRIPT"||y==="STYLE"||y==="LINK"&&f.rel.toLowerCase()==="stylesheet"||n.removeChild(f),f=d}}else n==="body"&&va(e.ownerDocument.body);n=r}while(n);oi(t)}function wm(e,t){var n=e;e=0;do{var i=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display="none"):(n.style.display=n._stashedDisplay||"",n.getAttribute("style")===""&&n.removeAttribute("style")):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=""):n.nodeValue=n._stashedText||""),i&&i.nodeType===8)if(n=i.data,n==="/$"){if(e===0)break;e--}else n!=="$"&&n!=="$?"&&n!=="$~"&&n!=="$!"||e++;n=i}while(n)}function Kr(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case"HTML":case"HEAD":case"BODY":Kr(n),Ju(n);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(n.rel.toLowerCase()==="stylesheet")continue}e.removeChild(n)}}function Z0(e,t,n,i){for(;e.nodeType===1;){var r=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!i&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(i){if(!e[ji])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(f=e.getAttribute("rel"),f==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(f!==r.rel||e.getAttribute("href")!==(r.href==null||r.href===""?null:r.href)||e.getAttribute("crossorigin")!==(r.crossOrigin==null?null:r.crossOrigin)||e.getAttribute("title")!==(r.title==null?null:r.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(f=e.getAttribute("src"),(f!==(r.src==null?null:r.src)||e.getAttribute("type")!==(r.type==null?null:r.type)||e.getAttribute("crossorigin")!==(r.crossOrigin==null?null:r.crossOrigin))&&f&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var f=r.name==null?null:""+r.name;if(r.type==="hidden"&&e.getAttribute("name")===f)return e}else return e;if(e=$t(e.nextSibling),e===null)break}return null}function J0(e,t,n){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!n||(e=$t(e.nextSibling),e===null))return null;return e}function Om(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=$t(e.nextSibling),e===null))return null;return e}function Vr(e){return e.data==="$?"||e.data==="$~"}function Qr(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function W0(e,t){var n=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||n.readyState!=="loading")t();else{var i=function(){t(),n.removeEventListener("DOMContentLoaded",i)};n.addEventListener("DOMContentLoaded",i),e._reactRetry=i}}function $t(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?"||t==="$~"||t==="&"||t==="F!"||t==="F")break;if(t==="/$"||t==="/&")return null}}return e}var Xr=null;function _m(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"||n==="/&"){if(t===0)return $t(e.nextSibling);t--}else n!=="$"&&n!=="$!"&&n!=="$?"&&n!=="$~"&&n!=="&"||t++}e=e.nextSibling}return null}function Nm(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"||n==="$~"||n==="&"){if(t===0)return e;t--}else n!=="/$"&&n!=="/&"||t++}e=e.previousSibling}return null}function Mm(e,t,n){switch(t=$s(n),e){case"html":if(e=t.documentElement,!e)throw Error(s(452));return e;case"head":if(e=t.head,!e)throw Error(s(453));return e;case"body":if(e=t.body,!e)throw Error(s(454));return e;default:throw Error(s(451))}}function va(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);Ju(e)}var Gt=new Map,Cm=new Set;function Gs(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var Tn=K.d;K.d={f:F0,r:I0,D:P0,C:e1,L:t1,m:n1,X:i1,S:l1,M:a1};function F0(){var e=Tn.f(),t=Us();return e||t}function I0(e){var t=zl(e);t!==null&&t.tag===5&&t.type==="form"?Qh(t):Tn.r(e)}var ci=typeof document>"u"?null:document;function zm(e,t,n){var i=ci;if(i&&typeof t=="string"&&t){var r=Rt(t);r='link[rel="'+e+'"][href="'+r+'"]',typeof n=="string"&&(r+='[crossorigin="'+n+'"]'),Cm.has(r)||(Cm.add(r),e={rel:e,crossOrigin:n,href:t},i.querySelector(r)===null&&(t=i.createElement("link"),at(t,"link",e),Pe(t),i.head.appendChild(t)))}}function P0(e){Tn.D(e),zm("dns-prefetch",e,null)}function e1(e,t){Tn.C(e,t),zm("preconnect",e,t)}function t1(e,t,n){Tn.L(e,t,n);var i=ci;if(i&&e&&t){var r='link[rel="preload"][as="'+Rt(t)+'"]';t==="image"&&n&&n.imageSrcSet?(r+='[imagesrcset="'+Rt(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(r+='[imagesizes="'+Rt(n.imageSizes)+'"]')):r+='[href="'+Rt(e)+'"]';var f=r;switch(t){case"style":f=ri(e);break;case"script":f=fi(e)}Gt.has(f)||(e=v({rel:"preload",href:t==="image"&&n&&n.imageSrcSet?void 0:e,as:t},n),Gt.set(f,e),i.querySelector(r)!==null||t==="style"&&i.querySelector(ba(f))||t==="script"&&i.querySelector(Sa(f))||(t=i.createElement("link"),at(t,"link",e),Pe(t),i.head.appendChild(t)))}}function n1(e,t){Tn.m(e,t);var n=ci;if(n&&e){var i=t&&typeof t.as=="string"?t.as:"script",r='link[rel="modulepreload"][as="'+Rt(i)+'"][href="'+Rt(e)+'"]',f=r;switch(i){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":f=fi(e)}if(!Gt.has(f)&&(e=v({rel:"modulepreload",href:e},t),Gt.set(f,e),n.querySelector(r)===null)){switch(i){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(Sa(f)))return}i=n.createElement("link"),at(i,"link",e),Pe(i),n.head.appendChild(i)}}}function l1(e,t,n){Tn.S(e,t,n);var i=ci;if(i&&e){var r=xl(i).hoistableStyles,f=ri(e);t=t||"default";var d=r.get(f);if(!d){var y={loading:0,preload:null};if(d=i.querySelector(ba(f)))y.loading=5;else{e=v({rel:"stylesheet",href:e,"data-precedence":t},n),(n=Gt.get(f))&&Zr(e,n);var S=d=i.createElement("link");Pe(S),at(S,"link",e),S._p=new Promise(function(z,B){S.onload=z,S.onerror=B}),S.addEventListener("load",function(){y.loading|=1}),S.addEventListener("error",function(){y.loading|=2}),y.loading|=4,Ks(d,t,i)}d={type:"stylesheet",instance:d,count:1,state:y},r.set(f,d)}}}function i1(e,t){Tn.X(e,t);var n=ci;if(n&&e){var i=xl(n).hoistableScripts,r=fi(e),f=i.get(r);f||(f=n.querySelector(Sa(r)),f||(e=v({src:e,async:!0},t),(t=Gt.get(r))&&Jr(e,t),f=n.createElement("script"),Pe(f),at(f,"link",e),n.head.appendChild(f)),f={type:"script",instance:f,count:1,state:null},i.set(r,f))}}function a1(e,t){Tn.M(e,t);var n=ci;if(n&&e){var i=xl(n).hoistableScripts,r=fi(e),f=i.get(r);f||(f=n.querySelector(Sa(r)),f||(e=v({src:e,async:!0,type:"module"},t),(t=Gt.get(r))&&Jr(e,t),f=n.createElement("script"),Pe(f),at(f,"link",e),n.head.appendChild(f)),f={type:"script",instance:f,count:1,state:null},i.set(r,f))}}function xm(e,t,n,i){var r=(r=me.current)?Gs(r):null;if(!r)throw Error(s(446));switch(e){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(t=ri(n.href),n=xl(r).hoistableStyles,i=n.get(t),i||(i={type:"style",instance:null,count:0,state:null},n.set(t,i)),i):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){e=ri(n.href);var f=xl(r).hoistableStyles,d=f.get(e);if(d||(r=r.ownerDocument||r,d={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},f.set(e,d),(f=r.querySelector(ba(e)))&&!f._p&&(d.instance=f,d.state.loading=5),Gt.has(e)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},Gt.set(e,n),f||s1(r,e,n,d.state))),t&&i===null)throw Error(s(528,""));return d}if(t&&i!==null)throw Error(s(529,""));return null;case"script":return t=n.async,n=n.src,typeof n=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=fi(n),n=xl(r).hoistableScripts,i=n.get(t),i||(i={type:"script",instance:null,count:0,state:null},n.set(t,i)),i):{type:"void",instance:null,count:0,state:null};default:throw Error(s(444,e))}}function ri(e){return'href="'+Rt(e)+'"'}function ba(e){return'link[rel="stylesheet"]['+e+"]"}function Dm(e){return v({},e,{"data-precedence":e.precedence,precedence:null})}function s1(e,t,n,i){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?i.loading=1:(t=e.createElement("link"),i.preload=t,t.addEventListener("load",function(){return i.loading|=1}),t.addEventListener("error",function(){return i.loading|=2}),at(t,"link",n),Pe(t),e.head.appendChild(t))}function fi(e){return'[src="'+Rt(e)+'"]'}function Sa(e){return"script[async]"+e}function Lm(e,t,n){if(t.count++,t.instance===null)switch(t.type){case"style":var i=e.querySelector('style[data-href~="'+Rt(n.href)+'"]');if(i)return t.instance=i,Pe(i),i;var r=v({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return i=(e.ownerDocument||e).createElement("style"),Pe(i),at(i,"style",r),Ks(i,n.precedence,e),t.instance=i;case"stylesheet":r=ri(n.href);var f=e.querySelector(ba(r));if(f)return t.state.loading|=4,t.instance=f,Pe(f),f;i=Dm(n),(r=Gt.get(r))&&Zr(i,r),f=(e.ownerDocument||e).createElement("link"),Pe(f);var d=f;return d._p=new Promise(function(y,S){d.onload=y,d.onerror=S}),at(f,"link",i),t.state.loading|=4,Ks(f,n.precedence,e),t.instance=f;case"script":return f=fi(n.src),(r=e.querySelector(Sa(f)))?(t.instance=r,Pe(r),r):(i=n,(r=Gt.get(f))&&(i=v({},n),Jr(i,r)),e=e.ownerDocument||e,r=e.createElement("script"),Pe(r),at(r,"link",i),e.head.appendChild(r),t.instance=r);case"void":return null;default:throw Error(s(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(i=t.instance,t.state.loading|=4,Ks(i,n.precedence,e));return t.instance}function Ks(e,t,n){for(var i=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),r=i.length?i[i.length-1]:null,f=r,d=0;d<i.length;d++){var y=i[d];if(y.dataset.precedence===t)f=y;else if(f!==r)break}f?f.parentNode.insertBefore(e,f.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function Zr(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function Jr(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var Vs=null;function Um(e,t,n){if(Vs===null){var i=new Map,r=Vs=new Map;r.set(n,i)}else r=Vs,i=r.get(n),i||(i=new Map,r.set(n,i));if(i.has(e))return i;for(i.set(e,null),n=n.getElementsByTagName(e),r=0;r<n.length;r++){var f=n[r];if(!(f[ji]||f[tt]||e==="link"&&f.getAttribute("rel")==="stylesheet")&&f.namespaceURI!=="http://www.w3.org/2000/svg"){var d=f.getAttribute(t)||"";d=e+d;var y=i.get(d);y?y.push(f):i.set(d,[f])}}return i}function Rm(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t==="title"?e.querySelector("head > title"):null)}function u1(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function jm(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function c1(e,t,n,i){if(n.type==="stylesheet"&&(typeof i.media!="string"||matchMedia(i.media).matches!==!1)&&(n.state.loading&4)===0){if(n.instance===null){var r=ri(i.href),f=t.querySelector(ba(r));if(f){t=f._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=Qs.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=f,Pe(f);return}f=t.ownerDocument||t,i=Dm(i),(r=Gt.get(r))&&Zr(i,r),f=f.createElement("link"),Pe(f);var d=f;d._p=new Promise(function(y,S){d.onload=y,d.onerror=S}),at(f,"link",i),n.instance=f}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&(n.state.loading&3)===0&&(e.count++,n=Qs.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}var Wr=0;function r1(e,t){return e.stylesheets&&e.count===0&&Zs(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var i=setTimeout(function(){if(e.stylesheets&&Zs(e,e.stylesheets),e.unsuspend){var f=e.unsuspend;e.unsuspend=null,f()}},6e4+t);0<e.imgBytes&&Wr===0&&(Wr=62500*G0());var r=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&Zs(e,e.stylesheets),e.unsuspend)){var f=e.unsuspend;e.unsuspend=null,f()}},(e.imgBytes>Wr?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(i),clearTimeout(r)}}:null}function Qs(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Zs(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Xs=null;function Zs(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Xs=new Map,t.forEach(f1,e),Xs=null,Qs.call(e))}function f1(e,t){if(!(t.state.loading&4)){var n=Xs.get(e);if(n)var i=n.get(null);else{n=new Map,Xs.set(e,n);for(var r=e.querySelectorAll("link[data-precedence],style[data-precedence]"),f=0;f<r.length;f++){var d=r[f];(d.nodeName==="LINK"||d.getAttribute("media")!=="not all")&&(n.set(d.dataset.precedence,d),i=d)}i&&n.set(null,i)}r=t.instance,d=r.getAttribute("data-precedence"),f=n.get(d)||i,f===i&&n.set(null,r),n.set(d,r),this.count++,i=Qs.bind(this),r.addEventListener("load",i),r.addEventListener("error",i),f?f.parentNode.insertBefore(r,f.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(r,e.firstChild)),t.state.loading|=4}}var Ta={$$typeof:G,Provider:null,Consumer:null,_currentValue:ne,_currentValue2:ne,_threadCount:0};function o1(e,t,n,i,r,f,d,y,S){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Vu(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Vu(0),this.hiddenUpdates=Vu(null),this.identifierPrefix=i,this.onUncaughtError=r,this.onCaughtError=f,this.onRecoverableError=d,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=S,this.incompleteTransitions=new Map}function Bm(e,t,n,i,r,f,d,y,S,z,B,H){return e=new o1(e,t,n,d,S,z,B,H,y),t=1,f===!0&&(t|=24),f=_t(3,null,null,t),e.current=f,f.stateNode=e,t=Cc(),t.refCount++,e.pooledCache=t,t.refCount++,f.memoizedState={element:i,isDehydrated:n,cache:t},Lc(f),e}function qm(e){return e?(e=Yl,e):Yl}function km(e,t,n,i,r,f){r=qm(r),i.context===null?i.context=r:i.pendingContext=r,i=Un(t),i.payload={element:n},f=f===void 0?null:f,f!==null&&(i.callback=f),n=Rn(e,i,t),n!==null&&(vt(n,e,t),Pi(n,e,t))}function Hm(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function Fr(e,t){Hm(e,t),(e=e.alternate)&&Hm(e,t)}function Ym(e){if(e.tag===13||e.tag===31){var t=ul(e,67108864);t!==null&&vt(t,e,67108864),Fr(e,67108864)}}function $m(e){if(e.tag===13||e.tag===31){var t=xt();t=Qu(t);var n=ul(e,t);n!==null&&vt(n,e,t),Fr(e,t)}}var Js=!0;function h1(e,t,n,i){var r=D.T;D.T=null;var f=K.p;try{K.p=2,Ir(e,t,n,i)}finally{K.p=f,D.T=r}}function d1(e,t,n,i){var r=D.T;D.T=null;var f=K.p;try{K.p=8,Ir(e,t,n,i)}finally{K.p=f,D.T=r}}function Ir(e,t,n,i){if(Js){var r=Pr(i);if(r===null)qr(e,t,i,Ws,n),Km(e,i);else if(g1(r,e,t,n,i))i.stopPropagation();else if(Km(e,i),t&4&&-1<m1.indexOf(e)){for(;r!==null;){var f=zl(r);if(f!==null)switch(f.tag){case 3:if(f=f.stateNode,f.current.memoizedState.isDehydrated){var d=nl(f.pendingLanes);if(d!==0){var y=f;for(y.pendingLanes|=2,y.entangledLanes|=2;d;){var S=1<<31-wt(d);y.entanglements[1]|=S,d&=~S}en(f),(Ee&6)===0&&(Ds=Et()+500,ga(0))}}break;case 31:case 13:y=ul(f,2),y!==null&&vt(y,f,2),Us(),Fr(f,2)}if(f=Pr(i),f===null&&qr(e,t,i,Ws,n),f===r)break;r=f}r!==null&&i.stopPropagation()}else qr(e,t,i,null,n)}}function Pr(e){return e=tc(e),ef(e)}var Ws=null;function ef(e){if(Ws=null,e=Cl(e),e!==null){var t=o(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=h(t),e!==null)return e;e=null}else if(n===31){if(e=m(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return Ws=e,null}function Gm(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(Pp()){case Wf:return 2;case Ff:return 8;case ka:case ey:return 32;case If:return 268435456;default:return 32}default:return 32}}var tf=!1,Qn=null,Xn=null,Zn=null,Ea=new Map,Aa=new Map,Jn=[],m1="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function Km(e,t){switch(e){case"focusin":case"focusout":Qn=null;break;case"dragenter":case"dragleave":Xn=null;break;case"mouseover":case"mouseout":Zn=null;break;case"pointerover":case"pointerout":Ea.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Aa.delete(t.pointerId)}}function wa(e,t,n,i,r,f){return e===null||e.nativeEvent!==f?(e={blockedOn:t,domEventName:n,eventSystemFlags:i,nativeEvent:f,targetContainers:[r]},t!==null&&(t=zl(t),t!==null&&Ym(t)),e):(e.eventSystemFlags|=i,t=e.targetContainers,r!==null&&t.indexOf(r)===-1&&t.push(r),e)}function g1(e,t,n,i,r){switch(t){case"focusin":return Qn=wa(Qn,e,t,n,i,r),!0;case"dragenter":return Xn=wa(Xn,e,t,n,i,r),!0;case"mouseover":return Zn=wa(Zn,e,t,n,i,r),!0;case"pointerover":var f=r.pointerId;return Ea.set(f,wa(Ea.get(f)||null,e,t,n,i,r)),!0;case"gotpointercapture":return f=r.pointerId,Aa.set(f,wa(Aa.get(f)||null,e,t,n,i,r)),!0}return!1}function Vm(e){var t=Cl(e.target);if(t!==null){var n=o(t);if(n!==null){if(t=n.tag,t===13){if(t=h(n),t!==null){e.blockedOn=t,io(e.priority,function(){$m(n)});return}}else if(t===31){if(t=m(n),t!==null){e.blockedOn=t,io(e.priority,function(){$m(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Fs(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=Pr(e.nativeEvent);if(n===null){n=e.nativeEvent;var i=new n.constructor(n.type,n);ec=i,n.target.dispatchEvent(i),ec=null}else return t=zl(n),t!==null&&Ym(t),e.blockedOn=n,!1;t.shift()}return!0}function Qm(e,t,n){Fs(e)&&n.delete(t)}function p1(){tf=!1,Qn!==null&&Fs(Qn)&&(Qn=null),Xn!==null&&Fs(Xn)&&(Xn=null),Zn!==null&&Fs(Zn)&&(Zn=null),Ea.forEach(Qm),Aa.forEach(Qm)}function Is(e,t){e.blockedOn===t&&(e.blockedOn=null,tf||(tf=!0,u.unstable_scheduleCallback(u.unstable_NormalPriority,p1)))}var Ps=null;function Xm(e){Ps!==e&&(Ps=e,u.unstable_scheduleCallback(u.unstable_NormalPriority,function(){Ps===e&&(Ps=null);for(var t=0;t<e.length;t+=3){var n=e[t],i=e[t+1],r=e[t+2];if(typeof i!="function"){if(ef(i||n)===null)continue;break}var f=zl(n);f!==null&&(e.splice(t,3),t-=3,Pc(f,{pending:!0,data:r,method:n.method,action:i},i,r))}}))}function oi(e){function t(S){return Is(S,e)}Qn!==null&&Is(Qn,e),Xn!==null&&Is(Xn,e),Zn!==null&&Is(Zn,e),Ea.forEach(t),Aa.forEach(t);for(var n=0;n<Jn.length;n++){var i=Jn[n];i.blockedOn===e&&(i.blockedOn=null)}for(;0<Jn.length&&(n=Jn[0],n.blockedOn===null);)Vm(n),n.blockedOn===null&&Jn.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(i=0;i<n.length;i+=3){var r=n[i],f=n[i+1],d=r[ht]||null;if(typeof f=="function")d||Xm(n);else if(d){var y=null;if(f&&f.hasAttribute("formAction")){if(r=f,d=f[ht]||null)y=d.formAction;else if(ef(r)!==null)continue}else y=d.action;typeof y=="function"?n[i+1]=y:(n.splice(i,3),i-=3),Xm(n)}}}function Zm(){function e(f){f.canIntercept&&f.info==="react-transition"&&f.intercept({handler:function(){return new Promise(function(d){return r=d})},focusReset:"manual",scroll:"manual"})}function t(){r!==null&&(r(),r=null),i||setTimeout(n,20)}function n(){if(!i&&!navigation.transition){var f=navigation.currentEntry;f&&f.url!=null&&navigation.navigate(f.url,{state:f.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var i=!1,r=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(n,100),function(){i=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),r!==null&&(r(),r=null)}}}function nf(e){this._internalRoot=e}eu.prototype.render=nf.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(s(409));var n=t.current,i=xt();km(n,i,e,t,null,null)},eu.prototype.unmount=nf.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;km(e.current,2,null,e,null,null),Us(),t[Ml]=null}};function eu(e){this._internalRoot=e}eu.prototype.unstable_scheduleHydration=function(e){if(e){var t=lo();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Jn.length&&t!==0&&t<Jn[n].priority;n++);Jn.splice(n,0,e),n===0&&Vm(e)}};var Jm=l.version;if(Jm!=="19.2.1")throw Error(s(527,Jm,"19.2.1"));K.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(s(188)):(e=Object.keys(e).join(","),Error(s(268,e)));return e=p(t),e=e!==null?T(e):null,e=e===null?null:e.stateNode,e};var y1={bundleType:0,version:"19.2.1",rendererPackageName:"react-dom",currentDispatcherRef:D,reconcilerVersion:"19.2.1"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var tu=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!tu.isDisabled&&tu.supportsFiber)try{Li=tu.inject(y1),At=tu}catch{}}return _a.createRoot=function(e,t){if(!c(e))throw Error(s(299));var n=!1,i="",r=nd,f=ld,d=id;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(i=t.identifierPrefix),t.onUncaughtError!==void 0&&(r=t.onUncaughtError),t.onCaughtError!==void 0&&(f=t.onCaughtError),t.onRecoverableError!==void 0&&(d=t.onRecoverableError)),t=Bm(e,1,!1,null,null,n,i,null,r,f,d,Zm),e[Ml]=t.current,Br(e),new nf(t)},_a.hydrateRoot=function(e,t,n){if(!c(e))throw Error(s(299));var i=!1,r="",f=nd,d=ld,y=id,S=null;return n!=null&&(n.unstable_strictMode===!0&&(i=!0),n.identifierPrefix!==void 0&&(r=n.identifierPrefix),n.onUncaughtError!==void 0&&(f=n.onUncaughtError),n.onCaughtError!==void 0&&(d=n.onCaughtError),n.onRecoverableError!==void 0&&(y=n.onRecoverableError),n.formState!==void 0&&(S=n.formState)),t=Bm(e,1,!0,t,n??null,i,r,S,f,d,y,Zm),t.context=qm(null),n=t.current,i=xt(),i=Qu(i),r=Un(i),r.callback=null,Rn(n,r,i),n=i,t.current.lanes=n,Ri(t,n),en(t),e[Ml]=t.current,Br(e),new eu(t)},_a.version="19.2.1",_a}var ug;function j1(){if(ug)return sf.exports;ug=1;function u(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(u)}catch(l){console.error(l)}}return u(),sf.exports=R1(),sf.exports}var B1=j1();const q1="modulepreload",k1=function(u){return"/"+u},cg={},H1=function(l,a,s){let c=Promise.resolve();if(a&&a.length>0){let h=function(p){return Promise.all(p.map(T=>Promise.resolve(T).then(v=>({status:"fulfilled",value:v}),v=>({status:"rejected",reason:v}))))};document.getElementsByTagName("link");const m=document.querySelector("meta[property=csp-nonce]"),g=(m==null?void 0:m.nonce)||(m==null?void 0:m.getAttribute("nonce"));c=h(a.map(p=>{if(p=k1(p),p in cg)return;cg[p]=!0;const T=p.endsWith(".css"),v=T?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${p}"]${v}`))return;const _=document.createElement("link");if(_.rel=T?"stylesheet":q1,T||(_.as="script"),_.crossOrigin="",_.href=p,g&&_.setAttribute("nonce",g),document.head.appendChild(_),T)return new Promise((E,x)=>{_.addEventListener("load",E),_.addEventListener("error",()=>x(new Error(`Unable to preload CSS for ${p}`)))})}))}function o(h){const m=new Event("vite:preloadError",{cancelable:!0});if(m.payload=h,window.dispatchEvent(m),!m.defaultPrevented)throw h}return c.then(h=>{for(const m of h||[])m.status==="rejected"&&o(m.reason);return l().catch(o)})};function Y1(u,l){const a=/(\x1b\[(\d+(;\d+)*)m)|([^\x1b]+)/g,s=[];let c,o={},h=!1,m=l==null?void 0:l.fg,g=l==null?void 0:l.bg;for(;(c=a.exec(u))!==null;){const[,,p,,T]=c;if(p){const v=+p;switch(v){case 0:o={};break;case 1:o["font-weight"]="bold";break;case 2:o.opacity="0.8";break;case 3:o["font-style"]="italic";break;case 4:o["text-decoration"]="underline";break;case 7:h=!0;break;case 8:o.display="none";break;case 9:o["text-decoration"]="line-through";break;case 22:delete o["font-weight"],delete o["font-style"],delete o.opacity,delete o["text-decoration"];break;case 23:delete o["font-weight"],delete o["font-style"],delete o.opacity;break;case 24:delete o["text-decoration"];break;case 27:h=!1;break;case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:m=rg[v-30];break;case 39:m=l==null?void 0:l.fg;break;case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:g=rg[v-40];break;case 49:g=l==null?void 0:l.bg;break;case 53:o["text-decoration"]="overline";break;case 90:case 91:case 92:case 93:case 94:case 95:case 96:case 97:m=fg[v-90];break;case 100:case 101:case 102:case 103:case 104:case 105:case 106:case 107:g=fg[v-100];break}}else if(T){const v={...o},_=h?g:m;_!==void 0&&(v.color=_),h&&m&&(v["background-color"]=m),s.push(`<span style="${G1(v)}">${$1(T)}</span>`)}}return s.join("")}const rg={0:"var(--vscode-terminal-ansiBlack)",1:"var(--vscode-terminal-ansiRed)",2:"var(--vscode-terminal-ansiGreen)",3:"var(--vscode-terminal-ansiYellow)",4:"var(--vscode-terminal-ansiBlue)",5:"var(--vscode-terminal-ansiMagenta)",6:"var(--vscode-terminal-ansiCyan)",7:"var(--vscode-terminal-ansiWhite)"},fg={0:"var(--vscode-terminal-ansiBrightBlack)",1:"var(--vscode-terminal-ansiBrightRed)",2:"var(--vscode-terminal-ansiBrightGreen)",3:"var(--vscode-terminal-ansiBrightYellow)",4:"var(--vscode-terminal-ansiBrightBlue)",5:"var(--vscode-terminal-ansiBrightMagenta)",6:"var(--vscode-terminal-ansiBrightCyan)",7:"var(--vscode-terminal-ansiBrightWhite)"};function $1(u){return u.replace(/[&"<>]/g,l=>({"&":"&amp;",'"':"&quot;","<":"&lt;",">":"&gt;"})[l])}function G1(u){return Object.entries(u).map(([l,a])=>`${l}: ${a}`).join("; ")}const ff=({text:u,highlighter:l,mimeType:a,linkify:s,readOnly:c,highlight:o,revealLine:h,lineNumbers:m,isFocused:g,focusOnChange:p,wrapLines:T,onChange:v,dataTestId:_,placeholder:E})=>{const[x,b]=Mg(),[A]=he.useState(H1(()=>import("./codeMirrorModule-BHYmBp6h.js"),__vite__mapDeps([0,1])).then(Q=>Q.default)),M=he.useRef(null),[R,G]=he.useState();return he.useEffect(()=>{(async()=>{var V,U;const Q=await A;V1(Q);const Z=b.current;if(!Z)return;const W=X1(l)||Q1(a)||(s?"text/linkified":"");if(M.current&&W===M.current.cm.getOption("mode")&&!!c===M.current.cm.getOption("readOnly")&&m===M.current.cm.getOption("lineNumbers")&&T===M.current.cm.getOption("lineWrapping")&&E===M.current.cm.getOption("placeholder"))return;(U=(V=M.current)==null?void 0:V.cm)==null||U.getWrapperElement().remove();const q=Q(Z,{value:"",mode:W,readOnly:!!c,lineNumbers:m,lineWrapping:T,placeholder:E,matchBrackets:!0,autoCloseBrackets:!0,extraKeys:{"Ctrl-F":"findPersistent","Cmd-F":"findPersistent"}});return M.current={cm:q},g&&q.focus(),G(q),q})()},[A,R,b,l,a,s,m,T,c,g,E]),he.useEffect(()=>{M.current&&M.current.cm.setSize(x.width,x.height)},[x]),he.useLayoutEffect(()=>{var W;if(!R)return;let Q=!1;if(R.getValue()!==u&&(R.setValue(u),Q=!0,p&&(R.execCommand("selectAll"),R.focus())),Q||JSON.stringify(o)!==JSON.stringify(M.current.highlight)){for(const U of M.current.highlight||[])R.removeLineClass(U.line-1,"wrap");for(const U of o||[])R.addLineClass(U.line-1,"wrap",`source-line-${U.type}`);for(const U of M.current.widgets||[])R.removeLineWidget(U);for(const U of M.current.markers||[])U.clear();const q=[],V=[];for(const U of o||[]){if(U.type!=="subtle-error"&&U.type!=="error")continue;const ae=(W=M.current)==null?void 0:W.cm.getLine(U.line-1);if(ae){const te={};te.title=U.message||"",V.push(R.markText({line:U.line-1,ch:0},{line:U.line-1,ch:U.column||ae.length},{className:"source-line-error-underline",attributes:te}))}if(U.type==="error"){const te=document.createElement("div");te.innerHTML=Y1(U.message||"",{bg:"var(--vscode-inputValidation-errorBackground)",fg:"var(--vscode-editor-foreground)"}),te.className="source-line-error-widget",q.push(R.addLineWidget(U.line,te,{above:!0,coverGutter:!1}))}}M.current.highlight=o,M.current.widgets=q,M.current.markers=V}typeof h=="number"&&M.current.cm.lineCount()>=h&&R.scrollIntoView({line:Math.max(0,h-1),ch:0},50);let Z;return v&&(Z=()=>v(R.getValue()),R.on("change",Z)),()=>{Z&&R.off("change",Z)}},[R,u,o,h,p,v]),X.jsx("div",{"data-testid":_,className:"cm-wrapper",ref:b,onClick:K1})};function K1(u){var a;if(!(u.target instanceof HTMLElement))return;let l;u.target.classList.contains("cm-linkified")?l=u.target.textContent:u.target.classList.contains("cm-link")&&((a=u.target.nextElementSibling)!=null&&a.classList.contains("cm-url"))&&(l=u.target.nextElementSibling.textContent.slice(1,-1)),l&&(u.preventDefault(),u.stopPropagation(),window.open(l,"_blank"))}let og=!1;function V1(u){og||(og=!0,u.defineSimpleMode("text/linkified",{start:[{regex:w1,token:"linkified"}]}))}function Q1(u){if(u){if(u.includes("javascript")||u.includes("json"))return"javascript";if(u.includes("python"))return"python";if(u.includes("csharp"))return"text/x-csharp";if(u.includes("java"))return"text/x-java";if(u.includes("markdown"))return"markdown";if(u.includes("html")||u.includes("svg"))return"htmlmixed";if(u.includes("css"))return"css"}}function X1(u){if(u)return{javascript:"javascript",jsonl:"javascript",python:"python",csharp:"text/x-csharp",java:"text/x-java",markdown:"markdown",html:"htmlmixed",css:"css",yaml:"yaml"}[u]}const Z1=50,J1=({sidebarSize:u,sidebarHidden:l=!1,sidebarIsFirst:a=!1,orientation:s="vertical",minSidebarSize:c=Z1,settingName:o,sidebar:h,main:m})=>{const g=Math.max(c,u)*window.devicePixelRatio,[p,T]=pu(o?o+"."+s+":size":void 0,g),[v,_]=pu(o?o+"."+s+":size":void 0,g),[E,x]=he.useState(null),[b,A]=Mg();let M;s==="vertical"?(M=v/window.devicePixelRatio,b&&b.height<M&&(M=b.height-10)):(M=p/window.devicePixelRatio,b&&b.width<M&&(M=b.width-10)),document.body.style.userSelect=E?"none":"inherit";let R={};return s==="vertical"?a?R={top:E?0:M-4,bottom:E?0:void 0,height:E?"initial":8}:R={bottom:E?0:M-4,top:E?0:void 0,height:E?"initial":8}:a?R={left:E?0:M-4,right:E?0:void 0,width:E?"initial":8}:R={right:E?0:M-4,left:E?0:void 0,width:E?"initial":8},X.jsxs("div",{className:wl("split-view",s,a&&"sidebar-first"),ref:A,children:[X.jsx("div",{className:"split-view-main",children:m}),!l&&X.jsx("div",{style:{flexBasis:M},className:"split-view-sidebar",children:h}),!l&&X.jsx("div",{style:R,className:"split-view-resizer",onMouseDown:G=>x({offset:s==="vertical"?G.clientY:G.clientX,size:M}),onMouseUp:()=>x(null),onMouseMove:G=>{if(!G.buttons)x(null);else if(E){const Z=(s==="vertical"?G.clientY:G.clientX)-E.offset,W=a?E.size+Z:E.size-Z,V=G.target.parentElement.getBoundingClientRect(),U=Math.min(Math.max(c,W),(s==="vertical"?V.height:V.width)-c);s==="vertical"?_(U*window.devicePixelRatio):T(U*window.devicePixelRatio)}}})]})},xg=({noShadow:u,children:l,noMinHeight:a,className:s,sidebarBackground:c,onClick:o})=>X.jsx("div",{className:wl("toolbar",u&&"no-shadow",a&&"no-min-height",s,c&&"toolbar-sidebar-background"),onClick:o,children:l}),W1=({tabs:u,selectedTab:l,setSelectedTab:a,leftToolbar:s,rightToolbar:c,dataTestId:o,mode:h})=>{const m=he.useId();return l||(l=u[0].id),h||(h="default"),X.jsx("div",{className:"tabbed-pane","data-testid":o,children:X.jsxs("div",{className:"vbox",children:[X.jsxs(xg,{children:[s&&X.jsxs("div",{style:{flex:"none",display:"flex",margin:"0 4px",alignItems:"center"},children:[...s]}),h==="default"&&X.jsx("div",{style:{flex:"auto",display:"flex",height:"100%",overflow:"hidden"},role:"tablist",children:[...u.map(g=>X.jsx(F1,{id:g.id,ariaControls:`${m}-${g.id}`,title:g.title,count:g.count,errorCount:g.errorCount,selected:l===g.id,onSelect:a},g.id))]}),h==="select"&&X.jsx("div",{style:{flex:"auto",display:"flex",height:"100%",overflow:"hidden"},role:"tablist",children:X.jsx("select",{style:{width:"100%",background:"none",cursor:"pointer"},value:l,onChange:g=>{a==null||a(u[g.currentTarget.selectedIndex].id)},children:u.map(g=>{let p="";return g.count&&(p=` (${g.count})`),g.errorCount&&(p=` (${g.errorCount})`),X.jsxs("option",{value:g.id,role:"tab","aria-controls":`${m}-${g.id}`,children:[g.title,p]},g.id)})})}),c&&X.jsxs("div",{style:{flex:"none",display:"flex",alignItems:"center"},children:[...c]})]}),u.map(g=>{const p="tab-content tab-"+g.id;if(g.component)return X.jsx("div",{id:`${m}-${g.id}`,role:"tabpanel","aria-label":g.title,className:p,style:{display:l===g.id?"inherit":"none"},children:g.component},g.id);if(l===g.id)return X.jsx("div",{id:`${m}-${g.id}`,role:"tabpanel","aria-label":g.title,className:p,children:g.render()},g.id)})]})})},F1=({id:u,title:l,count:a,errorCount:s,selected:c,onSelect:o,ariaControls:h})=>X.jsxs("div",{className:wl("tabbed-pane-tab",c&&"selected"),onClick:()=>o==null?void 0:o(u),role:"tab",title:l,"aria-controls":h,"aria-selected":c,children:[X.jsx("div",{className:"tabbed-pane-tab-label",children:l}),!!a&&X.jsx("div",{className:"tabbed-pane-tab-counter",children:a}),!!s&&X.jsx("div",{className:"tabbed-pane-tab-counter error",children:s})]}),I1=({sources:u,fileId:l,setFileId:a})=>X.jsx("select",{className:"source-chooser",hidden:!u.length,title:"Source chooser",value:l,onChange:s=>{a(s.target.selectedOptions[0].value)},children:P1(u)});function P1(u){const l=c=>c.replace(/.*[/\\]([^/\\]+)/,"$1"),a=c=>X.jsx("option",{value:c.id,children:l(c.label)},c.id),s=new Map;for(const c of u){let o=s.get(c.group||"Debugger");o||(o=[],s.set(c.group||"Debugger",o)),o.push(c)}return[...s.entries()].map(([c,o])=>X.jsx("optgroup",{label:c,children:o.filter(h=>(h.group||"Debugger")===c).map(h=>a(h))},c))}function ev(){return{id:"default",isRecorded:!1,text:"",language:"javascript",label:"",highlight:[]}}const Dt=he.forwardRef(function({children:l,title:a="",icon:s,disabled:c=!1,toggled:o=!1,onClick:h=()=>{},style:m,testId:g,className:p,ariaLabel:T,errorBadge:v},_){const E=he.useId();return X.jsxs("button",{ref:_,className:wl(p,"toolbar-button",s,o&&"toggled"),onMouseDown:dg,onClick:h,onDoubleClick:dg,title:a,disabled:!!c,style:m,"data-testid":g,"aria-label":T||a,"aria-describedby":v?E:void 0,children:[s&&X.jsx("span",{className:`codicon codicon-${s}`,style:l?{marginRight:5}:{}}),l,v&&X.jsx("span",{id:E,className:"toolbar-button-error-badge",title:v,"aria-label":v})]})}),hg=({style:u})=>X.jsx("div",{className:"toolbar-separator",style:u}),dg=u=>{u.stopPropagation(),u.preventDefault()};function tv(u){if(u<0||!isFinite(u))return"-";if(u===0)return"0ms";if(u<1e3)return u.toFixed(0)+"ms";const l=u/1e3;if(l<60)return l.toFixed(1)+"s";const a=l/60;if(a<60)return a.toFixed(1)+"m";const s=a/60;return s<24?s.toFixed(1)+"h":(s/24).toFixed(1)+"d"}const We=function(u,l,a){return u>=l&&u<=a};function bt(u){return We(u,48,57)}function mg(u){return bt(u)||We(u,65,70)||We(u,97,102)}function nv(u){return We(u,65,90)}function lv(u){return We(u,97,122)}function iv(u){return nv(u)||lv(u)}function av(u){return u>=128}function uu(u){return iv(u)||av(u)||u===95}function gg(u){return uu(u)||bt(u)||u===45}function sv(u){return We(u,0,8)||u===11||We(u,14,31)||u===127}function cu(u){return u===10}function En(u){return cu(u)||u===9||u===32}const uv=1114111;class Df extends Error{constructor(l){super(l),this.name="InvalidCharacterError"}}function cv(u){const l=[];for(let a=0;a<u.length;a++){let s=u.charCodeAt(a);if(s===13&&u.charCodeAt(a+1)===10&&(s=10,a++),(s===13||s===12)&&(s=10),s===0&&(s=65533),We(s,55296,56319)&&We(u.charCodeAt(a+1),56320,57343)){const c=s-55296,o=u.charCodeAt(a+1)-56320;s=Math.pow(2,16)+c*Math.pow(2,10)+o,a++}l.push(s)}return l}function Ie(u){if(u<=65535)return String.fromCharCode(u);u-=Math.pow(2,16);const l=Math.floor(u/Math.pow(2,10))+55296,a=u%Math.pow(2,10)+56320;return String.fromCharCode(l)+String.fromCharCode(a)}function rv(u){const l=cv(u);let a=-1;const s=[];let c;const o=function($){return $>=l.length?-1:l[$]},h=function($){if($===void 0&&($=1),$>3)throw"Spec Error: no more than three codepoints of lookahead.";return o(a+$)},m=function($){return $===void 0&&($=1),a+=$,c=o(a),!0},g=function(){return a-=1,!0},p=function($){return $===void 0&&($=c),$===-1},T=function(){if(v(),m(),En(c)){for(;En(h());)m();return new Af}else{if(c===34)return x();if(c===35)if(gg(h())||M(h(1),h(2))){const $=new Qg("");return G(h(1),h(2),h(3))&&($.type="id"),$.value=q(),$}else return new ut(c);else return c===36?h()===61?(m(),new dv):new ut(c):c===39?x():c===40?new Yg:c===41?new $g:c===42?h()===61?(m(),new mv):new ut(c):c===43?W()?(g(),_()):new ut(c):c===44?new Bg:c===45?W()?(g(),_()):h(1)===45&&h(2)===62?(m(2),new Ug):Q()?(g(),E()):new ut(c):c===46?W()?(g(),_()):new ut(c):c===58?new Rg:c===59?new jg:c===60?h(1)===33&&h(2)===45&&h(3)===45?(m(3),new Lg):new ut(c):c===64?G(h(1),h(2),h(3))?new Vg(q()):new ut(c):c===91?new Hg:c===92?R()?(g(),E()):new ut(c):c===93?new wf:c===94?h()===61?(m(),new hv):new ut(c):c===123?new qg:c===124?h()===61?(m(),new ov):h()===124?(m(),new Gg):new ut(c):c===125?new kg:c===126?h()===61?(m(),new fv):new ut(c):bt(c)?(g(),_()):uu(c)?(g(),E()):p()?new fu:new ut(c)}},v=function(){for(;h(1)===47&&h(2)===42;)for(m(2);;)if(m(),c===42&&h()===47){m();break}else if(p())return},_=function(){const $=V();if(G(h(1),h(2),h(3))){const ee=new gv;return ee.value=$.value,ee.repr=$.repr,ee.type=$.type,ee.unit=q(),ee}else if(h()===37){m();const ee=new Wg;return ee.value=$.value,ee.repr=$.repr,ee}else{const ee=new Jg;return ee.value=$.value,ee.repr=$.repr,ee.type=$.type,ee}},E=function(){const $=q();if($.toLowerCase()==="url"&&h()===40){for(m();En(h(1))&&En(h(2));)m();return h()===34||h()===39?new ou($):En(h())&&(h(2)===34||h(2)===39)?new ou($):b()}else return h()===40?(m(),new ou($)):new Kg($)},x=function($){$===void 0&&($=c);let ee="";for(;m();){if(c===$||p())return new Xg(ee);if(cu(c))return g(),new Dg;c===92?p(h())||(cu(h())?m():ee+=Ie(A())):ee+=Ie(c)}throw new Error("Internal error")},b=function(){const $=new Zg("");for(;En(h());)m();if(p(h()))return $;for(;m();){if(c===41||p())return $;if(En(c)){for(;En(h());)m();return h()===41||p(h())?(m(),$):(ae(),new ru)}else{if(c===34||c===39||c===40||sv(c))return ae(),new ru;if(c===92)if(R())$.value+=Ie(A());else return ae(),new ru;else $.value+=Ie(c)}}throw new Error("Internal error")},A=function(){if(m(),mg(c)){const $=[c];for(let Ae=0;Ae<5&&mg(h());Ae++)m(),$.push(c);En(h())&&m();let ee=parseInt($.map(function(Ae){return String.fromCharCode(Ae)}).join(""),16);return ee>uv&&(ee=65533),ee}else return p()?65533:c},M=function($,ee){return!($!==92||cu(ee))},R=function(){return M(c,h())},G=function($,ee,Ae){return $===45?uu(ee)||ee===45||M(ee,Ae):uu($)?!0:$===92?M($,ee):!1},Q=function(){return G(c,h(1),h(2))},Z=function($,ee,Ae){return $===43||$===45?!!(bt(ee)||ee===46&&bt(Ae)):$===46?!!bt(ee):!!bt($)},W=function(){return Z(c,h(1),h(2))},q=function(){let $="";for(;m();)if(gg(c))$+=Ie(c);else if(R())$+=Ie(A());else return g(),$;throw new Error("Internal parse error")},V=function(){let $="",ee="integer";for((h()===43||h()===45)&&(m(),$+=Ie(c));bt(h());)m(),$+=Ie(c);if(h(1)===46&&bt(h(2)))for(m(),$+=Ie(c),m(),$+=Ie(c),ee="number";bt(h());)m(),$+=Ie(c);const Ae=h(1),se=h(2),D=h(3);if((Ae===69||Ae===101)&&bt(se))for(m(),$+=Ie(c),m(),$+=Ie(c),ee="number";bt(h());)m(),$+=Ie(c);else if((Ae===69||Ae===101)&&(se===43||se===45)&&bt(D))for(m(),$+=Ie(c),m(),$+=Ie(c),m(),$+=Ie(c),ee="number";bt(h());)m(),$+=Ie(c);const K=U($);return{type:ee,value:K,repr:$}},U=function($){return+$},ae=function(){for(;m();){if(c===41||p())return;R()&&A()}};let te=0;for(;!p(h());)if(s.push(T()),te++,te>l.length*2)throw new Error("I'm infinite-looping!");return s}class Ve{constructor(){this.tokenType=""}toJSON(){return{token:this.tokenType}}toString(){return this.tokenType}toSource(){return""+this}}class Dg extends Ve{constructor(){super(...arguments),this.tokenType="BADSTRING"}}class ru extends Ve{constructor(){super(...arguments),this.tokenType="BADURL"}}class Af extends Ve{constructor(){super(...arguments),this.tokenType="WHITESPACE"}toString(){return"WS"}toSource(){return" "}}class Lg extends Ve{constructor(){super(...arguments),this.tokenType="CDO"}toSource(){return"<!--"}}class Ug extends Ve{constructor(){super(...arguments),this.tokenType="CDC"}toSource(){return"-->"}}class Rg extends Ve{constructor(){super(...arguments),this.tokenType=":"}}class jg extends Ve{constructor(){super(...arguments),this.tokenType=";"}}class Bg extends Ve{constructor(){super(...arguments),this.tokenType=","}}class wi extends Ve{constructor(){super(...arguments),this.value="",this.mirror=""}}class qg extends wi{constructor(){super(),this.tokenType="{",this.value="{",this.mirror="}"}}class kg extends wi{constructor(){super(),this.tokenType="}",this.value="}",this.mirror="{"}}class Hg extends wi{constructor(){super(),this.tokenType="[",this.value="[",this.mirror="]"}}class wf extends wi{constructor(){super(),this.tokenType="]",this.value="]",this.mirror="["}}class Yg extends wi{constructor(){super(),this.tokenType="(",this.value="(",this.mirror=")"}}class $g extends wi{constructor(){super(),this.tokenType=")",this.value=")",this.mirror="("}}class fv extends Ve{constructor(){super(...arguments),this.tokenType="~="}}class ov extends Ve{constructor(){super(...arguments),this.tokenType="|="}}class hv extends Ve{constructor(){super(...arguments),this.tokenType="^="}}class dv extends Ve{constructor(){super(...arguments),this.tokenType="$="}}class mv extends Ve{constructor(){super(...arguments),this.tokenType="*="}}class Gg extends Ve{constructor(){super(...arguments),this.tokenType="||"}}class fu extends Ve{constructor(){super(...arguments),this.tokenType="EOF"}toSource(){return""}}class ut extends Ve{constructor(l){super(),this.tokenType="DELIM",this.value="",this.value=Ie(l)}toString(){return"DELIM("+this.value+")"}toJSON(){const l=this.constructor.prototype.constructor.prototype.toJSON.call(this);return l.value=this.value,l}toSource(){return this.value==="\\"?`\\
51 -`:this.value}}class Oi extends Ve{constructor(){super(...arguments),this.value=""}ASCIIMatch(l){return this.value.toLowerCase()===l.toLowerCase()}toJSON(){const l=this.constructor.prototype.constructor.prototype.toJSON.call(this);return l.value=this.value,l}}class Kg extends Oi{constructor(l){super(),this.tokenType="IDENT",this.value=l}toString(){return"IDENT("+this.value+")"}toSource(){return Ua(this.value)}}class ou extends Oi{constructor(l){super(),this.tokenType="FUNCTION",this.value=l,this.mirror=")"}toString(){return"FUNCTION("+this.value+")"}toSource(){return Ua(this.value)+"("}}class Vg extends Oi{constructor(l){super(),this.tokenType="AT-KEYWORD",this.value=l}toString(){return"AT("+this.value+")"}toSource(){return"@"+Ua(this.value)}}class Qg extends Oi{constructor(l){super(),this.tokenType="HASH",this.value=l,this.type="unrestricted"}toString(){return"HASH("+this.value+")"}toJSON(){const l=this.constructor.prototype.constructor.prototype.toJSON.call(this);return l.value=this.value,l.type=this.type,l}toSource(){return this.type==="id"?"#"+Ua(this.value):"#"+pv(this.value)}}class Xg extends Oi{constructor(l){super(),this.tokenType="STRING",this.value=l}toString(){return'"'+Fg(this.value)+'"'}}class Zg extends Oi{constructor(l){super(),this.tokenType="URL",this.value=l}toString(){return"URL("+this.value+")"}toSource(){return'url("'+Fg(this.value)+'")'}}class Jg extends Ve{constructor(){super(),this.tokenType="NUMBER",this.type="integer",this.repr=""}toString(){return this.type==="integer"?"INT("+this.value+")":"NUMBER("+this.value+")"}toJSON(){const l=super.toJSON();return l.value=this.value,l.type=this.type,l.repr=this.repr,l}toSource(){return this.repr}}class Wg extends Ve{constructor(){super(),this.tokenType="PERCENTAGE",this.repr=""}toString(){return"PERCENTAGE("+this.value+")"}toJSON(){const l=this.constructor.prototype.constructor.prototype.toJSON.call(this);return l.value=this.value,l.repr=this.repr,l}toSource(){return this.repr+"%"}}class gv extends Ve{constructor(){super(),this.tokenType="DIMENSION",this.type="integer",this.repr="",this.unit=""}toString(){return"DIM("+this.value+","+this.unit+")"}toJSON(){const l=this.constructor.prototype.constructor.prototype.toJSON.call(this);return l.value=this.value,l.type=this.type,l.repr=this.repr,l.unit=this.unit,l}toSource(){const l=this.repr;let a=Ua(this.unit);return a[0].toLowerCase()==="e"&&(a[1]==="-"||We(a.charCodeAt(1),48,57))&&(a="\\65 "+a.slice(1,a.length)),l+a}}function Ua(u){u=""+u;let l="";const a=u.charCodeAt(0);for(let s=0;s<u.length;s++){const c=u.charCodeAt(s);if(c===0)throw new Df("Invalid character: the input contains U+0000.");We(c,1,31)||c===127||s===0&&We(c,48,57)||s===1&&We(c,48,57)&&a===45?l+="\\"+c.toString(16)+" ":c>=128||c===45||c===95||We(c,48,57)||We(c,65,90)||We(c,97,122)?l+=u[s]:l+="\\"+u[s]}return l}function pv(u){u=""+u;let l="";for(let a=0;a<u.length;a++){const s=u.charCodeAt(a);if(s===0)throw new Df("Invalid character: the input contains U+0000.");s>=128||s===45||s===95||We(s,48,57)||We(s,65,90)||We(s,97,122)?l+=u[a]:l+="\\"+s.toString(16)+" "}return l}function Fg(u){u=""+u;let l="";for(let a=0;a<u.length;a++){const s=u.charCodeAt(a);if(s===0)throw new Df("Invalid character: the input contains U+0000.");We(s,1,31)||s===127?l+="\\"+s.toString(16)+" ":s===34||s===92?l+="\\"+u[a]:l+=u[a]}return l}class St extends Error{}function yv(u,l){let a;try{a=rv(u),a[a.length-1]instanceof fu||a.push(new fu)}catch(U){const ae=U.message+` while parsing css selector "${u}". Did you mean to CSS.escape it?`,te=(U.stack||"").indexOf(U.message);throw te!==-1&&(U.stack=U.stack.substring(0,te)+ae+U.stack.substring(te+U.message.length)),U.message=ae,U}const s=a.find(U=>U instanceof Vg||U instanceof Dg||U instanceof ru||U instanceof Gg||U instanceof Lg||U instanceof Ug||U instanceof jg||U instanceof qg||U instanceof kg||U instanceof Zg||U instanceof Wg);if(s)throw new St(`Unsupported token "${s.toSource()}" while parsing css selector "${u}". Did you mean to CSS.escape it?`);let c=0;const o=new Set;function h(){return new St(`Unexpected token "${a[c].toSource()}" while parsing css selector "${u}". Did you mean to CSS.escape it?`)}function m(){for(;a[c]instanceof Af;)c++}function g(U=c){return a[U]instanceof Kg}function p(U=c){return a[U]instanceof Xg}function T(U=c){return a[U]instanceof Jg}function v(U=c){return a[U]instanceof Bg}function _(U=c){return a[U]instanceof Yg}function E(U=c){return a[U]instanceof $g}function x(U=c){return a[U]instanceof ou}function b(U=c){return a[U]instanceof ut&&a[U].value==="*"}function A(U=c){return a[U]instanceof fu}function M(U=c){return a[U]instanceof ut&&[">","+","~"].includes(a[U].value)}function R(U=c){return v(U)||E(U)||A(U)||M(U)||a[U]instanceof Af}function G(){const U=[Q()];for(;m(),!!v();)c++,U.push(Q());return U}function Q(){return m(),T()||p()?a[c++].value:Z()}function Z(){const U={simples:[]};for(m(),M()?U.simples.push({selector:{functions:[{name:"scope",args:[]}]},combinator:""}):U.simples.push({selector:W(),combinator:""});;){if(m(),M())U.simples[U.simples.length-1].combinator=a[c++].value,m();else if(R())break;U.simples.push({combinator:"",selector:W()})}return U}function W(){let U="";const ae=[];for(;!R();)if(g()||b())U+=a[c++].toSource();else if(a[c]instanceof Qg)U+=a[c++].toSource();else if(a[c]instanceof ut&&a[c].value===".")if(c++,g())U+="."+a[c++].toSource();else throw h();else if(a[c]instanceof Rg)if(c++,g())if(!l.has(a[c].value.toLowerCase()))U+=":"+a[c++].toSource();else{const te=a[c++].value.toLowerCase();ae.push({name:te,args:[]}),o.add(te)}else if(x()){const te=a[c++].value.toLowerCase();if(l.has(te)?(ae.push({name:te,args:G()}),o.add(te)):U+=`:${te}(${q()})`,m(),!E())throw h();c++}else throw h();else if(a[c]instanceof Hg){for(U+="[",c++;!(a[c]instanceof wf)&&!A();)U+=a[c++].toSource();if(!(a[c]instanceof wf))throw h();U+="]",c++}else throw h();if(!U&&!ae.length)throw h();return{css:U||void 0,functions:ae}}function q(){let U="",ae=1;for(;!A()&&((_()||x())&&ae++,E()&&ae--,!!ae);)U+=a[c++].toSource();return U}const V=G();if(!A())throw h();if(V.some(U=>typeof U!="object"||!("simples"in U)))throw new St(`Error while parsing css selector "${u}". Did you mean to CSS.escape it?`);return{selector:V,names:Array.from(o)}}const pg=new Set(["internal:has","internal:has-not","internal:and","internal:or","internal:chain","left-of","right-of","above","below","near"]),vv=new Set(["left-of","right-of","above","below","near"]),bv=new Set(["not","is","where","has","scope","light","visible","text","text-matches","text-is","has-text","above","below","right-of","left-of","near","nth-match"]);function Ig(u){const l=Tv(u),a=[];for(const s of l.parts){if(s.name==="css"||s.name==="css:light"){s.name==="css:light"&&(s.body=":light("+s.body+")");const c=yv(s.body,bv);a.push({name:"css",body:c.selector,source:s.body});continue}if(pg.has(s.name)){let c,o;try{const p=JSON.parse("["+s.body+"]");if(!Array.isArray(p)||p.length<1||p.length>2||typeof p[0]!="string")throw new St(`Malformed selector: ${s.name}=`+s.body);if(c=p[0],p.length===2){if(typeof p[1]!="number"||!vv.has(s.name))throw new St(`Malformed selector: ${s.name}=`+s.body);o=p[1]}}catch{throw new St(`Malformed selector: ${s.name}=`+s.body)}const h={name:s.name,source:s.body,body:{parsed:Ig(c),distance:o}},m=[...h.body.parsed.parts].reverse().find(p=>p.name==="internal:control"&&p.body==="enter-frame"),g=m?h.body.parsed.parts.indexOf(m):-1;g!==-1&&Sv(h.body.parsed.parts.slice(0,g+1),a.slice(0,g+1))&&h.body.parsed.parts.splice(0,g+1),a.push(h);continue}a.push({...s,source:s.body})}if(pg.has(a[0].name))throw new St(`"${a[0].name}" selector cannot be first`);return{capture:l.capture,parts:a}}function Sv(u,l){return gi({parts:u})===gi({parts:l})}function gi(u,l){return typeof u=="string"?u:u.parts.map((a,s)=>{let c=!0;!l&&s!==u.capture&&(a.name==="css"||a.name==="xpath"&&a.source.startsWith("//")||a.source.startsWith(".."))&&(c=!1);const o=c?a.name+"=":"";return`${s===u.capture?"*":""}${o}${a.source}`}).join(" >> ")}function Tv(u){let l=0,a,s=0;const c={parts:[]},o=()=>{const m=u.substring(s,l).trim(),g=m.indexOf("=");let p,T;g!==-1&&m.substring(0,g).trim().match(/^[a-zA-Z_0-9-+:*]+$/)?(p=m.substring(0,g).trim(),T=m.substring(g+1)):m.length>1&&m[0]==='"'&&m[m.length-1]==='"'||m.length>1&&m[0]==="'"&&m[m.length-1]==="'"?(p="text",T=m):/^\(*\/\//.test(m)||m.startsWith("..")?(p="xpath",T=m):(p="css",T=m);let v=!1;if(p[0]==="*"&&(v=!0,p=p.substring(1)),c.parts.push({name:p,body:T}),v){if(c.capture!==void 0)throw new St("Only one of the selectors can capture using * modifier");c.capture=c.parts.length-1}};if(!u.includes(">>"))return l=u.length,o(),c;const h=()=>{const g=u.substring(s,l).match(/^\s*text\s*=(.*)$/);return!!g&&!!g[1]};for(;l<u.length;){const m=u[l];m==="\\"&&l+1<u.length?l+=2:m===a?(a=void 0,l++):!a&&(m==='"'||m==="'"||m==="`")&&!h()?(a=m,l++):!a&&m===">"&&u[l+1]===">"?(o(),l+=2,s=l):l++}return o(),c}function of(u,l){let a=0,s=u.length===0;const c=()=>u[a]||"",o=()=>{const A=c();return++a,s=a>=u.length,A},h=A=>{throw s?new St(`Unexpected end of selector while parsing selector \`${u}\``):new St(`Error while parsing selector \`${u}\` - unexpected symbol "${c()}" at position ${a}`+(A?" during "+A:""))};function m(){for(;!s&&/\s/.test(c());)o()}function g(A){return A>="€"||A>="0"&&A<="9"||A>="A"&&A<="Z"||A>="a"&&A<="z"||A>="0"&&A<="9"||A==="_"||A==="-"}function p(){let A="";for(m();!s&&g(c());)A+=o();return A}function T(A){let M=o();for(M!==A&&h("parsing quoted string");!s&&c()!==A;)c()==="\\"&&o(),M+=o();return c()!==A&&h("parsing quoted string"),M+=o(),M}function v(){o()!=="/"&&h("parsing regular expression");let A="",M=!1;for(;!s;){if(c()==="\\")A+=o(),s&&h("parsing regular expression");else if(M&&c()==="]")M=!1;else if(!M&&c()==="[")M=!0;else if(!M&&c()==="/")break;A+=o()}o()!=="/"&&h("parsing regular expression");let R="";for(;!s&&c().match(/[dgimsuy]/);)R+=o();try{return new RegExp(A,R)}catch(G){throw new St(`Error while parsing selector \`${u}\`: ${G.message}`)}}function _(){let A="";return m(),c()==="'"||c()==='"'?A=T(c()).slice(1,-1):A=p(),A||h("parsing property path"),A}function E(){m();let A="";return s||(A+=o()),!s&&A!=="="&&(A+=o()),["=","*=","^=","$=","|=","~="].includes(A)||h("parsing operator"),A}function x(){o();const A=[];for(A.push(_()),m();c()===".";)o(),A.push(_()),m();if(c()==="]")return o(),{name:A.join("."),jsonPath:A,op:"<truthy>",value:null,caseSensitive:!1};const M=E();let R,G=!0;if(m(),c()==="/"){if(M!=="=")throw new St(`Error while parsing selector \`${u}\` - cannot use ${M} in attribute with regular expression`);R=v()}else if(c()==="'"||c()==='"')R=T(c()).slice(1,-1),m(),c()==="i"||c()==="I"?(G=!1,o()):(c()==="s"||c()==="S")&&(G=!0,o());else{for(R="";!s&&(g(c())||c()==="+"||c()===".");)R+=o();R==="true"?R=!0:R==="false"&&(R=!1)}if(m(),c()!=="]"&&h("parsing attribute value"),o(),M!=="="&&typeof R!="string")throw new St(`Error while parsing selector \`${u}\` - cannot use ${M} in attribute with non-string matching value - ${R}`);return{name:A.join("."),jsonPath:A,op:M,value:R,caseSensitive:G}}const b={name:"",attributes:[]};for(b.name=p(),m();c()==="[";)b.attributes.push(x()),m();if(s||h(void 0),!b.name&&!b.attributes.length)throw new St(`Error while parsing selector \`${u}\` - selector cannot be empty`);return b}function Au(u,l="'"){const a=JSON.stringify(u),s=a.substring(1,a.length-1).replace(/\\"/g,'"');if(l==="'")return l+s.replace(/[']/g,"\\'")+l;if(l==='"')return l+s.replace(/["]/g,'\\"')+l;if(l==="`")return l+s.replace(/[`]/g,"\\`")+l;throw new Error("Invalid escape char")}function yu(u){return u.charAt(0).toUpperCase()+u.substring(1)}function Pg(u){return u.replace(/([a-z0-9])([A-Z])/g,"$1_$2").replace(/([A-Z])([A-Z][a-z])/g,"$1_$2").toLowerCase()}function wu(u){return u.replace(/(^|[^\\])(\\\\)*\\(['"`])/g,"$1$2$3")}function ep(u,l,a=!1){return Ev(u,l,a,1)[0]}function Ev(u,l,a=!1,s=20,c){try{return mi(new Cv[u](c),Ig(l),a,s)}catch{return[l]}}function mi(u,l,a=!1,s=20){const c=[...l.parts],o=[];let h=a?"frame-locator":"page";for(let m=0;m<c.length;m++){const g=c[m],p=h;if(h="locator",g.name==="internal:describe")continue;if(g.name==="nth"){g.body==="0"?o.push([u.generateLocator(p,"first",""),u.generateLocator(p,"nth","0")]):g.body==="-1"?o.push([u.generateLocator(p,"last",""),u.generateLocator(p,"nth","-1")]):o.push([u.generateLocator(p,"nth",g.body)]);continue}if(g.name==="visible"){o.push([u.generateLocator(p,"visible",g.body),u.generateLocator(p,"default",`visible=${g.body}`)]);continue}if(g.name==="internal:text"){const{exact:x,text:b}=Na(g.body);o.push([u.generateLocator(p,"text",b,{exact:x})]);continue}if(g.name==="internal:has-text"){const{exact:x,text:b}=Na(g.body);if(!x){o.push([u.generateLocator(p,"has-text",b,{exact:x})]);continue}}if(g.name==="internal:has-not-text"){const{exact:x,text:b}=Na(g.body);if(!x){o.push([u.generateLocator(p,"has-not-text",b,{exact:x})]);continue}}if(g.name==="internal:has"){const x=mi(u,g.body.parsed,!1,s);o.push(x.map(b=>u.generateLocator(p,"has",b)));continue}if(g.name==="internal:has-not"){const x=mi(u,g.body.parsed,!1,s);o.push(x.map(b=>u.generateLocator(p,"hasNot",b)));continue}if(g.name==="internal:and"){const x=mi(u,g.body.parsed,!1,s);o.push(x.map(b=>u.generateLocator(p,"and",b)));continue}if(g.name==="internal:or"){const x=mi(u,g.body.parsed,!1,s);o.push(x.map(b=>u.generateLocator(p,"or",b)));continue}if(g.name==="internal:chain"){const x=mi(u,g.body.parsed,!1,s);o.push(x.map(b=>u.generateLocator(p,"chain",b)));continue}if(g.name==="internal:label"){const{exact:x,text:b}=Na(g.body);o.push([u.generateLocator(p,"label",b,{exact:x})]);continue}if(g.name==="internal:role"){const x=of(g.body),b={attrs:[]};for(const A of x.attributes)A.name==="name"?(b.exact=A.caseSensitive,b.name=A.value):A.name==="description"?(b.exact=A.caseSensitive,b.description=A.value):(A.name==="level"&&typeof A.value=="string"&&(A.value=+A.value),b.attrs.push({name:A.name==="include-hidden"?"includeHidden":A.name,value:A.value}));o.push([u.generateLocator(p,"role",x.name,b)]);continue}if(g.name==="internal:testid"){const x=of(g.body),{value:b}=x.attributes[0];o.push([u.generateLocator(p,"test-id",b)]);continue}if(g.name==="internal:attr"){const x=of(g.body),{name:b,value:A,caseSensitive:M}=x.attributes[0],R=A,G=!!M;if(b==="placeholder"){o.push([u.generateLocator(p,"placeholder",R,{exact:G})]);continue}if(b==="alt"){o.push([u.generateLocator(p,"alt",R,{exact:G})]);continue}if(b==="title"){o.push([u.generateLocator(p,"title",R,{exact:G})]);continue}}if(g.name==="internal:control"&&g.body==="enter-frame"){const x=o[o.length-1],b=c[m-1],A=x.map(M=>u.chainLocators([M,u.generateLocator(p,"frame","")]));["xpath","css"].includes(b.name)&&A.push(u.generateLocator(p,"frame-locator",gi({parts:[b]})),u.generateLocator(p,"frame-locator",gi({parts:[b]},!0))),x.splice(0,x.length,...A),h="frame-locator";continue}const T=c[m+1],v=gi({parts:[g]}),_=u.generateLocator(p,"default",v);if(T&&["internal:has-text","internal:has-not-text"].includes(T.name)){const{exact:x,text:b}=Na(T.body);if(!x){const A=u.generateLocator("locator",T.name==="internal:has-text"?"has-text":"has-not-text",b,{exact:x}),M={};T.name==="internal:has-text"?M.hasText=b:M.hasNotText=b;const R=u.generateLocator(p,"default",v,M);o.push([u.chainLocators([_,A]),R]),m++;continue}}let E;if(["xpath","css"].includes(g.name)){const x=gi({parts:[g]},!0);E=u.generateLocator(p,"default",x)}o.push([_,E].filter(Boolean))}return Av(u,o,s)}function Av(u,l,a){const s=l.map(()=>""),c=[],o=h=>{if(h===l.length)return c.push(u.chainLocators(s)),c.length<a;for(const m of l[h])if(s[h]=m,!o(h+1))return!1;return!0};return o(0),c}function Na(u){let l=!1;const a=u.match(/^\/(.*)\/([igm]*)$/);return a?{text:new RegExp(a[1],a[2])}:(u.endsWith('"')?(u=JSON.parse(u),l=!0):u.endsWith('"s')?(u=JSON.parse(u.substring(0,u.length-1)),l=!0):u.endsWith('"i')&&(u=JSON.parse(u.substring(0,u.length-1)),l=!1),{exact:l,text:u})}class wv{constructor(l){this.preferredQuote=l}generateLocator(l,a,s,c={}){switch(a){case"default":return c.hasText!==void 0?`locator(${this.quote(s)}, { hasText: ${this.toHasText(c.hasText)} })`:c.hasNotText!==void 0?`locator(${this.quote(s)}, { hasNotText: ${this.toHasText(c.hasNotText)} })`:`locator(${this.quote(s)})`;case"frame-locator":return`frameLocator(${this.quote(s)})`;case"frame":return"contentFrame()";case"nth":return`nth(${s})`;case"first":return"first()";case"last":return"last()";case"visible":return`filter({ visible: ${s==="true"?"true":"false"} })`;case"role":const o=[];Ke(c.name)?o.push(`name: ${this.regexToSourceString(c.name)}`):typeof c.name=="string"&&o.push(`name: ${this.quote(c.name)}`),Ke(c.description)?o.push(`description: ${this.regexToSourceString(c.description)}`):typeof c.description=="string"&&o.push(`description: ${this.quote(c.description)}`),c.exact&&(typeof c.name=="string"||typeof c.description=="string")&&o.push("exact: true");for(const{name:m,value:g}of c.attrs)o.push(`${m}: ${typeof g=="string"?this.quote(g):g}`);const h=o.length?`, { ${o.join(", ")} }`:"";return`getByRole(${this.quote(s)}${h})`;case"has-text":return`filter({ hasText: ${this.toHasText(s)} })`;case"has-not-text":return`filter({ hasNotText: ${this.toHasText(s)} })`;case"has":return`filter({ has: ${s} })`;case"hasNot":return`filter({ hasNot: ${s} })`;case"and":return`and(${s})`;case"or":return`or(${s})`;case"chain":return`locator(${s})`;case"test-id":return`getByTestId(${this.toTestIdValue(s)})`;case"text":return this.toCallWithExact("getByText",s,!!c.exact);case"alt":return this.toCallWithExact("getByAltText",s,!!c.exact);case"placeholder":return this.toCallWithExact("getByPlaceholder",s,!!c.exact);case"label":return this.toCallWithExact("getByLabel",s,!!c.exact);case"title":return this.toCallWithExact("getByTitle",s,!!c.exact);default:throw new Error("Unknown selector kind "+a)}}chainLocators(l){return l.join(".")}regexToSourceString(l){return wu(String(l))}toCallWithExact(l,a,s){return Ke(a)?`${l}(${this.regexToSourceString(a)})`:s?`${l}(${this.quote(a)}, { exact: true })`:`${l}(${this.quote(a)})`}toHasText(l){return Ke(l)?this.regexToSourceString(l):this.quote(l)}toTestIdValue(l){return Ke(l)?this.regexToSourceString(l):this.quote(l)}quote(l){return Au(l,this.preferredQuote??"'")}}class Ov{generateLocator(l,a,s,c={}){switch(a){case"default":return c.hasText!==void 0?`locator(${this.quote(s)}, has_text=${this.toHasText(c.hasText)})`:c.hasNotText!==void 0?`locator(${this.quote(s)}, has_not_text=${this.toHasText(c.hasNotText)})`:`locator(${this.quote(s)})`;case"frame-locator":return`frame_locator(${this.quote(s)})`;case"frame":return"content_frame";case"nth":return`nth(${s})`;case"first":return"first";case"last":return"last";case"visible":return`filter(visible=${s==="true"?"True":"False"})`;case"role":const o=[];Ke(c.name)?o.push(`name=${this.regexToString(c.name)}`):typeof c.name=="string"&&o.push(`name=${this.quote(c.name)}`),Ke(c.description)?o.push(`description=${this.regexToString(c.description)}`):typeof c.description=="string"&&o.push(`description=${this.quote(c.description)}`),c.exact&&(typeof c.name=="string"||typeof c.description=="string")&&o.push("exact=True");for(const{name:m,value:g}of c.attrs){let p=typeof g=="string"?this.quote(g):g;typeof g=="boolean"&&(p=g?"True":"False"),o.push(`${Pg(m)}=${p}`)}const h=o.length?`, ${o.join(", ")}`:"";return`get_by_role(${this.quote(s)}${h})`;case"has-text":return`filter(has_text=${this.toHasText(s)})`;case"has-not-text":return`filter(has_not_text=${this.toHasText(s)})`;case"has":return`filter(has=${s})`;case"hasNot":return`filter(has_not=${s})`;case"and":return`and_(${s})`;case"or":return`or_(${s})`;case"chain":return`locator(${s})`;case"test-id":return`get_by_test_id(${this.toTestIdValue(s)})`;case"text":return this.toCallWithExact("get_by_text",s,!!c.exact);case"alt":return this.toCallWithExact("get_by_alt_text",s,!!c.exact);case"placeholder":return this.toCallWithExact("get_by_placeholder",s,!!c.exact);case"label":return this.toCallWithExact("get_by_label",s,!!c.exact);case"title":return this.toCallWithExact("get_by_title",s,!!c.exact);default:throw new Error("Unknown selector kind "+a)}}chainLocators(l){return l.join(".")}regexToString(l){const a=l.flags.includes("i")?", re.IGNORECASE":"";return`re.compile(r"${wu(l.source).replace(/\\\//,"/").replace(/"/g,'\\"')}"${a})`}toCallWithExact(l,a,s){return Ke(a)?`${l}(${this.regexToString(a)})`:s?`${l}(${this.quote(a)}, exact=True)`:`${l}(${this.quote(a)})`}toHasText(l){return Ke(l)?this.regexToString(l):`${this.quote(l)}`}toTestIdValue(l){return Ke(l)?this.regexToString(l):this.quote(l)}quote(l){return Au(l,'"')}}class _v{generateLocator(l,a,s,c={}){let o;switch(l){case"page":o="Page";break;case"frame-locator":o="FrameLocator";break;case"locator":o="Locator";break}switch(a){case"default":return c.hasText!==void 0?`locator(${this.quote(s)}, new ${o}.LocatorOptions().setHasText(${this.toHasText(c.hasText)}))`:c.hasNotText!==void 0?`locator(${this.quote(s)}, new ${o}.LocatorOptions().setHasNotText(${this.toHasText(c.hasNotText)}))`:`locator(${this.quote(s)})`;case"frame-locator":return`frameLocator(${this.quote(s)})`;case"frame":return"contentFrame()";case"nth":return`nth(${s})`;case"first":return"first()";case"last":return"last()";case"visible":return`filter(new ${o}.FilterOptions().setVisible(${s==="true"?"true":"false"}))`;case"role":const h=[];Ke(c.name)?h.push(`.setName(${this.regexToString(c.name)})`):typeof c.name=="string"&&h.push(`.setName(${this.quote(c.name)})`),Ke(c.description)?h.push(`.setDescription(${this.regexToString(c.description)})`):typeof c.description=="string"&&h.push(`.setDescription(${this.quote(c.description)})`),c.exact&&(typeof c.name=="string"||typeof c.description=="string")&&h.push(".setExact(true)");for(const{name:g,value:p}of c.attrs)h.push(`.set${yu(g)}(${typeof p=="string"?this.quote(p):p})`);const m=h.length?`, new ${o}.GetByRoleOptions()${h.join("")}`:"";return`getByRole(AriaRole.${Pg(s).toUpperCase()}${m})`;case"has-text":return`filter(new ${o}.FilterOptions().setHasText(${this.toHasText(s)}))`;case"has-not-text":return`filter(new ${o}.FilterOptions().setHasNotText(${this.toHasText(s)}))`;case"has":return`filter(new ${o}.FilterOptions().setHas(${s}))`;case"hasNot":return`filter(new ${o}.FilterOptions().setHasNot(${s}))`;case"and":return`and(${s})`;case"or":return`or(${s})`;case"chain":return`locator(${s})`;case"test-id":return`getByTestId(${this.toTestIdValue(s)})`;case"text":return this.toCallWithExact(o,"getByText",s,!!c.exact);case"alt":return this.toCallWithExact(o,"getByAltText",s,!!c.exact);case"placeholder":return this.toCallWithExact(o,"getByPlaceholder",s,!!c.exact);case"label":return this.toCallWithExact(o,"getByLabel",s,!!c.exact);case"title":return this.toCallWithExact(o,"getByTitle",s,!!c.exact);default:throw new Error("Unknown selector kind "+a)}}chainLocators(l){return l.join(".")}regexToString(l){const a=l.flags.includes("i")?", Pattern.CASE_INSENSITIVE":"";return`Pattern.compile(${this.quote(wu(l.source))}${a})`}toCallWithExact(l,a,s,c){return Ke(s)?`${a}(${this.regexToString(s)})`:c?`${a}(${this.quote(s)}, new ${l}.${yu(a)}Options().setExact(true))`:`${a}(${this.quote(s)})`}toHasText(l){return Ke(l)?this.regexToString(l):this.quote(l)}toTestIdValue(l){return Ke(l)?this.regexToString(l):this.quote(l)}quote(l){return Au(l,'"')}}class Nv{generateLocator(l,a,s,c={}){switch(a){case"default":return c.hasText!==void 0?`Locator(${this.quote(s)}, new() { ${this.toHasText(c.hasText)} })`:c.hasNotText!==void 0?`Locator(${this.quote(s)}, new() { ${this.toHasNotText(c.hasNotText)} })`:`Locator(${this.quote(s)})`;case"frame-locator":return`FrameLocator(${this.quote(s)})`;case"frame":return"ContentFrame";case"nth":return`Nth(${s})`;case"first":return"First";case"last":return"Last";case"visible":return`Filter(new() { Visible = ${s==="true"?"true":"false"} })`;case"role":const o=[];Ke(c.name)?o.push(`NameRegex = ${this.regexToString(c.name)}`):typeof c.name=="string"&&o.push(`Name = ${this.quote(c.name)}`),Ke(c.description)?o.push(`DescriptionRegex = ${this.regexToString(c.description)}`):typeof c.description=="string"&&o.push(`Description = ${this.quote(c.description)}`),c.exact&&(typeof c.name=="string"||typeof c.description=="string")&&o.push("Exact = true");for(const{name:m,value:g}of c.attrs)o.push(`${yu(m)} = ${typeof g=="string"?this.quote(g):g}`);const h=o.length?`, new() { ${o.join(", ")} }`:"";return`GetByRole(AriaRole.${yu(s)}${h})`;case"has-text":return`Filter(new() { ${this.toHasText(s)} })`;case"has-not-text":return`Filter(new() { ${this.toHasNotText(s)} })`;case"has":return`Filter(new() { Has = ${s} })`;case"hasNot":return`Filter(new() { HasNot = ${s} })`;case"and":return`And(${s})`;case"or":return`Or(${s})`;case"chain":return`Locator(${s})`;case"test-id":return`GetByTestId(${this.toTestIdValue(s)})`;case"text":return this.toCallWithExact("GetByText",s,!!c.exact);case"alt":return this.toCallWithExact("GetByAltText",s,!!c.exact);case"placeholder":return this.toCallWithExact("GetByPlaceholder",s,!!c.exact);case"label":return this.toCallWithExact("GetByLabel",s,!!c.exact);case"title":return this.toCallWithExact("GetByTitle",s,!!c.exact);default:throw new Error("Unknown selector kind "+a)}}chainLocators(l){return l.join(".")}regexToString(l){const a=l.flags.includes("i")?", RegexOptions.IgnoreCase":"";return`new Regex(${this.quote(wu(l.source))}${a})`}toCallWithExact(l,a,s){return Ke(a)?`${l}(${this.regexToString(a)})`:s?`${l}(${this.quote(a)}, new() { Exact = true })`:`${l}(${this.quote(a)})`}toHasText(l){return Ke(l)?`HasTextRegex = ${this.regexToString(l)}`:`HasText = ${this.quote(l)}`}toTestIdValue(l){return Ke(l)?this.regexToString(l):this.quote(l)}toHasNotText(l){return Ke(l)?`HasNotTextRegex = ${this.regexToString(l)}`:`HasNotText = ${this.quote(l)}`}quote(l){return Au(l,'"')}}class Mv{generateLocator(l,a,s,c={}){return JSON.stringify({kind:a,body:s,options:c})}chainLocators(l){const a=l.map(s=>JSON.parse(s));for(let s=0;s<a.length-1;++s)a[s].next=a[s+1];return JSON.stringify(a[0])}}const Cv={javascript:wv,python:Ov,java:_v,csharp:Nv,jsonl:Mv};function Ke(u){return u instanceof RegExp}const zv=({language:u,log:l})=>{const a=he.useRef(null),[s,c]=he.useState(new Map);return he.useLayoutEffect(()=>{var o;l.find(h=>h.reveal)&&((o=a.current)==null||o.scrollIntoView({block:"center",inline:"nearest"}))},[a,l]),X.jsxs("div",{className:"call-log",style:{flex:"auto"},children:[l.map(o=>{const h=s.get(o.id),m=typeof h=="boolean"?h:o.status!=="done",g=o.params.selector?ep(u,o.params.selector):null;let p=o.title,T="";return o.title.startsWith("expect.to")||o.title.startsWith("expect.not.to")?(p="expect(",T=`).${o.title.substring(7)}()`):o.title.startsWith("locator.")?(p="",T=`.${o.title.substring(8)}()`):(g||o.params.url)&&(p=o.title+"(",T=")"),X.jsxs("div",{className:wl("call-log-call",o.status),children:[X.jsxs("div",{className:"call-log-call-header",children:[X.jsx("span",{className:wl("codicon",`codicon-chevron-${m?"down":"right"}`),style:{cursor:"pointer"},onClick:()=>{const v=new Map(s);v.set(o.id,!m),c(v)}}),p,o.params.url?X.jsx("span",{className:"call-log-details",children:X.jsx("span",{className:"call-log-url",title:o.params.url,children:o.params.url})}):void 0,g?X.jsx("span",{className:"call-log-details",children:X.jsx("span",{className:"call-log-selector",title:`page.${g}`,children:`page.${g}`})}):void 0,T,X.jsx("span",{className:wl("codicon",xv(o))}),typeof o.duration=="number"?X.jsxs("span",{className:"call-log-time",children:["— ",tv(o.duration)]}):void 0]}),(m?o.messages:[]).map((v,_)=>X.jsx("div",{className:"call-log-message",children:v.trim()},_)),!!o.error&&X.jsx("div",{className:"call-log-message error",hidden:!m,children:o.error})]},o.id)}),X.jsx("div",{ref:a})]})};function xv(u){switch(u.status){case"done":return"codicon-check";case"in-progress":return"codicon-clock";case"paused":return"codicon-debug-pause";case"error":return"codicon-error"}}const Lf=Symbol.for("yaml.alias"),Of=Symbol.for("yaml.document"),In=Symbol.for("yaml.map"),tp=Symbol.for("yaml.pair"),nn=Symbol.for("yaml.scalar"),_i=Symbol.for("yaml.seq"),Vt=Symbol.for("yaml.node.type"),el=u=>!!u&&typeof u=="object"&&u[Vt]===Lf,_l=u=>!!u&&typeof u=="object"&&u[Vt]===Of,Ni=u=>!!u&&typeof u=="object"&&u[Vt]===In,je=u=>!!u&&typeof u=="object"&&u[Vt]===tp,De=u=>!!u&&typeof u=="object"&&u[Vt]===nn,Mi=u=>!!u&&typeof u=="object"&&u[Vt]===_i;function Be(u){if(u&&typeof u=="object")switch(u[Vt]){case In:case _i:return!0}return!1}function qe(u){if(u&&typeof u=="object")switch(u[Vt]){case Lf:case In:case nn:case _i:return!0}return!1}const np=u=>(De(u)||Be(u))&&!!u.anchor,Tt=Symbol("break visit"),lp=Symbol("skip children"),tn=Symbol("remove node");function Nl(u,l){const a=ip(l);_l(u)?pi(null,u.contents,a,Object.freeze([u]))===tn&&(u.contents=null):pi(null,u,a,Object.freeze([]))}Nl.BREAK=Tt;Nl.SKIP=lp;Nl.REMOVE=tn;function pi(u,l,a,s){const c=ap(u,l,a,s);if(qe(c)||je(c))return sp(u,s,c),pi(u,c,a,s);if(typeof c!="symbol"){if(Be(l)){s=Object.freeze(s.concat(l));for(let o=0;o<l.items.length;++o){const h=pi(o,l.items[o],a,s);if(typeof h=="number")o=h-1;else{if(h===Tt)return Tt;h===tn&&(l.items.splice(o,1),o-=1)}}}else if(je(l)){s=Object.freeze(s.concat(l));const o=pi("key",l.key,a,s);if(o===Tt)return Tt;o===tn&&(l.key=null);const h=pi("value",l.value,a,s);if(h===Tt)return Tt;h===tn&&(l.value=null)}}return c}async function Ou(u,l){const a=ip(l);_l(u)?await yi(null,u.contents,a,Object.freeze([u]))===tn&&(u.contents=null):await yi(null,u,a,Object.freeze([]))}Ou.BREAK=Tt;Ou.SKIP=lp;Ou.REMOVE=tn;async function yi(u,l,a,s){const c=await ap(u,l,a,s);if(qe(c)||je(c))return sp(u,s,c),yi(u,c,a,s);if(typeof c!="symbol"){if(Be(l)){s=Object.freeze(s.concat(l));for(let o=0;o<l.items.length;++o){const h=await yi(o,l.items[o],a,s);if(typeof h=="number")o=h-1;else{if(h===Tt)return Tt;h===tn&&(l.items.splice(o,1),o-=1)}}}else if(je(l)){s=Object.freeze(s.concat(l));const o=await yi("key",l.key,a,s);if(o===Tt)return Tt;o===tn&&(l.key=null);const h=await yi("value",l.value,a,s);if(h===Tt)return Tt;h===tn&&(l.value=null)}}return c}function ip(u){return typeof u=="object"&&(u.Collection||u.Node||u.Value)?Object.assign({Alias:u.Node,Map:u.Node,Scalar:u.Node,Seq:u.Node},u.Value&&{Map:u.Value,Scalar:u.Value,Seq:u.Value},u.Collection&&{Map:u.Collection,Seq:u.Collection},u):u}function ap(u,l,a,s){var c,o,h,m,g;if(typeof a=="function")return a(u,l,s);if(Ni(l))return(c=a.Map)==null?void 0:c.call(a,u,l,s);if(Mi(l))return(o=a.Seq)==null?void 0:o.call(a,u,l,s);if(je(l))return(h=a.Pair)==null?void 0:h.call(a,u,l,s);if(De(l))return(m=a.Scalar)==null?void 0:m.call(a,u,l,s);if(el(l))return(g=a.Alias)==null?void 0:g.call(a,u,l,s)}function sp(u,l,a){const s=l[l.length-1];if(Be(s))s.items[u]=a;else if(je(s))u==="key"?s.key=a:s.value=a;else if(_l(s))s.contents=a;else{const c=el(s)?"alias":"scalar";throw new Error(`Cannot replace node with ${c} parent`)}}const Dv={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},Lv=u=>u.replace(/[!,[\]{}]/g,l=>Dv[l]);class ot{constructor(l,a){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},ot.defaultYaml,l),this.tags=Object.assign({},ot.defaultTags,a)}clone(){const l=new ot(this.yaml,this.tags);return l.docStart=this.docStart,l}atDocument(){const l=new ot(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:ot.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},ot.defaultTags);break}return l}add(l,a){this.atNextDocument&&(this.yaml={explicit:ot.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},ot.defaultTags),this.atNextDocument=!1);const s=l.trim().split(/[ \t]+/),c=s.shift();switch(c){case"%TAG":{if(s.length!==2&&(a(0,"%TAG directive should contain exactly two parts"),s.length<2))return!1;const[o,h]=s;return this.tags[o]=h,!0}case"%YAML":{if(this.yaml.explicit=!0,s.length!==1)return a(0,"%YAML directive should contain exactly one part"),!1;const[o]=s;if(o==="1.1"||o==="1.2")return this.yaml.version=o,!0;{const h=/^\d+\.\d+$/.test(o);return a(6,`Unsupported YAML version ${o}`,h),!1}}default:return a(0,`Unknown directive ${c}`,!0),!1}}tagName(l,a){if(l==="!")return"!";if(l[0]!=="!")return a(`Not a valid tag: ${l}`),null;if(l[1]==="<"){const h=l.slice(2,-1);return h==="!"||h==="!!"?(a(`Verbatim tags aren't resolved, so ${l} is invalid.`),null):(l[l.length-1]!==">"&&a("Verbatim tags must end with a >"),h)}const[,s,c]=l.match(/^(.*!)([^!]*)$/s);c||a(`The ${l} tag has no suffix`);const o=this.tags[s];if(o)try{return o+decodeURIComponent(c)}catch(h){return a(String(h)),null}return s==="!"?l:(a(`Could not resolve tag: ${l}`),null)}tagString(l){for(const[a,s]of Object.entries(this.tags))if(l.startsWith(s))return a+Lv(l.substring(s.length));return l[0]==="!"?l:`!<${l}>`}toString(l){const a=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],s=Object.entries(this.tags);let c;if(l&&s.length>0&&qe(l.contents)){const o={};Nl(l.contents,(h,m)=>{qe(m)&&m.tag&&(o[m.tag]=!0)}),c=Object.keys(o)}else c=[];for(const[o,h]of s)o==="!!"&&h==="tag:yaml.org,2002:"||(!l||c.some(m=>m.startsWith(h)))&&a.push(`%TAG ${o} ${h}`);return a.join(`
52 -`)}}ot.defaultYaml={explicit:!1,version:"1.2"};ot.defaultTags={"!!":"tag:yaml.org,2002:"};function up(u){if(/[\x00-\x19\s,[\]{}]/.test(u)){const a=`Anchor must not contain whitespace or control characters: ${JSON.stringify(u)}`;throw new Error(a)}return!0}function cp(u){const l=new Set;return Nl(u,{Value(a,s){s.anchor&&l.add(s.anchor)}}),l}function rp(u,l){for(let a=1;;++a){const s=`${u}${a}`;if(!l.has(s))return s}}function Uv(u,l){const a=[],s=new Map;let c=null;return{onAnchor:o=>{a.push(o),c??(c=cp(u));const h=rp(l,c);return c.add(h),h},setAnchors:()=>{for(const o of a){const h=s.get(o);if(typeof h=="object"&&h.anchor&&(De(h.node)||Be(h.node)))h.node.anchor=h.anchor;else{const m=new Error("Failed to resolve repeated object (this should not happen)");throw m.source=o,m}}},sourceObjects:s}}function vi(u,l,a,s){if(s&&typeof s=="object")if(Array.isArray(s))for(let c=0,o=s.length;c<o;++c){const h=s[c],m=vi(u,s,String(c),h);m===void 0?delete s[c]:m!==h&&(s[c]=m)}else if(s instanceof Map)for(const c of Array.from(s.keys())){const o=s.get(c),h=vi(u,s,c,o);h===void 0?s.delete(c):h!==o&&s.set(c,h)}else if(s instanceof Set)for(const c of Array.from(s)){const o=vi(u,s,c,c);o===void 0?s.delete(c):o!==c&&(s.delete(c),s.add(o))}else for(const[c,o]of Object.entries(s)){const h=vi(u,s,c,o);h===void 0?delete s[c]:h!==o&&(s[c]=h)}return u.call(l,a,s)}function Kt(u,l,a){if(Array.isArray(u))return u.map((s,c)=>Kt(s,String(c),a));if(u&&typeof u.toJSON=="function"){if(!a||!np(u))return u.toJSON(l,a);const s={aliasCount:0,count:1,res:void 0};a.anchors.set(u,s),a.onCreate=o=>{s.res=o,delete a.onCreate};const c=u.toJSON(l,a);return a.onCreate&&a.onCreate(c),c}return typeof u=="bigint"&&!(a!=null&&a.keep)?Number(u):u}class Uf{constructor(l){Object.defineProperty(this,Vt,{value:l})}clone(){const l=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(l.range=this.range.slice()),l}toJS(l,{mapAsMap:a,maxAliasCount:s,onAnchor:c,reviver:o}={}){if(!_l(l))throw new TypeError("A document argument is required");const h={anchors:new Map,doc:l,keep:!0,mapAsMap:a===!0,mapKeyWarned:!1,maxAliasCount:typeof s=="number"?s:100},m=Kt(this,"",h);if(typeof c=="function")for(const{count:g,res:p}of h.anchors.values())c(p,g);return typeof o=="function"?vi(o,{"":m},"",m):m}}class _u extends Uf{constructor(l){super(Lf),this.source=l,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(l,a){let s;a!=null&&a.aliasResolveCache?s=a.aliasResolveCache:(s=[],Nl(l,{Node:(o,h)=>{(el(h)||np(h))&&s.push(h)}}),a&&(a.aliasResolveCache=s));let c;for(const o of s){if(o===this)break;o.anchor===this.source&&(c=o)}return c}toJSON(l,a){if(!a)return{source:this.source};const{anchors:s,doc:c,maxAliasCount:o}=a,h=this.resolve(c,a);if(!h){const g=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(g)}let m=s.get(h);if(m||(Kt(h,null,a),m=s.get(h)),(m==null?void 0:m.res)===void 0){const g="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(g)}if(o>=0&&(m.count+=1,m.aliasCount===0&&(m.aliasCount=hu(c,h,s)),m.count*m.aliasCount>o)){const g="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(g)}return m.res}toString(l,a,s){const c=`*${this.source}`;if(l){if(up(this.source),l.options.verifyAliasOrder&&!l.anchors.has(this.source)){const o=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(o)}if(l.implicitKey)return`${c} `}return c}}function hu(u,l,a){if(el(l)){const s=l.resolve(u),c=a&&s&&a.get(s);return c?c.count*c.aliasCount:0}else if(Be(l)){let s=0;for(const c of l.items){const o=hu(u,c,a);o>s&&(s=o)}return s}else if(je(l)){const s=hu(u,l.key,a),c=hu(u,l.value,a);return Math.max(s,c)}return 1}const fp=u=>!u||typeof u!="function"&&typeof u!="object";class ce extends Uf{constructor(l){super(nn),this.value=l}toJSON(l,a){return a!=null&&a.keep?this.value:Kt(this.value,l,a)}toString(){return String(this.value)}}ce.BLOCK_FOLDED="BLOCK_FOLDED";ce.BLOCK_LITERAL="BLOCK_LITERAL";ce.PLAIN="PLAIN";ce.QUOTE_DOUBLE="QUOTE_DOUBLE";ce.QUOTE_SINGLE="QUOTE_SINGLE";const Rv="tag:yaml.org,2002:";function jv(u,l,a){if(l){const s=a.filter(o=>o.tag===l),c=s.find(o=>!o.format)??s[0];if(!c)throw new Error(`Tag ${l} not found`);return c}return a.find(s=>{var c;return((c=s.identify)==null?void 0:c.call(s,u))&&!s.format})}function xa(u,l,a){var v,_,E;if(_l(u)&&(u=u.contents),qe(u))return u;if(je(u)){const x=(_=(v=a.schema[In]).createNode)==null?void 0:_.call(v,a.schema,null,a);return x.items.push(u),x}(u instanceof String||u instanceof Number||u instanceof Boolean||typeof BigInt<"u"&&u instanceof BigInt)&&(u=u.valueOf());const{aliasDuplicateObjects:s,onAnchor:c,onTagObj:o,schema:h,sourceObjects:m}=a;let g;if(s&&u&&typeof u=="object"){if(g=m.get(u),g)return g.anchor??(g.anchor=c(u)),new _u(g.anchor);g={anchor:null,node:null},m.set(u,g)}l!=null&&l.startsWith("!!")&&(l=Rv+l.slice(2));let p=jv(u,l,h.tags);if(!p){if(u&&typeof u.toJSON=="function"&&(u=u.toJSON()),!u||typeof u!="object"){const x=new ce(u);return g&&(g.node=x),x}p=u instanceof Map?h[In]:Symbol.iterator in Object(u)?h[_i]:h[In]}o&&(o(p),delete a.onTagObj);const T=p!=null&&p.createNode?p.createNode(a.schema,u,a):typeof((E=p==null?void 0:p.nodeClass)==null?void 0:E.from)=="function"?p.nodeClass.from(a.schema,u,a):new ce(u);return l?T.tag=l:p.default||(T.tag=p.tag),g&&(g.node=T),T}function vu(u,l,a){let s=a;for(let c=l.length-1;c>=0;--c){const o=l[c];if(typeof o=="number"&&Number.isInteger(o)&&o>=0){const h=[];h[o]=s,s=h}else s=new Map([[o,s]])}return xa(s,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:u,sourceObjects:new Map})}const Ca=u=>u==null||typeof u=="object"&&!!u[Symbol.iterator]().next().done;class op extends Uf{constructor(l,a){super(l),Object.defineProperty(this,"schema",{value:a,configurable:!0,enumerable:!1,writable:!0})}clone(l){const a=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return l&&(a.schema=l),a.items=a.items.map(s=>qe(s)||je(s)?s.clone(l):s),this.range&&(a.range=this.range.slice()),a}addIn(l,a){if(Ca(l))this.add(a);else{const[s,...c]=l,o=this.get(s,!0);if(Be(o))o.addIn(c,a);else if(o===void 0&&this.schema)this.set(s,vu(this.schema,c,a));else throw new Error(`Expected YAML collection at ${s}. Remaining path: ${c}`)}}deleteIn(l){const[a,...s]=l;if(s.length===0)return this.delete(a);const c=this.get(a,!0);if(Be(c))return c.deleteIn(s);throw new Error(`Expected YAML collection at ${a}. Remaining path: ${s}`)}getIn(l,a){const[s,...c]=l,o=this.get(s,!0);return c.length===0?!a&&De(o)?o.value:o:Be(o)?o.getIn(c,a):void 0}hasAllNullValues(l){return this.items.every(a=>{if(!je(a))return!1;const s=a.value;return s==null||l&&De(s)&&s.value==null&&!s.commentBefore&&!s.comment&&!s.tag})}hasIn(l){const[a,...s]=l;if(s.length===0)return this.has(a);const c=this.get(a,!0);return Be(c)?c.hasIn(s):!1}setIn(l,a){const[s,...c]=l;if(c.length===0)this.set(s,a);else{const o=this.get(s,!0);if(Be(o))o.setIn(c,a);else if(o===void 0&&this.schema)this.set(s,vu(this.schema,c,a));else throw new Error(`Expected YAML collection at ${s}. Remaining path: ${c}`)}}}const Bv=u=>u.replace(/^(?!$)(?: $)?/gm,"#");function An(u,l){return/^\n+$/.test(u)?u.substring(1):l?u.replace(/^(?! *$)/gm,l):u}const Tl=(u,l,a)=>u.endsWith(`
53 -`)?An(a,l):a.includes(`
54 -`)?`
55 -`+An(a,l):(u.endsWith(" ")?"":" ")+a,hp="flow",_f="block",du="quoted";function Nu(u,l,a="flow",{indentAtStart:s,lineWidth:c=80,minContentWidth:o=20,onFold:h,onOverflow:m}={}){if(!c||c<0)return u;c<o&&(o=0);const g=Math.max(1+o,1+c-l.length);if(u.length<=g)return u;const p=[],T={};let v=c-l.length;typeof s=="number"&&(s>c-Math.max(2,o)?p.push(0):v=c-s);let _,E,x=!1,b=-1,A=-1,M=-1;a===_f&&(b=yg(u,b,l.length),b!==-1&&(v=b+g));for(let G;G=u[b+=1];){if(a===du&&G==="\\"){switch(A=b,u[b+1]){case"x":b+=3;break;case"u":b+=5;break;case"U":b+=9;break;default:b+=1}M=b}if(G===`
56 -`)a===_f&&(b=yg(u,b,l.length)),v=b+l.length+g,_=void 0;else{if(G===" "&&E&&E!==" "&&E!==`
57 -`&&E!==" "){const Q=u[b+1];Q&&Q!==" "&&Q!==`
58 -`&&Q!==" "&&(_=b)}if(b>=v)if(_)p.push(_),v=_+g,_=void 0;else if(a===du){for(;E===" "||E===" ";)E=G,G=u[b+=1],x=!0;const Q=b>M+1?b-2:A-1;if(T[Q])return u;p.push(Q),T[Q]=!0,v=Q+g,_=void 0}else x=!0}E=G}if(x&&m&&m(),p.length===0)return u;h&&h();let R=u.slice(0,p[0]);for(let G=0;G<p.length;++G){const Q=p[G],Z=p[G+1]||u.length;Q===0?R=`
59 -${l}${u.slice(0,Z)}`:(a===du&&T[Q]&&(R+=`${u[Q]}\\`),R+=`
60 -${l}${u.slice(Q+1,Z)}`)}return R}function yg(u,l,a){let s=l,c=l+1,o=u[c];for(;o===" "||o===" ";)if(l<c+a)o=u[++l];else{do o=u[++l];while(o&&o!==`
61 -`);s=l,c=l+1,o=u[c]}return s}const Mu=(u,l)=>({indentAtStart:l?u.indent.length:u.indentAtStart,lineWidth:u.options.lineWidth,minContentWidth:u.options.minContentWidth}),Cu=u=>/^(%|---|\.\.\.)/m.test(u);function qv(u,l,a){if(!l||l<0)return!1;const s=l-a,c=u.length;if(c<=s)return!1;for(let o=0,h=0;o<c;++o)if(u[o]===`
62 -`){if(o-h>s)return!0;if(h=o+1,c-h<=s)return!1}return!0}function za(u,l){const a=JSON.stringify(u);if(l.options.doubleQuotedAsJSON)return a;const{implicitKey:s}=l,c=l.options.doubleQuotedMinMultiLineLength,o=l.indent||(Cu(u)?" ":"");let h="",m=0;for(let g=0,p=a[g];p;p=a[++g])if(p===" "&&a[g+1]==="\\"&&a[g+2]==="n"&&(h+=a.slice(m,g)+"\\ ",g+=1,m=g,p="\\"),p==="\\")switch(a[g+1]){case"u":{h+=a.slice(m,g);const T=a.substr(g+2,4);switch(T){case"0000":h+="\\0";break;case"0007":h+="\\a";break;case"000b":h+="\\v";break;case"001b":h+="\\e";break;case"0085":h+="\\N";break;case"00a0":h+="\\_";break;case"2028":h+="\\L";break;case"2029":h+="\\P";break;default:T.substr(0,2)==="00"?h+="\\x"+T.substr(2):h+=a.substr(g,6)}g+=5,m=g+1}break;case"n":if(s||a[g+2]==='"'||a.length<c)g+=1;else{for(h+=a.slice(m,g)+`
63 -
64 -`;a[g+2]==="\\"&&a[g+3]==="n"&&a[g+4]!=='"';)h+=`
65 -`,g+=2;h+=o,a[g+2]===" "&&(h+="\\"),g+=1,m=g+1}break;default:g+=1}return h=m?h+a.slice(m):a,s?h:Nu(h,o,du,Mu(l,!1))}function Nf(u,l){if(l.options.singleQuote===!1||l.implicitKey&&u.includes(`
66 -`)||/[ \t]\n|\n[ \t]/.test(u))return za(u,l);const a=l.indent||(Cu(u)?" ":""),s="'"+u.replace(/'/g,"''").replace(/\n+/g,`$&
67 -${a}`)+"'";return l.implicitKey?s:Nu(s,a,hp,Mu(l,!1))}function bi(u,l){const{singleQuote:a}=l.options;let s;if(a===!1)s=za;else{const c=u.includes('"'),o=u.includes("'");c&&!o?s=Nf:o&&!c?s=za:s=a?Nf:za}return s(u,l)}let Mf;try{Mf=new RegExp(`(^|(?<!
68 -))
69 -+(?!
70 -|$)`,"g")}catch{Mf=/\n+(?!\n|$)/g}function mu({comment:u,type:l,value:a},s,c,o){const{blockQuote:h,commentString:m,lineWidth:g}=s.options;if(!h||/\n[\t ]+$/.test(a))return bi(a,s);const p=s.indent||(s.forceBlockIndent||Cu(a)?" ":""),T=h==="literal"?!0:h==="folded"||l===ce.BLOCK_FOLDED?!1:l===ce.BLOCK_LITERAL?!0:!qv(a,g,p.length);if(!a)return T?`|
71 -`:`>
72 -`;let v,_;for(_=a.length;_>0;--_){const Z=a[_-1];if(Z!==`
73 -`&&Z!==" "&&Z!==" ")break}let E=a.substring(_);const x=E.indexOf(`
74 -`);x===-1?v="-":a===E||x!==E.length-1?(v="+",o&&o()):v="",E&&(a=a.slice(0,-E.length),E[E.length-1]===`
75 -`&&(E=E.slice(0,-1)),E=E.replace(Mf,`$&${p}`));let b=!1,A,M=-1;for(A=0;A<a.length;++A){const Z=a[A];if(Z===" ")b=!0;else if(Z===`
76 -`)M=A;else break}let R=a.substring(0,M<A?M+1:A);R&&(a=a.substring(R.length),R=R.replace(/\n+/g,`$&${p}`));let Q=(b?p?"2":"1":"")+v;if(u&&(Q+=" "+m(u.replace(/ ?[\r\n]+/g," ")),c&&c()),!T){const Z=a.replace(/\n+/g,`
77 -$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${p}`);let W=!1;const q=Mu(s,!0);h!=="folded"&&l!==ce.BLOCK_FOLDED&&(q.onOverflow=()=>{W=!0});const V=Nu(`${R}${Z}${E}`,p,_f,q);if(!W)return`>${Q}
78 -${p}${V}`}return a=a.replace(/\n+/g,`$&${p}`),`|${Q}
79 -${p}${R}${a}${E}`}function kv(u,l,a,s){const{type:c,value:o}=u,{actualString:h,implicitKey:m,indent:g,indentStep:p,inFlow:T}=l;if(m&&o.includes(`
80 -`)||T&&/[[\]{},]/.test(o))return bi(o,l);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(o))return m||T||!o.includes(`
81 -`)?bi(o,l):mu(u,l,a,s);if(!m&&!T&&c!==ce.PLAIN&&o.includes(`
82 -`))return mu(u,l,a,s);if(Cu(o)){if(g==="")return l.forceBlockIndent=!0,mu(u,l,a,s);if(m&&g===p)return bi(o,l)}const v=o.replace(/\n+/g,`$&
83 -${g}`);if(h){const _=b=>{var A;return b.default&&b.tag!=="tag:yaml.org,2002:str"&&((A=b.test)==null?void 0:A.test(v))},{compat:E,tags:x}=l.doc.schema;if(x.some(_)||E!=null&&E.some(_))return bi(o,l)}return m?v:Nu(v,g,hp,Mu(l,!1))}function Ra(u,l,a,s){const{implicitKey:c,inFlow:o}=l,h=typeof u.value=="string"?u:Object.assign({},u,{value:String(u.value)});let{type:m}=u;m!==ce.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(h.value)&&(m=ce.QUOTE_DOUBLE);const g=T=>{switch(T){case ce.BLOCK_FOLDED:case ce.BLOCK_LITERAL:return c||o?bi(h.value,l):mu(h,l,a,s);case ce.QUOTE_DOUBLE:return za(h.value,l);case ce.QUOTE_SINGLE:return Nf(h.value,l);case ce.PLAIN:return kv(h,l,a,s);default:return null}};let p=g(m);if(p===null){const{defaultKeyType:T,defaultStringType:v}=l.options,_=c&&T||v;if(p=g(_),p===null)throw new Error(`Unsupported default string type ${_}`)}return p}function dp(u,l){const a=Object.assign({blockQuote:!0,commentString:Bv,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trailingComma:!1,trueStr:"true",verifyAliasOrder:!0},u.schema.toStringOptions,l);let s;switch(a.collectionStyle){case"block":s=!1;break;case"flow":s=!0;break;default:s=null}return{anchors:new Set,doc:u,flowCollectionPadding:a.flowCollectionPadding?" ":"",indent:"",indentStep:typeof a.indent=="number"?" ".repeat(a.indent):" ",inFlow:s,options:a}}function Hv(u,l){var c;if(l.tag){const o=u.filter(h=>h.tag===l.tag);if(o.length>0)return o.find(h=>h.format===l.format)??o[0]}let a,s;if(De(l)){s=l.value;let o=u.filter(h=>{var m;return(m=h.identify)==null?void 0:m.call(h,s)});if(o.length>1){const h=o.filter(m=>m.test);h.length>0&&(o=h)}a=o.find(h=>h.format===l.format)??o.find(h=>!h.format)}else s=l,a=u.find(o=>o.nodeClass&&s instanceof o.nodeClass);if(!a){const o=((c=s==null?void 0:s.constructor)==null?void 0:c.name)??(s===null?"null":typeof s);throw new Error(`Tag not resolved for ${o} value`)}return a}function Yv(u,l,{anchors:a,doc:s}){if(!s.directives)return"";const c=[],o=(De(u)||Be(u))&&u.anchor;o&&up(o)&&(a.add(o),c.push(`&${o}`));const h=u.tag??(l.default?null:l.tag);return h&&c.push(s.directives.tagString(h)),c.join(" ")}function Ei(u,l,a,s){var g;if(je(u))return u.toString(l,a,s);if(el(u)){if(l.doc.directives)return u.toString(l);if((g=l.resolvedAliases)!=null&&g.has(u))throw new TypeError("Cannot stringify circular structure without alias nodes");l.resolvedAliases?l.resolvedAliases.add(u):l.resolvedAliases=new Set([u]),u=u.resolve(l.doc)}let c;const o=qe(u)?u:l.doc.createNode(u,{onTagObj:p=>c=p});c??(c=Hv(l.doc.schema.tags,o));const h=Yv(o,c,l);h.length>0&&(l.indentAtStart=(l.indentAtStart??0)+h.length+1);const m=typeof c.stringify=="function"?c.stringify(o,l,a,s):De(o)?Ra(o,l,a,s):o.toString(l,a,s);return h?De(o)||m[0]==="{"||m[0]==="["?`${h} ${m}`:`${h}
84 -${l.indent}${m}`:m}function $v({key:u,value:l},a,s,c){const{allNullValues:o,doc:h,indent:m,indentStep:g,options:{commentString:p,indentSeq:T,simpleKeys:v}}=a;let _=qe(u)&&u.comment||null;if(v){if(_)throw new Error("With simple keys, key nodes cannot have comments");if(Be(u)||!qe(u)&&typeof u=="object"){const q="With simple keys, collection cannot be used as a key value";throw new Error(q)}}let E=!v&&(!u||_&&l==null&&!a.inFlow||Be(u)||(De(u)?u.type===ce.BLOCK_FOLDED||u.type===ce.BLOCK_LITERAL:typeof u=="object"));a=Object.assign({},a,{allNullValues:!1,implicitKey:!E&&(v||!o),indent:m+g});let x=!1,b=!1,A=Ei(u,a,()=>x=!0,()=>b=!0);if(!E&&!a.inFlow&&A.length>1024){if(v)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");E=!0}if(a.inFlow){if(o||l==null)return x&&s&&s(),A===""?"?":E?`? ${A}`:A}else if(o&&!v||l==null&&E)return A=`? ${A}`,_&&!x?A+=Tl(A,a.indent,p(_)):b&&c&&c(),A;x&&(_=null),E?(_&&(A+=Tl(A,a.indent,p(_))),A=`? ${A}
85 -${m}:`):(A=`${A}:`,_&&(A+=Tl(A,a.indent,p(_))));let M,R,G;qe(l)?(M=!!l.spaceBefore,R=l.commentBefore,G=l.comment):(M=!1,R=null,G=null,l&&typeof l=="object"&&(l=h.createNode(l))),a.implicitKey=!1,!E&&!_&&De(l)&&(a.indentAtStart=A.length+1),b=!1,!T&&g.length>=2&&!a.inFlow&&!E&&Mi(l)&&!l.flow&&!l.tag&&!l.anchor&&(a.indent=a.indent.substring(2));let Q=!1;const Z=Ei(l,a,()=>Q=!0,()=>b=!0);let W=" ";if(_||M||R){if(W=M?`
86 -`:"",R){const q=p(R);W+=`
87 -${An(q,a.indent)}`}Z===""&&!a.inFlow?W===`
88 -`&&G&&(W=`
89 -
90 -`):W+=`
91 -${a.indent}`}else if(!E&&Be(l)){const q=Z[0],V=Z.indexOf(`
92 -`),U=V!==-1,ae=a.inFlow??l.flow??l.items.length===0;if(U||!ae){let te=!1;if(U&&(q==="&"||q==="!")){let $=Z.indexOf(" ");q==="&"&&$!==-1&&$<V&&Z[$+1]==="!"&&($=Z.indexOf(" ",$+1)),($===-1||V<$)&&(te=!0)}te||(W=`
93 -${a.indent}`)}}else(Z===""||Z[0]===`
94 -`)&&(W="");return A+=W+Z,a.inFlow?Q&&s&&s():G&&!Q?A+=Tl(A,a.indent,p(G)):b&&c&&c(),A}function mp(u,l){(u==="debug"||u==="warn")&&console.warn(l)}const nu="<<",On={identify:u=>u===nu||typeof u=="symbol"&&u.description===nu,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new ce(Symbol(nu)),{addToJSMap:gp}),stringify:()=>nu},Gv=(u,l)=>(On.identify(l)||De(l)&&(!l.type||l.type===ce.PLAIN)&&On.identify(l.value))&&(u==null?void 0:u.doc.schema.tags.some(a=>a.tag===On.tag&&a.default));function gp(u,l,a){if(a=u&&el(a)?a.resolve(u.doc):a,Mi(a))for(const s of a.items)hf(u,l,s);else if(Array.isArray(a))for(const s of a)hf(u,l,s);else hf(u,l,a)}function hf(u,l,a){const s=u&&el(a)?a.resolve(u.doc):a;if(!Ni(s))throw new Error("Merge sources must be maps or map aliases");const c=s.toJSON(null,u,Map);for(const[o,h]of c)l instanceof Map?l.has(o)||l.set(o,h):l instanceof Set?l.add(o):Object.prototype.hasOwnProperty.call(l,o)||Object.defineProperty(l,o,{value:h,writable:!0,enumerable:!0,configurable:!0});return l}function pp(u,l,{key:a,value:s}){if(qe(a)&&a.addToJSMap)a.addToJSMap(u,l,s);else if(Gv(u,a))gp(u,l,s);else{const c=Kt(a,"",u);if(l instanceof Map)l.set(c,Kt(s,c,u));else if(l instanceof Set)l.add(c);else{const o=Kv(a,c,u),h=Kt(s,o,u);o in l?Object.defineProperty(l,o,{value:h,writable:!0,enumerable:!0,configurable:!0}):l[o]=h}}return l}function Kv(u,l,a){if(l===null)return"";if(typeof l!="object")return String(l);if(qe(u)&&(a!=null&&a.doc)){const s=dp(a.doc,{});s.anchors=new Set;for(const o of a.anchors.keys())s.anchors.add(o.anchor);s.inFlow=!0,s.inStringifyKey=!0;const c=u.toString(s);if(!a.mapKeyWarned){let o=JSON.stringify(c);o.length>40&&(o=o.substring(0,36)+'..."'),mp(a.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${o}. Set mapAsMap: true to use object keys.`),a.mapKeyWarned=!0}return c}return JSON.stringify(l)}function Rf(u,l,a){const s=xa(u,void 0,a),c=xa(l,void 0,a);return new ct(s,c)}class ct{constructor(l,a=null){Object.defineProperty(this,Vt,{value:tp}),this.key=l,this.value=a}clone(l){let{key:a,value:s}=this;return qe(a)&&(a=a.clone(l)),qe(s)&&(s=s.clone(l)),new ct(a,s)}toJSON(l,a){const s=a!=null&&a.mapAsMap?new Map:{};return pp(a,s,this)}toString(l,a,s){return l!=null&&l.doc?$v(this,l,a,s):JSON.stringify(this)}}function yp(u,l,a){return(l.inFlow??u.flow?Qv:Vv)(u,l,a)}function Vv({comment:u,items:l},a,{blockItemPrefix:s,flowChars:c,itemIndent:o,onChompKeep:h,onComment:m}){const{indent:g,options:{commentString:p}}=a,T=Object.assign({},a,{indent:o,type:null});let v=!1;const _=[];for(let x=0;x<l.length;++x){const b=l[x];let A=null;if(qe(b))!v&&b.spaceBefore&&_.push(""),bu(a,_,b.commentBefore,v),b.comment&&(A=b.comment);else if(je(b)){const R=qe(b.key)?b.key:null;R&&(!v&&R.spaceBefore&&_.push(""),bu(a,_,R.commentBefore,v))}v=!1;let M=Ei(b,T,()=>A=null,()=>v=!0);A&&(M+=Tl(M,o,p(A))),v&&A&&(v=!1),_.push(s+M)}let E;if(_.length===0)E=c.start+c.end;else{E=_[0];for(let x=1;x<_.length;++x){const b=_[x];E+=b?`
95 -${g}${b}`:`
96 -`}}return u?(E+=`
97 -`+An(p(u),g),m&&m()):v&&h&&h(),E}function Qv({items:u},l,{flowChars:a,itemIndent:s}){const{indent:c,indentStep:o,flowCollectionPadding:h,options:{commentString:m}}=l;s+=o;const g=Object.assign({},l,{indent:s,inFlow:!0,type:null});let p=!1,T=0;const v=[];for(let x=0;x<u.length;++x){const b=u[x];let A=null;if(qe(b))b.spaceBefore&&v.push(""),bu(l,v,b.commentBefore,!1),b.comment&&(A=b.comment);else if(je(b)){const R=qe(b.key)?b.key:null;R&&(R.spaceBefore&&v.push(""),bu(l,v,R.commentBefore,!1),R.comment&&(p=!0));const G=qe(b.value)?b.value:null;G?(G.comment&&(A=G.comment),G.commentBefore&&(p=!0)):b.value==null&&(R!=null&&R.comment)&&(A=R.comment)}A&&(p=!0);let M=Ei(b,g,()=>A=null);p||(p=v.length>T||M.includes(`
98 -`)),x<u.length-1?M+=",":l.options.trailingComma&&(l.options.lineWidth>0&&(p||(p=v.reduce((R,G)=>R+G.length+2,2)+(M.length+2)>l.options.lineWidth)),p&&(M+=",")),A&&(M+=Tl(M,s,m(A))),v.push(M),T=v.length}const{start:_,end:E}=a;if(v.length===0)return _+E;if(!p){const x=v.reduce((b,A)=>b+A.length+2,2);p=l.options.lineWidth>0&&x>l.options.lineWidth}if(p){let x=_;for(const b of v)x+=b?`
99 -${o}${c}${b}`:`
100 -`;return`${x}
101 -${c}${E}`}else return`${_}${h}${v.join(" ")}${h}${E}`}function bu({indent:u,options:{commentString:l}},a,s,c){if(s&&c&&(s=s.replace(/^\n+/,"")),s){const o=An(l(s),u);a.push(o.trimStart())}}function El(u,l){const a=De(l)?l.value:l;for(const s of u)if(je(s)&&(s.key===l||s.key===a||De(s.key)&&s.key.value===a))return s}class Lt extends op{static get tagName(){return"tag:yaml.org,2002:map"}constructor(l){super(In,l),this.items=[]}static from(l,a,s){const{keepUndefined:c,replacer:o}=s,h=new this(l),m=(g,p)=>{if(typeof o=="function")p=o.call(a,g,p);else if(Array.isArray(o)&&!o.includes(g))return;(p!==void 0||c)&&h.items.push(Rf(g,p,s))};if(a instanceof Map)for(const[g,p]of a)m(g,p);else if(a&&typeof a=="object")for(const g of Object.keys(a))m(g,a[g]);return typeof l.sortMapEntries=="function"&&h.items.sort(l.sortMapEntries),h}add(l,a){var h;let s;je(l)?s=l:!l||typeof l!="object"||!("key"in l)?s=new ct(l,l==null?void 0:l.value):s=new ct(l.key,l.value);const c=El(this.items,s.key),o=(h=this.schema)==null?void 0:h.sortMapEntries;if(c){if(!a)throw new Error(`Key ${s.key} already set`);De(c.value)&&fp(s.value)?c.value.value=s.value:c.value=s.value}else if(o){const m=this.items.findIndex(g=>o(s,g)<0);m===-1?this.items.push(s):this.items.splice(m,0,s)}else this.items.push(s)}delete(l){const a=El(this.items,l);return a?this.items.splice(this.items.indexOf(a),1).length>0:!1}get(l,a){const s=El(this.items,l),c=s==null?void 0:s.value;return(!a&&De(c)?c.value:c)??void 0}has(l){return!!El(this.items,l)}set(l,a){this.add(new ct(l,a),!0)}toJSON(l,a,s){const c=s?new s:a!=null&&a.mapAsMap?new Map:{};a!=null&&a.onCreate&&a.onCreate(c);for(const o of this.items)pp(a,c,o);return c}toString(l,a,s){if(!l)return JSON.stringify(this);for(const c of this.items)if(!je(c))throw new Error(`Map items must all be pairs; found ${JSON.stringify(c)} instead`);return!l.allNullValues&&this.hasAllNullValues(!1)&&(l=Object.assign({},l,{allNullValues:!0})),yp(this,l,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:l.indent||"",onChompKeep:s,onComment:a})}}const Ci={collection:"map",default:!0,nodeClass:Lt,tag:"tag:yaml.org,2002:map",resolve(u,l){return Ni(u)||l("Expected a mapping for this tag"),u},createNode:(u,l,a)=>Lt.from(u,l,a)};class Pn extends op{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(l){super(_i,l),this.items=[]}add(l){this.items.push(l)}delete(l){const a=lu(l);return typeof a!="number"?!1:this.items.splice(a,1).length>0}get(l,a){const s=lu(l);if(typeof s!="number")return;const c=this.items[s];return!a&&De(c)?c.value:c}has(l){const a=lu(l);return typeof a=="number"&&a<this.items.length}set(l,a){const s=lu(l);if(typeof s!="number")throw new Error(`Expected a valid index, not ${l}.`);const c=this.items[s];De(c)&&fp(a)?c.value=a:this.items[s]=a}toJSON(l,a){const s=[];a!=null&&a.onCreate&&a.onCreate(s);let c=0;for(const o of this.items)s.push(Kt(o,String(c++),a));return s}toString(l,a,s){return l?yp(this,l,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(l.indent||"")+" ",onChompKeep:s,onComment:a}):JSON.stringify(this)}static from(l,a,s){const{replacer:c}=s,o=new this(l);if(a&&Symbol.iterator in Object(a)){let h=0;for(let m of a){if(typeof c=="function"){const g=a instanceof Set?m:String(h++);m=c.call(a,g,m)}o.items.push(xa(m,void 0,s))}}return o}}function lu(u){let l=De(u)?u.value:u;return l&&typeof l=="string"&&(l=Number(l)),typeof l=="number"&&Number.isInteger(l)&&l>=0?l:null}const zi={collection:"seq",default:!0,nodeClass:Pn,tag:"tag:yaml.org,2002:seq",resolve(u,l){return Mi(u)||l("Expected a sequence for this tag"),u},createNode:(u,l,a)=>Pn.from(u,l,a)},zu={identify:u=>typeof u=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:u=>u,stringify(u,l,a,s){return l=Object.assign({actualString:!0},l),Ra(u,l,a,s)}},xu={identify:u=>u==null,createNode:()=>new ce(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new ce(null),stringify:({source:u},l)=>typeof u=="string"&&xu.test.test(u)?u:l.options.nullStr},jf={identify:u=>typeof u=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:u=>new ce(u[0]==="t"||u[0]==="T"),stringify({source:u,value:l},a){if(u&&jf.test.test(u)){const s=u[0]==="t"||u[0]==="T";if(l===s)return u}return l?a.options.trueStr:a.options.falseStr}};function Wt({format:u,minFractionDigits:l,tag:a,value:s}){if(typeof s=="bigint")return String(s);const c=typeof s=="number"?s:Number(s);if(!isFinite(c))return isNaN(c)?".nan":c<0?"-.inf":".inf";let o=Object.is(s,-0)?"-0":JSON.stringify(s);if(!u&&l&&(!a||a==="tag:yaml.org,2002:float")&&/^\d/.test(o)){let h=o.indexOf(".");h<0&&(h=o.length,o+=".");let m=l-(o.length-h-1);for(;m-- >0;)o+="0"}return o}const vp={identify:u=>typeof u=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:u=>u.slice(-3).toLowerCase()==="nan"?NaN:u[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Wt},bp={identify:u=>typeof u=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:u=>parseFloat(u),stringify(u){const l=Number(u.value);return isFinite(l)?l.toExponential():Wt(u)}},Sp={identify:u=>typeof u=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(u){const l=new ce(parseFloat(u)),a=u.indexOf(".");return a!==-1&&u[u.length-1]==="0"&&(l.minFractionDigits=u.length-a-1),l},stringify:Wt},Du=u=>typeof u=="bigint"||Number.isInteger(u),Bf=(u,l,a,{intAsBigInt:s})=>s?BigInt(u):parseInt(u.substring(l),a);function Tp(u,l,a){const{value:s}=u;return Du(s)&&s>=0?a+s.toString(l):Wt(u)}const Ep={identify:u=>Du(u)&&u>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(u,l,a)=>Bf(u,2,8,a),stringify:u=>Tp(u,8,"0o")},Ap={identify:Du,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(u,l,a)=>Bf(u,0,10,a),stringify:Wt},wp={identify:u=>Du(u)&&u>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(u,l,a)=>Bf(u,2,16,a),stringify:u=>Tp(u,16,"0x")},Xv=[Ci,zi,zu,xu,jf,Ep,Ap,wp,vp,bp,Sp];function vg(u){return typeof u=="bigint"||Number.isInteger(u)}const iu=({value:u})=>JSON.stringify(u),Zv=[{identify:u=>typeof u=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:u=>u,stringify:iu},{identify:u=>u==null,createNode:()=>new ce(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:iu},{identify:u=>typeof u=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:u=>u==="true",stringify:iu},{identify:vg,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(u,l,{intAsBigInt:a})=>a?BigInt(u):parseInt(u,10),stringify:({value:u})=>vg(u)?u.toString():JSON.stringify(u)},{identify:u=>typeof u=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:u=>parseFloat(u),stringify:iu}],Jv={default:!0,tag:"",test:/^/,resolve(u,l){return l(`Unresolved plain scalar ${JSON.stringify(u)}`),u}},Wv=[Ci,zi].concat(Zv,Jv),qf={identify:u=>u instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(u,l){if(typeof atob=="function"){const a=atob(u.replace(/[\n\r]/g,"")),s=new Uint8Array(a.length);for(let c=0;c<a.length;++c)s[c]=a.charCodeAt(c);return s}else return l("This environment does not support reading binary tags; either Buffer or atob is required"),u},stringify({comment:u,type:l,value:a},s,c,o){if(!a)return"";const h=a;let m;if(typeof btoa=="function"){let g="";for(let p=0;p<h.length;++p)g+=String.fromCharCode(h[p]);m=btoa(g)}else throw new Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(l??(l=ce.BLOCK_LITERAL),l!==ce.QUOTE_DOUBLE){const g=Math.max(s.options.lineWidth-s.indent.length,s.options.minContentWidth),p=Math.ceil(m.length/g),T=new Array(p);for(let v=0,_=0;v<p;++v,_+=g)T[v]=m.substr(_,g);m=T.join(l===ce.BLOCK_LITERAL?`
102 -`:" ")}return Ra({comment:u,type:l,value:m},s,c,o)}};function Op(u,l){if(Mi(u))for(let a=0;a<u.items.length;++a){let s=u.items[a];if(!je(s)){if(Ni(s)){s.items.length>1&&l("Each pair must have its own sequence indicator");const c=s.items[0]||new ct(new ce(null));if(s.commentBefore&&(c.key.commentBefore=c.key.commentBefore?`${s.commentBefore}
103 -${c.key.commentBefore}`:s.commentBefore),s.comment){const o=c.value??c.key;o.comment=o.comment?`${s.comment}
104 -${o.comment}`:s.comment}s=c}u.items[a]=je(s)?s:new ct(s)}}else l("Expected a sequence for this tag");return u}function _p(u,l,a){const{replacer:s}=a,c=new Pn(u);c.tag="tag:yaml.org,2002:pairs";let o=0;if(l&&Symbol.iterator in Object(l))for(let h of l){typeof s=="function"&&(h=s.call(l,String(o++),h));let m,g;if(Array.isArray(h))if(h.length===2)m=h[0],g=h[1];else throw new TypeError(`Expected [key, value] tuple: ${h}`);else if(h&&h instanceof Object){const p=Object.keys(h);if(p.length===1)m=p[0],g=h[m];else throw new TypeError(`Expected tuple with one key, not ${p.length} keys`)}else m=h;c.items.push(Rf(m,g,a))}return c}const kf={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:Op,createNode:_p};class Si extends Pn{constructor(){super(),this.add=Lt.prototype.add.bind(this),this.delete=Lt.prototype.delete.bind(this),this.get=Lt.prototype.get.bind(this),this.has=Lt.prototype.has.bind(this),this.set=Lt.prototype.set.bind(this),this.tag=Si.tag}toJSON(l,a){if(!a)return super.toJSON(l);const s=new Map;a!=null&&a.onCreate&&a.onCreate(s);for(const c of this.items){let o,h;if(je(c)?(o=Kt(c.key,"",a),h=Kt(c.value,o,a)):o=Kt(c,"",a),s.has(o))throw new Error("Ordered maps must not include duplicate keys");s.set(o,h)}return s}static from(l,a,s){const c=_p(l,a,s),o=new this;return o.items=c.items,o}}Si.tag="tag:yaml.org,2002:omap";const Hf={collection:"seq",identify:u=>u instanceof Map,nodeClass:Si,default:!1,tag:"tag:yaml.org,2002:omap",resolve(u,l){const a=Op(u,l),s=[];for(const{key:c}of a.items)De(c)&&(s.includes(c.value)?l(`Ordered maps must not include duplicate keys: ${c.value}`):s.push(c.value));return Object.assign(new Si,a)},createNode:(u,l,a)=>Si.from(u,l,a)};function Np({value:u,source:l},a){return l&&(u?Mp:Cp).test.test(l)?l:u?a.options.trueStr:a.options.falseStr}const Mp={identify:u=>u===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new ce(!0),stringify:Np},Cp={identify:u=>u===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new ce(!1),stringify:Np},Fv={identify:u=>typeof u=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:u=>u.slice(-3).toLowerCase()==="nan"?NaN:u[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Wt},Iv={identify:u=>typeof u=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:u=>parseFloat(u.replace(/_/g,"")),stringify(u){const l=Number(u.value);return isFinite(l)?l.toExponential():Wt(u)}},Pv={identify:u=>typeof u=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(u){const l=new ce(parseFloat(u.replace(/_/g,""))),a=u.indexOf(".");if(a!==-1){const s=u.substring(a+1).replace(/_/g,"");s[s.length-1]==="0"&&(l.minFractionDigits=s.length)}return l},stringify:Wt},ja=u=>typeof u=="bigint"||Number.isInteger(u);function Lu(u,l,a,{intAsBigInt:s}){const c=u[0];if((c==="-"||c==="+")&&(l+=1),u=u.substring(l).replace(/_/g,""),s){switch(a){case 2:u=`0b${u}`;break;case 8:u=`0o${u}`;break;case 16:u=`0x${u}`;break}const h=BigInt(u);return c==="-"?BigInt(-1)*h:h}const o=parseInt(u,a);return c==="-"?-1*o:o}function Yf(u,l,a){const{value:s}=u;if(ja(s)){const c=s.toString(l);return s<0?"-"+a+c.substr(1):a+c}return Wt(u)}const eb={identify:ja,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(u,l,a)=>Lu(u,2,2,a),stringify:u=>Yf(u,2,"0b")},tb={identify:ja,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(u,l,a)=>Lu(u,1,8,a),stringify:u=>Yf(u,8,"0")},nb={identify:ja,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(u,l,a)=>Lu(u,0,10,a),stringify:Wt},lb={identify:ja,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(u,l,a)=>Lu(u,2,16,a),stringify:u=>Yf(u,16,"0x")};class Ti extends Lt{constructor(l){super(l),this.tag=Ti.tag}add(l){let a;je(l)?a=l:l&&typeof l=="object"&&"key"in l&&"value"in l&&l.value===null?a=new ct(l.key,null):a=new ct(l,null),El(this.items,a.key)||this.items.push(a)}get(l,a){const s=El(this.items,l);return!a&&je(s)?De(s.key)?s.key.value:s.key:s}set(l,a){if(typeof a!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof a}`);const s=El(this.items,l);s&&!a?this.items.splice(this.items.indexOf(s),1):!s&&a&&this.items.push(new ct(l))}toJSON(l,a){return super.toJSON(l,a,Set)}toString(l,a,s){if(!l)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},l,{allNullValues:!0}),a,s);throw new Error("Set items must all have null values")}static from(l,a,s){const{replacer:c}=s,o=new this(l);if(a&&Symbol.iterator in Object(a))for(let h of a)typeof c=="function"&&(h=c.call(a,h,h)),o.items.push(Rf(h,null,s));return o}}Ti.tag="tag:yaml.org,2002:set";const $f={collection:"map",identify:u=>u instanceof Set,nodeClass:Ti,default:!1,tag:"tag:yaml.org,2002:set",createNode:(u,l,a)=>Ti.from(u,l,a),resolve(u,l){if(Ni(u)){if(u.hasAllNullValues(!0))return Object.assign(new Ti,u);l("Set items must all have null values")}else l("Expected a mapping for this tag");return u}};function Gf(u,l){const a=u[0],s=a==="-"||a==="+"?u.substring(1):u,c=h=>l?BigInt(h):Number(h),o=s.replace(/_/g,"").split(":").reduce((h,m)=>h*c(60)+c(m),c(0));return a==="-"?c(-1)*o:o}function zp(u){let{value:l}=u,a=h=>h;if(typeof l=="bigint")a=h=>BigInt(h);else if(isNaN(l)||!isFinite(l))return Wt(u);let s="";l<0&&(s="-",l*=a(-1));const c=a(60),o=[l%c];return l<60?o.unshift(0):(l=(l-o[0])/c,o.unshift(l%c),l>=60&&(l=(l-o[0])/c,o.unshift(l))),s+o.map(h=>String(h).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}const xp={identify:u=>typeof u=="bigint"||Number.isInteger(u),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(u,l,{intAsBigInt:a})=>Gf(u,a),stringify:zp},Dp={identify:u=>typeof u=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:u=>Gf(u,!1),stringify:zp},Uu={identify:u=>u instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),resolve(u){const l=u.match(Uu.test);if(!l)throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");const[,a,s,c,o,h,m]=l.map(Number),g=l[7]?Number((l[7]+"00").substr(1,3)):0;let p=Date.UTC(a,s-1,c,o||0,h||0,m||0,g);const T=l[8];if(T&&T!=="Z"){let v=Gf(T,!1);Math.abs(v)<30&&(v*=60),p-=6e4*v}return new Date(p)},stringify:({value:u})=>(u==null?void 0:u.toISOString().replace(/(T00:00:00)?\.000Z$/,""))??""},bg=[Ci,zi,zu,xu,Mp,Cp,eb,tb,nb,lb,Fv,Iv,Pv,qf,On,Hf,kf,$f,xp,Dp,Uu],Sg=new Map([["core",Xv],["failsafe",[Ci,zi,zu]],["json",Wv],["yaml11",bg],["yaml-1.1",bg]]),Tg={binary:qf,bool:jf,float:Sp,floatExp:bp,floatNaN:vp,floatTime:Dp,int:Ap,intHex:wp,intOct:Ep,intTime:xp,map:Ci,merge:On,null:xu,omap:Hf,pairs:kf,seq:zi,set:$f,timestamp:Uu},ib={"tag:yaml.org,2002:binary":qf,"tag:yaml.org,2002:merge":On,"tag:yaml.org,2002:omap":Hf,"tag:yaml.org,2002:pairs":kf,"tag:yaml.org,2002:set":$f,"tag:yaml.org,2002:timestamp":Uu};function df(u,l,a){const s=Sg.get(l);if(s&&!u)return a&&!s.includes(On)?s.concat(On):s.slice();let c=s;if(!c)if(Array.isArray(u))c=[];else{const o=Array.from(Sg.keys()).filter(h=>h!=="yaml11").map(h=>JSON.stringify(h)).join(", ");throw new Error(`Unknown schema "${l}"; use one of ${o} or define customTags array`)}if(Array.isArray(u))for(const o of u)c=c.concat(o);else typeof u=="function"&&(c=u(c.slice()));return a&&(c=c.concat(On)),c.reduce((o,h)=>{const m=typeof h=="string"?Tg[h]:h;if(!m){const g=JSON.stringify(h),p=Object.keys(Tg).map(T=>JSON.stringify(T)).join(", ");throw new Error(`Unknown custom tag ${g}; use one of ${p}`)}return o.includes(m)||o.push(m),o},[])}const ab=(u,l)=>u.key<l.key?-1:u.key>l.key?1:0;class Ru{constructor({compat:l,customTags:a,merge:s,resolveKnownTags:c,schema:o,sortMapEntries:h,toStringDefaults:m}){this.compat=Array.isArray(l)?df(l,"compat"):l?df(null,l):null,this.name=typeof o=="string"&&o||"core",this.knownTags=c?ib:{},this.tags=df(a,this.name,s),this.toStringOptions=m??null,Object.defineProperty(this,In,{value:Ci}),Object.defineProperty(this,nn,{value:zu}),Object.defineProperty(this,_i,{value:zi}),this.sortMapEntries=typeof h=="function"?h:h===!0?ab:null}clone(){const l=Object.create(Ru.prototype,Object.getOwnPropertyDescriptors(this));return l.tags=this.tags.slice(),l}}function sb(u,l){var g;const a=[];let s=l.directives===!0;if(l.directives!==!1&&u.directives){const p=u.directives.toString(u);p?(a.push(p),s=!0):u.directives.docStart&&(s=!0)}s&&a.push("---");const c=dp(u,l),{commentString:o}=c.options;if(u.commentBefore){a.length!==1&&a.unshift("");const p=o(u.commentBefore);a.unshift(An(p,""))}let h=!1,m=null;if(u.contents){if(qe(u.contents)){if(u.contents.spaceBefore&&s&&a.push(""),u.contents.commentBefore){const v=o(u.contents.commentBefore);a.push(An(v,""))}c.forceBlockIndent=!!u.comment,m=u.contents.comment}const p=m?void 0:()=>h=!0;let T=Ei(u.contents,c,()=>m=null,p);m&&(T+=Tl(T,"",o(m))),(T[0]==="|"||T[0]===">")&&a[a.length-1]==="---"?a[a.length-1]=`--- ${T}`:a.push(T)}else a.push(Ei(u.contents,c));if((g=u.directives)!=null&&g.docEnd)if(u.comment){const p=o(u.comment);p.includes(`
105 -`)?(a.push("..."),a.push(An(p,""))):a.push(`... ${p}`)}else a.push("...");else{let p=u.comment;p&&h&&(p=p.replace(/^\n+/,"")),p&&((!h||m)&&a[a.length-1]!==""&&a.push(""),a.push(An(o(p),"")))}return a.join(`
106 -`)+`
107 -`}class xi{constructor(l,a,s){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,Vt,{value:Of});let c=null;typeof a=="function"||Array.isArray(a)?c=a:s===void 0&&a&&(s=a,a=void 0);const o=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},s);this.options=o;let{version:h}=o;s!=null&&s._directives?(this.directives=s._directives.atDocument(),this.directives.yaml.explicit&&(h=this.directives.yaml.version)):this.directives=new ot({version:h}),this.setSchema(h,s),this.contents=l===void 0?null:this.createNode(l,c,s)}clone(){const l=Object.create(xi.prototype,{[Vt]:{value:Of}});return l.commentBefore=this.commentBefore,l.comment=this.comment,l.errors=this.errors.slice(),l.warnings=this.warnings.slice(),l.options=Object.assign({},this.options),this.directives&&(l.directives=this.directives.clone()),l.schema=this.schema.clone(),l.contents=qe(this.contents)?this.contents.clone(l.schema):this.contents,this.range&&(l.range=this.range.slice()),l}add(l){hi(this.contents)&&this.contents.add(l)}addIn(l,a){hi(this.contents)&&this.contents.addIn(l,a)}createAlias(l,a){if(!l.anchor){const s=cp(this);l.anchor=!a||s.has(a)?rp(a||"a",s):a}return new _u(l.anchor)}createNode(l,a,s){let c;if(typeof a=="function")l=a.call({"":l},"",l),c=a;else if(Array.isArray(a)){const A=R=>typeof R=="number"||R instanceof String||R instanceof Number,M=a.filter(A).map(String);M.length>0&&(a=a.concat(M)),c=a}else s===void 0&&a&&(s=a,a=void 0);const{aliasDuplicateObjects:o,anchorPrefix:h,flow:m,keepUndefined:g,onTagObj:p,tag:T}=s??{},{onAnchor:v,setAnchors:_,sourceObjects:E}=Uv(this,h||"a"),x={aliasDuplicateObjects:o??!0,keepUndefined:g??!1,onAnchor:v,onTagObj:p,replacer:c,schema:this.schema,sourceObjects:E},b=xa(l,T,x);return m&&Be(b)&&(b.flow=!0),_(),b}createPair(l,a,s={}){const c=this.createNode(l,null,s),o=this.createNode(a,null,s);return new ct(c,o)}delete(l){return hi(this.contents)?this.contents.delete(l):!1}deleteIn(l){return Ca(l)?this.contents==null?!1:(this.contents=null,!0):hi(this.contents)?this.contents.deleteIn(l):!1}get(l,a){return Be(this.contents)?this.contents.get(l,a):void 0}getIn(l,a){return Ca(l)?!a&&De(this.contents)?this.contents.value:this.contents:Be(this.contents)?this.contents.getIn(l,a):void 0}has(l){return Be(this.contents)?this.contents.has(l):!1}hasIn(l){return Ca(l)?this.contents!==void 0:Be(this.contents)?this.contents.hasIn(l):!1}set(l,a){this.contents==null?this.contents=vu(this.schema,[l],a):hi(this.contents)&&this.contents.set(l,a)}setIn(l,a){Ca(l)?this.contents=a:this.contents==null?this.contents=vu(this.schema,Array.from(l),a):hi(this.contents)&&this.contents.setIn(l,a)}setSchema(l,a={}){typeof l=="number"&&(l=String(l));let s;switch(l){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new ot({version:"1.1"}),s={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":this.directives?this.directives.yaml.version=l:this.directives=new ot({version:l}),s={resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,s=null;break;default:{const c=JSON.stringify(l);throw new Error(`Expected '1.1', '1.2' or null as first argument, but found: ${c}`)}}if(a.schema instanceof Object)this.schema=a.schema;else if(s)this.schema=new Ru(Object.assign(s,a));else throw new Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:l,jsonArg:a,mapAsMap:s,maxAliasCount:c,onAnchor:o,reviver:h}={}){const m={anchors:new Map,doc:this,keep:!l,mapAsMap:s===!0,mapKeyWarned:!1,maxAliasCount:typeof c=="number"?c:100},g=Kt(this.contents,a??"",m);if(typeof o=="function")for(const{count:p,res:T}of m.anchors.values())o(T,p);return typeof h=="function"?vi(h,{"":g},"",g):g}toJSON(l,a){return this.toJS({json:!0,jsonArg:l,mapAsMap:!1,onAnchor:a})}toString(l={}){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");if("indent"in l&&(!Number.isInteger(l.indent)||Number(l.indent)<=0)){const a=JSON.stringify(l.indent);throw new Error(`"indent" option must be a positive integer, not ${a}`)}return sb(this,l)}}function hi(u){if(Be(u))return!0;throw new Error("Expected a YAML collection as document contents")}class Kf extends Error{constructor(l,a,s,c){super(),this.name=l,this.code=s,this.message=c,this.pos=a}}class Al extends Kf{constructor(l,a,s){super("YAMLParseError",l,a,s)}}class Lp extends Kf{constructor(l,a,s){super("YAMLWarning",l,a,s)}}const Su=(u,l)=>a=>{if(a.pos[0]===-1)return;a.linePos=a.pos.map(m=>l.linePos(m));const{line:s,col:c}=a.linePos[0];a.message+=` at line ${s}, column ${c}`;let o=c-1,h=u.substring(l.lineStarts[s-1],l.lineStarts[s]).replace(/[\n\r]+$/,"");if(o>=60&&h.length>80){const m=Math.min(o-39,h.length-79);h="…"+h.substring(m),o-=m-1}if(h.length>80&&(h=h.substring(0,79)+"…"),s>1&&/^ *$/.test(h.substring(0,o))){let m=u.substring(l.lineStarts[s-2],l.lineStarts[s-1]);m.length>80&&(m=m.substring(0,79)+`…
108 -`),h=m+h}if(/[^ ]/.test(h)){let m=1;const g=a.linePos[1];(g==null?void 0:g.line)===s&&g.col>c&&(m=Math.max(1,Math.min(g.col-c,80-o)));const p=" ".repeat(o)+"^".repeat(m);a.message+=`:
109 -
110 -${h}
111 -${p}
112 -`}};function Ai(u,{flow:l,indicator:a,next:s,offset:c,onError:o,parentIndent:h,startOnNewline:m}){let g=!1,p=m,T=m,v="",_="",E=!1,x=!1,b=null,A=null,M=null,R=null,G=null,Q=null,Z=null;for(const V of u)switch(x&&(V.type!=="space"&&V.type!=="newline"&&V.type!=="comma"&&o(V.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),x=!1),b&&(p&&V.type!=="comment"&&V.type!=="newline"&&o(b,"TAB_AS_INDENT","Tabs are not allowed as indentation"),b=null),V.type){case"space":!l&&(a!=="doc-start"||(s==null?void 0:s.type)!=="flow-collection")&&V.source.includes(" ")&&(b=V),T=!0;break;case"comment":{T||o(V,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");const U=V.source.substring(1)||" ";v?v+=_+U:v=U,_="",p=!1;break}case"newline":p?v?v+=V.source:(!Q||a!=="seq-item-ind")&&(g=!0):_+=V.source,p=!0,E=!0,(A||M)&&(R=V),T=!0;break;case"anchor":A&&o(V,"MULTIPLE_ANCHORS","A node can have at most one anchor"),V.source.endsWith(":")&&o(V.offset+V.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),A=V,Z??(Z=V.offset),p=!1,T=!1,x=!0;break;case"tag":{M&&o(V,"MULTIPLE_TAGS","A node can have at most one tag"),M=V,Z??(Z=V.offset),p=!1,T=!1,x=!0;break}case a:(A||M)&&o(V,"BAD_PROP_ORDER",`Anchors and tags must be after the ${V.source} indicator`),Q&&o(V,"UNEXPECTED_TOKEN",`Unexpected ${V.source} in ${l??"collection"}`),Q=V,p=a==="seq-item-ind"||a==="explicit-key-ind",T=!1;break;case"comma":if(l){G&&o(V,"UNEXPECTED_TOKEN",`Unexpected , in ${l}`),G=V,p=!1,T=!1;break}default:o(V,"UNEXPECTED_TOKEN",`Unexpected ${V.type} token`),p=!1,T=!1}const W=u[u.length-1],q=W?W.offset+W.source.length:c;return x&&s&&s.type!=="space"&&s.type!=="newline"&&s.type!=="comma"&&(s.type!=="scalar"||s.source!=="")&&o(s.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),b&&(p&&b.indent<=h||(s==null?void 0:s.type)==="block-map"||(s==null?void 0:s.type)==="block-seq")&&o(b,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:G,found:Q,spaceBefore:g,comment:v,hasNewline:E,anchor:A,tag:M,newlineAfterProp:R,end:q,start:Z??q}}function Da(u){if(!u)return null;switch(u.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(u.source.includes(`
113 -`))return!0;if(u.end){for(const l of u.end)if(l.type==="newline")return!0}return!1;case"flow-collection":for(const l of u.items){for(const a of l.start)if(a.type==="newline")return!0;if(l.sep){for(const a of l.sep)if(a.type==="newline")return!0}if(Da(l.key)||Da(l.value))return!0}return!1;default:return!0}}function Cf(u,l,a){if((l==null?void 0:l.type)==="flow-collection"){const s=l.end[0];s.indent===u&&(s.source==="]"||s.source==="}")&&Da(l)&&a(s,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}function Up(u,l,a){const{uniqueKeys:s}=u.options;if(s===!1)return!1;const c=typeof s=="function"?s:(o,h)=>o===h||De(o)&&De(h)&&o.value===h.value;return l.some(o=>c(o.key,a))}const Eg="All mapping items must start at the same column";function ub({composeNode:u,composeEmptyNode:l},a,s,c,o){var T;const h=(o==null?void 0:o.nodeClass)??Lt,m=new h(a.schema);a.atRoot&&(a.atRoot=!1);let g=s.offset,p=null;for(const v of s.items){const{start:_,key:E,sep:x,value:b}=v,A=Ai(_,{indicator:"explicit-key-ind",next:E??(x==null?void 0:x[0]),offset:g,onError:c,parentIndent:s.indent,startOnNewline:!0}),M=!A.found;if(M){if(E&&(E.type==="block-seq"?c(g,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in E&&E.indent!==s.indent&&c(g,"BAD_INDENT",Eg)),!A.anchor&&!A.tag&&!x){p=A.end,A.comment&&(m.comment?m.comment+=`
114 -`+A.comment:m.comment=A.comment);continue}(A.newlineAfterProp||Da(E))&&c(E??_[_.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else((T=A.found)==null?void 0:T.indent)!==s.indent&&c(g,"BAD_INDENT",Eg);a.atKey=!0;const R=A.end,G=E?u(a,E,A,c):l(a,R,_,null,A,c);a.schema.compat&&Cf(s.indent,E,c),a.atKey=!1,Up(a,m.items,G)&&c(R,"DUPLICATE_KEY","Map keys must be unique");const Q=Ai(x??[],{indicator:"map-value-ind",next:b,offset:G.range[2],onError:c,parentIndent:s.indent,startOnNewline:!E||E.type==="block-scalar"});if(g=Q.end,Q.found){M&&((b==null?void 0:b.type)==="block-map"&&!Q.hasNewline&&c(g,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),a.options.strict&&A.start<Q.found.offset-1024&&c(G.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key"));const Z=b?u(a,b,Q,c):l(a,g,x,null,Q,c);a.schema.compat&&Cf(s.indent,b,c),g=Z.range[2];const W=new ct(G,Z);a.options.keepSourceTokens&&(W.srcToken=v),m.items.push(W)}else{M&&c(G.range,"MISSING_CHAR","Implicit map keys need to be followed by map values"),Q.comment&&(G.comment?G.comment+=`
115 -`+Q.comment:G.comment=Q.comment);const Z=new ct(G);a.options.keepSourceTokens&&(Z.srcToken=v),m.items.push(Z)}}return p&&p<g&&c(p,"IMPOSSIBLE","Map comment with trailing content"),m.range=[s.offset,g,p??g],m}function cb({composeNode:u,composeEmptyNode:l},a,s,c,o){const h=(o==null?void 0:o.nodeClass)??Pn,m=new h(a.schema);a.atRoot&&(a.atRoot=!1),a.atKey&&(a.atKey=!1);let g=s.offset,p=null;for(const{start:T,value:v}of s.items){const _=Ai(T,{indicator:"seq-item-ind",next:v,offset:g,onError:c,parentIndent:s.indent,startOnNewline:!0});if(!_.found)if(_.anchor||_.tag||v)(v==null?void 0:v.type)==="block-seq"?c(_.end,"BAD_INDENT","All sequence items must start at the same column"):c(g,"MISSING_CHAR","Sequence item without - indicator");else{p=_.end,_.comment&&(m.comment=_.comment);continue}const E=v?u(a,v,_,c):l(a,_.end,T,null,_,c);a.schema.compat&&Cf(s.indent,v,c),g=E.range[2],m.items.push(E)}return m.range=[s.offset,g,p??g],m}function Ba(u,l,a,s){let c="";if(u){let o=!1,h="";for(const m of u){const{source:g,type:p}=m;switch(p){case"space":o=!0;break;case"comment":{a&&!o&&s(m,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");const T=g.substring(1)||" ";c?c+=h+T:c=T,h="";break}case"newline":c&&(h+=g),o=!0;break;default:s(m,"UNEXPECTED_TOKEN",`Unexpected ${p} at node end`)}l+=g.length}}return{comment:c,offset:l}}const mf="Block collections are not allowed within flow collections",gf=u=>u&&(u.type==="block-map"||u.type==="block-seq");function rb({composeNode:u,composeEmptyNode:l},a,s,c,o){var A;const h=s.start.source==="{",m=h?"flow map":"flow sequence",g=(o==null?void 0:o.nodeClass)??(h?Lt:Pn),p=new g(a.schema);p.flow=!0;const T=a.atRoot;T&&(a.atRoot=!1),a.atKey&&(a.atKey=!1);let v=s.offset+s.start.source.length;for(let M=0;M<s.items.length;++M){const R=s.items[M],{start:G,key:Q,sep:Z,value:W}=R,q=Ai(G,{flow:m,indicator:"explicit-key-ind",next:Q??(Z==null?void 0:Z[0]),offset:v,onError:c,parentIndent:s.indent,startOnNewline:!1});if(!q.found){if(!q.anchor&&!q.tag&&!Z&&!W){M===0&&q.comma?c(q.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${m}`):M<s.items.length-1&&c(q.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${m}`),q.comment&&(p.comment?p.comment+=`
116 -`+q.comment:p.comment=q.comment),v=q.end;continue}!h&&a.options.strict&&Da(Q)&&c(Q,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(M===0)q.comma&&c(q.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${m}`);else if(q.comma||c(q.start,"MISSING_CHAR",`Missing , between ${m} items`),q.comment){let V="";e:for(const U of G)switch(U.type){case"comma":case"space":break;case"comment":V=U.source.substring(1);break e;default:break e}if(V){let U=p.items[p.items.length-1];je(U)&&(U=U.value??U.key),U.comment?U.comment+=`
117 -`+V:U.comment=V,q.comment=q.comment.substring(V.length+1)}}if(!h&&!Z&&!q.found){const V=W?u(a,W,q,c):l(a,q.end,Z,null,q,c);p.items.push(V),v=V.range[2],gf(W)&&c(V.range,"BLOCK_IN_FLOW",mf)}else{a.atKey=!0;const V=q.end,U=Q?u(a,Q,q,c):l(a,V,G,null,q,c);gf(Q)&&c(U.range,"BLOCK_IN_FLOW",mf),a.atKey=!1;const ae=Ai(Z??[],{flow:m,indicator:"map-value-ind",next:W,offset:U.range[2],onError:c,parentIndent:s.indent,startOnNewline:!1});if(ae.found){if(!h&&!q.found&&a.options.strict){if(Z)for(const ee of Z){if(ee===ae.found)break;if(ee.type==="newline"){c(ee,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}q.start<ae.found.offset-1024&&c(ae.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else W&&("source"in W&&((A=W.source)==null?void 0:A[0])===":"?c(W,"MISSING_CHAR",`Missing space after : in ${m}`):c(ae.start,"MISSING_CHAR",`Missing , or : between ${m} items`));const te=W?u(a,W,ae,c):ae.found?l(a,ae.end,Z,null,ae,c):null;te?gf(W)&&c(te.range,"BLOCK_IN_FLOW",mf):ae.comment&&(U.comment?U.comment+=`
118 -`+ae.comment:U.comment=ae.comment);const $=new ct(U,te);if(a.options.keepSourceTokens&&($.srcToken=R),h){const ee=p;Up(a,ee.items,U)&&c(V,"DUPLICATE_KEY","Map keys must be unique"),ee.items.push($)}else{const ee=new Lt(a.schema);ee.flow=!0,ee.items.push($);const Ae=(te??U).range;ee.range=[U.range[0],Ae[1],Ae[2]],p.items.push(ee)}v=te?te.range[2]:ae.end}}const _=h?"}":"]",[E,...x]=s.end;let b=v;if((E==null?void 0:E.source)===_)b=E.offset+E.source.length;else{const M=m[0].toUpperCase()+m.substring(1),R=T?`${M} must end with a ${_}`:`${M} in block collection must be sufficiently indented and end with a ${_}`;c(v,T?"MISSING_CHAR":"BAD_INDENT",R),E&&E.source.length!==1&&x.unshift(E)}if(x.length>0){const M=Ba(x,b,a.options.strict,c);M.comment&&(p.comment?p.comment+=`
119 -`+M.comment:p.comment=M.comment),p.range=[s.offset,b,M.offset]}else p.range=[s.offset,b,b];return p}function pf(u,l,a,s,c,o){const h=a.type==="block-map"?ub(u,l,a,s,o):a.type==="block-seq"?cb(u,l,a,s,o):rb(u,l,a,s,o),m=h.constructor;return c==="!"||c===m.tagName?(h.tag=m.tagName,h):(c&&(h.tag=c),h)}function fb(u,l,a,s,c){var _;const o=s.tag,h=o?l.directives.tagName(o.source,E=>c(o,"TAG_RESOLVE_FAILED",E)):null;if(a.type==="block-seq"){const{anchor:E,newlineAfterProp:x}=s,b=E&&o?E.offset>o.offset?E:o:E??o;b&&(!x||x.offset<b.offset)&&c(b,"MISSING_CHAR","Missing newline after block sequence props")}const m=a.type==="block-map"?"map":a.type==="block-seq"?"seq":a.start.source==="{"?"map":"seq";if(!o||!h||h==="!"||h===Lt.tagName&&m==="map"||h===Pn.tagName&&m==="seq")return pf(u,l,a,c,h);let g=l.schema.tags.find(E=>E.tag===h&&E.collection===m);if(!g){const E=l.schema.knownTags[h];if((E==null?void 0:E.collection)===m)l.schema.tags.push(Object.assign({},E,{default:!1})),g=E;else return E?c(o,"BAD_COLLECTION_TYPE",`${E.tag} used for ${m} collection, but expects ${E.collection??"scalar"}`,!0):c(o,"TAG_RESOLVE_FAILED",`Unresolved tag: ${h}`,!0),pf(u,l,a,c,h)}const p=pf(u,l,a,c,h,g),T=((_=g.resolve)==null?void 0:_.call(g,p,E=>c(o,"TAG_RESOLVE_FAILED",E),l.options))??p,v=qe(T)?T:new ce(T);return v.range=p.range,v.tag=h,g!=null&&g.format&&(v.format=g.format),v}function Rp(u,l,a){const s=l.offset,c=ob(l,u.options.strict,a);if(!c)return{value:"",type:null,comment:"",range:[s,s,s]};const o=c.mode===">"?ce.BLOCK_FOLDED:ce.BLOCK_LITERAL,h=l.source?hb(l.source):[];let m=h.length;for(let b=h.length-1;b>=0;--b){const A=h[b][1];if(A===""||A==="\r")m=b;else break}if(m===0){const b=c.chomp==="+"&&h.length>0?`
120 -`.repeat(Math.max(1,h.length-1)):"";let A=s+c.length;return l.source&&(A+=l.source.length),{value:b,type:o,comment:c.comment,range:[s,A,A]}}let g=l.indent+c.indent,p=l.offset+c.length,T=0;for(let b=0;b<m;++b){const[A,M]=h[b];if(M===""||M==="\r")c.indent===0&&A.length>g&&(g=A.length);else{A.length<g&&a(p+A.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator"),c.indent===0&&(g=A.length),T=b,g===0&&!u.atRoot&&a(p,"BAD_INDENT","Block scalar values in collections must be indented");break}p+=A.length+M.length+1}for(let b=h.length-1;b>=m;--b)h[b][0].length>g&&(m=b+1);let v="",_="",E=!1;for(let b=0;b<T;++b)v+=h[b][0].slice(g)+`
121 -`;for(let b=T;b<m;++b){let[A,M]=h[b];p+=A.length+M.length+1;const R=M[M.length-1]==="\r";if(R&&(M=M.slice(0,-1)),M&&A.length<g){const Q=`Block scalar lines must not be less indented than their ${c.indent?"explicit indentation indicator":"first line"}`;a(p-M.length-(R?2:1),"BAD_INDENT",Q),A=""}o===ce.BLOCK_LITERAL?(v+=_+A.slice(g)+M,_=`
122 -`):A.length>g||M[0]===" "?(_===" "?_=`
123 -`:!E&&_===`
124 -`&&(_=`
125 -
126 -`),v+=_+A.slice(g)+M,_=`
127 -`,E=!0):M===""?_===`
128 -`?v+=`
129 -`:_=`
130 -`:(v+=_+M,_=" ",E=!1)}switch(c.chomp){case"-":break;case"+":for(let b=m;b<h.length;++b)v+=`
131 -`+h[b][0].slice(g);v[v.length-1]!==`
132 -`&&(v+=`
133 -`);break;default:v+=`
134 -`}const x=s+c.length+l.source.length;return{value:v,type:o,comment:c.comment,range:[s,x,x]}}function ob({offset:u,props:l},a,s){if(l[0].type!=="block-scalar-header")return s(l[0],"IMPOSSIBLE","Block scalar header not found"),null;const{source:c}=l[0],o=c[0];let h=0,m="",g=-1;for(let _=1;_<c.length;++_){const E=c[_];if(!m&&(E==="-"||E==="+"))m=E;else{const x=Number(E);!h&&x?h=x:g===-1&&(g=u+_)}}g!==-1&&s(g,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${c}`);let p=!1,T="",v=c.length;for(let _=1;_<l.length;++_){const E=l[_];switch(E.type){case"space":p=!0;case"newline":v+=E.source.length;break;case"comment":a&&!p&&s(E,"MISSING_CHAR","Comments must be separated from other tokens by white space characters"),v+=E.source.length,T=E.source.substring(1);break;case"error":s(E,"UNEXPECTED_TOKEN",E.message),v+=E.source.length;break;default:{const x=`Unexpected token in block scalar header: ${E.type}`;s(E,"UNEXPECTED_TOKEN",x);const b=E.source;b&&typeof b=="string"&&(v+=b.length)}}}return{mode:o,indent:h,chomp:m,comment:T,length:v}}function hb(u){const l=u.split(/\n( *)/),a=l[0],s=a.match(/^( *)/),o=[s!=null&&s[1]?[s[1],a.slice(s[1].length)]:["",a]];for(let h=1;h<l.length;h+=2)o.push([l[h],l[h+1]]);return o}function jp(u,l,a){const{offset:s,type:c,source:o,end:h}=u;let m,g;const p=(_,E,x)=>a(s+_,E,x);switch(c){case"scalar":m=ce.PLAIN,g=db(o,p);break;case"single-quoted-scalar":m=ce.QUOTE_SINGLE,g=mb(o,p);break;case"double-quoted-scalar":m=ce.QUOTE_DOUBLE,g=gb(o,p);break;default:return a(u,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${c}`),{value:"",type:null,comment:"",range:[s,s+o.length,s+o.length]}}const T=s+o.length,v=Ba(h,T,l,a);return{value:g,type:m,comment:v.comment,range:[s,T,v.offset]}}function db(u,l){let a="";switch(u[0]){case" ":a="a tab character";break;case",":a="flow indicator character ,";break;case"%":a="directive indicator character %";break;case"|":case">":{a=`block scalar indicator ${u[0]}`;break}case"@":case"`":{a=`reserved character ${u[0]}`;break}}return a&&l(0,"BAD_SCALAR_START",`Plain value cannot start with ${a}`),Bp(u)}function mb(u,l){return(u[u.length-1]!=="'"||u.length===1)&&l(u.length,"MISSING_CHAR","Missing closing 'quote"),Bp(u.slice(1,-1)).replace(/''/g,"'")}function Bp(u){let l,a;try{l=new RegExp(`(.*?)(?<![ ])[ ]*\r?
135 -`,"sy"),a=new RegExp(`[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?
136 -`,"sy")}catch{l=/(.*?)[ \t]*\r?\n/sy,a=/[ \t]*(.*?)[ \t]*\r?\n/sy}let s=l.exec(u);if(!s)return u;let c=s[1],o=" ",h=l.lastIndex;for(a.lastIndex=h;s=a.exec(u);)s[1]===""?o===`
137 -`?c+=o:o=`
138 -`:(c+=o+s[1],o=" "),h=a.lastIndex;const m=/[ \t]*(.*)/sy;return m.lastIndex=h,s=m.exec(u),c+o+((s==null?void 0:s[1])??"")}function gb(u,l){let a="";for(let s=1;s<u.length-1;++s){const c=u[s];if(!(c==="\r"&&u[s+1]===`
139 -`))if(c===`
140 -`){const{fold:o,offset:h}=pb(u,s);a+=o,s=h}else if(c==="\\"){let o=u[++s];const h=yb[o];if(h)a+=h;else if(o===`
141 -`)for(o=u[s+1];o===" "||o===" ";)o=u[++s+1];else if(o==="\r"&&u[s+1]===`
142 -`)for(o=u[++s+1];o===" "||o===" ";)o=u[++s+1];else if(o==="x"||o==="u"||o==="U"){const m={x:2,u:4,U:8}[o];a+=vb(u,s+1,m,l),s+=m}else{const m=u.substr(s-1,2);l(s-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${m}`),a+=m}}else if(c===" "||c===" "){const o=s;let h=u[s+1];for(;h===" "||h===" ";)h=u[++s+1];h!==`
143 -`&&!(h==="\r"&&u[s+2]===`
144 -`)&&(a+=s>o?u.slice(o,s+1):c)}else a+=c}return(u[u.length-1]!=='"'||u.length===1)&&l(u.length,"MISSING_CHAR",'Missing closing "quote'),a}function pb(u,l){let a="",s=u[l+1];for(;(s===" "||s===" "||s===`
145 -`||s==="\r")&&!(s==="\r"&&u[l+2]!==`
146 -`);)s===`
147 -`&&(a+=`
148 -`),l+=1,s=u[l+1];return a||(a=" "),{fold:a,offset:l}}const yb={0:"\0",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
149 -`,r:"\r",t:" ",v:"\v",N:"…",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function vb(u,l,a,s){const c=u.substr(l,a),h=c.length===a&&/^[0-9a-fA-F]+$/.test(c)?parseInt(c,16):NaN;if(isNaN(h)){const m=u.substr(l-2,a+2);return s(l-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${m}`),m}return String.fromCodePoint(h)}function qp(u,l,a,s){const{value:c,type:o,comment:h,range:m}=l.type==="block-scalar"?Rp(u,l,s):jp(l,u.options.strict,s),g=a?u.directives.tagName(a.source,v=>s(a,"TAG_RESOLVE_FAILED",v)):null;let p;u.options.stringKeys&&u.atKey?p=u.schema[nn]:g?p=bb(u.schema,c,g,a,s):l.type==="scalar"?p=Sb(u,c,l,s):p=u.schema[nn];let T;try{const v=p.resolve(c,_=>s(a??l,"TAG_RESOLVE_FAILED",_),u.options);T=De(v)?v:new ce(v)}catch(v){const _=v instanceof Error?v.message:String(v);s(a??l,"TAG_RESOLVE_FAILED",_),T=new ce(c)}return T.range=m,T.source=c,o&&(T.type=o),g&&(T.tag=g),p.format&&(T.format=p.format),h&&(T.comment=h),T}function bb(u,l,a,s,c){var m;if(a==="!")return u[nn];const o=[];for(const g of u.tags)if(!g.collection&&g.tag===a)if(g.default&&g.test)o.push(g);else return g;for(const g of o)if((m=g.test)!=null&&m.test(l))return g;const h=u.knownTags[a];return h&&!h.collection?(u.tags.push(Object.assign({},h,{default:!1,test:void 0})),h):(c(s,"TAG_RESOLVE_FAILED",`Unresolved tag: ${a}`,a!=="tag:yaml.org,2002:str"),u[nn])}function Sb({atKey:u,directives:l,schema:a},s,c,o){const h=a.tags.find(m=>{var g;return(m.default===!0||u&&m.default==="key")&&((g=m.test)==null?void 0:g.test(s))})||a[nn];if(a.compat){const m=a.compat.find(g=>{var p;return g.default&&((p=g.test)==null?void 0:p.test(s))})??a[nn];if(h.tag!==m.tag){const g=l.tagString(h.tag),p=l.tagString(m.tag),T=`Value may be parsed as either ${g} or ${p}`;o(c,"TAG_RESOLVE_FAILED",T,!0)}}return h}function Tb(u,l,a){if(l){a??(a=l.length);for(let s=a-1;s>=0;--s){let c=l[s];switch(c.type){case"space":case"comment":case"newline":u-=c.source.length;continue}for(c=l[++s];(c==null?void 0:c.type)==="space";)u+=c.source.length,c=l[++s];break}}return u}const Eb={composeNode:kp,composeEmptyNode:Vf};function kp(u,l,a,s){const c=u.atKey,{spaceBefore:o,comment:h,anchor:m,tag:g}=a;let p,T=!0;switch(l.type){case"alias":p=Ab(u,l,s),(m||g)&&s(l,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":p=qp(u,l,g,s),m&&(p.anchor=m.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":try{p=fb(Eb,u,l,a,s),m&&(p.anchor=m.source.substring(1))}catch(v){const _=v instanceof Error?v.message:String(v);s(l,"RESOURCE_EXHAUSTION",_)}break;default:{const v=l.type==="error"?l.message:`Unsupported token (type: ${l.type})`;s(l,"UNEXPECTED_TOKEN",v),T=!1}}return p??(p=Vf(u,l.offset,void 0,null,a,s)),m&&p.anchor===""&&s(m,"BAD_ALIAS","Anchor cannot be an empty string"),c&&u.options.stringKeys&&(!De(p)||typeof p.value!="string"||p.tag&&p.tag!=="tag:yaml.org,2002:str")&&s(g??l,"NON_STRING_KEY","With stringKeys, all keys must be strings"),o&&(p.spaceBefore=!0),h&&(l.type==="scalar"&&l.source===""?p.comment=h:p.commentBefore=h),u.options.keepSourceTokens&&T&&(p.srcToken=l),p}function Vf(u,l,a,s,{spaceBefore:c,comment:o,anchor:h,tag:m,end:g},p){const T={type:"scalar",offset:Tb(l,a,s),indent:-1,source:""},v=qp(u,T,m,p);return h&&(v.anchor=h.source.substring(1),v.anchor===""&&p(h,"BAD_ALIAS","Anchor cannot be an empty string")),c&&(v.spaceBefore=!0),o&&(v.comment=o,v.range[2]=g),v}function Ab({options:u},{offset:l,source:a,end:s},c){const o=new _u(a.substring(1));o.source===""&&c(l,"BAD_ALIAS","Alias cannot be an empty string"),o.source.endsWith(":")&&c(l+a.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);const h=l+a.length,m=Ba(s,h,u.strict,c);return o.range=[l,h,m.offset],m.comment&&(o.comment=m.comment),o}function wb(u,l,{offset:a,start:s,value:c,end:o},h){const m=Object.assign({_directives:l},u),g=new xi(void 0,m),p={atKey:!1,atRoot:!0,directives:g.directives,options:g.options,schema:g.schema},T=Ai(s,{indicator:"doc-start",next:c??(o==null?void 0:o[0]),offset:a,onError:h,parentIndent:0,startOnNewline:!0});T.found&&(g.directives.docStart=!0,c&&(c.type==="block-map"||c.type==="block-seq")&&!T.hasNewline&&h(T.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),g.contents=c?kp(p,c,T,h):Vf(p,T.end,s,null,T,h);const v=g.contents.range[2],_=Ba(o,v,!1,h);return _.comment&&(g.comment=_.comment),g.range=[a,v,_.offset],g}function Ma(u){if(typeof u=="number")return[u,u+1];if(Array.isArray(u))return u.length===2?u:[u[0],u[1]];const{offset:l,source:a}=u;return[l,l+(typeof a=="string"?a.length:1)]}function Ag(u){var c;let l="",a=!1,s=!1;for(let o=0;o<u.length;++o){const h=u[o];switch(h[0]){case"#":l+=(l===""?"":s?`
150 -
151 -`:`
152 -`)+(h.substring(1)||" "),a=!0,s=!1;break;case"%":((c=u[o+1])==null?void 0:c[0])!=="#"&&(o+=1),a=!1;break;default:a||(s=!0),a=!1}}return{comment:l,afterEmptyLine:s}}class Qf{constructor(l={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(a,s,c,o)=>{const h=Ma(a);o?this.warnings.push(new Lp(h,s,c)):this.errors.push(new Al(h,s,c))},this.directives=new ot({version:l.version||"1.2"}),this.options=l}decorate(l,a){const{comment:s,afterEmptyLine:c}=Ag(this.prelude);if(s){const o=l.contents;if(a)l.comment=l.comment?`${l.comment}
153 -${s}`:s;else if(c||l.directives.docStart||!o)l.commentBefore=s;else if(Be(o)&&!o.flow&&o.items.length>0){let h=o.items[0];je(h)&&(h=h.key);const m=h.commentBefore;h.commentBefore=m?`${s}
154 -${m}`:s}else{const h=o.commentBefore;o.commentBefore=h?`${s}
155 -${h}`:s}}a?(Array.prototype.push.apply(l.errors,this.errors),Array.prototype.push.apply(l.warnings,this.warnings)):(l.errors=this.errors,l.warnings=this.warnings),this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:Ag(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(l,a=!1,s=-1){for(const c of l)yield*this.next(c);yield*this.end(a,s)}*next(l){switch(l.type){case"directive":this.directives.add(l.source,(a,s,c)=>{const o=Ma(l);o[0]+=a,this.onError(o,"BAD_DIRECTIVE",s,c)}),this.prelude.push(l.source),this.atDirectives=!0;break;case"document":{const a=wb(this.options,this.directives,l,this.onError);this.atDirectives&&!a.directives.docStart&&this.onError(l,"MISSING_CHAR","Missing directives-end/doc-start indicator line"),this.decorate(a,!1),this.doc&&(yield this.doc),this.doc=a,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(l.source);break;case"error":{const a=l.source?`${l.message}: ${JSON.stringify(l.source)}`:l.message,s=new Al(Ma(l),"UNEXPECTED_TOKEN",a);this.atDirectives||!this.doc?this.errors.push(s):this.doc.errors.push(s);break}case"doc-end":{if(!this.doc){const s="Unexpected doc-end without preceding document";this.errors.push(new Al(Ma(l),"UNEXPECTED_TOKEN",s));break}this.doc.directives.docEnd=!0;const a=Ba(l.end,l.offset+l.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),a.comment){const s=this.doc.comment;this.doc.comment=s?`${s}
156 -${a.comment}`:a.comment}this.doc.range[2]=a.offset;break}default:this.errors.push(new Al(Ma(l),"UNEXPECTED_TOKEN",`Unsupported token ${l.type}`))}}*end(l=!1,a=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(l){const s=Object.assign({_directives:this.directives},this.options),c=new xi(void 0,s);this.atDirectives&&this.onError(a,"MISSING_CHAR","Missing directives-end indicator line"),c.range=[0,a,a],this.decorate(c,!1),yield c}}}function Ob(u,l=!0,a){if(u){const s=(c,o,h)=>{const m=typeof c=="number"?c:Array.isArray(c)?c[0]:c.offset;if(a)a(m,o,h);else throw new Al([m,m+1],o,h)};switch(u.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return jp(u,l,s);case"block-scalar":return Rp({options:{strict:l}},u,s)}}return null}function _b(u,l){const{implicitKey:a=!1,indent:s,inFlow:c=!1,offset:o=-1,type:h="PLAIN"}=l,m=Ra({type:h,value:u},{implicitKey:a,indent:s>0?" ".repeat(s):"",inFlow:c,options:{blockQuote:!0,lineWidth:-1}}),g=l.end??[{type:"newline",offset:-1,indent:s,source:`
157 -`}];switch(m[0]){case"|":case">":{const p=m.indexOf(`
158 -`),T=m.substring(0,p),v=m.substring(p+1)+`
159 -`,_=[{type:"block-scalar-header",offset:o,indent:s,source:T}];return Hp(_,g)||_.push({type:"newline",offset:-1,indent:s,source:`
160 -`}),{type:"block-scalar",offset:o,indent:s,props:_,source:v}}case'"':return{type:"double-quoted-scalar",offset:o,indent:s,source:m,end:g};case"'":return{type:"single-quoted-scalar",offset:o,indent:s,source:m,end:g};default:return{type:"scalar",offset:o,indent:s,source:m,end:g}}}function Nb(u,l,a={}){let{afterKey:s=!1,implicitKey:c=!1,inFlow:o=!1,type:h}=a,m="indent"in u?u.indent:null;if(s&&typeof m=="number"&&(m+=2),!h)switch(u.type){case"single-quoted-scalar":h="QUOTE_SINGLE";break;case"double-quoted-scalar":h="QUOTE_DOUBLE";break;case"block-scalar":{const p=u.props[0];if(p.type!=="block-scalar-header")throw new Error("Invalid block scalar header");h=p.source[0]===">"?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:h="PLAIN"}const g=Ra({type:h,value:l},{implicitKey:c||m===null,indent:m!==null&&m>0?" ".repeat(m):"",inFlow:o,options:{blockQuote:!0,lineWidth:-1}});switch(g[0]){case"|":case">":Mb(u,g);break;case'"':yf(u,g,"double-quoted-scalar");break;case"'":yf(u,g,"single-quoted-scalar");break;default:yf(u,g,"scalar")}}function Mb(u,l){const a=l.indexOf(`
161 -`),s=l.substring(0,a),c=l.substring(a+1)+`
162 -`;if(u.type==="block-scalar"){const o=u.props[0];if(o.type!=="block-scalar-header")throw new Error("Invalid block scalar header");o.source=s,u.source=c}else{const{offset:o}=u,h="indent"in u?u.indent:-1,m=[{type:"block-scalar-header",offset:o,indent:h,source:s}];Hp(m,"end"in u?u.end:void 0)||m.push({type:"newline",offset:-1,indent:h,source:`
163 -`});for(const g of Object.keys(u))g!=="type"&&g!=="offset"&&delete u[g];Object.assign(u,{type:"block-scalar",indent:h,props:m,source:c})}}function Hp(u,l){if(l)for(const a of l)switch(a.type){case"space":case"comment":u.push(a);break;case"newline":return u.push(a),!0}return!1}function yf(u,l,a){switch(u.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":u.type=a,u.source=l;break;case"block-scalar":{const s=u.props.slice(1);let c=l.length;u.props[0].type==="block-scalar-header"&&(c-=u.props[0].source.length);for(const o of s)o.offset+=c;delete u.props,Object.assign(u,{type:a,source:l,end:s});break}case"block-map":case"block-seq":{const c={type:"newline",offset:u.offset+l.length,indent:u.indent,source:`
164 -`};delete u.items,Object.assign(u,{type:a,source:l,end:[c]});break}default:{const s="indent"in u?u.indent:-1,c="end"in u&&Array.isArray(u.end)?u.end.filter(o=>o.type==="space"||o.type==="comment"||o.type==="newline"):[];for(const o of Object.keys(u))o!=="type"&&o!=="offset"&&delete u[o];Object.assign(u,{type:a,indent:s,source:l,end:c})}}}const Cb=u=>"type"in u?Tu(u):gu(u);function Tu(u){switch(u.type){case"block-scalar":{let l="";for(const a of u.props)l+=Tu(a);return l+u.source}case"block-map":case"block-seq":{let l="";for(const a of u.items)l+=gu(a);return l}case"flow-collection":{let l=u.start.source;for(const a of u.items)l+=gu(a);for(const a of u.end)l+=a.source;return l}case"document":{let l=gu(u);if(u.end)for(const a of u.end)l+=a.source;return l}default:{let l=u.source;if("end"in u&&u.end)for(const a of u.end)l+=a.source;return l}}}function gu({start:u,key:l,sep:a,value:s}){let c="";for(const o of u)c+=o.source;if(l&&(c+=Tu(l)),a)for(const o of a)c+=o.source;return s&&(c+=Tu(s)),c}const zf=Symbol("break visit"),zb=Symbol("skip children"),Yp=Symbol("remove item");function Ol(u,l){"type"in u&&u.type==="document"&&(u={start:u.start,value:u.value}),$p(Object.freeze([]),u,l)}Ol.BREAK=zf;Ol.SKIP=zb;Ol.REMOVE=Yp;Ol.itemAtPath=(u,l)=>{let a=u;for(const[s,c]of l){const o=a==null?void 0:a[s];if(o&&"items"in o)a=o.items[c];else return}return a};Ol.parentCollection=(u,l)=>{const a=Ol.itemAtPath(u,l.slice(0,-1)),s=l[l.length-1][0],c=a==null?void 0:a[s];if(c&&"items"in c)return c;throw new Error("Parent collection not found")};function $p(u,l,a){let s=a(l,u);if(typeof s=="symbol")return s;for(const c of["key","value"]){const o=l[c];if(o&&"items"in o){for(let h=0;h<o.items.length;++h){const m=$p(Object.freeze(u.concat([[c,h]])),o.items[h],a);if(typeof m=="number")h=m-1;else{if(m===zf)return zf;m===Yp&&(o.items.splice(h,1),h-=1)}}typeof s=="function"&&c==="key"&&(s=s(l,u))}}return typeof s=="function"?s(l,u):s}const ju="\uFEFF",Bu="",qu="",La="",xb=u=>!!u&&"items"in u,Db=u=>!!u&&(u.type==="scalar"||u.type==="single-quoted-scalar"||u.type==="double-quoted-scalar"||u.type==="block-scalar");function Lb(u){switch(u){case ju:return"<BOM>";case Bu:return"<DOC>";case qu:return"<FLOW_END>";case La:return"<SCALAR>";default:return JSON.stringify(u)}}function Gp(u){switch(u){case ju:return"byte-order-mark";case Bu:return"doc-mode";case qu:return"flow-error-end";case La:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
165 -`:case`\r
166 -`:return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(u[0]){case" ":case" ":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}const Ub=Object.freeze(Object.defineProperty({__proto__:null,BOM:ju,DOCUMENT:Bu,FLOW_END:qu,SCALAR:La,createScalarToken:_b,isCollection:xb,isScalar:Db,prettyToken:Lb,resolveAsScalar:Ob,setScalarValue:Nb,stringify:Cb,tokenType:Gp,visit:Ol},Symbol.toStringTag,{value:"Module"}));function Jt(u){switch(u){case void 0:case" ":case`
167 -`:case"\r":case" ":return!0;default:return!1}}const wg=new Set("0123456789ABCDEFabcdef"),Rb=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),au=new Set(",[]{}"),jb=new Set(` ,[]{}
168 -\r `),vf=u=>!u||jb.has(u);class Kp{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(l,a=!1){if(l){if(typeof l!="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+l:l,this.lineEndPos=null}this.atEnd=!a;let s=this.next??"stream";for(;s&&(a||this.hasChars(1));)s=yield*this.parseNext(s)}atLineEnd(){let l=this.pos,a=this.buffer[l];for(;a===" "||a===" ";)a=this.buffer[++l];return!a||a==="#"||a===`
169 -`?!0:a==="\r"?this.buffer[l+1]===`
170 -`:!1}charAt(l){return this.buffer[this.pos+l]}continueScalar(l){let a=this.buffer[l];if(this.indentNext>0){let s=0;for(;a===" ";)a=this.buffer[++s+l];if(a==="\r"){const c=this.buffer[s+l+1];if(c===`
171 -`||!c&&!this.atEnd)return l+s+1}return a===`
172 -`||s>=this.indentNext||!a&&!this.atEnd?l+s:-1}if(a==="-"||a==="."){const s=this.buffer.substr(l,3);if((s==="---"||s==="...")&&Jt(this.buffer[l+3]))return-1}return l}getLine(){let l=this.lineEndPos;return(typeof l!="number"||l!==-1&&l<this.pos)&&(l=this.buffer.indexOf(`
173 -`,this.pos),this.lineEndPos=l),l===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[l-1]==="\r"&&(l-=1),this.buffer.substring(this.pos,l))}hasChars(l){return this.pos+l<=this.buffer.length}setNext(l){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=l,null}peek(l){return this.buffer.substr(this.pos,l)}*parseNext(l){switch(l){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let l=this.getLine();if(l===null)return this.setNext("stream");if(l[0]===ju&&(yield*this.pushCount(1),l=l.substring(1)),l[0]==="%"){let a=l.length,s=l.indexOf("#");for(;s!==-1;){const o=l[s-1];if(o===" "||o===" "){a=s-1;break}else s=l.indexOf("#",s+1)}for(;;){const o=l[a-1];if(o===" "||o===" ")a-=1;else break}const c=(yield*this.pushCount(a))+(yield*this.pushSpaces(!0));return yield*this.pushCount(l.length-c),this.pushNewline(),"stream"}if(this.atLineEnd()){const a=yield*this.pushSpaces(!0);return yield*this.pushCount(l.length-a),yield*this.pushNewline(),"stream"}return yield Bu,yield*this.parseLineStart()}*parseLineStart(){const l=this.charAt(0);if(!l&&!this.atEnd)return this.setNext("line-start");if(l==="-"||l==="."){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");const a=this.peek(3);if((a==="---"||a==="...")&&Jt(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,a==="---"?"doc":"stream"}return this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!Jt(this.charAt(1))&&(this.indentNext=this.indentValue),yield*this.parseBlockStart()}*parseBlockStart(){const[l,a]=this.peek(2);if(!a&&!this.atEnd)return this.setNext("block-start");if((l==="-"||l==="?"||l===":")&&Jt(a)){const s=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=s,yield*this.parseBlockStart()}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);const l=this.getLine();if(l===null)return this.setNext("doc");let a=yield*this.pushIndicators();switch(l[a]){case"#":yield*this.pushCount(l.length-a);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(vf),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return a+=yield*this.parseBlockScalarHeader(),a+=yield*this.pushSpaces(!0),yield*this.pushCount(l.length-a),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let l,a,s=-1;do l=yield*this.pushNewline(),l>0?(a=yield*this.pushSpaces(!1),this.indentValue=s=a):a=0,a+=yield*this.pushSpaces(!0);while(l+a>0);const c=this.getLine();if(c===null)return this.setNext("flow");if((s!==-1&&s<this.indentNext&&c[0]!=="#"||s===0&&(c.startsWith("---")||c.startsWith("..."))&&Jt(c[3]))&&!(s===this.indentNext-1&&this.flowLevel===1&&(c[0]==="]"||c[0]==="}")))return this.flowLevel=0,yield qu,yield*this.parseLineStart();let o=0;for(;c[o]===",";)o+=yield*this.pushCount(1),o+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(o+=yield*this.pushIndicators(),c[o]){case void 0:return"flow";case"#":return yield*this.pushCount(c.length-o),"flow";case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,"flow";case"}":case"]":return yield*this.pushCount(1),this.flowKey=!0,this.flowLevel-=1,this.flowLevel?"flow":"doc";case"*":return yield*this.pushUntil(vf),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{const h=this.charAt(1);if(this.flowKey||Jt(h)||h===",")return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){const l=this.charAt(0);let a=this.buffer.indexOf(l,this.pos+1);if(l==="'")for(;a!==-1&&this.buffer[a+1]==="'";)a=this.buffer.indexOf("'",a+2);else for(;a!==-1;){let o=0;for(;this.buffer[a-1-o]==="\\";)o+=1;if(o%2===0)break;a=this.buffer.indexOf('"',a+1)}const s=this.buffer.substring(0,a);let c=s.indexOf(`
174 -`,this.pos);if(c!==-1){for(;c!==-1;){const o=this.continueScalar(c+1);if(o===-1)break;c=s.indexOf(`
175 -`,o)}c!==-1&&(a=c-(s[c-1]==="\r"?2:1))}if(a===-1){if(!this.atEnd)return this.setNext("quoted-scalar");a=this.buffer.length}return yield*this.pushToIndex(a+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let l=this.pos;for(;;){const a=this.buffer[++l];if(a==="+")this.blockScalarKeep=!0;else if(a>"0"&&a<="9")this.blockScalarIndent=Number(a)-1;else if(a!=="-")break}return yield*this.pushUntil(a=>Jt(a)||a==="#")}*parseBlockScalar(){let l=this.pos-1,a=0,s;e:for(let o=this.pos;s=this.buffer[o];++o)switch(s){case" ":a+=1;break;case`
176 -`:l=o,a=0;break;case"\r":{const h=this.buffer[o+1];if(!h&&!this.atEnd)return this.setNext("block-scalar");if(h===`
177 -`)break}default:break e}if(!s&&!this.atEnd)return this.setNext("block-scalar");if(a>=this.indentNext){this.blockScalarIndent===-1?this.indentNext=a:this.indentNext=this.blockScalarIndent+(this.indentNext===0?1:this.indentNext);do{const o=this.continueScalar(l+1);if(o===-1)break;l=this.buffer.indexOf(`
178 -`,o)}while(l!==-1);if(l===-1){if(!this.atEnd)return this.setNext("block-scalar");l=this.buffer.length}}let c=l+1;for(s=this.buffer[c];s===" ";)s=this.buffer[++c];if(s===" "){for(;s===" "||s===" "||s==="\r"||s===`
179 -`;)s=this.buffer[++c];l=c-1}else if(!this.blockScalarKeep)do{let o=l-1,h=this.buffer[o];h==="\r"&&(h=this.buffer[--o]);const m=o;for(;h===" ";)h=this.buffer[--o];if(h===`
180 -`&&o>=this.pos&&o+1+a>m)l=o;else break}while(!0);return yield La,yield*this.pushToIndex(l+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){const l=this.flowLevel>0;let a=this.pos-1,s=this.pos-1,c;for(;c=this.buffer[++s];)if(c===":"){const o=this.buffer[s+1];if(Jt(o)||l&&au.has(o))break;a=s}else if(Jt(c)){let o=this.buffer[s+1];if(c==="\r"&&(o===`
181 -`?(s+=1,c=`
182 -`,o=this.buffer[s+1]):a=s),o==="#"||l&&au.has(o))break;if(c===`
183 -`){const h=this.continueScalar(s+1);if(h===-1)break;s=Math.max(s,h-2)}}else{if(l&&au.has(c))break;a=s}return!c&&!this.atEnd?this.setNext("plain-scalar"):(yield La,yield*this.pushToIndex(a+1,!0),l?"flow":"doc")}*pushCount(l){return l>0?(yield this.buffer.substr(this.pos,l),this.pos+=l,l):0}*pushToIndex(l,a){const s=this.buffer.slice(this.pos,l);return s?(yield s,this.pos+=s.length,s.length):(a&&(yield""),0)}*pushIndicators(){switch(this.charAt(0)){case"!":return(yield*this.pushTag())+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"&":return(yield*this.pushUntil(vf))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"-":case"?":case":":{const l=this.flowLevel>0,a=this.charAt(1);if(Jt(a)||l&&au.has(a))return l?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,(yield*this.pushCount(1))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators())}}return 0}*pushTag(){if(this.charAt(1)==="<"){let l=this.pos+2,a=this.buffer[l];for(;!Jt(a)&&a!==">";)a=this.buffer[++l];return yield*this.pushToIndex(a===">"?l+1:l,!1)}else{let l=this.pos+1,a=this.buffer[l];for(;a;)if(Rb.has(a))a=this.buffer[++l];else if(a==="%"&&wg.has(this.buffer[l+1])&&wg.has(this.buffer[l+2]))a=this.buffer[l+=3];else break;return yield*this.pushToIndex(l,!1)}}*pushNewline(){const l=this.buffer[this.pos];return l===`
184 -`?yield*this.pushCount(1):l==="\r"&&this.charAt(1)===`
185 -`?yield*this.pushCount(2):0}*pushSpaces(l){let a=this.pos-1,s;do s=this.buffer[++a];while(s===" "||l&&s===" ");const c=a-this.pos;return c>0&&(yield this.buffer.substr(this.pos,c),this.pos=a),c}*pushUntil(l){let a=this.pos,s=this.buffer[a];for(;!l(s);)s=this.buffer[++a];return yield*this.pushToIndex(a,!1)}}class Vp{constructor(){this.lineStarts=[],this.addNewLine=l=>this.lineStarts.push(l),this.linePos=l=>{let a=0,s=this.lineStarts.length;for(;a<s;){const o=a+s>>1;this.lineStarts[o]<l?a=o+1:s=o}if(this.lineStarts[a]===l)return{line:a+1,col:1};if(a===0)return{line:0,col:l};const c=this.lineStarts[a-1];return{line:a,col:l-c+1}}}}function Fn(u,l){for(let a=0;a<u.length;++a)if(u[a].type===l)return!0;return!1}function Og(u){for(let l=0;l<u.length;++l)switch(u[l].type){case"space":case"comment":case"newline":break;default:return l}return-1}function Qp(u){switch(u==null?void 0:u.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function su(u){switch(u.type){case"document":return u.start;case"block-map":{const l=u.items[u.items.length-1];return l.sep??l.start}case"block-seq":return u.items[u.items.length-1].start;default:return[]}}function di(u){var a;if(u.length===0)return[];let l=u.length;e:for(;--l>=0;)switch(u[l].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break e}for(;((a=u[++l])==null?void 0:a.type)==="space";);return u.splice(l,u.length)}function _g(u){if(u.start.type==="flow-seq-start")for(const l of u.items)l.sep&&!l.value&&!Fn(l.start,"explicit-key-ind")&&!Fn(l.sep,"map-value-ind")&&(l.key&&(l.value=l.key),delete l.key,Qp(l.value)?l.value.end?Array.prototype.push.apply(l.value.end,l.sep):l.value.end=l.sep:Array.prototype.push.apply(l.start,l.sep),delete l.sep)}class Xf{constructor(l){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new Kp,this.onNewLine=l}*parse(l,a=!1){this.onNewLine&&this.offset===0&&this.onNewLine(0);for(const s of this.lexer.lex(l,a))yield*this.next(s);a||(yield*this.end())}*next(l){if(this.source=l,this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=l.length;return}const a=Gp(l);if(a)if(a==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=a,yield*this.step(),a){case"newline":this.atNewLine=!0,this.indent=0,this.onNewLine&&this.onNewLine(this.offset+l.length);break;case"space":this.atNewLine&&l[0]===" "&&(this.indent+=l.length);break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":this.atNewLine&&(this.indent+=l.length);break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=l.length}else{const s=`Not a YAML token: ${l}`;yield*this.pop({type:"error",offset:this.offset,message:s,source:l}),this.offset+=l.length}}*end(){for(;this.stack.length>0;)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){const l=this.peek(1);if(this.type==="doc-end"&&(l==null?void 0:l.type)!=="doc-end"){for(;this.stack.length>0;)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!l)return yield*this.stream();switch(l.type){case"document":return yield*this.document(l);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(l);case"block-scalar":return yield*this.blockScalar(l);case"block-map":return yield*this.blockMap(l);case"block-seq":return yield*this.blockSequence(l);case"flow-collection":return yield*this.flowCollection(l);case"doc-end":return yield*this.documentEnd(l)}yield*this.pop()}peek(l){return this.stack[this.stack.length-l]}*pop(l){const a=l??this.stack.pop();if(!a)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield a;else{const s=this.peek(1);switch(a.type==="block-scalar"?a.indent="indent"in s?s.indent:0:a.type==="flow-collection"&&s.type==="document"&&(a.indent=0),a.type==="flow-collection"&&_g(a),s.type){case"document":s.value=a;break;case"block-scalar":s.props.push(a);break;case"block-map":{const c=s.items[s.items.length-1];if(c.value){s.items.push({start:[],key:a,sep:[]}),this.onKeyLine=!0;return}else if(c.sep)c.value=a;else{Object.assign(c,{key:a,sep:[]}),this.onKeyLine=!c.explicitKey;return}break}case"block-seq":{const c=s.items[s.items.length-1];c.value?s.items.push({start:[],value:a}):c.value=a;break}case"flow-collection":{const c=s.items[s.items.length-1];!c||c.value?s.items.push({start:[],key:a,sep:[]}):c.sep?c.value=a:Object.assign(c,{key:a,sep:[]});return}default:yield*this.pop(),yield*this.pop(a)}if((s.type==="document"||s.type==="block-map"||s.type==="block-seq")&&(a.type==="block-map"||a.type==="block-seq")){const c=a.items[a.items.length-1];c&&!c.sep&&!c.value&&c.start.length>0&&Og(c.start)===-1&&(a.indent===0||c.start.every(o=>o.type!=="comment"||o.indent<a.indent))&&(s.type==="document"?s.end=c.start:s.items.push({start:c.start}),a.items.splice(-1,1))}}}*stream(){switch(this.type){case"directive-line":yield{type:"directive",offset:this.offset,source:this.source};return;case"byte-order-mark":case"space":case"comment":case"newline":yield this.sourceToken;return;case"doc-mode":case"doc-start":{const l={type:"document",offset:this.offset,start:[]};this.type==="doc-start"&&l.start.push(this.sourceToken),this.stack.push(l);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(l){if(l.value)return yield*this.lineEnd(l);switch(this.type){case"doc-start":{Og(l.start)!==-1?(yield*this.pop(),yield*this.step()):l.start.push(this.sourceToken);return}case"anchor":case"tag":case"space":case"comment":case"newline":l.start.push(this.sourceToken);return}const a=this.startBlockValue(l);a?this.stack.push(a):yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(l){if(this.type==="map-value-ind"){const a=su(this.peek(2)),s=di(a);let c;l.end?(c=l.end,c.push(this.sourceToken),delete l.end):c=[this.sourceToken];const o={type:"block-map",offset:l.offset,indent:l.indent,items:[{start:s,key:l,sep:c}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=o}else yield*this.lineEnd(l)}*blockScalar(l){switch(this.type){case"space":case"comment":case"newline":l.props.push(this.sourceToken);return;case"scalar":if(l.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let a=this.source.indexOf(`
186 -`)+1;for(;a!==0;)this.onNewLine(this.offset+a),a=this.source.indexOf(`
187 -`,a)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(l){var s;const a=l.items[l.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,a.value){const c="end"in a.value?a.value.end:void 0,o=Array.isArray(c)?c[c.length-1]:void 0;(o==null?void 0:o.type)==="comment"?c==null||c.push(this.sourceToken):l.items.push({start:[this.sourceToken]})}else a.sep?a.sep.push(this.sourceToken):a.start.push(this.sourceToken);return;case"space":case"comment":if(a.value)l.items.push({start:[this.sourceToken]});else if(a.sep)a.sep.push(this.sourceToken);else{if(this.atIndentedComment(a.start,l.indent)){const c=l.items[l.items.length-2],o=(s=c==null?void 0:c.value)==null?void 0:s.end;if(Array.isArray(o)){Array.prototype.push.apply(o,a.start),o.push(this.sourceToken),l.items.pop();return}}a.start.push(this.sourceToken)}return}if(this.indent>=l.indent){const c=!this.onKeyLine&&this.indent===l.indent,o=c&&(a.sep||a.explicitKey)&&this.type!=="seq-item-ind";let h=[];if(o&&a.sep&&!a.value){const m=[];for(let g=0;g<a.sep.length;++g){const p=a.sep[g];switch(p.type){case"newline":m.push(g);break;case"space":break;case"comment":p.indent>l.indent&&(m.length=0);break;default:m.length=0}}m.length>=2&&(h=a.sep.splice(m[1]))}switch(this.type){case"anchor":case"tag":o||a.value?(h.push(this.sourceToken),l.items.push({start:h}),this.onKeyLine=!0):a.sep?a.sep.push(this.sourceToken):a.start.push(this.sourceToken);return;case"explicit-key-ind":!a.sep&&!a.explicitKey?(a.start.push(this.sourceToken),a.explicitKey=!0):o||a.value?(h.push(this.sourceToken),l.items.push({start:h,explicitKey:!0})):this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}),this.onKeyLine=!0;return;case"map-value-ind":if(a.explicitKey)if(a.sep)if(a.value)l.items.push({start:[],key:null,sep:[this.sourceToken]});else if(Fn(a.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:h,key:null,sep:[this.sourceToken]}]});else if(Qp(a.key)&&!Fn(a.sep,"newline")){const m=di(a.start),g=a.key,p=a.sep;p.push(this.sourceToken),delete a.key,delete a.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:m,key:g,sep:p}]})}else h.length>0?a.sep=a.sep.concat(h,this.sourceToken):a.sep.push(this.sourceToken);else if(Fn(a.start,"newline"))Object.assign(a,{key:null,sep:[this.sourceToken]});else{const m=di(a.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:m,key:null,sep:[this.sourceToken]}]})}else a.sep?a.value||o?l.items.push({start:h,key:null,sep:[this.sourceToken]}):Fn(a.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):a.sep.push(this.sourceToken):Object.assign(a,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{const m=this.flowScalar(this.type);o||a.value?(l.items.push({start:h,key:m,sep:[]}),this.onKeyLine=!0):a.sep?this.stack.push(m):(Object.assign(a,{key:m,sep:[]}),this.onKeyLine=!0);return}default:{const m=this.startBlockValue(l);if(m){if(m.type==="block-seq"){if(!a.explicitKey&&a.sep&&!Fn(a.sep,"newline")){yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source});return}}else c&&l.items.push({start:h});this.stack.push(m);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(l){var s;const a=l.items[l.items.length-1];switch(this.type){case"newline":if(a.value){const c="end"in a.value?a.value.end:void 0,o=Array.isArray(c)?c[c.length-1]:void 0;(o==null?void 0:o.type)==="comment"?c==null||c.push(this.sourceToken):l.items.push({start:[this.sourceToken]})}else a.start.push(this.sourceToken);return;case"space":case"comment":if(a.value)l.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(a.start,l.indent)){const c=l.items[l.items.length-2],o=(s=c==null?void 0:c.value)==null?void 0:s.end;if(Array.isArray(o)){Array.prototype.push.apply(o,a.start),o.push(this.sourceToken),l.items.pop();return}}a.start.push(this.sourceToken)}return;case"anchor":case"tag":if(a.value||this.indent<=l.indent)break;a.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==l.indent)break;a.value||Fn(a.start,"seq-item-ind")?l.items.push({start:[this.sourceToken]}):a.start.push(this.sourceToken);return}if(this.indent>l.indent){const c=this.startBlockValue(l);if(c){this.stack.push(c);return}}yield*this.pop(),yield*this.step()}*flowCollection(l){const a=l.items[l.items.length-1];if(this.type==="flow-error-end"){let s;do yield*this.pop(),s=this.peek(1);while((s==null?void 0:s.type)==="flow-collection")}else if(l.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":!a||a.sep?l.items.push({start:[this.sourceToken]}):a.start.push(this.sourceToken);return;case"map-value-ind":!a||a.value?l.items.push({start:[],key:null,sep:[this.sourceToken]}):a.sep?a.sep.push(this.sourceToken):Object.assign(a,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!a||a.value?l.items.push({start:[this.sourceToken]}):a.sep?a.sep.push(this.sourceToken):a.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{const c=this.flowScalar(this.type);!a||a.value?l.items.push({start:[],key:c,sep:[]}):a.sep?this.stack.push(c):Object.assign(a,{key:c,sep:[]});return}case"flow-map-end":case"flow-seq-end":l.end.push(this.sourceToken);return}const s=this.startBlockValue(l);s?this.stack.push(s):(yield*this.pop(),yield*this.step())}else{const s=this.peek(2);if(s.type==="block-map"&&(this.type==="map-value-ind"&&s.indent===l.indent||this.type==="newline"&&!s.items[s.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&s.type!=="flow-collection"){const c=su(s),o=di(c);_g(l);const h=l.end.splice(1,l.end.length);h.push(this.sourceToken);const m={type:"block-map",offset:l.offset,indent:l.indent,items:[{start:o,key:l,sep:h}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=m}else yield*this.lineEnd(l)}}flowScalar(l){if(this.onNewLine){let a=this.source.indexOf(`
188 -`)+1;for(;a!==0;)this.onNewLine(this.offset+a),a=this.source.indexOf(`
189 -`,a)+1}return{type:l,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(l){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;const a=su(l),s=di(a);return s.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:s,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;const a=su(l),s=di(a);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:s,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(l,a){return this.type!=="comment"||this.indent<=a?!1:l.every(s=>s.type==="newline"||s.type==="space")}*documentEnd(l){this.type!=="doc-mode"&&(l.end?l.end.push(this.sourceToken):l.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop()))}*lineEnd(l){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:l.end?l.end.push(this.sourceToken):l.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop())}}}function Xp(u){const l=u.prettyErrors!==!1;return{lineCounter:u.lineCounter||l&&new Vp||null,prettyErrors:l}}function Bb(u,l={}){const{lineCounter:a,prettyErrors:s}=Xp(l),c=new Xf(a==null?void 0:a.addNewLine),o=new Qf(l),h=Array.from(o.compose(c.parse(u)));if(s&&a)for(const m of h)m.errors.forEach(Su(u,a)),m.warnings.forEach(Su(u,a));return h.length>0?h:Object.assign([],{empty:!0},o.streamInfo())}function Zp(u,l={}){const{lineCounter:a,prettyErrors:s}=Xp(l),c=new Xf(a==null?void 0:a.addNewLine),o=new Qf(l);let h=null;for(const m of o.compose(c.parse(u),!0,u.length))if(!h)h=m;else if(h.options.logLevel!=="silent"){h.errors.push(new Al(m.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return s&&a&&(h.errors.forEach(Su(u,a)),h.warnings.forEach(Su(u,a))),h}function qb(u,l,a){let s;typeof l=="function"?s=l:a===void 0&&l&&typeof l=="object"&&(a=l);const c=Zp(u,a);if(!c)return null;if(c.warnings.forEach(o=>mp(c.options.logLevel,o)),c.errors.length>0){if(c.options.logLevel!=="silent")throw c.errors[0];c.errors=[]}return c.toJS(Object.assign({reviver:s},a))}function kb(u,l,a){let s=null;if(typeof l=="function"||Array.isArray(l)?s=l:a===void 0&&l&&(a=l),typeof a=="string"&&(a=a.length),typeof a=="number"){const c=Math.round(a);a=c<1?void 0:c>8?{indent:8}:{indent:c}}if(u===void 0){const{keepUndefined:c}=a??l??{};if(!c)return}return _l(u)&&!s?u.toString(a):new xi(u,s,a).toString(a)}const Hb=Object.freeze(Object.defineProperty({__proto__:null,Alias:_u,CST:Ub,Composer:Qf,Document:xi,Lexer:Kp,LineCounter:Vp,Pair:ct,Parser:Xf,Scalar:ce,Schema:Ru,YAMLError:Kf,YAMLMap:Lt,YAMLParseError:Al,YAMLSeq:Pn,YAMLWarning:Lp,isAlias:el,isCollection:Be,isDocument:_l,isMap:Ni,isNode:qe,isPair:je,isScalar:De,isSeq:Mi,parse:qb,parseAllDocuments:Bb,parseDocument:Zp,stringify:kb,visit:Nl,visitAsync:Ou},Symbol.toStringTag,{value:"Module"}));function Yb(u,l,a={}){var _;const s=new u.LineCounter,c={keepSourceTokens:!0,lineCounter:s,...a},o=u.parseDocument(l,c),h=[],m=E=>[s.linePos(E[0]),s.linePos(E[1])],g=E=>{h.push({message:E.message,range:[s.linePos(E.pos[0]),s.linePos(E.pos[1])]})},p=(E,x)=>{for(const b of x.items){if(b instanceof u.Scalar&&typeof b.value=="string"){const R=Eu.parse(b,c,h);R&&(E.children=E.children||[],E.children.push(R));continue}if(b instanceof u.YAMLMap){T(E,b);continue}h.push({message:"Sequence items should be strings or maps",range:m(b.range||x.range)})}},T=(E,x)=>{for(const b of x.items){if(E.children=E.children||[],!(b.key instanceof u.Scalar&&typeof b.key.value=="string")){h.push({message:"Only string keys are supported",range:m(b.key.range||x.range)});continue}const M=b.key,R=b.value;if(M.value==="text"){if(!(R instanceof u.Scalar&&typeof R.value=="string")){h.push({message:"Text value should be a string",range:m(b.value.range||x.range)});continue}E.children.push({kind:"text",text:bf(R.value)});continue}if(M.value==="/children"){if(!(R instanceof u.Scalar&&typeof R.value=="string")||R.value!=="contain"&&R.value!=="equal"&&R.value!=="deep-equal"){h.push({message:'Strict value should be "contain", "equal" or "deep-equal"',range:m(b.value.range||x.range)});continue}E.containerMode=R.value;continue}if(M.value.startsWith("/")){if(!(R instanceof u.Scalar&&typeof R.value=="string")){h.push({message:"Property value should be a string",range:m(b.value.range||x.range)});continue}E.props=E.props??{},E.props[M.value.slice(1)]=bf(R.value);continue}const G=Eu.parse(M,c,h);if(!G)continue;if(R instanceof u.Scalar){const W=typeof R.value;if(W!=="string"&&W!=="number"&&W!=="boolean"){h.push({message:"Node value should be a string or a sequence",range:m(b.value.range||x.range)});continue}E.children.push({...G,children:[{kind:"text",text:bf(String(R.value))}]});continue}if(R instanceof u.YAMLSeq){E.children.push(G),p(G,R);continue}h.push({message:"Map values should be strings or sequences",range:m(b.value.range||x.range)})}},v={kind:"role",role:"fragment"};return o.errors.forEach(g),h.length?{errors:h,fragment:v}:(o.contents instanceof u.YAMLSeq||h.push({message:'Aria snapshot must be a YAML sequence, elements starting with " -"',range:o.contents?m(o.contents.range):[{line:0,col:0},{line:0,col:0}]}),h.length?{errors:h,fragment:v}:(p(v,o.contents),h.length?{errors:h,fragment:$b}:((_=v.children)==null?void 0:_.length)===1&&(!v.containerMode||v.containerMode==="contain")?{fragment:v.children[0],errors:[]}:{fragment:v,errors:[]}))}const $b={kind:"role",role:"fragment"};function Jp(u){return u.replace(/[\u200b\u00ad]/g,"").replace(/[\r\n\s\t]+/g," ").trim()}function bf(u){return{raw:u,normalized:Jp(u)}}class Eu{static parse(l,a,s){try{return new Eu(l.value)._parse()}catch(c){if(c instanceof Ng){const o=a.prettyErrors===!1?c.message:c.message+`:
190 -
191 -`+l.value+`
192 -`+" ".repeat(c.pos)+`^
193 -`;return s.push({message:o,range:[a.lineCounter.linePos(l.range[0]),a.lineCounter.linePos(l.range[0]+c.pos)]}),null}throw c}}constructor(l){this._input=l,this._pos=0,this._length=l.length}_peek(){return this._input[this._pos]||""}_next(){return this._pos<this._length?this._input[this._pos++]:null}_eof(){return this._pos>=this._length}_isWhitespace(){return!this._eof()&&/\s/.test(this._peek())}_skipWhitespace(){for(;this._isWhitespace();)this._pos++}_readIdentifier(l){this._eof()&&this._throwError(`Unexpected end of input when expecting ${l}`);const a=this._pos;for(;!this._eof()&&/[a-zA-Z]/.test(this._peek());)this._pos++;return this._input.slice(a,this._pos)}_readString(){let l="",a=!1;for(;!this._eof();){const s=this._next();if(a)l+=s,a=!1;else if(s==="\\")a=!0;else{if(s==='"')return l;l+=s}}this._throwError("Unterminated string")}_throwError(l,a=0){throw new Ng(l,a||this._pos)}_readRegex(){let l="",a=!1,s=!1;for(;!this._eof();){const c=this._next();if(a)l+=c,a=!1;else if(c==="\\")a=!0,l+=c;else{if(c==="/"&&!s)return{pattern:l};c==="["?(s=!0,l+=c):c==="]"&&s?(l+=c,s=!1):l+=c}}this._throwError("Unterminated regex")}_readStringOrRegex(){const l=this._peek();return l==='"'?(this._next(),Jp(this._readString())):l==="/"?(this._next(),this._readRegex()):null}_readAttributes(l){let a=this._pos;for(;this._skipWhitespace(),this._peek()==="[";){this._next(),this._skipWhitespace(),a=this._pos;const s=this._readIdentifier("attribute");this._skipWhitespace();let c="";if(this._peek()==="=")for(this._next(),this._skipWhitespace(),a=this._pos;this._peek()!=="]"&&!this._isWhitespace()&&!this._eof();)c+=this._next();this._skipWhitespace(),this._peek()!=="]"&&this._throwError("Expected ]"),this._next(),this._applyAttribute(l,s,c||"true",a)}}_parse(){this._skipWhitespace();const l=this._readIdentifier("role");this._skipWhitespace();const a=this._readStringOrRegex()||"",s={kind:"role",role:l,name:a};return this._readAttributes(s),this._skipWhitespace(),this._eof()||this._throwError("Unexpected input"),s}_applyAttribute(l,a,s,c){if(a==="checked"){this._assert(s==="true"||s==="false"||s==="mixed",'Value of "checked" attribute must be a boolean or "mixed"',c),l.checked=s==="true"?!0:s==="false"?!1:"mixed";return}if(a==="disabled"){this._assert(s==="true"||s==="false",'Value of "disabled" attribute must be a boolean',c),l.disabled=s==="true";return}if(a==="expanded"){this._assert(s==="true"||s==="false",'Value of "expanded" attribute must be a boolean',c),l.expanded=s==="true";return}if(a==="active"){this._assert(s==="true"||s==="false",'Value of "active" attribute must be a boolean',c),l.active=s==="true";return}if(a==="level"){this._assert(!isNaN(Number(s)),'Value of "level" attribute must be a number',c),l.level=Number(s);return}if(a==="pressed"){this._assert(s==="true"||s==="false"||s==="mixed",'Value of "pressed" attribute must be a boolean or "mixed"',c),l.pressed=s==="true"?!0:s==="false"?!1:"mixed";return}if(a==="selected"){this._assert(s==="true"||s==="false",'Value of "selected" attribute must be a boolean',c),l.selected=s==="true";return}this._assert(!1,`Unsupported attribute [${a}]`,c)}_assert(l,a,s){l||this._throwError(a||"Assertion error",s)}}class Ng extends Error{constructor(l,a){super(l),this.pos=a}}const Gb=({className:u,style:l,open:a,isModal:s,minWidth:c,verticalOffset:o,requestClose:h,anchor:m,dataTestId:g,children:p})=>{const T=he.useRef(null),[v,_]=he.useState(0),[E]=Sf(T),[x,b]=Sf(m),A=m?Kb(E,x,o):void 0;return he.useEffect(()=>{const M=G=>{!T.current||!(G.target instanceof Node)||T.current.contains(G.target)||h==null||h()},R=G=>{G.key==="Escape"&&(h==null||h())};return a?(document.addEventListener("mousedown",M),document.addEventListener("keydown",R),()=>{document.removeEventListener("mousedown",M),document.removeEventListener("keydown",R)}):()=>{}},[a,h]),he.useLayoutEffect(()=>b(),[a,b]),he.useEffect(()=>{const M=()=>_(R=>R+1);return window.addEventListener("resize",M),()=>{window.removeEventListener("resize",M)}},[]),he.useLayoutEffect(()=>{T.current&&(a?s?T.current.showModal():T.current.show():T.current.close())},[a,s]),X.jsx("dialog",{ref:T,style:{position:"fixed",margin:A?0:void 0,zIndex:110,top:A==null?void 0:A.top,left:A==null?void 0:A.left,minWidth:c||0,...l},className:u,"data-testid":g,children:p})};function Kb(u,l,a=4,s=4){let c=Math.max(s,l.left);c+u.width>window.innerWidth-s&&(c=window.innerWidth-u.width-s);let o=Math.max(0,l.bottom)+a;return o+u.height>window.innerHeight-a&&(Math.max(0,l.top)>u.height+a?o=Math.max(0,l.top)-u.height-a:o=window.innerHeight-a-u.height),{left:c,top:o}}const Vb=({})=>{const[u,l]=he.useState([]),[a,s]=he.useState(!1),[c,o]=he.useState(new Map),[h,m]=he.useState("none"),[g,p]=he.useState(),[T,v]=pu("recorderPropertiesTab","log"),[_,E]=he.useState(),[x,b]=he.useState(),[A,M]=he.useState(!1),[R,G]=z1(),[Q,Z]=pu("autoExpect",!1),W=he.useRef(null),q=he.useMemo(Qb,[]),[V,U]=he.useState(""),ae=he.useRef(null),te=he.useMemo(()=>u.find(D=>D.id===g)??ev(),[u,g]);he.useLayoutEffect(()=>{const se={modeChanged:({mode:D})=>m(D),sourcesUpdated:({sources:D})=>{l(D),window.playwrightSourcesEchoForTest=D},pageNavigated:({url:D})=>{document.title=D?`Playwright Inspector - ${D}`:"Playwright Inspector"},pauseStateChanged:({paused:D})=>s(D),callLogsUpdated:({callLogs:D})=>{o(K=>{const ne=new Map(K);for(const de of D)de.reveal=!K.has(de.id),ne.set(de.id,de);return ne})},sourceRevealRequested:({sourceId:D})=>p(D),elementPicked:({elementInfo:D,userGesture:K})=>{const ne=te.language;U(ep(ne,D.selector)),E(D.ariaSnapshot),b([]),K&&T!=="locator"&&T!=="aria"&&v("locator"),h==="inspecting"&&T==="aria"||q.setMode({mode:h==="inspecting"?"standby":"recording"}).catch(()=>{})}};window.dispatch=D=>{se[D.method].call(se,D.params)}},[q,h,T,v,te]),he.useEffect(()=>{q.setAutoExpect({autoExpect:Q})},[Q,q]),he.useLayoutEffect(()=>{var se;(se=ae.current)==null||se.scrollIntoView({block:"center",inline:"nearest"})},[ae]),he.useLayoutEffect(()=>{const se=D=>{switch(D.key){case"F8":D.preventDefault(),a?q.resume():q.pause();break;case"F10":D.preventDefault(),a&&q.step();break}};return document.addEventListener("keydown",se),()=>document.removeEventListener("keydown",se)},[a,q]);const $=he.useCallback(se=>{(h==="none"||h==="inspecting")&&q.setMode({mode:"standby"}),U(se),q.highlightRequested({selector:se})},[h,q]),ee=he.useCallback(se=>{(h==="none"||h==="inspecting")&&q.setMode({mode:"standby"});const{fragment:D,errors:K}=Yb(Hb,se,{prettyErrors:!1}),ne=K.map(de=>({message:de.message,line:de.range[1].line,column:de.range[1].col,type:"subtle-error"}));b(ne),E(se),K.length||q.highlightRequested({ariaTemplate:D})},[h,q]),Ae=h==="recording"||h==="recording-inspecting"||h==="assertingText"||h==="assertingVisibility";return X.jsxs("div",{className:"recorder",children:[X.jsxs(xg,{children:[X.jsx(Dt,{icon:Ae?"stop-circle":"circle-large-filled",title:Ae?"Stop Recording":"Start Recording",toggled:Ae,onClick:()=>{q.setMode({mode:h==="none"||h==="standby"||h==="inspecting"?"recording":"standby"})},children:"Record"}),X.jsx(hg,{}),X.jsx(Dt,{icon:"inspect",title:"Pick locator",toggled:h==="inspecting"||h==="recording-inspecting",onClick:()=>{const se={inspecting:"standby",none:"inspecting",standby:"inspecting",recording:"recording-inspecting","recording-inspecting":"recording",assertingText:"recording-inspecting",assertingVisibility:"recording-inspecting",assertingValue:"recording-inspecting",assertingSnapshot:"recording-inspecting"}[h];q.setMode({mode:se}).catch(()=>{})}}),X.jsx(Dt,{icon:"eye",title:"Assert visibility",toggled:h==="assertingVisibility",disabled:h==="none"||h==="standby"||h==="inspecting",onClick:()=>{q.setMode({mode:h==="assertingVisibility"?"recording":"assertingVisibility"})}}),X.jsx(Dt,{icon:"whole-word",title:"Assert text",toggled:h==="assertingText",disabled:h==="none"||h==="standby"||h==="inspecting",onClick:()=>{q.setMode({mode:h==="assertingText"?"recording":"assertingText"})}}),X.jsx(Dt,{icon:"symbol-constant",title:"Assert value",toggled:h==="assertingValue",disabled:h==="none"||h==="standby"||h==="inspecting",onClick:()=>{q.setMode({mode:h==="assertingValue"?"recording":"assertingValue"})}}),X.jsx(Dt,{icon:"gist",title:"Assert snapshot",toggled:h==="assertingSnapshot",disabled:h==="none"||h==="standby"||h==="inspecting",onClick:()=>{q.setMode({mode:h==="assertingSnapshot"?"recording":"assertingSnapshot"})}}),X.jsx(hg,{}),X.jsx(Dt,{icon:"files",title:"Copy",disabled:!te||!te.text,onClick:()=>{eg(te.text)}}),X.jsx(Dt,{icon:"debug-continue",title:"Resume (F8)",ariaLabel:"Resume",disabled:!a,onClick:()=>{q.resume()}}),X.jsx(Dt,{icon:"debug-pause",title:"Pause (F8)",ariaLabel:"Pause",disabled:a,onClick:()=>{q.pause()}}),X.jsx(Dt,{icon:"debug-step-over",title:"Step over (F10)",ariaLabel:"Step over",disabled:!a,onClick:()=>{q.step()}}),X.jsx("div",{style:{flex:"auto"}}),X.jsx("div",{children:"Target:"}),X.jsx(I1,{fileId:te.id,sources:u,setFileId:se=>{p(se),q.fileChanged({fileId:se})}}),X.jsx(Dt,{icon:"clear-all",title:"Clear",disabled:!te||!te.text,onClick:()=>{q.clear()}}),X.jsx(Dt,{ref:W,icon:"settings-gear",title:"Settings",onClick:()=>M(se=>!se)}),X.jsxs(Gb,{style:{padding:"4px 8px"},open:A,verticalOffset:8,requestClose:()=>M(!1),anchor:W,dataTestId:"settings-dialog",children:[X.jsxs("div",{className:"setting setting-theme",children:[X.jsx("label",{htmlFor:"dark-mode-setting",children:"Theme:"}),X.jsx("select",{id:"dark-mode-setting",value:R,onChange:se=>G(se.target.value),children:_1.map(se=>X.jsx("option",{value:se.value,children:se.label},se.value))})]},"dark-mode-setting"),X.jsxs("div",{className:"setting",title:"Automatically generate assertions while recording",children:[X.jsx("input",{type:"checkbox",id:"auto-expect-setting",checked:Q,onChange:()=>{q.setAutoExpect({autoExpect:!Q}),Z(!Q)}}),X.jsx("label",{htmlFor:"auto-expect-setting",children:"Generate assertions"})]},"auto-expect-setting")]})]}),X.jsx(J1,{sidebarSize:200,main:X.jsx(ff,{text:te.text,highlighter:te.language,highlight:te.highlight,revealLine:te.revealLine,readOnly:!0,lineNumbers:!0}),sidebar:X.jsx(W1,{rightToolbar:T==="locator"||T==="aria"?[X.jsx(Dt,{icon:"files",title:"Copy",onClick:()=>eg((T==="locator"?V:_)||"")},1)]:[],tabs:[{id:"locator",title:"Locator",render:()=>X.jsx(ff,{text:V,placeholder:"Type locator to inspect",highlighter:te.language,focusOnChange:!0,onChange:$,wrapLines:!0})},{id:"log",title:"Log",render:()=>X.jsx(zv,{language:te.language,log:Array.from(c.values())})},{id:"aria",title:"Aria",render:()=>X.jsx(ff,{text:_||"",placeholder:"Type aria template to match",highlighter:"yaml",onChange:ee,highlight:x,wrapLines:!0})}],selectedTab:T,setSelectedTab:v})})]})};function Qb(){return new Proxy({},{get:(u,l)=>{if(typeof l=="string")return a=>window.sendCommand({method:l,params:a})}})}(async()=>(N1(),B1.createRoot(document.querySelector("#root")).render(X.jsx(Vb,{}))))();export{b1 as g};
node_modules/playwright-core/lib/vite/recorder/index.html deleted
-29
@@ -1,29 +0,0 @@
1 -<!--
2 - Copyright (c) Microsoft Corporation.
3 -
4 - Licensed under the Apache License, Version 2.0 (the "License");
5 - you may not use this file except in compliance with the License.
6 - You may obtain a copy of the License at
7 -
8 - http://www.apache.org/licenses/LICENSE-2.0
9 -
10 - Unless required by applicable law or agreed to in writing, software
11 - distributed under the License is distributed on an "AS IS" BASIS,
12 - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 - See the License for the specific language governing permissions and
14 - limitations under the License.
15 --->
16 -<!DOCTYPE html>
17 -<html lang="en" translate="no">
18 - <head>
19 - <meta charset="UTF-8">
20 - <meta name="viewport" content="width=device-width, initial-scale=1.0">
21 - <link rel="icon" href="/playwright-logo.svg" type="image/svg+xml">
22 - <title>Playwright Inspector</title>
23 - <script type="module" crossorigin src="/assets/index-DA10QRaq.js"></script>
24 - <link rel="stylesheet" crossorigin href="/assets/index-4ZiSSCmn.css">
25 - </head>
26 - <body>
27 - <div id="root"></div>
28 - </body>
29 -</html>
node_modules/playwright-core/lib/vite/recorder/playwright-logo.svg deleted
-9
@@ -1,9 +0,0 @@
1 -<svg width="400" height="400" viewBox="0 0 400 400" fill="none" xmlns="http://www.w3.org/2000/svg">
2 -<path d="M136.444 221.556C123.558 225.213 115.104 231.625 109.535 238.032C114.869 233.364 122.014 229.08 131.652 226.348C141.51 223.554 149.92 223.574 156.869 224.915V219.481C150.941 218.939 144.145 219.371 136.444 221.556ZM108.946 175.876L61.0895 188.484C61.0895 188.484 61.9617 189.716 63.5767 191.36L104.153 180.668C104.153 180.668 103.578 188.077 98.5847 194.705C108.03 187.559 108.946 175.876 108.946 175.876ZM149.005 288.347C81.6582 306.486 46.0272 228.438 35.2396 187.928C30.2556 169.229 28.0799 155.067 27.5 145.928C27.4377 144.979 27.4665 144.179 27.5336 143.446C24.04 143.657 22.3674 145.473 22.7077 150.721C23.2876 159.855 25.4633 174.016 30.4473 192.721C41.2301 233.225 76.8659 311.273 144.213 293.134C158.872 289.185 169.885 281.992 178.152 272.81C170.532 279.692 160.995 285.112 149.005 288.347ZM161.661 128.11V132.903H188.077C187.535 131.206 186.989 129.677 186.447 128.11H161.661Z" fill="#2D4552"/>
3 -<path d="M193.981 167.584C205.861 170.958 212.144 179.287 215.465 186.658L228.711 190.42C228.711 190.42 226.904 164.623 203.57 157.995C181.741 151.793 168.308 170.124 166.674 172.496C173.024 167.972 182.297 164.268 193.981 167.584ZM299.422 186.777C277.573 180.547 264.145 198.916 262.535 201.255C268.89 196.736 278.158 193.031 289.837 196.362C301.698 199.741 307.976 208.06 311.307 215.436L324.572 219.212C324.572 219.212 322.736 193.41 299.422 186.777ZM286.262 254.795L176.072 223.99C176.072 223.99 177.265 230.038 181.842 237.869L274.617 263.805C282.255 259.386 286.262 254.795 286.262 254.795ZM209.867 321.102C122.618 297.71 133.166 186.543 147.284 133.865C153.097 112.156 159.073 96.0203 164.029 85.204C161.072 84.5953 158.623 86.1529 156.203 91.0746C150.941 101.747 144.212 119.124 137.7 143.45C123.586 196.127 113.038 307.29 200.283 330.682C241.406 341.699 273.442 324.955 297.323 298.659C274.655 319.19 245.714 330.701 209.867 321.102Z" fill="#2D4552"/>
4 -<path d="M161.661 262.296V239.863L99.3324 257.537C99.3324 257.537 103.938 230.777 136.444 221.556C146.302 218.762 154.713 218.781 161.661 220.123V128.11H192.869C189.471 117.61 186.184 109.526 183.423 103.909C178.856 94.612 174.174 100.775 163.545 109.665C156.059 115.919 137.139 129.261 108.668 136.933C80.1966 144.61 57.179 142.574 47.5752 140.911C33.9601 138.562 26.8387 135.572 27.5049 145.928C28.0847 155.062 30.2605 169.224 35.2445 187.928C46.0272 228.433 81.663 306.481 149.01 288.342C166.602 283.602 179.019 274.233 187.626 262.291H161.661V262.296ZM61.0848 188.484L108.946 175.876C108.946 175.876 107.551 194.288 89.6087 199.018C71.6614 203.743 61.0848 188.484 61.0848 188.484Z" fill="#E2574C"/>
5 -<path d="M341.786 129.174C329.345 131.355 299.498 134.072 262.612 124.185C225.716 114.304 201.236 97.0224 191.537 88.8994C177.788 77.3834 171.74 69.3802 165.788 81.4857C160.526 92.163 153.797 109.54 147.284 133.866C133.171 186.543 122.623 297.706 209.867 321.098C297.093 344.47 343.53 242.92 357.644 190.238C364.157 165.917 367.013 147.5 367.799 135.625C368.695 122.173 359.455 126.078 341.786 129.174ZM166.497 172.756C166.497 172.756 180.246 151.372 203.565 158C226.899 164.628 228.706 190.425 228.706 190.425L166.497 172.756ZM223.42 268.713C182.403 256.698 176.077 223.99 176.077 223.99L286.262 254.796C286.262 254.791 264.021 280.578 223.42 268.713ZM262.377 201.495C262.377 201.495 276.107 180.126 299.422 186.773C322.736 193.411 324.572 219.208 324.572 219.208L262.377 201.495Z" fill="#2EAD33"/>
6 -<path d="M139.88 246.04L99.3324 257.532C99.3324 257.532 103.737 232.44 133.607 222.496L110.647 136.33L108.663 136.933C80.1918 144.611 57.1742 142.574 47.5704 140.911C33.9554 138.563 26.834 135.572 27.5001 145.929C28.08 155.063 30.2557 169.224 35.2397 187.929C46.0225 228.433 81.6583 306.481 149.005 288.342L150.989 287.719L139.88 246.04ZM61.0848 188.485L108.946 175.876C108.946 175.876 107.551 194.288 89.6087 199.018C71.6615 203.743 61.0848 188.485 61.0848 188.485Z" fill="#D65348"/>
7 -<path d="M225.27 269.163L223.415 268.712C182.398 256.698 176.072 223.99 176.072 223.99L232.89 239.872L262.971 124.281L262.607 124.185C225.711 114.304 201.232 97.0224 191.532 88.8994C177.783 77.3834 171.735 69.3802 165.783 81.4857C160.526 92.163 153.797 109.54 147.284 133.866C133.171 186.543 122.623 297.706 209.867 321.097L211.655 321.5L225.27 269.163ZM166.497 172.756C166.497 172.756 180.246 151.372 203.565 158C226.899 164.628 228.706 190.425 228.706 190.425L166.497 172.756Z" fill="#1D8D22"/>
8 -<path d="M141.946 245.451L131.072 248.537C133.641 263.019 138.169 276.917 145.276 289.195C146.513 288.922 147.74 288.687 149 288.342C152.302 287.451 155.364 286.348 158.312 285.145C150.371 273.361 145.118 259.789 141.946 245.451ZM137.7 143.451C132.112 164.307 127.113 194.326 128.489 224.436C130.952 223.367 133.554 222.371 136.444 221.551L138.457 221.101C136.003 188.939 141.308 156.165 147.284 133.866C148.799 128.225 150.318 122.978 151.832 118.085C149.393 119.637 146.767 121.228 143.776 122.867C141.759 129.093 139.722 135.898 137.7 143.451Z" fill="#C04B41"/>
9 -</svg>
node_modules/playwright-core/lib/vite/traceViewer/assets/codeMirrorModule-Ds_H_9Yq.js deleted
-32
@@ -1,32 +0,0 @@
1 -import{v as Ju}from"./defaultSettingsView-D31xz8zv.js";import"./urlMatch-BYQrIQwR.js";var vi={exports:{}},Zu=vi.exports,pa;function mt(){return pa||(pa=1,(function(ct,xt){(function(b,pe){ct.exports=pe()})(Zu,(function(){var b=navigator.userAgent,pe=navigator.platform,_=/gecko\/\d/i.test(b),te=/MSIE \d/.test(b),oe=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(b),Q=/Edge\/(\d+)/.exec(b),k=te||oe||Q,I=k&&(te?document.documentMode||6:+(Q||oe)[1]),Y=!Q&&/WebKit\//.test(b),ne=Y&&/Qt\/\d+\.\d+/.test(b),S=!Q&&/Chrome\/(\d+)/.exec(b),R=S&&+S[1],A=/Opera\//.test(b),$=/Apple Computer/.test(navigator.vendor),ue=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(b),O=/PhantomJS/.test(b),w=$&&(/Mobile\/\w+/.test(b)||navigator.maxTouchPoints>2),M=/Android/.test(b),N=w||M||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(b),z=w||/Mac/.test(pe),X=/\bCrOS\b/.test(b),q=/win/i.test(pe),p=A&&b.match(/Version\/(\d*\.\d*)/);p&&(p=Number(p[1])),p&&p>=15&&(A=!1,Y=!0);var W=z&&(ne||A&&(p==null||p<12.11)),J=_||k&&I>=9;function P(e){return new RegExp("(^|\\s)"+e+"(?:$|\\s)\\s*")}var V=function(e,t){var n=e.className,r=P(t).exec(n);if(r){var i=n.slice(r.index+r[0].length);e.className=n.slice(0,r.index)+(i?r[1]+i:"")}};function F(e){for(var t=e.childNodes.length;t>0;--t)e.removeChild(e.firstChild);return e}function G(e,t){return F(e).appendChild(t)}function c(e,t,n,r){var i=document.createElement(e);if(n&&(i.className=n),r&&(i.style.cssText=r),typeof t=="string")i.appendChild(document.createTextNode(t));else if(t)for(var o=0;o<t.length;++o)i.appendChild(t[o]);return i}function T(e,t,n,r){var i=c(e,t,n,r);return i.setAttribute("role","presentation"),i}var C;document.createRange?C=function(e,t,n,r){var i=document.createRange();return i.setEnd(r||e,n),i.setStart(e,t),i}:C=function(e,t,n){var r=document.body.createTextRange();try{r.moveToElementText(e.parentNode)}catch{return r}return r.collapse(!0),r.moveEnd("character",n),r.moveStart("character",t),r};function g(e,t){if(t.nodeType==3&&(t=t.parentNode),e.contains)return e.contains(t);do if(t.nodeType==11&&(t=t.host),t==e)return!0;while(t=t.parentNode)}function y(e){var t=e.ownerDocument||e,n;try{n=e.activeElement}catch{n=t.body||null}for(;n&&n.shadowRoot&&n.shadowRoot.activeElement;)n=n.shadowRoot.activeElement;return n}function j(e,t){var n=e.className;P(t).test(n)||(e.className+=(n?" ":"")+t)}function de(e,t){for(var n=e.split(" "),r=0;r<n.length;r++)n[r]&&!P(n[r]).test(t)&&(t+=" "+n[r]);return t}var v=function(e){e.select()};w?v=function(e){e.selectionStart=0,e.selectionEnd=e.value.length}:k&&(v=function(e){try{e.select()}catch{}});function d(e){return e.display.wrapper.ownerDocument}function fe(e){return Te(e.display.wrapper)}function Te(e){return e.getRootNode?e.getRootNode():e.ownerDocument}function le(e){return d(e).defaultView}function xe(e){var t=Array.prototype.slice.call(arguments,1);return function(){return e.apply(null,t)}}function Me(e,t,n){t||(t={});for(var r in e)e.hasOwnProperty(r)&&(n!==!1||!t.hasOwnProperty(r))&&(t[r]=e[r]);return t}function Fe(e,t,n,r,i){t==null&&(t=e.search(/[^\s\u00a0]/),t==-1&&(t=e.length));for(var o=r||0,l=i||0;;){var a=e.indexOf(" ",o);if(a<0||a>=t)return l+(t-o);l+=a-o,l+=n-l%n,o=a+1}}var Ce=function(){this.id=null,this.f=null,this.time=0,this.handler=xe(this.onTimeout,this)};Ce.prototype.onTimeout=function(e){e.id=0,e.time<=+new Date?e.f():setTimeout(e.handler,e.time-+new Date)},Ce.prototype.set=function(e,t){this.f=t;var n=+new Date+e;(!this.id||n<this.time)&&(clearTimeout(this.id),this.id=setTimeout(this.handler,e),this.time=n)};function ve(e,t){for(var n=0;n<e.length;++n)if(e[n]==t)return n;return-1}var Oe=50,qe={toString:function(){return"CodeMirror.Pass"}},$e={scroll:!1},dt={origin:"*mouse"},Pe={origin:"+move"};function _e(e,t,n){for(var r=0,i=0;;){var o=e.indexOf(" ",r);o==-1&&(o=e.length);var l=o-r;if(o==e.length||i+l>=t)return r+Math.min(l,t-i);if(i+=o-r,i+=n-i%n,r=o+1,i>=t)return r}}var Ue=[""];function et(e){for(;Ue.length<=e;)Ue.push(we(Ue)+" ");return Ue[e]}function we(e){return e[e.length-1]}function Ie(e,t){for(var n=[],r=0;r<e.length;r++)n[r]=t(e[r],r);return n}function E(e,t,n){for(var r=0,i=n(t);r<e.length&&n(e[r])<=i;)r++;e.splice(r,0,t)}function ee(){}function K(e,t){var n;return Object.create?n=Object.create(e):(ee.prototype=e,n=new ee),t&&Me(t,n),n}var ze=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;function me(e){return/\w/.test(e)||e>"€"&&(e.toUpperCase()!=e.toLowerCase()||ze.test(e))}function De(e,t){return t?t.source.indexOf("\\w")>-1&&me(e)?!0:t.test(e):me(e)}function be(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!1;return!0}var Be=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function Ne(e){return e.charCodeAt(0)>=768&&Be.test(e)}function Mt(e,t,n){for(;(n<0?t>0:t<e.length)&&Ne(e.charAt(t));)t+=n;return t}function Pt(e,t,n){for(var r=t>n?-1:1;;){if(t==n)return t;var i=(t+n)/2,o=r<0?Math.ceil(i):Math.floor(i);if(o==t)return e(o)?t:n;e(o)?n=o:t=o+r}}function or(e,t,n,r){if(!e)return r(t,n,"ltr",0);for(var i=!1,o=0;o<e.length;++o){var l=e[o];(l.from<n&&l.to>t||t==n&&l.to==t)&&(r(Math.max(l.from,t),Math.min(l.to,n),l.level==1?"rtl":"ltr",o),i=!0)}i||r(t,n,"ltr")}var br=null;function lr(e,t,n){var r;br=null;for(var i=0;i<e.length;++i){var o=e[i];if(o.from<t&&o.to>t)return i;o.to==t&&(o.from!=o.to&&n=="before"?r=i:br=i),o.from==t&&(o.from!=o.to&&n!="before"?r=i:br=i)}return r??br}var mi=(function(){var e="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN",t="nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111";function n(u){return u<=247?e.charAt(u):1424<=u&&u<=1524?"R":1536<=u&&u<=1785?t.charAt(u-1536):1774<=u&&u<=2220?"r":8192<=u&&u<=8203?"w":u==8204?"b":"L"}var r=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,i=/[stwN]/,o=/[LRr]/,l=/[Lb1n]/,a=/[1n]/;function s(u,h,x){this.level=u,this.from=h,this.to=x}return function(u,h){var x=h=="ltr"?"L":"R";if(u.length==0||h=="ltr"&&!r.test(u))return!1;for(var D=u.length,L=[],H=0;H<D;++H)L.push(n(u.charCodeAt(H)));for(var Z=0,ie=x;Z<D;++Z){var ae=L[Z];ae=="m"?L[Z]=ie:ie=ae}for(var he=0,se=x;he<D;++he){var ge=L[he];ge=="1"&&se=="r"?L[he]="n":o.test(ge)&&(se=ge,ge=="r"&&(L[he]="R"))}for(var Le=1,ke=L[0];Le<D-1;++Le){var Ee=L[Le];Ee=="+"&&ke=="1"&&L[Le+1]=="1"?L[Le]="1":Ee==","&&ke==L[Le+1]&&(ke=="1"||ke=="n")&&(L[Le]=ke),ke=Ee}for(var Ke=0;Ke<D;++Ke){var st=L[Ke];if(st==",")L[Ke]="N";else if(st=="%"){var Xe=void 0;for(Xe=Ke+1;Xe<D&&L[Xe]=="%";++Xe);for(var Nt=Ke&&L[Ke-1]=="!"||Xe<D&&L[Xe]=="1"?"1":"N",Tt=Ke;Tt<Xe;++Tt)L[Tt]=Nt;Ke=Xe-1}}for(var tt=0,Ct=x;tt<D;++tt){var ft=L[tt];Ct=="L"&&ft=="1"?L[tt]="L":o.test(ft)&&(Ct=ft)}for(var nt=0;nt<D;++nt)if(i.test(L[nt])){var rt=void 0;for(rt=nt+1;rt<D&&i.test(L[rt]);++rt);for(var Ze=(nt?L[nt-1]:x)=="L",Dt=(rt<D?L[rt]:x)=="L",nn=Ze==Dt?Ze?"L":"R":x,yr=nt;yr<rt;++yr)L[yr]=nn;nt=rt-1}for(var vt=[],Jt,ut=0;ut<D;)if(l.test(L[ut])){var co=ut;for(++ut;ut<D&&l.test(L[ut]);++ut);vt.push(new s(0,co,ut))}else{var ir=ut,Ar=vt.length,Nr=h=="rtl"?1:0;for(++ut;ut<D&&L[ut]!="L";++ut);for(var bt=ir;bt<ut;)if(a.test(L[bt])){ir<bt&&(vt.splice(Ar,0,new s(1,ir,bt)),Ar+=Nr);var on=bt;for(++bt;bt<ut&&a.test(L[bt]);++bt);vt.splice(Ar,0,new s(2,on,bt)),Ar+=Nr,ir=bt}else++bt;ir<ut&&vt.splice(Ar,0,new s(1,ir,ut))}return h=="ltr"&&(vt[0].level==1&&(Jt=u.match(/^\s+/))&&(vt[0].from=Jt[0].length,vt.unshift(new s(0,0,Jt[0].length))),we(vt).level==1&&(Jt=u.match(/\s+$/))&&(we(vt).to-=Jt[0].length,vt.push(new s(0,D-Jt[0].length,D)))),h=="rtl"?vt.reverse():vt}})();function Re(e,t){var n=e.order;return n==null&&(n=e.order=mi(e.text,t)),n}var Bn=[],Se=function(e,t,n){if(e.addEventListener)e.addEventListener(t,n,!1);else if(e.attachEvent)e.attachEvent("on"+t,n);else{var r=e._handlers||(e._handlers={});r[t]=(r[t]||Bn).concat(n)}};function Zt(e,t){return e._handlers&&e._handlers[t]||Bn}function ht(e,t,n){if(e.removeEventListener)e.removeEventListener(t,n,!1);else if(e.detachEvent)e.detachEvent("on"+t,n);else{var r=e._handlers,i=r&&r[t];if(i){var o=ve(i,n);o>-1&&(r[t]=i.slice(0,o).concat(i.slice(o+1)))}}}function Ye(e,t){var n=Zt(e,t);if(n.length)for(var r=Array.prototype.slice.call(arguments,2),i=0;i<n.length;++i)n[i].apply(null,r)}function Qe(e,t,n){return typeof t=="string"&&(t={type:t,preventDefault:function(){this.defaultPrevented=!0}}),Ye(e,n||t.type,e,t),kt(t)||t.codemirrorIgnore}function It(e){var t=e._handlers&&e._handlers.cursorActivity;if(t)for(var n=e.curOp.cursorActivityHandlers||(e.curOp.cursorActivityHandlers=[]),r=0;r<t.length;++r)ve(n,t[r])==-1&&n.push(t[r])}function Ft(e,t){return Zt(e,t).length>0}function Bt(e){e.prototype.on=function(t,n){Se(this,t,n)},e.prototype.off=function(t,n){ht(this,t,n)}}function pt(e){e.preventDefault?e.preventDefault():e.returnValue=!1}function Er(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}function kt(e){return e.defaultPrevented!=null?e.defaultPrevented:e.returnValue==!1}function ar(e){pt(e),Er(e)}function ln(e){return e.target||e.srcElement}function Rt(e){var t=e.which;return t==null&&(e.button&1?t=1:e.button&2?t=3:e.button&4&&(t=2)),z&&e.ctrlKey&&t==1&&(t=3),t}var xi=(function(){if(k&&I<9)return!1;var e=c("div");return"draggable"in e||"dragDrop"in e})(),Or;function Rn(e){if(Or==null){var t=c("span","​");G(e,c("span",[t,document.createTextNode("x")])),e.firstChild.offsetHeight!=0&&(Or=t.offsetWidth<=1&&t.offsetHeight>2&&!(k&&I<8))}var n=Or?c("span","​"):c("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px");return n.setAttribute("cm-text",""),n}var an;function sr(e){if(an!=null)return an;var t=G(e,document.createTextNode("AخA")),n=C(t,0,1).getBoundingClientRect(),r=C(t,1,2).getBoundingClientRect();return F(e),!n||n.left==n.right?!1:an=r.right-n.right<3}var zt=`
2 -
3 -b`.split(/\n/).length!=3?function(e){for(var t=0,n=[],r=e.length;t<=r;){var i=e.indexOf(`
4 -`,t);i==-1&&(i=e.length);var o=e.slice(t,e.charAt(i-1)=="\r"?i-1:i),l=o.indexOf("\r");l!=-1?(n.push(o.slice(0,l)),t+=l+1):(n.push(o),t=i+1)}return n}:function(e){return e.split(/\r\n?|\n/)},ur=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch{return!1}}:function(e){var t;try{t=e.ownerDocument.selection.createRange()}catch{}return!t||t.parentElement()!=e?!1:t.compareEndPoints("StartToEnd",t)!=0},Wn=(function(){var e=c("div");return"oncopy"in e?!0:(e.setAttribute("oncopy","return;"),typeof e.oncopy=="function")})(),Wt=null;function yi(e){if(Wt!=null)return Wt;var t=G(e,c("span","x")),n=t.getBoundingClientRect(),r=C(t,0,1).getBoundingClientRect();return Wt=Math.abs(n.left-r.left)>1}var Pr={},Ht={};function _t(e,t){arguments.length>2&&(t.dependencies=Array.prototype.slice.call(arguments,2)),Pr[e]=t}function kr(e,t){Ht[e]=t}function Ir(e){if(typeof e=="string"&&Ht.hasOwnProperty(e))e=Ht[e];else if(e&&typeof e.name=="string"&&Ht.hasOwnProperty(e.name)){var t=Ht[e.name];typeof t=="string"&&(t={name:t}),e=K(t,e),e.name=t.name}else{if(typeof e=="string"&&/^[\w\-]+\/[\w\-]+\+xml$/.test(e))return Ir("application/xml");if(typeof e=="string"&&/^[\w\-]+\/[\w\-]+\+json$/.test(e))return Ir("application/json")}return typeof e=="string"?{name:e}:e||{name:"null"}}function zr(e,t){t=Ir(t);var n=Pr[t.name];if(!n)return zr(e,"text/plain");var r=n(e,t);if(fr.hasOwnProperty(t.name)){var i=fr[t.name];for(var o in i)i.hasOwnProperty(o)&&(r.hasOwnProperty(o)&&(r["_"+o]=r[o]),r[o]=i[o])}if(r.name=t.name,t.helperType&&(r.helperType=t.helperType),t.modeProps)for(var l in t.modeProps)r[l]=t.modeProps[l];return r}var fr={};function Br(e,t){var n=fr.hasOwnProperty(e)?fr[e]:fr[e]={};Me(t,n)}function Gt(e,t){if(t===!0)return t;if(e.copyState)return e.copyState(t);var n={};for(var r in t){var i=t[r];i instanceof Array&&(i=i.concat([])),n[r]=i}return n}function sn(e,t){for(var n;e.innerMode&&(n=e.innerMode(t),!(!n||n.mode==e));)t=n.state,e=n.mode;return n||{mode:e,state:t}}function Rr(e,t,n){return e.startState?e.startState(t,n):!0}var Je=function(e,t,n){this.pos=this.start=0,this.string=e,this.tabSize=t||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=n};Je.prototype.eol=function(){return this.pos>=this.string.length},Je.prototype.sol=function(){return this.pos==this.lineStart},Je.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},Je.prototype.next=function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},Je.prototype.eat=function(e){var t=this.string.charAt(this.pos),n;if(typeof e=="string"?n=t==e:n=t&&(e.test?e.test(t):e(t)),n)return++this.pos,t},Je.prototype.eatWhile=function(e){for(var t=this.pos;this.eat(e););return this.pos>t},Je.prototype.eatSpace=function(){for(var e=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},Je.prototype.skipToEnd=function(){this.pos=this.string.length},Je.prototype.skipTo=function(e){var t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0},Je.prototype.backUp=function(e){this.pos-=e},Je.prototype.column=function(){return this.lastColumnPos<this.start&&(this.lastColumnValue=Fe(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue-(this.lineStart?Fe(this.string,this.lineStart,this.tabSize):0)},Je.prototype.indentation=function(){return Fe(this.string,null,this.tabSize)-(this.lineStart?Fe(this.string,this.lineStart,this.tabSize):0)},Je.prototype.match=function(e,t,n){if(typeof e=="string"){var r=function(l){return n?l.toLowerCase():l},i=this.string.substr(this.pos,e.length);if(r(i)==r(e))return t!==!1&&(this.pos+=e.length),!0}else{var o=this.string.slice(this.pos).match(e);return o&&o.index>0?null:(o&&t!==!1&&(this.pos+=o[0].length),o)}},Je.prototype.current=function(){return this.string.slice(this.start,this.pos)},Je.prototype.hideFirstChars=function(e,t){this.lineStart+=e;try{return t()}finally{this.lineStart-=e}},Je.prototype.lookAhead=function(e){var t=this.lineOracle;return t&&t.lookAhead(e)},Je.prototype.baseToken=function(){var e=this.lineOracle;return e&&e.baseToken(this.pos)};function ye(e,t){if(t-=e.first,t<0||t>=e.size)throw new Error("There is no line "+(t+e.first)+" in the document.");for(var n=e;!n.lines;)for(var r=0;;++r){var i=n.children[r],o=i.chunkSize();if(t<o){n=i;break}t-=o}return n.lines[t]}function $t(e,t,n){var r=[],i=t.line;return e.iter(t.line,n.line+1,function(o){var l=o.text;i==n.line&&(l=l.slice(0,n.ch)),i==t.line&&(l=l.slice(t.ch)),r.push(l),++i}),r}function un(e,t,n){var r=[];return e.iter(t,n,function(i){r.push(i.text)}),r}function Et(e,t){var n=t-e.height;if(n)for(var r=e;r;r=r.parent)r.height+=n}function f(e){if(e.parent==null)return null;for(var t=e.parent,n=ve(t.lines,e),r=t.parent;r;t=r,r=r.parent)for(var i=0;r.children[i]!=t;++i)n+=r.children[i].chunkSize();return n+t.first}function m(e,t){var n=e.first;e:do{for(var r=0;r<e.children.length;++r){var i=e.children[r],o=i.height;if(t<o){e=i;continue e}t-=o,n+=i.chunkSize()}return n}while(!e.lines);for(var l=0;l<e.lines.length;++l){var a=e.lines[l],s=a.height;if(t<s)break;t-=s}return n+l}function U(e,t){return t>=e.first&&t<e.first+e.size}function re(e,t){return String(e.lineNumberFormatter(t+e.firstLineNumber))}function B(e,t,n){if(n===void 0&&(n=null),!(this instanceof B))return new B(e,t,n);this.line=e,this.ch=t,this.sticky=n}function ce(e,t){return e.line-t.line||e.ch-t.ch}function We(e,t){return e.sticky==t.sticky&&ce(e,t)==0}function it(e){return B(e.line,e.ch)}function wt(e,t){return ce(e,t)<0?t:e}function Wr(e,t){return ce(e,t)<0?e:t}function go(e,t){return Math.max(e.first,Math.min(t,e.first+e.size-1))}function Ae(e,t){if(t.line<e.first)return B(e.first,0);var n=e.first+e.size-1;return t.line>n?B(n,ye(e,n).text.length):Za(t,ye(e,t.line).text.length)}function Za(e,t){var n=e.ch;return n==null||n>t?B(e.line,t):n<0?B(e.line,0):e}function vo(e,t){for(var n=[],r=0;r<t.length;r++)n[r]=Ae(e,t[r]);return n}var Hn=function(e,t){this.state=e,this.lookAhead=t},Xt=function(e,t,n,r){this.state=t,this.doc=e,this.line=n,this.maxLookAhead=r||0,this.baseTokens=null,this.baseTokenPos=1};Xt.prototype.lookAhead=function(e){var t=this.doc.getLine(this.line+e);return t!=null&&e>this.maxLookAhead&&(this.maxLookAhead=e),t},Xt.prototype.baseToken=function(e){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=e;)this.baseTokenPos+=2;var t=this.baseTokens[this.baseTokenPos+1];return{type:t&&t.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-e}},Xt.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},Xt.fromSaved=function(e,t,n){return t instanceof Hn?new Xt(e,Gt(e.mode,t.state),n,t.lookAhead):new Xt(e,Gt(e.mode,t),n)},Xt.prototype.save=function(e){var t=e!==!1?Gt(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new Hn(t,this.maxLookAhead):t};function mo(e,t,n,r){var i=[e.state.modeGen],o={};So(e,t.text,e.doc.mode,n,function(u,h){return i.push(u,h)},o,r);for(var l=n.state,a=function(u){n.baseTokens=i;var h=e.state.overlays[u],x=1,D=0;n.state=!0,So(e,t.text,h.mode,n,function(L,H){for(var Z=x;D<L;){var ie=i[x];ie>L&&i.splice(x,1,L,i[x+1],ie),x+=2,D=Math.min(L,ie)}if(H)if(h.opaque)i.splice(Z,x-Z,L,"overlay "+H),x=Z+2;else for(;Z<x;Z+=2){var ae=i[Z+1];i[Z+1]=(ae?ae+" ":"")+"overlay "+H}},o),n.state=l,n.baseTokens=null,n.baseTokenPos=1},s=0;s<e.state.overlays.length;++s)a(s);return{styles:i,classes:o.bgClass||o.textClass?o:null}}function xo(e,t,n){if(!t.styles||t.styles[0]!=e.state.modeGen){var r=fn(e,f(t)),i=t.text.length>e.options.maxHighlightLength&&Gt(e.doc.mode,r.state),o=mo(e,t,r);i&&(r.state=i),t.stateAfter=r.save(!i),t.styles=o.styles,o.classes?t.styleClasses=o.classes:t.styleClasses&&(t.styleClasses=null),n===e.doc.highlightFrontier&&(e.doc.modeFrontier=Math.max(e.doc.modeFrontier,++e.doc.highlightFrontier))}return t.styles}function fn(e,t,n){var r=e.doc,i=e.display;if(!r.mode.startState)return new Xt(r,!0,t);var o=$a(e,t,n),l=o>r.first&&ye(r,o-1).stateAfter,a=l?Xt.fromSaved(r,l,o):new Xt(r,Rr(r.mode),o);return r.iter(o,t,function(s){bi(e,s.text,a);var u=a.line;s.stateAfter=u==t-1||u%5==0||u>=i.viewFrom&&u<i.viewTo?a.save():null,a.nextLine()}),n&&(r.modeFrontier=a.line),a}function bi(e,t,n,r){var i=e.doc.mode,o=new Je(t,e.options.tabSize,n);for(o.start=o.pos=r||0,t==""&&yo(i,n.state);!o.eol();)ki(i,o,n.state),o.start=o.pos}function yo(e,t){if(e.blankLine)return e.blankLine(t);if(e.innerMode){var n=sn(e,t);if(n.mode.blankLine)return n.mode.blankLine(n.state)}}function ki(e,t,n,r){for(var i=0;i<10;i++){r&&(r[0]=sn(e,n).mode);var o=e.token(t,n);if(t.pos>t.start)return o}throw new Error("Mode "+e.name+" failed to advance stream.")}var bo=function(e,t,n){this.start=e.start,this.end=e.pos,this.string=e.current(),this.type=t||null,this.state=n};function ko(e,t,n,r){var i=e.doc,o=i.mode,l;t=Ae(i,t);var a=ye(i,t.line),s=fn(e,t.line,n),u=new Je(a.text,e.options.tabSize,s),h;for(r&&(h=[]);(r||u.pos<t.ch)&&!u.eol();)u.start=u.pos,l=ki(o,u,s.state),r&&h.push(new bo(u,l,Gt(i.mode,s.state)));return r?h:new bo(u,l,s.state)}function wo(e,t){if(e)for(;;){var n=e.match(/(?:^|\s+)line-(background-)?(\S+)/);if(!n)break;e=e.slice(0,n.index)+e.slice(n.index+n[0].length);var r=n[1]?"bgClass":"textClass";t[r]==null?t[r]=n[2]:new RegExp("(?:^|\\s)"+n[2]+"(?:$|\\s)").test(t[r])||(t[r]+=" "+n[2])}return e}function So(e,t,n,r,i,o,l){var a=n.flattenSpans;a==null&&(a=e.options.flattenSpans);var s=0,u=null,h=new Je(t,e.options.tabSize,r),x,D=e.options.addModeClass&&[null];for(t==""&&wo(yo(n,r.state),o);!h.eol();){if(h.pos>e.options.maxHighlightLength?(a=!1,l&&bi(e,t,r,h.pos),h.pos=t.length,x=null):x=wo(ki(n,h,r.state,D),o),D){var L=D[0].name;L&&(x="m-"+(x?L+" "+x:L))}if(!a||u!=x){for(;s<h.start;)s=Math.min(h.start,s+5e3),i(s,u);u=x}h.start=h.pos}for(;s<h.pos;){var H=Math.min(h.pos,s+5e3);i(H,u),s=H}}function $a(e,t,n){for(var r,i,o=e.doc,l=n?-1:t-(e.doc.mode.innerMode?1e3:100),a=t;a>l;--a){if(a<=o.first)return o.first;var s=ye(o,a-1),u=s.stateAfter;if(u&&(!n||a+(u instanceof Hn?u.lookAhead:0)<=o.modeFrontier))return a;var h=Fe(s.text,null,e.options.tabSize);(i==null||r>h)&&(i=a-1,r=h)}return i}function Va(e,t){if(e.modeFrontier=Math.min(e.modeFrontier,t),!(e.highlightFrontier<t-10)){for(var n=e.first,r=t-1;r>n;r--){var i=ye(e,r).stateAfter;if(i&&(!(i instanceof Hn)||r+i.lookAhead<t)){n=r+1;break}}e.highlightFrontier=Math.min(e.highlightFrontier,n)}}var Lo=!1,Vt=!1;function es(){Lo=!0}function ts(){Vt=!0}function _n(e,t,n){this.marker=e,this.from=t,this.to=n}function cn(e,t){if(e)for(var n=0;n<e.length;++n){var r=e[n];if(r.marker==t)return r}}function rs(e,t){for(var n,r=0;r<e.length;++r)e[r]!=t&&(n||(n=[])).push(e[r]);return n}function ns(e,t,n){var r=n&&window.WeakSet&&(n.markedSpans||(n.markedSpans=new WeakSet));r&&e.markedSpans&&r.has(e.markedSpans)?e.markedSpans.push(t):(e.markedSpans=e.markedSpans?e.markedSpans.concat([t]):[t],r&&r.add(e.markedSpans)),t.marker.attachLine(e)}function is(e,t,n){var r;if(e)for(var i=0;i<e.length;++i){var o=e[i],l=o.marker,a=o.from==null||(l.inclusiveLeft?o.from<=t:o.from<t);if(a||o.from==t&&l.type=="bookmark"&&(!n||!o.marker.insertLeft)){var s=o.to==null||(l.inclusiveRight?o.to>=t:o.to>t);(r||(r=[])).push(new _n(l,o.from,s?null:o.to))}}return r}function os(e,t,n){var r;if(e)for(var i=0;i<e.length;++i){var o=e[i],l=o.marker,a=o.to==null||(l.inclusiveRight?o.to>=t:o.to>t);if(a||o.from==t&&l.type=="bookmark"&&(!n||o.marker.insertLeft)){var s=o.from==null||(l.inclusiveLeft?o.from<=t:o.from<t);(r||(r=[])).push(new _n(l,s?null:o.from-t,o.to==null?null:o.to-t))}}return r}function wi(e,t){if(t.full)return null;var n=U(e,t.from.line)&&ye(e,t.from.line).markedSpans,r=U(e,t.to.line)&&ye(e,t.to.line).markedSpans;if(!n&&!r)return null;var i=t.from.ch,o=t.to.ch,l=ce(t.from,t.to)==0,a=is(n,i,l),s=os(r,o,l),u=t.text.length==1,h=we(t.text).length+(u?i:0);if(a)for(var x=0;x<a.length;++x){var D=a[x];if(D.to==null){var L=cn(s,D.marker);L?u&&(D.to=L.to==null?null:L.to+h):D.to=i}}if(s)for(var H=0;H<s.length;++H){var Z=s[H];if(Z.to!=null&&(Z.to+=h),Z.from==null){var ie=cn(a,Z.marker);ie||(Z.from=h,u&&(a||(a=[])).push(Z))}else Z.from+=h,u&&(a||(a=[])).push(Z)}a&&(a=To(a)),s&&s!=a&&(s=To(s));var ae=[a];if(!u){var he=t.text.length-2,se;if(he>0&&a)for(var ge=0;ge<a.length;++ge)a[ge].to==null&&(se||(se=[])).push(new _n(a[ge].marker,null,null));for(var Le=0;Le<he;++Le)ae.push(se);ae.push(s)}return ae}function To(e){for(var t=0;t<e.length;++t){var n=e[t];n.from!=null&&n.from==n.to&&n.marker.clearWhenEmpty!==!1&&e.splice(t--,1)}return e.length?e:null}function ls(e,t,n){var r=null;if(e.iter(t.line,n.line+1,function(L){if(L.markedSpans)for(var H=0;H<L.markedSpans.length;++H){var Z=L.markedSpans[H].marker;Z.readOnly&&(!r||ve(r,Z)==-1)&&(r||(r=[])).push(Z)}}),!r)return null;for(var i=[{from:t,to:n}],o=0;o<r.length;++o)for(var l=r[o],a=l.find(0),s=0;s<i.length;++s){var u=i[s];if(!(ce(u.to,a.from)<0||ce(u.from,a.to)>0)){var h=[s,1],x=ce(u.from,a.from),D=ce(u.to,a.to);(x<0||!l.inclusiveLeft&&!x)&&h.push({from:u.from,to:a.from}),(D>0||!l.inclusiveRight&&!D)&&h.push({from:a.to,to:u.to}),i.splice.apply(i,h),s+=h.length-3}}return i}function Co(e){var t=e.markedSpans;if(t){for(var n=0;n<t.length;++n)t[n].marker.detachLine(e);e.markedSpans=null}}function Do(e,t){if(t){for(var n=0;n<t.length;++n)t[n].marker.attachLine(e);e.markedSpans=t}}function qn(e){return e.inclusiveLeft?-1:0}function jn(e){return e.inclusiveRight?1:0}function Si(e,t){var n=e.lines.length-t.lines.length;if(n!=0)return n;var r=e.find(),i=t.find(),o=ce(r.from,i.from)||qn(e)-qn(t);if(o)return-o;var l=ce(r.to,i.to)||jn(e)-jn(t);return l||t.id-e.id}function Mo(e,t){var n=Vt&&e.markedSpans,r;if(n)for(var i=void 0,o=0;o<n.length;++o)i=n[o],i.marker.collapsed&&(t?i.from:i.to)==null&&(!r||Si(r,i.marker)<0)&&(r=i.marker);return r}function Fo(e){return Mo(e,!0)}function Kn(e){return Mo(e,!1)}function as(e,t){var n=Vt&&e.markedSpans,r;if(n)for(var i=0;i<n.length;++i){var o=n[i];o.marker.collapsed&&(o.from==null||o.from<t)&&(o.to==null||o.to>t)&&(!r||Si(r,o.marker)<0)&&(r=o.marker)}return r}function Ao(e,t,n,r,i){var o=ye(e,t),l=Vt&&o.markedSpans;if(l)for(var a=0;a<l.length;++a){var s=l[a];if(s.marker.collapsed){var u=s.marker.find(0),h=ce(u.from,n)||qn(s.marker)-qn(i),x=ce(u.to,r)||jn(s.marker)-jn(i);if(!(h>=0&&x<=0||h<=0&&x>=0)&&(h<=0&&(s.marker.inclusiveRight&&i.inclusiveLeft?ce(u.to,n)>=0:ce(u.to,n)>0)||h>=0&&(s.marker.inclusiveRight&&i.inclusiveLeft?ce(u.from,r)<=0:ce(u.from,r)<0)))return!0}}}function qt(e){for(var t;t=Fo(e);)e=t.find(-1,!0).line;return e}function ss(e){for(var t;t=Kn(e);)e=t.find(1,!0).line;return e}function us(e){for(var t,n;t=Kn(e);)e=t.find(1,!0).line,(n||(n=[])).push(e);return n}function Li(e,t){var n=ye(e,t),r=qt(n);return n==r?t:f(r)}function No(e,t){if(t>e.lastLine())return t;var n=ye(e,t),r;if(!cr(e,n))return t;for(;r=Kn(n);)n=r.find(1,!0).line;return f(n)+1}function cr(e,t){var n=Vt&&t.markedSpans;if(n){for(var r=void 0,i=0;i<n.length;++i)if(r=n[i],!!r.marker.collapsed){if(r.from==null)return!0;if(!r.marker.widgetNode&&r.from==0&&r.marker.inclusiveLeft&&Ti(e,t,r))return!0}}}function Ti(e,t,n){if(n.to==null){var r=n.marker.find(1,!0);return Ti(e,r.line,cn(r.line.markedSpans,n.marker))}if(n.marker.inclusiveRight&&n.to==t.text.length)return!0;for(var i=void 0,o=0;o<t.markedSpans.length;++o)if(i=t.markedSpans[o],i.marker.collapsed&&!i.marker.widgetNode&&i.from==n.to&&(i.to==null||i.to!=n.from)&&(i.marker.inclusiveLeft||n.marker.inclusiveRight)&&Ti(e,t,i))return!0}function er(e){e=qt(e);for(var t=0,n=e.parent,r=0;r<n.lines.length;++r){var i=n.lines[r];if(i==e)break;t+=i.height}for(var o=n.parent;o;n=o,o=n.parent)for(var l=0;l<o.children.length;++l){var a=o.children[l];if(a==n)break;t+=a.height}return t}function Un(e){if(e.height==0)return 0;for(var t=e.text.length,n,r=e;n=Fo(r);){var i=n.find(0,!0);r=i.from.line,t+=i.from.ch-i.to.ch}for(r=e;n=Kn(r);){var o=n.find(0,!0);t-=r.text.length-o.from.ch,r=o.to.line,t+=r.text.length-o.to.ch}return t}function Ci(e){var t=e.display,n=e.doc;t.maxLine=ye(n,n.first),t.maxLineLength=Un(t.maxLine),t.maxLineChanged=!0,n.iter(function(r){var i=Un(r);i>t.maxLineLength&&(t.maxLineLength=i,t.maxLine=r)})}var Hr=function(e,t,n){this.text=e,Do(this,t),this.height=n?n(this):1};Hr.prototype.lineNo=function(){return f(this)},Bt(Hr);function fs(e,t,n,r){e.text=t,e.stateAfter&&(e.stateAfter=null),e.styles&&(e.styles=null),e.order!=null&&(e.order=null),Co(e),Do(e,n);var i=r?r(e):1;i!=e.height&&Et(e,i)}function cs(e){e.parent=null,Co(e)}var ds={},hs={};function Eo(e,t){if(!e||/^\s*$/.test(e))return null;var n=t.addModeClass?hs:ds;return n[e]||(n[e]=e.replace(/\S+/g,"cm-$&"))}function Oo(e,t){var n=T("span",null,null,Y?"padding-right: .1px":null),r={pre:T("pre",[n],"CodeMirror-line"),content:n,col:0,pos:0,cm:e,trailingSpace:!1,splitSpaces:e.getOption("lineWrapping")};t.measure={};for(var i=0;i<=(t.rest?t.rest.length:0);i++){var o=i?t.rest[i-1]:t.line,l=void 0;r.pos=0,r.addToken=gs,sr(e.display.measure)&&(l=Re(o,e.doc.direction))&&(r.addToken=ms(r.addToken,l)),r.map=[];var a=t!=e.display.externalMeasured&&f(o);xs(o,r,xo(e,o,a)),o.styleClasses&&(o.styleClasses.bgClass&&(r.bgClass=de(o.styleClasses.bgClass,r.bgClass||"")),o.styleClasses.textClass&&(r.textClass=de(o.styleClasses.textClass,r.textClass||""))),r.map.length==0&&r.map.push(0,0,r.content.appendChild(Rn(e.display.measure))),i==0?(t.measure.map=r.map,t.measure.cache={}):((t.measure.maps||(t.measure.maps=[])).push(r.map),(t.measure.caches||(t.measure.caches=[])).push({}))}if(Y){var s=r.content.lastChild;(/\bcm-tab\b/.test(s.className)||s.querySelector&&s.querySelector(".cm-tab"))&&(r.content.className="cm-tab-wrap-hack")}return Ye(e,"renderLine",e,t.line,r.pre),r.pre.className&&(r.textClass=de(r.pre.className,r.textClass||"")),r}function ps(e){var t=c("span","•","cm-invalidchar");return t.title="\\u"+e.charCodeAt(0).toString(16),t.setAttribute("aria-label",t.title),t}function gs(e,t,n,r,i,o,l){if(t){var a=e.splitSpaces?vs(t,e.trailingSpace):t,s=e.cm.state.specialChars,u=!1,h;if(!s.test(t))e.col+=t.length,h=document.createTextNode(a),e.map.push(e.pos,e.pos+t.length,h),k&&I<9&&(u=!0),e.pos+=t.length;else{h=document.createDocumentFragment();for(var x=0;;){s.lastIndex=x;var D=s.exec(t),L=D?D.index-x:t.length-x;if(L){var H=document.createTextNode(a.slice(x,x+L));k&&I<9?h.appendChild(c("span",[H])):h.appendChild(H),e.map.push(e.pos,e.pos+L,H),e.col+=L,e.pos+=L}if(!D)break;x+=L+1;var Z=void 0;if(D[0]==" "){var ie=e.cm.options.tabSize,ae=ie-e.col%ie;Z=h.appendChild(c("span",et(ae),"cm-tab")),Z.setAttribute("role","presentation"),Z.setAttribute("cm-text"," "),e.col+=ae}else D[0]=="\r"||D[0]==`
5 -`?(Z=h.appendChild(c("span",D[0]=="\r"?"␍":"␤","cm-invalidchar")),Z.setAttribute("cm-text",D[0]),e.col+=1):(Z=e.cm.options.specialCharPlaceholder(D[0]),Z.setAttribute("cm-text",D[0]),k&&I<9?h.appendChild(c("span",[Z])):h.appendChild(Z),e.col+=1);e.map.push(e.pos,e.pos+1,Z),e.pos++}}if(e.trailingSpace=a.charCodeAt(t.length-1)==32,n||r||i||u||o||l){var he=n||"";r&&(he+=r),i&&(he+=i);var se=c("span",[h],he,o);if(l)for(var ge in l)l.hasOwnProperty(ge)&&ge!="style"&&ge!="class"&&se.setAttribute(ge,l[ge]);return e.content.appendChild(se)}e.content.appendChild(h)}}function vs(e,t){if(e.length>1&&!/ /.test(e))return e;for(var n=t,r="",i=0;i<e.length;i++){var o=e.charAt(i);o==" "&&n&&(i==e.length-1||e.charCodeAt(i+1)==32)&&(o=" "),r+=o,n=o==" "}return r}function ms(e,t){return function(n,r,i,o,l,a,s){i=i?i+" cm-force-border":"cm-force-border";for(var u=n.pos,h=u+r.length;;){for(var x=void 0,D=0;D<t.length&&(x=t[D],!(x.to>u&&x.from<=u));D++);if(x.to>=h)return e(n,r,i,o,l,a,s);e(n,r.slice(0,x.to-u),i,o,null,a,s),o=null,r=r.slice(x.to-u),u=x.to}}}function Po(e,t,n,r){var i=!r&&n.widgetNode;i&&e.map.push(e.pos,e.pos+t,i),!r&&e.cm.display.input.needsContentAttribute&&(i||(i=e.content.appendChild(document.createElement("span"))),i.setAttribute("cm-marker",n.id)),i&&(e.cm.display.input.setUneditable(i),e.content.appendChild(i)),e.pos+=t,e.trailingSpace=!1}function xs(e,t,n){var r=e.markedSpans,i=e.text,o=0;if(!r){for(var l=1;l<n.length;l+=2)t.addToken(t,i.slice(o,o=n[l]),Eo(n[l+1],t.cm.options));return}for(var a=i.length,s=0,u=1,h="",x,D,L=0,H,Z,ie,ae,he;;){if(L==s){H=Z=ie=D="",he=null,ae=null,L=1/0;for(var se=[],ge=void 0,Le=0;Le<r.length;++Le){var ke=r[Le],Ee=ke.marker;if(Ee.type=="bookmark"&&ke.from==s&&Ee.widgetNode)se.push(Ee);else if(ke.from<=s&&(ke.to==null||ke.to>s||Ee.collapsed&&ke.to==s&&ke.from==s)){if(ke.to!=null&&ke.to!=s&&L>ke.to&&(L=ke.to,Z=""),Ee.className&&(H+=" "+Ee.className),Ee.css&&(D=(D?D+";":"")+Ee.css),Ee.startStyle&&ke.from==s&&(ie+=" "+Ee.startStyle),Ee.endStyle&&ke.to==L&&(ge||(ge=[])).push(Ee.endStyle,ke.to),Ee.title&&((he||(he={})).title=Ee.title),Ee.attributes)for(var Ke in Ee.attributes)(he||(he={}))[Ke]=Ee.attributes[Ke];Ee.collapsed&&(!ae||Si(ae.marker,Ee)<0)&&(ae=ke)}else ke.from>s&&L>ke.from&&(L=ke.from)}if(ge)for(var st=0;st<ge.length;st+=2)ge[st+1]==L&&(Z+=" "+ge[st]);if(!ae||ae.from==s)for(var Xe=0;Xe<se.length;++Xe)Po(t,0,se[Xe]);if(ae&&(ae.from||0)==s){if(Po(t,(ae.to==null?a+1:ae.to)-s,ae.marker,ae.from==null),ae.to==null)return;ae.to==s&&(ae=!1)}}if(s>=a)break;for(var Nt=Math.min(a,L);;){if(h){var Tt=s+h.length;if(!ae){var tt=Tt>Nt?h.slice(0,Nt-s):h;t.addToken(t,tt,x?x+H:H,ie,s+tt.length==L?Z:"",D,he)}if(Tt>=Nt){h=h.slice(Nt-s),s=Nt;break}s=Tt,ie=""}h=i.slice(o,o=n[u++]),x=Eo(n[u++],t.cm.options)}}}function Io(e,t,n){this.line=t,this.rest=us(t),this.size=this.rest?f(we(this.rest))-n+1:1,this.node=this.text=null,this.hidden=cr(e,t)}function Gn(e,t,n){for(var r=[],i,o=t;o<n;o=i){var l=new Io(e.doc,ye(e.doc,o),o);i=o+l.size,r.push(l)}return r}var _r=null;function ys(e){_r?_r.ops.push(e):e.ownsGroup=_r={ops:[e],delayedCallbacks:[]}}function bs(e){var t=e.delayedCallbacks,n=0;do{for(;n<t.length;n++)t[n].call(null);for(var r=0;r<e.ops.length;r++){var i=e.ops[r];if(i.cursorActivityHandlers)for(;i.cursorActivityCalled<i.cursorActivityHandlers.length;)i.cursorActivityHandlers[i.cursorActivityCalled++].call(null,i.cm)}}while(n<t.length)}function ks(e,t){var n=e.ownsGroup;if(n)try{bs(n)}finally{_r=null,t(n)}}var dn=null;function ot(e,t){var n=Zt(e,t);if(n.length){var r=Array.prototype.slice.call(arguments,2),i;_r?i=_r.delayedCallbacks:dn?i=dn:(i=dn=[],setTimeout(ws,0));for(var o=function(a){i.push(function(){return n[a].apply(null,r)})},l=0;l<n.length;++l)o(l)}}function ws(){var e=dn;dn=null;for(var t=0;t<e.length;++t)e[t]()}function zo(e,t,n,r){for(var i=0;i<t.changes.length;i++){var o=t.changes[i];o=="text"?Ls(e,t):o=="gutter"?Ro(e,t,n,r):o=="class"?Di(e,t):o=="widget"&&Ts(e,t,r)}t.changes=null}function hn(e){return e.node==e.text&&(e.node=c("div",null,null,"position: relative"),e.text.parentNode&&e.text.parentNode.replaceChild(e.node,e.text),e.node.appendChild(e.text),k&&I<8&&(e.node.style.zIndex=2)),e.node}function Ss(e,t){var n=t.bgClass?t.bgClass+" "+(t.line.bgClass||""):t.line.bgClass;if(n&&(n+=" CodeMirror-linebackground"),t.background)n?t.background.className=n:(t.background.parentNode.removeChild(t.background),t.background=null);else if(n){var r=hn(t);t.background=r.insertBefore(c("div",null,n),r.firstChild),e.display.input.setUneditable(t.background)}}function Bo(e,t){var n=e.display.externalMeasured;return n&&n.line==t.line?(e.display.externalMeasured=null,t.measure=n.measure,n.built):Oo(e,t)}function Ls(e,t){var n=t.text.className,r=Bo(e,t);t.text==t.node&&(t.node=r.pre),t.text.parentNode.replaceChild(r.pre,t.text),t.text=r.pre,r.bgClass!=t.bgClass||r.textClass!=t.textClass?(t.bgClass=r.bgClass,t.textClass=r.textClass,Di(e,t)):n&&(t.text.className=n)}function Di(e,t){Ss(e,t),t.line.wrapClass?hn(t).className=t.line.wrapClass:t.node!=t.text&&(t.node.className="");var n=t.textClass?t.textClass+" "+(t.line.textClass||""):t.line.textClass;t.text.className=n||""}function Ro(e,t,n,r){if(t.gutter&&(t.node.removeChild(t.gutter),t.gutter=null),t.gutterBackground&&(t.node.removeChild(t.gutterBackground),t.gutterBackground=null),t.line.gutterClass){var i=hn(t);t.gutterBackground=c("div",null,"CodeMirror-gutter-background "+t.line.gutterClass,"left: "+(e.options.fixedGutter?r.fixedPos:-r.gutterTotalWidth)+"px; width: "+r.gutterTotalWidth+"px"),e.display.input.setUneditable(t.gutterBackground),i.insertBefore(t.gutterBackground,t.text)}var o=t.line.gutterMarkers;if(e.options.lineNumbers||o){var l=hn(t),a=t.gutter=c("div",null,"CodeMirror-gutter-wrapper","left: "+(e.options.fixedGutter?r.fixedPos:-r.gutterTotalWidth)+"px");if(a.setAttribute("aria-hidden","true"),e.display.input.setUneditable(a),l.insertBefore(a,t.text),t.line.gutterClass&&(a.className+=" "+t.line.gutterClass),e.options.lineNumbers&&(!o||!o["CodeMirror-linenumbers"])&&(t.lineNumber=a.appendChild(c("div",re(e.options,n),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+r.gutterLeft["CodeMirror-linenumbers"]+"px; width: "+e.display.lineNumInnerWidth+"px"))),o)for(var s=0;s<e.display.gutterSpecs.length;++s){var u=e.display.gutterSpecs[s].className,h=o.hasOwnProperty(u)&&o[u];h&&a.appendChild(c("div",[h],"CodeMirror-gutter-elt","left: "+r.gutterLeft[u]+"px; width: "+r.gutterWidth[u]+"px"))}}}function Ts(e,t,n){t.alignable&&(t.alignable=null);for(var r=P("CodeMirror-linewidget"),i=t.node.firstChild,o=void 0;i;i=o)o=i.nextSibling,r.test(i.className)&&t.node.removeChild(i);Wo(e,t,n)}function Cs(e,t,n,r){var i=Bo(e,t);return t.text=t.node=i.pre,i.bgClass&&(t.bgClass=i.bgClass),i.textClass&&(t.textClass=i.textClass),Di(e,t),Ro(e,t,n,r),Wo(e,t,r),t.node}function Wo(e,t,n){if(Ho(e,t.line,t,n,!0),t.rest)for(var r=0;r<t.rest.length;r++)Ho(e,t.rest[r],t,n,!1)}function Ho(e,t,n,r,i){if(t.widgets)for(var o=hn(n),l=0,a=t.widgets;l<a.length;++l){var s=a[l],u=c("div",[s.node],"CodeMirror-linewidget"+(s.className?" "+s.className:""));s.handleMouseEvents||u.setAttribute("cm-ignore-events","true"),Ds(s,u,n,r),e.display.input.setUneditable(u),i&&s.above?o.insertBefore(u,n.gutter||n.text):o.appendChild(u),ot(s,"redraw")}}function Ds(e,t,n,r){if(e.noHScroll){(n.alignable||(n.alignable=[])).push(t);var i=r.wrapperWidth;t.style.left=r.fixedPos+"px",e.coverGutter||(i-=r.gutterTotalWidth,t.style.paddingLeft=r.gutterTotalWidth+"px"),t.style.width=i+"px"}e.coverGutter&&(t.style.zIndex=5,t.style.position="relative",e.noHScroll||(t.style.marginLeft=-r.gutterTotalWidth+"px"))}function pn(e){if(e.height!=null)return e.height;var t=e.doc.cm;if(!t)return 0;if(!g(document.body,e.node)){var n="position: relative;";e.coverGutter&&(n+="margin-left: -"+t.display.gutters.offsetWidth+"px;"),e.noHScroll&&(n+="width: "+t.display.wrapper.clientWidth+"px;"),G(t.display.measure,c("div",[e.node],null,n))}return e.height=e.node.parentNode.offsetHeight}function tr(e,t){for(var n=ln(t);n!=e.wrapper;n=n.parentNode)if(!n||n.nodeType==1&&n.getAttribute("cm-ignore-events")=="true"||n.parentNode==e.sizer&&n!=e.mover)return!0}function Xn(e){return e.lineSpace.offsetTop}function Mi(e){return e.mover.offsetHeight-e.lineSpace.offsetHeight}function _o(e){if(e.cachedPaddingH)return e.cachedPaddingH;var t=G(e.measure,c("pre","x","CodeMirror-line-like")),n=window.getComputedStyle?window.getComputedStyle(t):t.currentStyle,r={left:parseInt(n.paddingLeft),right:parseInt(n.paddingRight)};return!isNaN(r.left)&&!isNaN(r.right)&&(e.cachedPaddingH=r),r}function Yt(e){return Oe-e.display.nativeBarWidth}function wr(e){return e.display.scroller.clientWidth-Yt(e)-e.display.barWidth}function Fi(e){return e.display.scroller.clientHeight-Yt(e)-e.display.barHeight}function Ms(e,t,n){var r=e.options.lineWrapping,i=r&&wr(e);if(!t.measure.heights||r&&t.measure.width!=i){var o=t.measure.heights=[];if(r){t.measure.width=i;for(var l=t.text.firstChild.getClientRects(),a=0;a<l.length-1;a++){var s=l[a],u=l[a+1];Math.abs(s.bottom-u.bottom)>2&&o.push((s.bottom+u.top)/2-n.top)}}o.push(n.bottom-n.top)}}function qo(e,t,n){if(e.line==t)return{map:e.measure.map,cache:e.measure.cache};if(e.rest){for(var r=0;r<e.rest.length;r++)if(e.rest[r]==t)return{map:e.measure.maps[r],cache:e.measure.caches[r]};for(var i=0;i<e.rest.length;i++)if(f(e.rest[i])>n)return{map:e.measure.maps[i],cache:e.measure.caches[i],before:!0}}}function Fs(e,t){t=qt(t);var n=f(t),r=e.display.externalMeasured=new Io(e.doc,t,n);r.lineN=n;var i=r.built=Oo(e,r);return r.text=i.pre,G(e.display.lineMeasure,i.pre),r}function jo(e,t,n,r){return Qt(e,qr(e,t),n,r)}function Ai(e,t){if(t>=e.display.viewFrom&&t<e.display.viewTo)return e.display.view[Tr(e,t)];var n=e.display.externalMeasured;if(n&&t>=n.lineN&&t<n.lineN+n.size)return n}function qr(e,t){var n=f(t),r=Ai(e,n);r&&!r.text?r=null:r&&r.changes&&(zo(e,r,n,Ii(e)),e.curOp.forceUpdate=!0),r||(r=Fs(e,t));var i=qo(r,t,n);return{line:t,view:r,rect:null,map:i.map,cache:i.cache,before:i.before,hasHeights:!1}}function Qt(e,t,n,r,i){t.before&&(n=-1);var o=n+(r||""),l;return t.cache.hasOwnProperty(o)?l=t.cache[o]:(t.rect||(t.rect=t.view.text.getBoundingClientRect()),t.hasHeights||(Ms(e,t.view,t.rect),t.hasHeights=!0),l=Ns(e,t,n,r),l.bogus||(t.cache[o]=l)),{left:l.left,right:l.right,top:i?l.rtop:l.top,bottom:i?l.rbottom:l.bottom}}var Ko={left:0,right:0,top:0,bottom:0};function Uo(e,t,n){for(var r,i,o,l,a,s,u=0;u<e.length;u+=3)if(a=e[u],s=e[u+1],t<a?(i=0,o=1,l="left"):t<s?(i=t-a,o=i+1):(u==e.length-3||t==s&&e[u+3]>t)&&(o=s-a,i=o-1,t>=s&&(l="right")),i!=null){if(r=e[u+2],a==s&&n==(r.insertLeft?"left":"right")&&(l=n),n=="left"&&i==0)for(;u&&e[u-2]==e[u-3]&&e[u-1].insertLeft;)r=e[(u-=3)+2],l="left";if(n=="right"&&i==s-a)for(;u<e.length-3&&e[u+3]==e[u+4]&&!e[u+5].insertLeft;)r=e[(u+=3)+2],l="right";break}return{node:r,start:i,end:o,collapse:l,coverStart:a,coverEnd:s}}function As(e,t){var n=Ko;if(t=="left")for(var r=0;r<e.length&&(n=e[r]).left==n.right;r++);else for(var i=e.length-1;i>=0&&(n=e[i]).left==n.right;i--);return n}function Ns(e,t,n,r){var i=Uo(t.map,n,r),o=i.node,l=i.start,a=i.end,s=i.collapse,u;if(o.nodeType==3){for(var h=0;h<4;h++){for(;l&&Ne(t.line.text.charAt(i.coverStart+l));)--l;for(;i.coverStart+a<i.coverEnd&&Ne(t.line.text.charAt(i.coverStart+a));)++a;if(k&&I<9&&l==0&&a==i.coverEnd-i.coverStart?u=o.parentNode.getBoundingClientRect():u=As(C(o,l,a).getClientRects(),r),u.left||u.right||l==0)break;a=l,l=l-1,s="right"}k&&I<11&&(u=Es(e.display.measure,u))}else{l>0&&(s=r="right");var x;e.options.lineWrapping&&(x=o.getClientRects()).length>1?u=x[r=="right"?x.length-1:0]:u=o.getBoundingClientRect()}if(k&&I<9&&!l&&(!u||!u.left&&!u.right)){var D=o.parentNode.getClientRects()[0];D?u={left:D.left,right:D.left+Kr(e.display),top:D.top,bottom:D.bottom}:u=Ko}for(var L=u.top-t.rect.top,H=u.bottom-t.rect.top,Z=(L+H)/2,ie=t.view.measure.heights,ae=0;ae<ie.length-1&&!(Z<ie[ae]);ae++);var he=ae?ie[ae-1]:0,se=ie[ae],ge={left:(s=="right"?u.right:u.left)-t.rect.left,right:(s=="left"?u.left:u.right)-t.rect.left,top:he,bottom:se};return!u.left&&!u.right&&(ge.bogus=!0),e.options.singleCursorHeightPerLine||(ge.rtop=L,ge.rbottom=H),ge}function Es(e,t){if(!window.screen||screen.logicalXDPI==null||screen.logicalXDPI==screen.deviceXDPI||!yi(e))return t;var n=screen.logicalXDPI/screen.deviceXDPI,r=screen.logicalYDPI/screen.deviceYDPI;return{left:t.left*n,right:t.right*n,top:t.top*r,bottom:t.bottom*r}}function Go(e){if(e.measure&&(e.measure.cache={},e.measure.heights=null,e.rest))for(var t=0;t<e.rest.length;t++)e.measure.caches[t]={}}function Xo(e){e.display.externalMeasure=null,F(e.display.lineMeasure);for(var t=0;t<e.display.view.length;t++)Go(e.display.view[t])}function gn(e){Xo(e),e.display.cachedCharWidth=e.display.cachedTextHeight=e.display.cachedPaddingH=null,e.options.lineWrapping||(e.display.maxLineChanged=!0),e.display.lineNumChars=null}function Yo(e){return S&&M?-(e.body.getBoundingClientRect().left-parseInt(getComputedStyle(e.body).marginLeft)):e.defaultView.pageXOffset||(e.documentElement||e.body).scrollLeft}function Qo(e){return S&&M?-(e.body.getBoundingClientRect().top-parseInt(getComputedStyle(e.body).marginTop)):e.defaultView.pageYOffset||(e.documentElement||e.body).scrollTop}function Ni(e){var t=qt(e),n=t.widgets,r=0;if(n)for(var i=0;i<n.length;++i)n[i].above&&(r+=pn(n[i]));return r}function Yn(e,t,n,r,i){if(!i){var o=Ni(t);n.top+=o,n.bottom+=o}if(r=="line")return n;r||(r="local");var l=er(t);if(r=="local"?l+=Xn(e.display):l-=e.display.viewOffset,r=="page"||r=="window"){var a=e.display.lineSpace.getBoundingClientRect();l+=a.top+(r=="window"?0:Qo(d(e)));var s=a.left+(r=="window"?0:Yo(d(e)));n.left+=s,n.right+=s}return n.top+=l,n.bottom+=l,n}function Jo(e,t,n){if(n=="div")return t;var r=t.left,i=t.top;if(n=="page")r-=Yo(d(e)),i-=Qo(d(e));else if(n=="local"||!n){var o=e.display.sizer.getBoundingClientRect();r+=o.left,i+=o.top}var l=e.display.lineSpace.getBoundingClientRect();return{left:r-l.left,top:i-l.top}}function Qn(e,t,n,r,i){return r||(r=ye(e.doc,t.line)),Yn(e,r,jo(e,r,t.ch,i),n)}function jt(e,t,n,r,i,o){r=r||ye(e.doc,t.line),i||(i=qr(e,r));function l(H,Z){var ie=Qt(e,i,H,Z?"right":"left",o);return Z?ie.left=ie.right:ie.right=ie.left,Yn(e,r,ie,n)}var a=Re(r,e.doc.direction),s=t.ch,u=t.sticky;if(s>=r.text.length?(s=r.text.length,u="before"):s<=0&&(s=0,u="after"),!a)return l(u=="before"?s-1:s,u=="before");function h(H,Z,ie){var ae=a[Z],he=ae.level==1;return l(ie?H-1:H,he!=ie)}var x=lr(a,s,u),D=br,L=h(s,x,u=="before");return D!=null&&(L.other=h(s,D,u!="before")),L}function Zo(e,t){var n=0;t=Ae(e.doc,t),e.options.lineWrapping||(n=Kr(e.display)*t.ch);var r=ye(e.doc,t.line),i=er(r)+Xn(e.display);return{left:n,right:n,top:i,bottom:i+r.height}}function Ei(e,t,n,r,i){var o=B(e,t,n);return o.xRel=i,r&&(o.outside=r),o}function Oi(e,t,n){var r=e.doc;if(n+=e.display.viewOffset,n<0)return Ei(r.first,0,null,-1,-1);var i=m(r,n),o=r.first+r.size-1;if(i>o)return Ei(r.first+r.size-1,ye(r,o).text.length,null,1,1);t<0&&(t=0);for(var l=ye(r,i);;){var a=Os(e,l,i,t,n),s=as(l,a.ch+(a.xRel>0||a.outside>0?1:0));if(!s)return a;var u=s.find(1);if(u.line==i)return u;l=ye(r,i=u.line)}}function $o(e,t,n,r){r-=Ni(t);var i=t.text.length,o=Pt(function(l){return Qt(e,n,l-1).bottom<=r},i,0);return i=Pt(function(l){return Qt(e,n,l).top>r},o,i),{begin:o,end:i}}function Vo(e,t,n,r){n||(n=qr(e,t));var i=Yn(e,t,Qt(e,n,r),"line").top;return $o(e,t,n,i)}function Pi(e,t,n,r){return e.bottom<=n?!1:e.top>n?!0:(r?e.left:e.right)>t}function Os(e,t,n,r,i){i-=er(t);var o=qr(e,t),l=Ni(t),a=0,s=t.text.length,u=!0,h=Re(t,e.doc.direction);if(h){var x=(e.options.lineWrapping?Is:Ps)(e,t,n,o,h,r,i);u=x.level!=1,a=u?x.from:x.to-1,s=u?x.to:x.from-1}var D=null,L=null,H=Pt(function(Le){var ke=Qt(e,o,Le);return ke.top+=l,ke.bottom+=l,Pi(ke,r,i,!1)?(ke.top<=i&&ke.left<=r&&(D=Le,L=ke),!0):!1},a,s),Z,ie,ae=!1;if(L){var he=r-L.left<L.right-r,se=he==u;H=D+(se?0:1),ie=se?"after":"before",Z=he?L.left:L.right}else{!u&&(H==s||H==a)&&H++,ie=H==0?"after":H==t.text.length?"before":Qt(e,o,H-(u?1:0)).bottom+l<=i==u?"after":"before";var ge=jt(e,B(n,H,ie),"line",t,o);Z=ge.left,ae=i<ge.top?-1:i>=ge.bottom?1:0}return H=Mt(t.text,H,1),Ei(n,H,ie,ae,r-Z)}function Ps(e,t,n,r,i,o,l){var a=Pt(function(x){var D=i[x],L=D.level!=1;return Pi(jt(e,B(n,L?D.to:D.from,L?"before":"after"),"line",t,r),o,l,!0)},0,i.length-1),s=i[a];if(a>0){var u=s.level!=1,h=jt(e,B(n,u?s.from:s.to,u?"after":"before"),"line",t,r);Pi(h,o,l,!0)&&h.top>l&&(s=i[a-1])}return s}function Is(e,t,n,r,i,o,l){var a=$o(e,t,r,l),s=a.begin,u=a.end;/\s/.test(t.text.charAt(u-1))&&u--;for(var h=null,x=null,D=0;D<i.length;D++){var L=i[D];if(!(L.from>=u||L.to<=s)){var H=L.level!=1,Z=Qt(e,r,H?Math.min(u,L.to)-1:Math.max(s,L.from)).right,ie=Z<o?o-Z+1e9:Z-o;(!h||x>ie)&&(h=L,x=ie)}}return h||(h=i[i.length-1]),h.from<s&&(h={from:s,to:h.to,level:h.level}),h.to>u&&(h={from:h.from,to:u,level:h.level}),h}var Sr;function jr(e){if(e.cachedTextHeight!=null)return e.cachedTextHeight;if(Sr==null){Sr=c("pre",null,"CodeMirror-line-like");for(var t=0;t<49;++t)Sr.appendChild(document.createTextNode("x")),Sr.appendChild(c("br"));Sr.appendChild(document.createTextNode("x"))}G(e.measure,Sr);var n=Sr.offsetHeight/50;return n>3&&(e.cachedTextHeight=n),F(e.measure),n||1}function Kr(e){if(e.cachedCharWidth!=null)return e.cachedCharWidth;var t=c("span","xxxxxxxxxx"),n=c("pre",[t],"CodeMirror-line-like");G(e.measure,n);var r=t.getBoundingClientRect(),i=(r.right-r.left)/10;return i>2&&(e.cachedCharWidth=i),i||10}function Ii(e){for(var t=e.display,n={},r={},i=t.gutters.clientLeft,o=t.gutters.firstChild,l=0;o;o=o.nextSibling,++l){var a=e.display.gutterSpecs[l].className;n[a]=o.offsetLeft+o.clientLeft+i,r[a]=o.clientWidth}return{fixedPos:zi(t),gutterTotalWidth:t.gutters.offsetWidth,gutterLeft:n,gutterWidth:r,wrapperWidth:t.wrapper.clientWidth}}function zi(e){return e.scroller.getBoundingClientRect().left-e.sizer.getBoundingClientRect().left}function el(e){var t=jr(e.display),n=e.options.lineWrapping,r=n&&Math.max(5,e.display.scroller.clientWidth/Kr(e.display)-3);return function(i){if(cr(e.doc,i))return 0;var o=0;if(i.widgets)for(var l=0;l<i.widgets.length;l++)i.widgets[l].height&&(o+=i.widgets[l].height);return n?o+(Math.ceil(i.text.length/r)||1)*t:o+t}}function Bi(e){var t=e.doc,n=el(e);t.iter(function(r){var i=n(r);i!=r.height&&Et(r,i)})}function Lr(e,t,n,r){var i=e.display;if(!n&&ln(t).getAttribute("cm-not-content")=="true")return null;var o,l,a=i.lineSpace.getBoundingClientRect();try{o=t.clientX-a.left,l=t.clientY-a.top}catch{return null}var s=Oi(e,o,l),u;if(r&&s.xRel>0&&(u=ye(e.doc,s.line).text).length==s.ch){var h=Fe(u,u.length,e.options.tabSize)-u.length;s=B(s.line,Math.max(0,Math.round((o-_o(e.display).left)/Kr(e.display))-h))}return s}function Tr(e,t){if(t>=e.display.viewTo||(t-=e.display.viewFrom,t<0))return null;for(var n=e.display.view,r=0;r<n.length;r++)if(t-=n[r].size,t<0)return r}function St(e,t,n,r){t==null&&(t=e.doc.first),n==null&&(n=e.doc.first+e.doc.size),r||(r=0);var i=e.display;if(r&&n<i.viewTo&&(i.updateLineNumbers==null||i.updateLineNumbers>t)&&(i.updateLineNumbers=t),e.curOp.viewChanged=!0,t>=i.viewTo)Vt&&Li(e.doc,t)<i.viewTo&&hr(e);else if(n<=i.viewFrom)Vt&&No(e.doc,n+r)>i.viewFrom?hr(e):(i.viewFrom+=r,i.viewTo+=r);else if(t<=i.viewFrom&&n>=i.viewTo)hr(e);else if(t<=i.viewFrom){var o=Jn(e,n,n+r,1);o?(i.view=i.view.slice(o.index),i.viewFrom=o.lineN,i.viewTo+=r):hr(e)}else if(n>=i.viewTo){var l=Jn(e,t,t,-1);l?(i.view=i.view.slice(0,l.index),i.viewTo=l.lineN):hr(e)}else{var a=Jn(e,t,t,-1),s=Jn(e,n,n+r,1);a&&s?(i.view=i.view.slice(0,a.index).concat(Gn(e,a.lineN,s.lineN)).concat(i.view.slice(s.index)),i.viewTo+=r):hr(e)}var u=i.externalMeasured;u&&(n<u.lineN?u.lineN+=r:t<u.lineN+u.size&&(i.externalMeasured=null))}function dr(e,t,n){e.curOp.viewChanged=!0;var r=e.display,i=e.display.externalMeasured;if(i&&t>=i.lineN&&t<i.lineN+i.size&&(r.externalMeasured=null),!(t<r.viewFrom||t>=r.viewTo)){var o=r.view[Tr(e,t)];if(o.node!=null){var l=o.changes||(o.changes=[]);ve(l,n)==-1&&l.push(n)}}}function hr(e){e.display.viewFrom=e.display.viewTo=e.doc.first,e.display.view=[],e.display.viewOffset=0}function Jn(e,t,n,r){var i=Tr(e,t),o,l=e.display.view;if(!Vt||n==e.doc.first+e.doc.size)return{index:i,lineN:n};for(var a=e.display.viewFrom,s=0;s<i;s++)a+=l[s].size;if(a!=t){if(r>0){if(i==l.length-1)return null;o=a+l[i].size-t,i++}else o=a-t;t+=o,n+=o}for(;Li(e.doc,n)!=n;){if(i==(r<0?0:l.length-1))return null;n+=r*l[i-(r<0?1:0)].size,i+=r}return{index:i,lineN:n}}function zs(e,t,n){var r=e.display,i=r.view;i.length==0||t>=r.viewTo||n<=r.viewFrom?(r.view=Gn(e,t,n),r.viewFrom=t):(r.viewFrom>t?r.view=Gn(e,t,r.viewFrom).concat(r.view):r.viewFrom<t&&(r.view=r.view.slice(Tr(e,t))),r.viewFrom=t,r.viewTo<n?r.view=r.view.concat(Gn(e,r.viewTo,n)):r.viewTo>n&&(r.view=r.view.slice(0,Tr(e,n)))),r.viewTo=n}function tl(e){for(var t=e.display.view,n=0,r=0;r<t.length;r++){var i=t[r];!i.hidden&&(!i.node||i.changes)&&++n}return n}function vn(e){e.display.input.showSelection(e.display.input.prepareSelection())}function rl(e,t){t===void 0&&(t=!0);var n=e.doc,r={},i=r.cursors=document.createDocumentFragment(),o=r.selection=document.createDocumentFragment(),l=e.options.$customCursor;l&&(t=!0);for(var a=0;a<n.sel.ranges.length;a++)if(!(!t&&a==n.sel.primIndex)){var s=n.sel.ranges[a];if(!(s.from().line>=e.display.viewTo||s.to().line<e.display.viewFrom)){var u=s.empty();if(l){var h=l(e,s);h&&Ri(e,h,i)}else(u||e.options.showCursorWhenSelecting)&&Ri(e,s.head,i);u||Bs(e,s,o)}}return r}function Ri(e,t,n){var r=jt(e,t,"div",null,null,!e.options.singleCursorHeightPerLine),i=n.appendChild(c("div"," ","CodeMirror-cursor"));if(i.style.left=r.left+"px",i.style.top=r.top+"px",i.style.height=Math.max(0,r.bottom-r.top)*e.options.cursorHeight+"px",/\bcm-fat-cursor\b/.test(e.getWrapperElement().className)){var o=Qn(e,t,"div",null,null),l=o.right-o.left;i.style.width=(l>0?l:e.defaultCharWidth())+"px"}if(r.other){var a=n.appendChild(c("div"," ","CodeMirror-cursor CodeMirror-secondarycursor"));a.style.display="",a.style.left=r.other.left+"px",a.style.top=r.other.top+"px",a.style.height=(r.other.bottom-r.other.top)*.85+"px"}}function Zn(e,t){return e.top-t.top||e.left-t.left}function Bs(e,t,n){var r=e.display,i=e.doc,o=document.createDocumentFragment(),l=_o(e.display),a=l.left,s=Math.max(r.sizerWidth,wr(e)-r.sizer.offsetLeft)-l.right,u=i.direction=="ltr";function h(se,ge,Le,ke){ge<0&&(ge=0),ge=Math.round(ge),ke=Math.round(ke),o.appendChild(c("div",null,"CodeMirror-selected","position: absolute; left: "+se+`px;
6 - top: `+ge+"px; width: "+(Le??s-se)+`px;
7 - height: `+(ke-ge)+"px"))}function x(se,ge,Le){var ke=ye(i,se),Ee=ke.text.length,Ke,st;function Xe(tt,Ct){return Qn(e,B(se,tt),"div",ke,Ct)}function Nt(tt,Ct,ft){var nt=Vo(e,ke,null,tt),rt=Ct=="ltr"==(ft=="after")?"left":"right",Ze=ft=="after"?nt.begin:nt.end-(/\s/.test(ke.text.charAt(nt.end-1))?2:1);return Xe(Ze,rt)[rt]}var Tt=Re(ke,i.direction);return or(Tt,ge||0,Le??Ee,function(tt,Ct,ft,nt){var rt=ft=="ltr",Ze=Xe(tt,rt?"left":"right"),Dt=Xe(Ct-1,rt?"right":"left"),nn=ge==null&&tt==0,yr=Le==null&&Ct==Ee,vt=nt==0,Jt=!Tt||nt==Tt.length-1;if(Dt.top-Ze.top<=3){var ut=(u?nn:yr)&&vt,co=(u?yr:nn)&&Jt,ir=ut?a:(rt?Ze:Dt).left,Ar=co?s:(rt?Dt:Ze).right;h(ir,Ze.top,Ar-ir,Ze.bottom)}else{var Nr,bt,on,ho;rt?(Nr=u&&nn&&vt?a:Ze.left,bt=u?s:Nt(tt,ft,"before"),on=u?a:Nt(Ct,ft,"after"),ho=u&&yr&&Jt?s:Dt.right):(Nr=u?Nt(tt,ft,"before"):a,bt=!u&&nn&&vt?s:Ze.right,on=!u&&yr&&Jt?a:Dt.left,ho=u?Nt(Ct,ft,"after"):s),h(Nr,Ze.top,bt-Nr,Ze.bottom),Ze.bottom<Dt.top&&h(a,Ze.bottom,null,Dt.top),h(on,Dt.top,ho-on,Dt.bottom)}(!Ke||Zn(Ze,Ke)<0)&&(Ke=Ze),Zn(Dt,Ke)<0&&(Ke=Dt),(!st||Zn(Ze,st)<0)&&(st=Ze),Zn(Dt,st)<0&&(st=Dt)}),{start:Ke,end:st}}var D=t.from(),L=t.to();if(D.line==L.line)x(D.line,D.ch,L.ch);else{var H=ye(i,D.line),Z=ye(i,L.line),ie=qt(H)==qt(Z),ae=x(D.line,D.ch,ie?H.text.length+1:null).end,he=x(L.line,ie?0:null,L.ch).start;ie&&(ae.top<he.top-2?(h(ae.right,ae.top,null,ae.bottom),h(a,he.top,he.left,he.bottom)):h(ae.right,ae.top,he.left-ae.right,ae.bottom)),ae.bottom<he.top&&h(a,ae.bottom,null,he.top)}n.appendChild(o)}function Wi(e){if(e.state.focused){var t=e.display;clearInterval(t.blinker);var n=!0;t.cursorDiv.style.visibility="",e.options.cursorBlinkRate>0?t.blinker=setInterval(function(){e.hasFocus()||Ur(e),t.cursorDiv.style.visibility=(n=!n)?"":"hidden"},e.options.cursorBlinkRate):e.options.cursorBlinkRate<0&&(t.cursorDiv.style.visibility="hidden")}}function nl(e){e.hasFocus()||(e.display.input.focus(),e.state.focused||_i(e))}function Hi(e){e.state.delayingBlurEvent=!0,setTimeout(function(){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1,e.state.focused&&Ur(e))},100)}function _i(e,t){e.state.delayingBlurEvent&&!e.state.draggingText&&(e.state.delayingBlurEvent=!1),e.options.readOnly!="nocursor"&&(e.state.focused||(Ye(e,"focus",e,t),e.state.focused=!0,j(e.display.wrapper,"CodeMirror-focused"),!e.curOp&&e.display.selForContextMenu!=e.doc.sel&&(e.display.input.reset(),Y&&setTimeout(function(){return e.display.input.reset(!0)},20)),e.display.input.receivedFocus()),Wi(e))}function Ur(e,t){e.state.delayingBlurEvent||(e.state.focused&&(Ye(e,"blur",e,t),e.state.focused=!1,V(e.display.wrapper,"CodeMirror-focused")),clearInterval(e.display.blinker),setTimeout(function(){e.state.focused||(e.display.shift=!1)},150))}function $n(e){for(var t=e.display,n=t.lineDiv.offsetTop,r=Math.max(0,t.scroller.getBoundingClientRect().top),i=t.lineDiv.getBoundingClientRect().top,o=0,l=0;l<t.view.length;l++){var a=t.view[l],s=e.options.lineWrapping,u=void 0,h=0;if(!a.hidden){if(i+=a.line.height,k&&I<8){var x=a.node.offsetTop+a.node.offsetHeight;u=x-n,n=x}else{var D=a.node.getBoundingClientRect();u=D.bottom-D.top,!s&&a.text.firstChild&&(h=a.text.firstChild.getBoundingClientRect().right-D.left-1)}var L=a.line.height-u;if((L>.005||L<-.005)&&(i<r&&(o-=L),Et(a.line,u),il(a.line),a.rest))for(var H=0;H<a.rest.length;H++)il(a.rest[H]);if(h>e.display.sizerWidth){var Z=Math.ceil(h/Kr(e.display));Z>e.display.maxLineLength&&(e.display.maxLineLength=Z,e.display.maxLine=a.line,e.display.maxLineChanged=!0)}}}Math.abs(o)>2&&(t.scroller.scrollTop+=o)}function il(e){if(e.widgets)for(var t=0;t<e.widgets.length;++t){var n=e.widgets[t],r=n.node.parentNode;r&&(n.height=r.offsetHeight)}}function Vn(e,t,n){var r=n&&n.top!=null?Math.max(0,n.top):e.scroller.scrollTop;r=Math.floor(r-Xn(e));var i=n&&n.bottom!=null?n.bottom:r+e.wrapper.clientHeight,o=m(t,r),l=m(t,i);if(n&&n.ensure){var a=n.ensure.from.line,s=n.ensure.to.line;a<o?(o=a,l=m(t,er(ye(t,a))+e.wrapper.clientHeight)):Math.min(s,t.lastLine())>=l&&(o=m(t,er(ye(t,s))-e.wrapper.clientHeight),l=s)}return{from:o,to:Math.max(l,o+1)}}function Rs(e,t){if(!Qe(e,"scrollCursorIntoView")){var n=e.display,r=n.sizer.getBoundingClientRect(),i=null,o=n.wrapper.ownerDocument;if(t.top+r.top<0?i=!0:t.bottom+r.top>(o.defaultView.innerHeight||o.documentElement.clientHeight)&&(i=!1),i!=null&&!O){var l=c("div","​",null,`position: absolute;
8 - top: `+(t.top-n.viewOffset-Xn(e.display))+`px;
9 - height: `+(t.bottom-t.top+Yt(e)+n.barHeight)+`px;
10 - left: `+t.left+"px; width: "+Math.max(2,t.right-t.left)+"px;");e.display.lineSpace.appendChild(l),l.scrollIntoView(i),e.display.lineSpace.removeChild(l)}}}function Ws(e,t,n,r){r==null&&(r=0);var i;!e.options.lineWrapping&&t==n&&(n=t.sticky=="before"?B(t.line,t.ch+1,"before"):t,t=t.ch?B(t.line,t.sticky=="before"?t.ch-1:t.ch,"after"):t);for(var o=0;o<5;o++){var l=!1,a=jt(e,t),s=!n||n==t?a:jt(e,n);i={left:Math.min(a.left,s.left),top:Math.min(a.top,s.top)-r,right:Math.max(a.left,s.left),bottom:Math.max(a.bottom,s.bottom)+r};var u=qi(e,i),h=e.doc.scrollTop,x=e.doc.scrollLeft;if(u.scrollTop!=null&&(xn(e,u.scrollTop),Math.abs(e.doc.scrollTop-h)>1&&(l=!0)),u.scrollLeft!=null&&(Cr(e,u.scrollLeft),Math.abs(e.doc.scrollLeft-x)>1&&(l=!0)),!l)break}return i}function Hs(e,t){var n=qi(e,t);n.scrollTop!=null&&xn(e,n.scrollTop),n.scrollLeft!=null&&Cr(e,n.scrollLeft)}function qi(e,t){var n=e.display,r=jr(e.display);t.top<0&&(t.top=0);var i=e.curOp&&e.curOp.scrollTop!=null?e.curOp.scrollTop:n.scroller.scrollTop,o=Fi(e),l={};t.bottom-t.top>o&&(t.bottom=t.top+o);var a=e.doc.height+Mi(n),s=t.top<r,u=t.bottom>a-r;if(t.top<i)l.scrollTop=s?0:t.top;else if(t.bottom>i+o){var h=Math.min(t.top,(u?a:t.bottom)-o);h!=i&&(l.scrollTop=h)}var x=e.options.fixedGutter?0:n.gutters.offsetWidth,D=e.curOp&&e.curOp.scrollLeft!=null?e.curOp.scrollLeft:n.scroller.scrollLeft-x,L=wr(e)-n.gutters.offsetWidth,H=t.right-t.left>L;return H&&(t.right=t.left+L),t.left<10?l.scrollLeft=0:t.left<D?l.scrollLeft=Math.max(0,t.left+x-(H?0:10)):t.right>L+D-3&&(l.scrollLeft=t.right+(H?0:10)-L),l}function ji(e,t){t!=null&&(ei(e),e.curOp.scrollTop=(e.curOp.scrollTop==null?e.doc.scrollTop:e.curOp.scrollTop)+t)}function Gr(e){ei(e);var t=e.getCursor();e.curOp.scrollToPos={from:t,to:t,margin:e.options.cursorScrollMargin}}function mn(e,t,n){(t!=null||n!=null)&&ei(e),t!=null&&(e.curOp.scrollLeft=t),n!=null&&(e.curOp.scrollTop=n)}function _s(e,t){ei(e),e.curOp.scrollToPos=t}function ei(e){var t=e.curOp.scrollToPos;if(t){e.curOp.scrollToPos=null;var n=Zo(e,t.from),r=Zo(e,t.to);ol(e,n,r,t.margin)}}function ol(e,t,n,r){var i=qi(e,{left:Math.min(t.left,n.left),top:Math.min(t.top,n.top)-r,right:Math.max(t.right,n.right),bottom:Math.max(t.bottom,n.bottom)+r});mn(e,i.scrollLeft,i.scrollTop)}function xn(e,t){Math.abs(e.doc.scrollTop-t)<2||(_||Ui(e,{top:t}),ll(e,t,!0),_&&Ui(e),kn(e,100))}function ll(e,t,n){t=Math.max(0,Math.min(e.display.scroller.scrollHeight-e.display.scroller.clientHeight,t)),!(e.display.scroller.scrollTop==t&&!n)&&(e.doc.scrollTop=t,e.display.scrollbars.setScrollTop(t),e.display.scroller.scrollTop!=t&&(e.display.scroller.scrollTop=t))}function Cr(e,t,n,r){t=Math.max(0,Math.min(t,e.display.scroller.scrollWidth-e.display.scroller.clientWidth)),!((n?t==e.doc.scrollLeft:Math.abs(e.doc.scrollLeft-t)<2)&&!r)&&(e.doc.scrollLeft=t,cl(e),e.display.scroller.scrollLeft!=t&&(e.display.scroller.scrollLeft=t),e.display.scrollbars.setScrollLeft(t))}function yn(e){var t=e.display,n=t.gutters.offsetWidth,r=Math.round(e.doc.height+Mi(e.display));return{clientHeight:t.scroller.clientHeight,viewHeight:t.wrapper.clientHeight,scrollWidth:t.scroller.scrollWidth,clientWidth:t.scroller.clientWidth,viewWidth:t.wrapper.clientWidth,barLeft:e.options.fixedGutter?n:0,docHeight:r,scrollHeight:r+Yt(e)+t.barHeight,nativeBarWidth:t.nativeBarWidth,gutterWidth:n}}var Dr=function(e,t,n){this.cm=n;var r=this.vert=c("div",[c("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),i=this.horiz=c("div",[c("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");r.tabIndex=i.tabIndex=-1,e(r),e(i),Se(r,"scroll",function(){r.clientHeight&&t(r.scrollTop,"vertical")}),Se(i,"scroll",function(){i.clientWidth&&t(i.scrollLeft,"horizontal")}),this.checkedZeroWidth=!1,k&&I<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};Dr.prototype.update=function(e){var t=e.scrollWidth>e.clientWidth+1,n=e.scrollHeight>e.clientHeight+1,r=e.nativeBarWidth;if(n){this.vert.style.display="block",this.vert.style.bottom=t?r+"px":"0";var i=e.viewHeight-(t?r:0);this.vert.firstChild.style.height=Math.max(0,e.scrollHeight-e.clientHeight+i)+"px"}else this.vert.scrollTop=0,this.vert.style.display="",this.vert.firstChild.style.height="0";if(t){this.horiz.style.display="block",this.horiz.style.right=n?r+"px":"0",this.horiz.style.left=e.barLeft+"px";var o=e.viewWidth-e.barLeft-(n?r:0);this.horiz.firstChild.style.width=Math.max(0,e.scrollWidth-e.clientWidth+o)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&e.clientHeight>0&&(r==0&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:n?r:0,bottom:t?r:0}},Dr.prototype.setScrollLeft=function(e){this.horiz.scrollLeft!=e&&(this.horiz.scrollLeft=e),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},Dr.prototype.setScrollTop=function(e){this.vert.scrollTop!=e&&(this.vert.scrollTop=e),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},Dr.prototype.zeroWidthHack=function(){var e=z&&!ue?"12px":"18px";this.horiz.style.height=this.vert.style.width=e,this.horiz.style.visibility=this.vert.style.visibility="hidden",this.disableHoriz=new Ce,this.disableVert=new Ce},Dr.prototype.enableZeroWidthBar=function(e,t,n){e.style.visibility="";function r(){var i=e.getBoundingClientRect(),o=n=="vert"?document.elementFromPoint(i.right-1,(i.top+i.bottom)/2):document.elementFromPoint((i.right+i.left)/2,i.bottom-1);o!=e?e.style.visibility="hidden":t.set(1e3,r)}t.set(1e3,r)},Dr.prototype.clear=function(){var e=this.horiz.parentNode;e.removeChild(this.horiz),e.removeChild(this.vert)};var bn=function(){};bn.prototype.update=function(){return{bottom:0,right:0}},bn.prototype.setScrollLeft=function(){},bn.prototype.setScrollTop=function(){},bn.prototype.clear=function(){};function Xr(e,t){t||(t=yn(e));var n=e.display.barWidth,r=e.display.barHeight;al(e,t);for(var i=0;i<4&&n!=e.display.barWidth||r!=e.display.barHeight;i++)n!=e.display.barWidth&&e.options.lineWrapping&&$n(e),al(e,yn(e)),n=e.display.barWidth,r=e.display.barHeight}function al(e,t){var n=e.display,r=n.scrollbars.update(t);n.sizer.style.paddingRight=(n.barWidth=r.right)+"px",n.sizer.style.paddingBottom=(n.barHeight=r.bottom)+"px",n.heightForcer.style.borderBottom=r.bottom+"px solid transparent",r.right&&r.bottom?(n.scrollbarFiller.style.display="block",n.scrollbarFiller.style.height=r.bottom+"px",n.scrollbarFiller.style.width=r.right+"px"):n.scrollbarFiller.style.display="",r.bottom&&e.options.coverGutterNextToScrollbar&&e.options.fixedGutter?(n.gutterFiller.style.display="block",n.gutterFiller.style.height=r.bottom+"px",n.gutterFiller.style.width=t.gutterWidth+"px"):n.gutterFiller.style.display=""}var sl={native:Dr,null:bn};function ul(e){e.display.scrollbars&&(e.display.scrollbars.clear(),e.display.scrollbars.addClass&&V(e.display.wrapper,e.display.scrollbars.addClass)),e.display.scrollbars=new sl[e.options.scrollbarStyle](function(t){e.display.wrapper.insertBefore(t,e.display.scrollbarFiller),Se(t,"mousedown",function(){e.state.focused&&setTimeout(function(){return e.display.input.focus()},0)}),t.setAttribute("cm-not-content","true")},function(t,n){n=="horizontal"?Cr(e,t):xn(e,t)},e),e.display.scrollbars.addClass&&j(e.display.wrapper,e.display.scrollbars.addClass)}var qs=0;function Mr(e){e.curOp={cm:e,viewChanged:!1,startHeight:e.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++qs,markArrays:null},ys(e.curOp)}function Fr(e){var t=e.curOp;t&&ks(t,function(n){for(var r=0;r<n.ops.length;r++)n.ops[r].cm.curOp=null;js(n)})}function js(e){for(var t=e.ops,n=0;n<t.length;n++)Ks(t[n]);for(var r=0;r<t.length;r++)Us(t[r]);for(var i=0;i<t.length;i++)Gs(t[i]);for(var o=0;o<t.length;o++)Xs(t[o]);for(var l=0;l<t.length;l++)Ys(t[l])}function Ks(e){var t=e.cm,n=t.display;Js(t),e.updateMaxLine&&Ci(t),e.mustUpdate=e.viewChanged||e.forceUpdate||e.scrollTop!=null||e.scrollToPos&&(e.scrollToPos.from.line<n.viewFrom||e.scrollToPos.to.line>=n.viewTo)||n.maxLineChanged&&t.options.lineWrapping,e.update=e.mustUpdate&&new ti(t,e.mustUpdate&&{top:e.scrollTop,ensure:e.scrollToPos},e.forceUpdate)}function Us(e){e.updatedDisplay=e.mustUpdate&&Ki(e.cm,e.update)}function Gs(e){var t=e.cm,n=t.display;e.updatedDisplay&&$n(t),e.barMeasure=yn(t),n.maxLineChanged&&!t.options.lineWrapping&&(e.adjustWidthTo=jo(t,n.maxLine,n.maxLine.text.length).left+3,t.display.sizerWidth=e.adjustWidthTo,e.barMeasure.scrollWidth=Math.max(n.scroller.clientWidth,n.sizer.offsetLeft+e.adjustWidthTo+Yt(t)+t.display.barWidth),e.maxScrollLeft=Math.max(0,n.sizer.offsetLeft+e.adjustWidthTo-wr(t))),(e.updatedDisplay||e.selectionChanged)&&(e.preparedSelection=n.input.prepareSelection())}function Xs(e){var t=e.cm;e.adjustWidthTo!=null&&(t.display.sizer.style.minWidth=e.adjustWidthTo+"px",e.maxScrollLeft<t.doc.scrollLeft&&Cr(t,Math.min(t.display.scroller.scrollLeft,e.maxScrollLeft),!0),t.display.maxLineChanged=!1);var n=e.focus&&e.focus==y(fe(t));e.preparedSelection&&t.display.input.showSelection(e.preparedSelection,n),(e.updatedDisplay||e.startHeight!=t.doc.height)&&Xr(t,e.barMeasure),e.updatedDisplay&&Xi(t,e.barMeasure),e.selectionChanged&&Wi(t),t.state.focused&&e.updateInput&&t.display.input.reset(e.typing),n&&nl(e.cm)}function Ys(e){var t=e.cm,n=t.display,r=t.doc;if(e.updatedDisplay&&fl(t,e.update),n.wheelStartX!=null&&(e.scrollTop!=null||e.scrollLeft!=null||e.scrollToPos)&&(n.wheelStartX=n.wheelStartY=null),e.scrollTop!=null&&ll(t,e.scrollTop,e.forceScroll),e.scrollLeft!=null&&Cr(t,e.scrollLeft,!0,!0),e.scrollToPos){var i=Ws(t,Ae(r,e.scrollToPos.from),Ae(r,e.scrollToPos.to),e.scrollToPos.margin);Rs(t,i)}var o=e.maybeHiddenMarkers,l=e.maybeUnhiddenMarkers;if(o)for(var a=0;a<o.length;++a)o[a].lines.length||Ye(o[a],"hide");if(l)for(var s=0;s<l.length;++s)l[s].lines.length&&Ye(l[s],"unhide");n.wrapper.offsetHeight&&(r.scrollTop=t.display.scroller.scrollTop),e.changeObjs&&Ye(t,"changes",t,e.changeObjs),e.update&&e.update.finish()}function At(e,t){if(e.curOp)return t();Mr(e);try{return t()}finally{Fr(e)}}function lt(e,t){return function(){if(e.curOp)return t.apply(e,arguments);Mr(e);try{return t.apply(e,arguments)}finally{Fr(e)}}}function yt(e){return function(){if(this.curOp)return e.apply(this,arguments);Mr(this);try{return e.apply(this,arguments)}finally{Fr(this)}}}function at(e){return function(){var t=this.cm;if(!t||t.curOp)return e.apply(this,arguments);Mr(t);try{return e.apply(this,arguments)}finally{Fr(t)}}}function kn(e,t){e.doc.highlightFrontier<e.display.viewTo&&e.state.highlight.set(t,xe(Qs,e))}function Qs(e){var t=e.doc;if(!(t.highlightFrontier>=e.display.viewTo)){var n=+new Date+e.options.workTime,r=fn(e,t.highlightFrontier),i=[];t.iter(r.line,Math.min(t.first+t.size,e.display.viewTo+500),function(o){if(r.line>=e.display.viewFrom){var l=o.styles,a=o.text.length>e.options.maxHighlightLength?Gt(t.mode,r.state):null,s=mo(e,o,r,!0);a&&(r.state=a),o.styles=s.styles;var u=o.styleClasses,h=s.classes;h?o.styleClasses=h:u&&(o.styleClasses=null);for(var x=!l||l.length!=o.styles.length||u!=h&&(!u||!h||u.bgClass!=h.bgClass||u.textClass!=h.textClass),D=0;!x&&D<l.length;++D)x=l[D]!=o.styles[D];x&&i.push(r.line),o.stateAfter=r.save(),r.nextLine()}else o.text.length<=e.options.maxHighlightLength&&bi(e,o.text,r),o.stateAfter=r.line%5==0?r.save():null,r.nextLine();if(+new Date>n)return kn(e,e.options.workDelay),!0}),t.highlightFrontier=r.line,t.modeFrontier=Math.max(t.modeFrontier,r.line),i.length&&At(e,function(){for(var o=0;o<i.length;o++)dr(e,i[o],"text")})}}var ti=function(e,t,n){var r=e.display;this.viewport=t,this.visible=Vn(r,e.doc,t),this.editorIsHidden=!r.wrapper.offsetWidth,this.wrapperHeight=r.wrapper.clientHeight,this.wrapperWidth=r.wrapper.clientWidth,this.oldDisplayWidth=wr(e),this.force=n,this.dims=Ii(e),this.events=[]};ti.prototype.signal=function(e,t){Ft(e,t)&&this.events.push(arguments)},ti.prototype.finish=function(){for(var e=0;e<this.events.length;e++)Ye.apply(null,this.events[e])};function Js(e){var t=e.display;!t.scrollbarsClipped&&t.scroller.offsetWidth&&(t.nativeBarWidth=t.scroller.offsetWidth-t.scroller.clientWidth,t.heightForcer.style.height=Yt(e)+"px",t.sizer.style.marginBottom=-t.nativeBarWidth+"px",t.sizer.style.borderRightWidth=Yt(e)+"px",t.scrollbarsClipped=!0)}function Zs(e){if(e.hasFocus())return null;var t=y(fe(e));if(!t||!g(e.display.lineDiv,t))return null;var n={activeElt:t};if(window.getSelection){var r=le(e).getSelection();r.anchorNode&&r.extend&&g(e.display.lineDiv,r.anchorNode)&&(n.anchorNode=r.anchorNode,n.anchorOffset=r.anchorOffset,n.focusNode=r.focusNode,n.focusOffset=r.focusOffset)}return n}function $s(e){if(!(!e||!e.activeElt||e.activeElt==y(Te(e.activeElt)))&&(e.activeElt.focus(),!/^(INPUT|TEXTAREA)$/.test(e.activeElt.nodeName)&&e.anchorNode&&g(document.body,e.anchorNode)&&g(document.body,e.focusNode))){var t=e.activeElt.ownerDocument,n=t.defaultView.getSelection(),r=t.createRange();r.setEnd(e.anchorNode,e.anchorOffset),r.collapse(!1),n.removeAllRanges(),n.addRange(r),n.extend(e.focusNode,e.focusOffset)}}function Ki(e,t){var n=e.display,r=e.doc;if(t.editorIsHidden)return hr(e),!1;if(!t.force&&t.visible.from>=n.viewFrom&&t.visible.to<=n.viewTo&&(n.updateLineNumbers==null||n.updateLineNumbers>=n.viewTo)&&n.renderedView==n.view&&tl(e)==0)return!1;dl(e)&&(hr(e),t.dims=Ii(e));var i=r.first+r.size,o=Math.max(t.visible.from-e.options.viewportMargin,r.first),l=Math.min(i,t.visible.to+e.options.viewportMargin);n.viewFrom<o&&o-n.viewFrom<20&&(o=Math.max(r.first,n.viewFrom)),n.viewTo>l&&n.viewTo-l<20&&(l=Math.min(i,n.viewTo)),Vt&&(o=Li(e.doc,o),l=No(e.doc,l));var a=o!=n.viewFrom||l!=n.viewTo||n.lastWrapHeight!=t.wrapperHeight||n.lastWrapWidth!=t.wrapperWidth;zs(e,o,l),n.viewOffset=er(ye(e.doc,n.viewFrom)),e.display.mover.style.top=n.viewOffset+"px";var s=tl(e);if(!a&&s==0&&!t.force&&n.renderedView==n.view&&(n.updateLineNumbers==null||n.updateLineNumbers>=n.viewTo))return!1;var u=Zs(e);return s>4&&(n.lineDiv.style.display="none"),Vs(e,n.updateLineNumbers,t.dims),s>4&&(n.lineDiv.style.display=""),n.renderedView=n.view,$s(u),F(n.cursorDiv),F(n.selectionDiv),n.gutters.style.height=n.sizer.style.minHeight=0,a&&(n.lastWrapHeight=t.wrapperHeight,n.lastWrapWidth=t.wrapperWidth,kn(e,400)),n.updateLineNumbers=null,!0}function fl(e,t){for(var n=t.viewport,r=!0;;r=!1){if(!r||!e.options.lineWrapping||t.oldDisplayWidth==wr(e)){if(n&&n.top!=null&&(n={top:Math.min(e.doc.height+Mi(e.display)-Fi(e),n.top)}),t.visible=Vn(e.display,e.doc,n),t.visible.from>=e.display.viewFrom&&t.visible.to<=e.display.viewTo)break}else r&&(t.visible=Vn(e.display,e.doc,n));if(!Ki(e,t))break;$n(e);var i=yn(e);vn(e),Xr(e,i),Xi(e,i),t.force=!1}t.signal(e,"update",e),(e.display.viewFrom!=e.display.reportedViewFrom||e.display.viewTo!=e.display.reportedViewTo)&&(t.signal(e,"viewportChange",e,e.display.viewFrom,e.display.viewTo),e.display.reportedViewFrom=e.display.viewFrom,e.display.reportedViewTo=e.display.viewTo)}function Ui(e,t){var n=new ti(e,t);if(Ki(e,n)){$n(e),fl(e,n);var r=yn(e);vn(e),Xr(e,r),Xi(e,r),n.finish()}}function Vs(e,t,n){var r=e.display,i=e.options.lineNumbers,o=r.lineDiv,l=o.firstChild;function a(H){var Z=H.nextSibling;return Y&&z&&e.display.currentWheelTarget==H?H.style.display="none":H.parentNode.removeChild(H),Z}for(var s=r.view,u=r.viewFrom,h=0;h<s.length;h++){var x=s[h];if(!x.hidden)if(!x.node||x.node.parentNode!=o){var D=Cs(e,x,u,n);o.insertBefore(D,l)}else{for(;l!=x.node;)l=a(l);var L=i&&t!=null&&t<=u&&x.lineNumber;x.changes&&(ve(x.changes,"gutter")>-1&&(L=!1),zo(e,x,u,n)),L&&(F(x.lineNumber),x.lineNumber.appendChild(document.createTextNode(re(e.options,u)))),l=x.node.nextSibling}u+=x.size}for(;l;)l=a(l)}function Gi(e){var t=e.gutters.offsetWidth;e.sizer.style.marginLeft=t+"px",ot(e,"gutterChanged",e)}function Xi(e,t){e.display.sizer.style.minHeight=t.docHeight+"px",e.display.heightForcer.style.top=t.docHeight+"px",e.display.gutters.style.height=t.docHeight+e.display.barHeight+Yt(e)+"px"}function cl(e){var t=e.display,n=t.view;if(!(!t.alignWidgets&&(!t.gutters.firstChild||!e.options.fixedGutter))){for(var r=zi(t)-t.scroller.scrollLeft+e.doc.scrollLeft,i=t.gutters.offsetWidth,o=r+"px",l=0;l<n.length;l++)if(!n[l].hidden){e.options.fixedGutter&&(n[l].gutter&&(n[l].gutter.style.left=o),n[l].gutterBackground&&(n[l].gutterBackground.style.left=o));var a=n[l].alignable;if(a)for(var s=0;s<a.length;s++)a[s].style.left=o}e.options.fixedGutter&&(t.gutters.style.left=r+i+"px")}}function dl(e){if(!e.options.lineNumbers)return!1;var t=e.doc,n=re(e.options,t.first+t.size-1),r=e.display;if(n.length!=r.lineNumChars){var i=r.measure.appendChild(c("div",[c("div",n)],"CodeMirror-linenumber CodeMirror-gutter-elt")),o=i.firstChild.offsetWidth,l=i.offsetWidth-o;return r.lineGutter.style.width="",r.lineNumInnerWidth=Math.max(o,r.lineGutter.offsetWidth-l)+1,r.lineNumWidth=r.lineNumInnerWidth+l,r.lineNumChars=r.lineNumInnerWidth?n.length:-1,r.lineGutter.style.width=r.lineNumWidth+"px",Gi(e.display),!0}return!1}function Yi(e,t){for(var n=[],r=!1,i=0;i<e.length;i++){var o=e[i],l=null;if(typeof o!="string"&&(l=o.style,o=o.className),o=="CodeMirror-linenumbers")if(t)r=!0;else continue;n.push({className:o,style:l})}return t&&!r&&n.push({className:"CodeMirror-linenumbers",style:null}),n}function hl(e){var t=e.gutters,n=e.gutterSpecs;F(t),e.lineGutter=null;for(var r=0;r<n.length;++r){var i=n[r],o=i.className,l=i.style,a=t.appendChild(c("div",null,"CodeMirror-gutter "+o));l&&(a.style.cssText=l),o=="CodeMirror-linenumbers"&&(e.lineGutter=a,a.style.width=(e.lineNumWidth||1)+"px")}t.style.display=n.length?"":"none",Gi(e)}function wn(e){hl(e.display),St(e),cl(e)}function eu(e,t,n,r){var i=this;this.input=n,i.scrollbarFiller=c("div",null,"CodeMirror-scrollbar-filler"),i.scrollbarFiller.setAttribute("cm-not-content","true"),i.gutterFiller=c("div",null,"CodeMirror-gutter-filler"),i.gutterFiller.setAttribute("cm-not-content","true"),i.lineDiv=T("div",null,"CodeMirror-code"),i.selectionDiv=c("div",null,null,"position: relative; z-index: 1"),i.cursorDiv=c("div",null,"CodeMirror-cursors"),i.measure=c("div",null,"CodeMirror-measure"),i.lineMeasure=c("div",null,"CodeMirror-measure"),i.lineSpace=T("div",[i.measure,i.lineMeasure,i.selectionDiv,i.cursorDiv,i.lineDiv],null,"position: relative; outline: none");var o=T("div",[i.lineSpace],"CodeMirror-lines");i.mover=c("div",[o],null,"position: relative"),i.sizer=c("div",[i.mover],"CodeMirror-sizer"),i.sizerWidth=null,i.heightForcer=c("div",null,null,"position: absolute; height: "+Oe+"px; width: 1px;"),i.gutters=c("div",null,"CodeMirror-gutters"),i.lineGutter=null,i.scroller=c("div",[i.sizer,i.heightForcer,i.gutters],"CodeMirror-scroll"),i.scroller.setAttribute("tabIndex","-1"),i.wrapper=c("div",[i.scrollbarFiller,i.gutterFiller,i.scroller],"CodeMirror"),S&&R>=105&&(i.wrapper.style.clipPath="inset(0px)"),i.wrapper.setAttribute("translate","no"),k&&I<8&&(i.gutters.style.zIndex=-1,i.scroller.style.paddingRight=0),!Y&&!(_&&N)&&(i.scroller.draggable=!0),e&&(e.appendChild?e.appendChild(i.wrapper):e(i.wrapper)),i.viewFrom=i.viewTo=t.first,i.reportedViewFrom=i.reportedViewTo=t.first,i.view=[],i.renderedView=null,i.externalMeasured=null,i.viewOffset=0,i.lastWrapHeight=i.lastWrapWidth=0,i.updateLineNumbers=null,i.nativeBarWidth=i.barHeight=i.barWidth=0,i.scrollbarsClipped=!1,i.lineNumWidth=i.lineNumInnerWidth=i.lineNumChars=null,i.alignWidgets=!1,i.cachedCharWidth=i.cachedTextHeight=i.cachedPaddingH=null,i.maxLine=null,i.maxLineLength=0,i.maxLineChanged=!1,i.wheelDX=i.wheelDY=i.wheelStartX=i.wheelStartY=null,i.shift=!1,i.selForContextMenu=null,i.activeTouch=null,i.gutterSpecs=Yi(r.gutters,r.lineNumbers),hl(i),n.init(i)}var ri=0,rr=null;k?rr=-.53:_?rr=15:S?rr=-.7:$&&(rr=-1/3);function pl(e){var t=e.wheelDeltaX,n=e.wheelDeltaY;return t==null&&e.detail&&e.axis==e.HORIZONTAL_AXIS&&(t=e.detail),n==null&&e.detail&&e.axis==e.VERTICAL_AXIS?n=e.detail:n==null&&(n=e.wheelDelta),{x:t,y:n}}function tu(e){var t=pl(e);return t.x*=rr,t.y*=rr,t}function gl(e,t){S&&R==102&&(e.display.chromeScrollHack==null?e.display.sizer.style.pointerEvents="none":clearTimeout(e.display.chromeScrollHack),e.display.chromeScrollHack=setTimeout(function(){e.display.chromeScrollHack=null,e.display.sizer.style.pointerEvents=""},100));var n=pl(t),r=n.x,i=n.y,o=rr;t.deltaMode===0&&(r=t.deltaX,i=t.deltaY,o=1);var l=e.display,a=l.scroller,s=a.scrollWidth>a.clientWidth,u=a.scrollHeight>a.clientHeight;if(r&&s||i&&u){if(i&&z&&Y){e:for(var h=t.target,x=l.view;h!=a;h=h.parentNode)for(var D=0;D<x.length;D++)if(x[D].node==h){e.display.currentWheelTarget=h;break e}}if(r&&!_&&!A&&o!=null){i&&u&&xn(e,Math.max(0,a.scrollTop+i*o)),Cr(e,Math.max(0,a.scrollLeft+r*o)),(!i||i&&u)&&pt(t),l.wheelStartX=null;return}if(i&&o!=null){var L=i*o,H=e.doc.scrollTop,Z=H+l.wrapper.clientHeight;L<0?H=Math.max(0,H+L-50):Z=Math.min(e.doc.height,Z+L+50),Ui(e,{top:H,bottom:Z})}ri<20&&t.deltaMode!==0&&(l.wheelStartX==null?(l.wheelStartX=a.scrollLeft,l.wheelStartY=a.scrollTop,l.wheelDX=r,l.wheelDY=i,setTimeout(function(){if(l.wheelStartX!=null){var ie=a.scrollLeft-l.wheelStartX,ae=a.scrollTop-l.wheelStartY,he=ae&&l.wheelDY&&ae/l.wheelDY||ie&&l.wheelDX&&ie/l.wheelDX;l.wheelStartX=l.wheelStartY=null,he&&(rr=(rr*ri+he)/(ri+1),++ri)}},200)):(l.wheelDX+=r,l.wheelDY+=i))}}var Ot=function(e,t){this.ranges=e,this.primIndex=t};Ot.prototype.primary=function(){return this.ranges[this.primIndex]},Ot.prototype.equals=function(e){if(e==this)return!0;if(e.primIndex!=this.primIndex||e.ranges.length!=this.ranges.length)return!1;for(var t=0;t<this.ranges.length;t++){var n=this.ranges[t],r=e.ranges[t];if(!We(n.anchor,r.anchor)||!We(n.head,r.head))return!1}return!0},Ot.prototype.deepCopy=function(){for(var e=[],t=0;t<this.ranges.length;t++)e[t]=new He(it(this.ranges[t].anchor),it(this.ranges[t].head));return new Ot(e,this.primIndex)},Ot.prototype.somethingSelected=function(){for(var e=0;e<this.ranges.length;e++)if(!this.ranges[e].empty())return!0;return!1},Ot.prototype.contains=function(e,t){t||(t=e);for(var n=0;n<this.ranges.length;n++){var r=this.ranges[n];if(ce(t,r.from())>=0&&ce(e,r.to())<=0)return n}return-1};var He=function(e,t){this.anchor=e,this.head=t};He.prototype.from=function(){return Wr(this.anchor,this.head)},He.prototype.to=function(){return wt(this.anchor,this.head)},He.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch};function Kt(e,t,n){var r=e&&e.options.selectionsMayTouch,i=t[n];t.sort(function(D,L){return ce(D.from(),L.from())}),n=ve(t,i);for(var o=1;o<t.length;o++){var l=t[o],a=t[o-1],s=ce(a.to(),l.from());if(r&&!l.empty()?s>0:s>=0){var u=Wr(a.from(),l.from()),h=wt(a.to(),l.to()),x=a.empty()?l.from()==l.head:a.from()==a.head;o<=n&&--n,t.splice(--o,2,new He(x?h:u,x?u:h))}}return new Ot(t,n)}function pr(e,t){return new Ot([new He(e,t||e)],0)}function gr(e){return e.text?B(e.from.line+e.text.length-1,we(e.text).length+(e.text.length==1?e.from.ch:0)):e.to}function vl(e,t){if(ce(e,t.from)<0)return e;if(ce(e,t.to)<=0)return gr(t);var n=e.line+t.text.length-(t.to.line-t.from.line)-1,r=e.ch;return e.line==t.to.line&&(r+=gr(t).ch-t.to.ch),B(n,r)}function Qi(e,t){for(var n=[],r=0;r<e.sel.ranges.length;r++){var i=e.sel.ranges[r];n.push(new He(vl(i.anchor,t),vl(i.head,t)))}return Kt(e.cm,n,e.sel.primIndex)}function ml(e,t,n){return e.line==t.line?B(n.line,e.ch-t.ch+n.ch):B(n.line+(e.line-t.line),e.ch)}function ru(e,t,n){for(var r=[],i=B(e.first,0),o=i,l=0;l<t.length;l++){var a=t[l],s=ml(a.from,i,o),u=ml(gr(a),i,o);if(i=a.to,o=u,n=="around"){var h=e.sel.ranges[l],x=ce(h.head,h.anchor)<0;r[l]=new He(x?u:s,x?s:u)}else r[l]=new He(s,s)}return new Ot(r,e.sel.primIndex)}function Ji(e){e.doc.mode=zr(e.options,e.doc.modeOption),Sn(e)}function Sn(e){e.doc.iter(function(t){t.stateAfter&&(t.stateAfter=null),t.styles&&(t.styles=null)}),e.doc.modeFrontier=e.doc.highlightFrontier=e.doc.first,kn(e,100),e.state.modeGen++,e.curOp&&St(e)}function xl(e,t){return t.from.ch==0&&t.to.ch==0&&we(t.text)==""&&(!e.cm||e.cm.options.wholeLineUpdateBefore)}function Zi(e,t,n,r){function i(he){return n?n[he]:null}function o(he,se,ge){fs(he,se,ge,r),ot(he,"change",he,t)}function l(he,se){for(var ge=[],Le=he;Le<se;++Le)ge.push(new Hr(u[Le],i(Le),r));return ge}var a=t.from,s=t.to,u=t.text,h=ye(e,a.line),x=ye(e,s.line),D=we(u),L=i(u.length-1),H=s.line-a.line;if(t.full)e.insert(0,l(0,u.length)),e.remove(u.length,e.size-u.length);else if(xl(e,t)){var Z=l(0,u.length-1);o(x,x.text,L),H&&e.remove(a.line,H),Z.length&&e.insert(a.line,Z)}else if(h==x)if(u.length==1)o(h,h.text.slice(0,a.ch)+D+h.text.slice(s.ch),L);else{var ie=l(1,u.length-1);ie.push(new Hr(D+h.text.slice(s.ch),L,r)),o(h,h.text.slice(0,a.ch)+u[0],i(0)),e.insert(a.line+1,ie)}else if(u.length==1)o(h,h.text.slice(0,a.ch)+u[0]+x.text.slice(s.ch),i(0)),e.remove(a.line+1,H);else{o(h,h.text.slice(0,a.ch)+u[0],i(0)),o(x,D+x.text.slice(s.ch),L);var ae=l(1,u.length-1);H>1&&e.remove(a.line+1,H-1),e.insert(a.line+1,ae)}ot(e,"change",e,t)}function vr(e,t,n){function r(i,o,l){if(i.linked)for(var a=0;a<i.linked.length;++a){var s=i.linked[a];if(s.doc!=o){var u=l&&s.sharedHist;n&&!u||(t(s.doc,u),r(s.doc,i,u))}}}r(e,null,!0)}function yl(e,t){if(t.cm)throw new Error("This document is already in use.");e.doc=t,t.cm=e,Bi(e),Ji(e),bl(e),e.options.direction=t.direction,e.options.lineWrapping||Ci(e),e.options.mode=t.modeOption,St(e)}function bl(e){(e.doc.direction=="rtl"?j:V)(e.display.lineDiv,"CodeMirror-rtl")}function nu(e){At(e,function(){bl(e),St(e)})}function ni(e){this.done=[],this.undone=[],this.undoDepth=e?e.undoDepth:1/0,this.lastModTime=this.lastSelTime=0,this.lastOp=this.lastSelOp=null,this.lastOrigin=this.lastSelOrigin=null,this.generation=this.maxGeneration=e?e.maxGeneration:1}function $i(e,t){var n={from:it(t.from),to:gr(t),text:$t(e,t.from,t.to)};return Sl(e,n,t.from.line,t.to.line+1),vr(e,function(r){return Sl(r,n,t.from.line,t.to.line+1)},!0),n}function kl(e){for(;e.length;){var t=we(e);if(t.ranges)e.pop();else break}}function iu(e,t){if(t)return kl(e.done),we(e.done);if(e.done.length&&!we(e.done).ranges)return we(e.done);if(e.done.length>1&&!e.done[e.done.length-2].ranges)return e.done.pop(),we(e.done)}function wl(e,t,n,r){var i=e.history;i.undone.length=0;var o=+new Date,l,a;if((i.lastOp==r||i.lastOrigin==t.origin&&t.origin&&(t.origin.charAt(0)=="+"&&i.lastModTime>o-(e.cm?e.cm.options.historyEventDelay:500)||t.origin.charAt(0)=="*"))&&(l=iu(i,i.lastOp==r)))a=we(l.changes),ce(t.from,t.to)==0&&ce(t.from,a.to)==0?a.to=gr(t):l.changes.push($i(e,t));else{var s=we(i.done);for((!s||!s.ranges)&&ii(e.sel,i.done),l={changes:[$i(e,t)],generation:i.generation},i.done.push(l);i.done.length>i.undoDepth;)i.done.shift(),i.done[0].ranges||i.done.shift()}i.done.push(n),i.generation=++i.maxGeneration,i.lastModTime=i.lastSelTime=o,i.lastOp=i.lastSelOp=r,i.lastOrigin=i.lastSelOrigin=t.origin,a||Ye(e,"historyAdded")}function ou(e,t,n,r){var i=t.charAt(0);return i=="*"||i=="+"&&n.ranges.length==r.ranges.length&&n.somethingSelected()==r.somethingSelected()&&new Date-e.history.lastSelTime<=(e.cm?e.cm.options.historyEventDelay:500)}function lu(e,t,n,r){var i=e.history,o=r&&r.origin;n==i.lastSelOp||o&&i.lastSelOrigin==o&&(i.lastModTime==i.lastSelTime&&i.lastOrigin==o||ou(e,o,we(i.done),t))?i.done[i.done.length-1]=t:ii(t,i.done),i.lastSelTime=+new Date,i.lastSelOrigin=o,i.lastSelOp=n,r&&r.clearRedo!==!1&&kl(i.undone)}function ii(e,t){var n=we(t);n&&n.ranges&&n.equals(e)||t.push(e)}function Sl(e,t,n,r){var i=t["spans_"+e.id],o=0;e.iter(Math.max(e.first,n),Math.min(e.first+e.size,r),function(l){l.markedSpans&&((i||(i=t["spans_"+e.id]={}))[o]=l.markedSpans),++o})}function au(e){if(!e)return null;for(var t,n=0;n<e.length;++n)e[n].marker.explicitlyCleared?t||(t=e.slice(0,n)):t&&t.push(e[n]);return t?t.length?t:null:e}function su(e,t){var n=t["spans_"+e.id];if(!n)return null;for(var r=[],i=0;i<t.text.length;++i)r.push(au(n[i]));return r}function Ll(e,t){var n=su(e,t),r=wi(e,t);if(!n)return r;if(!r)return n;for(var i=0;i<n.length;++i){var o=n[i],l=r[i];if(o&&l)e:for(var a=0;a<l.length;++a){for(var s=l[a],u=0;u<o.length;++u)if(o[u].marker==s.marker)continue e;o.push(s)}else l&&(n[i]=l)}return n}function Yr(e,t,n){for(var r=[],i=0;i<e.length;++i){var o=e[i];if(o.ranges){r.push(n?Ot.prototype.deepCopy.call(o):o);continue}var l=o.changes,a=[];r.push({changes:a});for(var s=0;s<l.length;++s){var u=l[s],h=void 0;if(a.push({from:u.from,to:u.to,text:u.text}),t)for(var x in u)(h=x.match(/^spans_(\d+)$/))&&ve(t,Number(h[1]))>-1&&(we(a)[x]=u[x],delete u[x])}}return r}function Vi(e,t,n,r){if(r){var i=e.anchor;if(n){var o=ce(t,i)<0;o!=ce(n,i)<0?(i=t,t=n):o!=ce(t,n)<0&&(t=n)}return new He(i,t)}else return new He(n||t,t)}function oi(e,t,n,r,i){i==null&&(i=e.cm&&(e.cm.display.shift||e.extend)),gt(e,new Ot([Vi(e.sel.primary(),t,n,i)],0),r)}function Tl(e,t,n){for(var r=[],i=e.cm&&(e.cm.display.shift||e.extend),o=0;o<e.sel.ranges.length;o++)r[o]=Vi(e.sel.ranges[o],t[o],null,i);var l=Kt(e.cm,r,e.sel.primIndex);gt(e,l,n)}function eo(e,t,n,r){var i=e.sel.ranges.slice(0);i[t]=n,gt(e,Kt(e.cm,i,e.sel.primIndex),r)}function Cl(e,t,n,r){gt(e,pr(t,n),r)}function uu(e,t,n){var r={ranges:t.ranges,update:function(i){this.ranges=[];for(var o=0;o<i.length;o++)this.ranges[o]=new He(Ae(e,i[o].anchor),Ae(e,i[o].head))},origin:n&&n.origin};return Ye(e,"beforeSelectionChange",e,r),e.cm&&Ye(e.cm,"beforeSelectionChange",e.cm,r),r.ranges!=t.ranges?Kt(e.cm,r.ranges,r.ranges.length-1):t}function Dl(e,t,n){var r=e.history.done,i=we(r);i&&i.ranges?(r[r.length-1]=t,li(e,t,n)):gt(e,t,n)}function gt(e,t,n){li(e,t,n),lu(e,e.sel,e.cm?e.cm.curOp.id:NaN,n)}function li(e,t,n){(Ft(e,"beforeSelectionChange")||e.cm&&Ft(e.cm,"beforeSelectionChange"))&&(t=uu(e,t,n));var r=n&&n.bias||(ce(t.primary().head,e.sel.primary().head)<0?-1:1);Ml(e,Al(e,t,r,!0)),!(n&&n.scroll===!1)&&e.cm&&e.cm.getOption("readOnly")!="nocursor"&&Gr(e.cm)}function Ml(e,t){t.equals(e.sel)||(e.sel=t,e.cm&&(e.cm.curOp.updateInput=1,e.cm.curOp.selectionChanged=!0,It(e.cm)),ot(e,"cursorActivity",e))}function Fl(e){Ml(e,Al(e,e.sel,null,!1))}function Al(e,t,n,r){for(var i,o=0;o<t.ranges.length;o++){var l=t.ranges[o],a=t.ranges.length==e.sel.ranges.length&&e.sel.ranges[o],s=ai(e,l.anchor,a&&a.anchor,n,r),u=l.head==l.anchor?s:ai(e,l.head,a&&a.head,n,r);(i||s!=l.anchor||u!=l.head)&&(i||(i=t.ranges.slice(0,o)),i[o]=new He(s,u))}return i?Kt(e.cm,i,t.primIndex):t}function Qr(e,t,n,r,i){var o=ye(e,t.line);if(o.markedSpans)for(var l=0;l<o.markedSpans.length;++l){var a=o.markedSpans[l],s=a.marker,u="selectLeft"in s?!s.selectLeft:s.inclusiveLeft,h="selectRight"in s?!s.selectRight:s.inclusiveRight;if((a.from==null||(u?a.from<=t.ch:a.from<t.ch))&&(a.to==null||(h?a.to>=t.ch:a.to>t.ch))){if(i&&(Ye(s,"beforeCursorEnter"),s.explicitlyCleared))if(o.markedSpans){--l;continue}else break;if(!s.atomic)continue;if(n){var x=s.find(r<0?1:-1),D=void 0;if((r<0?h:u)&&(x=Nl(e,x,-r,x&&x.line==t.line?o:null)),x&&x.line==t.line&&(D=ce(x,n))&&(r<0?D<0:D>0))return Qr(e,x,t,r,i)}var L=s.find(r<0?-1:1);return(r<0?u:h)&&(L=Nl(e,L,r,L.line==t.line?o:null)),L?Qr(e,L,t,r,i):null}}return t}function ai(e,t,n,r,i){var o=r||1,l=Qr(e,t,n,o,i)||!i&&Qr(e,t,n,o,!0)||Qr(e,t,n,-o,i)||!i&&Qr(e,t,n,-o,!0);return l||(e.cantEdit=!0,B(e.first,0))}function Nl(e,t,n,r){return n<0&&t.ch==0?t.line>e.first?Ae(e,B(t.line-1)):null:n>0&&t.ch==(r||ye(e,t.line)).text.length?t.line<e.first+e.size-1?B(t.line+1,0):null:new B(t.line,t.ch+n)}function El(e){e.setSelection(B(e.firstLine(),0),B(e.lastLine()),$e)}function Ol(e,t,n){var r={canceled:!1,from:t.from,to:t.to,text:t.text,origin:t.origin,cancel:function(){return r.canceled=!0}};return n&&(r.update=function(i,o,l,a){i&&(r.from=Ae(e,i)),o&&(r.to=Ae(e,o)),l&&(r.text=l),a!==void 0&&(r.origin=a)}),Ye(e,"beforeChange",e,r),e.cm&&Ye(e.cm,"beforeChange",e.cm,r),r.canceled?(e.cm&&(e.cm.curOp.updateInput=2),null):{from:r.from,to:r.to,text:r.text,origin:r.origin}}function Jr(e,t,n){if(e.cm){if(!e.cm.curOp)return lt(e.cm,Jr)(e,t,n);if(e.cm.state.suppressEdits)return}if(!((Ft(e,"beforeChange")||e.cm&&Ft(e.cm,"beforeChange"))&&(t=Ol(e,t,!0),!t))){var r=Lo&&!n&&ls(e,t.from,t.to);if(r)for(var i=r.length-1;i>=0;--i)Pl(e,{from:r[i].from,to:r[i].to,text:i?[""]:t.text,origin:t.origin});else Pl(e,t)}}function Pl(e,t){if(!(t.text.length==1&&t.text[0]==""&&ce(t.from,t.to)==0)){var n=Qi(e,t);wl(e,t,n,e.cm?e.cm.curOp.id:NaN),Ln(e,t,n,wi(e,t));var r=[];vr(e,function(i,o){!o&&ve(r,i.history)==-1&&(Rl(i.history,t),r.push(i.history)),Ln(i,t,null,wi(i,t))})}}function si(e,t,n){var r=e.cm&&e.cm.state.suppressEdits;if(!(r&&!n)){for(var i=e.history,o,l=e.sel,a=t=="undo"?i.done:i.undone,s=t=="undo"?i.undone:i.done,u=0;u<a.length&&(o=a[u],!(n?o.ranges&&!o.equals(e.sel):!o.ranges));u++);if(u!=a.length){for(i.lastOrigin=i.lastSelOrigin=null;;)if(o=a.pop(),o.ranges){if(ii(o,s),n&&!o.equals(e.sel)){gt(e,o,{clearRedo:!1});return}l=o}else if(r){a.push(o);return}else break;var h=[];ii(l,s),s.push({changes:h,generation:i.generation}),i.generation=o.generation||++i.maxGeneration;for(var x=Ft(e,"beforeChange")||e.cm&&Ft(e.cm,"beforeChange"),D=function(Z){var ie=o.changes[Z];if(ie.origin=t,x&&!Ol(e,ie,!1))return a.length=0,{};h.push($i(e,ie));var ae=Z?Qi(e,ie):we(a);Ln(e,ie,ae,Ll(e,ie)),!Z&&e.cm&&e.cm.scrollIntoView({from:ie.from,to:gr(ie)});var he=[];vr(e,function(se,ge){!ge&&ve(he,se.history)==-1&&(Rl(se.history,ie),he.push(se.history)),Ln(se,ie,null,Ll(se,ie))})},L=o.changes.length-1;L>=0;--L){var H=D(L);if(H)return H.v}}}}function Il(e,t){if(t!=0&&(e.first+=t,e.sel=new Ot(Ie(e.sel.ranges,function(i){return new He(B(i.anchor.line+t,i.anchor.ch),B(i.head.line+t,i.head.ch))}),e.sel.primIndex),e.cm)){St(e.cm,e.first,e.first-t,t);for(var n=e.cm.display,r=n.viewFrom;r<n.viewTo;r++)dr(e.cm,r,"gutter")}}function Ln(e,t,n,r){if(e.cm&&!e.cm.curOp)return lt(e.cm,Ln)(e,t,n,r);if(t.to.line<e.first){Il(e,t.text.length-1-(t.to.line-t.from.line));return}if(!(t.from.line>e.lastLine())){if(t.from.line<e.first){var i=t.text.length-1-(e.first-t.from.line);Il(e,i),t={from:B(e.first,0),to:B(t.to.line+i,t.to.ch),text:[we(t.text)],origin:t.origin}}var o=e.lastLine();t.to.line>o&&(t={from:t.from,to:B(o,ye(e,o).text.length),text:[t.text[0]],origin:t.origin}),t.removed=$t(e,t.from,t.to),n||(n=Qi(e,t)),e.cm?fu(e.cm,t,r):Zi(e,t,r),li(e,n,$e),e.cantEdit&&ai(e,B(e.firstLine(),0))&&(e.cantEdit=!1)}}function fu(e,t,n){var r=e.doc,i=e.display,o=t.from,l=t.to,a=!1,s=o.line;e.options.lineWrapping||(s=f(qt(ye(r,o.line))),r.iter(s,l.line+1,function(L){if(L==i.maxLine)return a=!0,!0})),r.sel.contains(t.from,t.to)>-1&&It(e),Zi(r,t,n,el(e)),e.options.lineWrapping||(r.iter(s,o.line+t.text.length,function(L){var H=Un(L);H>i.maxLineLength&&(i.maxLine=L,i.maxLineLength=H,i.maxLineChanged=!0,a=!1)}),a&&(e.curOp.updateMaxLine=!0)),Va(r,o.line),kn(e,400);var u=t.text.length-(l.line-o.line)-1;t.full?St(e):o.line==l.line&&t.text.length==1&&!xl(e.doc,t)?dr(e,o.line,"text"):St(e,o.line,l.line+1,u);var h=Ft(e,"changes"),x=Ft(e,"change");if(x||h){var D={from:o,to:l,text:t.text,removed:t.removed,origin:t.origin};x&&ot(e,"change",e,D),h&&(e.curOp.changeObjs||(e.curOp.changeObjs=[])).push(D)}e.display.selForContextMenu=null}function Zr(e,t,n,r,i){var o;r||(r=n),ce(r,n)<0&&(o=[r,n],n=o[0],r=o[1]),typeof t=="string"&&(t=e.splitLines(t)),Jr(e,{from:n,to:r,text:t,origin:i})}function zl(e,t,n,r){n<e.line?e.line+=r:t<e.line&&(e.line=t,e.ch=0)}function Bl(e,t,n,r){for(var i=0;i<e.length;++i){var o=e[i],l=!0;if(o.ranges){o.copied||(o=e[i]=o.deepCopy(),o.copied=!0);for(var a=0;a<o.ranges.length;a++)zl(o.ranges[a].anchor,t,n,r),zl(o.ranges[a].head,t,n,r);continue}for(var s=0;s<o.changes.length;++s){var u=o.changes[s];if(n<u.from.line)u.from=B(u.from.line+r,u.from.ch),u.to=B(u.to.line+r,u.to.ch);else if(t<=u.to.line){l=!1;break}}l||(e.splice(0,i+1),i=0)}}function Rl(e,t){var n=t.from.line,r=t.to.line,i=t.text.length-(r-n)-1;Bl(e.done,n,r,i),Bl(e.undone,n,r,i)}function Tn(e,t,n,r){var i=t,o=t;return typeof t=="number"?o=ye(e,go(e,t)):i=f(t),i==null?null:(r(o,i)&&e.cm&&dr(e.cm,i,n),o)}function Cn(e){this.lines=e,this.parent=null;for(var t=0,n=0;n<e.length;++n)e[n].parent=this,t+=e[n].height;this.height=t}Cn.prototype={chunkSize:function(){return this.lines.length},removeInner:function(e,t){for(var n=e,r=e+t;n<r;++n){var i=this.lines[n];this.height-=i.height,cs(i),ot(i,"delete")}this.lines.splice(e,t)},collapse:function(e){e.push.apply(e,this.lines)},insertInner:function(e,t,n){this.height+=n,this.lines=this.lines.slice(0,e).concat(t).concat(this.lines.slice(e));for(var r=0;r<t.length;++r)t[r].parent=this},iterN:function(e,t,n){for(var r=e+t;e<r;++e)if(n(this.lines[e]))return!0}};function Dn(e){this.children=e;for(var t=0,n=0,r=0;r<e.length;++r){var i=e[r];t+=i.chunkSize(),n+=i.height,i.parent=this}this.size=t,this.height=n,this.parent=null}Dn.prototype={chunkSize:function(){return this.size},removeInner:function(e,t){this.size-=t;for(var n=0;n<this.children.length;++n){var r=this.children[n],i=r.chunkSize();if(e<i){var o=Math.min(t,i-e),l=r.height;if(r.removeInner(e,o),this.height-=l-r.height,i==o&&(this.children.splice(n--,1),r.parent=null),(t-=o)==0)break;e=0}else e-=i}if(this.size-t<25&&(this.children.length>1||!(this.children[0]instanceof Cn))){var a=[];this.collapse(a),this.children=[new Cn(a)],this.children[0].parent=this}},collapse:function(e){for(var t=0;t<this.children.length;++t)this.children[t].collapse(e)},insertInner:function(e,t,n){this.size+=t.length,this.height+=n;for(var r=0;r<this.children.length;++r){var i=this.children[r],o=i.chunkSize();if(e<=o){if(i.insertInner(e,t,n),i.lines&&i.lines.length>50){for(var l=i.lines.length%25+25,a=l;a<i.lines.length;){var s=new Cn(i.lines.slice(a,a+=25));i.height-=s.height,this.children.splice(++r,0,s),s.parent=this}i.lines=i.lines.slice(0,l),this.maybeSpill()}break}e-=o}},maybeSpill:function(){if(!(this.children.length<=10)){var e=this;do{var t=e.children.splice(e.children.length-5,5),n=new Dn(t);if(e.parent){e.size-=n.size,e.height-=n.height;var i=ve(e.parent.children,e);e.parent.children.splice(i+1,0,n)}else{var r=new Dn(e.children);r.parent=e,e.children=[r,n],e=r}n.parent=e.parent}while(e.children.length>10);e.parent.maybeSpill()}},iterN:function(e,t,n){for(var r=0;r<this.children.length;++r){var i=this.children[r],o=i.chunkSize();if(e<o){var l=Math.min(t,o-e);if(i.iterN(e,l,n))return!0;if((t-=l)==0)break;e=0}else e-=o}}};var Mn=function(e,t,n){if(n)for(var r in n)n.hasOwnProperty(r)&&(this[r]=n[r]);this.doc=e,this.node=t};Mn.prototype.clear=function(){var e=this.doc.cm,t=this.line.widgets,n=this.line,r=f(n);if(!(r==null||!t)){for(var i=0;i<t.length;++i)t[i]==this&&t.splice(i--,1);t.length||(n.widgets=null);var o=pn(this);Et(n,Math.max(0,n.height-o)),e&&(At(e,function(){Wl(e,n,-o),dr(e,r,"widget")}),ot(e,"lineWidgetCleared",e,this,r))}},Mn.prototype.changed=function(){var e=this,t=this.height,n=this.doc.cm,r=this.line;this.height=null;var i=pn(this)-t;i&&(cr(this.doc,r)||Et(r,r.height+i),n&&At(n,function(){n.curOp.forceUpdate=!0,Wl(n,r,i),ot(n,"lineWidgetChanged",n,e,f(r))}))},Bt(Mn);function Wl(e,t,n){er(t)<(e.curOp&&e.curOp.scrollTop||e.doc.scrollTop)&&ji(e,n)}function cu(e,t,n,r){var i=new Mn(e,n,r),o=e.cm;return o&&i.noHScroll&&(o.display.alignWidgets=!0),Tn(e,t,"widget",function(l){var a=l.widgets||(l.widgets=[]);if(i.insertAt==null?a.push(i):a.splice(Math.min(a.length,Math.max(0,i.insertAt)),0,i),i.line=l,o&&!cr(e,l)){var s=er(l)<e.scrollTop;Et(l,l.height+pn(i)),s&&ji(o,i.height),o.curOp.forceUpdate=!0}return!0}),o&&ot(o,"lineWidgetAdded",o,i,typeof t=="number"?t:f(t)),i}var Hl=0,mr=function(e,t){this.lines=[],this.type=t,this.doc=e,this.id=++Hl};mr.prototype.clear=function(){if(!this.explicitlyCleared){var e=this.doc.cm,t=e&&!e.curOp;if(t&&Mr(e),Ft(this,"clear")){var n=this.find();n&&ot(this,"clear",n.from,n.to)}for(var r=null,i=null,o=0;o<this.lines.length;++o){var l=this.lines[o],a=cn(l.markedSpans,this);e&&!this.collapsed?dr(e,f(l),"text"):e&&(a.to!=null&&(i=f(l)),a.from!=null&&(r=f(l))),l.markedSpans=rs(l.markedSpans,a),a.from==null&&this.collapsed&&!cr(this.doc,l)&&e&&Et(l,jr(e.display))}if(e&&this.collapsed&&!e.options.lineWrapping)for(var s=0;s<this.lines.length;++s){var u=qt(this.lines[s]),h=Un(u);h>e.display.maxLineLength&&(e.display.maxLine=u,e.display.maxLineLength=h,e.display.maxLineChanged=!0)}r!=null&&e&&this.collapsed&&St(e,r,i+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,e&&Fl(e.doc)),e&&ot(e,"markerCleared",e,this,r,i),t&&Fr(e),this.parent&&this.parent.clear()}},mr.prototype.find=function(e,t){e==null&&this.type=="bookmark"&&(e=1);for(var n,r,i=0;i<this.lines.length;++i){var o=this.lines[i],l=cn(o.markedSpans,this);if(l.from!=null&&(n=B(t?o:f(o),l.from),e==-1))return n;if(l.to!=null&&(r=B(t?o:f(o),l.to),e==1))return r}return n&&{from:n,to:r}},mr.prototype.changed=function(){var e=this,t=this.find(-1,!0),n=this,r=this.doc.cm;!t||!r||At(r,function(){var i=t.line,o=f(t.line),l=Ai(r,o);if(l&&(Go(l),r.curOp.selectionChanged=r.curOp.forceUpdate=!0),r.curOp.updateMaxLine=!0,!cr(n.doc,i)&&n.height!=null){var a=n.height;n.height=null;var s=pn(n)-a;s&&Et(i,i.height+s)}ot(r,"markerChanged",r,e)})},mr.prototype.attachLine=function(e){if(!this.lines.length&&this.doc.cm){var t=this.doc.cm.curOp;(!t.maybeHiddenMarkers||ve(t.maybeHiddenMarkers,this)==-1)&&(t.maybeUnhiddenMarkers||(t.maybeUnhiddenMarkers=[])).push(this)}this.lines.push(e)},mr.prototype.detachLine=function(e){if(this.lines.splice(ve(this.lines,e),1),!this.lines.length&&this.doc.cm){var t=this.doc.cm.curOp;(t.maybeHiddenMarkers||(t.maybeHiddenMarkers=[])).push(this)}},Bt(mr);function $r(e,t,n,r,i){if(r&&r.shared)return du(e,t,n,r,i);if(e.cm&&!e.cm.curOp)return lt(e.cm,$r)(e,t,n,r,i);var o=new mr(e,i),l=ce(t,n);if(r&&Me(r,o,!1),l>0||l==0&&o.clearWhenEmpty!==!1)return o;if(o.replacedWith&&(o.collapsed=!0,o.widgetNode=T("span",[o.replacedWith],"CodeMirror-widget"),r.handleMouseEvents||o.widgetNode.setAttribute("cm-ignore-events","true"),r.insertLeft&&(o.widgetNode.insertLeft=!0)),o.collapsed){if(Ao(e,t.line,t,n,o)||t.line!=n.line&&Ao(e,n.line,t,n,o))throw new Error("Inserting collapsed marker partially overlapping an existing one");ts()}o.addToHistory&&wl(e,{from:t,to:n,origin:"markText"},e.sel,NaN);var a=t.line,s=e.cm,u;if(e.iter(a,n.line+1,function(x){s&&o.collapsed&&!s.options.lineWrapping&&qt(x)==s.display.maxLine&&(u=!0),o.collapsed&&a!=t.line&&Et(x,0),ns(x,new _n(o,a==t.line?t.ch:null,a==n.line?n.ch:null),e.cm&&e.cm.curOp),++a}),o.collapsed&&e.iter(t.line,n.line+1,function(x){cr(e,x)&&Et(x,0)}),o.clearOnEnter&&Se(o,"beforeCursorEnter",function(){return o.clear()}),o.readOnly&&(es(),(e.history.done.length||e.history.undone.length)&&e.clearHistory()),o.collapsed&&(o.id=++Hl,o.atomic=!0),s){if(u&&(s.curOp.updateMaxLine=!0),o.collapsed)St(s,t.line,n.line+1);else if(o.className||o.startStyle||o.endStyle||o.css||o.attributes||o.title)for(var h=t.line;h<=n.line;h++)dr(s,h,"text");o.atomic&&Fl(s.doc),ot(s,"markerAdded",s,o)}return o}var Fn=function(e,t){this.markers=e,this.primary=t;for(var n=0;n<e.length;++n)e[n].parent=this};Fn.prototype.clear=function(){if(!this.explicitlyCleared){this.explicitlyCleared=!0;for(var e=0;e<this.markers.length;++e)this.markers[e].clear();ot(this,"clear")}},Fn.prototype.find=function(e,t){return this.primary.find(e,t)},Bt(Fn);function du(e,t,n,r,i){r=Me(r),r.shared=!1;var o=[$r(e,t,n,r,i)],l=o[0],a=r.widgetNode;return vr(e,function(s){a&&(r.widgetNode=a.cloneNode(!0)),o.push($r(s,Ae(s,t),Ae(s,n),r,i));for(var u=0;u<s.linked.length;++u)if(s.linked[u].isParent)return;l=we(o)}),new Fn(o,l)}function _l(e){return e.findMarks(B(e.first,0),e.clipPos(B(e.lastLine())),function(t){return t.parent})}function hu(e,t){for(var n=0;n<t.length;n++){var r=t[n],i=r.find(),o=e.clipPos(i.from),l=e.clipPos(i.to);if(ce(o,l)){var a=$r(e,o,l,r.primary,r.primary.type);r.markers.push(a),a.parent=r}}}function pu(e){for(var t=function(r){var i=e[r],o=[i.primary.doc];vr(i.primary.doc,function(s){return o.push(s)});for(var l=0;l<i.markers.length;l++){var a=i.markers[l];ve(o,a.doc)==-1&&(a.parent=null,i.markers.splice(l--,1))}},n=0;n<e.length;n++)t(n)}var gu=0,Lt=function(e,t,n,r,i){if(!(this instanceof Lt))return new Lt(e,t,n,r,i);n==null&&(n=0),Dn.call(this,[new Cn([new Hr("",null)])]),this.first=n,this.scrollTop=this.scrollLeft=0,this.cantEdit=!1,this.cleanGeneration=1,this.modeFrontier=this.highlightFrontier=n;var o=B(n,0);this.sel=pr(o),this.history=new ni(null),this.id=++gu,this.modeOption=t,this.lineSep=r,this.direction=i=="rtl"?"rtl":"ltr",this.extend=!1,typeof e=="string"&&(e=this.splitLines(e)),Zi(this,{from:o,to:o,text:e}),gt(this,pr(o),$e)};Lt.prototype=K(Dn.prototype,{constructor:Lt,iter:function(e,t,n){n?this.iterN(e-this.first,t-e,n):this.iterN(this.first,this.first+this.size,e)},insert:function(e,t){for(var n=0,r=0;r<t.length;++r)n+=t[r].height;this.insertInner(e-this.first,t,n)},remove:function(e,t){this.removeInner(e-this.first,t)},getValue:function(e){var t=un(this,this.first,this.first+this.size);return e===!1?t:t.join(e||this.lineSeparator())},setValue:at(function(e){var t=B(this.first,0),n=this.first+this.size-1;Jr(this,{from:t,to:B(n,ye(this,n).text.length),text:this.splitLines(e),origin:"setValue",full:!0},!0),this.cm&&mn(this.cm,0,0),gt(this,pr(t),$e)}),replaceRange:function(e,t,n,r){t=Ae(this,t),n=n?Ae(this,n):t,Zr(this,e,t,n,r)},getRange:function(e,t,n){var r=$t(this,Ae(this,e),Ae(this,t));return n===!1?r:n===""?r.join(""):r.join(n||this.lineSeparator())},getLine:function(e){var t=this.getLineHandle(e);return t&&t.text},getLineHandle:function(e){if(U(this,e))return ye(this,e)},getLineNumber:function(e){return f(e)},getLineHandleVisualStart:function(e){return typeof e=="number"&&(e=ye(this,e)),qt(e)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+this.size-1},clipPos:function(e){return Ae(this,e)},getCursor:function(e){var t=this.sel.primary(),n;return e==null||e=="head"?n=t.head:e=="anchor"?n=t.anchor:e=="end"||e=="to"||e===!1?n=t.to():n=t.from(),n},listSelections:function(){return this.sel.ranges},somethingSelected:function(){return this.sel.somethingSelected()},setCursor:at(function(e,t,n){Cl(this,Ae(this,typeof e=="number"?B(e,t||0):e),null,n)}),setSelection:at(function(e,t,n){Cl(this,Ae(this,e),Ae(this,t||e),n)}),extendSelection:at(function(e,t,n){oi(this,Ae(this,e),t&&Ae(this,t),n)}),extendSelections:at(function(e,t){Tl(this,vo(this,e),t)}),extendSelectionsBy:at(function(e,t){var n=Ie(this.sel.ranges,e);Tl(this,vo(this,n),t)}),setSelections:at(function(e,t,n){if(e.length){for(var r=[],i=0;i<e.length;i++)r[i]=new He(Ae(this,e[i].anchor),Ae(this,e[i].head||e[i].anchor));t==null&&(t=Math.min(e.length-1,this.sel.primIndex)),gt(this,Kt(this.cm,r,t),n)}}),addSelection:at(function(e,t,n){var r=this.sel.ranges.slice(0);r.push(new He(Ae(this,e),Ae(this,t||e))),gt(this,Kt(this.cm,r,r.length-1),n)}),getSelection:function(e){for(var t=this.sel.ranges,n,r=0;r<t.length;r++){var i=$t(this,t[r].from(),t[r].to());n=n?n.concat(i):i}return e===!1?n:n.join(e||this.lineSeparator())},getSelections:function(e){for(var t=[],n=this.sel.ranges,r=0;r<n.length;r++){var i=$t(this,n[r].from(),n[r].to());e!==!1&&(i=i.join(e||this.lineSeparator())),t[r]=i}return t},replaceSelection:function(e,t,n){for(var r=[],i=0;i<this.sel.ranges.length;i++)r[i]=e;this.replaceSelections(r,t,n||"+input")},replaceSelections:at(function(e,t,n){for(var r=[],i=this.sel,o=0;o<i.ranges.length;o++){var l=i.ranges[o];r[o]={from:l.from(),to:l.to(),text:this.splitLines(e[o]),origin:n}}for(var a=t&&t!="end"&&ru(this,r,t),s=r.length-1;s>=0;s--)Jr(this,r[s]);a?Dl(this,a):this.cm&&Gr(this.cm)}),undo:at(function(){si(this,"undo")}),redo:at(function(){si(this,"redo")}),undoSelection:at(function(){si(this,"undo",!0)}),redoSelection:at(function(){si(this,"redo",!0)}),setExtending:function(e){this.extend=e},getExtending:function(){return this.extend},historySize:function(){for(var e=this.history,t=0,n=0,r=0;r<e.done.length;r++)e.done[r].ranges||++t;for(var i=0;i<e.undone.length;i++)e.undone[i].ranges||++n;return{undo:t,redo:n}},clearHistory:function(){var e=this;this.history=new ni(this.history),vr(this,function(t){return t.history=e.history},!0)},markClean:function(){this.cleanGeneration=this.changeGeneration(!0)},changeGeneration:function(e){return e&&(this.history.lastOp=this.history.lastSelOp=this.history.lastOrigin=null),this.history.generation},isClean:function(e){return this.history.generation==(e||this.cleanGeneration)},getHistory:function(){return{done:Yr(this.history.done),undone:Yr(this.history.undone)}},setHistory:function(e){var t=this.history=new ni(this.history);t.done=Yr(e.done.slice(0),null,!0),t.undone=Yr(e.undone.slice(0),null,!0)},setGutterMarker:at(function(e,t,n){return Tn(this,e,"gutter",function(r){var i=r.gutterMarkers||(r.gutterMarkers={});return i[t]=n,!n&&be(i)&&(r.gutterMarkers=null),!0})}),clearGutter:at(function(e){var t=this;this.iter(function(n){n.gutterMarkers&&n.gutterMarkers[e]&&Tn(t,n,"gutter",function(){return n.gutterMarkers[e]=null,be(n.gutterMarkers)&&(n.gutterMarkers=null),!0})})}),lineInfo:function(e){var t;if(typeof e=="number"){if(!U(this,e)||(t=e,e=ye(this,e),!e))return null}else if(t=f(e),t==null)return null;return{line:t,handle:e,text:e.text,gutterMarkers:e.gutterMarkers,textClass:e.textClass,bgClass:e.bgClass,wrapClass:e.wrapClass,widgets:e.widgets}},addLineClass:at(function(e,t,n){return Tn(this,e,t=="gutter"?"gutter":"class",function(r){var i=t=="text"?"textClass":t=="background"?"bgClass":t=="gutter"?"gutterClass":"wrapClass";if(!r[i])r[i]=n;else{if(P(n).test(r[i]))return!1;r[i]+=" "+n}return!0})}),removeLineClass:at(function(e,t,n){return Tn(this,e,t=="gutter"?"gutter":"class",function(r){var i=t=="text"?"textClass":t=="background"?"bgClass":t=="gutter"?"gutterClass":"wrapClass",o=r[i];if(o)if(n==null)r[i]=null;else{var l=o.match(P(n));if(!l)return!1;var a=l.index+l[0].length;r[i]=o.slice(0,l.index)+(!l.index||a==o.length?"":" ")+o.slice(a)||null}else return!1;return!0})}),addLineWidget:at(function(e,t,n){return cu(this,e,t,n)}),removeLineWidget:function(e){e.clear()},markText:function(e,t,n){return $r(this,Ae(this,e),Ae(this,t),n,n&&n.type||"range")},setBookmark:function(e,t){var n={replacedWith:t&&(t.nodeType==null?t.widget:t),insertLeft:t&&t.insertLeft,clearWhenEmpty:!1,shared:t&&t.shared,handleMouseEvents:t&&t.handleMouseEvents};return e=Ae(this,e),$r(this,e,e,n,"bookmark")},findMarksAt:function(e){e=Ae(this,e);var t=[],n=ye(this,e.line).markedSpans;if(n)for(var r=0;r<n.length;++r){var i=n[r];(i.from==null||i.from<=e.ch)&&(i.to==null||i.to>=e.ch)&&t.push(i.marker.parent||i.marker)}return t},findMarks:function(e,t,n){e=Ae(this,e),t=Ae(this,t);var r=[],i=e.line;return this.iter(e.line,t.line+1,function(o){var l=o.markedSpans;if(l)for(var a=0;a<l.length;a++){var s=l[a];!(s.to!=null&&i==e.line&&e.ch>=s.to||s.from==null&&i!=e.line||s.from!=null&&i==t.line&&s.from>=t.ch)&&(!n||n(s.marker))&&r.push(s.marker.parent||s.marker)}++i}),r},getAllMarks:function(){var e=[];return this.iter(function(t){var n=t.markedSpans;if(n)for(var r=0;r<n.length;++r)n[r].from!=null&&e.push(n[r].marker)}),e},posFromIndex:function(e){var t,n=this.first,r=this.lineSeparator().length;return this.iter(function(i){var o=i.text.length+r;if(o>e)return t=e,!0;e-=o,++n}),Ae(this,B(n,t))},indexFromPos:function(e){e=Ae(this,e);var t=e.ch;if(e.line<this.first||e.ch<0)return 0;var n=this.lineSeparator().length;return this.iter(this.first,e.line,function(r){t+=r.text.length+n}),t},copy:function(e){var t=new Lt(un(this,this.first,this.first+this.size),this.modeOption,this.first,this.lineSep,this.direction);return t.scrollTop=this.scrollTop,t.scrollLeft=this.scrollLeft,t.sel=this.sel,t.extend=!1,e&&(t.history.undoDepth=this.history.undoDepth,t.setHistory(this.getHistory())),t},linkedDoc:function(e){e||(e={});var t=this.first,n=this.first+this.size;e.from!=null&&e.from>t&&(t=e.from),e.to!=null&&e.to<n&&(n=e.to);var r=new Lt(un(this,t,n),e.mode||this.modeOption,t,this.lineSep,this.direction);return e.sharedHist&&(r.history=this.history),(this.linked||(this.linked=[])).push({doc:r,sharedHist:e.sharedHist}),r.linked=[{doc:this,isParent:!0,sharedHist:e.sharedHist}],hu(r,_l(this)),r},unlinkDoc:function(e){if(e instanceof Ge&&(e=e.doc),this.linked)for(var t=0;t<this.linked.length;++t){var n=this.linked[t];if(n.doc==e){this.linked.splice(t,1),e.unlinkDoc(this),pu(_l(this));break}}if(e.history==this.history){var r=[e.id];vr(e,function(i){return r.push(i.id)},!0),e.history=new ni(null),e.history.done=Yr(this.history.done,r),e.history.undone=Yr(this.history.undone,r)}},iterLinkedDocs:function(e){vr(this,e)},getMode:function(){return this.mode},getEditor:function(){return this.cm},splitLines:function(e){return this.lineSep?e.split(this.lineSep):zt(e)},lineSeparator:function(){return this.lineSep||`
11 -`},setDirection:at(function(e){e!="rtl"&&(e="ltr"),e!=this.direction&&(this.direction=e,this.iter(function(t){return t.order=null}),this.cm&&nu(this.cm))})}),Lt.prototype.eachLine=Lt.prototype.iter;var ql=0;function vu(e){var t=this;if(jl(t),!(Qe(t,e)||tr(t.display,e))){pt(e),k&&(ql=+new Date);var n=Lr(t,e,!0),r=e.dataTransfer.files;if(!(!n||t.isReadOnly()))if(r&&r.length&&window.FileReader&&window.File)for(var i=r.length,o=Array(i),l=0,a=function(){++l==i&&lt(t,function(){n=Ae(t.doc,n);var L={from:n,to:n,text:t.doc.splitLines(o.filter(function(H){return H!=null}).join(t.doc.lineSeparator())),origin:"paste"};Jr(t.doc,L),Dl(t.doc,pr(Ae(t.doc,n),Ae(t.doc,gr(L))))})()},s=function(L,H){if(t.options.allowDropFileTypes&&ve(t.options.allowDropFileTypes,L.type)==-1){a();return}var Z=new FileReader;Z.onerror=function(){return a()},Z.onload=function(){var ie=Z.result;if(/[\x00-\x08\x0e-\x1f]{2}/.test(ie)){a();return}o[H]=ie,a()},Z.readAsText(L)},u=0;u<r.length;u++)s(r[u],u);else{if(t.state.draggingText&&t.doc.sel.contains(n)>-1){t.state.draggingText(e),setTimeout(function(){return t.display.input.focus()},20);return}try{var h=e.dataTransfer.getData("Text");if(h){var x;if(t.state.draggingText&&!t.state.draggingText.copy&&(x=t.listSelections()),li(t.doc,pr(n,n)),x)for(var D=0;D<x.length;++D)Zr(t.doc,"",x[D].anchor,x[D].head,"drag");t.replaceSelection(h,"around","paste"),t.display.input.focus()}}catch{}}}}function mu(e,t){if(k&&(!e.state.draggingText||+new Date-ql<100)){ar(t);return}if(!(Qe(e,t)||tr(e.display,t))&&(t.dataTransfer.setData("Text",e.getSelection()),t.dataTransfer.effectAllowed="copyMove",t.dataTransfer.setDragImage&&!$)){var n=c("img",null,null,"position: fixed; left: 0; top: 0;");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",A&&(n.width=n.height=1,e.display.wrapper.appendChild(n),n._top=n.offsetTop),t.dataTransfer.setDragImage(n,0,0),A&&n.parentNode.removeChild(n)}}function xu(e,t){var n=Lr(e,t);if(n){var r=document.createDocumentFragment();Ri(e,n,r),e.display.dragCursor||(e.display.dragCursor=c("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),e.display.lineSpace.insertBefore(e.display.dragCursor,e.display.cursorDiv)),G(e.display.dragCursor,r)}}function jl(e){e.display.dragCursor&&(e.display.lineSpace.removeChild(e.display.dragCursor),e.display.dragCursor=null)}function Kl(e){if(document.getElementsByClassName){for(var t=document.getElementsByClassName("CodeMirror"),n=[],r=0;r<t.length;r++){var i=t[r].CodeMirror;i&&n.push(i)}n.length&&n[0].operation(function(){for(var o=0;o<n.length;o++)e(n[o])})}}var Ul=!1;function yu(){Ul||(bu(),Ul=!0)}function bu(){var e;Se(window,"resize",function(){e==null&&(e=setTimeout(function(){e=null,Kl(ku)},100))}),Se(window,"blur",function(){return Kl(Ur)})}function ku(e){var t=e.display;t.cachedCharWidth=t.cachedTextHeight=t.cachedPaddingH=null,t.scrollbarsClipped=!1,e.setSize()}for(var xr={3:"Pause",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",61:"=",91:"Mod",92:"Mod",93:"Mod",106:"*",107:"=",109:"-",110:".",111:"/",145:"ScrollLock",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",224:"Mod",63232:"Up",63233:"Down",63234:"Left",63235:"Right",63272:"Delete",63273:"Home",63275:"End",63276:"PageUp",63277:"PageDown",63302:"Insert"},An=0;An<10;An++)xr[An+48]=xr[An+96]=String(An);for(var ui=65;ui<=90;ui++)xr[ui]=String.fromCharCode(ui);for(var Nn=1;Nn<=12;Nn++)xr[Nn+111]=xr[Nn+63235]="F"+Nn;var nr={};nr.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},nr.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},nr.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},nr.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]},nr.default=z?nr.macDefault:nr.pcDefault;function wu(e){var t=e.split(/-(?!$)/);e=t[t.length-1];for(var n,r,i,o,l=0;l<t.length-1;l++){var a=t[l];if(/^(cmd|meta|m)$/i.test(a))o=!0;else if(/^a(lt)?$/i.test(a))n=!0;else if(/^(c|ctrl|control)$/i.test(a))r=!0;else if(/^s(hift)?$/i.test(a))i=!0;else throw new Error("Unrecognized modifier name: "+a)}return n&&(e="Alt-"+e),r&&(e="Ctrl-"+e),o&&(e="Cmd-"+e),i&&(e="Shift-"+e),e}function Su(e){var t={};for(var n in e)if(e.hasOwnProperty(n)){var r=e[n];if(/^(name|fallthrough|(de|at)tach)$/.test(n))continue;if(r=="..."){delete e[n];continue}for(var i=Ie(n.split(" "),wu),o=0;o<i.length;o++){var l=void 0,a=void 0;o==i.length-1?(a=i.join(" "),l=r):(a=i.slice(0,o+1).join(" "),l="...");var s=t[a];if(!s)t[a]=l;else if(s!=l)throw new Error("Inconsistent bindings for "+a)}delete e[n]}for(var u in t)e[u]=t[u];return e}function Vr(e,t,n,r){t=fi(t);var i=t.call?t.call(e,r):t[e];if(i===!1)return"nothing";if(i==="...")return"multi";if(i!=null&&n(i))return"handled";if(t.fallthrough){if(Object.prototype.toString.call(t.fallthrough)!="[object Array]")return Vr(e,t.fallthrough,n,r);for(var o=0;o<t.fallthrough.length;o++){var l=Vr(e,t.fallthrough[o],n,r);if(l)return l}}}function Gl(e){var t=typeof e=="string"?e:xr[e.keyCode];return t=="Ctrl"||t=="Alt"||t=="Shift"||t=="Mod"}function Xl(e,t,n){var r=e;return t.altKey&&r!="Alt"&&(e="Alt-"+e),(W?t.metaKey:t.ctrlKey)&&r!="Ctrl"&&(e="Ctrl-"+e),(W?t.ctrlKey:t.metaKey)&&r!="Mod"&&(e="Cmd-"+e),!n&&t.shiftKey&&r!="Shift"&&(e="Shift-"+e),e}function Yl(e,t){if(A&&e.keyCode==34&&e.char)return!1;var n=xr[e.keyCode];return n==null||e.altGraphKey?!1:(e.keyCode==3&&e.code&&(n=e.code),Xl(n,e,t))}function fi(e){return typeof e=="string"?nr[e]:e}function en(e,t){for(var n=e.doc.sel.ranges,r=[],i=0;i<n.length;i++){for(var o=t(n[i]);r.length&&ce(o.from,we(r).to)<=0;){var l=r.pop();if(ce(l.from,o.from)<0){o.from=l.from;break}}r.push(o)}At(e,function(){for(var a=r.length-1;a>=0;a--)Zr(e.doc,"",r[a].from,r[a].to,"+delete");Gr(e)})}function to(e,t,n){var r=Mt(e.text,t+n,n);return r<0||r>e.text.length?null:r}function ro(e,t,n){var r=to(e,t.ch,n);return r==null?null:new B(t.line,r,n<0?"after":"before")}function no(e,t,n,r,i){if(e){t.doc.direction=="rtl"&&(i=-i);var o=Re(n,t.doc.direction);if(o){var l=i<0?we(o):o[0],a=i<0==(l.level==1),s=a?"after":"before",u;if(l.level>0||t.doc.direction=="rtl"){var h=qr(t,n);u=i<0?n.text.length-1:0;var x=Qt(t,h,u).top;u=Pt(function(D){return Qt(t,h,D).top==x},i<0==(l.level==1)?l.from:l.to-1,u),s=="before"&&(u=to(n,u,1))}else u=i<0?l.to:l.from;return new B(r,u,s)}}return new B(r,i<0?n.text.length:0,i<0?"before":"after")}function Lu(e,t,n,r){var i=Re(t,e.doc.direction);if(!i)return ro(t,n,r);n.ch>=t.text.length?(n.ch=t.text.length,n.sticky="before"):n.ch<=0&&(n.ch=0,n.sticky="after");var o=lr(i,n.ch,n.sticky),l=i[o];if(e.doc.direction=="ltr"&&l.level%2==0&&(r>0?l.to>n.ch:l.from<n.ch))return ro(t,n,r);var a=function(ae,he){return to(t,ae instanceof B?ae.ch:ae,he)},s,u=function(ae){return e.options.lineWrapping?(s=s||qr(e,t),Vo(e,t,s,ae)):{begin:0,end:t.text.length}},h=u(n.sticky=="before"?a(n,-1):n.ch);if(e.doc.direction=="rtl"||l.level==1){var x=l.level==1==r<0,D=a(n,x?1:-1);if(D!=null&&(x?D<=l.to&&D<=h.end:D>=l.from&&D>=h.begin)){var L=x?"before":"after";return new B(n.line,D,L)}}var H=function(ae,he,se){for(var ge=function(Ke,st){return st?new B(n.line,a(Ke,1),"before"):new B(n.line,Ke,"after")};ae>=0&&ae<i.length;ae+=he){var Le=i[ae],ke=he>0==(Le.level!=1),Ee=ke?se.begin:a(se.end,-1);if(Le.from<=Ee&&Ee<Le.to||(Ee=ke?Le.from:a(Le.to,-1),se.begin<=Ee&&Ee<se.end))return ge(Ee,ke)}},Z=H(o+r,r,h);if(Z)return Z;var ie=r>0?h.end:a(h.begin,-1);return ie!=null&&!(r>0&&ie==t.text.length)&&(Z=H(r>0?0:i.length-1,r,u(ie)),Z)?Z:null}var En={selectAll:El,singleSelection:function(e){return e.setSelection(e.getCursor("anchor"),e.getCursor("head"),$e)},killLine:function(e){return en(e,function(t){if(t.empty()){var n=ye(e.doc,t.head.line).text.length;return t.head.ch==n&&t.head.line<e.lastLine()?{from:t.head,to:B(t.head.line+1,0)}:{from:t.head,to:B(t.head.line,n)}}else return{from:t.from(),to:t.to()}})},deleteLine:function(e){return en(e,function(t){return{from:B(t.from().line,0),to:Ae(e.doc,B(t.to().line+1,0))}})},delLineLeft:function(e){return en(e,function(t){return{from:B(t.from().line,0),to:t.from()}})},delWrappedLineLeft:function(e){return en(e,function(t){var n=e.charCoords(t.head,"div").top+5,r=e.coordsChar({left:0,top:n},"div");return{from:r,to:t.from()}})},delWrappedLineRight:function(e){return en(e,function(t){var n=e.charCoords(t.head,"div").top+5,r=e.coordsChar({left:e.display.lineDiv.offsetWidth+100,top:n},"div");return{from:t.from(),to:r}})},undo:function(e){return e.undo()},redo:function(e){return e.redo()},undoSelection:function(e){return e.undoSelection()},redoSelection:function(e){return e.redoSelection()},goDocStart:function(e){return e.extendSelection(B(e.firstLine(),0))},goDocEnd:function(e){return e.extendSelection(B(e.lastLine()))},goLineStart:function(e){return e.extendSelectionsBy(function(t){return Ql(e,t.head.line)},{origin:"+move",bias:1})},goLineStartSmart:function(e){return e.extendSelectionsBy(function(t){return Jl(e,t.head)},{origin:"+move",bias:1})},goLineEnd:function(e){return e.extendSelectionsBy(function(t){return Tu(e,t.head.line)},{origin:"+move",bias:-1})},goLineRight:function(e){return e.extendSelectionsBy(function(t){var n=e.cursorCoords(t.head,"div").top+5;return e.coordsChar({left:e.display.lineDiv.offsetWidth+100,top:n},"div")},Pe)},goLineLeft:function(e){return e.extendSelectionsBy(function(t){var n=e.cursorCoords(t.head,"div").top+5;return e.coordsChar({left:0,top:n},"div")},Pe)},goLineLeftSmart:function(e){return e.extendSelectionsBy(function(t){var n=e.cursorCoords(t.head,"div").top+5,r=e.coordsChar({left:0,top:n},"div");return r.ch<e.getLine(r.line).search(/\S/)?Jl(e,t.head):r},Pe)},goLineUp:function(e){return e.moveV(-1,"line")},goLineDown:function(e){return e.moveV(1,"line")},goPageUp:function(e){return e.moveV(-1,"page")},goPageDown:function(e){return e.moveV(1,"page")},goCharLeft:function(e){return e.moveH(-1,"char")},goCharRight:function(e){return e.moveH(1,"char")},goColumnLeft:function(e){return e.moveH(-1,"column")},goColumnRight:function(e){return e.moveH(1,"column")},goWordLeft:function(e){return e.moveH(-1,"word")},goGroupRight:function(e){return e.moveH(1,"group")},goGroupLeft:function(e){return e.moveH(-1,"group")},goWordRight:function(e){return e.moveH(1,"word")},delCharBefore:function(e){return e.deleteH(-1,"codepoint")},delCharAfter:function(e){return e.deleteH(1,"char")},delWordBefore:function(e){return e.deleteH(-1,"word")},delWordAfter:function(e){return e.deleteH(1,"word")},delGroupBefore:function(e){return e.deleteH(-1,"group")},delGroupAfter:function(e){return e.deleteH(1,"group")},indentAuto:function(e){return e.indentSelection("smart")},indentMore:function(e){return e.indentSelection("add")},indentLess:function(e){return e.indentSelection("subtract")},insertTab:function(e){return e.replaceSelection(" ")},insertSoftTab:function(e){for(var t=[],n=e.listSelections(),r=e.options.tabSize,i=0;i<n.length;i++){var o=n[i].from(),l=Fe(e.getLine(o.line),o.ch,r);t.push(et(r-l%r))}e.replaceSelections(t)},defaultTab:function(e){e.somethingSelected()?e.indentSelection("add"):e.execCommand("insertTab")},transposeChars:function(e){return At(e,function(){for(var t=e.listSelections(),n=[],r=0;r<t.length;r++)if(t[r].empty()){var i=t[r].head,o=ye(e.doc,i.line).text;if(o){if(i.ch==o.length&&(i=new B(i.line,i.ch-1)),i.ch>0)i=new B(i.line,i.ch+1),e.replaceRange(o.charAt(i.ch-1)+o.charAt(i.ch-2),B(i.line,i.ch-2),i,"+transpose");else if(i.line>e.doc.first){var l=ye(e.doc,i.line-1).text;l&&(i=new B(i.line,1),e.replaceRange(o.charAt(0)+e.doc.lineSeparator()+l.charAt(l.length-1),B(i.line-1,l.length-1),i,"+transpose"))}}n.push(new He(i,i))}e.setSelections(n)})},newlineAndIndent:function(e){return At(e,function(){for(var t=e.listSelections(),n=t.length-1;n>=0;n--)e.replaceRange(e.doc.lineSeparator(),t[n].anchor,t[n].head,"+input");t=e.listSelections();for(var r=0;r<t.length;r++)e.indentLine(t[r].from().line,null,!0);Gr(e)})},openLine:function(e){return e.replaceSelection(`
12 -`,"start")},toggleOverwrite:function(e){return e.toggleOverwrite()}};function Ql(e,t){var n=ye(e.doc,t),r=qt(n);return r!=n&&(t=f(r)),no(!0,e,r,t,1)}function Tu(e,t){var n=ye(e.doc,t),r=ss(n);return r!=n&&(t=f(r)),no(!0,e,n,t,-1)}function Jl(e,t){var n=Ql(e,t.line),r=ye(e.doc,n.line),i=Re(r,e.doc.direction);if(!i||i[0].level==0){var o=Math.max(n.ch,r.text.search(/\S/)),l=t.line==n.line&&t.ch<=o&&t.ch;return B(n.line,l?0:o,n.sticky)}return n}function ci(e,t,n){if(typeof t=="string"&&(t=En[t],!t))return!1;e.display.input.ensurePolled();var r=e.display.shift,i=!1;try{e.isReadOnly()&&(e.state.suppressEdits=!0),n&&(e.display.shift=!1),i=t(e)!=qe}finally{e.display.shift=r,e.state.suppressEdits=!1}return i}function Cu(e,t,n){for(var r=0;r<e.state.keyMaps.length;r++){var i=Vr(t,e.state.keyMaps[r],n,e);if(i)return i}return e.options.extraKeys&&Vr(t,e.options.extraKeys,n,e)||Vr(t,e.options.keyMap,n,e)}var Du=new Ce;function On(e,t,n,r){var i=e.state.keySeq;if(i){if(Gl(t))return"handled";if(/\'$/.test(t)?e.state.keySeq=null:Du.set(50,function(){e.state.keySeq==i&&(e.state.keySeq=null,e.display.input.reset())}),Zl(e,i+" "+t,n,r))return!0}return Zl(e,t,n,r)}function Zl(e,t,n,r){var i=Cu(e,t,r);return i=="multi"&&(e.state.keySeq=t),i=="handled"&&ot(e,"keyHandled",e,t,n),(i=="handled"||i=="multi")&&(pt(n),Wi(e)),!!i}function $l(e,t){var n=Yl(t,!0);return n?t.shiftKey&&!e.state.keySeq?On(e,"Shift-"+n,t,function(r){return ci(e,r,!0)})||On(e,n,t,function(r){if(typeof r=="string"?/^go[A-Z]/.test(r):r.motion)return ci(e,r)}):On(e,n,t,function(r){return ci(e,r)}):!1}function Mu(e,t,n){return On(e,"'"+n+"'",t,function(r){return ci(e,r,!0)})}var io=null;function Vl(e){var t=this;if(!(e.target&&e.target!=t.display.input.getField())&&(t.curOp.focus=y(fe(t)),!Qe(t,e))){k&&I<11&&e.keyCode==27&&(e.returnValue=!1);var n=e.keyCode;t.display.shift=n==16||e.shiftKey;var r=$l(t,e);A&&(io=r?n:null,!r&&n==88&&!Wn&&(z?e.metaKey:e.ctrlKey)&&t.replaceSelection("",null,"cut")),_&&!z&&!r&&n==46&&e.shiftKey&&!e.ctrlKey&&document.execCommand&&document.execCommand("cut"),n==18&&!/\bCodeMirror-crosshair\b/.test(t.display.lineDiv.className)&&Fu(t)}}function Fu(e){var t=e.display.lineDiv;j(t,"CodeMirror-crosshair");function n(r){(r.keyCode==18||!r.altKey)&&(V(t,"CodeMirror-crosshair"),ht(document,"keyup",n),ht(document,"mouseover",n))}Se(document,"keyup",n),Se(document,"mouseover",n)}function ea(e){e.keyCode==16&&(this.doc.sel.shift=!1),Qe(this,e)}function ta(e){var t=this;if(!(e.target&&e.target!=t.display.input.getField())&&!(tr(t.display,e)||Qe(t,e)||e.ctrlKey&&!e.altKey||z&&e.metaKey)){var n=e.keyCode,r=e.charCode;if(A&&n==io){io=null,pt(e);return}if(!(A&&(!e.which||e.which<10)&&$l(t,e))){var i=String.fromCharCode(r??n);i!="\b"&&(Mu(t,e,i)||t.display.input.onKeyPress(e))}}}var Au=400,oo=function(e,t,n){this.time=e,this.pos=t,this.button=n};oo.prototype.compare=function(e,t,n){return this.time+Au>e&&ce(t,this.pos)==0&&n==this.button};var Pn,In;function Nu(e,t){var n=+new Date;return In&&In.compare(n,e,t)?(Pn=In=null,"triple"):Pn&&Pn.compare(n,e,t)?(In=new oo(n,e,t),Pn=null,"double"):(Pn=new oo(n,e,t),In=null,"single")}function ra(e){var t=this,n=t.display;if(!(Qe(t,e)||n.activeTouch&&n.input.supportsTouch())){if(n.input.ensurePolled(),n.shift=e.shiftKey,tr(n,e)){Y||(n.scroller.draggable=!1,setTimeout(function(){return n.scroller.draggable=!0},100));return}if(!lo(t,e)){var r=Lr(t,e),i=Rt(e),o=r?Nu(r,i):"single";le(t).focus(),i==1&&t.state.selectingText&&t.state.selectingText(e),!(r&&Eu(t,i,r,o,e))&&(i==1?r?Pu(t,r,o,e):ln(e)==n.scroller&&pt(e):i==2?(r&&oi(t.doc,r),setTimeout(function(){return n.input.focus()},20)):i==3&&(J?t.display.input.onContextMenu(e):Hi(t)))}}}function Eu(e,t,n,r,i){var o="Click";return r=="double"?o="Double"+o:r=="triple"&&(o="Triple"+o),o=(t==1?"Left":t==2?"Middle":"Right")+o,On(e,Xl(o,i),i,function(l){if(typeof l=="string"&&(l=En[l]),!l)return!1;var a=!1;try{e.isReadOnly()&&(e.state.suppressEdits=!0),a=l(e,n)!=qe}finally{e.state.suppressEdits=!1}return a})}function Ou(e,t,n){var r=e.getOption("configureMouse"),i=r?r(e,t,n):{};if(i.unit==null){var o=X?n.shiftKey&&n.metaKey:n.altKey;i.unit=o?"rectangle":t=="single"?"char":t=="double"?"word":"line"}return(i.extend==null||e.doc.extend)&&(i.extend=e.doc.extend||n.shiftKey),i.addNew==null&&(i.addNew=z?n.metaKey:n.ctrlKey),i.moveOnDrag==null&&(i.moveOnDrag=!(z?n.altKey:n.ctrlKey)),i}function Pu(e,t,n,r){k?setTimeout(xe(nl,e),0):e.curOp.focus=y(fe(e));var i=Ou(e,n,r),o=e.doc.sel,l;e.options.dragDrop&&xi&&!e.isReadOnly()&&n=="single"&&(l=o.contains(t))>-1&&(ce((l=o.ranges[l]).from(),t)<0||t.xRel>0)&&(ce(l.to(),t)>0||t.xRel<0)?Iu(e,r,t,i):zu(e,r,t,i)}function Iu(e,t,n,r){var i=e.display,o=!1,l=lt(e,function(u){Y&&(i.scroller.draggable=!1),e.state.draggingText=!1,e.state.delayingBlurEvent&&(e.hasFocus()?e.state.delayingBlurEvent=!1:Hi(e)),ht(i.wrapper.ownerDocument,"mouseup",l),ht(i.wrapper.ownerDocument,"mousemove",a),ht(i.scroller,"dragstart",s),ht(i.scroller,"drop",l),o||(pt(u),r.addNew||oi(e.doc,n,null,null,r.extend),Y&&!$||k&&I==9?setTimeout(function(){i.wrapper.ownerDocument.body.focus({preventScroll:!0}),i.input.focus()},20):i.input.focus())}),a=function(u){o=o||Math.abs(t.clientX-u.clientX)+Math.abs(t.clientY-u.clientY)>=10},s=function(){return o=!0};Y&&(i.scroller.draggable=!0),e.state.draggingText=l,l.copy=!r.moveOnDrag,Se(i.wrapper.ownerDocument,"mouseup",l),Se(i.wrapper.ownerDocument,"mousemove",a),Se(i.scroller,"dragstart",s),Se(i.scroller,"drop",l),e.state.delayingBlurEvent=!0,setTimeout(function(){return i.input.focus()},20),i.scroller.dragDrop&&i.scroller.dragDrop()}function na(e,t,n){if(n=="char")return new He(t,t);if(n=="word")return e.findWordAt(t);if(n=="line")return new He(B(t.line,0),Ae(e.doc,B(t.line+1,0)));var r=n(e,t);return new He(r.from,r.to)}function zu(e,t,n,r){k&&Hi(e);var i=e.display,o=e.doc;pt(t);var l,a,s=o.sel,u=s.ranges;if(r.addNew&&!r.extend?(a=o.sel.contains(n),a>-1?l=u[a]:l=new He(n,n)):(l=o.sel.primary(),a=o.sel.primIndex),r.unit=="rectangle")r.addNew||(l=new He(n,n)),n=Lr(e,t,!0,!0),a=-1;else{var h=na(e,n,r.unit);r.extend?l=Vi(l,h.anchor,h.head,r.extend):l=h}r.addNew?a==-1?(a=u.length,gt(o,Kt(e,u.concat([l]),a),{scroll:!1,origin:"*mouse"})):u.length>1&&u[a].empty()&&r.unit=="char"&&!r.extend?(gt(o,Kt(e,u.slice(0,a).concat(u.slice(a+1)),0),{scroll:!1,origin:"*mouse"}),s=o.sel):eo(o,a,l,dt):(a=0,gt(o,new Ot([l],0),dt),s=o.sel);var x=n;function D(se){if(ce(x,se)!=0)if(x=se,r.unit=="rectangle"){for(var ge=[],Le=e.options.tabSize,ke=Fe(ye(o,n.line).text,n.ch,Le),Ee=Fe(ye(o,se.line).text,se.ch,Le),Ke=Math.min(ke,Ee),st=Math.max(ke,Ee),Xe=Math.min(n.line,se.line),Nt=Math.min(e.lastLine(),Math.max(n.line,se.line));Xe<=Nt;Xe++){var Tt=ye(o,Xe).text,tt=_e(Tt,Ke,Le);Ke==st?ge.push(new He(B(Xe,tt),B(Xe,tt))):Tt.length>tt&&ge.push(new He(B(Xe,tt),B(Xe,_e(Tt,st,Le))))}ge.length||ge.push(new He(n,n)),gt(o,Kt(e,s.ranges.slice(0,a).concat(ge),a),{origin:"*mouse",scroll:!1}),e.scrollIntoView(se)}else{var Ct=l,ft=na(e,se,r.unit),nt=Ct.anchor,rt;ce(ft.anchor,nt)>0?(rt=ft.head,nt=Wr(Ct.from(),ft.anchor)):(rt=ft.anchor,nt=wt(Ct.to(),ft.head));var Ze=s.ranges.slice(0);Ze[a]=Bu(e,new He(Ae(o,nt),rt)),gt(o,Kt(e,Ze,a),dt)}}var L=i.wrapper.getBoundingClientRect(),H=0;function Z(se){var ge=++H,Le=Lr(e,se,!0,r.unit=="rectangle");if(Le)if(ce(Le,x)!=0){e.curOp.focus=y(fe(e)),D(Le);var ke=Vn(i,o);(Le.line>=ke.to||Le.line<ke.from)&&setTimeout(lt(e,function(){H==ge&&Z(se)}),150)}else{var Ee=se.clientY<L.top?-20:se.clientY>L.bottom?20:0;Ee&&setTimeout(lt(e,function(){H==ge&&(i.scroller.scrollTop+=Ee,Z(se))}),50)}}function ie(se){e.state.selectingText=!1,H=1/0,se&&(pt(se),i.input.focus()),ht(i.wrapper.ownerDocument,"mousemove",ae),ht(i.wrapper.ownerDocument,"mouseup",he),o.history.lastSelOrigin=null}var ae=lt(e,function(se){se.buttons===0||!Rt(se)?ie(se):Z(se)}),he=lt(e,ie);e.state.selectingText=he,Se(i.wrapper.ownerDocument,"mousemove",ae),Se(i.wrapper.ownerDocument,"mouseup",he)}function Bu(e,t){var n=t.anchor,r=t.head,i=ye(e.doc,n.line);if(ce(n,r)==0&&n.sticky==r.sticky)return t;var o=Re(i);if(!o)return t;var l=lr(o,n.ch,n.sticky),a=o[l];if(a.from!=n.ch&&a.to!=n.ch)return t;var s=l+(a.from==n.ch==(a.level!=1)?0:1);if(s==0||s==o.length)return t;var u;if(r.line!=n.line)u=(r.line-n.line)*(e.doc.direction=="ltr"?1:-1)>0;else{var h=lr(o,r.ch,r.sticky),x=h-l||(r.ch-n.ch)*(a.level==1?-1:1);h==s-1||h==s?u=x<0:u=x>0}var D=o[s+(u?-1:0)],L=u==(D.level==1),H=L?D.from:D.to,Z=L?"after":"before";return n.ch==H&&n.sticky==Z?t:new He(new B(n.line,H,Z),r)}function ia(e,t,n,r){var i,o;if(t.touches)i=t.touches[0].clientX,o=t.touches[0].clientY;else try{i=t.clientX,o=t.clientY}catch{return!1}if(i>=Math.floor(e.display.gutters.getBoundingClientRect().right))return!1;r&&pt(t);var l=e.display,a=l.lineDiv.getBoundingClientRect();if(o>a.bottom||!Ft(e,n))return kt(t);o-=a.top-l.viewOffset;for(var s=0;s<e.display.gutterSpecs.length;++s){var u=l.gutters.childNodes[s];if(u&&u.getBoundingClientRect().right>=i){var h=m(e.doc,o),x=e.display.gutterSpecs[s];return Ye(e,n,e,h,x.className,t),kt(t)}}}function lo(e,t){return ia(e,t,"gutterClick",!0)}function oa(e,t){tr(e.display,t)||Ru(e,t)||Qe(e,t,"contextmenu")||J||e.display.input.onContextMenu(t)}function Ru(e,t){return Ft(e,"gutterContextMenu")?ia(e,t,"gutterContextMenu",!1):!1}function la(e){e.display.wrapper.className=e.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+e.options.theme.replace(/(^|\s)\s*/g," cm-s-"),gn(e)}var tn={toString:function(){return"CodeMirror.Init"}},aa={},di={};function Wu(e){var t=e.optionHandlers;function n(r,i,o,l){e.defaults[r]=i,o&&(t[r]=l?function(a,s,u){u!=tn&&o(a,s,u)}:o)}e.defineOption=n,e.Init=tn,n("value","",function(r,i){return r.setValue(i)},!0),n("mode",null,function(r,i){r.doc.modeOption=i,Ji(r)},!0),n("indentUnit",2,Ji,!0),n("indentWithTabs",!1),n("smartIndent",!0),n("tabSize",4,function(r){Sn(r),gn(r),St(r)},!0),n("lineSeparator",null,function(r,i){if(r.doc.lineSep=i,!!i){var o=[],l=r.doc.first;r.doc.iter(function(s){for(var u=0;;){var h=s.text.indexOf(i,u);if(h==-1)break;u=h+i.length,o.push(B(l,h))}l++});for(var a=o.length-1;a>=0;a--)Zr(r.doc,i,o[a],B(o[a].line,o[a].ch+i.length))}}),n("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b\u200e\u200f\u2028\u2029\u202d\u202e\u2066\u2067\u2069\ufeff\ufff9-\ufffc]/g,function(r,i,o){r.state.specialChars=new RegExp(i.source+(i.test(" ")?"":"| "),"g"),o!=tn&&r.refresh()}),n("specialCharPlaceholder",ps,function(r){return r.refresh()},!0),n("electricChars",!0),n("inputStyle",N?"contenteditable":"textarea",function(){throw new Error("inputStyle can not (yet) be changed in a running editor")},!0),n("spellcheck",!1,function(r,i){return r.getInputField().spellcheck=i},!0),n("autocorrect",!1,function(r,i){return r.getInputField().autocorrect=i},!0),n("autocapitalize",!1,function(r,i){return r.getInputField().autocapitalize=i},!0),n("rtlMoveVisually",!q),n("wholeLineUpdateBefore",!0),n("theme","default",function(r){la(r),wn(r)},!0),n("keyMap","default",function(r,i,o){var l=fi(i),a=o!=tn&&fi(o);a&&a.detach&&a.detach(r,l),l.attach&&l.attach(r,a||null)}),n("extraKeys",null),n("configureMouse",null),n("lineWrapping",!1,_u,!0),n("gutters",[],function(r,i){r.display.gutterSpecs=Yi(i,r.options.lineNumbers),wn(r)},!0),n("fixedGutter",!0,function(r,i){r.display.gutters.style.left=i?zi(r.display)+"px":"0",r.refresh()},!0),n("coverGutterNextToScrollbar",!1,function(r){return Xr(r)},!0),n("scrollbarStyle","native",function(r){ul(r),Xr(r),r.display.scrollbars.setScrollTop(r.doc.scrollTop),r.display.scrollbars.setScrollLeft(r.doc.scrollLeft)},!0),n("lineNumbers",!1,function(r,i){r.display.gutterSpecs=Yi(r.options.gutters,i),wn(r)},!0),n("firstLineNumber",1,wn,!0),n("lineNumberFormatter",function(r){return r},wn,!0),n("showCursorWhenSelecting",!1,vn,!0),n("resetSelectionOnContextMenu",!0),n("lineWiseCopyCut",!0),n("pasteLinesPerSelection",!0),n("selectionsMayTouch",!1),n("readOnly",!1,function(r,i){i=="nocursor"&&(Ur(r),r.display.input.blur()),r.display.input.readOnlyChanged(i)}),n("screenReaderLabel",null,function(r,i){i=i===""?null:i,r.display.input.screenReaderLabelChanged(i)}),n("disableInput",!1,function(r,i){i||r.display.input.reset()},!0),n("dragDrop",!0,Hu),n("allowDropFileTypes",null),n("cursorBlinkRate",530),n("cursorScrollMargin",0),n("cursorHeight",1,vn,!0),n("singleCursorHeightPerLine",!0,vn,!0),n("workTime",100),n("workDelay",100),n("flattenSpans",!0,Sn,!0),n("addModeClass",!1,Sn,!0),n("pollInterval",100),n("undoDepth",200,function(r,i){return r.doc.history.undoDepth=i}),n("historyEventDelay",1250),n("viewportMargin",10,function(r){return r.refresh()},!0),n("maxHighlightLength",1e4,Sn,!0),n("moveInputWithCursor",!0,function(r,i){i||r.display.input.resetPosition()}),n("tabindex",null,function(r,i){return r.display.input.getField().tabIndex=i||""}),n("autofocus",null),n("direction","ltr",function(r,i){return r.doc.setDirection(i)},!0),n("phrases",null)}function Hu(e,t,n){var r=n&&n!=tn;if(!t!=!r){var i=e.display.dragFunctions,o=t?Se:ht;o(e.display.scroller,"dragstart",i.start),o(e.display.scroller,"dragenter",i.enter),o(e.display.scroller,"dragover",i.over),o(e.display.scroller,"dragleave",i.leave),o(e.display.scroller,"drop",i.drop)}}function _u(e){e.options.lineWrapping?(j(e.display.wrapper,"CodeMirror-wrap"),e.display.sizer.style.minWidth="",e.display.sizerWidth=null):(V(e.display.wrapper,"CodeMirror-wrap"),Ci(e)),Bi(e),St(e),gn(e),setTimeout(function(){return Xr(e)},100)}function Ge(e,t){var n=this;if(!(this instanceof Ge))return new Ge(e,t);this.options=t=t?Me(t):{},Me(aa,t,!1);var r=t.value;typeof r=="string"?r=new Lt(r,t.mode,null,t.lineSeparator,t.direction):t.mode&&(r.modeOption=t.mode),this.doc=r;var i=new Ge.inputStyles[t.inputStyle](this),o=this.display=new eu(e,r,i,t);o.wrapper.CodeMirror=this,la(this),t.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),ul(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new Ce,keySeq:null,specialChars:null},t.autofocus&&!N&&o.input.focus(),k&&I<11&&setTimeout(function(){return n.display.input.reset(!0)},20),qu(this),yu(),Mr(this),this.curOp.forceUpdate=!0,yl(this,r),t.autofocus&&!N||this.hasFocus()?setTimeout(function(){n.hasFocus()&&!n.state.focused&&_i(n)},20):Ur(this);for(var l in di)di.hasOwnProperty(l)&&di[l](this,t[l],tn);dl(this),t.finishInit&&t.finishInit(this);for(var a=0;a<ao.length;++a)ao[a](this);Fr(this),Y&&t.lineWrapping&&getComputedStyle(o.lineDiv).textRendering=="optimizelegibility"&&(o.lineDiv.style.textRendering="auto")}Ge.defaults=aa,Ge.optionHandlers=di;function qu(e){var t=e.display;Se(t.scroller,"mousedown",lt(e,ra)),k&&I<11?Se(t.scroller,"dblclick",lt(e,function(s){if(!Qe(e,s)){var u=Lr(e,s);if(!(!u||lo(e,s)||tr(e.display,s))){pt(s);var h=e.findWordAt(u);oi(e.doc,h.anchor,h.head)}}})):Se(t.scroller,"dblclick",function(s){return Qe(e,s)||pt(s)}),Se(t.scroller,"contextmenu",function(s){return oa(e,s)}),Se(t.input.getField(),"contextmenu",function(s){t.scroller.contains(s.target)||oa(e,s)});var n,r={end:0};function i(){t.activeTouch&&(n=setTimeout(function(){return t.activeTouch=null},1e3),r=t.activeTouch,r.end=+new Date)}function o(s){if(s.touches.length!=1)return!1;var u=s.touches[0];return u.radiusX<=1&&u.radiusY<=1}function l(s,u){if(u.left==null)return!0;var h=u.left-s.left,x=u.top-s.top;return h*h+x*x>400}Se(t.scroller,"touchstart",function(s){if(!Qe(e,s)&&!o(s)&&!lo(e,s)){t.input.ensurePolled(),clearTimeout(n);var u=+new Date;t.activeTouch={start:u,moved:!1,prev:u-r.end<=300?r:null},s.touches.length==1&&(t.activeTouch.left=s.touches[0].pageX,t.activeTouch.top=s.touches[0].pageY)}}),Se(t.scroller,"touchmove",function(){t.activeTouch&&(t.activeTouch.moved=!0)}),Se(t.scroller,"touchend",function(s){var u=t.activeTouch;if(u&&!tr(t,s)&&u.left!=null&&!u.moved&&new Date-u.start<300){var h=e.coordsChar(t.activeTouch,"page"),x;!u.prev||l(u,u.prev)?x=new He(h,h):!u.prev.prev||l(u,u.prev.prev)?x=e.findWordAt(h):x=new He(B(h.line,0),Ae(e.doc,B(h.line+1,0))),e.setSelection(x.anchor,x.head),e.focus(),pt(s)}i()}),Se(t.scroller,"touchcancel",i),Se(t.scroller,"scroll",function(){t.scroller.clientHeight&&(xn(e,t.scroller.scrollTop),Cr(e,t.scroller.scrollLeft,!0),Ye(e,"scroll",e))}),Se(t.scroller,"mousewheel",function(s){return gl(e,s)}),Se(t.scroller,"DOMMouseScroll",function(s){return gl(e,s)}),Se(t.wrapper,"scroll",function(){return t.wrapper.scrollTop=t.wrapper.scrollLeft=0}),t.dragFunctions={enter:function(s){Qe(e,s)||ar(s)},over:function(s){Qe(e,s)||(xu(e,s),ar(s))},start:function(s){return mu(e,s)},drop:lt(e,vu),leave:function(s){Qe(e,s)||jl(e)}};var a=t.input.getField();Se(a,"keyup",function(s){return ea.call(e,s)}),Se(a,"keydown",lt(e,Vl)),Se(a,"keypress",lt(e,ta)),Se(a,"focus",function(s){return _i(e,s)}),Se(a,"blur",function(s){return Ur(e,s)})}var ao=[];Ge.defineInitHook=function(e){return ao.push(e)};function zn(e,t,n,r){var i=e.doc,o;n==null&&(n="add"),n=="smart"&&(i.mode.indent?o=fn(e,t).state:n="prev");var l=e.options.tabSize,a=ye(i,t),s=Fe(a.text,null,l);a.stateAfter&&(a.stateAfter=null);var u=a.text.match(/^\s*/)[0],h;if(!r&&!/\S/.test(a.text))h=0,n="not";else if(n=="smart"&&(h=i.mode.indent(o,a.text.slice(u.length),a.text),h==qe||h>150)){if(!r)return;n="prev"}n=="prev"?t>i.first?h=Fe(ye(i,t-1).text,null,l):h=0:n=="add"?h=s+e.options.indentUnit:n=="subtract"?h=s-e.options.indentUnit:typeof n=="number"&&(h=s+n),h=Math.max(0,h);var x="",D=0;if(e.options.indentWithTabs)for(var L=Math.floor(h/l);L;--L)D+=l,x+=" ";if(D<h&&(x+=et(h-D)),x!=u)return Zr(i,x,B(t,0),B(t,u.length),"+input"),a.stateAfter=null,!0;for(var H=0;H<i.sel.ranges.length;H++){var Z=i.sel.ranges[H];if(Z.head.line==t&&Z.head.ch<u.length){var ie=B(t,u.length);eo(i,H,new He(ie,ie));break}}}var Ut=null;function hi(e){Ut=e}function so(e,t,n,r,i){var o=e.doc;e.display.shift=!1,r||(r=o.sel);var l=+new Date-200,a=i=="paste"||e.state.pasteIncoming>l,s=zt(t),u=null;if(a&&r.ranges.length>1)if(Ut&&Ut.text.join(`
13 -`)==t){if(r.ranges.length%Ut.text.length==0){u=[];for(var h=0;h<Ut.text.length;h++)u.push(o.splitLines(Ut.text[h]))}}else s.length==r.ranges.length&&e.options.pasteLinesPerSelection&&(u=Ie(s,function(ae){return[ae]}));for(var x=e.curOp.updateInput,D=r.ranges.length-1;D>=0;D--){var L=r.ranges[D],H=L.from(),Z=L.to();L.empty()&&(n&&n>0?H=B(H.line,H.ch-n):e.state.overwrite&&!a?Z=B(Z.line,Math.min(ye(o,Z.line).text.length,Z.ch+we(s).length)):a&&Ut&&Ut.lineWise&&Ut.text.join(`
14 -`)==s.join(`
15 -`)&&(H=Z=B(H.line,0)));var ie={from:H,to:Z,text:u?u[D%u.length]:s,origin:i||(a?"paste":e.state.cutIncoming>l?"cut":"+input")};Jr(e.doc,ie),ot(e,"inputRead",e,ie)}t&&!a&&ua(e,t),Gr(e),e.curOp.updateInput<2&&(e.curOp.updateInput=x),e.curOp.typing=!0,e.state.pasteIncoming=e.state.cutIncoming=-1}function sa(e,t){var n=e.clipboardData&&e.clipboardData.getData("Text");if(n)return e.preventDefault(),!t.isReadOnly()&&!t.options.disableInput&&t.hasFocus()&&At(t,function(){return so(t,n,0,null,"paste")}),!0}function ua(e,t){if(!(!e.options.electricChars||!e.options.smartIndent))for(var n=e.doc.sel,r=n.ranges.length-1;r>=0;r--){var i=n.ranges[r];if(!(i.head.ch>100||r&&n.ranges[r-1].head.line==i.head.line)){var o=e.getModeAt(i.head),l=!1;if(o.electricChars){for(var a=0;a<o.electricChars.length;a++)if(t.indexOf(o.electricChars.charAt(a))>-1){l=zn(e,i.head.line,"smart");break}}else o.electricInput&&o.electricInput.test(ye(e.doc,i.head.line).text.slice(0,i.head.ch))&&(l=zn(e,i.head.line,"smart"));l&&ot(e,"electricInput",e,i.head.line)}}}function fa(e){for(var t=[],n=[],r=0;r<e.doc.sel.ranges.length;r++){var i=e.doc.sel.ranges[r].head.line,o={anchor:B(i,0),head:B(i+1,0)};n.push(o),t.push(e.getRange(o.anchor,o.head))}return{text:t,ranges:n}}function uo(e,t,n,r){e.setAttribute("autocorrect",n?"on":"off"),e.setAttribute("autocapitalize",r?"on":"off"),e.setAttribute("spellcheck",!!t)}function ca(){var e=c("textarea",null,null,"position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; min-height: 1em; outline: none"),t=c("div",[e],null,"overflow: hidden; position: relative; width: 3px; height: 0px;");return Y?e.style.width="1000px":e.setAttribute("wrap","off"),w&&(e.style.border="1px solid black"),t}function ju(e){var t=e.optionHandlers,n=e.helpers={};e.prototype={constructor:e,focus:function(){le(this).focus(),this.display.input.focus()},setOption:function(r,i){var o=this.options,l=o[r];o[r]==i&&r!="mode"||(o[r]=i,t.hasOwnProperty(r)&&lt(this,t[r])(this,i,l),Ye(this,"optionChange",this,r))},getOption:function(r){return this.options[r]},getDoc:function(){return this.doc},addKeyMap:function(r,i){this.state.keyMaps[i?"push":"unshift"](fi(r))},removeKeyMap:function(r){for(var i=this.state.keyMaps,o=0;o<i.length;++o)if(i[o]==r||i[o].name==r)return i.splice(o,1),!0},addOverlay:yt(function(r,i){var o=r.token?r:e.getMode(this.options,r);if(o.startState)throw new Error("Overlays may not be stateful.");E(this.state.overlays,{mode:o,modeSpec:r,opaque:i&&i.opaque,priority:i&&i.priority||0},function(l){return l.priority}),this.state.modeGen++,St(this)}),removeOverlay:yt(function(r){for(var i=this.state.overlays,o=0;o<i.length;++o){var l=i[o].modeSpec;if(l==r||typeof r=="string"&&l.name==r){i.splice(o,1),this.state.modeGen++,St(this);return}}}),indentLine:yt(function(r,i,o){typeof i!="string"&&typeof i!="number"&&(i==null?i=this.options.smartIndent?"smart":"prev":i=i?"add":"subtract"),U(this.doc,r)&&zn(this,r,i,o)}),indentSelection:yt(function(r){for(var i=this.doc.sel.ranges,o=-1,l=0;l<i.length;l++){var a=i[l];if(a.empty())a.head.line>o&&(zn(this,a.head.line,r,!0),o=a.head.line,l==this.doc.sel.primIndex&&Gr(this));else{var s=a.from(),u=a.to(),h=Math.max(o,s.line);o=Math.min(this.lastLine(),u.line-(u.ch?0:1))+1;for(var x=h;x<o;++x)zn(this,x,r);var D=this.doc.sel.ranges;s.ch==0&&i.length==D.length&&D[l].from().ch>0&&eo(this.doc,l,new He(s,D[l].to()),$e)}}}),getTokenAt:function(r,i){return ko(this,r,i)},getLineTokens:function(r,i){return ko(this,B(r),i,!0)},getTokenTypeAt:function(r){r=Ae(this.doc,r);var i=xo(this,ye(this.doc,r.line)),o=0,l=(i.length-1)/2,a=r.ch,s;if(a==0)s=i[2];else for(;;){var u=o+l>>1;if((u?i[u*2-1]:0)>=a)l=u;else if(i[u*2+1]<a)o=u+1;else{s=i[u*2+2];break}}var h=s?s.indexOf("overlay "):-1;return h<0?s:h==0?null:s.slice(0,h-1)},getModeAt:function(r){var i=this.doc.mode;return i.innerMode?e.innerMode(i,this.getTokenAt(r).state).mode:i},getHelper:function(r,i){return this.getHelpers(r,i)[0]},getHelpers:function(r,i){var o=[];if(!n.hasOwnProperty(i))return o;var l=n[i],a=this.getModeAt(r);if(typeof a[i]=="string")l[a[i]]&&o.push(l[a[i]]);else if(a[i])for(var s=0;s<a[i].length;s++){var u=l[a[i][s]];u&&o.push(u)}else a.helperType&&l[a.helperType]?o.push(l[a.helperType]):l[a.name]&&o.push(l[a.name]);for(var h=0;h<l._global.length;h++){var x=l._global[h];x.pred(a,this)&&ve(o,x.val)==-1&&o.push(x.val)}return o},getStateAfter:function(r,i){var o=this.doc;return r=go(o,r??o.first+o.size-1),fn(this,r+1,i).state},cursorCoords:function(r,i){var o,l=this.doc.sel.primary();return r==null?o=l.head:typeof r=="object"?o=Ae(this.doc,r):o=r?l.from():l.to(),jt(this,o,i||"page")},charCoords:function(r,i){return Qn(this,Ae(this.doc,r),i||"page")},coordsChar:function(r,i){return r=Jo(this,r,i||"page"),Oi(this,r.left,r.top)},lineAtHeight:function(r,i){return r=Jo(this,{top:r,left:0},i||"page").top,m(this.doc,r+this.display.viewOffset)},heightAtLine:function(r,i,o){var l=!1,a;if(typeof r=="number"){var s=this.doc.first+this.doc.size-1;r<this.doc.first?r=this.doc.first:r>s&&(r=s,l=!0),a=ye(this.doc,r)}else a=r;return Yn(this,a,{top:0,left:0},i||"page",o||l).top+(l?this.doc.height-er(a):0)},defaultTextHeight:function(){return jr(this.display)},defaultCharWidth:function(){return Kr(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(r,i,o,l,a){var s=this.display;r=jt(this,Ae(this.doc,r));var u=r.bottom,h=r.left;if(i.style.position="absolute",i.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(i),s.sizer.appendChild(i),l=="over")u=r.top;else if(l=="above"||l=="near"){var x=Math.max(s.wrapper.clientHeight,this.doc.height),D=Math.max(s.sizer.clientWidth,s.lineSpace.clientWidth);(l=="above"||r.bottom+i.offsetHeight>x)&&r.top>i.offsetHeight?u=r.top-i.offsetHeight:r.bottom+i.offsetHeight<=x&&(u=r.bottom),h+i.offsetWidth>D&&(h=D-i.offsetWidth)}i.style.top=u+"px",i.style.left=i.style.right="",a=="right"?(h=s.sizer.clientWidth-i.offsetWidth,i.style.right="0px"):(a=="left"?h=0:a=="middle"&&(h=(s.sizer.clientWidth-i.offsetWidth)/2),i.style.left=h+"px"),o&&Hs(this,{left:h,top:u,right:h+i.offsetWidth,bottom:u+i.offsetHeight})},triggerOnKeyDown:yt(Vl),triggerOnKeyPress:yt(ta),triggerOnKeyUp:ea,triggerOnMouseDown:yt(ra),execCommand:function(r){if(En.hasOwnProperty(r))return En[r].call(null,this)},triggerElectric:yt(function(r){ua(this,r)}),findPosH:function(r,i,o,l){var a=1;i<0&&(a=-1,i=-i);for(var s=Ae(this.doc,r),u=0;u<i&&(s=fo(this.doc,s,a,o,l),!s.hitSide);++u);return s},moveH:yt(function(r,i){var o=this;this.extendSelectionsBy(function(l){return o.display.shift||o.doc.extend||l.empty()?fo(o.doc,l.head,r,i,o.options.rtlMoveVisually):r<0?l.from():l.to()},Pe)}),deleteH:yt(function(r,i){var o=this.doc.sel,l=this.doc;o.somethingSelected()?l.replaceSelection("",null,"+delete"):en(this,function(a){var s=fo(l,a.head,r,i,!1);return r<0?{from:s,to:a.head}:{from:a.head,to:s}})}),findPosV:function(r,i,o,l){var a=1,s=l;i<0&&(a=-1,i=-i);for(var u=Ae(this.doc,r),h=0;h<i;++h){var x=jt(this,u,"div");if(s==null?s=x.left:x.left=s,u=da(this,x,a,o),u.hitSide)break}return u},moveV:yt(function(r,i){var o=this,l=this.doc,a=[],s=!this.display.shift&&!l.extend&&l.sel.somethingSelected();if(l.extendSelectionsBy(function(h){if(s)return r<0?h.from():h.to();var x=jt(o,h.head,"div");h.goalColumn!=null&&(x.left=h.goalColumn),a.push(x.left);var D=da(o,x,r,i);return i=="page"&&h==l.sel.primary()&&ji(o,Qn(o,D,"div").top-x.top),D},Pe),a.length)for(var u=0;u<l.sel.ranges.length;u++)l.sel.ranges[u].goalColumn=a[u]}),findWordAt:function(r){var i=this.doc,o=ye(i,r.line).text,l=r.ch,a=r.ch;if(o){var s=this.getHelper(r,"wordChars");(r.sticky=="before"||a==o.length)&&l?--l:++a;for(var u=o.charAt(l),h=De(u,s)?function(x){return De(x,s)}:/\s/.test(u)?function(x){return/\s/.test(x)}:function(x){return!/\s/.test(x)&&!De(x)};l>0&&h(o.charAt(l-1));)--l;for(;a<o.length&&h(o.charAt(a));)++a}return new He(B(r.line,l),B(r.line,a))},toggleOverwrite:function(r){r!=null&&r==this.state.overwrite||((this.state.overwrite=!this.state.overwrite)?j(this.display.cursorDiv,"CodeMirror-overwrite"):V(this.display.cursorDiv,"CodeMirror-overwrite"),Ye(this,"overwriteToggle",this,this.state.overwrite))},hasFocus:function(){return this.display.input.getField()==y(fe(this))},isReadOnly:function(){return!!(this.options.readOnly||this.doc.cantEdit)},scrollTo:yt(function(r,i){mn(this,r,i)}),getScrollInfo:function(){var r=this.display.scroller;return{left:r.scrollLeft,top:r.scrollTop,height:r.scrollHeight-Yt(this)-this.display.barHeight,width:r.scrollWidth-Yt(this)-this.display.barWidth,clientHeight:Fi(this),clientWidth:wr(this)}},scrollIntoView:yt(function(r,i){r==null?(r={from:this.doc.sel.primary().head,to:null},i==null&&(i=this.options.cursorScrollMargin)):typeof r=="number"?r={from:B(r,0),to:null}:r.from==null&&(r={from:r,to:null}),r.to||(r.to=r.from),r.margin=i||0,r.from.line!=null?_s(this,r):ol(this,r.from,r.to,r.margin)}),setSize:yt(function(r,i){var o=this,l=function(s){return typeof s=="number"||/^\d+$/.test(String(s))?s+"px":s};r!=null&&(this.display.wrapper.style.width=l(r)),i!=null&&(this.display.wrapper.style.height=l(i)),this.options.lineWrapping&&Xo(this);var a=this.display.viewFrom;this.doc.iter(a,this.display.viewTo,function(s){if(s.widgets){for(var u=0;u<s.widgets.length;u++)if(s.widgets[u].noHScroll){dr(o,a,"widget");break}}++a}),this.curOp.forceUpdate=!0,Ye(this,"refresh",this)}),operation:function(r){return At(this,r)},startOperation:function(){return Mr(this)},endOperation:function(){return Fr(this)},refresh:yt(function(){var r=this.display.cachedTextHeight;St(this),this.curOp.forceUpdate=!0,gn(this),mn(this,this.doc.scrollLeft,this.doc.scrollTop),Gi(this.display),(r==null||Math.abs(r-jr(this.display))>.5||this.options.lineWrapping)&&Bi(this),Ye(this,"refresh",this)}),swapDoc:yt(function(r){var i=this.doc;return i.cm=null,this.state.selectingText&&this.state.selectingText(),yl(this,r),gn(this),this.display.input.reset(),mn(this,r.scrollLeft,r.scrollTop),this.curOp.forceScroll=!0,ot(this,"swapDoc",this,i),i}),phrase:function(r){var i=this.options.phrases;return i&&Object.prototype.hasOwnProperty.call(i,r)?i[r]:r},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},Bt(e),e.registerHelper=function(r,i,o){n.hasOwnProperty(r)||(n[r]=e[r]={_global:[]}),n[r][i]=o},e.registerGlobalHelper=function(r,i,o,l){e.registerHelper(r,i,l),n[r]._global.push({pred:o,val:l})}}function fo(e,t,n,r,i){var o=t,l=n,a=ye(e,t.line),s=i&&e.direction=="rtl"?-n:n;function u(){var he=t.line+s;return he<e.first||he>=e.first+e.size?!1:(t=new B(he,t.ch,t.sticky),a=ye(e,he))}function h(he){var se;if(r=="codepoint"){var ge=a.text.charCodeAt(t.ch+(n>0?0:-1));if(isNaN(ge))se=null;else{var Le=n>0?ge>=55296&&ge<56320:ge>=56320&&ge<57343;se=new B(t.line,Math.max(0,Math.min(a.text.length,t.ch+n*(Le?2:1))),-n)}}else i?se=Lu(e.cm,a,t,n):se=ro(a,t,n);if(se==null)if(!he&&u())t=no(i,e.cm,a,t.line,s);else return!1;else t=se;return!0}if(r=="char"||r=="codepoint")h();else if(r=="column")h(!0);else if(r=="word"||r=="group")for(var x=null,D=r=="group",L=e.cm&&e.cm.getHelper(t,"wordChars"),H=!0;!(n<0&&!h(!H));H=!1){var Z=a.text.charAt(t.ch)||`
16 -`,ie=De(Z,L)?"w":D&&Z==`
17 -`?"n":!D||/\s/.test(Z)?null:"p";if(D&&!H&&!ie&&(ie="s"),x&&x!=ie){n<0&&(n=1,h(),t.sticky="after");break}if(ie&&(x=ie),n>0&&!h(!H))break}var ae=ai(e,t,o,l,!0);return We(o,ae)&&(ae.hitSide=!0),ae}function da(e,t,n,r){var i=e.doc,o=t.left,l;if(r=="page"){var a=Math.min(e.display.wrapper.clientHeight,le(e).innerHeight||i(e).documentElement.clientHeight),s=Math.max(a-.5*jr(e.display),3);l=(n>0?t.bottom:t.top)+n*s}else r=="line"&&(l=n>0?t.bottom+3:t.top-3);for(var u;u=Oi(e,o,l),!!u.outside;){if(n<0?l<=0:l>=i.height){u.hitSide=!0;break}l+=n*5}return u}var je=function(e){this.cm=e,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new Ce,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};je.prototype.init=function(e){var t=this,n=this,r=n.cm,i=n.div=e.lineDiv;i.contentEditable=!0,uo(i,r.options.spellcheck,r.options.autocorrect,r.options.autocapitalize);function o(a){for(var s=a.target;s;s=s.parentNode){if(s==i)return!0;if(/\bCodeMirror-(?:line)?widget\b/.test(s.className))break}return!1}Se(i,"paste",function(a){!o(a)||Qe(r,a)||sa(a,r)||I<=11&&setTimeout(lt(r,function(){return t.updateFromDOM()}),20)}),Se(i,"compositionstart",function(a){t.composing={data:a.data,done:!1}}),Se(i,"compositionupdate",function(a){t.composing||(t.composing={data:a.data,done:!1})}),Se(i,"compositionend",function(a){t.composing&&(a.data!=t.composing.data&&t.readFromDOMSoon(),t.composing.done=!0)}),Se(i,"touchstart",function(){return n.forceCompositionEnd()}),Se(i,"input",function(){t.composing||t.readFromDOMSoon()});function l(a){if(!(!o(a)||Qe(r,a))){if(r.somethingSelected())hi({lineWise:!1,text:r.getSelections()}),a.type=="cut"&&r.replaceSelection("",null,"cut");else if(r.options.lineWiseCopyCut){var s=fa(r);hi({lineWise:!0,text:s.text}),a.type=="cut"&&r.operation(function(){r.setSelections(s.ranges,0,$e),r.replaceSelection("",null,"cut")})}else return;if(a.clipboardData){a.clipboardData.clearData();var u=Ut.text.join(`
18 -`);if(a.clipboardData.setData("Text",u),a.clipboardData.getData("Text")==u){a.preventDefault();return}}var h=ca(),x=h.firstChild;uo(x),r.display.lineSpace.insertBefore(h,r.display.lineSpace.firstChild),x.value=Ut.text.join(`
19 -`);var D=y(Te(i));v(x),setTimeout(function(){r.display.lineSpace.removeChild(h),D.focus(),D==i&&n.showPrimarySelection()},50)}}Se(i,"copy",l),Se(i,"cut",l)},je.prototype.screenReaderLabelChanged=function(e){e?this.div.setAttribute("aria-label",e):this.div.removeAttribute("aria-label")},je.prototype.prepareSelection=function(){var e=rl(this.cm,!1);return e.focus=y(Te(this.div))==this.div,e},je.prototype.showSelection=function(e,t){!e||!this.cm.display.view.length||((e.focus||t)&&this.showPrimarySelection(),this.showMultipleSelections(e))},je.prototype.getSelection=function(){return this.cm.display.wrapper.ownerDocument.getSelection()},je.prototype.showPrimarySelection=function(){var e=this.getSelection(),t=this.cm,n=t.doc.sel.primary(),r=n.from(),i=n.to();if(t.display.viewTo==t.display.viewFrom||r.line>=t.display.viewTo||i.line<t.display.viewFrom){e.removeAllRanges();return}var o=pi(t,e.anchorNode,e.anchorOffset),l=pi(t,e.focusNode,e.focusOffset);if(!(o&&!o.bad&&l&&!l.bad&&ce(Wr(o,l),r)==0&&ce(wt(o,l),i)==0)){var a=t.display.view,s=r.line>=t.display.viewFrom&&ha(t,r)||{node:a[0].measure.map[2],offset:0},u=i.line<t.display.viewTo&&ha(t,i);if(!u){var h=a[a.length-1].measure,x=h.maps?h.maps[h.maps.length-1]:h.map;u={node:x[x.length-1],offset:x[x.length-2]-x[x.length-3]}}if(!s||!u){e.removeAllRanges();return}var D=e.rangeCount&&e.getRangeAt(0),L;try{L=C(s.node,s.offset,u.offset,u.node)}catch{}L&&(!_&&t.state.focused?(e.collapse(s.node,s.offset),L.collapsed||(e.removeAllRanges(),e.addRange(L))):(e.removeAllRanges(),e.addRange(L)),D&&e.anchorNode==null?e.addRange(D):_&&this.startGracePeriod()),this.rememberSelection()}},je.prototype.startGracePeriod=function(){var e=this;clearTimeout(this.gracePeriod),this.gracePeriod=setTimeout(function(){e.gracePeriod=!1,e.selectionChanged()&&e.cm.operation(function(){return e.cm.curOp.selectionChanged=!0})},20)},je.prototype.showMultipleSelections=function(e){G(this.cm.display.cursorDiv,e.cursors),G(this.cm.display.selectionDiv,e.selection)},je.prototype.rememberSelection=function(){var e=this.getSelection();this.lastAnchorNode=e.anchorNode,this.lastAnchorOffset=e.anchorOffset,this.lastFocusNode=e.focusNode,this.lastFocusOffset=e.focusOffset},je.prototype.selectionInEditor=function(){var e=this.getSelection();if(!e.rangeCount)return!1;var t=e.getRangeAt(0).commonAncestorContainer;return g(this.div,t)},je.prototype.focus=function(){this.cm.options.readOnly!="nocursor"&&((!this.selectionInEditor()||y(Te(this.div))!=this.div)&&this.showSelection(this.prepareSelection(),!0),this.div.focus())},je.prototype.blur=function(){this.div.blur()},je.prototype.getField=function(){return this.div},je.prototype.supportsTouch=function(){return!0},je.prototype.receivedFocus=function(){var e=this,t=this;this.selectionInEditor()?setTimeout(function(){return e.pollSelection()},20):At(this.cm,function(){return t.cm.curOp.selectionChanged=!0});function n(){t.cm.state.focused&&(t.pollSelection(),t.polling.set(t.cm.options.pollInterval,n))}this.polling.set(this.cm.options.pollInterval,n)},je.prototype.selectionChanged=function(){var e=this.getSelection();return e.anchorNode!=this.lastAnchorNode||e.anchorOffset!=this.lastAnchorOffset||e.focusNode!=this.lastFocusNode||e.focusOffset!=this.lastFocusOffset},je.prototype.pollSelection=function(){if(!(this.readDOMTimeout!=null||this.gracePeriod||!this.selectionChanged())){var e=this.getSelection(),t=this.cm;if(M&&S&&this.cm.display.gutterSpecs.length&&Ku(e.anchorNode)){this.cm.triggerOnKeyDown({type:"keydown",keyCode:8,preventDefault:Math.abs}),this.blur(),this.focus();return}if(!this.composing){this.rememberSelection();var n=pi(t,e.anchorNode,e.anchorOffset),r=pi(t,e.focusNode,e.focusOffset);n&&r&&At(t,function(){gt(t.doc,pr(n,r),$e),(n.bad||r.bad)&&(t.curOp.selectionChanged=!0)})}}},je.prototype.pollContent=function(){this.readDOMTimeout!=null&&(clearTimeout(this.readDOMTimeout),this.readDOMTimeout=null);var e=this.cm,t=e.display,n=e.doc.sel.primary(),r=n.from(),i=n.to();if(r.ch==0&&r.line>e.firstLine()&&(r=B(r.line-1,ye(e.doc,r.line-1).length)),i.ch==ye(e.doc,i.line).text.length&&i.line<e.lastLine()&&(i=B(i.line+1,0)),r.line<t.viewFrom||i.line>t.viewTo-1)return!1;var o,l,a;r.line==t.viewFrom||(o=Tr(e,r.line))==0?(l=f(t.view[0].line),a=t.view[0].node):(l=f(t.view[o].line),a=t.view[o-1].node.nextSibling);var s=Tr(e,i.line),u,h;if(s==t.view.length-1?(u=t.viewTo-1,h=t.lineDiv.lastChild):(u=f(t.view[s+1].line)-1,h=t.view[s+1].node.previousSibling),!a)return!1;for(var x=e.doc.splitLines(Uu(e,a,h,l,u)),D=$t(e.doc,B(l,0),B(u,ye(e.doc,u).text.length));x.length>1&&D.length>1;)if(we(x)==we(D))x.pop(),D.pop(),u--;else if(x[0]==D[0])x.shift(),D.shift(),l++;else break;for(var L=0,H=0,Z=x[0],ie=D[0],ae=Math.min(Z.length,ie.length);L<ae&&Z.charCodeAt(L)==ie.charCodeAt(L);)++L;for(var he=we(x),se=we(D),ge=Math.min(he.length-(x.length==1?L:0),se.length-(D.length==1?L:0));H<ge&&he.charCodeAt(he.length-H-1)==se.charCodeAt(se.length-H-1);)++H;if(x.length==1&&D.length==1&&l==r.line)for(;L&&L>r.ch&&he.charCodeAt(he.length-H-1)==se.charCodeAt(se.length-H-1);)L--,H++;x[x.length-1]=he.slice(0,he.length-H).replace(/^\u200b+/,""),x[0]=x[0].slice(L).replace(/\u200b+$/,"");var Le=B(l,L),ke=B(u,D.length?we(D).length-H:0);if(x.length>1||x[0]||ce(Le,ke))return Zr(e.doc,x,Le,ke,"+input"),!0},je.prototype.ensurePolled=function(){this.forceCompositionEnd()},je.prototype.reset=function(){this.forceCompositionEnd()},je.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},je.prototype.readFromDOMSoon=function(){var e=this;this.readDOMTimeout==null&&(this.readDOMTimeout=setTimeout(function(){if(e.readDOMTimeout=null,e.composing)if(e.composing.done)e.composing=null;else return;e.updateFromDOM()},80))},je.prototype.updateFromDOM=function(){var e=this;(this.cm.isReadOnly()||!this.pollContent())&&At(this.cm,function(){return St(e.cm)})},je.prototype.setUneditable=function(e){e.contentEditable="false"},je.prototype.onKeyPress=function(e){e.charCode==0||this.composing||(e.preventDefault(),this.cm.isReadOnly()||lt(this.cm,so)(this.cm,String.fromCharCode(e.charCode==null?e.keyCode:e.charCode),0))},je.prototype.readOnlyChanged=function(e){this.div.contentEditable=String(e!="nocursor")},je.prototype.onContextMenu=function(){},je.prototype.resetPosition=function(){},je.prototype.needsContentAttribute=!0;function ha(e,t){var n=Ai(e,t.line);if(!n||n.hidden)return null;var r=ye(e.doc,t.line),i=qo(n,r,t.line),o=Re(r,e.doc.direction),l="left";if(o){var a=lr(o,t.ch);l=a%2?"right":"left"}var s=Uo(i.map,t.ch,l);return s.offset=s.collapse=="right"?s.end:s.start,s}function Ku(e){for(var t=e;t;t=t.parentNode)if(/CodeMirror-gutter-wrapper/.test(t.className))return!0;return!1}function rn(e,t){return t&&(e.bad=!0),e}function Uu(e,t,n,r,i){var o="",l=!1,a=e.doc.lineSeparator(),s=!1;function u(L){return function(H){return H.id==L}}function h(){l&&(o+=a,s&&(o+=a),l=s=!1)}function x(L){L&&(h(),o+=L)}function D(L){if(L.nodeType==1){var H=L.getAttribute("cm-text");if(H){x(H);return}var Z=L.getAttribute("cm-marker"),ie;if(Z){var ae=e.findMarks(B(r,0),B(i+1,0),u(+Z));ae.length&&(ie=ae[0].find(0))&&x($t(e.doc,ie.from,ie.to).join(a));return}if(L.getAttribute("contenteditable")=="false")return;var he=/^(pre|div|p|li|table|br)$/i.test(L.nodeName);if(!/^br$/i.test(L.nodeName)&&L.textContent.length==0)return;he&&h();for(var se=0;se<L.childNodes.length;se++)D(L.childNodes[se]);/^(pre|p)$/i.test(L.nodeName)&&(s=!0),he&&(l=!0)}else L.nodeType==3&&x(L.nodeValue.replace(/\u200b/g,"").replace(/\u00a0/g," "))}for(;D(t),t!=n;)t=t.nextSibling,s=!1;return o}function pi(e,t,n){var r;if(t==e.display.lineDiv){if(r=e.display.lineDiv.childNodes[n],!r)return rn(e.clipPos(B(e.display.viewTo-1)),!0);t=null,n=0}else for(r=t;;r=r.parentNode){if(!r||r==e.display.lineDiv)return null;if(r.parentNode&&r.parentNode==e.display.lineDiv)break}for(var i=0;i<e.display.view.length;i++){var o=e.display.view[i];if(o.node==r)return Gu(o,t,n)}}function Gu(e,t,n){var r=e.text.firstChild,i=!1;if(!t||!g(r,t))return rn(B(f(e.line),0),!0);if(t==r&&(i=!0,t=r.childNodes[n],n=0,!t)){var o=e.rest?we(e.rest):e.line;return rn(B(f(o),o.text.length),i)}var l=t.nodeType==3?t:null,a=t;for(!l&&t.childNodes.length==1&&t.firstChild.nodeType==3&&(l=t.firstChild,n&&(n=l.nodeValue.length));a.parentNode!=r;)a=a.parentNode;var s=e.measure,u=s.maps;function h(ie,ae,he){for(var se=-1;se<(u?u.length:0);se++)for(var ge=se<0?s.map:u[se],Le=0;Le<ge.length;Le+=3){var ke=ge[Le+2];if(ke==ie||ke==ae){var Ee=f(se<0?e.line:e.rest[se]),Ke=ge[Le]+he;return(he<0||ke!=ie)&&(Ke=ge[Le+(he?1:0)]),B(Ee,Ke)}}}var x=h(l,a,n);if(x)return rn(x,i);for(var D=a.nextSibling,L=l?l.nodeValue.length-n:0;D;D=D.nextSibling){if(x=h(D,D.firstChild,0),x)return rn(B(x.line,x.ch-L),i);L+=D.textContent.length}for(var H=a.previousSibling,Z=n;H;H=H.previousSibling){if(x=h(H,H.firstChild,-1),x)return rn(B(x.line,x.ch+Z),i);Z+=H.textContent.length}}var Ve=function(e){this.cm=e,this.prevInput="",this.pollingFast=!1,this.polling=new Ce,this.hasSelection=!1,this.composing=null,this.resetting=!1};Ve.prototype.init=function(e){var t=this,n=this,r=this.cm;this.createField(e);var i=this.textarea;e.wrapper.insertBefore(this.wrapper,e.wrapper.firstChild),w&&(i.style.width="0px"),Se(i,"input",function(){k&&I>=9&&t.hasSelection&&(t.hasSelection=null),n.poll()}),Se(i,"paste",function(l){Qe(r,l)||sa(l,r)||(r.state.pasteIncoming=+new Date,n.fastPoll())});function o(l){if(!Qe(r,l)){if(r.somethingSelected())hi({lineWise:!1,text:r.getSelections()});else if(r.options.lineWiseCopyCut){var a=fa(r);hi({lineWise:!0,text:a.text}),l.type=="cut"?r.setSelections(a.ranges,null,$e):(n.prevInput="",i.value=a.text.join(`
20 -`),v(i))}else return;l.type=="cut"&&(r.state.cutIncoming=+new Date)}}Se(i,"cut",o),Se(i,"copy",o),Se(e.scroller,"paste",function(l){if(!(tr(e,l)||Qe(r,l))){if(!i.dispatchEvent){r.state.pasteIncoming=+new Date,n.focus();return}var a=new Event("paste");a.clipboardData=l.clipboardData,i.dispatchEvent(a)}}),Se(e.lineSpace,"selectstart",function(l){tr(e,l)||pt(l)}),Se(i,"compositionstart",function(){var l=r.getCursor("from");n.composing&&n.composing.range.clear(),n.composing={start:l,range:r.markText(l,r.getCursor("to"),{className:"CodeMirror-composing"})}}),Se(i,"compositionend",function(){n.composing&&(n.poll(),n.composing.range.clear(),n.composing=null)})},Ve.prototype.createField=function(e){this.wrapper=ca(),this.textarea=this.wrapper.firstChild;var t=this.cm.options;uo(this.textarea,t.spellcheck,t.autocorrect,t.autocapitalize)},Ve.prototype.screenReaderLabelChanged=function(e){e?this.textarea.setAttribute("aria-label",e):this.textarea.removeAttribute("aria-label")},Ve.prototype.prepareSelection=function(){var e=this.cm,t=e.display,n=e.doc,r=rl(e);if(e.options.moveInputWithCursor){var i=jt(e,n.sel.primary().head,"div"),o=t.wrapper.getBoundingClientRect(),l=t.lineDiv.getBoundingClientRect();r.teTop=Math.max(0,Math.min(t.wrapper.clientHeight-10,i.top+l.top-o.top)),r.teLeft=Math.max(0,Math.min(t.wrapper.clientWidth-10,i.left+l.left-o.left))}return r},Ve.prototype.showSelection=function(e){var t=this.cm,n=t.display;G(n.cursorDiv,e.cursors),G(n.selectionDiv,e.selection),e.teTop!=null&&(this.wrapper.style.top=e.teTop+"px",this.wrapper.style.left=e.teLeft+"px")},Ve.prototype.reset=function(e){if(!(this.contextMenuPending||this.composing&&e)){var t=this.cm;if(this.resetting=!0,t.somethingSelected()){this.prevInput="";var n=t.getSelection();this.textarea.value=n,t.state.focused&&v(this.textarea),k&&I>=9&&(this.hasSelection=n)}else e||(this.prevInput=this.textarea.value="",k&&I>=9&&(this.hasSelection=null));this.resetting=!1}},Ve.prototype.getField=function(){return this.textarea},Ve.prototype.supportsTouch=function(){return!1},Ve.prototype.focus=function(){if(this.cm.options.readOnly!="nocursor"&&(!N||y(Te(this.textarea))!=this.textarea))try{this.textarea.focus()}catch{}},Ve.prototype.blur=function(){this.textarea.blur()},Ve.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},Ve.prototype.receivedFocus=function(){this.slowPoll()},Ve.prototype.slowPoll=function(){var e=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,function(){e.poll(),e.cm.state.focused&&e.slowPoll()})},Ve.prototype.fastPoll=function(){var e=!1,t=this;t.pollingFast=!0;function n(){var r=t.poll();!r&&!e?(e=!0,t.polling.set(60,n)):(t.pollingFast=!1,t.slowPoll())}t.polling.set(20,n)},Ve.prototype.poll=function(){var e=this,t=this.cm,n=this.textarea,r=this.prevInput;if(this.contextMenuPending||this.resetting||!t.state.focused||ur(n)&&!r&&!this.composing||t.isReadOnly()||t.options.disableInput||t.state.keySeq)return!1;var i=n.value;if(i==r&&!t.somethingSelected())return!1;if(k&&I>=9&&this.hasSelection===i||z&&/[\uf700-\uf7ff]/.test(i))return t.display.input.reset(),!1;if(t.doc.sel==t.display.selForContextMenu){var o=i.charCodeAt(0);if(o==8203&&!r&&(r="​"),o==8666)return this.reset(),this.cm.execCommand("undo")}for(var l=0,a=Math.min(r.length,i.length);l<a&&r.charCodeAt(l)==i.charCodeAt(l);)++l;return At(t,function(){so(t,i.slice(l),r.length-l,null,e.composing?"*compose":null),i.length>1e3||i.indexOf(`
21 -`)>-1?n.value=e.prevInput="":e.prevInput=i,e.composing&&(e.composing.range.clear(),e.composing.range=t.markText(e.composing.start,t.getCursor("to"),{className:"CodeMirror-composing"}))}),!0},Ve.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},Ve.prototype.onKeyPress=function(){k&&I>=9&&(this.hasSelection=null),this.fastPoll()},Ve.prototype.onContextMenu=function(e){var t=this,n=t.cm,r=n.display,i=t.textarea;t.contextMenuPending&&t.contextMenuPending();var o=Lr(n,e),l=r.scroller.scrollTop;if(!o||A)return;var a=n.options.resetSelectionOnContextMenu;a&&n.doc.sel.contains(o)==-1&&lt(n,gt)(n.doc,pr(o),$e);var s=i.style.cssText,u=t.wrapper.style.cssText,h=t.wrapper.offsetParent.getBoundingClientRect();t.wrapper.style.cssText="position: static",i.style.cssText=`position: absolute; width: 30px; height: 30px;
22 - top: `+(e.clientY-h.top-5)+"px; left: "+(e.clientX-h.left-5)+`px;
23 - z-index: 1000; background: `+(k?"rgba(255, 255, 255, .05)":"transparent")+`;
24 - outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);`;var x;Y&&(x=i.ownerDocument.defaultView.scrollY),r.input.focus(),Y&&i.ownerDocument.defaultView.scrollTo(null,x),r.input.reset(),n.somethingSelected()||(i.value=t.prevInput=" "),t.contextMenuPending=L,r.selForContextMenu=n.doc.sel,clearTimeout(r.detectingSelectAll);function D(){if(i.selectionStart!=null){var Z=n.somethingSelected(),ie="​"+(Z?i.value:"");i.value="⇚",i.value=ie,t.prevInput=Z?"":"​",i.selectionStart=1,i.selectionEnd=ie.length,r.selForContextMenu=n.doc.sel}}function L(){if(t.contextMenuPending==L&&(t.contextMenuPending=!1,t.wrapper.style.cssText=u,i.style.cssText=s,k&&I<9&&r.scrollbars.setScrollTop(r.scroller.scrollTop=l),i.selectionStart!=null)){(!k||k&&I<9)&&D();var Z=0,ie=function(){r.selForContextMenu==n.doc.sel&&i.selectionStart==0&&i.selectionEnd>0&&t.prevInput=="​"?lt(n,El)(n):Z++<10?r.detectingSelectAll=setTimeout(ie,500):(r.selForContextMenu=null,r.input.reset())};r.detectingSelectAll=setTimeout(ie,200)}}if(k&&I>=9&&D(),J){ar(e);var H=function(){ht(window,"mouseup",H),setTimeout(L,20)};Se(window,"mouseup",H)}else setTimeout(L,50)},Ve.prototype.readOnlyChanged=function(e){e||this.reset(),this.textarea.disabled=e=="nocursor",this.textarea.readOnly=!!e},Ve.prototype.setUneditable=function(){},Ve.prototype.needsContentAttribute=!1;function Xu(e,t){if(t=t?Me(t):{},t.value=e.value,!t.tabindex&&e.tabIndex&&(t.tabindex=e.tabIndex),!t.placeholder&&e.placeholder&&(t.placeholder=e.placeholder),t.autofocus==null){var n=y(Te(e));t.autofocus=n==e||e.getAttribute("autofocus")!=null&&n==document.body}function r(){e.value=a.getValue()}var i;if(e.form&&(Se(e.form,"submit",r),!t.leaveSubmitMethodAlone)){var o=e.form;i=o.submit;try{var l=o.submit=function(){r(),o.submit=i,o.submit(),o.submit=l}}catch{}}t.finishInit=function(s){s.save=r,s.getTextArea=function(){return e},s.toTextArea=function(){s.toTextArea=isNaN,r(),e.parentNode.removeChild(s.getWrapperElement()),e.style.display="",e.form&&(ht(e.form,"submit",r),!t.leaveSubmitMethodAlone&&typeof e.form.submit=="function"&&(e.form.submit=i))}},e.style.display="none";var a=Ge(function(s){return e.parentNode.insertBefore(s,e.nextSibling)},t);return a}function Yu(e){e.off=ht,e.on=Se,e.wheelEventPixels=tu,e.Doc=Lt,e.splitLines=zt,e.countColumn=Fe,e.findColumn=_e,e.isWordChar=me,e.Pass=qe,e.signal=Ye,e.Line=Hr,e.changeEnd=gr,e.scrollbarModel=sl,e.Pos=B,e.cmpPos=ce,e.modes=Pr,e.mimeModes=Ht,e.resolveMode=Ir,e.getMode=zr,e.modeExtensions=fr,e.extendMode=Br,e.copyState=Gt,e.startState=Rr,e.innerMode=sn,e.commands=En,e.keyMap=nr,e.keyName=Yl,e.isModifierKey=Gl,e.lookupKey=Vr,e.normalizeKeyMap=Su,e.StringStream=Je,e.SharedTextMarker=Fn,e.TextMarker=mr,e.LineWidget=Mn,e.e_preventDefault=pt,e.e_stopPropagation=Er,e.e_stop=ar,e.addClass=j,e.contains=g,e.rmClass=V,e.keyNames=xr}Wu(Ge),ju(Ge);var Qu="iter insert remove copy getEditor constructor".split(" ");for(var gi in Lt.prototype)Lt.prototype.hasOwnProperty(gi)&&ve(Qu,gi)<0&&(Ge.prototype[gi]=(function(e){return function(){return e.apply(this.doc,arguments)}})(Lt.prototype[gi]));return Bt(Lt),Ge.inputStyles={textarea:Ve,contenteditable:je},Ge.defineMode=function(e){!Ge.defaults.mode&&e!="null"&&(Ge.defaults.mode=e),_t.apply(this,arguments)},Ge.defineMIME=kr,Ge.defineMode("null",function(){return{token:function(e){return e.skipToEnd()}}}),Ge.defineMIME("text/plain","null"),Ge.defineExtension=function(e,t){Ge.prototype[e]=t},Ge.defineDocExtension=function(e,t){Lt.prototype[e]=t},Ge.fromTextArea=Xu,Yu(Ge),Ge.version="5.65.18",Ge}))})(vi)),vi.exports}var $u=mt();const hf=Ju($u);var ga={exports:{}},va;function Xa(){return va||(va=1,(function(ct,xt){(function(b){b(mt())})(function(b){b.defineMode("css",function(J,P){var V=P.inline;P.propertyKeywords||(P=b.resolveMode("text/css"));var F=J.indentUnit,G=P.tokenHooks,c=P.documentTypes||{},T=P.mediaTypes||{},C=P.mediaFeatures||{},g=P.mediaValueKeywords||{},y=P.propertyKeywords||{},j=P.nonStandardPropertyKeywords||{},de=P.fontProperties||{},v=P.counterDescriptors||{},d=P.colorKeywords||{},fe=P.valueKeywords||{},Te=P.allowNested,le=P.lineComment,xe=P.supportsAtComponent===!0,Me=J.highlightNonStandardPropertyKeywords!==!1,Fe,Ce;function ve(E,ee){return Fe=ee,E}function Oe(E,ee){var K=E.next();if(G[K]){var ze=G[K](E,ee);if(ze!==!1)return ze}if(K=="@")return E.eatWhile(/[\w\\\-]/),ve("def",E.current());if(K=="="||(K=="~"||K=="|")&&E.eat("="))return ve(null,"compare");if(K=='"'||K=="'")return ee.tokenize=qe(K),ee.tokenize(E,ee);if(K=="#")return E.eatWhile(/[\w\\\-]/),ve("atom","hash");if(K=="!")return E.match(/^\s*\w*/),ve("keyword","important");if(/\d/.test(K)||K=="."&&E.eat(/\d/))return E.eatWhile(/[\w.%]/),ve("number","unit");if(K==="-"){if(/[\d.]/.test(E.peek()))return E.eatWhile(/[\w.%]/),ve("number","unit");if(E.match(/^-[\w\\\-]*/))return E.eatWhile(/[\w\\\-]/),E.match(/^\s*:/,!1)?ve("variable-2","variable-definition"):ve("variable-2","variable");if(E.match(/^\w+-/))return ve("meta","meta")}else return/[,+>*\/]/.test(K)?ve(null,"select-op"):K=="."&&E.match(/^-?[_a-z][_a-z0-9-]*/i)?ve("qualifier","qualifier"):/[:;{}\[\]\(\)]/.test(K)?ve(null,K):E.match(/^[\w-.]+(?=\()/)?(/^(url(-prefix)?|domain|regexp)$/i.test(E.current())&&(ee.tokenize=$e),ve("variable callee","variable")):/[\w\\\-]/.test(K)?(E.eatWhile(/[\w\\\-]/),ve("property","word")):ve(null,null)}function qe(E){return function(ee,K){for(var ze=!1,me;(me=ee.next())!=null;){if(me==E&&!ze){E==")"&&ee.backUp(1);break}ze=!ze&&me=="\\"}return(me==E||!ze&&E!=")")&&(K.tokenize=null),ve("string","string")}}function $e(E,ee){return E.next(),E.match(/^\s*[\"\')]/,!1)?ee.tokenize=null:ee.tokenize=qe(")"),ve(null,"(")}function dt(E,ee,K){this.type=E,this.indent=ee,this.prev=K}function Pe(E,ee,K,ze){return E.context=new dt(K,ee.indentation()+(ze===!1?0:F),E.context),K}function _e(E){return E.context.prev&&(E.context=E.context.prev),E.context.type}function Ue(E,ee,K){return Ie[K.context.type](E,ee,K)}function et(E,ee,K,ze){for(var me=ze||1;me>0;me--)K.context=K.context.prev;return Ue(E,ee,K)}function we(E){var ee=E.current().toLowerCase();fe.hasOwnProperty(ee)?Ce="atom":d.hasOwnProperty(ee)?Ce="keyword":Ce="variable"}var Ie={};return Ie.top=function(E,ee,K){if(E=="{")return Pe(K,ee,"block");if(E=="}"&&K.context.prev)return _e(K);if(xe&&/@component/i.test(E))return Pe(K,ee,"atComponentBlock");if(/^@(-moz-)?document$/i.test(E))return Pe(K,ee,"documentTypes");if(/^@(media|supports|(-moz-)?document|import)$/i.test(E))return Pe(K,ee,"atBlock");if(/^@(font-face|counter-style)/i.test(E))return K.stateArg=E,"restricted_atBlock_before";if(/^@(-(moz|ms|o|webkit)-)?keyframes$/i.test(E))return"keyframes";if(E&&E.charAt(0)=="@")return Pe(K,ee,"at");if(E=="hash")Ce="builtin";else if(E=="word")Ce="tag";else{if(E=="variable-definition")return"maybeprop";if(E=="interpolation")return Pe(K,ee,"interpolation");if(E==":")return"pseudo";if(Te&&E=="(")return Pe(K,ee,"parens")}return K.context.type},Ie.block=function(E,ee,K){if(E=="word"){var ze=ee.current().toLowerCase();return y.hasOwnProperty(ze)?(Ce="property","maybeprop"):j.hasOwnProperty(ze)?(Ce=Me?"string-2":"property","maybeprop"):Te?(Ce=ee.match(/^\s*:(?:\s|$)/,!1)?"property":"tag","block"):(Ce+=" error","maybeprop")}else return E=="meta"?"block":!Te&&(E=="hash"||E=="qualifier")?(Ce="error","block"):Ie.top(E,ee,K)},Ie.maybeprop=function(E,ee,K){return E==":"?Pe(K,ee,"prop"):Ue(E,ee,K)},Ie.prop=function(E,ee,K){if(E==";")return _e(K);if(E=="{"&&Te)return Pe(K,ee,"propBlock");if(E=="}"||E=="{")return et(E,ee,K);if(E=="(")return Pe(K,ee,"parens");if(E=="hash"&&!/^#([0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(ee.current()))Ce+=" error";else if(E=="word")we(ee);else if(E=="interpolation")return Pe(K,ee,"interpolation");return"prop"},Ie.propBlock=function(E,ee,K){return E=="}"?_e(K):E=="word"?(Ce="property","maybeprop"):K.context.type},Ie.parens=function(E,ee,K){return E=="{"||E=="}"?et(E,ee,K):E==")"?_e(K):E=="("?Pe(K,ee,"parens"):E=="interpolation"?Pe(K,ee,"interpolation"):(E=="word"&&we(ee),"parens")},Ie.pseudo=function(E,ee,K){return E=="meta"?"pseudo":E=="word"?(Ce="variable-3",K.context.type):Ue(E,ee,K)},Ie.documentTypes=function(E,ee,K){return E=="word"&&c.hasOwnProperty(ee.current())?(Ce="tag",K.context.type):Ie.atBlock(E,ee,K)},Ie.atBlock=function(E,ee,K){if(E=="(")return Pe(K,ee,"atBlock_parens");if(E=="}"||E==";")return et(E,ee,K);if(E=="{")return _e(K)&&Pe(K,ee,Te?"block":"top");if(E=="interpolation")return Pe(K,ee,"interpolation");if(E=="word"){var ze=ee.current().toLowerCase();ze=="only"||ze=="not"||ze=="and"||ze=="or"?Ce="keyword":T.hasOwnProperty(ze)?Ce="attribute":C.hasOwnProperty(ze)?Ce="property":g.hasOwnProperty(ze)?Ce="keyword":y.hasOwnProperty(ze)?Ce="property":j.hasOwnProperty(ze)?Ce=Me?"string-2":"property":fe.hasOwnProperty(ze)?Ce="atom":d.hasOwnProperty(ze)?Ce="keyword":Ce="error"}return K.context.type},Ie.atComponentBlock=function(E,ee,K){return E=="}"?et(E,ee,K):E=="{"?_e(K)&&Pe(K,ee,Te?"block":"top",!1):(E=="word"&&(Ce="error"),K.context.type)},Ie.atBlock_parens=function(E,ee,K){return E==")"?_e(K):E=="{"||E=="}"?et(E,ee,K,2):Ie.atBlock(E,ee,K)},Ie.restricted_atBlock_before=function(E,ee,K){return E=="{"?Pe(K,ee,"restricted_atBlock"):E=="word"&&K.stateArg=="@counter-style"?(Ce="variable","restricted_atBlock_before"):Ue(E,ee,K)},Ie.restricted_atBlock=function(E,ee,K){return E=="}"?(K.stateArg=null,_e(K)):E=="word"?(K.stateArg=="@font-face"&&!de.hasOwnProperty(ee.current().toLowerCase())||K.stateArg=="@counter-style"&&!v.hasOwnProperty(ee.current().toLowerCase())?Ce="error":Ce="property","maybeprop"):"restricted_atBlock"},Ie.keyframes=function(E,ee,K){return E=="word"?(Ce="variable","keyframes"):E=="{"?Pe(K,ee,"top"):Ue(E,ee,K)},Ie.at=function(E,ee,K){return E==";"?_e(K):E=="{"||E=="}"?et(E,ee,K):(E=="word"?Ce="tag":E=="hash"&&(Ce="builtin"),"at")},Ie.interpolation=function(E,ee,K){return E=="}"?_e(K):E=="{"||E==";"?et(E,ee,K):(E=="word"?Ce="variable":E!="variable"&&E!="("&&E!=")"&&(Ce="error"),"interpolation")},{startState:function(E){return{tokenize:null,state:V?"block":"top",stateArg:null,context:new dt(V?"block":"top",E||0,null)}},token:function(E,ee){if(!ee.tokenize&&E.eatSpace())return null;var K=(ee.tokenize||Oe)(E,ee);return K&&typeof K=="object"&&(Fe=K[1],K=K[0]),Ce=K,Fe!="comment"&&(ee.state=Ie[ee.state](Fe,E,ee)),Ce},indent:function(E,ee){var K=E.context,ze=ee&&ee.charAt(0),me=K.indent;return K.type=="prop"&&(ze=="}"||ze==")")&&(K=K.prev),K.prev&&(ze=="}"&&(K.type=="block"||K.type=="top"||K.type=="interpolation"||K.type=="restricted_atBlock")?(K=K.prev,me=K.indent):(ze==")"&&(K.type=="parens"||K.type=="atBlock_parens")||ze=="{"&&(K.type=="at"||K.type=="atBlock"))&&(me=Math.max(0,K.indent-F))),me},electricChars:"}",blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:le,fold:"brace"}});function pe(J){for(var P={},V=0;V<J.length;++V)P[J[V].toLowerCase()]=!0;return P}var _=["domain","regexp","url","url-prefix"],te=pe(_),oe=["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"],Q=pe(oe),k=["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid","orientation","device-pixel-ratio","min-device-pixel-ratio","max-device-pixel-ratio","pointer","any-pointer","hover","any-hover","prefers-color-scheme","dynamic-range","video-dynamic-range"],I=pe(k),Y=["landscape","portrait","none","coarse","fine","on-demand","hover","interlace","progressive","dark","light","standard","high"],ne=pe(Y),S=["align-content","align-items","align-self","alignment-adjust","alignment-baseline","all","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","binding","bleed","block-size","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-content","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-gap","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-gap","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","inset","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","left","letter-spacing","line-break","line-height","line-height-step","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","place-content","place-items","place-self","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotate","rotation","rotation-point","row-gap","ruby-align","ruby-overhang","ruby-position","ruby-span","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-type","shape-image-threshold","shape-inside","shape-margin","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-orientation","text-outline","text-overflow","text-rendering","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","touch-action","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-select","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","paint-order","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","text-anchor","writing-mode"],R=pe(S),A=["accent-color","aspect-ratio","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","content-visibility","margin-block","margin-block-end","margin-block-start","margin-inline","margin-inline-end","margin-inline-start","overflow-anchor","overscroll-behavior","padding-block","padding-block-end","padding-block-start","padding-inline","padding-inline-end","padding-inline-start","scroll-snap-stop","scrollbar-3d-light-color","scrollbar-arrow-color","scrollbar-base-color","scrollbar-dark-shadow-color","scrollbar-face-color","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-track-color","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","shape-inside","zoom"],$=pe(A),ue=["font-display","font-family","src","unicode-range","font-variant","font-feature-settings","font-stretch","font-weight","font-style"],O=pe(ue),w=["additive-symbols","fallback","negative","pad","prefix","range","speak-as","suffix","symbols","system"],M=pe(w),N=["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","grey","green","greenyellow","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"],z=pe(N),X=["above","absolute","activeborder","additive","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","blur","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","brightness","bullets","button","buttonface","buttonhighlight","buttonshadow","buttontext","calc","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","conic-gradient","contain","content","contents","content-box","context-menu","continuous","contrast","copy","counter","counters","cover","crop","cross","crosshair","cubic-bezier","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","devanagari","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","drop-shadow","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ethiopic-numeric","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","georgian","grayscale","graytext","grid","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hard-light","hebrew","help","hidden","hide","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","hue","hue-rotate","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","japanese-formal","japanese-informal","justify","kannada","katakana","katakana-iroha","keep-all","khmer","korean-hangul-formal","korean-hanja-formal","korean-hanja-informal","landscape","lao","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","luminosity","malayalam","manipulation","match","matrix","matrix3d","media-play-button","media-slider","media-sliderthumb","media-volume-slider","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","multiple_mask_images","multiply","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","octal","opacity","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","persian","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeating-conic-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturate","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","self-start","self-end","semi-condensed","semi-expanded","separate","sepia","serif","show","sidama","simp-chinese-formal","simp-chinese-informal","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","somali","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","square-button","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","tamil","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","trad-chinese-formal","trad-chinese-informal","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"],q=pe(X),p=_.concat(oe).concat(k).concat(Y).concat(S).concat(A).concat(N).concat(X);b.registerHelper("hintWords","css",p);function W(J,P){for(var V=!1,F;(F=J.next())!=null;){if(V&&F=="/"){P.tokenize=null;break}V=F=="*"}return["comment","comment"]}b.defineMIME("text/css",{documentTypes:te,mediaTypes:Q,mediaFeatures:I,mediaValueKeywords:ne,propertyKeywords:R,nonStandardPropertyKeywords:$,fontProperties:O,counterDescriptors:M,colorKeywords:z,valueKeywords:q,tokenHooks:{"/":function(J,P){return J.eat("*")?(P.tokenize=W,W(J,P)):!1}},name:"css"}),b.defineMIME("text/x-scss",{mediaTypes:Q,mediaFeatures:I,mediaValueKeywords:ne,propertyKeywords:R,nonStandardPropertyKeywords:$,colorKeywords:z,valueKeywords:q,fontProperties:O,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(J,P){return J.eat("/")?(J.skipToEnd(),["comment","comment"]):J.eat("*")?(P.tokenize=W,W(J,P)):["operator","operator"]},":":function(J){return J.match(/^\s*\{/,!1)?[null,null]:!1},$:function(J){return J.match(/^[\w-]+/),J.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"]},"#":function(J){return J.eat("{")?[null,"interpolation"]:!1}},name:"css",helperType:"scss"}),b.defineMIME("text/x-less",{mediaTypes:Q,mediaFeatures:I,mediaValueKeywords:ne,propertyKeywords:R,nonStandardPropertyKeywords:$,colorKeywords:z,valueKeywords:q,fontProperties:O,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(J,P){return J.eat("/")?(J.skipToEnd(),["comment","comment"]):J.eat("*")?(P.tokenize=W,W(J,P)):["operator","operator"]},"@":function(J){return J.eat("{")?[null,"interpolation"]:J.match(/^(charset|document|font-face|import|(-(moz|ms|o|webkit)-)?keyframes|media|namespace|page|supports)\b/i,!1)?!1:(J.eatWhile(/[\w\\\-]/),J.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"])},"&":function(){return["atom","atom"]}},name:"css",helperType:"less"}),b.defineMIME("text/x-gss",{documentTypes:te,mediaTypes:Q,mediaFeatures:I,propertyKeywords:R,nonStandardPropertyKeywords:$,fontProperties:O,counterDescriptors:M,colorKeywords:z,valueKeywords:q,supportsAtComponent:!0,tokenHooks:{"/":function(J,P){return J.eat("*")?(P.tokenize=W,W(J,P)):!1}},name:"css",helperType:"gss"})})})()),ga.exports}Xa();var ma={exports:{}},xa={exports:{}},ya;function Ya(){return ya||(ya=1,(function(ct,xt){(function(b){b(mt())})(function(b){var pe={autoSelfClosers:{area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},implicitlyClosed:{dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},contextGrabbers:{dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}},doNotIndent:{pre:!0},allowUnquoted:!0,allowMissing:!0,caseFold:!0},_={autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:!1,allowMissing:!1,allowMissingTagName:!1,caseFold:!1};b.defineMode("xml",function(te,oe){var Q=te.indentUnit,k={},I=oe.htmlMode?pe:_;for(var Y in I)k[Y]=I[Y];for(var Y in oe)k[Y]=oe[Y];var ne,S;function R(c,T){function C(j){return T.tokenize=j,j(c,T)}var g=c.next();if(g=="<")return c.eat("!")?c.eat("[")?c.match("CDATA[")?C(ue("atom","]]>")):null:c.match("--")?C(ue("comment","-->")):c.match("DOCTYPE",!0,!0)?(c.eatWhile(/[\w\._\-]/),C(O(1))):null:c.eat("?")?(c.eatWhile(/[\w\._\-]/),T.tokenize=ue("meta","?>"),"meta"):(ne=c.eat("/")?"closeTag":"openTag",T.tokenize=A,"tag bracket");if(g=="&"){var y;return c.eat("#")?c.eat("x")?y=c.eatWhile(/[a-fA-F\d]/)&&c.eat(";"):y=c.eatWhile(/[\d]/)&&c.eat(";"):y=c.eatWhile(/[\w\.\-:]/)&&c.eat(";"),y?"atom":"error"}else return c.eatWhile(/[^&<]/),null}R.isInText=!0;function A(c,T){var C=c.next();if(C==">"||C=="/"&&c.eat(">"))return T.tokenize=R,ne=C==">"?"endTag":"selfcloseTag","tag bracket";if(C=="=")return ne="equals",null;if(C=="<"){T.tokenize=R,T.state=X,T.tagName=T.tagStart=null;var g=T.tokenize(c,T);return g?g+" tag error":"tag error"}else return/[\'\"]/.test(C)?(T.tokenize=$(C),T.stringStartCol=c.column(),T.tokenize(c,T)):(c.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/),"word")}function $(c){var T=function(C,g){for(;!C.eol();)if(C.next()==c){g.tokenize=A;break}return"string"};return T.isInAttribute=!0,T}function ue(c,T){return function(C,g){for(;!C.eol();){if(C.match(T)){g.tokenize=R;break}C.next()}return c}}function O(c){return function(T,C){for(var g;(g=T.next())!=null;){if(g=="<")return C.tokenize=O(c+1),C.tokenize(T,C);if(g==">")if(c==1){C.tokenize=R;break}else return C.tokenize=O(c-1),C.tokenize(T,C)}return"meta"}}function w(c){return c&&c.toLowerCase()}function M(c,T,C){this.prev=c.context,this.tagName=T||"",this.indent=c.indented,this.startOfLine=C,(k.doNotIndent.hasOwnProperty(T)||c.context&&c.context.noIndent)&&(this.noIndent=!0)}function N(c){c.context&&(c.context=c.context.prev)}function z(c,T){for(var C;;){if(!c.context||(C=c.context.tagName,!k.contextGrabbers.hasOwnProperty(w(C))||!k.contextGrabbers[w(C)].hasOwnProperty(w(T))))return;N(c)}}function X(c,T,C){return c=="openTag"?(C.tagStart=T.column(),q):c=="closeTag"?p:X}function q(c,T,C){return c=="word"?(C.tagName=T.current(),S="tag",P):k.allowMissingTagName&&c=="endTag"?(S="tag bracket",P(c,T,C)):(S="error",q)}function p(c,T,C){if(c=="word"){var g=T.current();return C.context&&C.context.tagName!=g&&k.implicitlyClosed.hasOwnProperty(w(C.context.tagName))&&N(C),C.context&&C.context.tagName==g||k.matchClosing===!1?(S="tag",W):(S="tag error",J)}else return k.allowMissingTagName&&c=="endTag"?(S="tag bracket",W(c,T,C)):(S="error",J)}function W(c,T,C){return c!="endTag"?(S="error",W):(N(C),X)}function J(c,T,C){return S="error",W(c,T,C)}function P(c,T,C){if(c=="word")return S="attribute",V;if(c=="endTag"||c=="selfcloseTag"){var g=C.tagName,y=C.tagStart;return C.tagName=C.tagStart=null,c=="selfcloseTag"||k.autoSelfClosers.hasOwnProperty(w(g))?z(C,g):(z(C,g),C.context=new M(C,g,y==C.indented)),X}return S="error",P}function V(c,T,C){return c=="equals"?F:(k.allowMissing||(S="error"),P(c,T,C))}function F(c,T,C){return c=="string"?G:c=="word"&&k.allowUnquoted?(S="string",P):(S="error",P(c,T,C))}function G(c,T,C){return c=="string"?G:P(c,T,C)}return{startState:function(c){var T={tokenize:R,state:X,indented:c||0,tagName:null,tagStart:null,context:null};return c!=null&&(T.baseIndent=c),T},token:function(c,T){if(!T.tagName&&c.sol()&&(T.indented=c.indentation()),c.eatSpace())return null;ne=null;var C=T.tokenize(c,T);return(C||ne)&&C!="comment"&&(S=null,T.state=T.state(ne||C,c,T),S&&(C=S=="error"?C+" error":S)),C},indent:function(c,T,C){var g=c.context;if(c.tokenize.isInAttribute)return c.tagStart==c.indented?c.stringStartCol+1:c.indented+Q;if(g&&g.noIndent)return b.Pass;if(c.tokenize!=A&&c.tokenize!=R)return C?C.match(/^(\s*)/)[0].length:0;if(c.tagName)return k.multilineTagIndentPastTag!==!1?c.tagStart+c.tagName.length+2:c.tagStart+Q*(k.multilineTagIndentFactor||1);if(k.alignCDATA&&/<!\[CDATA\[/.test(T))return 0;var y=T&&/^<(\/)?([\w_:\.-]*)/.exec(T);if(y&&y[1])for(;g;)if(g.tagName==y[2]){g=g.prev;break}else if(k.implicitlyClosed.hasOwnProperty(w(g.tagName)))g=g.prev;else break;else if(y)for(;g;){var j=k.contextGrabbers[w(g.tagName)];if(j&&j.hasOwnProperty(w(y[2])))g=g.prev;else break}for(;g&&g.prev&&!g.startOfLine;)g=g.prev;return g?g.indent+Q:c.baseIndent||0},electricInput:/<\/[\s\w:]+>$/,blockCommentStart:"<!--",blockCommentEnd:"-->",configuration:k.htmlMode?"html":"xml",helperType:k.htmlMode?"html":"xml",skipAttribute:function(c){c.state==F&&(c.state=P)},xmlCurrentTag:function(c){return c.tagName?{name:c.tagName,close:c.type=="closeTag"}:null},xmlCurrentContext:function(c){for(var T=[],C=c.context;C;C=C.prev)T.push(C.tagName);return T.reverse()}}}),b.defineMIME("text/xml","xml"),b.defineMIME("application/xml","xml"),b.mimeModes.hasOwnProperty("text/html")||b.defineMIME("text/html",{name:"xml",htmlMode:!0})})})()),xa.exports}var ba={exports:{}},ka;function Qa(){return ka||(ka=1,(function(ct,xt){(function(b){b(mt())})(function(b){b.defineMode("javascript",function(pe,_){var te=pe.indentUnit,oe=_.statementIndent,Q=_.jsonld,k=_.json||Q,I=_.trackScope!==!1,Y=_.typescript,ne=_.wordCharacters||/[\w$\xa1-\uffff]/,S=(function(){function f(it){return{type:it,style:"keyword"}}var m=f("keyword a"),U=f("keyword b"),re=f("keyword c"),B=f("keyword d"),ce=f("operator"),We={type:"atom",style:"atom"};return{if:f("if"),while:m,with:m,else:U,do:U,try:U,finally:U,return:B,break:B,continue:B,new:f("new"),delete:re,void:re,throw:re,debugger:f("debugger"),var:f("var"),const:f("var"),let:f("var"),function:f("function"),catch:f("catch"),for:f("for"),switch:f("switch"),case:f("case"),default:f("default"),in:ce,typeof:ce,instanceof:ce,true:We,false:We,null:We,undefined:We,NaN:We,Infinity:We,this:f("this"),class:f("class"),super:f("atom"),yield:re,export:f("export"),import:f("import"),extends:re,await:re}})(),R=/[+\-*&%=<>!?|~^@]/,A=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/;function $(f){for(var m=!1,U,re=!1;(U=f.next())!=null;){if(!m){if(U=="/"&&!re)return;U=="["?re=!0:re&&U=="]"&&(re=!1)}m=!m&&U=="\\"}}var ue,O;function w(f,m,U){return ue=f,O=U,m}function M(f,m){var U=f.next();if(U=='"'||U=="'")return m.tokenize=N(U),m.tokenize(f,m);if(U=="."&&f.match(/^\d[\d_]*(?:[eE][+\-]?[\d_]+)?/))return w("number","number");if(U=="."&&f.match(".."))return w("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(U))return w(U);if(U=="="&&f.eat(">"))return w("=>","operator");if(U=="0"&&f.match(/^(?:x[\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/))return w("number","number");if(/\d/.test(U))return f.match(/^[\d_]*(?:n|(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)?/),w("number","number");if(U=="/")return f.eat("*")?(m.tokenize=z,z(f,m)):f.eat("/")?(f.skipToEnd(),w("comment","comment")):Et(f,m,1)?($(f),f.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/),w("regexp","string-2")):(f.eat("="),w("operator","operator",f.current()));if(U=="`")return m.tokenize=X,X(f,m);if(U=="#"&&f.peek()=="!")return f.skipToEnd(),w("meta","meta");if(U=="#"&&f.eatWhile(ne))return w("variable","property");if(U=="<"&&f.match("!--")||U=="-"&&f.match("->")&&!/\S/.test(f.string.slice(0,f.start)))return f.skipToEnd(),w("comment","comment");if(R.test(U))return(U!=">"||!m.lexical||m.lexical.type!=">")&&(f.eat("=")?(U=="!"||U=="=")&&f.eat("="):/[<>*+\-|&?]/.test(U)&&(f.eat(U),U==">"&&f.eat(U))),U=="?"&&f.eat(".")?w("."):w("operator","operator",f.current());if(ne.test(U)){f.eatWhile(ne);var re=f.current();if(m.lastType!="."){if(S.propertyIsEnumerable(re)){var B=S[re];return w(B.type,B.style,re)}if(re=="async"&&f.match(/^(\s|\/\*([^*]|\*(?!\/))*?\*\/)*[\[\(\w]/,!1))return w("async","keyword",re)}return w("variable","variable",re)}}function N(f){return function(m,U){var re=!1,B;if(Q&&m.peek()=="@"&&m.match(A))return U.tokenize=M,w("jsonld-keyword","meta");for(;(B=m.next())!=null&&!(B==f&&!re);)re=!re&&B=="\\";return re||(U.tokenize=M),w("string","string")}}function z(f,m){for(var U=!1,re;re=f.next();){if(re=="/"&&U){m.tokenize=M;break}U=re=="*"}return w("comment","comment")}function X(f,m){for(var U=!1,re;(re=f.next())!=null;){if(!U&&(re=="`"||re=="$"&&f.eat("{"))){m.tokenize=M;break}U=!U&&re=="\\"}return w("quasi","string-2",f.current())}var q="([{}])";function p(f,m){m.fatArrowAt&&(m.fatArrowAt=null);var U=f.string.indexOf("=>",f.start);if(!(U<0)){if(Y){var re=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(f.string.slice(f.start,U));re&&(U=re.index)}for(var B=0,ce=!1,We=U-1;We>=0;--We){var it=f.string.charAt(We),wt=q.indexOf(it);if(wt>=0&&wt<3){if(!B){++We;break}if(--B==0){it=="("&&(ce=!0);break}}else if(wt>=3&&wt<6)++B;else if(ne.test(it))ce=!0;else if(/["'\/`]/.test(it))for(;;--We){if(We==0)return;var Wr=f.string.charAt(We-1);if(Wr==it&&f.string.charAt(We-2)!="\\"){We--;break}}else if(ce&&!B){++We;break}}ce&&!B&&(m.fatArrowAt=We)}}var W={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,import:!0,"jsonld-keyword":!0};function J(f,m,U,re,B,ce){this.indented=f,this.column=m,this.type=U,this.prev=B,this.info=ce,re!=null&&(this.align=re)}function P(f,m){if(!I)return!1;for(var U=f.localVars;U;U=U.next)if(U.name==m)return!0;for(var re=f.context;re;re=re.prev)for(var U=re.vars;U;U=U.next)if(U.name==m)return!0}function V(f,m,U,re,B){var ce=f.cc;for(F.state=f,F.stream=B,F.marked=null,F.cc=ce,F.style=m,f.lexical.hasOwnProperty("align")||(f.lexical.align=!0);;){var We=ce.length?ce.pop():k?ve:Fe;if(We(U,re)){for(;ce.length&&ce[ce.length-1].lex;)ce.pop()();return F.marked?F.marked:U=="variable"&&P(f,re)?"variable-2":m}}}var F={state:null,marked:null,cc:null};function G(){for(var f=arguments.length-1;f>=0;f--)F.cc.push(arguments[f])}function c(){return G.apply(null,arguments),!0}function T(f,m){for(var U=m;U;U=U.next)if(U.name==f)return!0;return!1}function C(f){var m=F.state;if(F.marked="def",!!I){if(m.context){if(m.lexical.info=="var"&&m.context&&m.context.block){var U=g(f,m.context);if(U!=null){m.context=U;return}}else if(!T(f,m.localVars)){m.localVars=new de(f,m.localVars);return}}_.globalVars&&!T(f,m.globalVars)&&(m.globalVars=new de(f,m.globalVars))}}function g(f,m){if(m)if(m.block){var U=g(f,m.prev);return U?U==m.prev?m:new j(U,m.vars,!0):null}else return T(f,m.vars)?m:new j(m.prev,new de(f,m.vars),!1);else return null}function y(f){return f=="public"||f=="private"||f=="protected"||f=="abstract"||f=="readonly"}function j(f,m,U){this.prev=f,this.vars=m,this.block=U}function de(f,m){this.name=f,this.next=m}var v=new de("this",new de("arguments",null));function d(){F.state.context=new j(F.state.context,F.state.localVars,!1),F.state.localVars=v}function fe(){F.state.context=new j(F.state.context,F.state.localVars,!0),F.state.localVars=null}d.lex=fe.lex=!0;function Te(){F.state.localVars=F.state.context.vars,F.state.context=F.state.context.prev}Te.lex=!0;function le(f,m){var U=function(){var re=F.state,B=re.indented;if(re.lexical.type=="stat")B=re.lexical.indented;else for(var ce=re.lexical;ce&&ce.type==")"&&ce.align;ce=ce.prev)B=ce.indented;re.lexical=new J(B,F.stream.column(),f,null,re.lexical,m)};return U.lex=!0,U}function xe(){var f=F.state;f.lexical.prev&&(f.lexical.type==")"&&(f.indented=f.lexical.indented),f.lexical=f.lexical.prev)}xe.lex=!0;function Me(f){function m(U){return U==f?c():f==";"||U=="}"||U==")"||U=="]"?G():c(m)}return m}function Fe(f,m){return f=="var"?c(le("vardef",m),Er,Me(";"),xe):f=="keyword a"?c(le("form"),qe,Fe,xe):f=="keyword b"?c(le("form"),Fe,xe):f=="keyword d"?F.stream.match(/^\s*$/,!1)?c():c(le("stat"),dt,Me(";"),xe):f=="debugger"?c(Me(";")):f=="{"?c(le("}"),fe,Pt,xe,Te):f==";"?c():f=="if"?(F.state.lexical.info=="else"&&F.state.cc[F.state.cc.length-1]==xe&&F.state.cc.pop()(),c(le("form"),qe,Fe,xe,Or)):f=="function"?c(zt):f=="for"?c(le("form"),fe,Rn,Fe,Te,xe):f=="class"||Y&&m=="interface"?(F.marked="keyword",c(le("form",f=="class"?f:m),Pr,xe)):f=="variable"?Y&&m=="declare"?(F.marked="keyword",c(Fe)):Y&&(m=="module"||m=="enum"||m=="type")&&F.stream.match(/^\s*\w/,!1)?(F.marked="keyword",m=="enum"?c(ye):m=="type"?c(Wn,Me("operator"),Re,Me(";")):c(le("form"),kt,Me("{"),le("}"),Pt,xe,xe)):Y&&m=="namespace"?(F.marked="keyword",c(le("form"),ve,Fe,xe)):Y&&m=="abstract"?(F.marked="keyword",c(Fe)):c(le("stat"),ze):f=="switch"?c(le("form"),qe,Me("{"),le("}","switch"),fe,Pt,xe,xe,Te):f=="case"?c(ve,Me(":")):f=="default"?c(Me(":")):f=="catch"?c(le("form"),d,Ce,Fe,xe,Te):f=="export"?c(le("stat"),Ir,xe):f=="import"?c(le("stat"),fr,xe):f=="async"?c(Fe):m=="@"?c(ve,Fe):G(le("stat"),ve,Me(";"),xe)}function Ce(f){if(f=="(")return c(Wt,Me(")"))}function ve(f,m){return $e(f,m,!1)}function Oe(f,m){return $e(f,m,!0)}function qe(f){return f!="("?G():c(le(")"),dt,Me(")"),xe)}function $e(f,m,U){if(F.state.fatArrowAt==F.stream.start){var re=U?Ie:we;if(f=="(")return c(d,le(")"),Ne(Wt,")"),xe,Me("=>"),re,Te);if(f=="variable")return G(d,kt,Me("=>"),re,Te)}var B=U?_e:Pe;return W.hasOwnProperty(f)?c(B):f=="function"?c(zt,B):f=="class"||Y&&m=="interface"?(F.marked="keyword",c(le("form"),yi,xe)):f=="keyword c"||f=="async"?c(U?Oe:ve):f=="("?c(le(")"),dt,Me(")"),xe,B):f=="operator"||f=="spread"?c(U?Oe:ve):f=="["?c(le("]"),Je,xe,B):f=="{"?Mt(De,"}",null,B):f=="quasi"?G(Ue,B):f=="new"?c(E(U)):c()}function dt(f){return f.match(/[;\}\)\],]/)?G():G(ve)}function Pe(f,m){return f==","?c(dt):_e(f,m,!1)}function _e(f,m,U){var re=U==!1?Pe:_e,B=U==!1?ve:Oe;if(f=="=>")return c(d,U?Ie:we,Te);if(f=="operator")return/\+\+|--/.test(m)||Y&&m=="!"?c(re):Y&&m=="<"&&F.stream.match(/^([^<>]|<[^<>]*>)*>\s*\(/,!1)?c(le(">"),Ne(Re,">"),xe,re):m=="?"?c(ve,Me(":"),B):c(B);if(f=="quasi")return G(Ue,re);if(f!=";"){if(f=="(")return Mt(Oe,")","call",re);if(f==".")return c(me,re);if(f=="[")return c(le("]"),dt,Me("]"),xe,re);if(Y&&m=="as")return F.marked="keyword",c(Re,re);if(f=="regexp")return F.state.lastType=F.marked="operator",F.stream.backUp(F.stream.pos-F.stream.start-1),c(B)}}function Ue(f,m){return f!="quasi"?G():m.slice(m.length-2)!="${"?c(Ue):c(dt,et)}function et(f){if(f=="}")return F.marked="string-2",F.state.tokenize=X,c(Ue)}function we(f){return p(F.stream,F.state),G(f=="{"?Fe:ve)}function Ie(f){return p(F.stream,F.state),G(f=="{"?Fe:Oe)}function E(f){return function(m){return m=="."?c(f?K:ee):m=="variable"&&Y?c(Ft,f?_e:Pe):G(f?Oe:ve)}}function ee(f,m){if(m=="target")return F.marked="keyword",c(Pe)}function K(f,m){if(m=="target")return F.marked="keyword",c(_e)}function ze(f){return f==":"?c(xe,Fe):G(Pe,Me(";"),xe)}function me(f){if(f=="variable")return F.marked="property",c()}function De(f,m){if(f=="async")return F.marked="property",c(De);if(f=="variable"||F.style=="keyword"){if(F.marked="property",m=="get"||m=="set")return c(be);var U;return Y&&F.state.fatArrowAt==F.stream.start&&(U=F.stream.match(/^\s*:\s*/,!1))&&(F.state.fatArrowAt=F.stream.pos+U[0].length),c(Be)}else{if(f=="number"||f=="string")return F.marked=Q?"property":F.style+" property",c(Be);if(f=="jsonld-keyword")return c(Be);if(Y&&y(m))return F.marked="keyword",c(De);if(f=="[")return c(ve,or,Me("]"),Be);if(f=="spread")return c(Oe,Be);if(m=="*")return F.marked="keyword",c(De);if(f==":")return G(Be)}}function be(f){return f!="variable"?G(Be):(F.marked="property",c(zt))}function Be(f){if(f==":")return c(Oe);if(f=="(")return G(zt)}function Ne(f,m,U){function re(B,ce){if(U?U.indexOf(B)>-1:B==","){var We=F.state.lexical;return We.info=="call"&&(We.pos=(We.pos||0)+1),c(function(it,wt){return it==m||wt==m?G():G(f)},re)}return B==m||ce==m?c():U&&U.indexOf(";")>-1?G(f):c(Me(m))}return function(B,ce){return B==m||ce==m?c():G(f,re)}}function Mt(f,m,U){for(var re=3;re<arguments.length;re++)F.cc.push(arguments[re]);return c(le(m,U),Ne(f,m),xe)}function Pt(f){return f=="}"?c():G(Fe,Pt)}function or(f,m){if(Y){if(f==":")return c(Re);if(m=="?")return c(or)}}function br(f,m){if(Y&&(f==":"||m=="in"))return c(Re)}function lr(f){if(Y&&f==":")return F.stream.match(/^\s*\w+\s+is\b/,!1)?c(ve,mi,Re):c(Re)}function mi(f,m){if(m=="is")return F.marked="keyword",c()}function Re(f,m){if(m=="keyof"||m=="typeof"||m=="infer"||m=="readonly")return F.marked="keyword",c(m=="typeof"?Oe:Re);if(f=="variable"||m=="void")return F.marked="type",c(It);if(m=="|"||m=="&")return c(Re);if(f=="string"||f=="number"||f=="atom")return c(It);if(f=="[")return c(le("]"),Ne(Re,"]",","),xe,It);if(f=="{")return c(le("}"),Se,xe,It);if(f=="(")return c(Ne(Qe,")"),Bn,It);if(f=="<")return c(Ne(Re,">"),Re);if(f=="quasi")return G(ht,It)}function Bn(f){if(f=="=>")return c(Re)}function Se(f){return f.match(/[\}\)\]]/)?c():f==","||f==";"?c(Se):G(Zt,Se)}function Zt(f,m){if(f=="variable"||F.style=="keyword")return F.marked="property",c(Zt);if(m=="?"||f=="number"||f=="string")return c(Zt);if(f==":")return c(Re);if(f=="[")return c(Me("variable"),br,Me("]"),Zt);if(f=="(")return G(ur,Zt);if(!f.match(/[;\}\)\],]/))return c()}function ht(f,m){return f!="quasi"?G():m.slice(m.length-2)!="${"?c(ht):c(Re,Ye)}function Ye(f){if(f=="}")return F.marked="string-2",F.state.tokenize=X,c(ht)}function Qe(f,m){return f=="variable"&&F.stream.match(/^\s*[?:]/,!1)||m=="?"?c(Qe):f==":"?c(Re):f=="spread"?c(Qe):G(Re)}function It(f,m){if(m=="<")return c(le(">"),Ne(Re,">"),xe,It);if(m=="|"||f=="."||m=="&")return c(Re);if(f=="[")return c(Re,Me("]"),It);if(m=="extends"||m=="implements")return F.marked="keyword",c(Re);if(m=="?")return c(Re,Me(":"),Re)}function Ft(f,m){if(m=="<")return c(le(">"),Ne(Re,">"),xe,It)}function Bt(){return G(Re,pt)}function pt(f,m){if(m=="=")return c(Re)}function Er(f,m){return m=="enum"?(F.marked="keyword",c(ye)):G(kt,or,Rt,xi)}function kt(f,m){if(Y&&y(m))return F.marked="keyword",c(kt);if(f=="variable")return C(m),c();if(f=="spread")return c(kt);if(f=="[")return Mt(ln,"]");if(f=="{")return Mt(ar,"}")}function ar(f,m){return f=="variable"&&!F.stream.match(/^\s*:/,!1)?(C(m),c(Rt)):(f=="variable"&&(F.marked="property"),f=="spread"?c(kt):f=="}"?G():f=="["?c(ve,Me("]"),Me(":"),ar):c(Me(":"),kt,Rt))}function ln(){return G(kt,Rt)}function Rt(f,m){if(m=="=")return c(Oe)}function xi(f){if(f==",")return c(Er)}function Or(f,m){if(f=="keyword b"&&m=="else")return c(le("form","else"),Fe,xe)}function Rn(f,m){if(m=="await")return c(Rn);if(f=="(")return c(le(")"),an,xe)}function an(f){return f=="var"?c(Er,sr):f=="variable"?c(sr):G(sr)}function sr(f,m){return f==")"?c():f==";"?c(sr):m=="in"||m=="of"?(F.marked="keyword",c(ve,sr)):G(ve,sr)}function zt(f,m){if(m=="*")return F.marked="keyword",c(zt);if(f=="variable")return C(m),c(zt);if(f=="(")return c(d,le(")"),Ne(Wt,")"),xe,lr,Fe,Te);if(Y&&m=="<")return c(le(">"),Ne(Bt,">"),xe,zt)}function ur(f,m){if(m=="*")return F.marked="keyword",c(ur);if(f=="variable")return C(m),c(ur);if(f=="(")return c(d,le(")"),Ne(Wt,")"),xe,lr,Te);if(Y&&m=="<")return c(le(">"),Ne(Bt,">"),xe,ur)}function Wn(f,m){if(f=="keyword"||f=="variable")return F.marked="type",c(Wn);if(m=="<")return c(le(">"),Ne(Bt,">"),xe)}function Wt(f,m){return m=="@"&&c(ve,Wt),f=="spread"?c(Wt):Y&&y(m)?(F.marked="keyword",c(Wt)):Y&&f=="this"?c(or,Rt):G(kt,or,Rt)}function yi(f,m){return f=="variable"?Pr(f,m):Ht(f,m)}function Pr(f,m){if(f=="variable")return C(m),c(Ht)}function Ht(f,m){if(m=="<")return c(le(">"),Ne(Bt,">"),xe,Ht);if(m=="extends"||m=="implements"||Y&&f==",")return m=="implements"&&(F.marked="keyword"),c(Y?Re:ve,Ht);if(f=="{")return c(le("}"),_t,xe)}function _t(f,m){if(f=="async"||f=="variable"&&(m=="static"||m=="get"||m=="set"||Y&&y(m))&&F.stream.match(/^\s+#?[\w$\xa1-\uffff]/,!1))return F.marked="keyword",c(_t);if(f=="variable"||F.style=="keyword")return F.marked="property",c(kr,_t);if(f=="number"||f=="string")return c(kr,_t);if(f=="[")return c(ve,or,Me("]"),kr,_t);if(m=="*")return F.marked="keyword",c(_t);if(Y&&f=="(")return G(ur,_t);if(f==";"||f==",")return c(_t);if(f=="}")return c();if(m=="@")return c(ve,_t)}function kr(f,m){if(m=="!"||m=="?")return c(kr);if(f==":")return c(Re,Rt);if(m=="=")return c(Oe);var U=F.state.lexical.prev,re=U&&U.info=="interface";return G(re?ur:zt)}function Ir(f,m){return m=="*"?(F.marked="keyword",c(Rr,Me(";"))):m=="default"?(F.marked="keyword",c(ve,Me(";"))):f=="{"?c(Ne(zr,"}"),Rr,Me(";")):G(Fe)}function zr(f,m){if(m=="as")return F.marked="keyword",c(Me("variable"));if(f=="variable")return G(Oe,zr)}function fr(f){return f=="string"?c():f=="("?G(ve):f=="."?G(Pe):G(Br,Gt,Rr)}function Br(f,m){return f=="{"?Mt(Br,"}"):(f=="variable"&&C(m),m=="*"&&(F.marked="keyword"),c(sn))}function Gt(f){if(f==",")return c(Br,Gt)}function sn(f,m){if(m=="as")return F.marked="keyword",c(Br)}function Rr(f,m){if(m=="from")return F.marked="keyword",c(ve)}function Je(f){return f=="]"?c():G(Ne(Oe,"]"))}function ye(){return G(le("form"),kt,Me("{"),le("}"),Ne($t,"}"),xe,xe)}function $t(){return G(kt,Rt)}function un(f,m){return f.lastType=="operator"||f.lastType==","||R.test(m.charAt(0))||/[,.]/.test(m.charAt(0))}function Et(f,m,U){return m.tokenize==M&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(m.lastType)||m.lastType=="quasi"&&/\{\s*$/.test(f.string.slice(0,f.pos-(U||0)))}return{startState:function(f){var m={tokenize:M,lastType:"sof",cc:[],lexical:new J((f||0)-te,0,"block",!1),localVars:_.localVars,context:_.localVars&&new j(null,null,!1),indented:f||0};return _.globalVars&&typeof _.globalVars=="object"&&(m.globalVars=_.globalVars),m},token:function(f,m){if(f.sol()&&(m.lexical.hasOwnProperty("align")||(m.lexical.align=!1),m.indented=f.indentation(),p(f,m)),m.tokenize!=z&&f.eatSpace())return null;var U=m.tokenize(f,m);return ue=="comment"?U:(m.lastType=ue=="operator"&&(O=="++"||O=="--")?"incdec":ue,V(m,U,ue,O,f))},indent:function(f,m){if(f.tokenize==z||f.tokenize==X)return b.Pass;if(f.tokenize!=M)return 0;var U=m&&m.charAt(0),re=f.lexical,B;if(!/^\s*else\b/.test(m))for(var ce=f.cc.length-1;ce>=0;--ce){var We=f.cc[ce];if(We==xe)re=re.prev;else if(We!=Or&&We!=Te)break}for(;(re.type=="stat"||re.type=="form")&&(U=="}"||(B=f.cc[f.cc.length-1])&&(B==Pe||B==_e)&&!/^[,\.=+\-*:?[\(]/.test(m));)re=re.prev;oe&&re.type==")"&&re.prev.type=="stat"&&(re=re.prev);var it=re.type,wt=U==it;return it=="vardef"?re.indented+(f.lastType=="operator"||f.lastType==","?re.info.length+1:0):it=="form"&&U=="{"?re.indented:it=="form"?re.indented+te:it=="stat"?re.indented+(un(f,m)?oe||te:0):re.info=="switch"&&!wt&&_.doubleIndentSwitch!=!1?re.indented+(/^(?:case|default)\b/.test(m)?te:2*te):re.align?re.column+(wt?0:1):re.indented+(wt?0:te)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:k?null:"/*",blockCommentEnd:k?null:"*/",blockCommentContinue:k?null:" * ",lineComment:k?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:k?"json":"javascript",jsonldMode:Q,jsonMode:k,expressionAllowed:Et,skipExpression:function(f){V(f,"atom","atom","true",new b.StringStream("",2,null))}}}),b.registerHelper("wordChars","javascript",/[\w$]/),b.defineMIME("text/javascript","javascript"),b.defineMIME("text/ecmascript","javascript"),b.defineMIME("application/javascript","javascript"),b.defineMIME("application/x-javascript","javascript"),b.defineMIME("application/ecmascript","javascript"),b.defineMIME("application/json",{name:"javascript",json:!0}),b.defineMIME("application/x-json",{name:"javascript",json:!0}),b.defineMIME("application/manifest+json",{name:"javascript",json:!0}),b.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),b.defineMIME("text/typescript",{name:"javascript",typescript:!0}),b.defineMIME("application/typescript",{name:"javascript",typescript:!0})})})()),ba.exports}var wa;function Vu(){return wa||(wa=1,(function(ct,xt){(function(b){b(mt(),Ya(),Qa(),Xa())})(function(b){var pe={script:[["lang",/(javascript|babel)/i,"javascript"],["type",/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i,"javascript"],["type",/./,"text/plain"],[null,null,"javascript"]],style:[["lang",/^css$/i,"css"],["type",/^(text\/)?(x-)?(stylesheet|css)$/i,"css"],["type",/./,"text/plain"],[null,null,"css"]]};function _(ne,S,R){var A=ne.current(),$=A.search(S);return $>-1?ne.backUp(A.length-$):A.match(/<\/?$/)&&(ne.backUp(A.length),ne.match(S,!1)||ne.match(A)),R}var te={};function oe(ne){var S=te[ne];return S||(te[ne]=new RegExp("\\s+"+ne+`\\s*=\\s*('|")?([^'"]+)('|")?\\s*`))}function Q(ne,S){var R=ne.match(oe(S));return R?/^\s*(.*?)\s*$/.exec(R[2])[1]:""}function k(ne,S){return new RegExp((S?"^":"")+"</\\s*"+ne+"\\s*>","i")}function I(ne,S){for(var R in ne)for(var A=S[R]||(S[R]=[]),$=ne[R],ue=$.length-1;ue>=0;ue--)A.unshift($[ue])}function Y(ne,S){for(var R=0;R<ne.length;R++){var A=ne[R];if(!A[0]||A[1].test(Q(S,A[0])))return A[2]}}b.defineMode("htmlmixed",function(ne,S){var R=b.getMode(ne,{name:"xml",htmlMode:!0,multilineTagIndentFactor:S.multilineTagIndentFactor,multilineTagIndentPastTag:S.multilineTagIndentPastTag,allowMissingTagName:S.allowMissingTagName}),A={},$=S&&S.tags,ue=S&&S.scriptTypes;if(I(pe,A),$&&I($,A),ue)for(var O=ue.length-1;O>=0;O--)A.script.unshift(["type",ue[O].matches,ue[O].mode]);function w(M,N){var z=R.token(M,N.htmlState),X=/\btag\b/.test(z),q;if(X&&!/[<>\s\/]/.test(M.current())&&(q=N.htmlState.tagName&&N.htmlState.tagName.toLowerCase())&&A.hasOwnProperty(q))N.inTag=q+" ";else if(N.inTag&&X&&/>$/.test(M.current())){var p=/^([\S]+) (.*)/.exec(N.inTag);N.inTag=null;var W=M.current()==">"&&Y(A[p[1]],p[2]),J=b.getMode(ne,W),P=k(p[1],!0),V=k(p[1],!1);N.token=function(F,G){return F.match(P,!1)?(G.token=w,G.localState=G.localMode=null,null):_(F,V,G.localMode.token(F,G.localState))},N.localMode=J,N.localState=b.startState(J,R.indent(N.htmlState,"",""))}else N.inTag&&(N.inTag+=M.current(),M.eol()&&(N.inTag+=" "));return z}return{startState:function(){var M=b.startState(R);return{token:w,inTag:null,localMode:null,localState:null,htmlState:M}},copyState:function(M){var N;return M.localState&&(N=b.copyState(M.localMode,M.localState)),{token:M.token,inTag:M.inTag,localMode:M.localMode,localState:N,htmlState:b.copyState(R,M.htmlState)}},token:function(M,N){return N.token(M,N)},indent:function(M,N,z){return!M.localMode||/^\s*<\//.test(N)?R.indent(M.htmlState,N,z):M.localMode.indent?M.localMode.indent(M.localState,N,z):b.Pass},innerMode:function(M){return{state:M.localState||M.htmlState,mode:M.localMode||R}}}},"xml","javascript","css"),b.defineMIME("text/html","htmlmixed")})})()),ma.exports}Vu();Qa();var Sa={exports:{}},La;function ef(){return La||(La=1,(function(ct,xt){(function(b){b(mt())})(function(b){function pe(I){return new RegExp("^(("+I.join(")|(")+"))\\b")}var _=pe(["and","or","not","is"]),te=["as","assert","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","lambda","pass","raise","return","try","while","with","yield","in","False","True"],oe=["abs","all","any","bin","bool","bytearray","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip","__import__","NotImplemented","Ellipsis","__debug__"];b.registerHelper("hintWords","python",te.concat(oe).concat(["exec","print"]));function Q(I){return I.scopes[I.scopes.length-1]}b.defineMode("python",function(I,Y){for(var ne="error",S=Y.delimiters||Y.singleDelimiters||/^[\(\)\[\]\{\}@,:`=;\.\\]/,R=[Y.singleOperators,Y.doubleOperators,Y.doubleDelimiters,Y.tripleDelimiters,Y.operators||/^([-+*/%\/&|^]=?|[<>=]+|\/\/=?|\*\*=?|!=|[~!@]|\.\.\.)/],A=0;A<R.length;A++)R[A]||R.splice(A--,1);var $=Y.hangingIndent||I.indentUnit,ue=te,O=oe;Y.extra_keywords!=null&&(ue=ue.concat(Y.extra_keywords)),Y.extra_builtins!=null&&(O=O.concat(Y.extra_builtins));var w=!(Y.version&&Number(Y.version)<3);if(w){var M=Y.identifiers||/^[_A-Za-z\u00A1-\uFFFF][_A-Za-z0-9\u00A1-\uFFFF]*/;ue=ue.concat(["nonlocal","None","aiter","anext","async","await","breakpoint","match","case"]),O=O.concat(["ascii","bytes","exec","print"]);var N=new RegExp(`^(([rbuf]|(br)|(rb)|(fr)|(rf))?('{3}|"{3}|['"]))`,"i")}else{var M=Y.identifiers||/^[_A-Za-z][_A-Za-z0-9]*/;ue=ue.concat(["exec","print"]),O=O.concat(["apply","basestring","buffer","cmp","coerce","execfile","file","intern","long","raw_input","reduce","reload","unichr","unicode","xrange","None"]);var N=new RegExp(`^(([rubf]|(ur)|(br))?('{3}|"{3}|['"]))`,"i")}var z=pe(ue),X=pe(O);function q(T,C){var g=T.sol()&&C.lastToken!="\\";if(g&&(C.indent=T.indentation()),g&&Q(C).type=="py"){var y=Q(C).offset;if(T.eatSpace()){var j=T.indentation();return j>y?P(C):j<y&&F(T,C)&&T.peek()!="#"&&(C.errorToken=!0),null}else{var de=p(T,C);return y>0&&F(T,C)&&(de+=" "+ne),de}}return p(T,C)}function p(T,C,g){if(T.eatSpace())return null;if(!g&&T.match(/^#.*/))return"comment";if(T.match(/^[0-9\.]/,!1)){var y=!1;if(T.match(/^[\d_]*\.\d+(e[\+\-]?\d+)?/i)&&(y=!0),T.match(/^[\d_]+\.\d*/)&&(y=!0),T.match(/^\.\d+/)&&(y=!0),y)return T.eat(/J/i),"number";var j=!1;if(T.match(/^0x[0-9a-f_]+/i)&&(j=!0),T.match(/^0b[01_]+/i)&&(j=!0),T.match(/^0o[0-7_]+/i)&&(j=!0),T.match(/^[1-9][\d_]*(e[\+\-]?[\d_]+)?/)&&(T.eat(/J/i),j=!0),T.match(/^0(?![\dx])/i)&&(j=!0),j)return T.eat(/L/i),"number"}if(T.match(N)){var de=T.current().toLowerCase().indexOf("f")!==-1;return de?(C.tokenize=W(T.current(),C.tokenize),C.tokenize(T,C)):(C.tokenize=J(T.current(),C.tokenize),C.tokenize(T,C))}for(var v=0;v<R.length;v++)if(T.match(R[v]))return"operator";return T.match(S)?"punctuation":C.lastToken=="."&&T.match(M)?"property":T.match(z)||T.match(_)?"keyword":T.match(X)?"builtin":T.match(/^(self|cls)\b/)?"variable-2":T.match(M)?C.lastToken=="def"||C.lastToken=="class"?"def":"variable":(T.next(),g?null:ne)}function W(T,C){for(;"rubf".indexOf(T.charAt(0).toLowerCase())>=0;)T=T.substr(1);var g=T.length==1,y="string";function j(v){return function(d,fe){var Te=p(d,fe,!0);return Te=="punctuation"&&(d.current()=="{"?fe.tokenize=j(v+1):d.current()=="}"&&(v>1?fe.tokenize=j(v-1):fe.tokenize=de)),Te}}function de(v,d){for(;!v.eol();)if(v.eatWhile(/[^'"\{\}\\]/),v.eat("\\")){if(v.next(),g&&v.eol())return y}else{if(v.match(T))return d.tokenize=C,y;if(v.match("{{"))return y;if(v.match("{",!1))return d.tokenize=j(0),v.current()?y:d.tokenize(v,d);if(v.match("}}"))return y;if(v.match("}"))return ne;v.eat(/['"]/)}if(g){if(Y.singleLineStringErrors)return ne;d.tokenize=C}return y}return de.isString=!0,de}function J(T,C){for(;"rubf".indexOf(T.charAt(0).toLowerCase())>=0;)T=T.substr(1);var g=T.length==1,y="string";function j(de,v){for(;!de.eol();)if(de.eatWhile(/[^'"\\]/),de.eat("\\")){if(de.next(),g&&de.eol())return y}else{if(de.match(T))return v.tokenize=C,y;de.eat(/['"]/)}if(g){if(Y.singleLineStringErrors)return ne;v.tokenize=C}return y}return j.isString=!0,j}function P(T){for(;Q(T).type!="py";)T.scopes.pop();T.scopes.push({offset:Q(T).offset+I.indentUnit,type:"py",align:null})}function V(T,C,g){var y=T.match(/^[\s\[\{\(]*(?:#|$)/,!1)?null:T.column()+1;C.scopes.push({offset:C.indent+$,type:g,align:y})}function F(T,C){for(var g=T.indentation();C.scopes.length>1&&Q(C).offset>g;){if(Q(C).type!="py")return!0;C.scopes.pop()}return Q(C).offset!=g}function G(T,C){T.sol()&&(C.beginningOfLine=!0,C.dedent=!1);var g=C.tokenize(T,C),y=T.current();if(C.beginningOfLine&&y=="@")return T.match(M,!1)?"meta":w?"operator":ne;if(/\S/.test(y)&&(C.beginningOfLine=!1),(g=="variable"||g=="builtin")&&C.lastToken=="meta"&&(g="meta"),(y=="pass"||y=="return")&&(C.dedent=!0),y=="lambda"&&(C.lambda=!0),y==":"&&!C.lambda&&Q(C).type=="py"&&T.match(/^\s*(?:#|$)/,!1)&&P(C),y.length==1&&!/string|comment/.test(g)){var j="[({".indexOf(y);if(j!=-1&&V(T,C,"])}".slice(j,j+1)),j="])}".indexOf(y),j!=-1)if(Q(C).type==y)C.indent=C.scopes.pop().offset-$;else return ne}return C.dedent&&T.eol()&&Q(C).type=="py"&&C.scopes.length>1&&C.scopes.pop(),g}var c={startState:function(T){return{tokenize:q,scopes:[{offset:T||0,type:"py",align:null}],indent:T||0,lastToken:null,lambda:!1,dedent:0}},token:function(T,C){var g=C.errorToken;g&&(C.errorToken=!1);var y=G(T,C);return y&&y!="comment"&&(C.lastToken=y=="keyword"||y=="punctuation"?T.current():y),y=="punctuation"&&(y=null),T.eol()&&C.lambda&&(C.lambda=!1),g?y+" "+ne:y},indent:function(T,C){if(T.tokenize!=q)return T.tokenize.isString?b.Pass:0;var g=Q(T),y=g.type==C.charAt(0)||g.type=="py"&&!T.dedent&&/^(else:|elif |except |finally:)/.test(C);return g.align!=null?g.align-(y?1:0):g.offset-(y?$:0)},electricInput:/^\s*([\}\]\)]|else:|elif |except |finally:)$/,closeBrackets:{triples:`'"`},lineComment:"#",fold:"indent"};return c}),b.defineMIME("text/x-python","python");var k=function(I){return I.split(" ")};b.defineMIME("text/x-cython",{name:"python",extra_keywords:k("by cdef cimport cpdef ctypedef enum except extern gil include nogil property public readonly struct union DEF IF ELIF ELSE")})})})()),Sa.exports}ef();var Ta={exports:{}},Ca;function tf(){return Ca||(Ca=1,(function(ct,xt){(function(b){b(mt())})(function(b){function pe(g,y,j,de,v,d){this.indented=g,this.column=y,this.type=j,this.info=de,this.align=v,this.prev=d}function _(g,y,j,de){var v=g.indented;return g.context&&g.context.type=="statement"&&j!="statement"&&(v=g.context.indented),g.context=new pe(v,y,j,de,null,g.context)}function te(g){var y=g.context.type;return(y==")"||y=="]"||y=="}")&&(g.indented=g.context.indented),g.context=g.context.prev}function oe(g,y,j){if(y.prevToken=="variable"||y.prevToken=="type"||/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(g.string.slice(0,j))||y.typeAtEndOfLine&&g.column()==g.indentation())return!0}function Q(g){for(;;){if(!g||g.type=="top")return!0;if(g.type=="}"&&g.prev.info!="namespace")return!1;g=g.prev}}b.defineMode("clike",function(g,y){var j=g.indentUnit,de=y.statementIndentUnit||j,v=y.dontAlignCalls,d=y.keywords||{},fe=y.types||{},Te=y.builtin||{},le=y.blockKeywords||{},xe=y.defKeywords||{},Me=y.atoms||{},Fe=y.hooks||{},Ce=y.multiLineStrings,ve=y.indentStatements!==!1,Oe=y.indentSwitch!==!1,qe=y.namespaceSeparator,$e=y.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,dt=y.numberStart||/[\d\.]/,Pe=y.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,_e=y.isOperatorChar||/[+\-*&%=<>!?|\/]/,Ue=y.isIdentifierChar||/[\w\$_\xa1-\uffff]/,et=y.isReservedIdentifier||!1,we,Ie;function E(me,De){var be=me.next();if(Fe[be]){var Be=Fe[be](me,De);if(Be!==!1)return Be}if(be=='"'||be=="'")return De.tokenize=ee(be),De.tokenize(me,De);if(dt.test(be)){if(me.backUp(1),me.match(Pe))return"number";me.next()}if($e.test(be))return we=be,null;if(be=="/"){if(me.eat("*"))return De.tokenize=K,K(me,De);if(me.eat("/"))return me.skipToEnd(),"comment"}if(_e.test(be)){for(;!me.match(/^\/[\/*]/,!1)&&me.eat(_e););return"operator"}if(me.eatWhile(Ue),qe)for(;me.match(qe);)me.eatWhile(Ue);var Ne=me.current();return I(d,Ne)?(I(le,Ne)&&(we="newstatement"),I(xe,Ne)&&(Ie=!0),"keyword"):I(fe,Ne)?"type":I(Te,Ne)||et&&et(Ne)?(I(le,Ne)&&(we="newstatement"),"builtin"):I(Me,Ne)?"atom":"variable"}function ee(me){return function(De,be){for(var Be=!1,Ne,Mt=!1;(Ne=De.next())!=null;){if(Ne==me&&!Be){Mt=!0;break}Be=!Be&&Ne=="\\"}return(Mt||!(Be||Ce))&&(be.tokenize=null),"string"}}function K(me,De){for(var be=!1,Be;Be=me.next();){if(Be=="/"&&be){De.tokenize=null;break}be=Be=="*"}return"comment"}function ze(me,De){y.typeFirstDefinitions&&me.eol()&&Q(De.context)&&(De.typeAtEndOfLine=oe(me,De,me.pos))}return{startState:function(me){return{tokenize:null,context:new pe((me||0)-j,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(me,De){var be=De.context;if(me.sol()&&(be.align==null&&(be.align=!1),De.indented=me.indentation(),De.startOfLine=!0),me.eatSpace())return ze(me,De),null;we=Ie=null;var Be=(De.tokenize||E)(me,De);if(Be=="comment"||Be=="meta")return Be;if(be.align==null&&(be.align=!0),we==";"||we==":"||we==","&&me.match(/^\s*(?:\/\/.*)?$/,!1))for(;De.context.type=="statement";)te(De);else if(we=="{")_(De,me.column(),"}");else if(we=="[")_(De,me.column(),"]");else if(we=="(")_(De,me.column(),")");else if(we=="}"){for(;be.type=="statement";)be=te(De);for(be.type=="}"&&(be=te(De));be.type=="statement";)be=te(De)}else we==be.type?te(De):ve&&((be.type=="}"||be.type=="top")&&we!=";"||be.type=="statement"&&we=="newstatement")&&_(De,me.column(),"statement",me.current());if(Be=="variable"&&(De.prevToken=="def"||y.typeFirstDefinitions&&oe(me,De,me.start)&&Q(De.context)&&me.match(/^\s*\(/,!1))&&(Be="def"),Fe.token){var Ne=Fe.token(me,De,Be);Ne!==void 0&&(Be=Ne)}return Be=="def"&&y.styleDefs===!1&&(Be="variable"),De.startOfLine=!1,De.prevToken=Ie?"def":Be||we,ze(me,De),Be},indent:function(me,De){if(me.tokenize!=E&&me.tokenize!=null||me.typeAtEndOfLine&&Q(me.context))return b.Pass;var be=me.context,Be=De&&De.charAt(0),Ne=Be==be.type;if(be.type=="statement"&&Be=="}"&&(be=be.prev),y.dontIndentStatements)for(;be.type=="statement"&&y.dontIndentStatements.test(be.info);)be=be.prev;if(Fe.indent){var Mt=Fe.indent(me,be,De,j);if(typeof Mt=="number")return Mt}var Pt=be.prev&&be.prev.info=="switch";if(y.allmanIndentation&&/[{(]/.test(Be)){for(;be.type!="top"&&be.type!="}";)be=be.prev;return be.indented}return be.type=="statement"?be.indented+(Be=="{"?0:de):be.align&&(!v||be.type!=")")?be.column+(Ne?0:1):be.type==")"&&!Ne?be.indented+de:be.indented+(Ne?0:j)+(!Ne&&Pt&&!/^(?:case|default)\b/.test(De)?j:0)},electricInput:Oe?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"brace"}});function k(g){for(var y={},j=g.split(" "),de=0;de<j.length;++de)y[j[de]]=!0;return y}function I(g,y){return typeof g=="function"?g(y):g.propertyIsEnumerable(y)}var Y="auto if break case register continue return default do sizeof static else struct switch extern typedef union for goto while enum const volatile inline restrict asm fortran",ne="alignas alignof and and_eq audit axiom bitand bitor catch class compl concept constexpr const_cast decltype delete dynamic_cast explicit export final friend import module mutable namespace new noexcept not not_eq operator or or_eq override private protected public reinterpret_cast requires static_assert static_cast template this thread_local throw try typeid typename using virtual xor xor_eq",S="bycopy byref in inout oneway out self super atomic nonatomic retain copy readwrite readonly strong weak assign typeof nullable nonnull null_resettable _cmd @interface @implementation @end @protocol @encode @property @synthesize @dynamic @class @public @package @private @protected @required @optional @try @catch @finally @import @selector @encode @defs @synchronized @autoreleasepool @compatibility_alias @available",R="FOUNDATION_EXPORT FOUNDATION_EXTERN NS_INLINE NS_FORMAT_FUNCTION NS_RETURNS_RETAINEDNS_ERROR_ENUM NS_RETURNS_NOT_RETAINED NS_RETURNS_INNER_POINTER NS_DESIGNATED_INITIALIZER NS_ENUM NS_OPTIONS NS_REQUIRES_NIL_TERMINATION NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_SWIFT_NAME NS_REFINED_FOR_SWIFT",A=k("int long char short double float unsigned signed void bool"),$=k("SEL instancetype id Class Protocol BOOL");function ue(g){return I(A,g)||/.+_t$/.test(g)}function O(g){return ue(g)||I($,g)}var w="case do else for if switch while struct enum union",M="struct enum union";function N(g,y){if(!y.startOfLine)return!1;for(var j,de=null;j=g.peek();){if(j=="\\"&&g.match(/^.$/)){de=N;break}else if(j=="/"&&g.match(/^\/[\/\*]/,!1))break;g.next()}return y.tokenize=de,"meta"}function z(g,y){return y.prevToken=="type"?"type":!1}function X(g){return!g||g.length<2||g[0]!="_"?!1:g[1]=="_"||g[1]!==g[1].toLowerCase()}function q(g){return g.eatWhile(/[\w\.']/),"number"}function p(g,y){if(g.backUp(1),g.match(/^(?:R|u8R|uR|UR|LR)/)){var j=g.match(/^"([^\s\\()]{0,16})\(/);return j?(y.cpp11RawStringDelim=j[1],y.tokenize=P,P(g,y)):!1}return g.match(/^(?:u8|u|U|L)/)?g.match(/^["']/,!1)?"string":!1:(g.next(),!1)}function W(g){var y=/(\w+)::~?(\w+)$/.exec(g);return y&&y[1]==y[2]}function J(g,y){for(var j;(j=g.next())!=null;)if(j=='"'&&!g.eat('"')){y.tokenize=null;break}return"string"}function P(g,y){var j=y.cpp11RawStringDelim.replace(/[^\w\s]/g,"\\$&"),de=g.match(new RegExp(".*?\\)"+j+'"'));return de?y.tokenize=null:g.skipToEnd(),"string"}function V(g,y){typeof g=="string"&&(g=[g]);var j=[];function de(d){if(d)for(var fe in d)d.hasOwnProperty(fe)&&j.push(fe)}de(y.keywords),de(y.types),de(y.builtin),de(y.atoms),j.length&&(y.helperType=g[0],b.registerHelper("hintWords",g[0],j));for(var v=0;v<g.length;++v)b.defineMIME(g[v],y)}V(["text/x-csrc","text/x-c","text/x-chdr"],{name:"clike",keywords:k(Y),types:ue,blockKeywords:k(w),defKeywords:k(M),typeFirstDefinitions:!0,atoms:k("NULL true false"),isReservedIdentifier:X,hooks:{"#":N,"*":z},modeProps:{fold:["brace","include"]}}),V(["text/x-c++src","text/x-c++hdr"],{name:"clike",keywords:k(Y+" "+ne),types:ue,blockKeywords:k(w+" class try catch"),defKeywords:k(M+" class namespace"),typeFirstDefinitions:!0,atoms:k("true false NULL nullptr"),dontIndentStatements:/^template$/,isIdentifierChar:/[\w\$_~\xa1-\uffff]/,isReservedIdentifier:X,hooks:{"#":N,"*":z,u:p,U:p,L:p,R:p,0:q,1:q,2:q,3:q,4:q,5:q,6:q,7:q,8:q,9:q,token:function(g,y,j){if(j=="variable"&&g.peek()=="("&&(y.prevToken==";"||y.prevToken==null||y.prevToken=="}")&&W(g.current()))return"def"}},namespaceSeparator:"::",modeProps:{fold:["brace","include"]}}),V("text/x-java",{name:"clike",keywords:k("abstract assert break case catch class const continue default do else enum extends final finally for goto if implements import instanceof interface native new package private protected public return static strictfp super switch synchronized this throw throws transient try volatile while @interface"),types:k("var byte short int long float double boolean char void Boolean Byte Character Double Float Integer Long Number Object Short String StringBuffer StringBuilder Void"),blockKeywords:k("catch class do else finally for if switch try while"),defKeywords:k("class interface enum @interface"),typeFirstDefinitions:!0,atoms:k("true false null"),number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+\.?\d*|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,hooks:{"@":function(g){return g.match("interface",!1)?!1:(g.eatWhile(/[\w\$_]/),"meta")},'"':function(g,y){return g.match(/""$/)?(y.tokenize=F,y.tokenize(g,y)):!1}},modeProps:{fold:["brace","import"]}}),V("text/x-csharp",{name:"clike",keywords:k("abstract as async await base break case catch checked class const continue default delegate do else enum event explicit extern finally fixed for foreach goto if implicit in init interface internal is lock namespace new operator out override params private protected public readonly record ref required return sealed sizeof stackalloc static struct switch this throw try typeof unchecked unsafe using virtual void volatile while add alias ascending descending dynamic from get global group into join let orderby partial remove select set value var yield"),types:k("Action Boolean Byte Char DateTime DateTimeOffset Decimal Double Func Guid Int16 Int32 Int64 Object SByte Single String Task TimeSpan UInt16 UInt32 UInt64 bool byte char decimal double short int long object sbyte float string ushort uint ulong"),blockKeywords:k("catch class do else finally for foreach if struct switch try while"),defKeywords:k("class interface namespace record struct var"),typeFirstDefinitions:!0,atoms:k("true false null"),hooks:{"@":function(g,y){return g.eat('"')?(y.tokenize=J,J(g,y)):(g.eatWhile(/[\w\$_]/),"meta")}}});function F(g,y){for(var j=!1;!g.eol();){if(!j&&g.match('"""')){y.tokenize=null;break}j=g.next()=="\\"&&!j}return"string"}function G(g){return function(y,j){for(var de;de=y.next();)if(de=="*"&&y.eat("/"))if(g==1){j.tokenize=null;break}else return j.tokenize=G(g-1),j.tokenize(y,j);else if(de=="/"&&y.eat("*"))return j.tokenize=G(g+1),j.tokenize(y,j);return"comment"}}V("text/x-scala",{name:"clike",keywords:k("abstract case catch class def do else extends final finally for forSome if implicit import lazy match new null object override package private protected return sealed super this throw trait try type val var while with yield _ assert assume require print println printf readLine readBoolean readByte readShort readChar readInt readLong readFloat readDouble"),types:k("AnyVal App Application Array BufferedIterator BigDecimal BigInt Char Console Either Enumeration Equiv Error Exception Fractional Function IndexedSeq Int Integral Iterable Iterator List Map Numeric Nil NotNull Option Ordered Ordering PartialFunction PartialOrdering Product Proxy Range Responder Seq Serializable Set Specializable Stream StringBuilder StringContext Symbol Throwable Traversable TraversableOnce Tuple Unit Vector Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void"),multiLineStrings:!0,blockKeywords:k("catch class enum do else finally for forSome if match switch try while"),defKeywords:k("class enum def object package trait type val var"),atoms:k("true false null"),indentStatements:!1,indentSwitch:!1,isOperatorChar:/[+\-*&%=<>!?|\/#:@]/,hooks:{"@":function(g){return g.eatWhile(/[\w\$_]/),"meta"},'"':function(g,y){return g.match('""')?(y.tokenize=F,y.tokenize(g,y)):!1},"'":function(g){return g.match(/^(\\[^'\s]+|[^\\'])'/)?"string-2":(g.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},"=":function(g,y){var j=y.context;return j.type=="}"&&j.align&&g.eat(">")?(y.context=new pe(j.indented,j.column,j.type,j.info,null,j.prev),"operator"):!1},"/":function(g,y){return g.eat("*")?(y.tokenize=G(1),y.tokenize(g,y)):!1}},modeProps:{closeBrackets:{pairs:'()[]{}""',triples:'"'}}});function c(g){return function(y,j){for(var de=!1,v,d=!1;!y.eol();){if(!g&&!de&&y.match('"')){d=!0;break}if(g&&y.match('"""')){d=!0;break}v=y.next(),!de&&v=="$"&&y.match("{")&&y.skipTo("}"),de=!de&&v=="\\"&&!g}return(d||!g)&&(j.tokenize=null),"string"}}V("text/x-kotlin",{name:"clike",keywords:k("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam value"),types:k("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,blockKeywords:k("catch class do else finally for if where try while enum"),defKeywords:k("class val var object interface fun"),atoms:k("true false null this"),hooks:{"@":function(g){return g.eatWhile(/[\w\$_]/),"meta"},"*":function(g,y){return y.prevToken=="."?"variable":"operator"},'"':function(g,y){return y.tokenize=c(g.match('""')),y.tokenize(g,y)},"/":function(g,y){return g.eat("*")?(y.tokenize=G(1),y.tokenize(g,y)):!1},indent:function(g,y,j,de){var v=j&&j.charAt(0);if((g.prevToken=="}"||g.prevToken==")")&&j=="")return g.indented;if(g.prevToken=="operator"&&j!="}"&&g.context.type!="}"||g.prevToken=="variable"&&v=="."||(g.prevToken=="}"||g.prevToken==")")&&v==".")return de*2+y.indented;if(y.align&&y.type=="}")return y.indented+(g.context.type==(j||"").charAt(0)?0:de)}},modeProps:{closeBrackets:{triples:'"'}}}),V(["x-shader/x-vertex","x-shader/x-fragment"],{name:"clike",keywords:k("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:k("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:k("for while do if else struct"),builtin:k("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:k("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TextureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":N},modeProps:{fold:["brace","include"]}}),V("text/x-nesc",{name:"clike",keywords:k(Y+" as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:ue,blockKeywords:k(w),atoms:k("null true false"),hooks:{"#":N},modeProps:{fold:["brace","include"]}}),V("text/x-objectivec",{name:"clike",keywords:k(Y+" "+S),types:O,builtin:k(R),blockKeywords:k(w+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:k(M+" @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:k("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:X,hooks:{"#":N,"*":z},modeProps:{fold:["brace","include"]}}),V("text/x-objectivec++",{name:"clike",keywords:k(Y+" "+S+" "+ne),types:O,builtin:k(R),blockKeywords:k(w+" @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:k(M+" @interface @implementation @protocol @class class namespace"),dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:k("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:X,hooks:{"#":N,"*":z,u:p,U:p,L:p,R:p,0:q,1:q,2:q,3:q,4:q,5:q,6:q,7:q,8:q,9:q,token:function(g,y,j){if(j=="variable"&&g.peek()=="("&&(y.prevToken==";"||y.prevToken==null||y.prevToken=="}")&&W(g.current()))return"def"}},namespaceSeparator:"::",modeProps:{fold:["brace","include"]}}),V("text/x-squirrel",{name:"clike",keywords:k("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:ue,blockKeywords:k("case catch class else for foreach if switch try while"),defKeywords:k("function local class"),typeFirstDefinitions:!0,atoms:k("true false null"),hooks:{"#":N},modeProps:{fold:["brace","include"]}});var T=null;function C(g){return function(y,j){for(var de=!1,v,d=!1;!y.eol();){if(!de&&y.match('"')&&(g=="single"||y.match('""'))){d=!0;break}if(!de&&y.match("``")){T=C(g),d=!0;break}v=y.next(),de=g=="single"&&!de&&v=="\\"}return d&&(j.tokenize=null),"string"}}V("text/x-ceylon",{name:"clike",keywords:k("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(g){var y=g.charAt(0);return y===y.toUpperCase()&&y!==y.toLowerCase()},blockKeywords:k("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:k("class dynamic function interface module object package value"),builtin:k("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:k("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(g){return g.eatWhile(/[\w\$_]/),"meta"},'"':function(g,y){return y.tokenize=C(g.match('""')?"triple":"single"),y.tokenize(g,y)},"`":function(g,y){return!T||!g.match("`")?!1:(y.tokenize=T,T=null,y.tokenize(g,y))},"'":function(g){return g.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},token:function(g,y,j){if((j=="variable"||j=="type")&&y.prevToken==".")return"variable-2"}},modeProps:{fold:["brace","import"],closeBrackets:{triples:'"'}}})})})()),Ta.exports}tf();var Da={exports:{}},Ma={exports:{}},Fa;function rf(){return Fa||(Fa=1,(function(ct,xt){(function(b){b(mt())})(function(b){b.modeInfo=[{name:"APL",mime:"text/apl",mode:"apl",ext:["dyalog","apl"]},{name:"PGP",mimes:["application/pgp","application/pgp-encrypted","application/pgp-keys","application/pgp-signature"],mode:"asciiarmor",ext:["asc","pgp","sig"]},{name:"ASN.1",mime:"text/x-ttcn-asn",mode:"asn.1",ext:["asn","asn1"]},{name:"Asterisk",mime:"text/x-asterisk",mode:"asterisk",file:/^extensions\.conf$/i},{name:"Brainfuck",mime:"text/x-brainfuck",mode:"brainfuck",ext:["b","bf"]},{name:"C",mime:"text/x-csrc",mode:"clike",ext:["c","h","ino"]},{name:"C++",mime:"text/x-c++src",mode:"clike",ext:["cpp","c++","cc","cxx","hpp","h++","hh","hxx"],alias:["cpp"]},{name:"Cobol",mime:"text/x-cobol",mode:"cobol",ext:["cob","cpy","cbl"]},{name:"C#",mime:"text/x-csharp",mode:"clike",ext:["cs"],alias:["csharp","cs"]},{name:"Clojure",mime:"text/x-clojure",mode:"clojure",ext:["clj","cljc","cljx"]},{name:"ClojureScript",mime:"text/x-clojurescript",mode:"clojure",ext:["cljs"]},{name:"Closure Stylesheets (GSS)",mime:"text/x-gss",mode:"css",ext:["gss"]},{name:"CMake",mime:"text/x-cmake",mode:"cmake",ext:["cmake","cmake.in"],file:/^CMakeLists\.txt$/},{name:"CoffeeScript",mimes:["application/vnd.coffeescript","text/coffeescript","text/x-coffeescript"],mode:"coffeescript",ext:["coffee"],alias:["coffee","coffee-script"]},{name:"Common Lisp",mime:"text/x-common-lisp",mode:"commonlisp",ext:["cl","lisp","el"],alias:["lisp"]},{name:"Cypher",mime:"application/x-cypher-query",mode:"cypher",ext:["cyp","cypher"]},{name:"Cython",mime:"text/x-cython",mode:"python",ext:["pyx","pxd","pxi"]},{name:"Crystal",mime:"text/x-crystal",mode:"crystal",ext:["cr"]},{name:"CSS",mime:"text/css",mode:"css",ext:["css"]},{name:"CQL",mime:"text/x-cassandra",mode:"sql",ext:["cql"]},{name:"D",mime:"text/x-d",mode:"d",ext:["d"]},{name:"Dart",mimes:["application/dart","text/x-dart"],mode:"dart",ext:["dart"]},{name:"diff",mime:"text/x-diff",mode:"diff",ext:["diff","patch"]},{name:"Django",mime:"text/x-django",mode:"django"},{name:"Dockerfile",mime:"text/x-dockerfile",mode:"dockerfile",file:/^Dockerfile$/},{name:"DTD",mime:"application/xml-dtd",mode:"dtd",ext:["dtd"]},{name:"Dylan",mime:"text/x-dylan",mode:"dylan",ext:["dylan","dyl","intr"]},{name:"EBNF",mime:"text/x-ebnf",mode:"ebnf"},{name:"ECL",mime:"text/x-ecl",mode:"ecl",ext:["ecl"]},{name:"edn",mime:"application/edn",mode:"clojure",ext:["edn"]},{name:"Eiffel",mime:"text/x-eiffel",mode:"eiffel",ext:["e"]},{name:"Elm",mime:"text/x-elm",mode:"elm",ext:["elm"]},{name:"Embedded JavaScript",mime:"application/x-ejs",mode:"htmlembedded",ext:["ejs"]},{name:"Embedded Ruby",mime:"application/x-erb",mode:"htmlembedded",ext:["erb"]},{name:"Erlang",mime:"text/x-erlang",mode:"erlang",ext:["erl"]},{name:"Esper",mime:"text/x-esper",mode:"sql"},{name:"Factor",mime:"text/x-factor",mode:"factor",ext:["factor"]},{name:"FCL",mime:"text/x-fcl",mode:"fcl"},{name:"Forth",mime:"text/x-forth",mode:"forth",ext:["forth","fth","4th"]},{name:"Fortran",mime:"text/x-fortran",mode:"fortran",ext:["f","for","f77","f90","f95"]},{name:"F#",mime:"text/x-fsharp",mode:"mllike",ext:["fs"],alias:["fsharp"]},{name:"Gas",mime:"text/x-gas",mode:"gas",ext:["s"]},{name:"Gherkin",mime:"text/x-feature",mode:"gherkin",ext:["feature"]},{name:"GitHub Flavored Markdown",mime:"text/x-gfm",mode:"gfm",file:/^(readme|contributing|history)\.md$/i},{name:"Go",mime:"text/x-go",mode:"go",ext:["go"]},{name:"Groovy",mime:"text/x-groovy",mode:"groovy",ext:["groovy","gradle"],file:/^Jenkinsfile$/},{name:"HAML",mime:"text/x-haml",mode:"haml",ext:["haml"]},{name:"Haskell",mime:"text/x-haskell",mode:"haskell",ext:["hs"]},{name:"Haskell (Literate)",mime:"text/x-literate-haskell",mode:"haskell-literate",ext:["lhs"]},{name:"Haxe",mime:"text/x-haxe",mode:"haxe",ext:["hx"]},{name:"HXML",mime:"text/x-hxml",mode:"haxe",ext:["hxml"]},{name:"ASP.NET",mime:"application/x-aspx",mode:"htmlembedded",ext:["aspx"],alias:["asp","aspx"]},{name:"HTML",mime:"text/html",mode:"htmlmixed",ext:["html","htm","handlebars","hbs"],alias:["xhtml"]},{name:"HTTP",mime:"message/http",mode:"http"},{name:"IDL",mime:"text/x-idl",mode:"idl",ext:["pro"]},{name:"Pug",mime:"text/x-pug",mode:"pug",ext:["jade","pug"],alias:["jade"]},{name:"Java",mime:"text/x-java",mode:"clike",ext:["java"]},{name:"Java Server Pages",mime:"application/x-jsp",mode:"htmlembedded",ext:["jsp"],alias:["jsp"]},{name:"JavaScript",mimes:["text/javascript","text/ecmascript","application/javascript","application/x-javascript","application/ecmascript"],mode:"javascript",ext:["js"],alias:["ecmascript","js","node"]},{name:"JSON",mimes:["application/json","application/x-json"],mode:"javascript",ext:["json","map"],alias:["json5"]},{name:"JSON-LD",mime:"application/ld+json",mode:"javascript",ext:["jsonld"],alias:["jsonld"]},{name:"JSX",mime:"text/jsx",mode:"jsx",ext:["jsx"]},{name:"Jinja2",mime:"text/jinja2",mode:"jinja2",ext:["j2","jinja","jinja2"]},{name:"Julia",mime:"text/x-julia",mode:"julia",ext:["jl"],alias:["jl"]},{name:"Kotlin",mime:"text/x-kotlin",mode:"clike",ext:["kt"]},{name:"LESS",mime:"text/x-less",mode:"css",ext:["less"]},{name:"LiveScript",mime:"text/x-livescript",mode:"livescript",ext:["ls"],alias:["ls"]},{name:"Lua",mime:"text/x-lua",mode:"lua",ext:["lua"]},{name:"Markdown",mime:"text/x-markdown",mode:"markdown",ext:["markdown","md","mkd"]},{name:"mIRC",mime:"text/mirc",mode:"mirc"},{name:"MariaDB SQL",mime:"text/x-mariadb",mode:"sql"},{name:"Mathematica",mime:"text/x-mathematica",mode:"mathematica",ext:["m","nb","wl","wls"]},{name:"Modelica",mime:"text/x-modelica",mode:"modelica",ext:["mo"]},{name:"MUMPS",mime:"text/x-mumps",mode:"mumps",ext:["mps"]},{name:"MS SQL",mime:"text/x-mssql",mode:"sql"},{name:"mbox",mime:"application/mbox",mode:"mbox",ext:["mbox"]},{name:"MySQL",mime:"text/x-mysql",mode:"sql"},{name:"Nginx",mime:"text/x-nginx-conf",mode:"nginx",file:/nginx.*\.conf$/i},{name:"NSIS",mime:"text/x-nsis",mode:"nsis",ext:["nsh","nsi"]},{name:"NTriples",mimes:["application/n-triples","application/n-quads","text/n-triples"],mode:"ntriples",ext:["nt","nq"]},{name:"Objective-C",mime:"text/x-objectivec",mode:"clike",ext:["m"],alias:["objective-c","objc"]},{name:"Objective-C++",mime:"text/x-objectivec++",mode:"clike",ext:["mm"],alias:["objective-c++","objc++"]},{name:"OCaml",mime:"text/x-ocaml",mode:"mllike",ext:["ml","mli","mll","mly"]},{name:"Octave",mime:"text/x-octave",mode:"octave",ext:["m"]},{name:"Oz",mime:"text/x-oz",mode:"oz",ext:["oz"]},{name:"Pascal",mime:"text/x-pascal",mode:"pascal",ext:["p","pas"]},{name:"PEG.js",mime:"null",mode:"pegjs",ext:["jsonld"]},{name:"Perl",mime:"text/x-perl",mode:"perl",ext:["pl","pm"]},{name:"PHP",mimes:["text/x-php","application/x-httpd-php","application/x-httpd-php-open"],mode:"php",ext:["php","php3","php4","php5","php7","phtml"]},{name:"Pig",mime:"text/x-pig",mode:"pig",ext:["pig"]},{name:"Plain Text",mime:"text/plain",mode:"null",ext:["txt","text","conf","def","list","log"]},{name:"PLSQL",mime:"text/x-plsql",mode:"sql",ext:["pls"]},{name:"PostgreSQL",mime:"text/x-pgsql",mode:"sql"},{name:"PowerShell",mime:"application/x-powershell",mode:"powershell",ext:["ps1","psd1","psm1"]},{name:"Properties files",mime:"text/x-properties",mode:"properties",ext:["properties","ini","in"],alias:["ini","properties"]},{name:"ProtoBuf",mime:"text/x-protobuf",mode:"protobuf",ext:["proto"]},{name:"Python",mime:"text/x-python",mode:"python",ext:["BUILD","bzl","py","pyw"],file:/^(BUCK|BUILD)$/},{name:"Puppet",mime:"text/x-puppet",mode:"puppet",ext:["pp"]},{name:"Q",mime:"text/x-q",mode:"q",ext:["q"]},{name:"R",mime:"text/x-rsrc",mode:"r",ext:["r","R"],alias:["rscript"]},{name:"reStructuredText",mime:"text/x-rst",mode:"rst",ext:["rst"],alias:["rst"]},{name:"RPM Changes",mime:"text/x-rpm-changes",mode:"rpm"},{name:"RPM Spec",mime:"text/x-rpm-spec",mode:"rpm",ext:["spec"]},{name:"Ruby",mime:"text/x-ruby",mode:"ruby",ext:["rb"],alias:["jruby","macruby","rake","rb","rbx"]},{name:"Rust",mime:"text/x-rustsrc",mode:"rust",ext:["rs"]},{name:"SAS",mime:"text/x-sas",mode:"sas",ext:["sas"]},{name:"Sass",mime:"text/x-sass",mode:"sass",ext:["sass"]},{name:"Scala",mime:"text/x-scala",mode:"clike",ext:["scala"]},{name:"Scheme",mime:"text/x-scheme",mode:"scheme",ext:["scm","ss"]},{name:"SCSS",mime:"text/x-scss",mode:"css",ext:["scss"]},{name:"Shell",mimes:["text/x-sh","application/x-sh"],mode:"shell",ext:["sh","ksh","bash"],alias:["bash","sh","zsh"],file:/^PKGBUILD$/},{name:"Sieve",mime:"application/sieve",mode:"sieve",ext:["siv","sieve"]},{name:"Slim",mimes:["text/x-slim","application/x-slim"],mode:"slim",ext:["slim"]},{name:"Smalltalk",mime:"text/x-stsrc",mode:"smalltalk",ext:["st"]},{name:"Smarty",mime:"text/x-smarty",mode:"smarty",ext:["tpl"]},{name:"Solr",mime:"text/x-solr",mode:"solr"},{name:"SML",mime:"text/x-sml",mode:"mllike",ext:["sml","sig","fun","smackspec"]},{name:"Soy",mime:"text/x-soy",mode:"soy",ext:["soy"],alias:["closure template"]},{name:"SPARQL",mime:"application/sparql-query",mode:"sparql",ext:["rq","sparql"],alias:["sparul"]},{name:"Spreadsheet",mime:"text/x-spreadsheet",mode:"spreadsheet",alias:["excel","formula"]},{name:"SQL",mime:"text/x-sql",mode:"sql",ext:["sql"]},{name:"SQLite",mime:"text/x-sqlite",mode:"sql"},{name:"Squirrel",mime:"text/x-squirrel",mode:"clike",ext:["nut"]},{name:"Stylus",mime:"text/x-styl",mode:"stylus",ext:["styl"]},{name:"Swift",mime:"text/x-swift",mode:"swift",ext:["swift"]},{name:"sTeX",mime:"text/x-stex",mode:"stex"},{name:"LaTeX",mime:"text/x-latex",mode:"stex",ext:["text","ltx","tex"],alias:["tex"]},{name:"SystemVerilog",mime:"text/x-systemverilog",mode:"verilog",ext:["v","sv","svh"]},{name:"Tcl",mime:"text/x-tcl",mode:"tcl",ext:["tcl"]},{name:"Textile",mime:"text/x-textile",mode:"textile",ext:["textile"]},{name:"TiddlyWiki",mime:"text/x-tiddlywiki",mode:"tiddlywiki"},{name:"Tiki wiki",mime:"text/tiki",mode:"tiki"},{name:"TOML",mime:"text/x-toml",mode:"toml",ext:["toml"]},{name:"Tornado",mime:"text/x-tornado",mode:"tornado"},{name:"troff",mime:"text/troff",mode:"troff",ext:["1","2","3","4","5","6","7","8","9"]},{name:"TTCN",mime:"text/x-ttcn",mode:"ttcn",ext:["ttcn","ttcn3","ttcnpp"]},{name:"TTCN_CFG",mime:"text/x-ttcn-cfg",mode:"ttcn-cfg",ext:["cfg"]},{name:"Turtle",mime:"text/turtle",mode:"turtle",ext:["ttl"]},{name:"TypeScript",mime:"application/typescript",mode:"javascript",ext:["ts"],alias:["ts"]},{name:"TypeScript-JSX",mime:"text/typescript-jsx",mode:"jsx",ext:["tsx"],alias:["tsx"]},{name:"Twig",mime:"text/x-twig",mode:"twig"},{name:"Web IDL",mime:"text/x-webidl",mode:"webidl",ext:["webidl"]},{name:"VB.NET",mime:"text/x-vb",mode:"vb",ext:["vb"]},{name:"VBScript",mime:"text/vbscript",mode:"vbscript",ext:["vbs"]},{name:"Velocity",mime:"text/velocity",mode:"velocity",ext:["vtl"]},{name:"Verilog",mime:"text/x-verilog",mode:"verilog",ext:["v"]},{name:"VHDL",mime:"text/x-vhdl",mode:"vhdl",ext:["vhd","vhdl"]},{name:"Vue.js Component",mimes:["script/x-vue","text/x-vue"],mode:"vue",ext:["vue"]},{name:"XML",mimes:["application/xml","text/xml"],mode:"xml",ext:["xml","xsl","xsd","svg"],alias:["rss","wsdl","xsd"]},{name:"XQuery",mime:"application/xquery",mode:"xquery",ext:["xy","xquery"]},{name:"Yacas",mime:"text/x-yacas",mode:"yacas",ext:["ys"]},{name:"YAML",mimes:["text/x-yaml","text/yaml"],mode:"yaml",ext:["yaml","yml"],alias:["yml"]},{name:"Z80",mime:"text/x-z80",mode:"z80",ext:["z80"]},{name:"mscgen",mime:"text/x-mscgen",mode:"mscgen",ext:["mscgen","mscin","msc"]},{name:"xu",mime:"text/x-xu",mode:"mscgen",ext:["xu"]},{name:"msgenny",mime:"text/x-msgenny",mode:"mscgen",ext:["msgenny"]},{name:"WebAssembly",mime:"text/webassembly",mode:"wast",ext:["wat","wast"]}];for(var pe=0;pe<b.modeInfo.length;pe++){var _=b.modeInfo[pe];_.mimes&&(_.mime=_.mimes[0])}b.findModeByMIME=function(te){te=te.toLowerCase();for(var oe=0;oe<b.modeInfo.length;oe++){var Q=b.modeInfo[oe];if(Q.mime==te)return Q;if(Q.mimes){for(var k=0;k<Q.mimes.length;k++)if(Q.mimes[k]==te)return Q}}if(/\+xml$/.test(te))return b.findModeByMIME("application/xml");if(/\+json$/.test(te))return b.findModeByMIME("application/json")},b.findModeByExtension=function(te){te=te.toLowerCase();for(var oe=0;oe<b.modeInfo.length;oe++){var Q=b.modeInfo[oe];if(Q.ext){for(var k=0;k<Q.ext.length;k++)if(Q.ext[k]==te)return Q}}},b.findModeByFileName=function(te){for(var oe=0;oe<b.modeInfo.length;oe++){var Q=b.modeInfo[oe];if(Q.file&&Q.file.test(te))return Q}var k=te.lastIndexOf("."),I=k>-1&&te.substring(k+1,te.length);if(I)return b.findModeByExtension(I)},b.findModeByName=function(te){te=te.toLowerCase();for(var oe=0;oe<b.modeInfo.length;oe++){var Q=b.modeInfo[oe];if(Q.name.toLowerCase()==te)return Q;if(Q.alias){for(var k=0;k<Q.alias.length;k++)if(Q.alias[k].toLowerCase()==te)return Q}}}})})()),Ma.exports}var Aa;function nf(){return Aa||(Aa=1,(function(ct,xt){(function(b){b(mt(),Ya(),rf())})(function(b){b.defineMode("markdown",function(pe,_){var te=b.getMode(pe,"text/html"),oe=te.name=="null";function Q(v){if(b.findModeByName){var d=b.findModeByName(v);d&&(v=d.mime||d.mimes[0])}var fe=b.getMode(pe,v);return fe.name=="null"?null:fe}_.highlightFormatting===void 0&&(_.highlightFormatting=!1),_.maxBlockquoteDepth===void 0&&(_.maxBlockquoteDepth=0),_.taskLists===void 0&&(_.taskLists=!1),_.strikethrough===void 0&&(_.strikethrough=!1),_.emoji===void 0&&(_.emoji=!1),_.fencedCodeBlockHighlighting===void 0&&(_.fencedCodeBlockHighlighting=!0),_.fencedCodeBlockDefaultMode===void 0&&(_.fencedCodeBlockDefaultMode="text/plain"),_.xml===void 0&&(_.xml=!0),_.tokenTypeOverrides===void 0&&(_.tokenTypeOverrides={});var k={header:"header",code:"comment",quote:"quote",list1:"variable-2",list2:"variable-3",list3:"keyword",hr:"hr",image:"image",imageAltText:"image-alt-text",imageMarker:"image-marker",formatting:"formatting",linkInline:"link",linkEmail:"link",linkText:"link",linkHref:"string",em:"em",strong:"strong",strikethrough:"strikethrough",emoji:"builtin"};for(var I in k)k.hasOwnProperty(I)&&_.tokenTypeOverrides[I]&&(k[I]=_.tokenTypeOverrides[I]);var Y=/^([*\-_])(?:\s*\1){2,}\s*$/,ne=/^(?:[*\-+]|^[0-9]+([.)]))\s+/,S=/^\[(x| )\](?=\s)/i,R=_.allowAtxHeaderWithoutSpace?/^(#+)/:/^(#+)(?: |$)/,A=/^ {0,3}(?:\={1,}|-{2,})\s*$/,$=/^[^#!\[\]*_\\<>` "'(~:]+/,ue=/^(~~~+|```+)[ \t]*([\w\/+#-]*)[^\n`]*$/,O=/^\s*\[[^\]]+?\]:.*$/,w=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E42\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC9\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDF3C-\uDF3E]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]/,M=" ";function N(v,d,fe){return d.f=d.inline=fe,fe(v,d)}function z(v,d,fe){return d.f=d.block=fe,fe(v,d)}function X(v){return!v||!/\S/.test(v.string)}function q(v){if(v.linkTitle=!1,v.linkHref=!1,v.linkText=!1,v.em=!1,v.strong=!1,v.strikethrough=!1,v.quote=0,v.indentedCode=!1,v.f==W){var d=oe;if(!d){var fe=b.innerMode(te,v.htmlState);d=fe.mode.name=="xml"&&fe.state.tagStart===null&&!fe.state.context&&fe.state.tokenize.isInText}d&&(v.f=F,v.block=p,v.htmlState=null)}return v.trailingSpace=0,v.trailingSpaceNewLine=!1,v.prevLine=v.thisLine,v.thisLine={stream:null},null}function p(v,d){var fe=v.column()===d.indentation,Te=X(d.prevLine.stream),le=d.indentedCode,xe=d.prevLine.hr,Me=d.list!==!1,Fe=(d.listStack[d.listStack.length-1]||0)+3;d.indentedCode=!1;var Ce=d.indentation;if(d.indentationDiff===null&&(d.indentationDiff=d.indentation,Me)){for(d.list=null;Ce<d.listStack[d.listStack.length-1];)d.listStack.pop(),d.listStack.length?d.indentation=d.listStack[d.listStack.length-1]:d.list=!1;d.list!==!1&&(d.indentationDiff=Ce-d.listStack[d.listStack.length-1])}var ve=!Te&&!xe&&!d.prevLine.header&&(!Me||!le)&&!d.prevLine.fencedCodeEnd,Oe=(d.list===!1||xe||Te)&&d.indentation<=Fe&&v.match(Y),qe=null;if(d.indentationDiff>=4&&(le||d.prevLine.fencedCodeEnd||d.prevLine.header||Te))return v.skipToEnd(),d.indentedCode=!0,k.code;if(v.eatSpace())return null;if(fe&&d.indentation<=Fe&&(qe=v.match(R))&&qe[1].length<=6)return d.quote=0,d.header=qe[1].length,d.thisLine.header=!0,_.highlightFormatting&&(d.formatting="header"),d.f=d.inline,P(d);if(d.indentation<=Fe&&v.eat(">"))return d.quote=fe?1:d.quote+1,_.highlightFormatting&&(d.formatting="quote"),v.eatSpace(),P(d);if(!Oe&&!d.setext&&fe&&d.indentation<=Fe&&(qe=v.match(ne))){var $e=qe[1]?"ol":"ul";return d.indentation=Ce+v.current().length,d.list=!0,d.quote=0,d.listStack.push(d.indentation),d.em=!1,d.strong=!1,d.code=!1,d.strikethrough=!1,_.taskLists&&v.match(S,!1)&&(d.taskList=!0),d.f=d.inline,_.highlightFormatting&&(d.formatting=["list","list-"+$e]),P(d)}else{if(fe&&d.indentation<=Fe&&(qe=v.match(ue,!0)))return d.quote=0,d.fencedEndRE=new RegExp(qe[1]+"+ *$"),d.localMode=_.fencedCodeBlockHighlighting&&Q(qe[2]||_.fencedCodeBlockDefaultMode),d.localMode&&(d.localState=b.startState(d.localMode)),d.f=d.block=J,_.highlightFormatting&&(d.formatting="code-block"),d.code=-1,P(d);if(d.setext||(!ve||!Me)&&!d.quote&&d.list===!1&&!d.code&&!Oe&&!O.test(v.string)&&(qe=v.lookAhead(1))&&(qe=qe.match(A)))return d.setext?(d.header=d.setext,d.setext=0,v.skipToEnd(),_.highlightFormatting&&(d.formatting="header")):(d.header=qe[0].charAt(0)=="="?1:2,d.setext=d.header),d.thisLine.header=!0,d.f=d.inline,P(d);if(Oe)return v.skipToEnd(),d.hr=!0,d.thisLine.hr=!0,k.hr;if(v.peek()==="[")return N(v,d,g)}return N(v,d,d.inline)}function W(v,d){var fe=te.token(v,d.htmlState);if(!oe){var Te=b.innerMode(te,d.htmlState);(Te.mode.name=="xml"&&Te.state.tagStart===null&&!Te.state.context&&Te.state.tokenize.isInText||d.md_inside&&v.current().indexOf(">")>-1)&&(d.f=F,d.block=p,d.htmlState=null)}return fe}function J(v,d){var fe=d.listStack[d.listStack.length-1]||0,Te=d.indentation<fe,le=fe+3;if(d.fencedEndRE&&d.indentation<=le&&(Te||v.match(d.fencedEndRE))){_.highlightFormatting&&(d.formatting="code-block");var xe;return Te||(xe=P(d)),d.localMode=d.localState=null,d.block=p,d.f=F,d.fencedEndRE=null,d.code=0,d.thisLine.fencedCodeEnd=!0,Te?z(v,d,d.block):xe}else return d.localMode?d.localMode.token(v,d.localState):(v.skipToEnd(),k.code)}function P(v){var d=[];if(v.formatting){d.push(k.formatting),typeof v.formatting=="string"&&(v.formatting=[v.formatting]);for(var fe=0;fe<v.formatting.length;fe++)d.push(k.formatting+"-"+v.formatting[fe]),v.formatting[fe]==="header"&&d.push(k.formatting+"-"+v.formatting[fe]+"-"+v.header),v.formatting[fe]==="quote"&&(!_.maxBlockquoteDepth||_.maxBlockquoteDepth>=v.quote?d.push(k.formatting+"-"+v.formatting[fe]+"-"+v.quote):d.push("error"))}if(v.taskOpen)return d.push("meta"),d.length?d.join(" "):null;if(v.taskClosed)return d.push("property"),d.length?d.join(" "):null;if(v.linkHref?d.push(k.linkHref,"url"):(v.strong&&d.push(k.strong),v.em&&d.push(k.em),v.strikethrough&&d.push(k.strikethrough),v.emoji&&d.push(k.emoji),v.linkText&&d.push(k.linkText),v.code&&d.push(k.code),v.image&&d.push(k.image),v.imageAltText&&d.push(k.imageAltText,"link"),v.imageMarker&&d.push(k.imageMarker)),v.header&&d.push(k.header,k.header+"-"+v.header),v.quote&&(d.push(k.quote),!_.maxBlockquoteDepth||_.maxBlockquoteDepth>=v.quote?d.push(k.quote+"-"+v.quote):d.push(k.quote+"-"+_.maxBlockquoteDepth)),v.list!==!1){var Te=(v.listStack.length-1)%3;Te?Te===1?d.push(k.list2):d.push(k.list3):d.push(k.list1)}return v.trailingSpaceNewLine?d.push("trailing-space-new-line"):v.trailingSpace&&d.push("trailing-space-"+(v.trailingSpace%2?"a":"b")),d.length?d.join(" "):null}function V(v,d){if(v.match($,!0))return P(d)}function F(v,d){var fe=d.text(v,d);if(typeof fe<"u")return fe;if(d.list)return d.list=null,P(d);if(d.taskList){var Te=v.match(S,!0)[1]===" ";return Te?d.taskOpen=!0:d.taskClosed=!0,_.highlightFormatting&&(d.formatting="task"),d.taskList=!1,P(d)}if(d.taskOpen=!1,d.taskClosed=!1,d.header&&v.match(/^#+$/,!0))return _.highlightFormatting&&(d.formatting="header"),P(d);var le=v.next();if(d.linkTitle){d.linkTitle=!1;var xe=le;le==="("&&(xe=")"),xe=(xe+"").replace(/([.?*+^\[\]\\(){}|-])/g,"\\$1");var Me="^\\s*(?:[^"+xe+"\\\\]+|\\\\\\\\|\\\\.)"+xe;if(v.match(new RegExp(Me),!0))return k.linkHref}if(le==="`"){var Fe=d.formatting;_.highlightFormatting&&(d.formatting="code"),v.eatWhile("`");var Ce=v.current().length;if(d.code==0&&(!d.quote||Ce==1))return d.code=Ce,P(d);if(Ce==d.code){var ve=P(d);return d.code=0,ve}else return d.formatting=Fe,P(d)}else if(d.code)return P(d);if(le==="\\"&&(v.next(),_.highlightFormatting)){var Oe=P(d),qe=k.formatting+"-escape";return Oe?Oe+" "+qe:qe}if(le==="!"&&v.match(/\[[^\]]*\] ?(?:\(|\[)/,!1))return d.imageMarker=!0,d.image=!0,_.highlightFormatting&&(d.formatting="image"),P(d);if(le==="["&&d.imageMarker&&v.match(/[^\]]*\](\(.*?\)| ?\[.*?\])/,!1))return d.imageMarker=!1,d.imageAltText=!0,_.highlightFormatting&&(d.formatting="image"),P(d);if(le==="]"&&d.imageAltText){_.highlightFormatting&&(d.formatting="image");var Oe=P(d);return d.imageAltText=!1,d.image=!1,d.inline=d.f=c,Oe}if(le==="["&&!d.image)return d.linkText&&v.match(/^.*?\]/)||(d.linkText=!0,_.highlightFormatting&&(d.formatting="link")),P(d);if(le==="]"&&d.linkText){_.highlightFormatting&&(d.formatting="link");var Oe=P(d);return d.linkText=!1,d.inline=d.f=v.match(/\(.*?\)| ?\[.*?\]/,!1)?c:F,Oe}if(le==="<"&&v.match(/^(https?|ftps?):\/\/(?:[^\\>]|\\.)+>/,!1)){d.f=d.inline=G,_.highlightFormatting&&(d.formatting="link");var Oe=P(d);return Oe?Oe+=" ":Oe="",Oe+k.linkInline}if(le==="<"&&v.match(/^[^> \\]+@(?:[^\\>]|\\.)+>/,!1)){d.f=d.inline=G,_.highlightFormatting&&(d.formatting="link");var Oe=P(d);return Oe?Oe+=" ":Oe="",Oe+k.linkEmail}if(_.xml&&le==="<"&&v.match(/^(!--|\?|!\[CDATA\[|[a-z][a-z0-9-]*(?:\s+[a-z_:.\-]+(?:\s*=\s*[^>]+)?)*\s*(?:>|$))/i,!1)){var $e=v.string.indexOf(">",v.pos);if($e!=-1){var dt=v.string.substring(v.start,$e);/markdown\s*=\s*('|"){0,1}1('|"){0,1}/.test(dt)&&(d.md_inside=!0)}return v.backUp(1),d.htmlState=b.startState(te),z(v,d,W)}if(_.xml&&le==="<"&&v.match(/^\/\w*?>/))return d.md_inside=!1,"tag";if(le==="*"||le==="_"){for(var Pe=1,_e=v.pos==1?" ":v.string.charAt(v.pos-2);Pe<3&&v.eat(le);)Pe++;var Ue=v.peek()||" ",et=!/\s/.test(Ue)&&(!w.test(Ue)||/\s/.test(_e)||w.test(_e)),we=!/\s/.test(_e)&&(!w.test(_e)||/\s/.test(Ue)||w.test(Ue)),Ie=null,E=null;if(Pe%2&&(!d.em&&et&&(le==="*"||!we||w.test(_e))?Ie=!0:d.em==le&&we&&(le==="*"||!et||w.test(Ue))&&(Ie=!1)),Pe>1&&(!d.strong&&et&&(le==="*"||!we||w.test(_e))?E=!0:d.strong==le&&we&&(le==="*"||!et||w.test(Ue))&&(E=!1)),E!=null||Ie!=null){_.highlightFormatting&&(d.formatting=Ie==null?"strong":E==null?"em":"strong em"),Ie===!0&&(d.em=le),E===!0&&(d.strong=le);var ve=P(d);return Ie===!1&&(d.em=!1),E===!1&&(d.strong=!1),ve}}else if(le===" "&&(v.eat("*")||v.eat("_"))){if(v.peek()===" ")return P(d);v.backUp(1)}if(_.strikethrough){if(le==="~"&&v.eatWhile(le)){if(d.strikethrough){_.highlightFormatting&&(d.formatting="strikethrough");var ve=P(d);return d.strikethrough=!1,ve}else if(v.match(/^[^\s]/,!1))return d.strikethrough=!0,_.highlightFormatting&&(d.formatting="strikethrough"),P(d)}else if(le===" "&&v.match("~~",!0)){if(v.peek()===" ")return P(d);v.backUp(2)}}if(_.emoji&&le===":"&&v.match(/^(?:[a-z_\d+][a-z_\d+-]*|\-[a-z_\d+][a-z_\d+-]*):/)){d.emoji=!0,_.highlightFormatting&&(d.formatting="emoji");var ee=P(d);return d.emoji=!1,ee}return le===" "&&(v.match(/^ +$/,!1)?d.trailingSpace++:d.trailingSpace&&(d.trailingSpaceNewLine=!0)),P(d)}function G(v,d){var fe=v.next();if(fe===">"){d.f=d.inline=F,_.highlightFormatting&&(d.formatting="link");var Te=P(d);return Te?Te+=" ":Te="",Te+k.linkInline}return v.match(/^[^>]+/,!0),k.linkInline}function c(v,d){if(v.eatSpace())return null;var fe=v.next();return fe==="("||fe==="["?(d.f=d.inline=C(fe==="("?")":"]"),_.highlightFormatting&&(d.formatting="link-string"),d.linkHref=!0,P(d)):"error"}var T={")":/^(?:[^\\\(\)]|\\.|\((?:[^\\\(\)]|\\.)*\))*?(?=\))/,"]":/^(?:[^\\\[\]]|\\.|\[(?:[^\\\[\]]|\\.)*\])*?(?=\])/};function C(v){return function(d,fe){var Te=d.next();if(Te===v){fe.f=fe.inline=F,_.highlightFormatting&&(fe.formatting="link-string");var le=P(fe);return fe.linkHref=!1,le}return d.match(T[v]),fe.linkHref=!0,P(fe)}}function g(v,d){return v.match(/^([^\]\\]|\\.)*\]:/,!1)?(d.f=y,v.next(),_.highlightFormatting&&(d.formatting="link"),d.linkText=!0,P(d)):N(v,d,F)}function y(v,d){if(v.match("]:",!0)){d.f=d.inline=j,_.highlightFormatting&&(d.formatting="link");var fe=P(d);return d.linkText=!1,fe}return v.match(/^([^\]\\]|\\.)+/,!0),k.linkText}function j(v,d){return v.eatSpace()?null:(v.match(/^[^\s]+/,!0),v.peek()===void 0?d.linkTitle=!0:v.match(/^(?:\s+(?:"(?:[^"\\]|\\.)+"|'(?:[^'\\]|\\.)+'|\((?:[^)\\]|\\.)+\)))?/,!0),d.f=d.inline=F,k.linkHref+" url")}var de={startState:function(){return{f:p,prevLine:{stream:null},thisLine:{stream:null},block:p,htmlState:null,indentation:0,inline:F,text:V,formatting:!1,linkText:!1,linkHref:!1,linkTitle:!1,code:0,em:!1,strong:!1,header:0,setext:0,hr:!1,taskList:!1,list:!1,listStack:[],quote:0,trailingSpace:0,trailingSpaceNewLine:!1,strikethrough:!1,emoji:!1,fencedEndRE:null}},copyState:function(v){return{f:v.f,prevLine:v.prevLine,thisLine:v.thisLine,block:v.block,htmlState:v.htmlState&&b.copyState(te,v.htmlState),indentation:v.indentation,localMode:v.localMode,localState:v.localMode?b.copyState(v.localMode,v.localState):null,inline:v.inline,text:v.text,formatting:!1,linkText:v.linkText,linkTitle:v.linkTitle,linkHref:v.linkHref,code:v.code,em:v.em,strong:v.strong,strikethrough:v.strikethrough,emoji:v.emoji,header:v.header,setext:v.setext,hr:v.hr,taskList:v.taskList,list:v.list,listStack:v.listStack.slice(0),quote:v.quote,indentedCode:v.indentedCode,trailingSpace:v.trailingSpace,trailingSpaceNewLine:v.trailingSpaceNewLine,md_inside:v.md_inside,fencedEndRE:v.fencedEndRE}},token:function(v,d){if(d.formatting=!1,v!=d.thisLine.stream){if(d.header=0,d.hr=!1,v.match(/^\s*$/,!0))return q(d),null;if(d.prevLine=d.thisLine,d.thisLine={stream:v},d.taskList=!1,d.trailingSpace=0,d.trailingSpaceNewLine=!1,!d.localState&&(d.f=d.block,d.f!=W)){var fe=v.match(/^\s*/,!0)[0].replace(/\t/g,M).length;if(d.indentation=fe,d.indentationDiff=null,fe>0)return null}}return d.f(v,d)},innerMode:function(v){return v.block==W?{state:v.htmlState,mode:te}:v.localState?{state:v.localState,mode:v.localMode}:{state:v,mode:de}},indent:function(v,d,fe){return v.block==W&&te.indent?te.indent(v.htmlState,d,fe):v.localState&&v.localMode.indent?v.localMode.indent(v.localState,d,fe):b.Pass},blankLine:q,getType:P,blockCommentStart:"<!--",blockCommentEnd:"-->",closeBrackets:"()[]{}''\"\"``",fold:"markdown"};return de},"xml"),b.defineMIME("text/markdown","markdown"),b.defineMIME("text/x-markdown","markdown")})})()),Da.exports}nf();var Na={exports:{}},Ea;function of(){return Ea||(Ea=1,(function(ct,xt){(function(b){b(mt())})(function(b){b.defineOption("placeholder","",function(I,Y,ne){var S=ne&&ne!=b.Init;if(Y&&!S)I.on("blur",oe),I.on("change",Q),I.on("swapDoc",Q),b.on(I.getInputField(),"compositionupdate",I.state.placeholderCompose=function(){te(I)}),Q(I);else if(!Y&&S){I.off("blur",oe),I.off("change",Q),I.off("swapDoc",Q),b.off(I.getInputField(),"compositionupdate",I.state.placeholderCompose),pe(I);var R=I.getWrapperElement();R.className=R.className.replace(" CodeMirror-empty","")}Y&&!I.hasFocus()&&oe(I)});function pe(I){I.state.placeholder&&(I.state.placeholder.parentNode.removeChild(I.state.placeholder),I.state.placeholder=null)}function _(I){pe(I);var Y=I.state.placeholder=document.createElement("pre");Y.style.cssText="height: 0; overflow: visible",Y.style.direction=I.getOption("direction"),Y.className="CodeMirror-placeholder CodeMirror-line-like";var ne=I.getOption("placeholder");typeof ne=="string"&&(ne=document.createTextNode(ne)),Y.appendChild(ne),I.display.lineSpace.insertBefore(Y,I.display.lineSpace.firstChild)}function te(I){setTimeout(function(){var Y=!1;if(I.lineCount()==1){var ne=I.getInputField();Y=ne.nodeName=="TEXTAREA"?!I.getLine(0).length:!/[^\u200b]/.test(ne.querySelector(".CodeMirror-line").textContent)}Y?_(I):pe(I)},20)}function oe(I){k(I)&&_(I)}function Q(I){var Y=I.getWrapperElement(),ne=k(I);Y.className=Y.className.replace(" CodeMirror-empty","")+(ne?" CodeMirror-empty":""),ne?_(I):pe(I)}function k(I){return I.lineCount()===1&&I.getLine(0)===""}})})()),Na.exports}of();var Oa={exports:{}},Pa;function lf(){return Pa||(Pa=1,(function(ct,xt){(function(b){b(mt())})(function(b){b.defineSimpleMode=function(S,R){b.defineMode(S,function(A){return b.simpleMode(A,R)})},b.simpleMode=function(S,R){pe(R,"start");var A={},$=R.meta||{},ue=!1;for(var O in R)if(O!=$&&R.hasOwnProperty(O))for(var w=A[O]=[],M=R[O],N=0;N<M.length;N++){var z=M[N];w.push(new oe(z,R)),(z.indent||z.dedent)&&(ue=!0)}var X={startState:function(){return{state:"start",pending:null,local:null,localState:null,indent:ue?[]:null}},copyState:function(p){var W={state:p.state,pending:p.pending,local:p.local,localState:null,indent:p.indent&&p.indent.slice(0)};p.localState&&(W.localState=b.copyState(p.local.mode,p.localState)),p.stack&&(W.stack=p.stack.slice(0));for(var J=p.persistentStates;J;J=J.next)W.persistentStates={mode:J.mode,spec:J.spec,state:J.state==p.localState?W.localState:b.copyState(J.mode,J.state),next:W.persistentStates};return W},token:Q(A,S),innerMode:function(p){return p.local&&{mode:p.local.mode,state:p.localState}},indent:ne(A,$)};if($)for(var q in $)$.hasOwnProperty(q)&&(X[q]=$[q]);return X};function pe(S,R){if(!S.hasOwnProperty(R))throw new Error("Undefined state "+R+" in simple mode")}function _(S,R){if(!S)return/(?:)/;var A="";return S instanceof RegExp?(S.ignoreCase&&(A="i"),S.unicode&&(A+="u"),S=S.source):S=String(S),new RegExp((R===!1?"":"^")+"(?:"+S+")",A)}function te(S){if(!S)return null;if(S.apply)return S;if(typeof S=="string")return S.replace(/\./g," ");for(var R=[],A=0;A<S.length;A++)R.push(S[A]&&S[A].replace(/\./g," "));return R}function oe(S,R){(S.next||S.push)&&pe(R,S.next||S.push),this.regex=_(S.regex),this.token=te(S.token),this.data=S}function Q(S,R){return function(A,$){if($.pending){var ue=$.pending.shift();return $.pending.length==0&&($.pending=null),A.pos+=ue.text.length,ue.token}if($.local)if($.local.end&&A.match($.local.end)){var O=$.local.endToken||null;return $.local=$.localState=null,O}else{var O=$.local.mode.token(A,$.localState),w;return $.local.endScan&&(w=$.local.endScan.exec(A.current()))&&(A.pos=A.start+w.index),O}for(var M=S[$.state],N=0;N<M.length;N++){var z=M[N],X=(!z.data.sol||A.sol())&&A.match(z.regex);if(X){z.data.next?$.state=z.data.next:z.data.push?(($.stack||($.stack=[])).push($.state),$.state=z.data.push):z.data.pop&&$.stack&&$.stack.length&&($.state=$.stack.pop()),z.data.mode&&I(R,$,z.data.mode,z.token),z.data.indent&&$.indent.push(A.indentation()+R.indentUnit),z.data.dedent&&$.indent.pop();var q=z.token;if(q&&q.apply&&(q=q(X)),X.length>2&&z.token&&typeof z.token!="string"){for(var p=2;p<X.length;p++)X[p]&&($.pending||($.pending=[])).push({text:X[p],token:z.token[p-1]});return A.backUp(X[0].length-(X[1]?X[1].length:0)),q[0]}else return q&&q.join?q[0]:q}}return A.next(),null}}function k(S,R){if(S===R)return!0;if(!S||typeof S!="object"||!R||typeof R!="object")return!1;var A=0;for(var $ in S)if(S.hasOwnProperty($)){if(!R.hasOwnProperty($)||!k(S[$],R[$]))return!1;A++}for(var $ in R)R.hasOwnProperty($)&&A--;return A==0}function I(S,R,A,$){var ue;if(A.persistent)for(var O=R.persistentStates;O&&!ue;O=O.next)(A.spec?k(A.spec,O.spec):A.mode==O.mode)&&(ue=O);var w=ue?ue.mode:A.mode||b.getMode(S,A.spec),M=ue?ue.state:b.startState(w);A.persistent&&!ue&&(R.persistentStates={mode:w,spec:A.spec,state:M,next:R.persistentStates}),R.localState=M,R.local={mode:w,end:A.end&&_(A.end),endScan:A.end&&A.forceEnd!==!1&&_(A.end,!1),endToken:$&&$.join?$[$.length-1]:$}}function Y(S,R){for(var A=0;A<R.length;A++)if(R[A]===S)return!0}function ne(S,R){return function(A,$,ue){if(A.local&&A.local.mode.indent)return A.local.mode.indent(A.localState,$,ue);if(A.indent==null||A.local||R.dontIndentStates&&Y(A.state,R.dontIndentStates)>-1)return b.Pass;var O=A.indent.length-1,w=S[A.state];e:for(;;){for(var M=0;M<w.length;M++){var N=w[M];if(N.data.dedent&&N.data.dedentIfLineStart!==!1){var z=N.regex.exec($);if(z&&z[0]){O--,(N.next||N.push)&&(w=S[N.next||N.push]),$=$.slice(z[0].length);continue e}}}break}return O<0?0:A.indent[O]}}})})()),Oa.exports}lf();var Ia={exports:{}},za;function af(){return za||(za=1,(function(ct,xt){(function(b){b(mt())})(function(b){var pe=/MSIE \d/.test(navigator.userAgent)&&(document.documentMode==null||document.documentMode<8),_=b.Pos,te={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<","<":">>",">":"<<"};function oe(S){return S&&S.bracketRegex||/[(){}[\]]/}function Q(S,R,A){var $=S.getLineHandle(R.line),ue=R.ch-1,O=A&&A.afterCursor;O==null&&(O=/(^| )cm-fat-cursor($| )/.test(S.getWrapperElement().className));var w=oe(A),M=!O&&ue>=0&&w.test($.text.charAt(ue))&&te[$.text.charAt(ue)]||w.test($.text.charAt(ue+1))&&te[$.text.charAt(++ue)];if(!M)return null;var N=M.charAt(1)==">"?1:-1;if(A&&A.strict&&N>0!=(ue==R.ch))return null;var z=S.getTokenTypeAt(_(R.line,ue+1)),X=k(S,_(R.line,ue+(N>0?1:0)),N,z,A);return X==null?null:{from:_(R.line,ue),to:X&&X.pos,match:X&&X.ch==M.charAt(0),forward:N>0}}function k(S,R,A,$,ue){for(var O=ue&&ue.maxScanLineLength||1e4,w=ue&&ue.maxScanLines||1e3,M=[],N=oe(ue),z=A>0?Math.min(R.line+w,S.lastLine()+1):Math.max(S.firstLine()-1,R.line-w),X=R.line;X!=z;X+=A){var q=S.getLine(X);if(q){var p=A>0?0:q.length-1,W=A>0?q.length:-1;if(!(q.length>O))for(X==R.line&&(p=R.ch-(A<0?1:0));p!=W;p+=A){var J=q.charAt(p);if(N.test(J)&&($===void 0||(S.getTokenTypeAt(_(X,p+1))||"")==($||""))){var P=te[J];if(P&&P.charAt(1)==">"==A>0)M.push(J);else if(M.length)M.pop();else return{pos:_(X,p),ch:J}}}}}return X-A==(A>0?S.lastLine():S.firstLine())?!1:null}function I(S,R,A){for(var $=S.state.matchBrackets.maxHighlightLineLength||1e3,ue=A&&A.highlightNonMatching,O=[],w=S.listSelections(),M=0;M<w.length;M++){var N=w[M].empty()&&Q(S,w[M].head,A);if(N&&(N.match||ue!==!1)&&S.getLine(N.from.line).length<=$){var z=N.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket";O.push(S.markText(N.from,_(N.from.line,N.from.ch+1),{className:z})),N.to&&S.getLine(N.to.line).length<=$&&O.push(S.markText(N.to,_(N.to.line,N.to.ch+1),{className:z}))}}if(O.length){pe&&S.state.focused&&S.focus();var X=function(){S.operation(function(){for(var q=0;q<O.length;q++)O[q].clear()})};if(R)setTimeout(X,800);else return X}}function Y(S){S.operation(function(){S.state.matchBrackets.currentlyHighlighted&&(S.state.matchBrackets.currentlyHighlighted(),S.state.matchBrackets.currentlyHighlighted=null),S.state.matchBrackets.currentlyHighlighted=I(S,!1,S.state.matchBrackets)})}function ne(S){S.state.matchBrackets&&S.state.matchBrackets.currentlyHighlighted&&(S.state.matchBrackets.currentlyHighlighted(),S.state.matchBrackets.currentlyHighlighted=null)}b.defineOption("matchBrackets",!1,function(S,R,A){A&&A!=b.Init&&(S.off("cursorActivity",Y),S.off("focus",Y),S.off("blur",ne),ne(S)),R&&(S.state.matchBrackets=typeof R=="object"?R:{},S.on("cursorActivity",Y),S.on("focus",Y),S.on("blur",ne))}),b.defineExtension("matchBrackets",function(){I(this,!0)}),b.defineExtension("findMatchingBracket",function(S,R,A){return(A||typeof R=="boolean")&&(A?(A.strict=R,R=A):R=R?{strict:!0}:null),Q(this,S,R)}),b.defineExtension("scanForBracket",function(S,R,A,$){return k(this,S,R,A,$)})})})()),Ia.exports}af();var Ba={exports:{}},Ra;function sf(){return Ra||(Ra=1,(function(ct,xt){(function(b){b(mt())})(function(b){var pe={pairs:`()[]{}''""`,closeBefore:`)]}'":;>`,triples:"",explode:"[]{}"},_=b.Pos;b.defineOption("autoCloseBrackets",!1,function(O,w,M){M&&M!=b.Init&&(O.removeKeyMap(oe),O.state.closeBrackets=null),w&&(Q(te(w,"pairs")),O.state.closeBrackets=w,O.addKeyMap(oe))});function te(O,w){return w=="pairs"&&typeof O=="string"?O:typeof O=="object"&&O[w]!=null?O[w]:pe[w]}var oe={Backspace:Y,Enter:ne};function Q(O){for(var w=0;w<O.length;w++){var M=O.charAt(w),N="'"+M+"'";oe[N]||(oe[N]=k(M))}}Q(pe.pairs+"`");function k(O){return function(w){return A(w,O)}}function I(O){var w=O.state.closeBrackets;if(!w||w.override)return w;var M=O.getModeAt(O.getCursor());return M.closeBrackets||w}function Y(O){var w=I(O);if(!w||O.getOption("disableInput"))return b.Pass;for(var M=te(w,"pairs"),N=O.listSelections(),z=0;z<N.length;z++){if(!N[z].empty())return b.Pass;var X=$(O,N[z].head);if(!X||M.indexOf(X)%2!=0)return b.Pass}for(var z=N.length-1;z>=0;z--){var q=N[z].head;O.replaceRange("",_(q.line,q.ch-1),_(q.line,q.ch+1),"+delete")}}function ne(O){var w=I(O),M=w&&te(w,"explode");if(!M||O.getOption("disableInput"))return b.Pass;for(var N=O.listSelections(),z=0;z<N.length;z++){if(!N[z].empty())return b.Pass;var X=$(O,N[z].head);if(!X||M.indexOf(X)%2!=0)return b.Pass}O.operation(function(){var q=O.lineSeparator()||`
25 -`;O.replaceSelection(q+q,null),S(O,-1),N=O.listSelections();for(var p=0;p<N.length;p++){var W=N[p].head.line;O.indentLine(W,null,!0),O.indentLine(W+1,null,!0)}})}function S(O,w){for(var M=[],N=O.listSelections(),z=0,X=0;X<N.length;X++){var q=N[X];q.head==O.getCursor()&&(z=X);var p=q.head.ch||w>0?{line:q.head.line,ch:q.head.ch+w}:{line:q.head.line-1};M.push({anchor:p,head:p})}O.setSelections(M,z)}function R(O){var w=b.cmpPos(O.anchor,O.head)>0;return{anchor:new _(O.anchor.line,O.anchor.ch+(w?-1:1)),head:new _(O.head.line,O.head.ch+(w?1:-1))}}function A(O,w){var M=I(O);if(!M||O.getOption("disableInput"))return b.Pass;var N=te(M,"pairs"),z=N.indexOf(w);if(z==-1)return b.Pass;for(var X=te(M,"closeBefore"),q=te(M,"triples"),p=N.charAt(z+1)==w,W=O.listSelections(),J=z%2==0,P,V=0;V<W.length;V++){var F=W[V],G=F.head,c,T=O.getRange(G,_(G.line,G.ch+1));if(J&&!F.empty())c="surround";else if((p||!J)&&T==w)p&&ue(O,G)?c="both":q.indexOf(w)>=0&&O.getRange(G,_(G.line,G.ch+3))==w+w+w?c="skipThree":c="skip";else if(p&&G.ch>1&&q.indexOf(w)>=0&&O.getRange(_(G.line,G.ch-2),G)==w+w){if(G.ch>2&&/\bstring/.test(O.getTokenTypeAt(_(G.line,G.ch-2))))return b.Pass;c="addFour"}else if(p){var C=G.ch==0?" ":O.getRange(_(G.line,G.ch-1),G);if(!b.isWordChar(T)&&C!=w&&!b.isWordChar(C))c="both";else return b.Pass}else if(J&&(T.length===0||/\s/.test(T)||X.indexOf(T)>-1))c="both";else return b.Pass;if(!P)P=c;else if(P!=c)return b.Pass}var g=z%2?N.charAt(z-1):w,y=z%2?w:N.charAt(z+1);O.operation(function(){if(P=="skip")S(O,1);else if(P=="skipThree")S(O,3);else if(P=="surround"){for(var j=O.getSelections(),de=0;de<j.length;de++)j[de]=g+j[de]+y;O.replaceSelections(j,"around"),j=O.listSelections().slice();for(var de=0;de<j.length;de++)j[de]=R(j[de]);O.setSelections(j)}else P=="both"?(O.replaceSelection(g+y,null),O.triggerElectric(g+y),S(O,-1)):P=="addFour"&&(O.replaceSelection(g+g+g+g,"before"),S(O,1))})}function $(O,w){var M=O.getRange(_(w.line,w.ch-1),_(w.line,w.ch+1));return M.length==2?M:null}function ue(O,w){var M=O.getTokenAt(_(w.line,w.ch+1));return/\bstring/.test(M.type)&&M.start==w.ch&&(w.ch==0||!/\bstring/.test(O.getTokenTypeAt(w)))}})})()),Ba.exports}sf();var Wa={exports:{}},Ha={exports:{}},_a;function Ja(){return _a||(_a=1,(function(ct,xt){(function(b){b(mt())})(function(b){var pe=b.Pos;function _(w){var M=w.flags;return M??(w.ignoreCase?"i":"")+(w.global?"g":"")+(w.multiline?"m":"")}function te(w,M){for(var N=_(w),z=N,X=0;X<M.length;X++)z.indexOf(M.charAt(X))==-1&&(z+=M.charAt(X));return N==z?w:new RegExp(w.source,z)}function oe(w){return/\\s|\\n|\n|\\W|\\D|\[\^/.test(w.source)}function Q(w,M,N){M=te(M,"g");for(var z=N.line,X=N.ch,q=w.lastLine();z<=q;z++,X=0){M.lastIndex=X;var p=w.getLine(z),W=M.exec(p);if(W)return{from:pe(z,W.index),to:pe(z,W.index+W[0].length),match:W}}}function k(w,M,N){if(!oe(M))return Q(w,M,N);M=te(M,"gm");for(var z,X=1,q=N.line,p=w.lastLine();q<=p;){for(var W=0;W<X&&!(q>p);W++){var J=w.getLine(q++);z=z==null?J:z+`
26 -`+J}X=X*2,M.lastIndex=N.ch;var P=M.exec(z);if(P){var V=z.slice(0,P.index).split(`
27 -`),F=P[0].split(`
28 -`),G=N.line+V.length-1,c=V[V.length-1].length;return{from:pe(G,c),to:pe(G+F.length-1,F.length==1?c+F[0].length:F[F.length-1].length),match:P}}}}function I(w,M,N){for(var z,X=0;X<=w.length;){M.lastIndex=X;var q=M.exec(w);if(!q)break;var p=q.index+q[0].length;if(p>w.length-N)break;(!z||p>z.index+z[0].length)&&(z=q),X=q.index+1}return z}function Y(w,M,N){M=te(M,"g");for(var z=N.line,X=N.ch,q=w.firstLine();z>=q;z--,X=-1){var p=w.getLine(z),W=I(p,M,X<0?0:p.length-X);if(W)return{from:pe(z,W.index),to:pe(z,W.index+W[0].length),match:W}}}function ne(w,M,N){if(!oe(M))return Y(w,M,N);M=te(M,"gm");for(var z,X=1,q=w.getLine(N.line).length-N.ch,p=N.line,W=w.firstLine();p>=W;){for(var J=0;J<X&&p>=W;J++){var P=w.getLine(p--);z=z==null?P:P+`
29 -`+z}X*=2;var V=I(z,M,q);if(V){var F=z.slice(0,V.index).split(`
30 -`),G=V[0].split(`
31 -`),c=p+F.length,T=F[F.length-1].length;return{from:pe(c,T),to:pe(c+G.length-1,G.length==1?T+G[0].length:G[G.length-1].length),match:V}}}}var S,R;String.prototype.normalize?(S=function(w){return w.normalize("NFD").toLowerCase()},R=function(w){return w.normalize("NFD")}):(S=function(w){return w.toLowerCase()},R=function(w){return w});function A(w,M,N,z){if(w.length==M.length)return N;for(var X=0,q=N+Math.max(0,w.length-M.length);;){if(X==q)return X;var p=X+q>>1,W=z(w.slice(0,p)).length;if(W==N)return p;W>N?q=p:X=p+1}}function $(w,M,N,z){if(!M.length)return null;var X=z?S:R,q=X(M).split(/\r|\n\r?/);e:for(var p=N.line,W=N.ch,J=w.lastLine()+1-q.length;p<=J;p++,W=0){var P=w.getLine(p).slice(W),V=X(P);if(q.length==1){var F=V.indexOf(q[0]);if(F==-1)continue e;var N=A(P,V,F,X)+W;return{from:pe(p,A(P,V,F,X)+W),to:pe(p,A(P,V,F+q[0].length,X)+W)}}else{var G=V.length-q[0].length;if(V.slice(G)!=q[0])continue e;for(var c=1;c<q.length-1;c++)if(X(w.getLine(p+c))!=q[c])continue e;var T=w.getLine(p+q.length-1),C=X(T),g=q[q.length-1];if(C.slice(0,g.length)!=g)continue e;return{from:pe(p,A(P,V,G,X)+W),to:pe(p+q.length-1,A(T,C,g.length,X))}}}}function ue(w,M,N,z){if(!M.length)return null;var X=z?S:R,q=X(M).split(/\r|\n\r?/);e:for(var p=N.line,W=N.ch,J=w.firstLine()-1+q.length;p>=J;p--,W=-1){var P=w.getLine(p);W>-1&&(P=P.slice(0,W));var V=X(P);if(q.length==1){var F=V.lastIndexOf(q[0]);if(F==-1)continue e;return{from:pe(p,A(P,V,F,X)),to:pe(p,A(P,V,F+q[0].length,X))}}else{var G=q[q.length-1];if(V.slice(0,G.length)!=G)continue e;for(var c=1,N=p-q.length+1;c<q.length-1;c++)if(X(w.getLine(N+c))!=q[c])continue e;var T=w.getLine(p+1-q.length),C=X(T);if(C.slice(C.length-q[0].length)!=q[0])continue e;return{from:pe(p+1-q.length,A(T,C,T.length-q[0].length,X)),to:pe(p,A(P,V,G.length,X))}}}}function O(w,M,N,z){this.atOccurrence=!1,this.afterEmptyMatch=!1,this.doc=w,N=N?w.clipPos(N):pe(0,0),this.pos={from:N,to:N};var X;typeof z=="object"?X=z.caseFold:(X=z,z=null),typeof M=="string"?(X==null&&(X=!1),this.matches=function(q,p){return(q?ue:$)(w,M,p,X)}):(M=te(M,"gm"),!z||z.multiline!==!1?this.matches=function(q,p){return(q?ne:k)(w,M,p)}:this.matches=function(q,p){return(q?Y:Q)(w,M,p)})}O.prototype={findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(w){var M=this.doc.clipPos(w?this.pos.from:this.pos.to);if(this.afterEmptyMatch&&this.atOccurrence&&(M=pe(M.line,M.ch),w?(M.ch--,M.ch<0&&(M.line--,M.ch=(this.doc.getLine(M.line)||"").length)):(M.ch++,M.ch>(this.doc.getLine(M.line)||"").length&&(M.ch=0,M.line++)),b.cmpPos(M,this.doc.clipPos(M))!=0))return this.atOccurrence=!1;var N=this.matches(w,M);if(this.afterEmptyMatch=N&&b.cmpPos(N.from,N.to)==0,N)return this.pos=N,this.atOccurrence=!0,this.pos.match||!0;var z=pe(w?this.doc.firstLine():this.doc.lastLine()+1,0);return this.pos={from:z,to:z},this.atOccurrence=!1},from:function(){if(this.atOccurrence)return this.pos.from},to:function(){if(this.atOccurrence)return this.pos.to},replace:function(w,M){if(this.atOccurrence){var N=b.splitLines(w);this.doc.replaceRange(N,this.pos.from,this.pos.to,M),this.pos.to=pe(this.pos.from.line+N.length-1,N[N.length-1].length+(N.length==1?this.pos.from.ch:0))}}},b.defineExtension("getSearchCursor",function(w,M,N){return new O(this.doc,w,M,N)}),b.defineDocExtension("getSearchCursor",function(w,M,N){return new O(this,w,M,N)}),b.defineExtension("selectMatches",function(w,M){for(var N=[],z=this.getSearchCursor(w,this.getCursor("from"),M);z.findNext()&&!(b.cmpPos(z.to(),this.getCursor("to"))>0);)N.push({anchor:z.from(),head:z.to()});N.length&&this.setSelections(N,0)})})})()),Ha.exports}var qa={exports:{}},ja;function po(){return ja||(ja=1,(function(ct,xt){(function(b){b(mt())})(function(b){function pe(te,oe,Q){var k=te.getWrapperElement(),I;return I=k.appendChild(document.createElement("div")),Q?I.className="CodeMirror-dialog CodeMirror-dialog-bottom":I.className="CodeMirror-dialog CodeMirror-dialog-top",typeof oe=="string"?I.innerHTML=oe:I.appendChild(oe),b.addClass(k,"dialog-opened"),I}function _(te,oe){te.state.currentNotificationClose&&te.state.currentNotificationClose(),te.state.currentNotificationClose=oe}b.defineExtension("openDialog",function(te,oe,Q){Q||(Q={}),_(this,null);var k=pe(this,te,Q.bottom),I=!1,Y=this;function ne(A){if(typeof A=="string")S.value=A;else{if(I)return;I=!0,b.rmClass(k.parentNode,"dialog-opened"),k.parentNode.removeChild(k),Y.focus(),Q.onClose&&Q.onClose(k)}}var S=k.getElementsByTagName("input")[0],R;return S?(S.focus(),Q.value&&(S.value=Q.value,Q.selectValueOnOpen!==!1&&S.select()),Q.onInput&&b.on(S,"input",function(A){Q.onInput(A,S.value,ne)}),Q.onKeyUp&&b.on(S,"keyup",function(A){Q.onKeyUp(A,S.value,ne)}),b.on(S,"keydown",function(A){Q&&Q.onKeyDown&&Q.onKeyDown(A,S.value,ne)||((A.keyCode==27||Q.closeOnEnter!==!1&&A.keyCode==13)&&(S.blur(),b.e_stop(A),ne()),A.keyCode==13&&oe(S.value,A))}),Q.closeOnBlur!==!1&&b.on(k,"focusout",function(A){A.relatedTarget!==null&&ne()})):(R=k.getElementsByTagName("button")[0])&&(b.on(R,"click",function(){ne(),Y.focus()}),Q.closeOnBlur!==!1&&b.on(R,"blur",ne),R.focus()),ne}),b.defineExtension("openConfirm",function(te,oe,Q){_(this,null);var k=pe(this,te,Q&&Q.bottom),I=k.getElementsByTagName("button"),Y=!1,ne=this,S=1;function R(){Y||(Y=!0,b.rmClass(k.parentNode,"dialog-opened"),k.parentNode.removeChild(k),ne.focus())}I[0].focus();for(var A=0;A<I.length;++A){var $=I[A];(function(ue){b.on($,"click",function(O){b.e_preventDefault(O),R(),ue&&ue(ne)})})(oe[A]),b.on($,"blur",function(){--S,setTimeout(function(){S<=0&&R()},200)}),b.on($,"focus",function(){++S})}}),b.defineExtension("openNotification",function(te,oe){_(this,ne);var Q=pe(this,te,oe&&oe.bottom),k=!1,I,Y=oe&&typeof oe.duration<"u"?oe.duration:5e3;function ne(){k||(k=!0,clearTimeout(I),b.rmClass(Q.parentNode,"dialog-opened"),Q.parentNode.removeChild(Q))}return b.on(Q,"click",function(S){b.e_preventDefault(S),ne()}),Y&&(I=setTimeout(ne,Y)),ne})})})()),qa.exports}var Ka;function uf(){return Ka||(Ka=1,(function(ct,xt){(function(b){b(mt(),Ja(),po())})(function(b){b.defineOption("search",{bottom:!1});function pe(p,W){return typeof p=="string"?p=new RegExp(p.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),W?"gi":"g"):p.global||(p=new RegExp(p.source,p.ignoreCase?"gi":"g")),{token:function(J){p.lastIndex=J.pos;var P=p.exec(J.string);if(P&&P.index==J.pos)return J.pos+=P[0].length||1,"searching";P?J.pos=P.index:J.skipToEnd()}}}function _(){this.posFrom=this.posTo=this.lastQuery=this.query=null,this.overlay=null}function te(p){return p.state.search||(p.state.search=new _)}function oe(p){return typeof p=="string"&&p==p.toLowerCase()}function Q(p,W,J){return p.getSearchCursor(W,J,{caseFold:oe(W),multiline:!0})}function k(p,W,J,P,V){p.openDialog(W,P,{value:J,selectValueOnOpen:!0,closeOnEnter:!1,onClose:function(){ue(p)},onKeyDown:V,bottom:p.options.search.bottom})}function I(p,W,J,P,V){p.openDialog?p.openDialog(W,V,{value:P,selectValueOnOpen:!0,bottom:p.options.search.bottom}):V(prompt(J,P))}function Y(p,W,J,P){p.openConfirm?p.openConfirm(W,P):confirm(J)&&P[0]()}function ne(p){return p.replace(/\\([nrt\\])/g,function(W,J){return J=="n"?`
32 -`:J=="r"?"\r":J=="t"?" ":J=="\\"?"\\":W})}function S(p){var W=p.match(/^\/(.*)\/([a-z]*)$/);if(W)try{p=new RegExp(W[1],W[2].indexOf("i")==-1?"":"i")}catch{}else p=ne(p);return(typeof p=="string"?p=="":p.test(""))&&(p=/x^/),p}function R(p,W,J){W.queryText=J,W.query=S(J),p.removeOverlay(W.overlay,oe(W.query)),W.overlay=pe(W.query,oe(W.query)),p.addOverlay(W.overlay),p.showMatchesOnScrollbar&&(W.annotate&&(W.annotate.clear(),W.annotate=null),W.annotate=p.showMatchesOnScrollbar(W.query,oe(W.query)))}function A(p,W,J,P){var V=te(p);if(V.query)return $(p,W);var F=p.getSelection()||V.lastQuery;if(F instanceof RegExp&&F.source=="x^"&&(F=null),J&&p.openDialog){var G=null,c=function(T,C){b.e_stop(C),T&&(T!=V.queryText&&(R(p,V,T),V.posFrom=V.posTo=p.getCursor()),G&&(G.style.opacity=1),$(p,C.shiftKey,function(g,y){var j;y.line<3&&document.querySelector&&(j=p.display.wrapper.querySelector(".CodeMirror-dialog"))&&j.getBoundingClientRect().bottom-4>p.cursorCoords(y,"window").top&&((G=j).style.opacity=.4)}))};k(p,w(p),F,c,function(T,C){var g=b.keyName(T),y=p.getOption("extraKeys"),j=y&&y[g]||b.keyMap[p.getOption("keyMap")][g];j=="findNext"||j=="findPrev"||j=="findPersistentNext"||j=="findPersistentPrev"?(b.e_stop(T),R(p,te(p),C),p.execCommand(j)):(j=="find"||j=="findPersistent")&&(b.e_stop(T),c(C,T))}),P&&F&&(R(p,V,F),$(p,W))}else I(p,w(p),"Search for:",F,function(T){T&&!V.query&&p.operation(function(){R(p,V,T),V.posFrom=V.posTo=p.getCursor(),$(p,W)})})}function $(p,W,J){p.operation(function(){var P=te(p),V=Q(p,P.query,W?P.posFrom:P.posTo);!V.find(W)&&(V=Q(p,P.query,W?b.Pos(p.lastLine()):b.Pos(p.firstLine(),0)),!V.find(W))||(p.setSelection(V.from(),V.to()),p.scrollIntoView({from:V.from(),to:V.to()},20),P.posFrom=V.from(),P.posTo=V.to(),J&&J(V.from(),V.to()))})}function ue(p){p.operation(function(){var W=te(p);W.lastQuery=W.query,W.query&&(W.query=W.queryText=null,p.removeOverlay(W.overlay),W.annotate&&(W.annotate.clear(),W.annotate=null))})}function O(p,W){var J=p?document.createElement(p):document.createDocumentFragment();for(var P in W)J[P]=W[P];for(var V=2;V<arguments.length;V++){var F=arguments[V];J.appendChild(typeof F=="string"?document.createTextNode(F):F)}return J}function w(p){var W=O("label",{className:"CodeMirror-search-label"},p.phrase("Search:"),O("input",{type:"text",style:"width: 10em",className:"CodeMirror-search-field",id:"CodeMirror-search-field"}));return W.setAttribute("for","CodeMirror-search-field"),O("",null,W," ",O("span",{style:"color: #666",className:"CodeMirror-search-hint"},p.phrase("(Use /re/ syntax for regexp search)")))}function M(p){return O("",null," ",O("input",{type:"text",style:"width: 10em",className:"CodeMirror-search-field"})," ",O("span",{style:"color: #666",className:"CodeMirror-search-hint"},p.phrase("(Use /re/ syntax for regexp search)")))}function N(p){return O("",null,O("span",{className:"CodeMirror-search-label"},p.phrase("With:"))," ",O("input",{type:"text",style:"width: 10em",className:"CodeMirror-search-field"}))}function z(p){return O("",null,O("span",{className:"CodeMirror-search-label"},p.phrase("Replace?"))," ",O("button",{},p.phrase("Yes"))," ",O("button",{},p.phrase("No"))," ",O("button",{},p.phrase("All"))," ",O("button",{},p.phrase("Stop")))}function X(p,W,J){p.operation(function(){for(var P=Q(p,W);P.findNext();)if(typeof W!="string"){var V=p.getRange(P.from(),P.to()).match(W);P.replace(J.replace(/\$(\d)/g,function(F,G){return V[G]}))}else P.replace(J)})}function q(p,W){if(!p.getOption("readOnly")){var J=p.getSelection()||te(p).lastQuery,P=W?p.phrase("Replace all:"):p.phrase("Replace:"),V=O("",null,O("span",{className:"CodeMirror-search-label"},P),M(p));I(p,V,P,J,function(F){F&&(F=S(F),I(p,N(p),p.phrase("Replace with:"),"",function(G){if(G=ne(G),W)X(p,F,G);else{ue(p);var c=Q(p,F,p.getCursor("from")),T=function(){var g=c.from(),y;!(y=c.findNext())&&(c=Q(p,F),!(y=c.findNext())||g&&c.from().line==g.line&&c.from().ch==g.ch)||(p.setSelection(c.from(),c.to()),p.scrollIntoView({from:c.from(),to:c.to()}),Y(p,z(p),p.phrase("Replace?"),[function(){C(y)},T,function(){X(p,F,G)}]))},C=function(g){c.replace(typeof F=="string"?G:G.replace(/\$(\d)/g,function(y,j){return g[j]})),T()};T()}}))})}}b.commands.find=function(p){ue(p),A(p)},b.commands.findPersistent=function(p){ue(p),A(p,!1,!0)},b.commands.findPersistentNext=function(p){A(p,!1,!0,!0)},b.commands.findPersistentPrev=function(p){A(p,!0,!0,!0)},b.commands.findNext=A,b.commands.findPrev=function(p){A(p,!0)},b.commands.clearSearch=ue,b.commands.replace=q,b.commands.replaceAll=function(p){q(p,!0)}})})()),Wa.exports}uf();Ja();var Ua={exports:{}},Ga;function ff(){return Ga||(Ga=1,(function(ct,xt){(function(b){b(mt(),po())})(function(b){b.defineOption("search",{bottom:!1});function pe(oe,Q,k,I,Y){oe.openDialog?oe.openDialog(Q,Y,{value:I,selectValueOnOpen:!0,bottom:oe.options.search.bottom}):Y(prompt(k,I))}function _(oe){return oe.phrase("Jump to line:")+' <input type="text" style="width: 10em" class="CodeMirror-search-field"/> <span style="color: #888" class="CodeMirror-search-hint">'+oe.phrase("(Use line:column or scroll% syntax)")+"</span>"}function te(oe,Q){var k=Number(Q);return/^[-+]/.test(Q)?oe.getCursor().line+k:k-1}b.commands.jumpToLine=function(oe){var Q=oe.getCursor();pe(oe,_(oe),oe.phrase("Jump to line:"),Q.line+1+":"+Q.ch,function(k){if(k){var I;if(I=/^\s*([\+\-]?\d+)\s*\:\s*(\d+)\s*$/.exec(k))oe.setCursor(te(oe,I[1]),Number(I[2]));else if(I=/^\s*([\+\-]?\d+(\.\d+)?)\%\s*/.exec(k)){var Y=Math.round(oe.lineCount()*Number(I[1])/100);/^[-+]/.test(I[1])&&(Y=Q.line+Y+1),oe.setCursor(Y-1,Q.ch)}else(I=/^\s*\:?\s*([\+\-]?\d+)\s*/.exec(k))&&oe.setCursor(te(oe,I[1]),Q.ch)}})},b.keyMap.default["Alt-G"]="jumpToLine"})})()),Ua.exports}ff();po();export{hf as default};
node_modules/playwright-core/lib/vite/traceViewer/assets/defaultSettingsView-D31xz8zv.js deleted
-262
@@ -1,262 +0,0 @@
1 -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./codeMirrorModule-Ds_H_9Yq.js","./urlMatch-BYQrIQwR.js","../codeMirrorModule.DYBRYzYX.css"])))=>i.map(i=>d[i]);
2 -import{i as rx}from"./urlMatch-BYQrIQwR.js";function ax(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var nh={exports:{}},ja={};/**
3 - * @license React
4 - * react-jsx-runtime.production.js
5 - *
6 - * Copyright (c) Meta Platforms, Inc. and affiliates.
7 - *
8 - * This source code is licensed under the MIT license found in the
9 - * LICENSE file in the root directory of this source tree.
10 - */var Vy;function lx(){if(Vy)return ja;Vy=1;var n=Symbol.for("react.transitional.element"),e=Symbol.for("react.fragment");function i(r,l,o){var u=null;if(o!==void 0&&(u=""+o),l.key!==void 0&&(u=""+l.key),"key"in l){o={};for(var f in l)f!=="key"&&(o[f]=l[f])}else o=l;return l=o.ref,{$$typeof:n,type:r,key:u,ref:l!==void 0?l:null,props:o}}return ja.Fragment=e,ja.jsx=i,ja.jsxs=i,ja}var Gy;function ox(){return Gy||(Gy=1,nh.exports=lx()),nh.exports}var v=ox(),ih={exports:{}},ce={};/**
11 - * @license React
12 - * react.production.js
13 - *
14 - * Copyright (c) Meta Platforms, Inc. and affiliates.
15 - *
16 - * This source code is licensed under the MIT license found in the
17 - * LICENSE file in the root directory of this source tree.
18 - */var Ky;function cx(){if(Ky)return ce;Ky=1;var n=Symbol.for("react.transitional.element"),e=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),l=Symbol.for("react.profiler"),o=Symbol.for("react.consumer"),u=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),g=Symbol.for("react.memo"),b=Symbol.for("react.lazy"),m=Symbol.for("react.activity"),S=Symbol.iterator;function w(M){return M===null||typeof M!="object"?null:(M=S&&M[S]||M["@@iterator"],typeof M=="function"?M:null)}var E={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},x=Object.assign,_={};function A(M,Y,Z){this.props=M,this.context=Y,this.refs=_,this.updater=Z||E}A.prototype.isReactComponent={},A.prototype.setState=function(M,Y){if(typeof M!="object"&&typeof M!="function"&&M!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,M,Y,"setState")},A.prototype.forceUpdate=function(M){this.updater.enqueueForceUpdate(this,M,"forceUpdate")};function N(){}N.prototype=A.prototype;function $(M,Y,Z){this.props=M,this.context=Y,this.refs=_,this.updater=Z||E}var G=$.prototype=new N;G.constructor=$,x(G,A.prototype),G.isPureReactComponent=!0;var X=Array.isArray;function U(){}var L={H:null,A:null,T:null,S:null},B=Object.prototype.hasOwnProperty;function O(M,Y,Z){var P=Z.ref;return{$$typeof:n,type:M,key:Y,ref:P!==void 0?P:null,props:Z}}function ne(M,Y){return O(M.type,Y,M.props)}function te(M){return typeof M=="object"&&M!==null&&M.$$typeof===n}function V(M){var Y={"=":"=0",":":"=2"};return"$"+M.replace(/[=:]/g,function(Z){return Y[Z]})}var W=/\/+/g;function ge(M,Y){return typeof M=="object"&&M!==null&&M.key!=null?V(""+M.key):Y.toString(36)}function Ue(M){switch(M.status){case"fulfilled":return M.value;case"rejected":throw M.reason;default:switch(typeof M.status=="string"?M.then(U,U):(M.status="pending",M.then(function(Y){M.status==="pending"&&(M.status="fulfilled",M.value=Y)},function(Y){M.status==="pending"&&(M.status="rejected",M.reason=Y)})),M.status){case"fulfilled":return M.value;case"rejected":throw M.reason}}throw M}function I(M,Y,Z,P,oe){var he=typeof M;(he==="undefined"||he==="boolean")&&(M=null);var be=!1;if(M===null)be=!0;else switch(he){case"bigint":case"string":case"number":be=!0;break;case"object":switch(M.$$typeof){case n:case e:be=!0;break;case b:return be=M._init,I(be(M._payload),Y,Z,P,oe)}}if(be)return oe=oe(M),be=P===""?"."+ge(M,0):P,X(oe)?(Z="",be!=null&&(Z=be.replace(W,"$&/")+"/"),I(oe,Y,Z,"",function(At){return At})):oe!=null&&(te(oe)&&(oe=ne(oe,Z+(oe.key==null||M&&M.key===oe.key?"":(""+oe.key).replace(W,"$&/")+"/")+be)),Y.push(oe)),1;be=0;var lt=P===""?".":P+":";if(X(M))for(var ke=0;ke<M.length;ke++)P=M[ke],he=lt+ge(P,ke),be+=I(P,Y,Z,he,oe);else if(ke=w(M),typeof ke=="function")for(M=ke.call(M),ke=0;!(P=M.next()).done;)P=P.value,he=lt+ge(P,ke++),be+=I(P,Y,Z,he,oe);else if(he==="object"){if(typeof M.then=="function")return I(Ue(M),Y,Z,P,oe);throw Y=String(M),Error("Objects are not valid as a React child (found: "+(Y==="[object Object]"?"object with keys {"+Object.keys(M).join(", ")+"}":Y)+"). If you meant to render a collection of children, use an array instead.")}return be}function J(M,Y,Z){if(M==null)return M;var P=[],oe=0;return I(M,P,"","",function(he){return Y.call(Z,he,oe++)}),P}function re(M){if(M._status===-1){var Y=M._result;Y=Y(),Y.then(function(Z){(M._status===0||M._status===-1)&&(M._status=1,M._result=Z)},function(Z){(M._status===0||M._status===-1)&&(M._status=2,M._result=Z)}),M._status===-1&&(M._status=0,M._result=Y)}if(M._status===1)return M._result.default;throw M._result}var xe=typeof reportError=="function"?reportError:function(M){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var Y=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof M=="object"&&M!==null&&typeof M.message=="string"?String(M.message):String(M),error:M});if(!window.dispatchEvent(Y))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",M);return}console.error(M)},_e={map:J,forEach:function(M,Y,Z){J(M,function(){Y.apply(this,arguments)},Z)},count:function(M){var Y=0;return J(M,function(){Y++}),Y},toArray:function(M){return J(M,function(Y){return Y})||[]},only:function(M){if(!te(M))throw Error("React.Children.only expected to receive a single React element child.");return M}};return ce.Activity=m,ce.Children=_e,ce.Component=A,ce.Fragment=i,ce.Profiler=l,ce.PureComponent=$,ce.StrictMode=r,ce.Suspense=d,ce.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=L,ce.__COMPILER_RUNTIME={__proto__:null,c:function(M){return L.H.useMemoCache(M)}},ce.cache=function(M){return function(){return M.apply(null,arguments)}},ce.cacheSignal=function(){return null},ce.cloneElement=function(M,Y,Z){if(M==null)throw Error("The argument must be a React element, but you passed "+M+".");var P=x({},M.props),oe=M.key;if(Y!=null)for(he in Y.key!==void 0&&(oe=""+Y.key),Y)!B.call(Y,he)||he==="key"||he==="__self"||he==="__source"||he==="ref"&&Y.ref===void 0||(P[he]=Y[he]);var he=arguments.length-2;if(he===1)P.children=Z;else if(1<he){for(var be=Array(he),lt=0;lt<he;lt++)be[lt]=arguments[lt+2];P.children=be}return O(M.type,oe,P)},ce.createContext=function(M){return M={$$typeof:u,_currentValue:M,_currentValue2:M,_threadCount:0,Provider:null,Consumer:null},M.Provider=M,M.Consumer={$$typeof:o,_context:M},M},ce.createElement=function(M,Y,Z){var P,oe={},he=null;if(Y!=null)for(P in Y.key!==void 0&&(he=""+Y.key),Y)B.call(Y,P)&&P!=="key"&&P!=="__self"&&P!=="__source"&&(oe[P]=Y[P]);var be=arguments.length-2;if(be===1)oe.children=Z;else if(1<be){for(var lt=Array(be),ke=0;ke<be;ke++)lt[ke]=arguments[ke+2];oe.children=lt}if(M&&M.defaultProps)for(P in be=M.defaultProps,be)oe[P]===void 0&&(oe[P]=be[P]);return O(M,he,oe)},ce.createRef=function(){return{current:null}},ce.forwardRef=function(M){return{$$typeof:f,render:M}},ce.isValidElement=te,ce.lazy=function(M){return{$$typeof:b,_payload:{_status:-1,_result:M},_init:re}},ce.memo=function(M,Y){return{$$typeof:g,type:M,compare:Y===void 0?null:Y}},ce.startTransition=function(M){var Y=L.T,Z={};L.T=Z;try{var P=M(),oe=L.S;oe!==null&&oe(Z,P),typeof P=="object"&&P!==null&&typeof P.then=="function"&&P.then(U,xe)}catch(he){xe(he)}finally{Y!==null&&Z.types!==null&&(Y.types=Z.types),L.T=Y}},ce.unstable_useCacheRefresh=function(){return L.H.useCacheRefresh()},ce.use=function(M){return L.H.use(M)},ce.useActionState=function(M,Y,Z){return L.H.useActionState(M,Y,Z)},ce.useCallback=function(M,Y){return L.H.useCallback(M,Y)},ce.useContext=function(M){return L.H.useContext(M)},ce.useDebugValue=function(){},ce.useDeferredValue=function(M,Y){return L.H.useDeferredValue(M,Y)},ce.useEffect=function(M,Y){return L.H.useEffect(M,Y)},ce.useEffectEvent=function(M){return L.H.useEffectEvent(M)},ce.useId=function(){return L.H.useId()},ce.useImperativeHandle=function(M,Y,Z){return L.H.useImperativeHandle(M,Y,Z)},ce.useInsertionEffect=function(M,Y){return L.H.useInsertionEffect(M,Y)},ce.useLayoutEffect=function(M,Y){return L.H.useLayoutEffect(M,Y)},ce.useMemo=function(M,Y){return L.H.useMemo(M,Y)},ce.useOptimistic=function(M,Y){return L.H.useOptimistic(M,Y)},ce.useReducer=function(M,Y,Z){return L.H.useReducer(M,Y,Z)},ce.useRef=function(M){return L.H.useRef(M)},ce.useState=function(M){return L.H.useState(M)},ce.useSyncExternalStore=function(M,Y,Z){return L.H.useSyncExternalStore(M,Y,Z)},ce.useTransition=function(){return L.H.useTransition()},ce.version="19.2.1",ce}var Xy;function Jh(){return Xy||(Xy=1,ih.exports=cx()),ih.exports}var R=Jh();const wt=ax(R);function Zh(n,e,i,r){const[l,o]=wt.useState(i);return wt.useEffect(()=>{let u=!1;return n().then(f=>{u||o(f)}),()=>{u=!0}},e),l}function ys(){const n=wt.useRef(null),[e]=Ah(n);return[e,n]}function Ah(n){const[e,i]=wt.useState(new DOMRect(0,0,10,10)),r=wt.useCallback(()=>{const l=n==null?void 0:n.current;l&&i(l.getBoundingClientRect())},[n]);return wt.useLayoutEffect(()=>{const l=n==null?void 0:n.current;if(!l)return;r();const o=new ResizeObserver(r);return o.observe(l),window.addEventListener("resize",r),()=>{o.disconnect(),window.removeEventListener("resize",r)}},[r,n]),[e,r]}function i0(n,e,i,r,l){let o=0,u=n.length;for(;o<u;){const f=o+u>>1;i(e,n[f])>=0?o=f+1:u=f}return u}function Yy(n){const e=document.createElement("textarea");e.style.position="absolute",e.style.zIndex="-1000",e.value=n,document.body.appendChild(e),e.select(),document.execCommand("copy"),e.remove()}function Gt(n,e){n&&(e=us.getObject(n,e));const[i,r]=wt.useState(e),l=wt.useCallback(o=>{n?us.setObject(n,o):r(o)},[n,r]);return wt.useEffect(()=>{if(n){const o=()=>r(us.getObject(n,e));return us.onChangeEmitter.addEventListener(n,o),()=>us.onChangeEmitter.removeEventListener(n,o)}},[e,n]),[i,l]}const Ch=new Map,s0=new Map;let ic;function ar(n,e){const[i,r]=wt.useState();s0.set(n,{setter:r,defaultValue:e});const l=wt.useCallback(o=>{const u=Ch.get(ic||"default")||{};u[n]=o,Ch.set(ic||"default",u),r(o)},[n]);return[i,l]}function ux(n){if(ic===n)return;ic=n;const e=Ch.get(n)||{};for(const[i,r]of s0.entries())r.setter(e[i]||r.defaultValue)}class fx{constructor(){this.onChangeEmitter=new EventTarget}getString(e,i){return localStorage[e]||i}setString(e,i){var r;localStorage[e]=i,this.onChangeEmitter.dispatchEvent(new Event(e)),(r=window.saveSettings)==null||r.call(window)}getObject(e,i){if(!localStorage[e])return i;try{return JSON.parse(localStorage[e])}catch{return i}}setObject(e,i){var r;localStorage[e]=JSON.stringify(i),this.onChangeEmitter.dispatchEvent(new Event(e)),(r=window.saveSettings)==null||r.call(window)}}const us=new fx;function at(...n){return n.filter(Boolean).join(" ")}function r0(n){n&&(n!=null&&n.scrollIntoViewIfNeeded?n.scrollIntoViewIfNeeded(!1):n==null||n.scrollIntoView())}const Fy="\\u0000-\\u0020\\u007f-\\u009f",a0=new RegExp("(?:[a-zA-Z][a-zA-Z0-9+.-]{2,}:\\/\\/|www\\.)[^\\s"+Fy+'"]{2,}[^\\s'+Fy+`"')}\\],:;.!?]`,"ug");function hx(){const[n,e]=wt.useState(!1),i=wt.useCallback(()=>{const r=[];return e(l=>(r.push(setTimeout(()=>e(!1),1e3)),l?(r.push(setTimeout(()=>e(!0),50)),!1):!0)),()=>r.forEach(clearTimeout)},[e]);return[n,i]}const dx="system",l0="theme",px=[{label:"Dark mode",value:"dark-mode"},{label:"Light mode",value:"light-mode"},{label:"System",value:"system"}],o0=window.matchMedia("(prefers-color-scheme: dark)");function w2(){document.playwrightThemeInitialized||(document.playwrightThemeInitialized=!0,document.defaultView.addEventListener("focus",n=>{n.target.document.nodeType===Node.DOCUMENT_NODE&&document.body.classList.remove("inactive")},!1),document.defaultView.addEventListener("blur",n=>{document.body.classList.add("inactive")},!1),Nh(kh()),o0.addEventListener("change",()=>{Nh(kh())}))}const Wh=new Set;function Nh(n){const e=gx(),i=n==="system"?o0.matches?"dark-mode":"light-mode":n;if(e!==i){e&&document.documentElement.classList.remove(e),document.documentElement.classList.add(i);for(const r of Wh)r(i)}}function x2(n){Wh.add(n)}function _2(n){Wh.delete(n)}function kh(){return us.getString(l0,dx)}function gx(){return document.documentElement.classList.contains("dark-mode")?"dark-mode":document.documentElement.classList.contains("light-mode")?"light-mode":null}function mx(){const[n,e]=wt.useState(kh());return wt.useEffect(()=>{us.setString(l0,n),Nh(n)},[n]),[n,e]}var sh={exports:{}},La={},rh={exports:{}},ah={};/**
19 - * @license React
20 - * scheduler.production.js
21 - *
22 - * Copyright (c) Meta Platforms, Inc. and affiliates.
23 - *
24 - * This source code is licensed under the MIT license found in the
25 - * LICENSE file in the root directory of this source tree.
26 - */var Qy;function yx(){return Qy||(Qy=1,(function(n){function e(I,J){var re=I.length;I.push(J);e:for(;0<re;){var xe=re-1>>>1,_e=I[xe];if(0<l(_e,J))I[xe]=J,I[re]=_e,re=xe;else break e}}function i(I){return I.length===0?null:I[0]}function r(I){if(I.length===0)return null;var J=I[0],re=I.pop();if(re!==J){I[0]=re;e:for(var xe=0,_e=I.length,M=_e>>>1;xe<M;){var Y=2*(xe+1)-1,Z=I[Y],P=Y+1,oe=I[P];if(0>l(Z,re))P<_e&&0>l(oe,Z)?(I[xe]=oe,I[P]=re,xe=P):(I[xe]=Z,I[Y]=re,xe=Y);else if(P<_e&&0>l(oe,re))I[xe]=oe,I[P]=re,xe=P;else break e}}return J}function l(I,J){var re=I.sortIndex-J.sortIndex;return re!==0?re:I.id-J.id}if(n.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var o=performance;n.unstable_now=function(){return o.now()}}else{var u=Date,f=u.now();n.unstable_now=function(){return u.now()-f}}var d=[],g=[],b=1,m=null,S=3,w=!1,E=!1,x=!1,_=!1,A=typeof setTimeout=="function"?setTimeout:null,N=typeof clearTimeout=="function"?clearTimeout:null,$=typeof setImmediate<"u"?setImmediate:null;function G(I){for(var J=i(g);J!==null;){if(J.callback===null)r(g);else if(J.startTime<=I)r(g),J.sortIndex=J.expirationTime,e(d,J);else break;J=i(g)}}function X(I){if(x=!1,G(I),!E)if(i(d)!==null)E=!0,U||(U=!0,V());else{var J=i(g);J!==null&&Ue(X,J.startTime-I)}}var U=!1,L=-1,B=5,O=-1;function ne(){return _?!0:!(n.unstable_now()-O<B)}function te(){if(_=!1,U){var I=n.unstable_now();O=I;var J=!0;try{e:{E=!1,x&&(x=!1,N(L),L=-1),w=!0;var re=S;try{t:{for(G(I),m=i(d);m!==null&&!(m.expirationTime>I&&ne());){var xe=m.callback;if(typeof xe=="function"){m.callback=null,S=m.priorityLevel;var _e=xe(m.expirationTime<=I);if(I=n.unstable_now(),typeof _e=="function"){m.callback=_e,G(I),J=!0;break t}m===i(d)&&r(d),G(I)}else r(d);m=i(d)}if(m!==null)J=!0;else{var M=i(g);M!==null&&Ue(X,M.startTime-I),J=!1}}break e}finally{m=null,S=re,w=!1}J=void 0}}finally{J?V():U=!1}}}var V;if(typeof $=="function")V=function(){$(te)};else if(typeof MessageChannel<"u"){var W=new MessageChannel,ge=W.port2;W.port1.onmessage=te,V=function(){ge.postMessage(null)}}else V=function(){A(te,0)};function Ue(I,J){L=A(function(){I(n.unstable_now())},J)}n.unstable_IdlePriority=5,n.unstable_ImmediatePriority=1,n.unstable_LowPriority=4,n.unstable_NormalPriority=3,n.unstable_Profiling=null,n.unstable_UserBlockingPriority=2,n.unstable_cancelCallback=function(I){I.callback=null},n.unstable_forceFrameRate=function(I){0>I||125<I?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):B=0<I?Math.floor(1e3/I):5},n.unstable_getCurrentPriorityLevel=function(){return S},n.unstable_next=function(I){switch(S){case 1:case 2:case 3:var J=3;break;default:J=S}var re=S;S=J;try{return I()}finally{S=re}},n.unstable_requestPaint=function(){_=!0},n.unstable_runWithPriority=function(I,J){switch(I){case 1:case 2:case 3:case 4:case 5:break;default:I=3}var re=S;S=I;try{return J()}finally{S=re}},n.unstable_scheduleCallback=function(I,J,re){var xe=n.unstable_now();switch(typeof re=="object"&&re!==null?(re=re.delay,re=typeof re=="number"&&0<re?xe+re:xe):re=xe,I){case 1:var _e=-1;break;case 2:_e=250;break;case 5:_e=1073741823;break;case 4:_e=1e4;break;default:_e=5e3}return _e=re+_e,I={id:b++,callback:J,priorityLevel:I,startTime:re,expirationTime:_e,sortIndex:-1},re>xe?(I.sortIndex=re,e(g,I),i(d)===null&&I===i(g)&&(x?(N(L),L=-1):x=!0,Ue(X,re-xe))):(I.sortIndex=_e,e(d,I),E||w||(E=!0,U||(U=!0,V()))),I},n.unstable_shouldYield=ne,n.unstable_wrapCallback=function(I){var J=S;return function(){var re=S;S=J;try{return I.apply(this,arguments)}finally{S=re}}}})(ah)),ah}var Py;function bx(){return Py||(Py=1,rh.exports=yx()),rh.exports}var lh={exports:{}},_t={};/**
27 - * @license React
28 - * react-dom.production.js
29 - *
30 - * Copyright (c) Meta Platforms, Inc. and affiliates.
31 - *
32 - * This source code is licensed under the MIT license found in the
33 - * LICENSE file in the root directory of this source tree.
34 - */var Jy;function vx(){if(Jy)return _t;Jy=1;var n=Jh();function e(d){var g="https://react.dev/errors/"+d;if(1<arguments.length){g+="?args[]="+encodeURIComponent(arguments[1]);for(var b=2;b<arguments.length;b++)g+="&args[]="+encodeURIComponent(arguments[b])}return"Minified React error #"+d+"; visit "+g+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function i(){}var r={d:{f:i,r:function(){throw Error(e(522))},D:i,C:i,L:i,m:i,X:i,S:i,M:i},p:0,findDOMNode:null},l=Symbol.for("react.portal");function o(d,g,b){var m=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:l,key:m==null?null:""+m,children:d,containerInfo:g,implementation:b}}var u=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function f(d,g){if(d==="font")return"";if(typeof g=="string")return g==="use-credentials"?g:""}return _t.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=r,_t.createPortal=function(d,g){var b=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!g||g.nodeType!==1&&g.nodeType!==9&&g.nodeType!==11)throw Error(e(299));return o(d,g,null,b)},_t.flushSync=function(d){var g=u.T,b=r.p;try{if(u.T=null,r.p=2,d)return d()}finally{u.T=g,r.p=b,r.d.f()}},_t.preconnect=function(d,g){typeof d=="string"&&(g?(g=g.crossOrigin,g=typeof g=="string"?g==="use-credentials"?g:"":void 0):g=null,r.d.C(d,g))},_t.prefetchDNS=function(d){typeof d=="string"&&r.d.D(d)},_t.preinit=function(d,g){if(typeof d=="string"&&g&&typeof g.as=="string"){var b=g.as,m=f(b,g.crossOrigin),S=typeof g.integrity=="string"?g.integrity:void 0,w=typeof g.fetchPriority=="string"?g.fetchPriority:void 0;b==="style"?r.d.S(d,typeof g.precedence=="string"?g.precedence:void 0,{crossOrigin:m,integrity:S,fetchPriority:w}):b==="script"&&r.d.X(d,{crossOrigin:m,integrity:S,fetchPriority:w,nonce:typeof g.nonce=="string"?g.nonce:void 0})}},_t.preinitModule=function(d,g){if(typeof d=="string")if(typeof g=="object"&&g!==null){if(g.as==null||g.as==="script"){var b=f(g.as,g.crossOrigin);r.d.M(d,{crossOrigin:b,integrity:typeof g.integrity=="string"?g.integrity:void 0,nonce:typeof g.nonce=="string"?g.nonce:void 0})}}else g==null&&r.d.M(d)},_t.preload=function(d,g){if(typeof d=="string"&&typeof g=="object"&&g!==null&&typeof g.as=="string"){var b=g.as,m=f(b,g.crossOrigin);r.d.L(d,b,{crossOrigin:m,integrity:typeof g.integrity=="string"?g.integrity:void 0,nonce:typeof g.nonce=="string"?g.nonce:void 0,type:typeof g.type=="string"?g.type:void 0,fetchPriority:typeof g.fetchPriority=="string"?g.fetchPriority:void 0,referrerPolicy:typeof g.referrerPolicy=="string"?g.referrerPolicy:void 0,imageSrcSet:typeof g.imageSrcSet=="string"?g.imageSrcSet:void 0,imageSizes:typeof g.imageSizes=="string"?g.imageSizes:void 0,media:typeof g.media=="string"?g.media:void 0})}},_t.preloadModule=function(d,g){if(typeof d=="string")if(g){var b=f(g.as,g.crossOrigin);r.d.m(d,{as:typeof g.as=="string"&&g.as!=="script"?g.as:void 0,crossOrigin:b,integrity:typeof g.integrity=="string"?g.integrity:void 0})}else r.d.m(d)},_t.requestFormReset=function(d){r.d.r(d)},_t.unstable_batchedUpdates=function(d,g){return d(g)},_t.useFormState=function(d,g,b){return u.H.useFormState(d,g,b)},_t.useFormStatus=function(){return u.H.useHostTransitionStatus()},_t.version="19.2.1",_t}var Zy;function Sx(){if(Zy)return lh.exports;Zy=1;function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}return n(),lh.exports=vx(),lh.exports}/**
35 - * @license React
36 - * react-dom-client.production.js
37 - *
38 - * Copyright (c) Meta Platforms, Inc. and affiliates.
39 - *
40 - * This source code is licensed under the MIT license found in the
41 - * LICENSE file in the root directory of this source tree.
42 - */var Wy;function wx(){if(Wy)return La;Wy=1;var n=bx(),e=Jh(),i=Sx();function r(t){var s="https://react.dev/errors/"+t;if(1<arguments.length){s+="?args[]="+encodeURIComponent(arguments[1]);for(var a=2;a<arguments.length;a++)s+="&args[]="+encodeURIComponent(arguments[a])}return"Minified React error #"+t+"; visit "+s+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function l(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)}function o(t){var s=t,a=t;if(t.alternate)for(;s.return;)s=s.return;else{t=s;do s=t,(s.flags&4098)!==0&&(a=s.return),t=s.return;while(t)}return s.tag===3?a:null}function u(t){if(t.tag===13){var s=t.memoizedState;if(s===null&&(t=t.alternate,t!==null&&(s=t.memoizedState)),s!==null)return s.dehydrated}return null}function f(t){if(t.tag===31){var s=t.memoizedState;if(s===null&&(t=t.alternate,t!==null&&(s=t.memoizedState)),s!==null)return s.dehydrated}return null}function d(t){if(o(t)!==t)throw Error(r(188))}function g(t){var s=t.alternate;if(!s){if(s=o(t),s===null)throw Error(r(188));return s!==t?null:t}for(var a=t,c=s;;){var h=a.return;if(h===null)break;var p=h.alternate;if(p===null){if(c=h.return,c!==null){a=c;continue}break}if(h.child===p.child){for(p=h.child;p;){if(p===a)return d(h),t;if(p===c)return d(h),s;p=p.sibling}throw Error(r(188))}if(a.return!==c.return)a=h,c=p;else{for(var y=!1,T=h.child;T;){if(T===a){y=!0,a=h,c=p;break}if(T===c){y=!0,c=h,a=p;break}T=T.sibling}if(!y){for(T=p.child;T;){if(T===a){y=!0,a=p,c=h;break}if(T===c){y=!0,c=p,a=h;break}T=T.sibling}if(!y)throw Error(r(189))}}if(a.alternate!==c)throw Error(r(190))}if(a.tag!==3)throw Error(r(188));return a.stateNode.current===a?t:s}function b(t){var s=t.tag;if(s===5||s===26||s===27||s===6)return t;for(t=t.child;t!==null;){if(s=b(t),s!==null)return s;t=t.sibling}return null}var m=Object.assign,S=Symbol.for("react.element"),w=Symbol.for("react.transitional.element"),E=Symbol.for("react.portal"),x=Symbol.for("react.fragment"),_=Symbol.for("react.strict_mode"),A=Symbol.for("react.profiler"),N=Symbol.for("react.consumer"),$=Symbol.for("react.context"),G=Symbol.for("react.forward_ref"),X=Symbol.for("react.suspense"),U=Symbol.for("react.suspense_list"),L=Symbol.for("react.memo"),B=Symbol.for("react.lazy"),O=Symbol.for("react.activity"),ne=Symbol.for("react.memo_cache_sentinel"),te=Symbol.iterator;function V(t){return t===null||typeof t!="object"?null:(t=te&&t[te]||t["@@iterator"],typeof t=="function"?t:null)}var W=Symbol.for("react.client.reference");function ge(t){if(t==null)return null;if(typeof t=="function")return t.$$typeof===W?null:t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case x:return"Fragment";case A:return"Profiler";case _:return"StrictMode";case X:return"Suspense";case U:return"SuspenseList";case O:return"Activity"}if(typeof t=="object")switch(t.$$typeof){case E:return"Portal";case $:return t.displayName||"Context";case N:return(t._context.displayName||"Context")+".Consumer";case G:var s=t.render;return t=t.displayName,t||(t=s.displayName||s.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case L:return s=t.displayName||null,s!==null?s:ge(t.type)||"Memo";case B:s=t._payload,t=t._init;try{return ge(t(s))}catch{}}return null}var Ue=Array.isArray,I=e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,J=i.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,re={pending:!1,data:null,method:null,action:null},xe=[],_e=-1;function M(t){return{current:t}}function Y(t){0>_e||(t.current=xe[_e],xe[_e]=null,_e--)}function Z(t,s){_e++,xe[_e]=t.current,t.current=s}var P=M(null),oe=M(null),he=M(null),be=M(null);function lt(t,s){switch(Z(he,s),Z(oe,t),Z(P,null),s.nodeType){case 9:case 11:t=(t=s.documentElement)&&(t=t.namespaceURI)?hy(t):0;break;default:if(t=s.tagName,s=s.namespaceURI)s=hy(s),t=dy(s,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}Y(P),Z(P,t)}function ke(){Y(P),Y(oe),Y(he)}function At(t){t.memoizedState!==null&&Z(be,t);var s=P.current,a=dy(s,t.type);s!==a&&(Z(oe,t),Z(P,a))}function fe(t){oe.current===t&&(Y(P),Y(oe)),be.current===t&&(Y(be),Na._currentValue=re)}var Ne,qe;function Ee(t){if(Ne===void 0)try{throw Error()}catch(a){var s=a.stack.trim().match(/\n( *(at )?)/);Ne=s&&s[1]||"",qe=-1<a.stack.indexOf(`
43 - at`)?" (<anonymous>)":-1<a.stack.indexOf("@")?"@unknown:0:0":""}return`
44 -`+Ne+t+qe}var Kt=!1;function en(t,s){if(!t||Kt)return"";Kt=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var c={DetermineComponentFrameRoot:function(){try{if(s){var Q=function(){throw Error()};if(Object.defineProperty(Q.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(Q,[])}catch(q){var H=q}Reflect.construct(t,[],Q)}else{try{Q.call()}catch(q){H=q}t.call(Q.prototype)}}else{try{throw Error()}catch(q){H=q}(Q=t())&&typeof Q.catch=="function"&&Q.catch(function(){})}}catch(q){if(q&&H&&typeof q.stack=="string")return[q.stack,H.stack]}return[null,null]}};c.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var h=Object.getOwnPropertyDescriptor(c.DetermineComponentFrameRoot,"name");h&&h.configurable&&Object.defineProperty(c.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var p=c.DetermineComponentFrameRoot(),y=p[0],T=p[1];if(y&&T){var C=y.split(`
45 -`),z=T.split(`
46 -`);for(h=c=0;c<C.length&&!C[c].includes("DetermineComponentFrameRoot");)c++;for(;h<z.length&&!z[h].includes("DetermineComponentFrameRoot");)h++;if(c===C.length||h===z.length)for(c=C.length-1,h=z.length-1;1<=c&&0<=h&&C[c]!==z[h];)h--;for(;1<=c&&0<=h;c--,h--)if(C[c]!==z[h]){if(c!==1||h!==1)do if(c--,h--,0>h||C[c]!==z[h]){var K=`
47 -`+C[c].replace(" at new "," at ");return t.displayName&&K.includes("<anonymous>")&&(K=K.replace("<anonymous>",t.displayName)),K}while(1<=c&&0<=h);break}}}finally{Kt=!1,Error.prepareStackTrace=a}return(a=t?t.displayName||t.name:"")?Ee(a):""}function tn(t,s){switch(t.tag){case 26:case 27:case 5:return Ee(t.type);case 16:return Ee("Lazy");case 13:return t.child!==s&&s!==null?Ee("Suspense Fallback"):Ee("Suspense");case 19:return Ee("SuspenseList");case 0:case 15:return en(t.type,!1);case 11:return en(t.type.render,!1);case 1:return en(t.type,!0);case 31:return Ee("Activity");default:return""}}function qi(t){try{var s="",a=null;do s+=tn(t,a),a=t,t=t.return;while(t);return s}catch(c){return`
48 -Error generating stack: `+c.message+`
49 -`+c.stack}}var ws=Object.prototype.hasOwnProperty,ai=n.unstable_scheduleCallback,Br=n.unstable_cancelCallback,li=n.unstable_shouldYield,Bc=n.unstable_requestPaint,Ct=n.unstable_now,qc=n.unstable_getCurrentPriorityLevel,gl=n.unstable_ImmediatePriority,qr=n.unstable_UserBlockingPriority,oi=n.unstable_NormalPriority,$c=n.unstable_LowPriority,ml=n.unstable_IdlePriority,Ic=n.log,$i=n.unstable_setDisableYieldValue,Tn=null,Nt=null;function An(t){if(typeof Ic=="function"&&$i(t),Nt&&typeof Nt.setStrictMode=="function")try{Nt.setStrictMode(Tn,t)}catch{}}var kt=Math.clz32?Math.clz32:Ii,yl=Math.log,ae=Math.LN2;function Ii(t){return t>>>=0,t===0?32:31-(yl(t)/ae|0)|0}var nn=256,bl=262144,vl=4194304;function Vi(t){var s=t&42;if(s!==0)return s;switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Sl(t,s,a){var c=t.pendingLanes;if(c===0)return 0;var h=0,p=t.suspendedLanes,y=t.pingedLanes;t=t.warmLanes;var T=c&134217727;return T!==0?(c=T&~p,c!==0?h=Vi(c):(y&=T,y!==0?h=Vi(y):a||(a=T&~t,a!==0&&(h=Vi(a))))):(T=c&~p,T!==0?h=Vi(T):y!==0?h=Vi(y):a||(a=c&~t,a!==0&&(h=Vi(a)))),h===0?0:s!==0&&s!==h&&(s&p)===0&&(p=h&-h,a=s&-s,p>=a||p===32&&(a&4194048)!==0)?s:h}function $r(t,s){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&s)===0}function XS(t,s){switch(t){case 1:case 2:case 4:case 8:case 64:return s+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return s+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Yd(){var t=vl;return vl<<=1,(vl&62914560)===0&&(vl=4194304),t}function Vc(t){for(var s=[],a=0;31>a;a++)s.push(t);return s}function Ir(t,s){t.pendingLanes|=s,s!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function YS(t,s,a,c,h,p){var y=t.pendingLanes;t.pendingLanes=a,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=a,t.entangledLanes&=a,t.errorRecoveryDisabledLanes&=a,t.shellSuspendCounter=0;var T=t.entanglements,C=t.expirationTimes,z=t.hiddenUpdates;for(a=y&~a;0<a;){var K=31-kt(a),Q=1<<K;T[K]=0,C[K]=-1;var H=z[K];if(H!==null)for(z[K]=null,K=0;K<H.length;K++){var q=H[K];q!==null&&(q.lane&=-536870913)}a&=~Q}c!==0&&Fd(t,c,0),p!==0&&h===0&&t.tag!==0&&(t.suspendedLanes|=p&~(y&~s))}function Fd(t,s,a){t.pendingLanes|=s,t.suspendedLanes&=~s;var c=31-kt(s);t.entangledLanes|=s,t.entanglements[c]=t.entanglements[c]|1073741824|a&261930}function Qd(t,s){var a=t.entangledLanes|=s;for(t=t.entanglements;a;){var c=31-kt(a),h=1<<c;h&s|t[c]&s&&(t[c]|=s),a&=~h}}function Pd(t,s){var a=s&-s;return a=(a&42)!==0?1:Gc(a),(a&(t.suspendedLanes|s))!==0?0:a}function Gc(t){switch(t){case 2:t=1;break;case 8:t=4;break;case 32:t=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:t=128;break;case 268435456:t=134217728;break;default:t=0}return t}function Kc(t){return t&=-t,2<t?8<t?(t&134217727)!==0?32:268435456:8:2}function Jd(){var t=J.p;return t!==0?t:(t=window.event,t===void 0?32:zy(t.type))}function Zd(t,s){var a=J.p;try{return J.p=t,s()}finally{J.p=a}}var ci=Math.random().toString(36).slice(2),pt="__reactFiber$"+ci,jt="__reactProps$"+ci,xs="__reactContainer$"+ci,Xc="__reactEvents$"+ci,FS="__reactListeners$"+ci,QS="__reactHandles$"+ci,Wd="__reactResources$"+ci,Vr="__reactMarker$"+ci;function Yc(t){delete t[pt],delete t[jt],delete t[Xc],delete t[FS],delete t[QS]}function _s(t){var s=t[pt];if(s)return s;for(var a=t.parentNode;a;){if(s=a[xs]||a[pt]){if(a=s.alternate,s.child!==null||a!==null&&a.child!==null)for(t=Sy(t);t!==null;){if(a=t[pt])return a;t=Sy(t)}return s}t=a,a=t.parentNode}return null}function Es(t){if(t=t[pt]||t[xs]){var s=t.tag;if(s===5||s===6||s===13||s===31||s===26||s===27||s===3)return t}return null}function Gr(t){var s=t.tag;if(s===5||s===26||s===27||s===6)return t.stateNode;throw Error(r(33))}function Ts(t){var s=t[Wd];return s||(s=t[Wd]={hoistableStyles:new Map,hoistableScripts:new Map}),s}function ht(t){t[Vr]=!0}var ep=new Set,tp={};function Gi(t,s){As(t,s),As(t+"Capture",s)}function As(t,s){for(tp[t]=s,t=0;t<s.length;t++)ep.add(s[t])}var PS=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),np={},ip={};function JS(t){return ws.call(ip,t)?!0:ws.call(np,t)?!1:PS.test(t)?ip[t]=!0:(np[t]=!0,!1)}function wl(t,s,a){if(JS(s))if(a===null)t.removeAttribute(s);else{switch(typeof a){case"undefined":case"function":case"symbol":t.removeAttribute(s);return;case"boolean":var c=s.toLowerCase().slice(0,5);if(c!=="data-"&&c!=="aria-"){t.removeAttribute(s);return}}t.setAttribute(s,""+a)}}function xl(t,s,a){if(a===null)t.removeAttribute(s);else{switch(typeof a){case"undefined":case"function":case"symbol":case"boolean":t.removeAttribute(s);return}t.setAttribute(s,""+a)}}function Rn(t,s,a,c){if(c===null)t.removeAttribute(a);else{switch(typeof c){case"undefined":case"function":case"symbol":case"boolean":t.removeAttribute(a);return}t.setAttributeNS(s,a,""+c)}}function sn(t){switch(typeof t){case"bigint":case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function sp(t){var s=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(s==="checkbox"||s==="radio")}function ZS(t,s,a){var c=Object.getOwnPropertyDescriptor(t.constructor.prototype,s);if(!t.hasOwnProperty(s)&&typeof c<"u"&&typeof c.get=="function"&&typeof c.set=="function"){var h=c.get,p=c.set;return Object.defineProperty(t,s,{configurable:!0,get:function(){return h.call(this)},set:function(y){a=""+y,p.call(this,y)}}),Object.defineProperty(t,s,{enumerable:c.enumerable}),{getValue:function(){return a},setValue:function(y){a=""+y},stopTracking:function(){t._valueTracker=null,delete t[s]}}}}function Fc(t){if(!t._valueTracker){var s=sp(t)?"checked":"value";t._valueTracker=ZS(t,s,""+t[s])}}function rp(t){if(!t)return!1;var s=t._valueTracker;if(!s)return!0;var a=s.getValue(),c="";return t&&(c=sp(t)?t.checked?"true":"false":t.value),t=c,t!==a?(s.setValue(t),!0):!1}function _l(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var WS=/[\n"\\]/g;function rn(t){return t.replace(WS,function(s){return"\\"+s.charCodeAt(0).toString(16)+" "})}function Qc(t,s,a,c,h,p,y,T){t.name="",y!=null&&typeof y!="function"&&typeof y!="symbol"&&typeof y!="boolean"?t.type=y:t.removeAttribute("type"),s!=null?y==="number"?(s===0&&t.value===""||t.value!=s)&&(t.value=""+sn(s)):t.value!==""+sn(s)&&(t.value=""+sn(s)):y!=="submit"&&y!=="reset"||t.removeAttribute("value"),s!=null?Pc(t,y,sn(s)):a!=null?Pc(t,y,sn(a)):c!=null&&t.removeAttribute("value"),h==null&&p!=null&&(t.defaultChecked=!!p),h!=null&&(t.checked=h&&typeof h!="function"&&typeof h!="symbol"),T!=null&&typeof T!="function"&&typeof T!="symbol"&&typeof T!="boolean"?t.name=""+sn(T):t.removeAttribute("name")}function ap(t,s,a,c,h,p,y,T){if(p!=null&&typeof p!="function"&&typeof p!="symbol"&&typeof p!="boolean"&&(t.type=p),s!=null||a!=null){if(!(p!=="submit"&&p!=="reset"||s!=null)){Fc(t);return}a=a!=null?""+sn(a):"",s=s!=null?""+sn(s):a,T||s===t.value||(t.value=s),t.defaultValue=s}c=c??h,c=typeof c!="function"&&typeof c!="symbol"&&!!c,t.checked=T?t.checked:!!c,t.defaultChecked=!!c,y!=null&&typeof y!="function"&&typeof y!="symbol"&&typeof y!="boolean"&&(t.name=y),Fc(t)}function Pc(t,s,a){s==="number"&&_l(t.ownerDocument)===t||t.defaultValue===""+a||(t.defaultValue=""+a)}function Cs(t,s,a,c){if(t=t.options,s){s={};for(var h=0;h<a.length;h++)s["$"+a[h]]=!0;for(a=0;a<t.length;a++)h=s.hasOwnProperty("$"+t[a].value),t[a].selected!==h&&(t[a].selected=h),h&&c&&(t[a].defaultSelected=!0)}else{for(a=""+sn(a),s=null,h=0;h<t.length;h++){if(t[h].value===a){t[h].selected=!0,c&&(t[h].defaultSelected=!0);return}s!==null||t[h].disabled||(s=t[h])}s!==null&&(s.selected=!0)}}function lp(t,s,a){if(s!=null&&(s=""+sn(s),s!==t.value&&(t.value=s),a==null)){t.defaultValue!==s&&(t.defaultValue=s);return}t.defaultValue=a!=null?""+sn(a):""}function op(t,s,a,c){if(s==null){if(c!=null){if(a!=null)throw Error(r(92));if(Ue(c)){if(1<c.length)throw Error(r(93));c=c[0]}a=c}a==null&&(a=""),s=a}a=sn(s),t.defaultValue=a,c=t.textContent,c===a&&c!==""&&c!==null&&(t.value=c),Fc(t)}function Ns(t,s){if(s){var a=t.firstChild;if(a&&a===t.lastChild&&a.nodeType===3){a.nodeValue=s;return}}t.textContent=s}var e1=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function cp(t,s,a){var c=s.indexOf("--")===0;a==null||typeof a=="boolean"||a===""?c?t.setProperty(s,""):s==="float"?t.cssFloat="":t[s]="":c?t.setProperty(s,a):typeof a!="number"||a===0||e1.has(s)?s==="float"?t.cssFloat=a:t[s]=(""+a).trim():t[s]=a+"px"}function up(t,s,a){if(s!=null&&typeof s!="object")throw Error(r(62));if(t=t.style,a!=null){for(var c in a)!a.hasOwnProperty(c)||s!=null&&s.hasOwnProperty(c)||(c.indexOf("--")===0?t.setProperty(c,""):c==="float"?t.cssFloat="":t[c]="");for(var h in s)c=s[h],s.hasOwnProperty(h)&&a[h]!==c&&cp(t,h,c)}else for(var p in s)s.hasOwnProperty(p)&&cp(t,p,s[p])}function Jc(t){if(t.indexOf("-")===-1)return!1;switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var t1=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),n1=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function El(t){return n1.test(""+t)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":t}function Dn(){}var Zc=null;function Wc(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var ks=null,Ms=null;function fp(t){var s=Es(t);if(s&&(t=s.stateNode)){var a=t[jt]||null;e:switch(t=s.stateNode,s.type){case"input":if(Qc(t,a.value,a.defaultValue,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name),s=a.name,a.type==="radio"&&s!=null){for(a=t;a.parentNode;)a=a.parentNode;for(a=a.querySelectorAll('input[name="'+rn(""+s)+'"][type="radio"]'),s=0;s<a.length;s++){var c=a[s];if(c!==t&&c.form===t.form){var h=c[jt]||null;if(!h)throw Error(r(90));Qc(c,h.value,h.defaultValue,h.defaultValue,h.checked,h.defaultChecked,h.type,h.name)}}for(s=0;s<a.length;s++)c=a[s],c.form===t.form&&rp(c)}break e;case"textarea":lp(t,a.value,a.defaultValue);break e;case"select":s=a.value,s!=null&&Cs(t,!!a.multiple,s,!1)}}}var eu=!1;function hp(t,s,a){if(eu)return t(s,a);eu=!0;try{var c=t(s);return c}finally{if(eu=!1,(ks!==null||Ms!==null)&&(fo(),ks&&(s=ks,t=Ms,Ms=ks=null,fp(s),t)))for(s=0;s<t.length;s++)fp(t[s])}}function Kr(t,s){var a=t.stateNode;if(a===null)return null;var c=a[jt]||null;if(c===null)return null;a=c[s];e:switch(s){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(c=!c.disabled)||(t=t.type,c=!(t==="button"||t==="input"||t==="select"||t==="textarea")),t=!c;break e;default:t=!1}if(t)return null;if(a&&typeof a!="function")throw Error(r(231,s,typeof a));return a}var zn=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),tu=!1;if(zn)try{var Xr={};Object.defineProperty(Xr,"passive",{get:function(){tu=!0}}),window.addEventListener("test",Xr,Xr),window.removeEventListener("test",Xr,Xr)}catch{tu=!1}var ui=null,nu=null,Tl=null;function dp(){if(Tl)return Tl;var t,s=nu,a=s.length,c,h="value"in ui?ui.value:ui.textContent,p=h.length;for(t=0;t<a&&s[t]===h[t];t++);var y=a-t;for(c=1;c<=y&&s[a-c]===h[p-c];c++);return Tl=h.slice(t,1<c?1-c:void 0)}function Al(t){var s=t.keyCode;return"charCode"in t?(t=t.charCode,t===0&&s===13&&(t=13)):t=s,t===10&&(t=13),32<=t||t===13?t:0}function Cl(){return!0}function pp(){return!1}function Lt(t){function s(a,c,h,p,y){this._reactName=a,this._targetInst=h,this.type=c,this.nativeEvent=p,this.target=y,this.currentTarget=null;for(var T in t)t.hasOwnProperty(T)&&(a=t[T],this[T]=a?a(p):p[T]);return this.isDefaultPrevented=(p.defaultPrevented!=null?p.defaultPrevented:p.returnValue===!1)?Cl:pp,this.isPropagationStopped=pp,this}return m(s.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():typeof a.returnValue!="unknown"&&(a.returnValue=!1),this.isDefaultPrevented=Cl)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():typeof a.cancelBubble!="unknown"&&(a.cancelBubble=!0),this.isPropagationStopped=Cl)},persist:function(){},isPersistent:Cl}),s}var Ki={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(t){return t.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Nl=Lt(Ki),Yr=m({},Ki,{view:0,detail:0}),i1=Lt(Yr),iu,su,Fr,kl=m({},Yr,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:au,button:0,buttons:0,relatedTarget:function(t){return t.relatedTarget===void 0?t.fromElement===t.srcElement?t.toElement:t.fromElement:t.relatedTarget},movementX:function(t){return"movementX"in t?t.movementX:(t!==Fr&&(Fr&&t.type==="mousemove"?(iu=t.screenX-Fr.screenX,su=t.screenY-Fr.screenY):su=iu=0,Fr=t),iu)},movementY:function(t){return"movementY"in t?t.movementY:su}}),gp=Lt(kl),s1=m({},kl,{dataTransfer:0}),r1=Lt(s1),a1=m({},Yr,{relatedTarget:0}),ru=Lt(a1),l1=m({},Ki,{animationName:0,elapsedTime:0,pseudoElement:0}),o1=Lt(l1),c1=m({},Ki,{clipboardData:function(t){return"clipboardData"in t?t.clipboardData:window.clipboardData}}),u1=Lt(c1),f1=m({},Ki,{data:0}),mp=Lt(f1),h1={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},d1={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},p1={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function g1(t){var s=this.nativeEvent;return s.getModifierState?s.getModifierState(t):(t=p1[t])?!!s[t]:!1}function au(){return g1}var m1=m({},Yr,{key:function(t){if(t.key){var s=h1[t.key]||t.key;if(s!=="Unidentified")return s}return t.type==="keypress"?(t=Al(t),t===13?"Enter":String.fromCharCode(t)):t.type==="keydown"||t.type==="keyup"?d1[t.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:au,charCode:function(t){return t.type==="keypress"?Al(t):0},keyCode:function(t){return t.type==="keydown"||t.type==="keyup"?t.keyCode:0},which:function(t){return t.type==="keypress"?Al(t):t.type==="keydown"||t.type==="keyup"?t.keyCode:0}}),y1=Lt(m1),b1=m({},kl,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),yp=Lt(b1),v1=m({},Yr,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:au}),S1=Lt(v1),w1=m({},Ki,{propertyName:0,elapsedTime:0,pseudoElement:0}),x1=Lt(w1),_1=m({},kl,{deltaX:function(t){return"deltaX"in t?t.deltaX:"wheelDeltaX"in t?-t.wheelDeltaX:0},deltaY:function(t){return"deltaY"in t?t.deltaY:"wheelDeltaY"in t?-t.wheelDeltaY:"wheelDelta"in t?-t.wheelDelta:0},deltaZ:0,deltaMode:0}),E1=Lt(_1),T1=m({},Ki,{newState:0,oldState:0}),A1=Lt(T1),C1=[9,13,27,32],lu=zn&&"CompositionEvent"in window,Qr=null;zn&&"documentMode"in document&&(Qr=document.documentMode);var N1=zn&&"TextEvent"in window&&!Qr,bp=zn&&(!lu||Qr&&8<Qr&&11>=Qr),vp=" ",Sp=!1;function wp(t,s){switch(t){case"keyup":return C1.indexOf(s.keyCode)!==-1;case"keydown":return s.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function xp(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Os=!1;function k1(t,s){switch(t){case"compositionend":return xp(s);case"keypress":return s.which!==32?null:(Sp=!0,vp);case"textInput":return t=s.data,t===vp&&Sp?null:t;default:return null}}function M1(t,s){if(Os)return t==="compositionend"||!lu&&wp(t,s)?(t=dp(),Tl=nu=ui=null,Os=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(s.ctrlKey||s.altKey||s.metaKey)||s.ctrlKey&&s.altKey){if(s.char&&1<s.char.length)return s.char;if(s.which)return String.fromCharCode(s.which)}return null;case"compositionend":return bp&&s.locale!=="ko"?null:s.data;default:return null}}var O1={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function _p(t){var s=t&&t.nodeName&&t.nodeName.toLowerCase();return s==="input"?!!O1[t.type]:s==="textarea"}function Ep(t,s,a,c){ks?Ms?Ms.push(c):Ms=[c]:ks=c,s=vo(s,"onChange"),0<s.length&&(a=new Nl("onChange","change",null,a,c),t.push({event:a,listeners:s}))}var Pr=null,Jr=null;function j1(t){ay(t,0)}function Ml(t){var s=Gr(t);if(rp(s))return t}function Tp(t,s){if(t==="change")return s}var Ap=!1;if(zn){var ou;if(zn){var cu="oninput"in document;if(!cu){var Cp=document.createElement("div");Cp.setAttribute("oninput","return;"),cu=typeof Cp.oninput=="function"}ou=cu}else ou=!1;Ap=ou&&(!document.documentMode||9<document.documentMode)}function Np(){Pr&&(Pr.detachEvent("onpropertychange",kp),Jr=Pr=null)}function kp(t){if(t.propertyName==="value"&&Ml(Jr)){var s=[];Ep(s,Jr,t,Wc(t)),hp(j1,s)}}function L1(t,s,a){t==="focusin"?(Np(),Pr=s,Jr=a,Pr.attachEvent("onpropertychange",kp)):t==="focusout"&&Np()}function R1(t){if(t==="selectionchange"||t==="keyup"||t==="keydown")return Ml(Jr)}function D1(t,s){if(t==="click")return Ml(s)}function z1(t,s){if(t==="input"||t==="change")return Ml(s)}function U1(t,s){return t===s&&(t!==0||1/t===1/s)||t!==t&&s!==s}var Xt=typeof Object.is=="function"?Object.is:U1;function Zr(t,s){if(Xt(t,s))return!0;if(typeof t!="object"||t===null||typeof s!="object"||s===null)return!1;var a=Object.keys(t),c=Object.keys(s);if(a.length!==c.length)return!1;for(c=0;c<a.length;c++){var h=a[c];if(!ws.call(s,h)||!Xt(t[h],s[h]))return!1}return!0}function Mp(t){for(;t&&t.firstChild;)t=t.firstChild;return t}function Op(t,s){var a=Mp(t);t=0;for(var c;a;){if(a.nodeType===3){if(c=t+a.textContent.length,t<=s&&c>=s)return{node:a,offset:s-t};t=c}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=Mp(a)}}function jp(t,s){return t&&s?t===s?!0:t&&t.nodeType===3?!1:s&&s.nodeType===3?jp(t,s.parentNode):"contains"in t?t.contains(s):t.compareDocumentPosition?!!(t.compareDocumentPosition(s)&16):!1:!1}function Lp(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var s=_l(t.document);s instanceof t.HTMLIFrameElement;){try{var a=typeof s.contentWindow.location.href=="string"}catch{a=!1}if(a)t=s.contentWindow;else break;s=_l(t.document)}return s}function uu(t){var s=t&&t.nodeName&&t.nodeName.toLowerCase();return s&&(s==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||s==="textarea"||t.contentEditable==="true")}var H1=zn&&"documentMode"in document&&11>=document.documentMode,js=null,fu=null,Wr=null,hu=!1;function Rp(t,s,a){var c=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;hu||js==null||js!==_l(c)||(c=js,"selectionStart"in c&&uu(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset}),Wr&&Zr(Wr,c)||(Wr=c,c=vo(fu,"onSelect"),0<c.length&&(s=new Nl("onSelect","select",null,s,a),t.push({event:s,listeners:c}),s.target=js)))}function Xi(t,s){var a={};return a[t.toLowerCase()]=s.toLowerCase(),a["Webkit"+t]="webkit"+s,a["Moz"+t]="moz"+s,a}var Ls={animationend:Xi("Animation","AnimationEnd"),animationiteration:Xi("Animation","AnimationIteration"),animationstart:Xi("Animation","AnimationStart"),transitionrun:Xi("Transition","TransitionRun"),transitionstart:Xi("Transition","TransitionStart"),transitioncancel:Xi("Transition","TransitionCancel"),transitionend:Xi("Transition","TransitionEnd")},du={},Dp={};zn&&(Dp=document.createElement("div").style,"AnimationEvent"in window||(delete Ls.animationend.animation,delete Ls.animationiteration.animation,delete Ls.animationstart.animation),"TransitionEvent"in window||delete Ls.transitionend.transition);function Yi(t){if(du[t])return du[t];if(!Ls[t])return t;var s=Ls[t],a;for(a in s)if(s.hasOwnProperty(a)&&a in Dp)return du[t]=s[a];return t}var zp=Yi("animationend"),Up=Yi("animationiteration"),Hp=Yi("animationstart"),B1=Yi("transitionrun"),q1=Yi("transitionstart"),$1=Yi("transitioncancel"),Bp=Yi("transitionend"),qp=new Map,pu="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");pu.push("scrollEnd");function vn(t,s){qp.set(t,s),Gi(s,[t])}var Ol=typeof reportError=="function"?reportError:function(t){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var s=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof t=="object"&&t!==null&&typeof t.message=="string"?String(t.message):String(t),error:t});if(!window.dispatchEvent(s))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",t);return}console.error(t)},an=[],Rs=0,gu=0;function jl(){for(var t=Rs,s=gu=Rs=0;s<t;){var a=an[s];an[s++]=null;var c=an[s];an[s++]=null;var h=an[s];an[s++]=null;var p=an[s];if(an[s++]=null,c!==null&&h!==null){var y=c.pending;y===null?h.next=h:(h.next=y.next,y.next=h),c.pending=h}p!==0&&$p(a,h,p)}}function Ll(t,s,a,c){an[Rs++]=t,an[Rs++]=s,an[Rs++]=a,an[Rs++]=c,gu|=c,t.lanes|=c,t=t.alternate,t!==null&&(t.lanes|=c)}function mu(t,s,a,c){return Ll(t,s,a,c),Rl(t)}function Fi(t,s){return Ll(t,null,null,s),Rl(t)}function $p(t,s,a){t.lanes|=a;var c=t.alternate;c!==null&&(c.lanes|=a);for(var h=!1,p=t.return;p!==null;)p.childLanes|=a,c=p.alternate,c!==null&&(c.childLanes|=a),p.tag===22&&(t=p.stateNode,t===null||t._visibility&1||(h=!0)),t=p,p=p.return;return t.tag===3?(p=t.stateNode,h&&s!==null&&(h=31-kt(a),t=p.hiddenUpdates,c=t[h],c===null?t[h]=[s]:c.push(s),s.lane=a|536870912),p):null}function Rl(t){if(50<wa)throw wa=0,Af=null,Error(r(185));for(var s=t.return;s!==null;)t=s,s=t.return;return t.tag===3?t.stateNode:null}var Ds={};function I1(t,s,a,c){this.tag=t,this.key=a,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=s,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=c,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Yt(t,s,a,c){return new I1(t,s,a,c)}function yu(t){return t=t.prototype,!(!t||!t.isReactComponent)}function Un(t,s){var a=t.alternate;return a===null?(a=Yt(t.tag,s,t.key,t.mode),a.elementType=t.elementType,a.type=t.type,a.stateNode=t.stateNode,a.alternate=t,t.alternate=a):(a.pendingProps=s,a.type=t.type,a.flags=0,a.subtreeFlags=0,a.deletions=null),a.flags=t.flags&65011712,a.childLanes=t.childLanes,a.lanes=t.lanes,a.child=t.child,a.memoizedProps=t.memoizedProps,a.memoizedState=t.memoizedState,a.updateQueue=t.updateQueue,s=t.dependencies,a.dependencies=s===null?null:{lanes:s.lanes,firstContext:s.firstContext},a.sibling=t.sibling,a.index=t.index,a.ref=t.ref,a.refCleanup=t.refCleanup,a}function Ip(t,s){t.flags&=65011714;var a=t.alternate;return a===null?(t.childLanes=0,t.lanes=s,t.child=null,t.subtreeFlags=0,t.memoizedProps=null,t.memoizedState=null,t.updateQueue=null,t.dependencies=null,t.stateNode=null):(t.childLanes=a.childLanes,t.lanes=a.lanes,t.child=a.child,t.subtreeFlags=0,t.deletions=null,t.memoizedProps=a.memoizedProps,t.memoizedState=a.memoizedState,t.updateQueue=a.updateQueue,t.type=a.type,s=a.dependencies,t.dependencies=s===null?null:{lanes:s.lanes,firstContext:s.firstContext}),t}function Dl(t,s,a,c,h,p){var y=0;if(c=t,typeof t=="function")yu(t)&&(y=1);else if(typeof t=="string")y=Yw(t,a,P.current)?26:t==="html"||t==="head"||t==="body"?27:5;else e:switch(t){case O:return t=Yt(31,a,s,h),t.elementType=O,t.lanes=p,t;case x:return Qi(a.children,h,p,s);case _:y=8,h|=24;break;case A:return t=Yt(12,a,s,h|2),t.elementType=A,t.lanes=p,t;case X:return t=Yt(13,a,s,h),t.elementType=X,t.lanes=p,t;case U:return t=Yt(19,a,s,h),t.elementType=U,t.lanes=p,t;default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case $:y=10;break e;case N:y=9;break e;case G:y=11;break e;case L:y=14;break e;case B:y=16,c=null;break e}y=29,a=Error(r(130,t===null?"null":typeof t,"")),c=null}return s=Yt(y,a,s,h),s.elementType=t,s.type=c,s.lanes=p,s}function Qi(t,s,a,c){return t=Yt(7,t,c,s),t.lanes=a,t}function bu(t,s,a){return t=Yt(6,t,null,s),t.lanes=a,t}function Vp(t){var s=Yt(18,null,null,0);return s.stateNode=t,s}function vu(t,s,a){return s=Yt(4,t.children!==null?t.children:[],t.key,s),s.lanes=a,s.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},s}var Gp=new WeakMap;function ln(t,s){if(typeof t=="object"&&t!==null){var a=Gp.get(t);return a!==void 0?a:(s={value:t,source:s,stack:qi(s)},Gp.set(t,s),s)}return{value:t,source:s,stack:qi(s)}}var zs=[],Us=0,zl=null,ea=0,on=[],cn=0,fi=null,Cn=1,Nn="";function Hn(t,s){zs[Us++]=ea,zs[Us++]=zl,zl=t,ea=s}function Kp(t,s,a){on[cn++]=Cn,on[cn++]=Nn,on[cn++]=fi,fi=t;var c=Cn;t=Nn;var h=32-kt(c)-1;c&=~(1<<h),a+=1;var p=32-kt(s)+h;if(30<p){var y=h-h%5;p=(c&(1<<y)-1).toString(32),c>>=y,h-=y,Cn=1<<32-kt(s)+h|a<<h|c,Nn=p+t}else Cn=1<<p|a<<h|c,Nn=t}function Su(t){t.return!==null&&(Hn(t,1),Kp(t,1,0))}function wu(t){for(;t===zl;)zl=zs[--Us],zs[Us]=null,ea=zs[--Us],zs[Us]=null;for(;t===fi;)fi=on[--cn],on[cn]=null,Nn=on[--cn],on[cn]=null,Cn=on[--cn],on[cn]=null}function Xp(t,s){on[cn++]=Cn,on[cn++]=Nn,on[cn++]=fi,Cn=s.id,Nn=s.overflow,fi=t}var gt=null,He=null,we=!1,hi=null,un=!1,xu=Error(r(519));function di(t){var s=Error(r(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw ta(ln(s,t)),xu}function Yp(t){var s=t.stateNode,a=t.type,c=t.memoizedProps;switch(s[pt]=t,s[jt]=c,a){case"dialog":ye("cancel",s),ye("close",s);break;case"iframe":case"object":case"embed":ye("load",s);break;case"video":case"audio":for(a=0;a<_a.length;a++)ye(_a[a],s);break;case"source":ye("error",s);break;case"img":case"image":case"link":ye("error",s),ye("load",s);break;case"details":ye("toggle",s);break;case"input":ye("invalid",s),ap(s,c.value,c.defaultValue,c.checked,c.defaultChecked,c.type,c.name,!0);break;case"select":ye("invalid",s);break;case"textarea":ye("invalid",s),op(s,c.value,c.defaultValue,c.children)}a=c.children,typeof a!="string"&&typeof a!="number"&&typeof a!="bigint"||s.textContent===""+a||c.suppressHydrationWarning===!0||uy(s.textContent,a)?(c.popover!=null&&(ye("beforetoggle",s),ye("toggle",s)),c.onScroll!=null&&ye("scroll",s),c.onScrollEnd!=null&&ye("scrollend",s),c.onClick!=null&&(s.onclick=Dn),s=!0):s=!1,s||di(t,!0)}function Fp(t){for(gt=t.return;gt;)switch(gt.tag){case 5:case 31:case 13:un=!1;return;case 27:case 3:un=!0;return;default:gt=gt.return}}function Hs(t){if(t!==gt)return!1;if(!we)return Fp(t),we=!0,!1;var s=t.tag,a;if((a=s!==3&&s!==27)&&((a=s===5)&&(a=t.type,a=!(a!=="form"&&a!=="button")||$f(t.type,t.memoizedProps)),a=!a),a&&He&&di(t),Fp(t),s===13){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(r(317));He=vy(t)}else if(s===31){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(r(317));He=vy(t)}else s===27?(s=He,Ci(t.type)?(t=Xf,Xf=null,He=t):He=s):He=gt?hn(t.stateNode.nextSibling):null;return!0}function Pi(){He=gt=null,we=!1}function _u(){var t=hi;return t!==null&&(Ut===null?Ut=t:Ut.push.apply(Ut,t),hi=null),t}function ta(t){hi===null?hi=[t]:hi.push(t)}var Eu=M(null),Ji=null,Bn=null;function pi(t,s,a){Z(Eu,s._currentValue),s._currentValue=a}function qn(t){t._currentValue=Eu.current,Y(Eu)}function Tu(t,s,a){for(;t!==null;){var c=t.alternate;if((t.childLanes&s)!==s?(t.childLanes|=s,c!==null&&(c.childLanes|=s)):c!==null&&(c.childLanes&s)!==s&&(c.childLanes|=s),t===a)break;t=t.return}}function Au(t,s,a,c){var h=t.child;for(h!==null&&(h.return=t);h!==null;){var p=h.dependencies;if(p!==null){var y=h.child;p=p.firstContext;e:for(;p!==null;){var T=p;p=h;for(var C=0;C<s.length;C++)if(T.context===s[C]){p.lanes|=a,T=p.alternate,T!==null&&(T.lanes|=a),Tu(p.return,a,t),c||(y=null);break e}p=T.next}}else if(h.tag===18){if(y=h.return,y===null)throw Error(r(341));y.lanes|=a,p=y.alternate,p!==null&&(p.lanes|=a),Tu(y,a,t),y=null}else y=h.child;if(y!==null)y.return=h;else for(y=h;y!==null;){if(y===t){y=null;break}if(h=y.sibling,h!==null){h.return=y.return,y=h;break}y=y.return}h=y}}function Bs(t,s,a,c){t=null;for(var h=s,p=!1;h!==null;){if(!p){if((h.flags&524288)!==0)p=!0;else if((h.flags&262144)!==0)break}if(h.tag===10){var y=h.alternate;if(y===null)throw Error(r(387));if(y=y.memoizedProps,y!==null){var T=h.type;Xt(h.pendingProps.value,y.value)||(t!==null?t.push(T):t=[T])}}else if(h===be.current){if(y=h.alternate,y===null)throw Error(r(387));y.memoizedState.memoizedState!==h.memoizedState.memoizedState&&(t!==null?t.push(Na):t=[Na])}h=h.return}t!==null&&Au(s,t,a,c),s.flags|=262144}function Ul(t){for(t=t.firstContext;t!==null;){if(!Xt(t.context._currentValue,t.memoizedValue))return!0;t=t.next}return!1}function Zi(t){Ji=t,Bn=null,t=t.dependencies,t!==null&&(t.firstContext=null)}function mt(t){return Qp(Ji,t)}function Hl(t,s){return Ji===null&&Zi(t),Qp(t,s)}function Qp(t,s){var a=s._currentValue;if(s={context:s,memoizedValue:a,next:null},Bn===null){if(t===null)throw Error(r(308));Bn=s,t.dependencies={lanes:0,firstContext:s},t.flags|=524288}else Bn=Bn.next=s;return a}var V1=typeof AbortController<"u"?AbortController:function(){var t=[],s=this.signal={aborted:!1,addEventListener:function(a,c){t.push(c)}};this.abort=function(){s.aborted=!0,t.forEach(function(a){return a()})}},G1=n.unstable_scheduleCallback,K1=n.unstable_NormalPriority,tt={$$typeof:$,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Cu(){return{controller:new V1,data:new Map,refCount:0}}function na(t){t.refCount--,t.refCount===0&&G1(K1,function(){t.controller.abort()})}var ia=null,Nu=0,qs=0,$s=null;function X1(t,s){if(ia===null){var a=ia=[];Nu=0,qs=jf(),$s={status:"pending",value:void 0,then:function(c){a.push(c)}}}return Nu++,s.then(Pp,Pp),s}function Pp(){if(--Nu===0&&ia!==null){$s!==null&&($s.status="fulfilled");var t=ia;ia=null,qs=0,$s=null;for(var s=0;s<t.length;s++)(0,t[s])()}}function Y1(t,s){var a=[],c={status:"pending",value:null,reason:null,then:function(h){a.push(h)}};return t.then(function(){c.status="fulfilled",c.value=s;for(var h=0;h<a.length;h++)(0,a[h])(s)},function(h){for(c.status="rejected",c.reason=h,h=0;h<a.length;h++)(0,a[h])(void 0)}),c}var Jp=I.S;I.S=function(t,s){Rm=Ct(),typeof s=="object"&&s!==null&&typeof s.then=="function"&&X1(t,s),Jp!==null&&Jp(t,s)};var Wi=M(null);function ku(){var t=Wi.current;return t!==null?t:De.pooledCache}function Bl(t,s){s===null?Z(Wi,Wi.current):Z(Wi,s.pool)}function Zp(){var t=ku();return t===null?null:{parent:tt._currentValue,pool:t}}var Is=Error(r(460)),Mu=Error(r(474)),ql=Error(r(542)),$l={then:function(){}};function Wp(t){return t=t.status,t==="fulfilled"||t==="rejected"}function eg(t,s,a){switch(a=t[a],a===void 0?t.push(s):a!==s&&(s.then(Dn,Dn),s=a),s.status){case"fulfilled":return s.value;case"rejected":throw t=s.reason,ng(t),t;default:if(typeof s.status=="string")s.then(Dn,Dn);else{if(t=De,t!==null&&100<t.shellSuspendCounter)throw Error(r(482));t=s,t.status="pending",t.then(function(c){if(s.status==="pending"){var h=s;h.status="fulfilled",h.value=c}},function(c){if(s.status==="pending"){var h=s;h.status="rejected",h.reason=c}})}switch(s.status){case"fulfilled":return s.value;case"rejected":throw t=s.reason,ng(t),t}throw ts=s,Is}}function es(t){try{var s=t._init;return s(t._payload)}catch(a){throw a!==null&&typeof a=="object"&&typeof a.then=="function"?(ts=a,Is):a}}var ts=null;function tg(){if(ts===null)throw Error(r(459));var t=ts;return ts=null,t}function ng(t){if(t===Is||t===ql)throw Error(r(483))}var Vs=null,sa=0;function Il(t){var s=sa;return sa+=1,Vs===null&&(Vs=[]),eg(Vs,t,s)}function ra(t,s){s=s.props.ref,t.ref=s!==void 0?s:null}function Vl(t,s){throw s.$$typeof===S?Error(r(525)):(t=Object.prototype.toString.call(s),Error(r(31,t==="[object Object]"?"object with keys {"+Object.keys(s).join(", ")+"}":t)))}function ig(t){function s(j,k){if(t){var D=j.deletions;D===null?(j.deletions=[k],j.flags|=16):D.push(k)}}function a(j,k){if(!t)return null;for(;k!==null;)s(j,k),k=k.sibling;return null}function c(j){for(var k=new Map;j!==null;)j.key!==null?k.set(j.key,j):k.set(j.index,j),j=j.sibling;return k}function h(j,k){return j=Un(j,k),j.index=0,j.sibling=null,j}function p(j,k,D){return j.index=D,t?(D=j.alternate,D!==null?(D=D.index,D<k?(j.flags|=67108866,k):D):(j.flags|=67108866,k)):(j.flags|=1048576,k)}function y(j){return t&&j.alternate===null&&(j.flags|=67108866),j}function T(j,k,D,F){return k===null||k.tag!==6?(k=bu(D,j.mode,F),k.return=j,k):(k=h(k,D),k.return=j,k)}function C(j,k,D,F){var se=D.type;return se===x?K(j,k,D.props.children,F,D.key):k!==null&&(k.elementType===se||typeof se=="object"&&se!==null&&se.$$typeof===B&&es(se)===k.type)?(k=h(k,D.props),ra(k,D),k.return=j,k):(k=Dl(D.type,D.key,D.props,null,j.mode,F),ra(k,D),k.return=j,k)}function z(j,k,D,F){return k===null||k.tag!==4||k.stateNode.containerInfo!==D.containerInfo||k.stateNode.implementation!==D.implementation?(k=vu(D,j.mode,F),k.return=j,k):(k=h(k,D.children||[]),k.return=j,k)}function K(j,k,D,F,se){return k===null||k.tag!==7?(k=Qi(D,j.mode,F,se),k.return=j,k):(k=h(k,D),k.return=j,k)}function Q(j,k,D){if(typeof k=="string"&&k!==""||typeof k=="number"||typeof k=="bigint")return k=bu(""+k,j.mode,D),k.return=j,k;if(typeof k=="object"&&k!==null){switch(k.$$typeof){case w:return D=Dl(k.type,k.key,k.props,null,j.mode,D),ra(D,k),D.return=j,D;case E:return k=vu(k,j.mode,D),k.return=j,k;case B:return k=es(k),Q(j,k,D)}if(Ue(k)||V(k))return k=Qi(k,j.mode,D,null),k.return=j,k;if(typeof k.then=="function")return Q(j,Il(k),D);if(k.$$typeof===$)return Q(j,Hl(j,k),D);Vl(j,k)}return null}function H(j,k,D,F){var se=k!==null?k.key:null;if(typeof D=="string"&&D!==""||typeof D=="number"||typeof D=="bigint")return se!==null?null:T(j,k,""+D,F);if(typeof D=="object"&&D!==null){switch(D.$$typeof){case w:return D.key===se?C(j,k,D,F):null;case E:return D.key===se?z(j,k,D,F):null;case B:return D=es(D),H(j,k,D,F)}if(Ue(D)||V(D))return se!==null?null:K(j,k,D,F,null);if(typeof D.then=="function")return H(j,k,Il(D),F);if(D.$$typeof===$)return H(j,k,Hl(j,D),F);Vl(j,D)}return null}function q(j,k,D,F,se){if(typeof F=="string"&&F!==""||typeof F=="number"||typeof F=="bigint")return j=j.get(D)||null,T(k,j,""+F,se);if(typeof F=="object"&&F!==null){switch(F.$$typeof){case w:return j=j.get(F.key===null?D:F.key)||null,C(k,j,F,se);case E:return j=j.get(F.key===null?D:F.key)||null,z(k,j,F,se);case B:return F=es(F),q(j,k,D,F,se)}if(Ue(F)||V(F))return j=j.get(D)||null,K(k,j,F,se,null);if(typeof F.then=="function")return q(j,k,D,Il(F),se);if(F.$$typeof===$)return q(j,k,D,Hl(k,F),se);Vl(k,F)}return null}function ee(j,k,D,F){for(var se=null,Te=null,ie=k,pe=k=0,Se=null;ie!==null&&pe<D.length;pe++){ie.index>pe?(Se=ie,ie=null):Se=ie.sibling;var Ae=H(j,ie,D[pe],F);if(Ae===null){ie===null&&(ie=Se);break}t&&ie&&Ae.alternate===null&&s(j,ie),k=p(Ae,k,pe),Te===null?se=Ae:Te.sibling=Ae,Te=Ae,ie=Se}if(pe===D.length)return a(j,ie),we&&Hn(j,pe),se;if(ie===null){for(;pe<D.length;pe++)ie=Q(j,D[pe],F),ie!==null&&(k=p(ie,k,pe),Te===null?se=ie:Te.sibling=ie,Te=ie);return we&&Hn(j,pe),se}for(ie=c(ie);pe<D.length;pe++)Se=q(ie,j,pe,D[pe],F),Se!==null&&(t&&Se.alternate!==null&&ie.delete(Se.key===null?pe:Se.key),k=p(Se,k,pe),Te===null?se=Se:Te.sibling=Se,Te=Se);return t&&ie.forEach(function(ji){return s(j,ji)}),we&&Hn(j,pe),se}function le(j,k,D,F){if(D==null)throw Error(r(151));for(var se=null,Te=null,ie=k,pe=k=0,Se=null,Ae=D.next();ie!==null&&!Ae.done;pe++,Ae=D.next()){ie.index>pe?(Se=ie,ie=null):Se=ie.sibling;var ji=H(j,ie,Ae.value,F);if(ji===null){ie===null&&(ie=Se);break}t&&ie&&ji.alternate===null&&s(j,ie),k=p(ji,k,pe),Te===null?se=ji:Te.sibling=ji,Te=ji,ie=Se}if(Ae.done)return a(j,ie),we&&Hn(j,pe),se;if(ie===null){for(;!Ae.done;pe++,Ae=D.next())Ae=Q(j,Ae.value,F),Ae!==null&&(k=p(Ae,k,pe),Te===null?se=Ae:Te.sibling=Ae,Te=Ae);return we&&Hn(j,pe),se}for(ie=c(ie);!Ae.done;pe++,Ae=D.next())Ae=q(ie,j,pe,Ae.value,F),Ae!==null&&(t&&Ae.alternate!==null&&ie.delete(Ae.key===null?pe:Ae.key),k=p(Ae,k,pe),Te===null?se=Ae:Te.sibling=Ae,Te=Ae);return t&&ie.forEach(function(sx){return s(j,sx)}),we&&Hn(j,pe),se}function Re(j,k,D,F){if(typeof D=="object"&&D!==null&&D.type===x&&D.key===null&&(D=D.props.children),typeof D=="object"&&D!==null){switch(D.$$typeof){case w:e:{for(var se=D.key;k!==null;){if(k.key===se){if(se=D.type,se===x){if(k.tag===7){a(j,k.sibling),F=h(k,D.props.children),F.return=j,j=F;break e}}else if(k.elementType===se||typeof se=="object"&&se!==null&&se.$$typeof===B&&es(se)===k.type){a(j,k.sibling),F=h(k,D.props),ra(F,D),F.return=j,j=F;break e}a(j,k);break}else s(j,k);k=k.sibling}D.type===x?(F=Qi(D.props.children,j.mode,F,D.key),F.return=j,j=F):(F=Dl(D.type,D.key,D.props,null,j.mode,F),ra(F,D),F.return=j,j=F)}return y(j);case E:e:{for(se=D.key;k!==null;){if(k.key===se)if(k.tag===4&&k.stateNode.containerInfo===D.containerInfo&&k.stateNode.implementation===D.implementation){a(j,k.sibling),F=h(k,D.children||[]),F.return=j,j=F;break e}else{a(j,k);break}else s(j,k);k=k.sibling}F=vu(D,j.mode,F),F.return=j,j=F}return y(j);case B:return D=es(D),Re(j,k,D,F)}if(Ue(D))return ee(j,k,D,F);if(V(D)){if(se=V(D),typeof se!="function")throw Error(r(150));return D=se.call(D),le(j,k,D,F)}if(typeof D.then=="function")return Re(j,k,Il(D),F);if(D.$$typeof===$)return Re(j,k,Hl(j,D),F);Vl(j,D)}return typeof D=="string"&&D!==""||typeof D=="number"||typeof D=="bigint"?(D=""+D,k!==null&&k.tag===6?(a(j,k.sibling),F=h(k,D),F.return=j,j=F):(a(j,k),F=bu(D,j.mode,F),F.return=j,j=F),y(j)):a(j,k)}return function(j,k,D,F){try{sa=0;var se=Re(j,k,D,F);return Vs=null,se}catch(ie){if(ie===Is||ie===ql)throw ie;var Te=Yt(29,ie,null,j.mode);return Te.lanes=F,Te.return=j,Te}finally{}}}var ns=ig(!0),sg=ig(!1),gi=!1;function Ou(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ju(t,s){t=t.updateQueue,s.updateQueue===t&&(s.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function mi(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function yi(t,s,a){var c=t.updateQueue;if(c===null)return null;if(c=c.shared,(Ce&2)!==0){var h=c.pending;return h===null?s.next=s:(s.next=h.next,h.next=s),c.pending=s,s=Rl(t),$p(t,null,a),s}return Ll(t,c,s,a),Rl(t)}function aa(t,s,a){if(s=s.updateQueue,s!==null&&(s=s.shared,(a&4194048)!==0)){var c=s.lanes;c&=t.pendingLanes,a|=c,s.lanes=a,Qd(t,a)}}function Lu(t,s){var a=t.updateQueue,c=t.alternate;if(c!==null&&(c=c.updateQueue,a===c)){var h=null,p=null;if(a=a.firstBaseUpdate,a!==null){do{var y={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};p===null?h=p=y:p=p.next=y,a=a.next}while(a!==null);p===null?h=p=s:p=p.next=s}else h=p=s;a={baseState:c.baseState,firstBaseUpdate:h,lastBaseUpdate:p,shared:c.shared,callbacks:c.callbacks},t.updateQueue=a;return}t=a.lastBaseUpdate,t===null?a.firstBaseUpdate=s:t.next=s,a.lastBaseUpdate=s}var Ru=!1;function la(){if(Ru){var t=$s;if(t!==null)throw t}}function oa(t,s,a,c){Ru=!1;var h=t.updateQueue;gi=!1;var p=h.firstBaseUpdate,y=h.lastBaseUpdate,T=h.shared.pending;if(T!==null){h.shared.pending=null;var C=T,z=C.next;C.next=null,y===null?p=z:y.next=z,y=C;var K=t.alternate;K!==null&&(K=K.updateQueue,T=K.lastBaseUpdate,T!==y&&(T===null?K.firstBaseUpdate=z:T.next=z,K.lastBaseUpdate=C))}if(p!==null){var Q=h.baseState;y=0,K=z=C=null,T=p;do{var H=T.lane&-536870913,q=H!==T.lane;if(q?(ve&H)===H:(c&H)===H){H!==0&&H===qs&&(Ru=!0),K!==null&&(K=K.next={lane:0,tag:T.tag,payload:T.payload,callback:null,next:null});e:{var ee=t,le=T;H=s;var Re=a;switch(le.tag){case 1:if(ee=le.payload,typeof ee=="function"){Q=ee.call(Re,Q,H);break e}Q=ee;break e;case 3:ee.flags=ee.flags&-65537|128;case 0:if(ee=le.payload,H=typeof ee=="function"?ee.call(Re,Q,H):ee,H==null)break e;Q=m({},Q,H);break e;case 2:gi=!0}}H=T.callback,H!==null&&(t.flags|=64,q&&(t.flags|=8192),q=h.callbacks,q===null?h.callbacks=[H]:q.push(H))}else q={lane:H,tag:T.tag,payload:T.payload,callback:T.callback,next:null},K===null?(z=K=q,C=Q):K=K.next=q,y|=H;if(T=T.next,T===null){if(T=h.shared.pending,T===null)break;q=T,T=q.next,q.next=null,h.lastBaseUpdate=q,h.shared.pending=null}}while(!0);K===null&&(C=Q),h.baseState=C,h.firstBaseUpdate=z,h.lastBaseUpdate=K,p===null&&(h.shared.lanes=0),xi|=y,t.lanes=y,t.memoizedState=Q}}function rg(t,s){if(typeof t!="function")throw Error(r(191,t));t.call(s)}function ag(t,s){var a=t.callbacks;if(a!==null)for(t.callbacks=null,t=0;t<a.length;t++)rg(a[t],s)}var Gs=M(null),Gl=M(0);function lg(t,s){t=Qn,Z(Gl,t),Z(Gs,s),Qn=t|s.baseLanes}function Du(){Z(Gl,Qn),Z(Gs,Gs.current)}function zu(){Qn=Gl.current,Y(Gs),Y(Gl)}var Ft=M(null),fn=null;function bi(t){var s=t.alternate;Z(Qe,Qe.current&1),Z(Ft,t),fn===null&&(s===null||Gs.current!==null||s.memoizedState!==null)&&(fn=t)}function Uu(t){Z(Qe,Qe.current),Z(Ft,t),fn===null&&(fn=t)}function og(t){t.tag===22?(Z(Qe,Qe.current),Z(Ft,t),fn===null&&(fn=t)):vi()}function vi(){Z(Qe,Qe.current),Z(Ft,Ft.current)}function Qt(t){Y(Ft),fn===t&&(fn=null),Y(Qe)}var Qe=M(0);function Kl(t){for(var s=t;s!==null;){if(s.tag===13){var a=s.memoizedState;if(a!==null&&(a=a.dehydrated,a===null||Gf(a)||Kf(a)))return s}else if(s.tag===19&&(s.memoizedProps.revealOrder==="forwards"||s.memoizedProps.revealOrder==="backwards"||s.memoizedProps.revealOrder==="unstable_legacy-backwards"||s.memoizedProps.revealOrder==="together")){if((s.flags&128)!==0)return s}else if(s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break;for(;s.sibling===null;){if(s.return===null||s.return===t)return null;s=s.return}s.sibling.return=s.return,s=s.sibling}return null}var $n=0,de=null,je=null,nt=null,Xl=!1,Ks=!1,is=!1,Yl=0,ca=0,Xs=null,F1=0;function Ye(){throw Error(r(321))}function Hu(t,s){if(s===null)return!1;for(var a=0;a<s.length&&a<t.length;a++)if(!Xt(t[a],s[a]))return!1;return!0}function Bu(t,s,a,c,h,p){return $n=p,de=s,s.memoizedState=null,s.updateQueue=null,s.lanes=0,I.H=t===null||t.memoizedState===null?Kg:ef,is=!1,p=a(c,h),is=!1,Ks&&(p=ug(s,a,c,h)),cg(t),p}function cg(t){I.H=ha;var s=je!==null&&je.next!==null;if($n=0,nt=je=de=null,Xl=!1,ca=0,Xs=null,s)throw Error(r(300));t===null||it||(t=t.dependencies,t!==null&&Ul(t)&&(it=!0))}function ug(t,s,a,c){de=t;var h=0;do{if(Ks&&(Xs=null),ca=0,Ks=!1,25<=h)throw Error(r(301));if(h+=1,nt=je=null,t.updateQueue!=null){var p=t.updateQueue;p.lastEffect=null,p.events=null,p.stores=null,p.memoCache!=null&&(p.memoCache.index=0)}I.H=Xg,p=s(a,c)}while(Ks);return p}function Q1(){var t=I.H,s=t.useState()[0];return s=typeof s.then=="function"?ua(s):s,t=t.useState()[0],(je!==null?je.memoizedState:null)!==t&&(de.flags|=1024),s}function qu(){var t=Yl!==0;return Yl=0,t}function $u(t,s,a){s.updateQueue=t.updateQueue,s.flags&=-2053,t.lanes&=~a}function Iu(t){if(Xl){for(t=t.memoizedState;t!==null;){var s=t.queue;s!==null&&(s.pending=null),t=t.next}Xl=!1}$n=0,nt=je=de=null,Ks=!1,ca=Yl=0,Xs=null}function Mt(){var t={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return nt===null?de.memoizedState=nt=t:nt=nt.next=t,nt}function Pe(){if(je===null){var t=de.alternate;t=t!==null?t.memoizedState:null}else t=je.next;var s=nt===null?de.memoizedState:nt.next;if(s!==null)nt=s,je=t;else{if(t===null)throw de.alternate===null?Error(r(467)):Error(r(310));je=t,t={memoizedState:je.memoizedState,baseState:je.baseState,baseQueue:je.baseQueue,queue:je.queue,next:null},nt===null?de.memoizedState=nt=t:nt=nt.next=t}return nt}function Fl(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function ua(t){var s=ca;return ca+=1,Xs===null&&(Xs=[]),t=eg(Xs,t,s),s=de,(nt===null?s.memoizedState:nt.next)===null&&(s=s.alternate,I.H=s===null||s.memoizedState===null?Kg:ef),t}function Ql(t){if(t!==null&&typeof t=="object"){if(typeof t.then=="function")return ua(t);if(t.$$typeof===$)return mt(t)}throw Error(r(438,String(t)))}function Vu(t){var s=null,a=de.updateQueue;if(a!==null&&(s=a.memoCache),s==null){var c=de.alternate;c!==null&&(c=c.updateQueue,c!==null&&(c=c.memoCache,c!=null&&(s={data:c.data.map(function(h){return h.slice()}),index:0})))}if(s==null&&(s={data:[],index:0}),a===null&&(a=Fl(),de.updateQueue=a),a.memoCache=s,a=s.data[s.index],a===void 0)for(a=s.data[s.index]=Array(t),c=0;c<t;c++)a[c]=ne;return s.index++,a}function In(t,s){return typeof s=="function"?s(t):s}function Pl(t){var s=Pe();return Gu(s,je,t)}function Gu(t,s,a){var c=t.queue;if(c===null)throw Error(r(311));c.lastRenderedReducer=a;var h=t.baseQueue,p=c.pending;if(p!==null){if(h!==null){var y=h.next;h.next=p.next,p.next=y}s.baseQueue=h=p,c.pending=null}if(p=t.baseState,h===null)t.memoizedState=p;else{s=h.next;var T=y=null,C=null,z=s,K=!1;do{var Q=z.lane&-536870913;if(Q!==z.lane?(ve&Q)===Q:($n&Q)===Q){var H=z.revertLane;if(H===0)C!==null&&(C=C.next={lane:0,revertLane:0,gesture:null,action:z.action,hasEagerState:z.hasEagerState,eagerState:z.eagerState,next:null}),Q===qs&&(K=!0);else if(($n&H)===H){z=z.next,H===qs&&(K=!0);continue}else Q={lane:0,revertLane:z.revertLane,gesture:null,action:z.action,hasEagerState:z.hasEagerState,eagerState:z.eagerState,next:null},C===null?(T=C=Q,y=p):C=C.next=Q,de.lanes|=H,xi|=H;Q=z.action,is&&a(p,Q),p=z.hasEagerState?z.eagerState:a(p,Q)}else H={lane:Q,revertLane:z.revertLane,gesture:z.gesture,action:z.action,hasEagerState:z.hasEagerState,eagerState:z.eagerState,next:null},C===null?(T=C=H,y=p):C=C.next=H,de.lanes|=Q,xi|=Q;z=z.next}while(z!==null&&z!==s);if(C===null?y=p:C.next=T,!Xt(p,t.memoizedState)&&(it=!0,K&&(a=$s,a!==null)))throw a;t.memoizedState=p,t.baseState=y,t.baseQueue=C,c.lastRenderedState=p}return h===null&&(c.lanes=0),[t.memoizedState,c.dispatch]}function Ku(t){var s=Pe(),a=s.queue;if(a===null)throw Error(r(311));a.lastRenderedReducer=t;var c=a.dispatch,h=a.pending,p=s.memoizedState;if(h!==null){a.pending=null;var y=h=h.next;do p=t(p,y.action),y=y.next;while(y!==h);Xt(p,s.memoizedState)||(it=!0),s.memoizedState=p,s.baseQueue===null&&(s.baseState=p),a.lastRenderedState=p}return[p,c]}function fg(t,s,a){var c=de,h=Pe(),p=we;if(p){if(a===void 0)throw Error(r(407));a=a()}else a=s();var y=!Xt((je||h).memoizedState,a);if(y&&(h.memoizedState=a,it=!0),h=h.queue,Fu(pg.bind(null,c,h,t),[t]),h.getSnapshot!==s||y||nt!==null&&nt.memoizedState.tag&1){if(c.flags|=2048,Ys(9,{destroy:void 0},dg.bind(null,c,h,a,s),null),De===null)throw Error(r(349));p||($n&127)!==0||hg(c,s,a)}return a}function hg(t,s,a){t.flags|=16384,t={getSnapshot:s,value:a},s=de.updateQueue,s===null?(s=Fl(),de.updateQueue=s,s.stores=[t]):(a=s.stores,a===null?s.stores=[t]:a.push(t))}function dg(t,s,a,c){s.value=a,s.getSnapshot=c,gg(s)&&mg(t)}function pg(t,s,a){return a(function(){gg(s)&&mg(t)})}function gg(t){var s=t.getSnapshot;t=t.value;try{var a=s();return!Xt(t,a)}catch{return!0}}function mg(t){var s=Fi(t,2);s!==null&&Ht(s,t,2)}function Xu(t){var s=Mt();if(typeof t=="function"){var a=t;if(t=a(),is){An(!0);try{a()}finally{An(!1)}}}return s.memoizedState=s.baseState=t,s.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:In,lastRenderedState:t},s}function yg(t,s,a,c){return t.baseState=a,Gu(t,je,typeof c=="function"?c:In)}function P1(t,s,a,c,h){if(Wl(t))throw Error(r(485));if(t=s.action,t!==null){var p={payload:h,action:t,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(y){p.listeners.push(y)}};I.T!==null?a(!0):p.isTransition=!1,c(p),a=s.pending,a===null?(p.next=s.pending=p,bg(s,p)):(p.next=a.next,s.pending=a.next=p)}}function bg(t,s){var a=s.action,c=s.payload,h=t.state;if(s.isTransition){var p=I.T,y={};I.T=y;try{var T=a(h,c),C=I.S;C!==null&&C(y,T),vg(t,s,T)}catch(z){Yu(t,s,z)}finally{p!==null&&y.types!==null&&(p.types=y.types),I.T=p}}else try{p=a(h,c),vg(t,s,p)}catch(z){Yu(t,s,z)}}function vg(t,s,a){a!==null&&typeof a=="object"&&typeof a.then=="function"?a.then(function(c){Sg(t,s,c)},function(c){return Yu(t,s,c)}):Sg(t,s,a)}function Sg(t,s,a){s.status="fulfilled",s.value=a,wg(s),t.state=a,s=t.pending,s!==null&&(a=s.next,a===s?t.pending=null:(a=a.next,s.next=a,bg(t,a)))}function Yu(t,s,a){var c=t.pending;if(t.pending=null,c!==null){c=c.next;do s.status="rejected",s.reason=a,wg(s),s=s.next;while(s!==c)}t.action=null}function wg(t){t=t.listeners;for(var s=0;s<t.length;s++)(0,t[s])()}function xg(t,s){return s}function _g(t,s){if(we){var a=De.formState;if(a!==null){e:{var c=de;if(we){if(He){t:{for(var h=He,p=un;h.nodeType!==8;){if(!p){h=null;break t}if(h=hn(h.nextSibling),h===null){h=null;break t}}p=h.data,h=p==="F!"||p==="F"?h:null}if(h){He=hn(h.nextSibling),c=h.data==="F!";break e}}di(c)}c=!1}c&&(s=a[0])}}return a=Mt(),a.memoizedState=a.baseState=s,c={pending:null,lanes:0,dispatch:null,lastRenderedReducer:xg,lastRenderedState:s},a.queue=c,a=Ig.bind(null,de,c),c.dispatch=a,c=Xu(!1),p=Wu.bind(null,de,!1,c.queue),c=Mt(),h={state:s,dispatch:null,action:t,pending:null},c.queue=h,a=P1.bind(null,de,h,p,a),h.dispatch=a,c.memoizedState=t,[s,a,!1]}function Eg(t){var s=Pe();return Tg(s,je,t)}function Tg(t,s,a){if(s=Gu(t,s,xg)[0],t=Pl(In)[0],typeof s=="object"&&s!==null&&typeof s.then=="function")try{var c=ua(s)}catch(y){throw y===Is?ql:y}else c=s;s=Pe();var h=s.queue,p=h.dispatch;return a!==s.memoizedState&&(de.flags|=2048,Ys(9,{destroy:void 0},J1.bind(null,h,a),null)),[c,p,t]}function J1(t,s){t.action=s}function Ag(t){var s=Pe(),a=je;if(a!==null)return Tg(s,a,t);Pe(),s=s.memoizedState,a=Pe();var c=a.queue.dispatch;return a.memoizedState=t,[s,c,!1]}function Ys(t,s,a,c){return t={tag:t,create:a,deps:c,inst:s,next:null},s=de.updateQueue,s===null&&(s=Fl(),de.updateQueue=s),a=s.lastEffect,a===null?s.lastEffect=t.next=t:(c=a.next,a.next=t,t.next=c,s.lastEffect=t),t}function Cg(){return Pe().memoizedState}function Jl(t,s,a,c){var h=Mt();de.flags|=t,h.memoizedState=Ys(1|s,{destroy:void 0},a,c===void 0?null:c)}function Zl(t,s,a,c){var h=Pe();c=c===void 0?null:c;var p=h.memoizedState.inst;je!==null&&c!==null&&Hu(c,je.memoizedState.deps)?h.memoizedState=Ys(s,p,a,c):(de.flags|=t,h.memoizedState=Ys(1|s,p,a,c))}function Ng(t,s){Jl(8390656,8,t,s)}function Fu(t,s){Zl(2048,8,t,s)}function Z1(t){de.flags|=4;var s=de.updateQueue;if(s===null)s=Fl(),de.updateQueue=s,s.events=[t];else{var a=s.events;a===null?s.events=[t]:a.push(t)}}function kg(t){var s=Pe().memoizedState;return Z1({ref:s,nextImpl:t}),function(){if((Ce&2)!==0)throw Error(r(440));return s.impl.apply(void 0,arguments)}}function Mg(t,s){return Zl(4,2,t,s)}function Og(t,s){return Zl(4,4,t,s)}function jg(t,s){if(typeof s=="function"){t=t();var a=s(t);return function(){typeof a=="function"?a():s(null)}}if(s!=null)return t=t(),s.current=t,function(){s.current=null}}function Lg(t,s,a){a=a!=null?a.concat([t]):null,Zl(4,4,jg.bind(null,s,t),a)}function Qu(){}function Rg(t,s){var a=Pe();s=s===void 0?null:s;var c=a.memoizedState;return s!==null&&Hu(s,c[1])?c[0]:(a.memoizedState=[t,s],t)}function Dg(t,s){var a=Pe();s=s===void 0?null:s;var c=a.memoizedState;if(s!==null&&Hu(s,c[1]))return c[0];if(c=t(),is){An(!0);try{t()}finally{An(!1)}}return a.memoizedState=[c,s],c}function Pu(t,s,a){return a===void 0||($n&1073741824)!==0&&(ve&261930)===0?t.memoizedState=s:(t.memoizedState=a,t=zm(),de.lanes|=t,xi|=t,a)}function zg(t,s,a,c){return Xt(a,s)?a:Gs.current!==null?(t=Pu(t,a,c),Xt(t,s)||(it=!0),t):($n&42)===0||($n&1073741824)!==0&&(ve&261930)===0?(it=!0,t.memoizedState=a):(t=zm(),de.lanes|=t,xi|=t,s)}function Ug(t,s,a,c,h){var p=J.p;J.p=p!==0&&8>p?p:8;var y=I.T,T={};I.T=T,Wu(t,!1,s,a);try{var C=h(),z=I.S;if(z!==null&&z(T,C),C!==null&&typeof C=="object"&&typeof C.then=="function"){var K=Y1(C,c);fa(t,s,K,Zt(t))}else fa(t,s,c,Zt(t))}catch(Q){fa(t,s,{then:function(){},status:"rejected",reason:Q},Zt())}finally{J.p=p,y!==null&&T.types!==null&&(y.types=T.types),I.T=y}}function W1(){}function Ju(t,s,a,c){if(t.tag!==5)throw Error(r(476));var h=Hg(t).queue;Ug(t,h,s,re,a===null?W1:function(){return Bg(t),a(c)})}function Hg(t){var s=t.memoizedState;if(s!==null)return s;s={memoizedState:re,baseState:re,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:In,lastRenderedState:re},next:null};var a={};return s.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:In,lastRenderedState:a},next:null},t.memoizedState=s,t=t.alternate,t!==null&&(t.memoizedState=s),s}function Bg(t){var s=Hg(t);s.next===null&&(s=t.alternate.memoizedState),fa(t,s.next.queue,{},Zt())}function Zu(){return mt(Na)}function qg(){return Pe().memoizedState}function $g(){return Pe().memoizedState}function ew(t){for(var s=t.return;s!==null;){switch(s.tag){case 24:case 3:var a=Zt();t=mi(a);var c=yi(s,t,a);c!==null&&(Ht(c,s,a),aa(c,s,a)),s={cache:Cu()},t.payload=s;return}s=s.return}}function tw(t,s,a){var c=Zt();a={lane:c,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},Wl(t)?Vg(s,a):(a=mu(t,s,a,c),a!==null&&(Ht(a,t,c),Gg(a,s,c)))}function Ig(t,s,a){var c=Zt();fa(t,s,a,c)}function fa(t,s,a,c){var h={lane:c,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(Wl(t))Vg(s,h);else{var p=t.alternate;if(t.lanes===0&&(p===null||p.lanes===0)&&(p=s.lastRenderedReducer,p!==null))try{var y=s.lastRenderedState,T=p(y,a);if(h.hasEagerState=!0,h.eagerState=T,Xt(T,y))return Ll(t,s,h,0),De===null&&jl(),!1}catch{}finally{}if(a=mu(t,s,h,c),a!==null)return Ht(a,t,c),Gg(a,s,c),!0}return!1}function Wu(t,s,a,c){if(c={lane:2,revertLane:jf(),gesture:null,action:c,hasEagerState:!1,eagerState:null,next:null},Wl(t)){if(s)throw Error(r(479))}else s=mu(t,a,c,2),s!==null&&Ht(s,t,2)}function Wl(t){var s=t.alternate;return t===de||s!==null&&s===de}function Vg(t,s){Ks=Xl=!0;var a=t.pending;a===null?s.next=s:(s.next=a.next,a.next=s),t.pending=s}function Gg(t,s,a){if((a&4194048)!==0){var c=s.lanes;c&=t.pendingLanes,a|=c,s.lanes=a,Qd(t,a)}}var ha={readContext:mt,use:Ql,useCallback:Ye,useContext:Ye,useEffect:Ye,useImperativeHandle:Ye,useLayoutEffect:Ye,useInsertionEffect:Ye,useMemo:Ye,useReducer:Ye,useRef:Ye,useState:Ye,useDebugValue:Ye,useDeferredValue:Ye,useTransition:Ye,useSyncExternalStore:Ye,useId:Ye,useHostTransitionStatus:Ye,useFormState:Ye,useActionState:Ye,useOptimistic:Ye,useMemoCache:Ye,useCacheRefresh:Ye};ha.useEffectEvent=Ye;var Kg={readContext:mt,use:Ql,useCallback:function(t,s){return Mt().memoizedState=[t,s===void 0?null:s],t},useContext:mt,useEffect:Ng,useImperativeHandle:function(t,s,a){a=a!=null?a.concat([t]):null,Jl(4194308,4,jg.bind(null,s,t),a)},useLayoutEffect:function(t,s){return Jl(4194308,4,t,s)},useInsertionEffect:function(t,s){Jl(4,2,t,s)},useMemo:function(t,s){var a=Mt();s=s===void 0?null:s;var c=t();if(is){An(!0);try{t()}finally{An(!1)}}return a.memoizedState=[c,s],c},useReducer:function(t,s,a){var c=Mt();if(a!==void 0){var h=a(s);if(is){An(!0);try{a(s)}finally{An(!1)}}}else h=s;return c.memoizedState=c.baseState=h,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:h},c.queue=t,t=t.dispatch=tw.bind(null,de,t),[c.memoizedState,t]},useRef:function(t){var s=Mt();return t={current:t},s.memoizedState=t},useState:function(t){t=Xu(t);var s=t.queue,a=Ig.bind(null,de,s);return s.dispatch=a,[t.memoizedState,a]},useDebugValue:Qu,useDeferredValue:function(t,s){var a=Mt();return Pu(a,t,s)},useTransition:function(){var t=Xu(!1);return t=Ug.bind(null,de,t.queue,!0,!1),Mt().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,s,a){var c=de,h=Mt();if(we){if(a===void 0)throw Error(r(407));a=a()}else{if(a=s(),De===null)throw Error(r(349));(ve&127)!==0||hg(c,s,a)}h.memoizedState=a;var p={value:a,getSnapshot:s};return h.queue=p,Ng(pg.bind(null,c,p,t),[t]),c.flags|=2048,Ys(9,{destroy:void 0},dg.bind(null,c,p,a,s),null),a},useId:function(){var t=Mt(),s=De.identifierPrefix;if(we){var a=Nn,c=Cn;a=(c&~(1<<32-kt(c)-1)).toString(32)+a,s="_"+s+"R_"+a,a=Yl++,0<a&&(s+="H"+a.toString(32)),s+="_"}else a=F1++,s="_"+s+"r_"+a.toString(32)+"_";return t.memoizedState=s},useHostTransitionStatus:Zu,useFormState:_g,useActionState:_g,useOptimistic:function(t){var s=Mt();s.memoizedState=s.baseState=t;var a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return s.queue=a,s=Wu.bind(null,de,!0,a),a.dispatch=s,[t,s]},useMemoCache:Vu,useCacheRefresh:function(){return Mt().memoizedState=ew.bind(null,de)},useEffectEvent:function(t){var s=Mt(),a={impl:t};return s.memoizedState=a,function(){if((Ce&2)!==0)throw Error(r(440));return a.impl.apply(void 0,arguments)}}},ef={readContext:mt,use:Ql,useCallback:Rg,useContext:mt,useEffect:Fu,useImperativeHandle:Lg,useInsertionEffect:Mg,useLayoutEffect:Og,useMemo:Dg,useReducer:Pl,useRef:Cg,useState:function(){return Pl(In)},useDebugValue:Qu,useDeferredValue:function(t,s){var a=Pe();return zg(a,je.memoizedState,t,s)},useTransition:function(){var t=Pl(In)[0],s=Pe().memoizedState;return[typeof t=="boolean"?t:ua(t),s]},useSyncExternalStore:fg,useId:qg,useHostTransitionStatus:Zu,useFormState:Eg,useActionState:Eg,useOptimistic:function(t,s){var a=Pe();return yg(a,je,t,s)},useMemoCache:Vu,useCacheRefresh:$g};ef.useEffectEvent=kg;var Xg={readContext:mt,use:Ql,useCallback:Rg,useContext:mt,useEffect:Fu,useImperativeHandle:Lg,useInsertionEffect:Mg,useLayoutEffect:Og,useMemo:Dg,useReducer:Ku,useRef:Cg,useState:function(){return Ku(In)},useDebugValue:Qu,useDeferredValue:function(t,s){var a=Pe();return je===null?Pu(a,t,s):zg(a,je.memoizedState,t,s)},useTransition:function(){var t=Ku(In)[0],s=Pe().memoizedState;return[typeof t=="boolean"?t:ua(t),s]},useSyncExternalStore:fg,useId:qg,useHostTransitionStatus:Zu,useFormState:Ag,useActionState:Ag,useOptimistic:function(t,s){var a=Pe();return je!==null?yg(a,je,t,s):(a.baseState=t,[t,a.queue.dispatch])},useMemoCache:Vu,useCacheRefresh:$g};Xg.useEffectEvent=kg;function tf(t,s,a,c){s=t.memoizedState,a=a(c,s),a=a==null?s:m({},s,a),t.memoizedState=a,t.lanes===0&&(t.updateQueue.baseState=a)}var nf={enqueueSetState:function(t,s,a){t=t._reactInternals;var c=Zt(),h=mi(c);h.payload=s,a!=null&&(h.callback=a),s=yi(t,h,c),s!==null&&(Ht(s,t,c),aa(s,t,c))},enqueueReplaceState:function(t,s,a){t=t._reactInternals;var c=Zt(),h=mi(c);h.tag=1,h.payload=s,a!=null&&(h.callback=a),s=yi(t,h,c),s!==null&&(Ht(s,t,c),aa(s,t,c))},enqueueForceUpdate:function(t,s){t=t._reactInternals;var a=Zt(),c=mi(a);c.tag=2,s!=null&&(c.callback=s),s=yi(t,c,a),s!==null&&(Ht(s,t,a),aa(s,t,a))}};function Yg(t,s,a,c,h,p,y){return t=t.stateNode,typeof t.shouldComponentUpdate=="function"?t.shouldComponentUpdate(c,p,y):s.prototype&&s.prototype.isPureReactComponent?!Zr(a,c)||!Zr(h,p):!0}function Fg(t,s,a,c){t=s.state,typeof s.componentWillReceiveProps=="function"&&s.componentWillReceiveProps(a,c),typeof s.UNSAFE_componentWillReceiveProps=="function"&&s.UNSAFE_componentWillReceiveProps(a,c),s.state!==t&&nf.enqueueReplaceState(s,s.state,null)}function ss(t,s){var a=s;if("ref"in s){a={};for(var c in s)c!=="ref"&&(a[c]=s[c])}if(t=t.defaultProps){a===s&&(a=m({},a));for(var h in t)a[h]===void 0&&(a[h]=t[h])}return a}function Qg(t){Ol(t)}function Pg(t){console.error(t)}function Jg(t){Ol(t)}function eo(t,s){try{var a=t.onUncaughtError;a(s.value,{componentStack:s.stack})}catch(c){setTimeout(function(){throw c})}}function Zg(t,s,a){try{var c=t.onCaughtError;c(a.value,{componentStack:a.stack,errorBoundary:s.tag===1?s.stateNode:null})}catch(h){setTimeout(function(){throw h})}}function sf(t,s,a){return a=mi(a),a.tag=3,a.payload={element:null},a.callback=function(){eo(t,s)},a}function Wg(t){return t=mi(t),t.tag=3,t}function em(t,s,a,c){var h=a.type.getDerivedStateFromError;if(typeof h=="function"){var p=c.value;t.payload=function(){return h(p)},t.callback=function(){Zg(s,a,c)}}var y=a.stateNode;y!==null&&typeof y.componentDidCatch=="function"&&(t.callback=function(){Zg(s,a,c),typeof h!="function"&&(_i===null?_i=new Set([this]):_i.add(this));var T=c.stack;this.componentDidCatch(c.value,{componentStack:T!==null?T:""})})}function nw(t,s,a,c,h){if(a.flags|=32768,c!==null&&typeof c=="object"&&typeof c.then=="function"){if(s=a.alternate,s!==null&&Bs(s,a,h,!0),a=Ft.current,a!==null){switch(a.tag){case 31:case 13:return fn===null?ho():a.alternate===null&&Fe===0&&(Fe=3),a.flags&=-257,a.flags|=65536,a.lanes=h,c===$l?a.flags|=16384:(s=a.updateQueue,s===null?a.updateQueue=new Set([c]):s.add(c),kf(t,c,h)),!1;case 22:return a.flags|=65536,c===$l?a.flags|=16384:(s=a.updateQueue,s===null?(s={transitions:null,markerInstances:null,retryQueue:new Set([c])},a.updateQueue=s):(a=s.retryQueue,a===null?s.retryQueue=new Set([c]):a.add(c)),kf(t,c,h)),!1}throw Error(r(435,a.tag))}return kf(t,c,h),ho(),!1}if(we)return s=Ft.current,s!==null?((s.flags&65536)===0&&(s.flags|=256),s.flags|=65536,s.lanes=h,c!==xu&&(t=Error(r(422),{cause:c}),ta(ln(t,a)))):(c!==xu&&(s=Error(r(423),{cause:c}),ta(ln(s,a))),t=t.current.alternate,t.flags|=65536,h&=-h,t.lanes|=h,c=ln(c,a),h=sf(t.stateNode,c,h),Lu(t,h),Fe!==4&&(Fe=2)),!1;var p=Error(r(520),{cause:c});if(p=ln(p,a),Sa===null?Sa=[p]:Sa.push(p),Fe!==4&&(Fe=2),s===null)return!0;c=ln(c,a),a=s;do{switch(a.tag){case 3:return a.flags|=65536,t=h&-h,a.lanes|=t,t=sf(a.stateNode,c,t),Lu(a,t),!1;case 1:if(s=a.type,p=a.stateNode,(a.flags&128)===0&&(typeof s.getDerivedStateFromError=="function"||p!==null&&typeof p.componentDidCatch=="function"&&(_i===null||!_i.has(p))))return a.flags|=65536,h&=-h,a.lanes|=h,h=Wg(h),em(h,t,a,c),Lu(a,h),!1}a=a.return}while(a!==null);return!1}var rf=Error(r(461)),it=!1;function yt(t,s,a,c){s.child=t===null?sg(s,null,a,c):ns(s,t.child,a,c)}function tm(t,s,a,c,h){a=a.render;var p=s.ref;if("ref"in c){var y={};for(var T in c)T!=="ref"&&(y[T]=c[T])}else y=c;return Zi(s),c=Bu(t,s,a,y,p,h),T=qu(),t!==null&&!it?($u(t,s,h),Vn(t,s,h)):(we&&T&&Su(s),s.flags|=1,yt(t,s,c,h),s.child)}function nm(t,s,a,c,h){if(t===null){var p=a.type;return typeof p=="function"&&!yu(p)&&p.defaultProps===void 0&&a.compare===null?(s.tag=15,s.type=p,im(t,s,p,c,h)):(t=Dl(a.type,null,c,s,s.mode,h),t.ref=s.ref,t.return=s,s.child=t)}if(p=t.child,!df(t,h)){var y=p.memoizedProps;if(a=a.compare,a=a!==null?a:Zr,a(y,c)&&t.ref===s.ref)return Vn(t,s,h)}return s.flags|=1,t=Un(p,c),t.ref=s.ref,t.return=s,s.child=t}function im(t,s,a,c,h){if(t!==null){var p=t.memoizedProps;if(Zr(p,c)&&t.ref===s.ref)if(it=!1,s.pendingProps=c=p,df(t,h))(t.flags&131072)!==0&&(it=!0);else return s.lanes=t.lanes,Vn(t,s,h)}return af(t,s,a,c,h)}function sm(t,s,a,c){var h=c.children,p=t!==null?t.memoizedState:null;if(t===null&&s.stateNode===null&&(s.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),c.mode==="hidden"){if((s.flags&128)!==0){if(p=p!==null?p.baseLanes|a:a,t!==null){for(c=s.child=t.child,h=0;c!==null;)h=h|c.lanes|c.childLanes,c=c.sibling;c=h&~p}else c=0,s.child=null;return rm(t,s,p,a,c)}if((a&536870912)!==0)s.memoizedState={baseLanes:0,cachePool:null},t!==null&&Bl(s,p!==null?p.cachePool:null),p!==null?lg(s,p):Du(),og(s);else return c=s.lanes=536870912,rm(t,s,p!==null?p.baseLanes|a:a,a,c)}else p!==null?(Bl(s,p.cachePool),lg(s,p),vi(),s.memoizedState=null):(t!==null&&Bl(s,null),Du(),vi());return yt(t,s,h,a),s.child}function da(t,s){return t!==null&&t.tag===22||s.stateNode!==null||(s.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),s.sibling}function rm(t,s,a,c,h){var p=ku();return p=p===null?null:{parent:tt._currentValue,pool:p},s.memoizedState={baseLanes:a,cachePool:p},t!==null&&Bl(s,null),Du(),og(s),t!==null&&Bs(t,s,c,!0),s.childLanes=h,null}function to(t,s){return s=io({mode:s.mode,children:s.children},t.mode),s.ref=t.ref,t.child=s,s.return=t,s}function am(t,s,a){return ns(s,t.child,null,a),t=to(s,s.pendingProps),t.flags|=2,Qt(s),s.memoizedState=null,t}function iw(t,s,a){var c=s.pendingProps,h=(s.flags&128)!==0;if(s.flags&=-129,t===null){if(we){if(c.mode==="hidden")return t=to(s,c),s.lanes=536870912,da(null,t);if(Uu(s),(t=He)?(t=by(t,un),t=t!==null&&t.data==="&"?t:null,t!==null&&(s.memoizedState={dehydrated:t,treeContext:fi!==null?{id:Cn,overflow:Nn}:null,retryLane:536870912,hydrationErrors:null},a=Vp(t),a.return=s,s.child=a,gt=s,He=null)):t=null,t===null)throw di(s);return s.lanes=536870912,null}return to(s,c)}var p=t.memoizedState;if(p!==null){var y=p.dehydrated;if(Uu(s),h)if(s.flags&256)s.flags&=-257,s=am(t,s,a);else if(s.memoizedState!==null)s.child=t.child,s.flags|=128,s=null;else throw Error(r(558));else if(it||Bs(t,s,a,!1),h=(a&t.childLanes)!==0,it||h){if(c=De,c!==null&&(y=Pd(c,a),y!==0&&y!==p.retryLane))throw p.retryLane=y,Fi(t,y),Ht(c,t,y),rf;ho(),s=am(t,s,a)}else t=p.treeContext,He=hn(y.nextSibling),gt=s,we=!0,hi=null,un=!1,t!==null&&Xp(s,t),s=to(s,c),s.flags|=4096;return s}return t=Un(t.child,{mode:c.mode,children:c.children}),t.ref=s.ref,s.child=t,t.return=s,t}function no(t,s){var a=s.ref;if(a===null)t!==null&&t.ref!==null&&(s.flags|=4194816);else{if(typeof a!="function"&&typeof a!="object")throw Error(r(284));(t===null||t.ref!==a)&&(s.flags|=4194816)}}function af(t,s,a,c,h){return Zi(s),a=Bu(t,s,a,c,void 0,h),c=qu(),t!==null&&!it?($u(t,s,h),Vn(t,s,h)):(we&&c&&Su(s),s.flags|=1,yt(t,s,a,h),s.child)}function lm(t,s,a,c,h,p){return Zi(s),s.updateQueue=null,a=ug(s,c,a,h),cg(t),c=qu(),t!==null&&!it?($u(t,s,p),Vn(t,s,p)):(we&&c&&Su(s),s.flags|=1,yt(t,s,a,p),s.child)}function om(t,s,a,c,h){if(Zi(s),s.stateNode===null){var p=Ds,y=a.contextType;typeof y=="object"&&y!==null&&(p=mt(y)),p=new a(c,p),s.memoizedState=p.state!==null&&p.state!==void 0?p.state:null,p.updater=nf,s.stateNode=p,p._reactInternals=s,p=s.stateNode,p.props=c,p.state=s.memoizedState,p.refs={},Ou(s),y=a.contextType,p.context=typeof y=="object"&&y!==null?mt(y):Ds,p.state=s.memoizedState,y=a.getDerivedStateFromProps,typeof y=="function"&&(tf(s,a,y,c),p.state=s.memoizedState),typeof a.getDerivedStateFromProps=="function"||typeof p.getSnapshotBeforeUpdate=="function"||typeof p.UNSAFE_componentWillMount!="function"&&typeof p.componentWillMount!="function"||(y=p.state,typeof p.componentWillMount=="function"&&p.componentWillMount(),typeof p.UNSAFE_componentWillMount=="function"&&p.UNSAFE_componentWillMount(),y!==p.state&&nf.enqueueReplaceState(p,p.state,null),oa(s,c,p,h),la(),p.state=s.memoizedState),typeof p.componentDidMount=="function"&&(s.flags|=4194308),c=!0}else if(t===null){p=s.stateNode;var T=s.memoizedProps,C=ss(a,T);p.props=C;var z=p.context,K=a.contextType;y=Ds,typeof K=="object"&&K!==null&&(y=mt(K));var Q=a.getDerivedStateFromProps;K=typeof Q=="function"||typeof p.getSnapshotBeforeUpdate=="function",T=s.pendingProps!==T,K||typeof p.UNSAFE_componentWillReceiveProps!="function"&&typeof p.componentWillReceiveProps!="function"||(T||z!==y)&&Fg(s,p,c,y),gi=!1;var H=s.memoizedState;p.state=H,oa(s,c,p,h),la(),z=s.memoizedState,T||H!==z||gi?(typeof Q=="function"&&(tf(s,a,Q,c),z=s.memoizedState),(C=gi||Yg(s,a,C,c,H,z,y))?(K||typeof p.UNSAFE_componentWillMount!="function"&&typeof p.componentWillMount!="function"||(typeof p.componentWillMount=="function"&&p.componentWillMount(),typeof p.UNSAFE_componentWillMount=="function"&&p.UNSAFE_componentWillMount()),typeof p.componentDidMount=="function"&&(s.flags|=4194308)):(typeof p.componentDidMount=="function"&&(s.flags|=4194308),s.memoizedProps=c,s.memoizedState=z),p.props=c,p.state=z,p.context=y,c=C):(typeof p.componentDidMount=="function"&&(s.flags|=4194308),c=!1)}else{p=s.stateNode,ju(t,s),y=s.memoizedProps,K=ss(a,y),p.props=K,Q=s.pendingProps,H=p.context,z=a.contextType,C=Ds,typeof z=="object"&&z!==null&&(C=mt(z)),T=a.getDerivedStateFromProps,(z=typeof T=="function"||typeof p.getSnapshotBeforeUpdate=="function")||typeof p.UNSAFE_componentWillReceiveProps!="function"&&typeof p.componentWillReceiveProps!="function"||(y!==Q||H!==C)&&Fg(s,p,c,C),gi=!1,H=s.memoizedState,p.state=H,oa(s,c,p,h),la();var q=s.memoizedState;y!==Q||H!==q||gi||t!==null&&t.dependencies!==null&&Ul(t.dependencies)?(typeof T=="function"&&(tf(s,a,T,c),q=s.memoizedState),(K=gi||Yg(s,a,K,c,H,q,C)||t!==null&&t.dependencies!==null&&Ul(t.dependencies))?(z||typeof p.UNSAFE_componentWillUpdate!="function"&&typeof p.componentWillUpdate!="function"||(typeof p.componentWillUpdate=="function"&&p.componentWillUpdate(c,q,C),typeof p.UNSAFE_componentWillUpdate=="function"&&p.UNSAFE_componentWillUpdate(c,q,C)),typeof p.componentDidUpdate=="function"&&(s.flags|=4),typeof p.getSnapshotBeforeUpdate=="function"&&(s.flags|=1024)):(typeof p.componentDidUpdate!="function"||y===t.memoizedProps&&H===t.memoizedState||(s.flags|=4),typeof p.getSnapshotBeforeUpdate!="function"||y===t.memoizedProps&&H===t.memoizedState||(s.flags|=1024),s.memoizedProps=c,s.memoizedState=q),p.props=c,p.state=q,p.context=C,c=K):(typeof p.componentDidUpdate!="function"||y===t.memoizedProps&&H===t.memoizedState||(s.flags|=4),typeof p.getSnapshotBeforeUpdate!="function"||y===t.memoizedProps&&H===t.memoizedState||(s.flags|=1024),c=!1)}return p=c,no(t,s),c=(s.flags&128)!==0,p||c?(p=s.stateNode,a=c&&typeof a.getDerivedStateFromError!="function"?null:p.render(),s.flags|=1,t!==null&&c?(s.child=ns(s,t.child,null,h),s.child=ns(s,null,a,h)):yt(t,s,a,h),s.memoizedState=p.state,t=s.child):t=Vn(t,s,h),t}function cm(t,s,a,c){return Pi(),s.flags|=256,yt(t,s,a,c),s.child}var lf={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function of(t){return{baseLanes:t,cachePool:Zp()}}function cf(t,s,a){return t=t!==null?t.childLanes&~a:0,s&&(t|=Jt),t}function um(t,s,a){var c=s.pendingProps,h=!1,p=(s.flags&128)!==0,y;if((y=p)||(y=t!==null&&t.memoizedState===null?!1:(Qe.current&2)!==0),y&&(h=!0,s.flags&=-129),y=(s.flags&32)!==0,s.flags&=-33,t===null){if(we){if(h?bi(s):vi(),(t=He)?(t=by(t,un),t=t!==null&&t.data!=="&"?t:null,t!==null&&(s.memoizedState={dehydrated:t,treeContext:fi!==null?{id:Cn,overflow:Nn}:null,retryLane:536870912,hydrationErrors:null},a=Vp(t),a.return=s,s.child=a,gt=s,He=null)):t=null,t===null)throw di(s);return Kf(t)?s.lanes=32:s.lanes=536870912,null}var T=c.children;return c=c.fallback,h?(vi(),h=s.mode,T=io({mode:"hidden",children:T},h),c=Qi(c,h,a,null),T.return=s,c.return=s,T.sibling=c,s.child=T,c=s.child,c.memoizedState=of(a),c.childLanes=cf(t,y,a),s.memoizedState=lf,da(null,c)):(bi(s),uf(s,T))}var C=t.memoizedState;if(C!==null&&(T=C.dehydrated,T!==null)){if(p)s.flags&256?(bi(s),s.flags&=-257,s=ff(t,s,a)):s.memoizedState!==null?(vi(),s.child=t.child,s.flags|=128,s=null):(vi(),T=c.fallback,h=s.mode,c=io({mode:"visible",children:c.children},h),T=Qi(T,h,a,null),T.flags|=2,c.return=s,T.return=s,c.sibling=T,s.child=c,ns(s,t.child,null,a),c=s.child,c.memoizedState=of(a),c.childLanes=cf(t,y,a),s.memoizedState=lf,s=da(null,c));else if(bi(s),Kf(T)){if(y=T.nextSibling&&T.nextSibling.dataset,y)var z=y.dgst;y=z,c=Error(r(419)),c.stack="",c.digest=y,ta({value:c,source:null,stack:null}),s=ff(t,s,a)}else if(it||Bs(t,s,a,!1),y=(a&t.childLanes)!==0,it||y){if(y=De,y!==null&&(c=Pd(y,a),c!==0&&c!==C.retryLane))throw C.retryLane=c,Fi(t,c),Ht(y,t,c),rf;Gf(T)||ho(),s=ff(t,s,a)}else Gf(T)?(s.flags|=192,s.child=t.child,s=null):(t=C.treeContext,He=hn(T.nextSibling),gt=s,we=!0,hi=null,un=!1,t!==null&&Xp(s,t),s=uf(s,c.children),s.flags|=4096);return s}return h?(vi(),T=c.fallback,h=s.mode,C=t.child,z=C.sibling,c=Un(C,{mode:"hidden",children:c.children}),c.subtreeFlags=C.subtreeFlags&65011712,z!==null?T=Un(z,T):(T=Qi(T,h,a,null),T.flags|=2),T.return=s,c.return=s,c.sibling=T,s.child=c,da(null,c),c=s.child,T=t.child.memoizedState,T===null?T=of(a):(h=T.cachePool,h!==null?(C=tt._currentValue,h=h.parent!==C?{parent:C,pool:C}:h):h=Zp(),T={baseLanes:T.baseLanes|a,cachePool:h}),c.memoizedState=T,c.childLanes=cf(t,y,a),s.memoizedState=lf,da(t.child,c)):(bi(s),a=t.child,t=a.sibling,a=Un(a,{mode:"visible",children:c.children}),a.return=s,a.sibling=null,t!==null&&(y=s.deletions,y===null?(s.deletions=[t],s.flags|=16):y.push(t)),s.child=a,s.memoizedState=null,a)}function uf(t,s){return s=io({mode:"visible",children:s},t.mode),s.return=t,t.child=s}function io(t,s){return t=Yt(22,t,null,s),t.lanes=0,t}function ff(t,s,a){return ns(s,t.child,null,a),t=uf(s,s.pendingProps.children),t.flags|=2,s.memoizedState=null,t}function fm(t,s,a){t.lanes|=s;var c=t.alternate;c!==null&&(c.lanes|=s),Tu(t.return,s,a)}function hf(t,s,a,c,h,p){var y=t.memoizedState;y===null?t.memoizedState={isBackwards:s,rendering:null,renderingStartTime:0,last:c,tail:a,tailMode:h,treeForkCount:p}:(y.isBackwards=s,y.rendering=null,y.renderingStartTime=0,y.last=c,y.tail=a,y.tailMode=h,y.treeForkCount=p)}function hm(t,s,a){var c=s.pendingProps,h=c.revealOrder,p=c.tail;c=c.children;var y=Qe.current,T=(y&2)!==0;if(T?(y=y&1|2,s.flags|=128):y&=1,Z(Qe,y),yt(t,s,c,a),c=we?ea:0,!T&&t!==null&&(t.flags&128)!==0)e:for(t=s.child;t!==null;){if(t.tag===13)t.memoizedState!==null&&fm(t,a,s);else if(t.tag===19)fm(t,a,s);else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===s)break e;for(;t.sibling===null;){if(t.return===null||t.return===s)break e;t=t.return}t.sibling.return=t.return,t=t.sibling}switch(h){case"forwards":for(a=s.child,h=null;a!==null;)t=a.alternate,t!==null&&Kl(t)===null&&(h=a),a=a.sibling;a=h,a===null?(h=s.child,s.child=null):(h=a.sibling,a.sibling=null),hf(s,!1,h,a,p,c);break;case"backwards":case"unstable_legacy-backwards":for(a=null,h=s.child,s.child=null;h!==null;){if(t=h.alternate,t!==null&&Kl(t)===null){s.child=h;break}t=h.sibling,h.sibling=a,a=h,h=t}hf(s,!0,a,null,p,c);break;case"together":hf(s,!1,null,null,void 0,c);break;default:s.memoizedState=null}return s.child}function Vn(t,s,a){if(t!==null&&(s.dependencies=t.dependencies),xi|=s.lanes,(a&s.childLanes)===0)if(t!==null){if(Bs(t,s,a,!1),(a&s.childLanes)===0)return null}else return null;if(t!==null&&s.child!==t.child)throw Error(r(153));if(s.child!==null){for(t=s.child,a=Un(t,t.pendingProps),s.child=a,a.return=s;t.sibling!==null;)t=t.sibling,a=a.sibling=Un(t,t.pendingProps),a.return=s;a.sibling=null}return s.child}function df(t,s){return(t.lanes&s)!==0?!0:(t=t.dependencies,!!(t!==null&&Ul(t)))}function sw(t,s,a){switch(s.tag){case 3:lt(s,s.stateNode.containerInfo),pi(s,tt,t.memoizedState.cache),Pi();break;case 27:case 5:At(s);break;case 4:lt(s,s.stateNode.containerInfo);break;case 10:pi(s,s.type,s.memoizedProps.value);break;case 31:if(s.memoizedState!==null)return s.flags|=128,Uu(s),null;break;case 13:var c=s.memoizedState;if(c!==null)return c.dehydrated!==null?(bi(s),s.flags|=128,null):(a&s.child.childLanes)!==0?um(t,s,a):(bi(s),t=Vn(t,s,a),t!==null?t.sibling:null);bi(s);break;case 19:var h=(t.flags&128)!==0;if(c=(a&s.childLanes)!==0,c||(Bs(t,s,a,!1),c=(a&s.childLanes)!==0),h){if(c)return hm(t,s,a);s.flags|=128}if(h=s.memoizedState,h!==null&&(h.rendering=null,h.tail=null,h.lastEffect=null),Z(Qe,Qe.current),c)break;return null;case 22:return s.lanes=0,sm(t,s,a,s.pendingProps);case 24:pi(s,tt,t.memoizedState.cache)}return Vn(t,s,a)}function dm(t,s,a){if(t!==null)if(t.memoizedProps!==s.pendingProps)it=!0;else{if(!df(t,a)&&(s.flags&128)===0)return it=!1,sw(t,s,a);it=(t.flags&131072)!==0}else it=!1,we&&(s.flags&1048576)!==0&&Kp(s,ea,s.index);switch(s.lanes=0,s.tag){case 16:e:{var c=s.pendingProps;if(t=es(s.elementType),s.type=t,typeof t=="function")yu(t)?(c=ss(t,c),s.tag=1,s=om(null,s,t,c,a)):(s.tag=0,s=af(null,s,t,c,a));else{if(t!=null){var h=t.$$typeof;if(h===G){s.tag=11,s=tm(null,s,t,c,a);break e}else if(h===L){s.tag=14,s=nm(null,s,t,c,a);break e}}throw s=ge(t)||t,Error(r(306,s,""))}}return s;case 0:return af(t,s,s.type,s.pendingProps,a);case 1:return c=s.type,h=ss(c,s.pendingProps),om(t,s,c,h,a);case 3:e:{if(lt(s,s.stateNode.containerInfo),t===null)throw Error(r(387));c=s.pendingProps;var p=s.memoizedState;h=p.element,ju(t,s),oa(s,c,null,a);var y=s.memoizedState;if(c=y.cache,pi(s,tt,c),c!==p.cache&&Au(s,[tt],a,!0),la(),c=y.element,p.isDehydrated)if(p={element:c,isDehydrated:!1,cache:y.cache},s.updateQueue.baseState=p,s.memoizedState=p,s.flags&256){s=cm(t,s,c,a);break e}else if(c!==h){h=ln(Error(r(424)),s),ta(h),s=cm(t,s,c,a);break e}else{switch(t=s.stateNode.containerInfo,t.nodeType){case 9:t=t.body;break;default:t=t.nodeName==="HTML"?t.ownerDocument.body:t}for(He=hn(t.firstChild),gt=s,we=!0,hi=null,un=!0,a=sg(s,null,c,a),s.child=a;a;)a.flags=a.flags&-3|4096,a=a.sibling}else{if(Pi(),c===h){s=Vn(t,s,a);break e}yt(t,s,c,a)}s=s.child}return s;case 26:return no(t,s),t===null?(a=Ey(s.type,null,s.pendingProps,null))?s.memoizedState=a:we||(a=s.type,t=s.pendingProps,c=So(he.current).createElement(a),c[pt]=s,c[jt]=t,bt(c,a,t),ht(c),s.stateNode=c):s.memoizedState=Ey(s.type,t.memoizedProps,s.pendingProps,t.memoizedState),null;case 27:return At(s),t===null&&we&&(c=s.stateNode=wy(s.type,s.pendingProps,he.current),gt=s,un=!0,h=He,Ci(s.type)?(Xf=h,He=hn(c.firstChild)):He=h),yt(t,s,s.pendingProps.children,a),no(t,s),t===null&&(s.flags|=4194304),s.child;case 5:return t===null&&we&&((h=c=He)&&(c=Rw(c,s.type,s.pendingProps,un),c!==null?(s.stateNode=c,gt=s,He=hn(c.firstChild),un=!1,h=!0):h=!1),h||di(s)),At(s),h=s.type,p=s.pendingProps,y=t!==null?t.memoizedProps:null,c=p.children,$f(h,p)?c=null:y!==null&&$f(h,y)&&(s.flags|=32),s.memoizedState!==null&&(h=Bu(t,s,Q1,null,null,a),Na._currentValue=h),no(t,s),yt(t,s,c,a),s.child;case 6:return t===null&&we&&((t=a=He)&&(a=Dw(a,s.pendingProps,un),a!==null?(s.stateNode=a,gt=s,He=null,t=!0):t=!1),t||di(s)),null;case 13:return um(t,s,a);case 4:return lt(s,s.stateNode.containerInfo),c=s.pendingProps,t===null?s.child=ns(s,null,c,a):yt(t,s,c,a),s.child;case 11:return tm(t,s,s.type,s.pendingProps,a);case 7:return yt(t,s,s.pendingProps,a),s.child;case 8:return yt(t,s,s.pendingProps.children,a),s.child;case 12:return yt(t,s,s.pendingProps.children,a),s.child;case 10:return c=s.pendingProps,pi(s,s.type,c.value),yt(t,s,c.children,a),s.child;case 9:return h=s.type._context,c=s.pendingProps.children,Zi(s),h=mt(h),c=c(h),s.flags|=1,yt(t,s,c,a),s.child;case 14:return nm(t,s,s.type,s.pendingProps,a);case 15:return im(t,s,s.type,s.pendingProps,a);case 19:return hm(t,s,a);case 31:return iw(t,s,a);case 22:return sm(t,s,a,s.pendingProps);case 24:return Zi(s),c=mt(tt),t===null?(h=ku(),h===null&&(h=De,p=Cu(),h.pooledCache=p,p.refCount++,p!==null&&(h.pooledCacheLanes|=a),h=p),s.memoizedState={parent:c,cache:h},Ou(s),pi(s,tt,h)):((t.lanes&a)!==0&&(ju(t,s),oa(s,null,null,a),la()),h=t.memoizedState,p=s.memoizedState,h.parent!==c?(h={parent:c,cache:c},s.memoizedState=h,s.lanes===0&&(s.memoizedState=s.updateQueue.baseState=h),pi(s,tt,c)):(c=p.cache,pi(s,tt,c),c!==h.cache&&Au(s,[tt],a,!0))),yt(t,s,s.pendingProps.children,a),s.child;case 29:throw s.pendingProps}throw Error(r(156,s.tag))}function Gn(t){t.flags|=4}function pf(t,s,a,c,h){if((s=(t.mode&32)!==0)&&(s=!1),s){if(t.flags|=16777216,(h&335544128)===h)if(t.stateNode.complete)t.flags|=8192;else if(qm())t.flags|=8192;else throw ts=$l,Mu}else t.flags&=-16777217}function pm(t,s){if(s.type!=="stylesheet"||(s.state.loading&4)!==0)t.flags&=-16777217;else if(t.flags|=16777216,!ky(s))if(qm())t.flags|=8192;else throw ts=$l,Mu}function so(t,s){s!==null&&(t.flags|=4),t.flags&16384&&(s=t.tag!==22?Yd():536870912,t.lanes|=s,Js|=s)}function pa(t,s){if(!we)switch(t.tailMode){case"hidden":s=t.tail;for(var a=null;s!==null;)s.alternate!==null&&(a=s),s=s.sibling;a===null?t.tail=null:a.sibling=null;break;case"collapsed":a=t.tail;for(var c=null;a!==null;)a.alternate!==null&&(c=a),a=a.sibling;c===null?s||t.tail===null?t.tail=null:t.tail.sibling=null:c.sibling=null}}function Be(t){var s=t.alternate!==null&&t.alternate.child===t.child,a=0,c=0;if(s)for(var h=t.child;h!==null;)a|=h.lanes|h.childLanes,c|=h.subtreeFlags&65011712,c|=h.flags&65011712,h.return=t,h=h.sibling;else for(h=t.child;h!==null;)a|=h.lanes|h.childLanes,c|=h.subtreeFlags,c|=h.flags,h.return=t,h=h.sibling;return t.subtreeFlags|=c,t.childLanes=a,s}function rw(t,s,a){var c=s.pendingProps;switch(wu(s),s.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Be(s),null;case 1:return Be(s),null;case 3:return a=s.stateNode,c=null,t!==null&&(c=t.memoizedState.cache),s.memoizedState.cache!==c&&(s.flags|=2048),qn(tt),ke(),a.pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),(t===null||t.child===null)&&(Hs(s)?Gn(s):t===null||t.memoizedState.isDehydrated&&(s.flags&256)===0||(s.flags|=1024,_u())),Be(s),null;case 26:var h=s.type,p=s.memoizedState;return t===null?(Gn(s),p!==null?(Be(s),pm(s,p)):(Be(s),pf(s,h,null,c,a))):p?p!==t.memoizedState?(Gn(s),Be(s),pm(s,p)):(Be(s),s.flags&=-16777217):(t=t.memoizedProps,t!==c&&Gn(s),Be(s),pf(s,h,t,c,a)),null;case 27:if(fe(s),a=he.current,h=s.type,t!==null&&s.stateNode!=null)t.memoizedProps!==c&&Gn(s);else{if(!c){if(s.stateNode===null)throw Error(r(166));return Be(s),null}t=P.current,Hs(s)?Yp(s):(t=wy(h,c,a),s.stateNode=t,Gn(s))}return Be(s),null;case 5:if(fe(s),h=s.type,t!==null&&s.stateNode!=null)t.memoizedProps!==c&&Gn(s);else{if(!c){if(s.stateNode===null)throw Error(r(166));return Be(s),null}if(p=P.current,Hs(s))Yp(s);else{var y=So(he.current);switch(p){case 1:p=y.createElementNS("http://www.w3.org/2000/svg",h);break;case 2:p=y.createElementNS("http://www.w3.org/1998/Math/MathML",h);break;default:switch(h){case"svg":p=y.createElementNS("http://www.w3.org/2000/svg",h);break;case"math":p=y.createElementNS("http://www.w3.org/1998/Math/MathML",h);break;case"script":p=y.createElement("div"),p.innerHTML="<script><\/script>",p=p.removeChild(p.firstChild);break;case"select":p=typeof c.is=="string"?y.createElement("select",{is:c.is}):y.createElement("select"),c.multiple?p.multiple=!0:c.size&&(p.size=c.size);break;default:p=typeof c.is=="string"?y.createElement(h,{is:c.is}):y.createElement(h)}}p[pt]=s,p[jt]=c;e:for(y=s.child;y!==null;){if(y.tag===5||y.tag===6)p.appendChild(y.stateNode);else if(y.tag!==4&&y.tag!==27&&y.child!==null){y.child.return=y,y=y.child;continue}if(y===s)break e;for(;y.sibling===null;){if(y.return===null||y.return===s)break e;y=y.return}y.sibling.return=y.return,y=y.sibling}s.stateNode=p;e:switch(bt(p,h,c),h){case"button":case"input":case"select":case"textarea":c=!!c.autoFocus;break e;case"img":c=!0;break e;default:c=!1}c&&Gn(s)}}return Be(s),pf(s,s.type,t===null?null:t.memoizedProps,s.pendingProps,a),null;case 6:if(t&&s.stateNode!=null)t.memoizedProps!==c&&Gn(s);else{if(typeof c!="string"&&s.stateNode===null)throw Error(r(166));if(t=he.current,Hs(s)){if(t=s.stateNode,a=s.memoizedProps,c=null,h=gt,h!==null)switch(h.tag){case 27:case 5:c=h.memoizedProps}t[pt]=s,t=!!(t.nodeValue===a||c!==null&&c.suppressHydrationWarning===!0||uy(t.nodeValue,a)),t||di(s,!0)}else t=So(t).createTextNode(c),t[pt]=s,s.stateNode=t}return Be(s),null;case 31:if(a=s.memoizedState,t===null||t.memoizedState!==null){if(c=Hs(s),a!==null){if(t===null){if(!c)throw Error(r(318));if(t=s.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(r(557));t[pt]=s}else Pi(),(s.flags&128)===0&&(s.memoizedState=null),s.flags|=4;Be(s),t=!1}else a=_u(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=a),t=!0;if(!t)return s.flags&256?(Qt(s),s):(Qt(s),null);if((s.flags&128)!==0)throw Error(r(558))}return Be(s),null;case 13:if(c=s.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(h=Hs(s),c!==null&&c.dehydrated!==null){if(t===null){if(!h)throw Error(r(318));if(h=s.memoizedState,h=h!==null?h.dehydrated:null,!h)throw Error(r(317));h[pt]=s}else Pi(),(s.flags&128)===0&&(s.memoizedState=null),s.flags|=4;Be(s),h=!1}else h=_u(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=h),h=!0;if(!h)return s.flags&256?(Qt(s),s):(Qt(s),null)}return Qt(s),(s.flags&128)!==0?(s.lanes=a,s):(a=c!==null,t=t!==null&&t.memoizedState!==null,a&&(c=s.child,h=null,c.alternate!==null&&c.alternate.memoizedState!==null&&c.alternate.memoizedState.cachePool!==null&&(h=c.alternate.memoizedState.cachePool.pool),p=null,c.memoizedState!==null&&c.memoizedState.cachePool!==null&&(p=c.memoizedState.cachePool.pool),p!==h&&(c.flags|=2048)),a!==t&&a&&(s.child.flags|=8192),so(s,s.updateQueue),Be(s),null);case 4:return ke(),t===null&&zf(s.stateNode.containerInfo),Be(s),null;case 10:return qn(s.type),Be(s),null;case 19:if(Y(Qe),c=s.memoizedState,c===null)return Be(s),null;if(h=(s.flags&128)!==0,p=c.rendering,p===null)if(h)pa(c,!1);else{if(Fe!==0||t!==null&&(t.flags&128)!==0)for(t=s.child;t!==null;){if(p=Kl(t),p!==null){for(s.flags|=128,pa(c,!1),t=p.updateQueue,s.updateQueue=t,so(s,t),s.subtreeFlags=0,t=a,a=s.child;a!==null;)Ip(a,t),a=a.sibling;return Z(Qe,Qe.current&1|2),we&&Hn(s,c.treeForkCount),s.child}t=t.sibling}c.tail!==null&&Ct()>co&&(s.flags|=128,h=!0,pa(c,!1),s.lanes=4194304)}else{if(!h)if(t=Kl(p),t!==null){if(s.flags|=128,h=!0,t=t.updateQueue,s.updateQueue=t,so(s,t),pa(c,!0),c.tail===null&&c.tailMode==="hidden"&&!p.alternate&&!we)return Be(s),null}else 2*Ct()-c.renderingStartTime>co&&a!==536870912&&(s.flags|=128,h=!0,pa(c,!1),s.lanes=4194304);c.isBackwards?(p.sibling=s.child,s.child=p):(t=c.last,t!==null?t.sibling=p:s.child=p,c.last=p)}return c.tail!==null?(t=c.tail,c.rendering=t,c.tail=t.sibling,c.renderingStartTime=Ct(),t.sibling=null,a=Qe.current,Z(Qe,h?a&1|2:a&1),we&&Hn(s,c.treeForkCount),t):(Be(s),null);case 22:case 23:return Qt(s),zu(),c=s.memoizedState!==null,t!==null?t.memoizedState!==null!==c&&(s.flags|=8192):c&&(s.flags|=8192),c?(a&536870912)!==0&&(s.flags&128)===0&&(Be(s),s.subtreeFlags&6&&(s.flags|=8192)):Be(s),a=s.updateQueue,a!==null&&so(s,a.retryQueue),a=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),c=null,s.memoizedState!==null&&s.memoizedState.cachePool!==null&&(c=s.memoizedState.cachePool.pool),c!==a&&(s.flags|=2048),t!==null&&Y(Wi),null;case 24:return a=null,t!==null&&(a=t.memoizedState.cache),s.memoizedState.cache!==a&&(s.flags|=2048),qn(tt),Be(s),null;case 25:return null;case 30:return null}throw Error(r(156,s.tag))}function aw(t,s){switch(wu(s),s.tag){case 1:return t=s.flags,t&65536?(s.flags=t&-65537|128,s):null;case 3:return qn(tt),ke(),t=s.flags,(t&65536)!==0&&(t&128)===0?(s.flags=t&-65537|128,s):null;case 26:case 27:case 5:return fe(s),null;case 31:if(s.memoizedState!==null){if(Qt(s),s.alternate===null)throw Error(r(340));Pi()}return t=s.flags,t&65536?(s.flags=t&-65537|128,s):null;case 13:if(Qt(s),t=s.memoizedState,t!==null&&t.dehydrated!==null){if(s.alternate===null)throw Error(r(340));Pi()}return t=s.flags,t&65536?(s.flags=t&-65537|128,s):null;case 19:return Y(Qe),null;case 4:return ke(),null;case 10:return qn(s.type),null;case 22:case 23:return Qt(s),zu(),t!==null&&Y(Wi),t=s.flags,t&65536?(s.flags=t&-65537|128,s):null;case 24:return qn(tt),null;case 25:return null;default:return null}}function gm(t,s){switch(wu(s),s.tag){case 3:qn(tt),ke();break;case 26:case 27:case 5:fe(s);break;case 4:ke();break;case 31:s.memoizedState!==null&&Qt(s);break;case 13:Qt(s);break;case 19:Y(Qe);break;case 10:qn(s.type);break;case 22:case 23:Qt(s),zu(),t!==null&&Y(Wi);break;case 24:qn(tt)}}function ga(t,s){try{var a=s.updateQueue,c=a!==null?a.lastEffect:null;if(c!==null){var h=c.next;a=h;do{if((a.tag&t)===t){c=void 0;var p=a.create,y=a.inst;c=p(),y.destroy=c}a=a.next}while(a!==h)}}catch(T){Oe(s,s.return,T)}}function Si(t,s,a){try{var c=s.updateQueue,h=c!==null?c.lastEffect:null;if(h!==null){var p=h.next;c=p;do{if((c.tag&t)===t){var y=c.inst,T=y.destroy;if(T!==void 0){y.destroy=void 0,h=s;var C=a,z=T;try{z()}catch(K){Oe(h,C,K)}}}c=c.next}while(c!==p)}}catch(K){Oe(s,s.return,K)}}function mm(t){var s=t.updateQueue;if(s!==null){var a=t.stateNode;try{ag(s,a)}catch(c){Oe(t,t.return,c)}}}function ym(t,s,a){a.props=ss(t.type,t.memoizedProps),a.state=t.memoizedState;try{a.componentWillUnmount()}catch(c){Oe(t,s,c)}}function ma(t,s){try{var a=t.ref;if(a!==null){switch(t.tag){case 26:case 27:case 5:var c=t.stateNode;break;case 30:c=t.stateNode;break;default:c=t.stateNode}typeof a=="function"?t.refCleanup=a(c):a.current=c}}catch(h){Oe(t,s,h)}}function kn(t,s){var a=t.ref,c=t.refCleanup;if(a!==null)if(typeof c=="function")try{c()}catch(h){Oe(t,s,h)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(h){Oe(t,s,h)}else a.current=null}function bm(t){var s=t.type,a=t.memoizedProps,c=t.stateNode;try{e:switch(s){case"button":case"input":case"select":case"textarea":a.autoFocus&&c.focus();break e;case"img":a.src?c.src=a.src:a.srcSet&&(c.srcset=a.srcSet)}}catch(h){Oe(t,t.return,h)}}function gf(t,s,a){try{var c=t.stateNode;Nw(c,t.type,a,s),c[jt]=s}catch(h){Oe(t,t.return,h)}}function vm(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&Ci(t.type)||t.tag===4}function mf(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||vm(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&Ci(t.type)||t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function yf(t,s,a){var c=t.tag;if(c===5||c===6)t=t.stateNode,s?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(t,s):(s=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,s.appendChild(t),a=a._reactRootContainer,a!=null||s.onclick!==null||(s.onclick=Dn));else if(c!==4&&(c===27&&Ci(t.type)&&(a=t.stateNode,s=null),t=t.child,t!==null))for(yf(t,s,a),t=t.sibling;t!==null;)yf(t,s,a),t=t.sibling}function ro(t,s,a){var c=t.tag;if(c===5||c===6)t=t.stateNode,s?a.insertBefore(t,s):a.appendChild(t);else if(c!==4&&(c===27&&Ci(t.type)&&(a=t.stateNode),t=t.child,t!==null))for(ro(t,s,a),t=t.sibling;t!==null;)ro(t,s,a),t=t.sibling}function Sm(t){var s=t.stateNode,a=t.memoizedProps;try{for(var c=t.type,h=s.attributes;h.length;)s.removeAttributeNode(h[0]);bt(s,c,a),s[pt]=t,s[jt]=a}catch(p){Oe(t,t.return,p)}}var Kn=!1,st=!1,bf=!1,wm=typeof WeakSet=="function"?WeakSet:Set,dt=null;function lw(t,s){if(t=t.containerInfo,Bf=Co,t=Lp(t),uu(t)){if("selectionStart"in t)var a={start:t.selectionStart,end:t.selectionEnd};else e:{a=(a=t.ownerDocument)&&a.defaultView||window;var c=a.getSelection&&a.getSelection();if(c&&c.rangeCount!==0){a=c.anchorNode;var h=c.anchorOffset,p=c.focusNode;c=c.focusOffset;try{a.nodeType,p.nodeType}catch{a=null;break e}var y=0,T=-1,C=-1,z=0,K=0,Q=t,H=null;t:for(;;){for(var q;Q!==a||h!==0&&Q.nodeType!==3||(T=y+h),Q!==p||c!==0&&Q.nodeType!==3||(C=y+c),Q.nodeType===3&&(y+=Q.nodeValue.length),(q=Q.firstChild)!==null;)H=Q,Q=q;for(;;){if(Q===t)break t;if(H===a&&++z===h&&(T=y),H===p&&++K===c&&(C=y),(q=Q.nextSibling)!==null)break;Q=H,H=Q.parentNode}Q=q}a=T===-1||C===-1?null:{start:T,end:C}}else a=null}a=a||{start:0,end:0}}else a=null;for(qf={focusedElem:t,selectionRange:a},Co=!1,dt=s;dt!==null;)if(s=dt,t=s.child,(s.subtreeFlags&1028)!==0&&t!==null)t.return=s,dt=t;else for(;dt!==null;){switch(s=dt,p=s.alternate,t=s.flags,s.tag){case 0:if((t&4)!==0&&(t=s.updateQueue,t=t!==null?t.events:null,t!==null))for(a=0;a<t.length;a++)h=t[a],h.ref.impl=h.nextImpl;break;case 11:case 15:break;case 1:if((t&1024)!==0&&p!==null){t=void 0,a=s,h=p.memoizedProps,p=p.memoizedState,c=a.stateNode;try{var ee=ss(a.type,h);t=c.getSnapshotBeforeUpdate(ee,p),c.__reactInternalSnapshotBeforeUpdate=t}catch(le){Oe(a,a.return,le)}}break;case 3:if((t&1024)!==0){if(t=s.stateNode.containerInfo,a=t.nodeType,a===9)Vf(t);else if(a===1)switch(t.nodeName){case"HEAD":case"HTML":case"BODY":Vf(t);break;default:t.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((t&1024)!==0)throw Error(r(163))}if(t=s.sibling,t!==null){t.return=s.return,dt=t;break}dt=s.return}}function xm(t,s,a){var c=a.flags;switch(a.tag){case 0:case 11:case 15:Yn(t,a),c&4&&ga(5,a);break;case 1:if(Yn(t,a),c&4)if(t=a.stateNode,s===null)try{t.componentDidMount()}catch(y){Oe(a,a.return,y)}else{var h=ss(a.type,s.memoizedProps);s=s.memoizedState;try{t.componentDidUpdate(h,s,t.__reactInternalSnapshotBeforeUpdate)}catch(y){Oe(a,a.return,y)}}c&64&&mm(a),c&512&&ma(a,a.return);break;case 3:if(Yn(t,a),c&64&&(t=a.updateQueue,t!==null)){if(s=null,a.child!==null)switch(a.child.tag){case 27:case 5:s=a.child.stateNode;break;case 1:s=a.child.stateNode}try{ag(t,s)}catch(y){Oe(a,a.return,y)}}break;case 27:s===null&&c&4&&Sm(a);case 26:case 5:Yn(t,a),s===null&&c&4&&bm(a),c&512&&ma(a,a.return);break;case 12:Yn(t,a);break;case 31:Yn(t,a),c&4&&Tm(t,a);break;case 13:Yn(t,a),c&4&&Am(t,a),c&64&&(t=a.memoizedState,t!==null&&(t=t.dehydrated,t!==null&&(a=mw.bind(null,a),zw(t,a))));break;case 22:if(c=a.memoizedState!==null||Kn,!c){s=s!==null&&s.memoizedState!==null||st,h=Kn;var p=st;Kn=c,(st=s)&&!p?Fn(t,a,(a.subtreeFlags&8772)!==0):Yn(t,a),Kn=h,st=p}break;case 30:break;default:Yn(t,a)}}function _m(t){var s=t.alternate;s!==null&&(t.alternate=null,_m(s)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(s=t.stateNode,s!==null&&Yc(s)),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}var $e=null,Rt=!1;function Xn(t,s,a){for(a=a.child;a!==null;)Em(t,s,a),a=a.sibling}function Em(t,s,a){if(Nt&&typeof Nt.onCommitFiberUnmount=="function")try{Nt.onCommitFiberUnmount(Tn,a)}catch{}switch(a.tag){case 26:st||kn(a,s),Xn(t,s,a),a.memoizedState?a.memoizedState.count--:a.stateNode&&(a=a.stateNode,a.parentNode.removeChild(a));break;case 27:st||kn(a,s);var c=$e,h=Rt;Ci(a.type)&&($e=a.stateNode,Rt=!1),Xn(t,s,a),Ta(a.stateNode),$e=c,Rt=h;break;case 5:st||kn(a,s);case 6:if(c=$e,h=Rt,$e=null,Xn(t,s,a),$e=c,Rt=h,$e!==null)if(Rt)try{($e.nodeType===9?$e.body:$e.nodeName==="HTML"?$e.ownerDocument.body:$e).removeChild(a.stateNode)}catch(p){Oe(a,s,p)}else try{$e.removeChild(a.stateNode)}catch(p){Oe(a,s,p)}break;case 18:$e!==null&&(Rt?(t=$e,my(t.nodeType===9?t.body:t.nodeName==="HTML"?t.ownerDocument.body:t,a.stateNode),rr(t)):my($e,a.stateNode));break;case 4:c=$e,h=Rt,$e=a.stateNode.containerInfo,Rt=!0,Xn(t,s,a),$e=c,Rt=h;break;case 0:case 11:case 14:case 15:Si(2,a,s),st||Si(4,a,s),Xn(t,s,a);break;case 1:st||(kn(a,s),c=a.stateNode,typeof c.componentWillUnmount=="function"&&ym(a,s,c)),Xn(t,s,a);break;case 21:Xn(t,s,a);break;case 22:st=(c=st)||a.memoizedState!==null,Xn(t,s,a),st=c;break;default:Xn(t,s,a)}}function Tm(t,s){if(s.memoizedState===null&&(t=s.alternate,t!==null&&(t=t.memoizedState,t!==null))){t=t.dehydrated;try{rr(t)}catch(a){Oe(s,s.return,a)}}}function Am(t,s){if(s.memoizedState===null&&(t=s.alternate,t!==null&&(t=t.memoizedState,t!==null&&(t=t.dehydrated,t!==null))))try{rr(t)}catch(a){Oe(s,s.return,a)}}function ow(t){switch(t.tag){case 31:case 13:case 19:var s=t.stateNode;return s===null&&(s=t.stateNode=new wm),s;case 22:return t=t.stateNode,s=t._retryCache,s===null&&(s=t._retryCache=new wm),s;default:throw Error(r(435,t.tag))}}function ao(t,s){var a=ow(t);s.forEach(function(c){if(!a.has(c)){a.add(c);var h=yw.bind(null,t,c);c.then(h,h)}})}function Dt(t,s){var a=s.deletions;if(a!==null)for(var c=0;c<a.length;c++){var h=a[c],p=t,y=s,T=y;e:for(;T!==null;){switch(T.tag){case 27:if(Ci(T.type)){$e=T.stateNode,Rt=!1;break e}break;case 5:$e=T.stateNode,Rt=!1;break e;case 3:case 4:$e=T.stateNode.containerInfo,Rt=!0;break e}T=T.return}if($e===null)throw Error(r(160));Em(p,y,h),$e=null,Rt=!1,p=h.alternate,p!==null&&(p.return=null),h.return=null}if(s.subtreeFlags&13886)for(s=s.child;s!==null;)Cm(s,t),s=s.sibling}var Sn=null;function Cm(t,s){var a=t.alternate,c=t.flags;switch(t.tag){case 0:case 11:case 14:case 15:Dt(s,t),zt(t),c&4&&(Si(3,t,t.return),ga(3,t),Si(5,t,t.return));break;case 1:Dt(s,t),zt(t),c&512&&(st||a===null||kn(a,a.return)),c&64&&Kn&&(t=t.updateQueue,t!==null&&(c=t.callbacks,c!==null&&(a=t.shared.hiddenCallbacks,t.shared.hiddenCallbacks=a===null?c:a.concat(c))));break;case 26:var h=Sn;if(Dt(s,t),zt(t),c&512&&(st||a===null||kn(a,a.return)),c&4){var p=a!==null?a.memoizedState:null;if(c=t.memoizedState,a===null)if(c===null)if(t.stateNode===null){e:{c=t.type,a=t.memoizedProps,h=h.ownerDocument||h;t:switch(c){case"title":p=h.getElementsByTagName("title")[0],(!p||p[Vr]||p[pt]||p.namespaceURI==="http://www.w3.org/2000/svg"||p.hasAttribute("itemprop"))&&(p=h.createElement(c),h.head.insertBefore(p,h.querySelector("head > title"))),bt(p,c,a),p[pt]=t,ht(p),c=p;break e;case"link":var y=Cy("link","href",h).get(c+(a.href||""));if(y){for(var T=0;T<y.length;T++)if(p=y[T],p.getAttribute("href")===(a.href==null||a.href===""?null:a.href)&&p.getAttribute("rel")===(a.rel==null?null:a.rel)&&p.getAttribute("title")===(a.title==null?null:a.title)&&p.getAttribute("crossorigin")===(a.crossOrigin==null?null:a.crossOrigin)){y.splice(T,1);break t}}p=h.createElement(c),bt(p,c,a),h.head.appendChild(p);break;case"meta":if(y=Cy("meta","content",h).get(c+(a.content||""))){for(T=0;T<y.length;T++)if(p=y[T],p.getAttribute("content")===(a.content==null?null:""+a.content)&&p.getAttribute("name")===(a.name==null?null:a.name)&&p.getAttribute("property")===(a.property==null?null:a.property)&&p.getAttribute("http-equiv")===(a.httpEquiv==null?null:a.httpEquiv)&&p.getAttribute("charset")===(a.charSet==null?null:a.charSet)){y.splice(T,1);break t}}p=h.createElement(c),bt(p,c,a),h.head.appendChild(p);break;default:throw Error(r(468,c))}p[pt]=t,ht(p),c=p}t.stateNode=c}else Ny(h,t.type,t.stateNode);else t.stateNode=Ay(h,c,t.memoizedProps);else p!==c?(p===null?a.stateNode!==null&&(a=a.stateNode,a.parentNode.removeChild(a)):p.count--,c===null?Ny(h,t.type,t.stateNode):Ay(h,c,t.memoizedProps)):c===null&&t.stateNode!==null&&gf(t,t.memoizedProps,a.memoizedProps)}break;case 27:Dt(s,t),zt(t),c&512&&(st||a===null||kn(a,a.return)),a!==null&&c&4&&gf(t,t.memoizedProps,a.memoizedProps);break;case 5:if(Dt(s,t),zt(t),c&512&&(st||a===null||kn(a,a.return)),t.flags&32){h=t.stateNode;try{Ns(h,"")}catch(ee){Oe(t,t.return,ee)}}c&4&&t.stateNode!=null&&(h=t.memoizedProps,gf(t,h,a!==null?a.memoizedProps:h)),c&1024&&(bf=!0);break;case 6:if(Dt(s,t),zt(t),c&4){if(t.stateNode===null)throw Error(r(162));c=t.memoizedProps,a=t.stateNode;try{a.nodeValue=c}catch(ee){Oe(t,t.return,ee)}}break;case 3:if(_o=null,h=Sn,Sn=wo(s.containerInfo),Dt(s,t),Sn=h,zt(t),c&4&&a!==null&&a.memoizedState.isDehydrated)try{rr(s.containerInfo)}catch(ee){Oe(t,t.return,ee)}bf&&(bf=!1,Nm(t));break;case 4:c=Sn,Sn=wo(t.stateNode.containerInfo),Dt(s,t),zt(t),Sn=c;break;case 12:Dt(s,t),zt(t);break;case 31:Dt(s,t),zt(t),c&4&&(c=t.updateQueue,c!==null&&(t.updateQueue=null,ao(t,c)));break;case 13:Dt(s,t),zt(t),t.child.flags&8192&&t.memoizedState!==null!=(a!==null&&a.memoizedState!==null)&&(oo=Ct()),c&4&&(c=t.updateQueue,c!==null&&(t.updateQueue=null,ao(t,c)));break;case 22:h=t.memoizedState!==null;var C=a!==null&&a.memoizedState!==null,z=Kn,K=st;if(Kn=z||h,st=K||C,Dt(s,t),st=K,Kn=z,zt(t),c&8192)e:for(s=t.stateNode,s._visibility=h?s._visibility&-2:s._visibility|1,h&&(a===null||C||Kn||st||rs(t)),a=null,s=t;;){if(s.tag===5||s.tag===26){if(a===null){C=a=s;try{if(p=C.stateNode,h)y=p.style,typeof y.setProperty=="function"?y.setProperty("display","none","important"):y.display="none";else{T=C.stateNode;var Q=C.memoizedProps.style,H=Q!=null&&Q.hasOwnProperty("display")?Q.display:null;T.style.display=H==null||typeof H=="boolean"?"":(""+H).trim()}}catch(ee){Oe(C,C.return,ee)}}}else if(s.tag===6){if(a===null){C=s;try{C.stateNode.nodeValue=h?"":C.memoizedProps}catch(ee){Oe(C,C.return,ee)}}}else if(s.tag===18){if(a===null){C=s;try{var q=C.stateNode;h?yy(q,!0):yy(C.stateNode,!1)}catch(ee){Oe(C,C.return,ee)}}}else if((s.tag!==22&&s.tag!==23||s.memoizedState===null||s===t)&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break e;for(;s.sibling===null;){if(s.return===null||s.return===t)break e;a===s&&(a=null),s=s.return}a===s&&(a=null),s.sibling.return=s.return,s=s.sibling}c&4&&(c=t.updateQueue,c!==null&&(a=c.retryQueue,a!==null&&(c.retryQueue=null,ao(t,a))));break;case 19:Dt(s,t),zt(t),c&4&&(c=t.updateQueue,c!==null&&(t.updateQueue=null,ao(t,c)));break;case 30:break;case 21:break;default:Dt(s,t),zt(t)}}function zt(t){var s=t.flags;if(s&2){try{for(var a,c=t.return;c!==null;){if(vm(c)){a=c;break}c=c.return}if(a==null)throw Error(r(160));switch(a.tag){case 27:var h=a.stateNode,p=mf(t);ro(t,p,h);break;case 5:var y=a.stateNode;a.flags&32&&(Ns(y,""),a.flags&=-33);var T=mf(t);ro(t,T,y);break;case 3:case 4:var C=a.stateNode.containerInfo,z=mf(t);yf(t,z,C);break;default:throw Error(r(161))}}catch(K){Oe(t,t.return,K)}t.flags&=-3}s&4096&&(t.flags&=-4097)}function Nm(t){if(t.subtreeFlags&1024)for(t=t.child;t!==null;){var s=t;Nm(s),s.tag===5&&s.flags&1024&&s.stateNode.reset(),t=t.sibling}}function Yn(t,s){if(s.subtreeFlags&8772)for(s=s.child;s!==null;)xm(t,s.alternate,s),s=s.sibling}function rs(t){for(t=t.child;t!==null;){var s=t;switch(s.tag){case 0:case 11:case 14:case 15:Si(4,s,s.return),rs(s);break;case 1:kn(s,s.return);var a=s.stateNode;typeof a.componentWillUnmount=="function"&&ym(s,s.return,a),rs(s);break;case 27:Ta(s.stateNode);case 26:case 5:kn(s,s.return),rs(s);break;case 22:s.memoizedState===null&&rs(s);break;case 30:rs(s);break;default:rs(s)}t=t.sibling}}function Fn(t,s,a){for(a=a&&(s.subtreeFlags&8772)!==0,s=s.child;s!==null;){var c=s.alternate,h=t,p=s,y=p.flags;switch(p.tag){case 0:case 11:case 15:Fn(h,p,a),ga(4,p);break;case 1:if(Fn(h,p,a),c=p,h=c.stateNode,typeof h.componentDidMount=="function")try{h.componentDidMount()}catch(z){Oe(c,c.return,z)}if(c=p,h=c.updateQueue,h!==null){var T=c.stateNode;try{var C=h.shared.hiddenCallbacks;if(C!==null)for(h.shared.hiddenCallbacks=null,h=0;h<C.length;h++)rg(C[h],T)}catch(z){Oe(c,c.return,z)}}a&&y&64&&mm(p),ma(p,p.return);break;case 27:Sm(p);case 26:case 5:Fn(h,p,a),a&&c===null&&y&4&&bm(p),ma(p,p.return);break;case 12:Fn(h,p,a);break;case 31:Fn(h,p,a),a&&y&4&&Tm(h,p);break;case 13:Fn(h,p,a),a&&y&4&&Am(h,p);break;case 22:p.memoizedState===null&&Fn(h,p,a),ma(p,p.return);break;case 30:break;default:Fn(h,p,a)}s=s.sibling}}function vf(t,s){var a=null;t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),t=null,s.memoizedState!==null&&s.memoizedState.cachePool!==null&&(t=s.memoizedState.cachePool.pool),t!==a&&(t!=null&&t.refCount++,a!=null&&na(a))}function Sf(t,s){t=null,s.alternate!==null&&(t=s.alternate.memoizedState.cache),s=s.memoizedState.cache,s!==t&&(s.refCount++,t!=null&&na(t))}function wn(t,s,a,c){if(s.subtreeFlags&10256)for(s=s.child;s!==null;)km(t,s,a,c),s=s.sibling}function km(t,s,a,c){var h=s.flags;switch(s.tag){case 0:case 11:case 15:wn(t,s,a,c),h&2048&&ga(9,s);break;case 1:wn(t,s,a,c);break;case 3:wn(t,s,a,c),h&2048&&(t=null,s.alternate!==null&&(t=s.alternate.memoizedState.cache),s=s.memoizedState.cache,s!==t&&(s.refCount++,t!=null&&na(t)));break;case 12:if(h&2048){wn(t,s,a,c),t=s.stateNode;try{var p=s.memoizedProps,y=p.id,T=p.onPostCommit;typeof T=="function"&&T(y,s.alternate===null?"mount":"update",t.passiveEffectDuration,-0)}catch(C){Oe(s,s.return,C)}}else wn(t,s,a,c);break;case 31:wn(t,s,a,c);break;case 13:wn(t,s,a,c);break;case 23:break;case 22:p=s.stateNode,y=s.alternate,s.memoizedState!==null?p._visibility&2?wn(t,s,a,c):ya(t,s):p._visibility&2?wn(t,s,a,c):(p._visibility|=2,Fs(t,s,a,c,(s.subtreeFlags&10256)!==0||!1)),h&2048&&vf(y,s);break;case 24:wn(t,s,a,c),h&2048&&Sf(s.alternate,s);break;default:wn(t,s,a,c)}}function Fs(t,s,a,c,h){for(h=h&&((s.subtreeFlags&10256)!==0||!1),s=s.child;s!==null;){var p=t,y=s,T=a,C=c,z=y.flags;switch(y.tag){case 0:case 11:case 15:Fs(p,y,T,C,h),ga(8,y);break;case 23:break;case 22:var K=y.stateNode;y.memoizedState!==null?K._visibility&2?Fs(p,y,T,C,h):ya(p,y):(K._visibility|=2,Fs(p,y,T,C,h)),h&&z&2048&&vf(y.alternate,y);break;case 24:Fs(p,y,T,C,h),h&&z&2048&&Sf(y.alternate,y);break;default:Fs(p,y,T,C,h)}s=s.sibling}}function ya(t,s){if(s.subtreeFlags&10256)for(s=s.child;s!==null;){var a=t,c=s,h=c.flags;switch(c.tag){case 22:ya(a,c),h&2048&&vf(c.alternate,c);break;case 24:ya(a,c),h&2048&&Sf(c.alternate,c);break;default:ya(a,c)}s=s.sibling}}var ba=8192;function Qs(t,s,a){if(t.subtreeFlags&ba)for(t=t.child;t!==null;)Mm(t,s,a),t=t.sibling}function Mm(t,s,a){switch(t.tag){case 26:Qs(t,s,a),t.flags&ba&&t.memoizedState!==null&&Fw(a,Sn,t.memoizedState,t.memoizedProps);break;case 5:Qs(t,s,a);break;case 3:case 4:var c=Sn;Sn=wo(t.stateNode.containerInfo),Qs(t,s,a),Sn=c;break;case 22:t.memoizedState===null&&(c=t.alternate,c!==null&&c.memoizedState!==null?(c=ba,ba=16777216,Qs(t,s,a),ba=c):Qs(t,s,a));break;default:Qs(t,s,a)}}function Om(t){var s=t.alternate;if(s!==null&&(t=s.child,t!==null)){s.child=null;do s=t.sibling,t.sibling=null,t=s;while(t!==null)}}function va(t){var s=t.deletions;if((t.flags&16)!==0){if(s!==null)for(var a=0;a<s.length;a++){var c=s[a];dt=c,Lm(c,t)}Om(t)}if(t.subtreeFlags&10256)for(t=t.child;t!==null;)jm(t),t=t.sibling}function jm(t){switch(t.tag){case 0:case 11:case 15:va(t),t.flags&2048&&Si(9,t,t.return);break;case 3:va(t);break;case 12:va(t);break;case 22:var s=t.stateNode;t.memoizedState!==null&&s._visibility&2&&(t.return===null||t.return.tag!==13)?(s._visibility&=-3,lo(t)):va(t);break;default:va(t)}}function lo(t){var s=t.deletions;if((t.flags&16)!==0){if(s!==null)for(var a=0;a<s.length;a++){var c=s[a];dt=c,Lm(c,t)}Om(t)}for(t=t.child;t!==null;){switch(s=t,s.tag){case 0:case 11:case 15:Si(8,s,s.return),lo(s);break;case 22:a=s.stateNode,a._visibility&2&&(a._visibility&=-3,lo(s));break;default:lo(s)}t=t.sibling}}function Lm(t,s){for(;dt!==null;){var a=dt;switch(a.tag){case 0:case 11:case 15:Si(8,a,s);break;case 23:case 22:if(a.memoizedState!==null&&a.memoizedState.cachePool!==null){var c=a.memoizedState.cachePool.pool;c!=null&&c.refCount++}break;case 24:na(a.memoizedState.cache)}if(c=a.child,c!==null)c.return=a,dt=c;else e:for(a=t;dt!==null;){c=dt;var h=c.sibling,p=c.return;if(_m(c),c===a){dt=null;break e}if(h!==null){h.return=p,dt=h;break e}dt=p}}}var cw={getCacheForType:function(t){var s=mt(tt),a=s.data.get(t);return a===void 0&&(a=t(),s.data.set(t,a)),a},cacheSignal:function(){return mt(tt).controller.signal}},uw=typeof WeakMap=="function"?WeakMap:Map,Ce=0,De=null,me=null,ve=0,Me=0,Pt=null,wi=!1,Ps=!1,wf=!1,Qn=0,Fe=0,xi=0,as=0,xf=0,Jt=0,Js=0,Sa=null,Ut=null,_f=!1,oo=0,Rm=0,co=1/0,uo=null,_i=null,ot=0,Ei=null,Zs=null,Pn=0,Ef=0,Tf=null,Dm=null,wa=0,Af=null;function Zt(){return(Ce&2)!==0&&ve!==0?ve&-ve:I.T!==null?jf():Jd()}function zm(){if(Jt===0)if((ve&536870912)===0||we){var t=bl;bl<<=1,(bl&3932160)===0&&(bl=262144),Jt=t}else Jt=536870912;return t=Ft.current,t!==null&&(t.flags|=32),Jt}function Ht(t,s,a){(t===De&&(Me===2||Me===9)||t.cancelPendingCommit!==null)&&(Ws(t,0),Ti(t,ve,Jt,!1)),Ir(t,a),((Ce&2)===0||t!==De)&&(t===De&&((Ce&2)===0&&(as|=a),Fe===4&&Ti(t,ve,Jt,!1)),Mn(t))}function Um(t,s,a){if((Ce&6)!==0)throw Error(r(327));var c=!a&&(s&127)===0&&(s&t.expiredLanes)===0||$r(t,s),h=c?dw(t,s):Nf(t,s,!0),p=c;do{if(h===0){Ps&&!c&&Ti(t,s,0,!1);break}else{if(a=t.current.alternate,p&&!fw(a)){h=Nf(t,s,!1),p=!1;continue}if(h===2){if(p=s,t.errorRecoveryDisabledLanes&p)var y=0;else y=t.pendingLanes&-536870913,y=y!==0?y:y&536870912?536870912:0;if(y!==0){s=y;e:{var T=t;h=Sa;var C=T.current.memoizedState.isDehydrated;if(C&&(Ws(T,y).flags|=256),y=Nf(T,y,!1),y!==2){if(wf&&!C){T.errorRecoveryDisabledLanes|=p,as|=p,h=4;break e}p=Ut,Ut=h,p!==null&&(Ut===null?Ut=p:Ut.push.apply(Ut,p))}h=y}if(p=!1,h!==2)continue}}if(h===1){Ws(t,0),Ti(t,s,0,!0);break}e:{switch(c=t,p=h,p){case 0:case 1:throw Error(r(345));case 4:if((s&4194048)!==s)break;case 6:Ti(c,s,Jt,!wi);break e;case 2:Ut=null;break;case 3:case 5:break;default:throw Error(r(329))}if((s&62914560)===s&&(h=oo+300-Ct(),10<h)){if(Ti(c,s,Jt,!wi),Sl(c,0,!0)!==0)break e;Pn=s,c.timeoutHandle=py(Hm.bind(null,c,a,Ut,uo,_f,s,Jt,as,Js,wi,p,"Throttled",-0,0),h);break e}Hm(c,a,Ut,uo,_f,s,Jt,as,Js,wi,p,null,-0,0)}}break}while(!0);Mn(t)}function Hm(t,s,a,c,h,p,y,T,C,z,K,Q,H,q){if(t.timeoutHandle=-1,Q=s.subtreeFlags,Q&8192||(Q&16785408)===16785408){Q={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:Dn},Mm(s,p,Q);var ee=(p&62914560)===p?oo-Ct():(p&4194048)===p?Rm-Ct():0;if(ee=Qw(Q,ee),ee!==null){Pn=p,t.cancelPendingCommit=ee(Xm.bind(null,t,s,p,a,c,h,y,T,C,K,Q,null,H,q)),Ti(t,p,y,!z);return}}Xm(t,s,p,a,c,h,y,T,C)}function fw(t){for(var s=t;;){var a=s.tag;if((a===0||a===11||a===15)&&s.flags&16384&&(a=s.updateQueue,a!==null&&(a=a.stores,a!==null)))for(var c=0;c<a.length;c++){var h=a[c],p=h.getSnapshot;h=h.value;try{if(!Xt(p(),h))return!1}catch{return!1}}if(a=s.child,s.subtreeFlags&16384&&a!==null)a.return=s,s=a;else{if(s===t)break;for(;s.sibling===null;){if(s.return===null||s.return===t)return!0;s=s.return}s.sibling.return=s.return,s=s.sibling}}return!0}function Ti(t,s,a,c){s&=~xf,s&=~as,t.suspendedLanes|=s,t.pingedLanes&=~s,c&&(t.warmLanes|=s),c=t.expirationTimes;for(var h=s;0<h;){var p=31-kt(h),y=1<<p;c[p]=-1,h&=~y}a!==0&&Fd(t,a,s)}function fo(){return(Ce&6)===0?(xa(0),!1):!0}function Cf(){if(me!==null){if(Me===0)var t=me.return;else t=me,Bn=Ji=null,Iu(t),Vs=null,sa=0,t=me;for(;t!==null;)gm(t.alternate,t),t=t.return;me=null}}function Ws(t,s){var a=t.timeoutHandle;a!==-1&&(t.timeoutHandle=-1,Ow(a)),a=t.cancelPendingCommit,a!==null&&(t.cancelPendingCommit=null,a()),Pn=0,Cf(),De=t,me=a=Un(t.current,null),ve=s,Me=0,Pt=null,wi=!1,Ps=$r(t,s),wf=!1,Js=Jt=xf=as=xi=Fe=0,Ut=Sa=null,_f=!1,(s&8)!==0&&(s|=s&32);var c=t.entangledLanes;if(c!==0)for(t=t.entanglements,c&=s;0<c;){var h=31-kt(c),p=1<<h;s|=t[h],c&=~p}return Qn=s,jl(),a}function Bm(t,s){de=null,I.H=ha,s===Is||s===ql?(s=tg(),Me=3):s===Mu?(s=tg(),Me=4):Me=s===rf?8:s!==null&&typeof s=="object"&&typeof s.then=="function"?6:1,Pt=s,me===null&&(Fe=1,eo(t,ln(s,t.current)))}function qm(){var t=Ft.current;return t===null?!0:(ve&4194048)===ve?fn===null:(ve&62914560)===ve||(ve&536870912)!==0?t===fn:!1}function $m(){var t=I.H;return I.H=ha,t===null?ha:t}function Im(){var t=I.A;return I.A=cw,t}function ho(){Fe=4,wi||(ve&4194048)!==ve&&Ft.current!==null||(Ps=!0),(xi&134217727)===0&&(as&134217727)===0||De===null||Ti(De,ve,Jt,!1)}function Nf(t,s,a){var c=Ce;Ce|=2;var h=$m(),p=Im();(De!==t||ve!==s)&&(uo=null,Ws(t,s)),s=!1;var y=Fe;e:do try{if(Me!==0&&me!==null){var T=me,C=Pt;switch(Me){case 8:Cf(),y=6;break e;case 3:case 2:case 9:case 6:Ft.current===null&&(s=!0);var z=Me;if(Me=0,Pt=null,er(t,T,C,z),a&&Ps){y=0;break e}break;default:z=Me,Me=0,Pt=null,er(t,T,C,z)}}hw(),y=Fe;break}catch(K){Bm(t,K)}while(!0);return s&&t.shellSuspendCounter++,Bn=Ji=null,Ce=c,I.H=h,I.A=p,me===null&&(De=null,ve=0,jl()),y}function hw(){for(;me!==null;)Vm(me)}function dw(t,s){var a=Ce;Ce|=2;var c=$m(),h=Im();De!==t||ve!==s?(uo=null,co=Ct()+500,Ws(t,s)):Ps=$r(t,s);e:do try{if(Me!==0&&me!==null){s=me;var p=Pt;t:switch(Me){case 1:Me=0,Pt=null,er(t,s,p,1);break;case 2:case 9:if(Wp(p)){Me=0,Pt=null,Gm(s);break}s=function(){Me!==2&&Me!==9||De!==t||(Me=7),Mn(t)},p.then(s,s);break e;case 3:Me=7;break e;case 4:Me=5;break e;case 7:Wp(p)?(Me=0,Pt=null,Gm(s)):(Me=0,Pt=null,er(t,s,p,7));break;case 5:var y=null;switch(me.tag){case 26:y=me.memoizedState;case 5:case 27:var T=me;if(y?ky(y):T.stateNode.complete){Me=0,Pt=null;var C=T.sibling;if(C!==null)me=C;else{var z=T.return;z!==null?(me=z,po(z)):me=null}break t}}Me=0,Pt=null,er(t,s,p,5);break;case 6:Me=0,Pt=null,er(t,s,p,6);break;case 8:Cf(),Fe=6;break e;default:throw Error(r(462))}}pw();break}catch(K){Bm(t,K)}while(!0);return Bn=Ji=null,I.H=c,I.A=h,Ce=a,me!==null?0:(De=null,ve=0,jl(),Fe)}function pw(){for(;me!==null&&!li();)Vm(me)}function Vm(t){var s=dm(t.alternate,t,Qn);t.memoizedProps=t.pendingProps,s===null?po(t):me=s}function Gm(t){var s=t,a=s.alternate;switch(s.tag){case 15:case 0:s=lm(a,s,s.pendingProps,s.type,void 0,ve);break;case 11:s=lm(a,s,s.pendingProps,s.type.render,s.ref,ve);break;case 5:Iu(s);default:gm(a,s),s=me=Ip(s,Qn),s=dm(a,s,Qn)}t.memoizedProps=t.pendingProps,s===null?po(t):me=s}function er(t,s,a,c){Bn=Ji=null,Iu(s),Vs=null,sa=0;var h=s.return;try{if(nw(t,h,s,a,ve)){Fe=1,eo(t,ln(a,t.current)),me=null;return}}catch(p){if(h!==null)throw me=h,p;Fe=1,eo(t,ln(a,t.current)),me=null;return}s.flags&32768?(we||c===1?t=!0:Ps||(ve&536870912)!==0?t=!1:(wi=t=!0,(c===2||c===9||c===3||c===6)&&(c=Ft.current,c!==null&&c.tag===13&&(c.flags|=16384))),Km(s,t)):po(s)}function po(t){var s=t;do{if((s.flags&32768)!==0){Km(s,wi);return}t=s.return;var a=rw(s.alternate,s,Qn);if(a!==null){me=a;return}if(s=s.sibling,s!==null){me=s;return}me=s=t}while(s!==null);Fe===0&&(Fe=5)}function Km(t,s){do{var a=aw(t.alternate,t);if(a!==null){a.flags&=32767,me=a;return}if(a=t.return,a!==null&&(a.flags|=32768,a.subtreeFlags=0,a.deletions=null),!s&&(t=t.sibling,t!==null)){me=t;return}me=t=a}while(t!==null);Fe=6,me=null}function Xm(t,s,a,c,h,p,y,T,C){t.cancelPendingCommit=null;do go();while(ot!==0);if((Ce&6)!==0)throw Error(r(327));if(s!==null){if(s===t.current)throw Error(r(177));if(p=s.lanes|s.childLanes,p|=gu,YS(t,a,p,y,T,C),t===De&&(me=De=null,ve=0),Zs=s,Ei=t,Pn=a,Ef=p,Tf=h,Dm=c,(s.subtreeFlags&10256)!==0||(s.flags&10256)!==0?(t.callbackNode=null,t.callbackPriority=0,bw(oi,function(){return Jm(),null})):(t.callbackNode=null,t.callbackPriority=0),c=(s.flags&13878)!==0,(s.subtreeFlags&13878)!==0||c){c=I.T,I.T=null,h=J.p,J.p=2,y=Ce,Ce|=4;try{lw(t,s,a)}finally{Ce=y,J.p=h,I.T=c}}ot=1,Ym(),Fm(),Qm()}}function Ym(){if(ot===1){ot=0;var t=Ei,s=Zs,a=(s.flags&13878)!==0;if((s.subtreeFlags&13878)!==0||a){a=I.T,I.T=null;var c=J.p;J.p=2;var h=Ce;Ce|=4;try{Cm(s,t);var p=qf,y=Lp(t.containerInfo),T=p.focusedElem,C=p.selectionRange;if(y!==T&&T&&T.ownerDocument&&jp(T.ownerDocument.documentElement,T)){if(C!==null&&uu(T)){var z=C.start,K=C.end;if(K===void 0&&(K=z),"selectionStart"in T)T.selectionStart=z,T.selectionEnd=Math.min(K,T.value.length);else{var Q=T.ownerDocument||document,H=Q&&Q.defaultView||window;if(H.getSelection){var q=H.getSelection(),ee=T.textContent.length,le=Math.min(C.start,ee),Re=C.end===void 0?le:Math.min(C.end,ee);!q.extend&&le>Re&&(y=Re,Re=le,le=y);var j=Op(T,le),k=Op(T,Re);if(j&&k&&(q.rangeCount!==1||q.anchorNode!==j.node||q.anchorOffset!==j.offset||q.focusNode!==k.node||q.focusOffset!==k.offset)){var D=Q.createRange();D.setStart(j.node,j.offset),q.removeAllRanges(),le>Re?(q.addRange(D),q.extend(k.node,k.offset)):(D.setEnd(k.node,k.offset),q.addRange(D))}}}}for(Q=[],q=T;q=q.parentNode;)q.nodeType===1&&Q.push({element:q,left:q.scrollLeft,top:q.scrollTop});for(typeof T.focus=="function"&&T.focus(),T=0;T<Q.length;T++){var F=Q[T];F.element.scrollLeft=F.left,F.element.scrollTop=F.top}}Co=!!Bf,qf=Bf=null}finally{Ce=h,J.p=c,I.T=a}}t.current=s,ot=2}}function Fm(){if(ot===2){ot=0;var t=Ei,s=Zs,a=(s.flags&8772)!==0;if((s.subtreeFlags&8772)!==0||a){a=I.T,I.T=null;var c=J.p;J.p=2;var h=Ce;Ce|=4;try{xm(t,s.alternate,s)}finally{Ce=h,J.p=c,I.T=a}}ot=3}}function Qm(){if(ot===4||ot===3){ot=0,Bc();var t=Ei,s=Zs,a=Pn,c=Dm;(s.subtreeFlags&10256)!==0||(s.flags&10256)!==0?ot=5:(ot=0,Zs=Ei=null,Pm(t,t.pendingLanes));var h=t.pendingLanes;if(h===0&&(_i=null),Kc(a),s=s.stateNode,Nt&&typeof Nt.onCommitFiberRoot=="function")try{Nt.onCommitFiberRoot(Tn,s,void 0,(s.current.flags&128)===128)}catch{}if(c!==null){s=I.T,h=J.p,J.p=2,I.T=null;try{for(var p=t.onRecoverableError,y=0;y<c.length;y++){var T=c[y];p(T.value,{componentStack:T.stack})}}finally{I.T=s,J.p=h}}(Pn&3)!==0&&go(),Mn(t),h=t.pendingLanes,(a&261930)!==0&&(h&42)!==0?t===Af?wa++:(wa=0,Af=t):wa=0,xa(0)}}function Pm(t,s){(t.pooledCacheLanes&=s)===0&&(s=t.pooledCache,s!=null&&(t.pooledCache=null,na(s)))}function go(){return Ym(),Fm(),Qm(),Jm()}function Jm(){if(ot!==5)return!1;var t=Ei,s=Ef;Ef=0;var a=Kc(Pn),c=I.T,h=J.p;try{J.p=32>a?32:a,I.T=null,a=Tf,Tf=null;var p=Ei,y=Pn;if(ot=0,Zs=Ei=null,Pn=0,(Ce&6)!==0)throw Error(r(331));var T=Ce;if(Ce|=4,jm(p.current),km(p,p.current,y,a),Ce=T,xa(0,!1),Nt&&typeof Nt.onPostCommitFiberRoot=="function")try{Nt.onPostCommitFiberRoot(Tn,p)}catch{}return!0}finally{J.p=h,I.T=c,Pm(t,s)}}function Zm(t,s,a){s=ln(a,s),s=sf(t.stateNode,s,2),t=yi(t,s,2),t!==null&&(Ir(t,2),Mn(t))}function Oe(t,s,a){if(t.tag===3)Zm(t,t,a);else for(;s!==null;){if(s.tag===3){Zm(s,t,a);break}else if(s.tag===1){var c=s.stateNode;if(typeof s.type.getDerivedStateFromError=="function"||typeof c.componentDidCatch=="function"&&(_i===null||!_i.has(c))){t=ln(a,t),a=Wg(2),c=yi(s,a,2),c!==null&&(em(a,c,s,t),Ir(c,2),Mn(c));break}}s=s.return}}function kf(t,s,a){var c=t.pingCache;if(c===null){c=t.pingCache=new uw;var h=new Set;c.set(s,h)}else h=c.get(s),h===void 0&&(h=new Set,c.set(s,h));h.has(a)||(wf=!0,h.add(a),t=gw.bind(null,t,s,a),s.then(t,t))}function gw(t,s,a){var c=t.pingCache;c!==null&&c.delete(s),t.pingedLanes|=t.suspendedLanes&a,t.warmLanes&=~a,De===t&&(ve&a)===a&&(Fe===4||Fe===3&&(ve&62914560)===ve&&300>Ct()-oo?(Ce&2)===0&&Ws(t,0):xf|=a,Js===ve&&(Js=0)),Mn(t)}function Wm(t,s){s===0&&(s=Yd()),t=Fi(t,s),t!==null&&(Ir(t,s),Mn(t))}function mw(t){var s=t.memoizedState,a=0;s!==null&&(a=s.retryLane),Wm(t,a)}function yw(t,s){var a=0;switch(t.tag){case 31:case 13:var c=t.stateNode,h=t.memoizedState;h!==null&&(a=h.retryLane);break;case 19:c=t.stateNode;break;case 22:c=t.stateNode._retryCache;break;default:throw Error(r(314))}c!==null&&c.delete(s),Wm(t,a)}function bw(t,s){return ai(t,s)}var mo=null,tr=null,Mf=!1,yo=!1,Of=!1,Ai=0;function Mn(t){t!==tr&&t.next===null&&(tr===null?mo=tr=t:tr=tr.next=t),yo=!0,Mf||(Mf=!0,Sw())}function xa(t,s){if(!Of&&yo){Of=!0;do for(var a=!1,c=mo;c!==null;){if(t!==0){var h=c.pendingLanes;if(h===0)var p=0;else{var y=c.suspendedLanes,T=c.pingedLanes;p=(1<<31-kt(42|t)+1)-1,p&=h&~(y&~T),p=p&201326741?p&201326741|1:p?p|2:0}p!==0&&(a=!0,iy(c,p))}else p=ve,p=Sl(c,c===De?p:0,c.cancelPendingCommit!==null||c.timeoutHandle!==-1),(p&3)===0||$r(c,p)||(a=!0,iy(c,p));c=c.next}while(a);Of=!1}}function vw(){ey()}function ey(){yo=Mf=!1;var t=0;Ai!==0&&Mw()&&(t=Ai);for(var s=Ct(),a=null,c=mo;c!==null;){var h=c.next,p=ty(c,s);p===0?(c.next=null,a===null?mo=h:a.next=h,h===null&&(tr=a)):(a=c,(t!==0||(p&3)!==0)&&(yo=!0)),c=h}ot!==0&&ot!==5||xa(t),Ai!==0&&(Ai=0)}function ty(t,s){for(var a=t.suspendedLanes,c=t.pingedLanes,h=t.expirationTimes,p=t.pendingLanes&-62914561;0<p;){var y=31-kt(p),T=1<<y,C=h[y];C===-1?((T&a)===0||(T&c)!==0)&&(h[y]=XS(T,s)):C<=s&&(t.expiredLanes|=T),p&=~T}if(s=De,a=ve,a=Sl(t,t===s?a:0,t.cancelPendingCommit!==null||t.timeoutHandle!==-1),c=t.callbackNode,a===0||t===s&&(Me===2||Me===9)||t.cancelPendingCommit!==null)return c!==null&&c!==null&&Br(c),t.callbackNode=null,t.callbackPriority=0;if((a&3)===0||$r(t,a)){if(s=a&-a,s===t.callbackPriority)return s;switch(c!==null&&Br(c),Kc(a)){case 2:case 8:a=qr;break;case 32:a=oi;break;case 268435456:a=ml;break;default:a=oi}return c=ny.bind(null,t),a=ai(a,c),t.callbackPriority=s,t.callbackNode=a,s}return c!==null&&c!==null&&Br(c),t.callbackPriority=2,t.callbackNode=null,2}function ny(t,s){if(ot!==0&&ot!==5)return t.callbackNode=null,t.callbackPriority=0,null;var a=t.callbackNode;if(go()&&t.callbackNode!==a)return null;var c=ve;return c=Sl(t,t===De?c:0,t.cancelPendingCommit!==null||t.timeoutHandle!==-1),c===0?null:(Um(t,c,s),ty(t,Ct()),t.callbackNode!=null&&t.callbackNode===a?ny.bind(null,t):null)}function iy(t,s){if(go())return null;Um(t,s,!0)}function Sw(){jw(function(){(Ce&6)!==0?ai(gl,vw):ey()})}function jf(){if(Ai===0){var t=qs;t===0&&(t=nn,nn<<=1,(nn&261888)===0&&(nn=256)),Ai=t}return Ai}function sy(t){return t==null||typeof t=="symbol"||typeof t=="boolean"?null:typeof t=="function"?t:El(""+t)}function ry(t,s){var a=s.ownerDocument.createElement("input");return a.name=s.name,a.value=s.value,t.id&&a.setAttribute("form",t.id),s.parentNode.insertBefore(a,s),t=new FormData(t),a.parentNode.removeChild(a),t}function ww(t,s,a,c,h){if(s==="submit"&&a&&a.stateNode===h){var p=sy((h[jt]||null).action),y=c.submitter;y&&(s=(s=y[jt]||null)?sy(s.formAction):y.getAttribute("formAction"),s!==null&&(p=s,y=null));var T=new Nl("action","action",null,c,h);t.push({event:T,listeners:[{instance:null,listener:function(){if(c.defaultPrevented){if(Ai!==0){var C=y?ry(h,y):new FormData(h);Ju(a,{pending:!0,data:C,method:h.method,action:p},null,C)}}else typeof p=="function"&&(T.preventDefault(),C=y?ry(h,y):new FormData(h),Ju(a,{pending:!0,data:C,method:h.method,action:p},p,C))},currentTarget:h}]})}}for(var Lf=0;Lf<pu.length;Lf++){var Rf=pu[Lf],xw=Rf.toLowerCase(),_w=Rf[0].toUpperCase()+Rf.slice(1);vn(xw,"on"+_w)}vn(zp,"onAnimationEnd"),vn(Up,"onAnimationIteration"),vn(Hp,"onAnimationStart"),vn("dblclick","onDoubleClick"),vn("focusin","onFocus"),vn("focusout","onBlur"),vn(B1,"onTransitionRun"),vn(q1,"onTransitionStart"),vn($1,"onTransitionCancel"),vn(Bp,"onTransitionEnd"),As("onMouseEnter",["mouseout","mouseover"]),As("onMouseLeave",["mouseout","mouseover"]),As("onPointerEnter",["pointerout","pointerover"]),As("onPointerLeave",["pointerout","pointerover"]),Gi("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),Gi("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),Gi("onBeforeInput",["compositionend","keypress","textInput","paste"]),Gi("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),Gi("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),Gi("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var _a="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Ew=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(_a));function ay(t,s){s=(s&4)!==0;for(var a=0;a<t.length;a++){var c=t[a],h=c.event;c=c.listeners;e:{var p=void 0;if(s)for(var y=c.length-1;0<=y;y--){var T=c[y],C=T.instance,z=T.currentTarget;if(T=T.listener,C!==p&&h.isPropagationStopped())break e;p=T,h.currentTarget=z;try{p(h)}catch(K){Ol(K)}h.currentTarget=null,p=C}else for(y=0;y<c.length;y++){if(T=c[y],C=T.instance,z=T.currentTarget,T=T.listener,C!==p&&h.isPropagationStopped())break e;p=T,h.currentTarget=z;try{p(h)}catch(K){Ol(K)}h.currentTarget=null,p=C}}}}function ye(t,s){var a=s[Xc];a===void 0&&(a=s[Xc]=new Set);var c=t+"__bubble";a.has(c)||(ly(s,t,2,!1),a.add(c))}function Df(t,s,a){var c=0;s&&(c|=4),ly(a,t,c,s)}var bo="_reactListening"+Math.random().toString(36).slice(2);function zf(t){if(!t[bo]){t[bo]=!0,ep.forEach(function(a){a!=="selectionchange"&&(Ew.has(a)||Df(a,!1,t),Df(a,!0,t))});var s=t.nodeType===9?t:t.ownerDocument;s===null||s[bo]||(s[bo]=!0,Df("selectionchange",!1,s))}}function ly(t,s,a,c){switch(zy(s)){case 2:var h=Zw;break;case 8:h=Ww;break;default:h=Jf}a=h.bind(null,s,a,t),h=void 0,!tu||s!=="touchstart"&&s!=="touchmove"&&s!=="wheel"||(h=!0),c?h!==void 0?t.addEventListener(s,a,{capture:!0,passive:h}):t.addEventListener(s,a,!0):h!==void 0?t.addEventListener(s,a,{passive:h}):t.addEventListener(s,a,!1)}function Uf(t,s,a,c,h){var p=c;if((s&1)===0&&(s&2)===0&&c!==null)e:for(;;){if(c===null)return;var y=c.tag;if(y===3||y===4){var T=c.stateNode.containerInfo;if(T===h)break;if(y===4)for(y=c.return;y!==null;){var C=y.tag;if((C===3||C===4)&&y.stateNode.containerInfo===h)return;y=y.return}for(;T!==null;){if(y=_s(T),y===null)return;if(C=y.tag,C===5||C===6||C===26||C===27){c=p=y;continue e}T=T.parentNode}}c=c.return}hp(function(){var z=p,K=Wc(a),Q=[];e:{var H=qp.get(t);if(H!==void 0){var q=Nl,ee=t;switch(t){case"keypress":if(Al(a)===0)break e;case"keydown":case"keyup":q=y1;break;case"focusin":ee="focus",q=ru;break;case"focusout":ee="blur",q=ru;break;case"beforeblur":case"afterblur":q=ru;break;case"click":if(a.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":q=gp;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":q=r1;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":q=S1;break;case zp:case Up:case Hp:q=o1;break;case Bp:q=x1;break;case"scroll":case"scrollend":q=i1;break;case"wheel":q=E1;break;case"copy":case"cut":case"paste":q=u1;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":q=yp;break;case"toggle":case"beforetoggle":q=A1}var le=(s&4)!==0,Re=!le&&(t==="scroll"||t==="scrollend"),j=le?H!==null?H+"Capture":null:H;le=[];for(var k=z,D;k!==null;){var F=k;if(D=F.stateNode,F=F.tag,F!==5&&F!==26&&F!==27||D===null||j===null||(F=Kr(k,j),F!=null&&le.push(Ea(k,F,D))),Re)break;k=k.return}0<le.length&&(H=new q(H,ee,null,a,K),Q.push({event:H,listeners:le}))}}if((s&7)===0){e:{if(H=t==="mouseover"||t==="pointerover",q=t==="mouseout"||t==="pointerout",H&&a!==Zc&&(ee=a.relatedTarget||a.fromElement)&&(_s(ee)||ee[xs]))break e;if((q||H)&&(H=K.window===K?K:(H=K.ownerDocument)?H.defaultView||H.parentWindow:window,q?(ee=a.relatedTarget||a.toElement,q=z,ee=ee?_s(ee):null,ee!==null&&(Re=o(ee),le=ee.tag,ee!==Re||le!==5&&le!==27&&le!==6)&&(ee=null)):(q=null,ee=z),q!==ee)){if(le=gp,F="onMouseLeave",j="onMouseEnter",k="mouse",(t==="pointerout"||t==="pointerover")&&(le=yp,F="onPointerLeave",j="onPointerEnter",k="pointer"),Re=q==null?H:Gr(q),D=ee==null?H:Gr(ee),H=new le(F,k+"leave",q,a,K),H.target=Re,H.relatedTarget=D,F=null,_s(K)===z&&(le=new le(j,k+"enter",ee,a,K),le.target=D,le.relatedTarget=Re,F=le),Re=F,q&&ee)t:{for(le=Tw,j=q,k=ee,D=0,F=j;F;F=le(F))D++;F=0;for(var se=k;se;se=le(se))F++;for(;0<D-F;)j=le(j),D--;for(;0<F-D;)k=le(k),F--;for(;D--;){if(j===k||k!==null&&j===k.alternate){le=j;break t}j=le(j),k=le(k)}le=null}else le=null;q!==null&&oy(Q,H,q,le,!1),ee!==null&&Re!==null&&oy(Q,Re,ee,le,!0)}}e:{if(H=z?Gr(z):window,q=H.nodeName&&H.nodeName.toLowerCase(),q==="select"||q==="input"&&H.type==="file")var Te=Tp;else if(_p(H))if(Ap)Te=z1;else{Te=R1;var ie=L1}else q=H.nodeName,!q||q.toLowerCase()!=="input"||H.type!=="checkbox"&&H.type!=="radio"?z&&Jc(z.elementType)&&(Te=Tp):Te=D1;if(Te&&(Te=Te(t,z))){Ep(Q,Te,a,K);break e}ie&&ie(t,H,z),t==="focusout"&&z&&H.type==="number"&&z.memoizedProps.value!=null&&Pc(H,"number",H.value)}switch(ie=z?Gr(z):window,t){case"focusin":(_p(ie)||ie.contentEditable==="true")&&(js=ie,fu=z,Wr=null);break;case"focusout":Wr=fu=js=null;break;case"mousedown":hu=!0;break;case"contextmenu":case"mouseup":case"dragend":hu=!1,Rp(Q,a,K);break;case"selectionchange":if(H1)break;case"keydown":case"keyup":Rp(Q,a,K)}var pe;if(lu)e:{switch(t){case"compositionstart":var Se="onCompositionStart";break e;case"compositionend":Se="onCompositionEnd";break e;case"compositionupdate":Se="onCompositionUpdate";break e}Se=void 0}else Os?wp(t,a)&&(Se="onCompositionEnd"):t==="keydown"&&a.keyCode===229&&(Se="onCompositionStart");Se&&(bp&&a.locale!=="ko"&&(Os||Se!=="onCompositionStart"?Se==="onCompositionEnd"&&Os&&(pe=dp()):(ui=K,nu="value"in ui?ui.value:ui.textContent,Os=!0)),ie=vo(z,Se),0<ie.length&&(Se=new mp(Se,t,null,a,K),Q.push({event:Se,listeners:ie}),pe?Se.data=pe:(pe=xp(a),pe!==null&&(Se.data=pe)))),(pe=N1?k1(t,a):M1(t,a))&&(Se=vo(z,"onBeforeInput"),0<Se.length&&(ie=new mp("onBeforeInput","beforeinput",null,a,K),Q.push({event:ie,listeners:Se}),ie.data=pe)),ww(Q,t,z,a,K)}ay(Q,s)})}function Ea(t,s,a){return{instance:t,listener:s,currentTarget:a}}function vo(t,s){for(var a=s+"Capture",c=[];t!==null;){var h=t,p=h.stateNode;if(h=h.tag,h!==5&&h!==26&&h!==27||p===null||(h=Kr(t,a),h!=null&&c.unshift(Ea(t,h,p)),h=Kr(t,s),h!=null&&c.push(Ea(t,h,p))),t.tag===3)return c;t=t.return}return[]}function Tw(t){if(t===null)return null;do t=t.return;while(t&&t.tag!==5&&t.tag!==27);return t||null}function oy(t,s,a,c,h){for(var p=s._reactName,y=[];a!==null&&a!==c;){var T=a,C=T.alternate,z=T.stateNode;if(T=T.tag,C!==null&&C===c)break;T!==5&&T!==26&&T!==27||z===null||(C=z,h?(z=Kr(a,p),z!=null&&y.unshift(Ea(a,z,C))):h||(z=Kr(a,p),z!=null&&y.push(Ea(a,z,C)))),a=a.return}y.length!==0&&t.push({event:s,listeners:y})}var Aw=/\r\n?/g,Cw=/\u0000|\uFFFD/g;function cy(t){return(typeof t=="string"?t:""+t).replace(Aw,`
50 -`).replace(Cw,"")}function uy(t,s){return s=cy(s),cy(t)===s}function Le(t,s,a,c,h,p){switch(a){case"children":typeof c=="string"?s==="body"||s==="textarea"&&c===""||Ns(t,c):(typeof c=="number"||typeof c=="bigint")&&s!=="body"&&Ns(t,""+c);break;case"className":xl(t,"class",c);break;case"tabIndex":xl(t,"tabindex",c);break;case"dir":case"role":case"viewBox":case"width":case"height":xl(t,a,c);break;case"style":up(t,c,p);break;case"data":if(s!=="object"){xl(t,"data",c);break}case"src":case"href":if(c===""&&(s!=="a"||a!=="href")){t.removeAttribute(a);break}if(c==null||typeof c=="function"||typeof c=="symbol"||typeof c=="boolean"){t.removeAttribute(a);break}c=El(""+c),t.setAttribute(a,c);break;case"action":case"formAction":if(typeof c=="function"){t.setAttribute(a,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof p=="function"&&(a==="formAction"?(s!=="input"&&Le(t,s,"name",h.name,h,null),Le(t,s,"formEncType",h.formEncType,h,null),Le(t,s,"formMethod",h.formMethod,h,null),Le(t,s,"formTarget",h.formTarget,h,null)):(Le(t,s,"encType",h.encType,h,null),Le(t,s,"method",h.method,h,null),Le(t,s,"target",h.target,h,null)));if(c==null||typeof c=="symbol"||typeof c=="boolean"){t.removeAttribute(a);break}c=El(""+c),t.setAttribute(a,c);break;case"onClick":c!=null&&(t.onclick=Dn);break;case"onScroll":c!=null&&ye("scroll",t);break;case"onScrollEnd":c!=null&&ye("scrollend",t);break;case"dangerouslySetInnerHTML":if(c!=null){if(typeof c!="object"||!("__html"in c))throw Error(r(61));if(a=c.__html,a!=null){if(h.children!=null)throw Error(r(60));t.innerHTML=a}}break;case"multiple":t.multiple=c&&typeof c!="function"&&typeof c!="symbol";break;case"muted":t.muted=c&&typeof c!="function"&&typeof c!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(c==null||typeof c=="function"||typeof c=="boolean"||typeof c=="symbol"){t.removeAttribute("xlink:href");break}a=El(""+c),t.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",a);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":c!=null&&typeof c!="function"&&typeof c!="symbol"?t.setAttribute(a,""+c):t.removeAttribute(a);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":c&&typeof c!="function"&&typeof c!="symbol"?t.setAttribute(a,""):t.removeAttribute(a);break;case"capture":case"download":c===!0?t.setAttribute(a,""):c!==!1&&c!=null&&typeof c!="function"&&typeof c!="symbol"?t.setAttribute(a,c):t.removeAttribute(a);break;case"cols":case"rows":case"size":case"span":c!=null&&typeof c!="function"&&typeof c!="symbol"&&!isNaN(c)&&1<=c?t.setAttribute(a,c):t.removeAttribute(a);break;case"rowSpan":case"start":c==null||typeof c=="function"||typeof c=="symbol"||isNaN(c)?t.removeAttribute(a):t.setAttribute(a,c);break;case"popover":ye("beforetoggle",t),ye("toggle",t),wl(t,"popover",c);break;case"xlinkActuate":Rn(t,"http://www.w3.org/1999/xlink","xlink:actuate",c);break;case"xlinkArcrole":Rn(t,"http://www.w3.org/1999/xlink","xlink:arcrole",c);break;case"xlinkRole":Rn(t,"http://www.w3.org/1999/xlink","xlink:role",c);break;case"xlinkShow":Rn(t,"http://www.w3.org/1999/xlink","xlink:show",c);break;case"xlinkTitle":Rn(t,"http://www.w3.org/1999/xlink","xlink:title",c);break;case"xlinkType":Rn(t,"http://www.w3.org/1999/xlink","xlink:type",c);break;case"xmlBase":Rn(t,"http://www.w3.org/XML/1998/namespace","xml:base",c);break;case"xmlLang":Rn(t,"http://www.w3.org/XML/1998/namespace","xml:lang",c);break;case"xmlSpace":Rn(t,"http://www.w3.org/XML/1998/namespace","xml:space",c);break;case"is":wl(t,"is",c);break;case"innerText":case"textContent":break;default:(!(2<a.length)||a[0]!=="o"&&a[0]!=="O"||a[1]!=="n"&&a[1]!=="N")&&(a=t1.get(a)||a,wl(t,a,c))}}function Hf(t,s,a,c,h,p){switch(a){case"style":up(t,c,p);break;case"dangerouslySetInnerHTML":if(c!=null){if(typeof c!="object"||!("__html"in c))throw Error(r(61));if(a=c.__html,a!=null){if(h.children!=null)throw Error(r(60));t.innerHTML=a}}break;case"children":typeof c=="string"?Ns(t,c):(typeof c=="number"||typeof c=="bigint")&&Ns(t,""+c);break;case"onScroll":c!=null&&ye("scroll",t);break;case"onScrollEnd":c!=null&&ye("scrollend",t);break;case"onClick":c!=null&&(t.onclick=Dn);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!tp.hasOwnProperty(a))e:{if(a[0]==="o"&&a[1]==="n"&&(h=a.endsWith("Capture"),s=a.slice(2,h?a.length-7:void 0),p=t[jt]||null,p=p!=null?p[a]:null,typeof p=="function"&&t.removeEventListener(s,p,h),typeof c=="function")){typeof p!="function"&&p!==null&&(a in t?t[a]=null:t.hasAttribute(a)&&t.removeAttribute(a)),t.addEventListener(s,c,h);break e}a in t?t[a]=c:c===!0?t.setAttribute(a,""):wl(t,a,c)}}}function bt(t,s,a){switch(s){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":ye("error",t),ye("load",t);var c=!1,h=!1,p;for(p in a)if(a.hasOwnProperty(p)){var y=a[p];if(y!=null)switch(p){case"src":c=!0;break;case"srcSet":h=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(r(137,s));default:Le(t,s,p,y,a,null)}}h&&Le(t,s,"srcSet",a.srcSet,a,null),c&&Le(t,s,"src",a.src,a,null);return;case"input":ye("invalid",t);var T=p=y=h=null,C=null,z=null;for(c in a)if(a.hasOwnProperty(c)){var K=a[c];if(K!=null)switch(c){case"name":h=K;break;case"type":y=K;break;case"checked":C=K;break;case"defaultChecked":z=K;break;case"value":p=K;break;case"defaultValue":T=K;break;case"children":case"dangerouslySetInnerHTML":if(K!=null)throw Error(r(137,s));break;default:Le(t,s,c,K,a,null)}}ap(t,p,T,C,z,y,h,!1);return;case"select":ye("invalid",t),c=y=p=null;for(h in a)if(a.hasOwnProperty(h)&&(T=a[h],T!=null))switch(h){case"value":p=T;break;case"defaultValue":y=T;break;case"multiple":c=T;default:Le(t,s,h,T,a,null)}s=p,a=y,t.multiple=!!c,s!=null?Cs(t,!!c,s,!1):a!=null&&Cs(t,!!c,a,!0);return;case"textarea":ye("invalid",t),p=h=c=null;for(y in a)if(a.hasOwnProperty(y)&&(T=a[y],T!=null))switch(y){case"value":c=T;break;case"defaultValue":h=T;break;case"children":p=T;break;case"dangerouslySetInnerHTML":if(T!=null)throw Error(r(91));break;default:Le(t,s,y,T,a,null)}op(t,c,h,p);return;case"option":for(C in a)if(a.hasOwnProperty(C)&&(c=a[C],c!=null))switch(C){case"selected":t.selected=c&&typeof c!="function"&&typeof c!="symbol";break;default:Le(t,s,C,c,a,null)}return;case"dialog":ye("beforetoggle",t),ye("toggle",t),ye("cancel",t),ye("close",t);break;case"iframe":case"object":ye("load",t);break;case"video":case"audio":for(c=0;c<_a.length;c++)ye(_a[c],t);break;case"image":ye("error",t),ye("load",t);break;case"details":ye("toggle",t);break;case"embed":case"source":case"link":ye("error",t),ye("load",t);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(z in a)if(a.hasOwnProperty(z)&&(c=a[z],c!=null))switch(z){case"children":case"dangerouslySetInnerHTML":throw Error(r(137,s));default:Le(t,s,z,c,a,null)}return;default:if(Jc(s)){for(K in a)a.hasOwnProperty(K)&&(c=a[K],c!==void 0&&Hf(t,s,K,c,a,void 0));return}}for(T in a)a.hasOwnProperty(T)&&(c=a[T],c!=null&&Le(t,s,T,c,a,null))}function Nw(t,s,a,c){switch(s){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var h=null,p=null,y=null,T=null,C=null,z=null,K=null;for(q in a){var Q=a[q];if(a.hasOwnProperty(q)&&Q!=null)switch(q){case"checked":break;case"value":break;case"defaultValue":C=Q;default:c.hasOwnProperty(q)||Le(t,s,q,null,c,Q)}}for(var H in c){var q=c[H];if(Q=a[H],c.hasOwnProperty(H)&&(q!=null||Q!=null))switch(H){case"type":p=q;break;case"name":h=q;break;case"checked":z=q;break;case"defaultChecked":K=q;break;case"value":y=q;break;case"defaultValue":T=q;break;case"children":case"dangerouslySetInnerHTML":if(q!=null)throw Error(r(137,s));break;default:q!==Q&&Le(t,s,H,q,c,Q)}}Qc(t,y,T,C,z,K,p,h);return;case"select":q=y=T=H=null;for(p in a)if(C=a[p],a.hasOwnProperty(p)&&C!=null)switch(p){case"value":break;case"multiple":q=C;default:c.hasOwnProperty(p)||Le(t,s,p,null,c,C)}for(h in c)if(p=c[h],C=a[h],c.hasOwnProperty(h)&&(p!=null||C!=null))switch(h){case"value":H=p;break;case"defaultValue":T=p;break;case"multiple":y=p;default:p!==C&&Le(t,s,h,p,c,C)}s=T,a=y,c=q,H!=null?Cs(t,!!a,H,!1):!!c!=!!a&&(s!=null?Cs(t,!!a,s,!0):Cs(t,!!a,a?[]:"",!1));return;case"textarea":q=H=null;for(T in a)if(h=a[T],a.hasOwnProperty(T)&&h!=null&&!c.hasOwnProperty(T))switch(T){case"value":break;case"children":break;default:Le(t,s,T,null,c,h)}for(y in c)if(h=c[y],p=a[y],c.hasOwnProperty(y)&&(h!=null||p!=null))switch(y){case"value":H=h;break;case"defaultValue":q=h;break;case"children":break;case"dangerouslySetInnerHTML":if(h!=null)throw Error(r(91));break;default:h!==p&&Le(t,s,y,h,c,p)}lp(t,H,q);return;case"option":for(var ee in a)if(H=a[ee],a.hasOwnProperty(ee)&&H!=null&&!c.hasOwnProperty(ee))switch(ee){case"selected":t.selected=!1;break;default:Le(t,s,ee,null,c,H)}for(C in c)if(H=c[C],q=a[C],c.hasOwnProperty(C)&&H!==q&&(H!=null||q!=null))switch(C){case"selected":t.selected=H&&typeof H!="function"&&typeof H!="symbol";break;default:Le(t,s,C,H,c,q)}return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var le in a)H=a[le],a.hasOwnProperty(le)&&H!=null&&!c.hasOwnProperty(le)&&Le(t,s,le,null,c,H);for(z in c)if(H=c[z],q=a[z],c.hasOwnProperty(z)&&H!==q&&(H!=null||q!=null))switch(z){case"children":case"dangerouslySetInnerHTML":if(H!=null)throw Error(r(137,s));break;default:Le(t,s,z,H,c,q)}return;default:if(Jc(s)){for(var Re in a)H=a[Re],a.hasOwnProperty(Re)&&H!==void 0&&!c.hasOwnProperty(Re)&&Hf(t,s,Re,void 0,c,H);for(K in c)H=c[K],q=a[K],!c.hasOwnProperty(K)||H===q||H===void 0&&q===void 0||Hf(t,s,K,H,c,q);return}}for(var j in a)H=a[j],a.hasOwnProperty(j)&&H!=null&&!c.hasOwnProperty(j)&&Le(t,s,j,null,c,H);for(Q in c)H=c[Q],q=a[Q],!c.hasOwnProperty(Q)||H===q||H==null&&q==null||Le(t,s,Q,H,c,q)}function fy(t){switch(t){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function kw(){if(typeof performance.getEntriesByType=="function"){for(var t=0,s=0,a=performance.getEntriesByType("resource"),c=0;c<a.length;c++){var h=a[c],p=h.transferSize,y=h.initiatorType,T=h.duration;if(p&&T&&fy(y)){for(y=0,T=h.responseEnd,c+=1;c<a.length;c++){var C=a[c],z=C.startTime;if(z>T)break;var K=C.transferSize,Q=C.initiatorType;K&&fy(Q)&&(C=C.responseEnd,y+=K*(C<T?1:(T-z)/(C-z)))}if(--c,s+=8*(p+y)/(h.duration/1e3),t++,10<t)break}}if(0<t)return s/t/1e6}return navigator.connection&&(t=navigator.connection.downlink,typeof t=="number")?t:5}var Bf=null,qf=null;function So(t){return t.nodeType===9?t:t.ownerDocument}function hy(t){switch(t){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function dy(t,s){if(t===0)switch(s){case"svg":return 1;case"math":return 2;default:return 0}return t===1&&s==="foreignObject"?0:t}function $f(t,s){return t==="textarea"||t==="noscript"||typeof s.children=="string"||typeof s.children=="number"||typeof s.children=="bigint"||typeof s.dangerouslySetInnerHTML=="object"&&s.dangerouslySetInnerHTML!==null&&s.dangerouslySetInnerHTML.__html!=null}var If=null;function Mw(){var t=window.event;return t&&t.type==="popstate"?t===If?!1:(If=t,!0):(If=null,!1)}var py=typeof setTimeout=="function"?setTimeout:void 0,Ow=typeof clearTimeout=="function"?clearTimeout:void 0,gy=typeof Promise=="function"?Promise:void 0,jw=typeof queueMicrotask=="function"?queueMicrotask:typeof gy<"u"?function(t){return gy.resolve(null).then(t).catch(Lw)}:py;function Lw(t){setTimeout(function(){throw t})}function Ci(t){return t==="head"}function my(t,s){var a=s,c=0;do{var h=a.nextSibling;if(t.removeChild(a),h&&h.nodeType===8)if(a=h.data,a==="/$"||a==="/&"){if(c===0){t.removeChild(h),rr(s);return}c--}else if(a==="$"||a==="$?"||a==="$~"||a==="$!"||a==="&")c++;else if(a==="html")Ta(t.ownerDocument.documentElement);else if(a==="head"){a=t.ownerDocument.head,Ta(a);for(var p=a.firstChild;p;){var y=p.nextSibling,T=p.nodeName;p[Vr]||T==="SCRIPT"||T==="STYLE"||T==="LINK"&&p.rel.toLowerCase()==="stylesheet"||a.removeChild(p),p=y}}else a==="body"&&Ta(t.ownerDocument.body);a=h}while(a);rr(s)}function yy(t,s){var a=t;t=0;do{var c=a.nextSibling;if(a.nodeType===1?s?(a._stashedDisplay=a.style.display,a.style.display="none"):(a.style.display=a._stashedDisplay||"",a.getAttribute("style")===""&&a.removeAttribute("style")):a.nodeType===3&&(s?(a._stashedText=a.nodeValue,a.nodeValue=""):a.nodeValue=a._stashedText||""),c&&c.nodeType===8)if(a=c.data,a==="/$"){if(t===0)break;t--}else a!=="$"&&a!=="$?"&&a!=="$~"&&a!=="$!"||t++;a=c}while(a)}function Vf(t){var s=t.firstChild;for(s&&s.nodeType===10&&(s=s.nextSibling);s;){var a=s;switch(s=s.nextSibling,a.nodeName){case"HTML":case"HEAD":case"BODY":Vf(a),Yc(a);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(a.rel.toLowerCase()==="stylesheet")continue}t.removeChild(a)}}function Rw(t,s,a,c){for(;t.nodeType===1;){var h=a;if(t.nodeName.toLowerCase()!==s.toLowerCase()){if(!c&&(t.nodeName!=="INPUT"||t.type!=="hidden"))break}else if(c){if(!t[Vr])switch(s){case"meta":if(!t.hasAttribute("itemprop"))break;return t;case"link":if(p=t.getAttribute("rel"),p==="stylesheet"&&t.hasAttribute("data-precedence"))break;if(p!==h.rel||t.getAttribute("href")!==(h.href==null||h.href===""?null:h.href)||t.getAttribute("crossorigin")!==(h.crossOrigin==null?null:h.crossOrigin)||t.getAttribute("title")!==(h.title==null?null:h.title))break;return t;case"style":if(t.hasAttribute("data-precedence"))break;return t;case"script":if(p=t.getAttribute("src"),(p!==(h.src==null?null:h.src)||t.getAttribute("type")!==(h.type==null?null:h.type)||t.getAttribute("crossorigin")!==(h.crossOrigin==null?null:h.crossOrigin))&&p&&t.hasAttribute("async")&&!t.hasAttribute("itemprop"))break;return t;default:return t}}else if(s==="input"&&t.type==="hidden"){var p=h.name==null?null:""+h.name;if(h.type==="hidden"&&t.getAttribute("name")===p)return t}else return t;if(t=hn(t.nextSibling),t===null)break}return null}function Dw(t,s,a){if(s==="")return null;for(;t.nodeType!==3;)if((t.nodeType!==1||t.nodeName!=="INPUT"||t.type!=="hidden")&&!a||(t=hn(t.nextSibling),t===null))return null;return t}function by(t,s){for(;t.nodeType!==8;)if((t.nodeType!==1||t.nodeName!=="INPUT"||t.type!=="hidden")&&!s||(t=hn(t.nextSibling),t===null))return null;return t}function Gf(t){return t.data==="$?"||t.data==="$~"}function Kf(t){return t.data==="$!"||t.data==="$?"&&t.ownerDocument.readyState!=="loading"}function zw(t,s){var a=t.ownerDocument;if(t.data==="$~")t._reactRetry=s;else if(t.data!=="$?"||a.readyState!=="loading")s();else{var c=function(){s(),a.removeEventListener("DOMContentLoaded",c)};a.addEventListener("DOMContentLoaded",c),t._reactRetry=c}}function hn(t){for(;t!=null;t=t.nextSibling){var s=t.nodeType;if(s===1||s===3)break;if(s===8){if(s=t.data,s==="$"||s==="$!"||s==="$?"||s==="$~"||s==="&"||s==="F!"||s==="F")break;if(s==="/$"||s==="/&")return null}}return t}var Xf=null;function vy(t){t=t.nextSibling;for(var s=0;t;){if(t.nodeType===8){var a=t.data;if(a==="/$"||a==="/&"){if(s===0)return hn(t.nextSibling);s--}else a!=="$"&&a!=="$!"&&a!=="$?"&&a!=="$~"&&a!=="&"||s++}t=t.nextSibling}return null}function Sy(t){t=t.previousSibling;for(var s=0;t;){if(t.nodeType===8){var a=t.data;if(a==="$"||a==="$!"||a==="$?"||a==="$~"||a==="&"){if(s===0)return t;s--}else a!=="/$"&&a!=="/&"||s++}t=t.previousSibling}return null}function wy(t,s,a){switch(s=So(a),t){case"html":if(t=s.documentElement,!t)throw Error(r(452));return t;case"head":if(t=s.head,!t)throw Error(r(453));return t;case"body":if(t=s.body,!t)throw Error(r(454));return t;default:throw Error(r(451))}}function Ta(t){for(var s=t.attributes;s.length;)t.removeAttributeNode(s[0]);Yc(t)}var dn=new Map,xy=new Set;function wo(t){return typeof t.getRootNode=="function"?t.getRootNode():t.nodeType===9?t:t.ownerDocument}var Jn=J.d;J.d={f:Uw,r:Hw,D:Bw,C:qw,L:$w,m:Iw,X:Gw,S:Vw,M:Kw};function Uw(){var t=Jn.f(),s=fo();return t||s}function Hw(t){var s=Es(t);s!==null&&s.tag===5&&s.type==="form"?Bg(s):Jn.r(t)}var nr=typeof document>"u"?null:document;function _y(t,s,a){var c=nr;if(c&&typeof s=="string"&&s){var h=rn(s);h='link[rel="'+t+'"][href="'+h+'"]',typeof a=="string"&&(h+='[crossorigin="'+a+'"]'),xy.has(h)||(xy.add(h),t={rel:t,crossOrigin:a,href:s},c.querySelector(h)===null&&(s=c.createElement("link"),bt(s,"link",t),ht(s),c.head.appendChild(s)))}}function Bw(t){Jn.D(t),_y("dns-prefetch",t,null)}function qw(t,s){Jn.C(t,s),_y("preconnect",t,s)}function $w(t,s,a){Jn.L(t,s,a);var c=nr;if(c&&t&&s){var h='link[rel="preload"][as="'+rn(s)+'"]';s==="image"&&a&&a.imageSrcSet?(h+='[imagesrcset="'+rn(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(h+='[imagesizes="'+rn(a.imageSizes)+'"]')):h+='[href="'+rn(t)+'"]';var p=h;switch(s){case"style":p=ir(t);break;case"script":p=sr(t)}dn.has(p)||(t=m({rel:"preload",href:s==="image"&&a&&a.imageSrcSet?void 0:t,as:s},a),dn.set(p,t),c.querySelector(h)!==null||s==="style"&&c.querySelector(Aa(p))||s==="script"&&c.querySelector(Ca(p))||(s=c.createElement("link"),bt(s,"link",t),ht(s),c.head.appendChild(s)))}}function Iw(t,s){Jn.m(t,s);var a=nr;if(a&&t){var c=s&&typeof s.as=="string"?s.as:"script",h='link[rel="modulepreload"][as="'+rn(c)+'"][href="'+rn(t)+'"]',p=h;switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":p=sr(t)}if(!dn.has(p)&&(t=m({rel:"modulepreload",href:t},s),dn.set(p,t),a.querySelector(h)===null)){switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(Ca(p)))return}c=a.createElement("link"),bt(c,"link",t),ht(c),a.head.appendChild(c)}}}function Vw(t,s,a){Jn.S(t,s,a);var c=nr;if(c&&t){var h=Ts(c).hoistableStyles,p=ir(t);s=s||"default";var y=h.get(p);if(!y){var T={loading:0,preload:null};if(y=c.querySelector(Aa(p)))T.loading=5;else{t=m({rel:"stylesheet",href:t,"data-precedence":s},a),(a=dn.get(p))&&Yf(t,a);var C=y=c.createElement("link");ht(C),bt(C,"link",t),C._p=new Promise(function(z,K){C.onload=z,C.onerror=K}),C.addEventListener("load",function(){T.loading|=1}),C.addEventListener("error",function(){T.loading|=2}),T.loading|=4,xo(y,s,c)}y={type:"stylesheet",instance:y,count:1,state:T},h.set(p,y)}}}function Gw(t,s){Jn.X(t,s);var a=nr;if(a&&t){var c=Ts(a).hoistableScripts,h=sr(t),p=c.get(h);p||(p=a.querySelector(Ca(h)),p||(t=m({src:t,async:!0},s),(s=dn.get(h))&&Ff(t,s),p=a.createElement("script"),ht(p),bt(p,"link",t),a.head.appendChild(p)),p={type:"script",instance:p,count:1,state:null},c.set(h,p))}}function Kw(t,s){Jn.M(t,s);var a=nr;if(a&&t){var c=Ts(a).hoistableScripts,h=sr(t),p=c.get(h);p||(p=a.querySelector(Ca(h)),p||(t=m({src:t,async:!0,type:"module"},s),(s=dn.get(h))&&Ff(t,s),p=a.createElement("script"),ht(p),bt(p,"link",t),a.head.appendChild(p)),p={type:"script",instance:p,count:1,state:null},c.set(h,p))}}function Ey(t,s,a,c){var h=(h=he.current)?wo(h):null;if(!h)throw Error(r(446));switch(t){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(s=ir(a.href),a=Ts(h).hoistableStyles,c=a.get(s),c||(c={type:"style",instance:null,count:0,state:null},a.set(s,c)),c):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){t=ir(a.href);var p=Ts(h).hoistableStyles,y=p.get(t);if(y||(h=h.ownerDocument||h,y={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},p.set(t,y),(p=h.querySelector(Aa(t)))&&!p._p&&(y.instance=p,y.state.loading=5),dn.has(t)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},dn.set(t,a),p||Xw(h,t,a,y.state))),s&&c===null)throw Error(r(528,""));return y}if(s&&c!==null)throw Error(r(529,""));return null;case"script":return s=a.async,a=a.src,typeof a=="string"&&s&&typeof s!="function"&&typeof s!="symbol"?(s=sr(a),a=Ts(h).hoistableScripts,c=a.get(s),c||(c={type:"script",instance:null,count:0,state:null},a.set(s,c)),c):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,t))}}function ir(t){return'href="'+rn(t)+'"'}function Aa(t){return'link[rel="stylesheet"]['+t+"]"}function Ty(t){return m({},t,{"data-precedence":t.precedence,precedence:null})}function Xw(t,s,a,c){t.querySelector('link[rel="preload"][as="style"]['+s+"]")?c.loading=1:(s=t.createElement("link"),c.preload=s,s.addEventListener("load",function(){return c.loading|=1}),s.addEventListener("error",function(){return c.loading|=2}),bt(s,"link",a),ht(s),t.head.appendChild(s))}function sr(t){return'[src="'+rn(t)+'"]'}function Ca(t){return"script[async]"+t}function Ay(t,s,a){if(s.count++,s.instance===null)switch(s.type){case"style":var c=t.querySelector('style[data-href~="'+rn(a.href)+'"]');if(c)return s.instance=c,ht(c),c;var h=m({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return c=(t.ownerDocument||t).createElement("style"),ht(c),bt(c,"style",h),xo(c,a.precedence,t),s.instance=c;case"stylesheet":h=ir(a.href);var p=t.querySelector(Aa(h));if(p)return s.state.loading|=4,s.instance=p,ht(p),p;c=Ty(a),(h=dn.get(h))&&Yf(c,h),p=(t.ownerDocument||t).createElement("link"),ht(p);var y=p;return y._p=new Promise(function(T,C){y.onload=T,y.onerror=C}),bt(p,"link",c),s.state.loading|=4,xo(p,a.precedence,t),s.instance=p;case"script":return p=sr(a.src),(h=t.querySelector(Ca(p)))?(s.instance=h,ht(h),h):(c=a,(h=dn.get(p))&&(c=m({},a),Ff(c,h)),t=t.ownerDocument||t,h=t.createElement("script"),ht(h),bt(h,"link",c),t.head.appendChild(h),s.instance=h);case"void":return null;default:throw Error(r(443,s.type))}else s.type==="stylesheet"&&(s.state.loading&4)===0&&(c=s.instance,s.state.loading|=4,xo(c,a.precedence,t));return s.instance}function xo(t,s,a){for(var c=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),h=c.length?c[c.length-1]:null,p=h,y=0;y<c.length;y++){var T=c[y];if(T.dataset.precedence===s)p=T;else if(p!==h)break}p?p.parentNode.insertBefore(t,p.nextSibling):(s=a.nodeType===9?a.head:a,s.insertBefore(t,s.firstChild))}function Yf(t,s){t.crossOrigin==null&&(t.crossOrigin=s.crossOrigin),t.referrerPolicy==null&&(t.referrerPolicy=s.referrerPolicy),t.title==null&&(t.title=s.title)}function Ff(t,s){t.crossOrigin==null&&(t.crossOrigin=s.crossOrigin),t.referrerPolicy==null&&(t.referrerPolicy=s.referrerPolicy),t.integrity==null&&(t.integrity=s.integrity)}var _o=null;function Cy(t,s,a){if(_o===null){var c=new Map,h=_o=new Map;h.set(a,c)}else h=_o,c=h.get(a),c||(c=new Map,h.set(a,c));if(c.has(t))return c;for(c.set(t,null),a=a.getElementsByTagName(t),h=0;h<a.length;h++){var p=a[h];if(!(p[Vr]||p[pt]||t==="link"&&p.getAttribute("rel")==="stylesheet")&&p.namespaceURI!=="http://www.w3.org/2000/svg"){var y=p.getAttribute(s)||"";y=t+y;var T=c.get(y);T?T.push(p):c.set(y,[p])}}return c}function Ny(t,s,a){t=t.ownerDocument||t,t.head.insertBefore(a,s==="title"?t.querySelector("head > title"):null)}function Yw(t,s,a){if(a===1||s.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof s.precedence!="string"||typeof s.href!="string"||s.href==="")break;return!0;case"link":if(typeof s.rel!="string"||typeof s.href!="string"||s.href===""||s.onLoad||s.onError)break;switch(s.rel){case"stylesheet":return t=s.disabled,typeof s.precedence=="string"&&t==null;default:return!0}case"script":if(s.async&&typeof s.async!="function"&&typeof s.async!="symbol"&&!s.onLoad&&!s.onError&&s.src&&typeof s.src=="string")return!0}return!1}function ky(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function Fw(t,s,a,c){if(a.type==="stylesheet"&&(typeof c.media!="string"||matchMedia(c.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var h=ir(c.href),p=s.querySelector(Aa(h));if(p){s=p._p,s!==null&&typeof s=="object"&&typeof s.then=="function"&&(t.count++,t=Eo.bind(t),s.then(t,t)),a.state.loading|=4,a.instance=p,ht(p);return}p=s.ownerDocument||s,c=Ty(c),(h=dn.get(h))&&Yf(c,h),p=p.createElement("link"),ht(p);var y=p;y._p=new Promise(function(T,C){y.onload=T,y.onerror=C}),bt(p,"link",c),a.instance=p}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(a,s),(s=a.state.preload)&&(a.state.loading&3)===0&&(t.count++,a=Eo.bind(t),s.addEventListener("load",a),s.addEventListener("error",a))}}var Qf=0;function Qw(t,s){return t.stylesheets&&t.count===0&&Ao(t,t.stylesheets),0<t.count||0<t.imgCount?function(a){var c=setTimeout(function(){if(t.stylesheets&&Ao(t,t.stylesheets),t.unsuspend){var p=t.unsuspend;t.unsuspend=null,p()}},6e4+s);0<t.imgBytes&&Qf===0&&(Qf=62500*kw());var h=setTimeout(function(){if(t.waitingForImages=!1,t.count===0&&(t.stylesheets&&Ao(t,t.stylesheets),t.unsuspend)){var p=t.unsuspend;t.unsuspend=null,p()}},(t.imgBytes>Qf?50:800)+s);return t.unsuspend=a,function(){t.unsuspend=null,clearTimeout(c),clearTimeout(h)}}:null}function Eo(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Ao(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var To=null;function Ao(t,s){t.stylesheets=null,t.unsuspend!==null&&(t.count++,To=new Map,s.forEach(Pw,t),To=null,Eo.call(t))}function Pw(t,s){if(!(s.state.loading&4)){var a=To.get(t);if(a)var c=a.get(null);else{a=new Map,To.set(t,a);for(var h=t.querySelectorAll("link[data-precedence],style[data-precedence]"),p=0;p<h.length;p++){var y=h[p];(y.nodeName==="LINK"||y.getAttribute("media")!=="not all")&&(a.set(y.dataset.precedence,y),c=y)}c&&a.set(null,c)}h=s.instance,y=h.getAttribute("data-precedence"),p=a.get(y)||c,p===c&&a.set(null,h),a.set(y,h),this.count++,c=Eo.bind(this),h.addEventListener("load",c),h.addEventListener("error",c),p?p.parentNode.insertBefore(h,p.nextSibling):(t=t.nodeType===9?t.head:t,t.insertBefore(h,t.firstChild)),s.state.loading|=4}}var Na={$$typeof:$,Provider:null,Consumer:null,_currentValue:re,_currentValue2:re,_threadCount:0};function Jw(t,s,a,c,h,p,y,T,C){this.tag=1,this.containerInfo=t,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Vc(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Vc(0),this.hiddenUpdates=Vc(null),this.identifierPrefix=c,this.onUncaughtError=h,this.onCaughtError=p,this.onRecoverableError=y,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=C,this.incompleteTransitions=new Map}function My(t,s,a,c,h,p,y,T,C,z,K,Q){return t=new Jw(t,s,a,y,C,z,K,Q,T),s=1,p===!0&&(s|=24),p=Yt(3,null,null,s),t.current=p,p.stateNode=t,s=Cu(),s.refCount++,t.pooledCache=s,s.refCount++,p.memoizedState={element:c,isDehydrated:a,cache:s},Ou(p),t}function Oy(t){return t?(t=Ds,t):Ds}function jy(t,s,a,c,h,p){h=Oy(h),c.context===null?c.context=h:c.pendingContext=h,c=mi(s),c.payload={element:a},p=p===void 0?null:p,p!==null&&(c.callback=p),a=yi(t,c,s),a!==null&&(Ht(a,t,s),aa(a,t,s))}function Ly(t,s){if(t=t.memoizedState,t!==null&&t.dehydrated!==null){var a=t.retryLane;t.retryLane=a!==0&&a<s?a:s}}function Pf(t,s){Ly(t,s),(t=t.alternate)&&Ly(t,s)}function Ry(t){if(t.tag===13||t.tag===31){var s=Fi(t,67108864);s!==null&&Ht(s,t,67108864),Pf(t,67108864)}}function Dy(t){if(t.tag===13||t.tag===31){var s=Zt();s=Gc(s);var a=Fi(t,s);a!==null&&Ht(a,t,s),Pf(t,s)}}var Co=!0;function Zw(t,s,a,c){var h=I.T;I.T=null;var p=J.p;try{J.p=2,Jf(t,s,a,c)}finally{J.p=p,I.T=h}}function Ww(t,s,a,c){var h=I.T;I.T=null;var p=J.p;try{J.p=8,Jf(t,s,a,c)}finally{J.p=p,I.T=h}}function Jf(t,s,a,c){if(Co){var h=Zf(c);if(h===null)Uf(t,s,c,No,a),Uy(t,c);else if(tx(h,t,s,a,c))c.stopPropagation();else if(Uy(t,c),s&4&&-1<ex.indexOf(t)){for(;h!==null;){var p=Es(h);if(p!==null)switch(p.tag){case 3:if(p=p.stateNode,p.current.memoizedState.isDehydrated){var y=Vi(p.pendingLanes);if(y!==0){var T=p;for(T.pendingLanes|=2,T.entangledLanes|=2;y;){var C=1<<31-kt(y);T.entanglements[1]|=C,y&=~C}Mn(p),(Ce&6)===0&&(co=Ct()+500,xa(0))}}break;case 31:case 13:T=Fi(p,2),T!==null&&Ht(T,p,2),fo(),Pf(p,2)}if(p=Zf(c),p===null&&Uf(t,s,c,No,a),p===h)break;h=p}h!==null&&c.stopPropagation()}else Uf(t,s,c,null,a)}}function Zf(t){return t=Wc(t),Wf(t)}var No=null;function Wf(t){if(No=null,t=_s(t),t!==null){var s=o(t);if(s===null)t=null;else{var a=s.tag;if(a===13){if(t=u(s),t!==null)return t;t=null}else if(a===31){if(t=f(s),t!==null)return t;t=null}else if(a===3){if(s.stateNode.current.memoizedState.isDehydrated)return s.tag===3?s.stateNode.containerInfo:null;t=null}else s!==t&&(t=null)}}return No=t,null}function zy(t){switch(t){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(qc()){case gl:return 2;case qr:return 8;case oi:case $c:return 32;case ml:return 268435456;default:return 32}default:return 32}}var eh=!1,Ni=null,ki=null,Mi=null,ka=new Map,Ma=new Map,Oi=[],ex="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function Uy(t,s){switch(t){case"focusin":case"focusout":Ni=null;break;case"dragenter":case"dragleave":ki=null;break;case"mouseover":case"mouseout":Mi=null;break;case"pointerover":case"pointerout":ka.delete(s.pointerId);break;case"gotpointercapture":case"lostpointercapture":Ma.delete(s.pointerId)}}function Oa(t,s,a,c,h,p){return t===null||t.nativeEvent!==p?(t={blockedOn:s,domEventName:a,eventSystemFlags:c,nativeEvent:p,targetContainers:[h]},s!==null&&(s=Es(s),s!==null&&Ry(s)),t):(t.eventSystemFlags|=c,s=t.targetContainers,h!==null&&s.indexOf(h)===-1&&s.push(h),t)}function tx(t,s,a,c,h){switch(s){case"focusin":return Ni=Oa(Ni,t,s,a,c,h),!0;case"dragenter":return ki=Oa(ki,t,s,a,c,h),!0;case"mouseover":return Mi=Oa(Mi,t,s,a,c,h),!0;case"pointerover":var p=h.pointerId;return ka.set(p,Oa(ka.get(p)||null,t,s,a,c,h)),!0;case"gotpointercapture":return p=h.pointerId,Ma.set(p,Oa(Ma.get(p)||null,t,s,a,c,h)),!0}return!1}function Hy(t){var s=_s(t.target);if(s!==null){var a=o(s);if(a!==null){if(s=a.tag,s===13){if(s=u(a),s!==null){t.blockedOn=s,Zd(t.priority,function(){Dy(a)});return}}else if(s===31){if(s=f(a),s!==null){t.blockedOn=s,Zd(t.priority,function(){Dy(a)});return}}else if(s===3&&a.stateNode.current.memoizedState.isDehydrated){t.blockedOn=a.tag===3?a.stateNode.containerInfo:null;return}}}t.blockedOn=null}function ko(t){if(t.blockedOn!==null)return!1;for(var s=t.targetContainers;0<s.length;){var a=Zf(t.nativeEvent);if(a===null){a=t.nativeEvent;var c=new a.constructor(a.type,a);Zc=c,a.target.dispatchEvent(c),Zc=null}else return s=Es(a),s!==null&&Ry(s),t.blockedOn=a,!1;s.shift()}return!0}function By(t,s,a){ko(t)&&a.delete(s)}function nx(){eh=!1,Ni!==null&&ko(Ni)&&(Ni=null),ki!==null&&ko(ki)&&(ki=null),Mi!==null&&ko(Mi)&&(Mi=null),ka.forEach(By),Ma.forEach(By)}function Mo(t,s){t.blockedOn===s&&(t.blockedOn=null,eh||(eh=!0,n.unstable_scheduleCallback(n.unstable_NormalPriority,nx)))}var Oo=null;function qy(t){Oo!==t&&(Oo=t,n.unstable_scheduleCallback(n.unstable_NormalPriority,function(){Oo===t&&(Oo=null);for(var s=0;s<t.length;s+=3){var a=t[s],c=t[s+1],h=t[s+2];if(typeof c!="function"){if(Wf(c||a)===null)continue;break}var p=Es(a);p!==null&&(t.splice(s,3),s-=3,Ju(p,{pending:!0,data:h,method:a.method,action:c},c,h))}}))}function rr(t){function s(C){return Mo(C,t)}Ni!==null&&Mo(Ni,t),ki!==null&&Mo(ki,t),Mi!==null&&Mo(Mi,t),ka.forEach(s),Ma.forEach(s);for(var a=0;a<Oi.length;a++){var c=Oi[a];c.blockedOn===t&&(c.blockedOn=null)}for(;0<Oi.length&&(a=Oi[0],a.blockedOn===null);)Hy(a),a.blockedOn===null&&Oi.shift();if(a=(t.ownerDocument||t).$$reactFormReplay,a!=null)for(c=0;c<a.length;c+=3){var h=a[c],p=a[c+1],y=h[jt]||null;if(typeof p=="function")y||qy(a);else if(y){var T=null;if(p&&p.hasAttribute("formAction")){if(h=p,y=p[jt]||null)T=y.formAction;else if(Wf(h)!==null)continue}else T=y.action;typeof T=="function"?a[c+1]=T:(a.splice(c,3),c-=3),qy(a)}}}function $y(){function t(p){p.canIntercept&&p.info==="react-transition"&&p.intercept({handler:function(){return new Promise(function(y){return h=y})},focusReset:"manual",scroll:"manual"})}function s(){h!==null&&(h(),h=null),c||setTimeout(a,20)}function a(){if(!c&&!navigation.transition){var p=navigation.currentEntry;p&&p.url!=null&&navigation.navigate(p.url,{state:p.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var c=!1,h=null;return navigation.addEventListener("navigate",t),navigation.addEventListener("navigatesuccess",s),navigation.addEventListener("navigateerror",s),setTimeout(a,100),function(){c=!0,navigation.removeEventListener("navigate",t),navigation.removeEventListener("navigatesuccess",s),navigation.removeEventListener("navigateerror",s),h!==null&&(h(),h=null)}}}function th(t){this._internalRoot=t}jo.prototype.render=th.prototype.render=function(t){var s=this._internalRoot;if(s===null)throw Error(r(409));var a=s.current,c=Zt();jy(a,c,t,s,null,null)},jo.prototype.unmount=th.prototype.unmount=function(){var t=this._internalRoot;if(t!==null){this._internalRoot=null;var s=t.containerInfo;jy(t.current,2,null,t,null,null),fo(),s[xs]=null}};function jo(t){this._internalRoot=t}jo.prototype.unstable_scheduleHydration=function(t){if(t){var s=Jd();t={blockedOn:null,target:t,priority:s};for(var a=0;a<Oi.length&&s!==0&&s<Oi[a].priority;a++);Oi.splice(a,0,t),a===0&&Hy(t)}};var Iy=e.version;if(Iy!=="19.2.1")throw Error(r(527,Iy,"19.2.1"));J.findDOMNode=function(t){var s=t._reactInternals;if(s===void 0)throw typeof t.render=="function"?Error(r(188)):(t=Object.keys(t).join(","),Error(r(268,t)));return t=g(s),t=t!==null?b(t):null,t=t===null?null:t.stateNode,t};var ix={bundleType:0,version:"19.2.1",rendererPackageName:"react-dom",currentDispatcherRef:I,reconcilerVersion:"19.2.1"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Lo=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Lo.isDisabled&&Lo.supportsFiber)try{Tn=Lo.inject(ix),Nt=Lo}catch{}}return La.createRoot=function(t,s){if(!l(t))throw Error(r(299));var a=!1,c="",h=Qg,p=Pg,y=Jg;return s!=null&&(s.unstable_strictMode===!0&&(a=!0),s.identifierPrefix!==void 0&&(c=s.identifierPrefix),s.onUncaughtError!==void 0&&(h=s.onUncaughtError),s.onCaughtError!==void 0&&(p=s.onCaughtError),s.onRecoverableError!==void 0&&(y=s.onRecoverableError)),s=My(t,1,!1,null,null,a,c,null,h,p,y,$y),t[xs]=s.current,zf(t),new th(s)},La.hydrateRoot=function(t,s,a){if(!l(t))throw Error(r(299));var c=!1,h="",p=Qg,y=Pg,T=Jg,C=null;return a!=null&&(a.unstable_strictMode===!0&&(c=!0),a.identifierPrefix!==void 0&&(h=a.identifierPrefix),a.onUncaughtError!==void 0&&(p=a.onUncaughtError),a.onCaughtError!==void 0&&(y=a.onCaughtError),a.onRecoverableError!==void 0&&(T=a.onRecoverableError),a.formState!==void 0&&(C=a.formState)),s=My(t,1,!0,s,a??null,c,h,C,p,y,T,$y),s.context=Oy(null),a=s.current,c=Zt(),c=Gc(c),h=mi(c),h.callback=null,yi(a,h,c),a=c,s.current.lanes=a,Ir(s,a),Mn(s),t[xs]=s.current,zf(t),new jo(s)},La.version="19.2.1",La}var eb;function xx(){if(eb)return sh.exports;eb=1;function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}return n(),sh.exports=wx(),sh.exports}var E2=xx();const _x=new Map([["Android.devices",{internal:!0}],["AndroidSocket.write",{internal:!0}],["AndroidSocket.close",{internal:!0}],["AndroidDevice.wait",{title:"Wait"}],["AndroidDevice.fill",{title:'Fill "{text}"'}],["AndroidDevice.tap",{title:"Tap"}],["AndroidDevice.drag",{title:"Drag"}],["AndroidDevice.fling",{title:"Fling"}],["AndroidDevice.longTap",{title:"Long tap"}],["AndroidDevice.pinchClose",{title:"Pinch close"}],["AndroidDevice.pinchOpen",{title:"Pinch open"}],["AndroidDevice.scroll",{title:"Scroll"}],["AndroidDevice.swipe",{title:"Swipe"}],["AndroidDevice.info",{internal:!0}],["AndroidDevice.screenshot",{title:"Screenshot"}],["AndroidDevice.inputType",{title:"Type"}],["AndroidDevice.inputPress",{title:"Press"}],["AndroidDevice.inputTap",{title:"Tap"}],["AndroidDevice.inputSwipe",{title:"Swipe"}],["AndroidDevice.inputDrag",{title:"Drag"}],["AndroidDevice.launchBrowser",{title:"Launch browser"}],["AndroidDevice.open",{title:"Open app"}],["AndroidDevice.shell",{title:"Execute shell command",group:"configuration"}],["AndroidDevice.installApk",{title:"Install apk"}],["AndroidDevice.push",{title:"Push"}],["AndroidDevice.connectToWebView",{title:"Connect to Web View"}],["AndroidDevice.close",{internal:!0}],["APIRequestContext.fetch",{title:'{method} "{url}"'}],["APIRequestContext.fetchResponseBody",{title:"Get response body",group:"getter"}],["APIRequestContext.fetchLog",{internal:!0}],["APIRequestContext.storageState",{title:"Get storage state",group:"configuration"}],["APIRequestContext.disposeAPIResponse",{internal:!0}],["APIRequestContext.dispose",{internal:!0}],["Artifact.pathAfterFinished",{internal:!0}],["Artifact.saveAs",{internal:!0}],["Artifact.saveAsStream",{internal:!0}],["Artifact.failure",{internal:!0}],["Artifact.stream",{internal:!0}],["Artifact.cancel",{internal:!0}],["Artifact.delete",{internal:!0}],["Stream.read",{internal:!0}],["Stream.close",{internal:!0}],["WritableStream.write",{internal:!0}],["WritableStream.close",{internal:!0}],["Browser.startServer",{title:"Start server"}],["Browser.stopServer",{title:"Stop server"}],["Browser.close",{title:"Close browser",pause:!0}],["Browser.killForTests",{internal:!0}],["Browser.defaultUserAgentForTest",{internal:!0}],["Browser.newContext",{title:"Create context"}],["Browser.newContextForReuse",{internal:!0}],["Browser.disconnectFromReusedContext",{internal:!0}],["Browser.newBrowserCDPSession",{title:"Create CDP session",group:"configuration"}],["Browser.startTracing",{title:"Start browser tracing",group:"configuration"}],["Browser.stopTracing",{title:"Stop browser tracing",group:"configuration"}],["BrowserContext.addCookies",{title:"Add cookies",group:"configuration"}],["BrowserContext.addInitScript",{title:"Add init script",group:"configuration"}],["BrowserContext.clearCookies",{title:"Clear cookies",group:"configuration"}],["BrowserContext.clearPermissions",{title:"Clear permissions",group:"configuration"}],["BrowserContext.close",{title:"Close context",pause:!0}],["BrowserContext.cookies",{title:"Get cookies",group:"getter"}],["BrowserContext.exposeBinding",{title:"Expose binding",group:"configuration"}],["BrowserContext.grantPermissions",{title:"Grant permissions",group:"configuration"}],["BrowserContext.newPage",{title:"Create page"}],["BrowserContext.registerSelectorEngine",{internal:!0}],["BrowserContext.setTestIdAttributeName",{internal:!0}],["BrowserContext.setExtraHTTPHeaders",{title:"Set extra HTTP headers",group:"configuration"}],["BrowserContext.setGeolocation",{title:"Set geolocation",group:"configuration"}],["BrowserContext.setHTTPCredentials",{title:"Set HTTP credentials",group:"configuration"}],["BrowserContext.setNetworkInterceptionPatterns",{title:"Route requests",group:"route"}],["BrowserContext.setWebSocketInterceptionPatterns",{title:"Route WebSockets",group:"route"}],["BrowserContext.setOffline",{title:"Set offline mode"}],["BrowserContext.storageState",{title:"Get storage state",group:"configuration"}],["BrowserContext.setStorageState",{title:"Set storage state",group:"configuration"}],["BrowserContext.pause",{title:"Pause"}],["BrowserContext.enableRecorder",{internal:!0}],["BrowserContext.disableRecorder",{internal:!0}],["BrowserContext.exposeConsoleApi",{internal:!0}],["BrowserContext.newCDPSession",{title:"Create CDP session",group:"configuration"}],["BrowserContext.createTempFiles",{internal:!0}],["BrowserContext.updateSubscription",{internal:!0}],["BrowserContext.clockFastForward",{title:'Fast forward clock "{ticksNumber|ticksString}"'}],["BrowserContext.clockInstall",{title:'Install clock "{timeNumber|timeString}"'}],["BrowserContext.clockPauseAt",{title:'Pause clock "{timeNumber|timeString}"'}],["BrowserContext.clockResume",{title:"Resume clock"}],["BrowserContext.clockRunFor",{title:'Run clock "{ticksNumber|ticksString}"'}],["BrowserContext.clockSetFixedTime",{title:'Set fixed time "{timeNumber|timeString}"'}],["BrowserContext.clockSetSystemTime",{title:'Set system time "{timeNumber|timeString}"'}],["BrowserType.launch",{title:"Launch browser"}],["BrowserType.launchPersistentContext",{title:"Launch persistent context"}],["BrowserType.connectOverCDP",{title:"Connect over CDP"}],["BrowserType.connectToWorker",{title:"Connect to worker"}],["Disposable.dispose",{internal:!0}],["EventTarget.waitForEventInfo",{title:'Wait for event "{info.event}"',snapshot:!0}],["AndroidDevice.waitForEventInfo",{title:'Wait for event "{info.event}"',snapshot:!0}],["BrowserContext.waitForEventInfo",{title:'Wait for event "{info.event}"',snapshot:!0}],["ElectronApplication.waitForEventInfo",{title:'Wait for event "{info.event}"',snapshot:!0}],["WebSocket.waitForEventInfo",{title:'Wait for event "{info.event}"',snapshot:!0}],["Page.waitForEventInfo",{title:'Wait for event "{info.event}"',snapshot:!0}],["Debugger.waitForEventInfo",{title:'Wait for event "{info.event}"',snapshot:!0}],["Worker.waitForEventInfo",{title:'Wait for event "{info.event}"',snapshot:!0}],["Electron.launch",{title:"Launch electron"}],["ElectronApplication.browserWindow",{internal:!0}],["ElectronApplication.evaluateExpression",{title:"Evaluate"}],["ElectronApplication.evaluateExpressionHandle",{title:"Evaluate"}],["ElectronApplication.updateSubscription",{internal:!0}],["Frame.evalOnSelector",{title:"Evaluate",snapshot:!0,pause:!0}],["Frame.evalOnSelectorAll",{title:"Evaluate",snapshot:!0,pause:!0}],["Frame.addScriptTag",{title:"Add script tag",snapshot:!0,pause:!0}],["Frame.addStyleTag",{title:"Add style tag",snapshot:!0,pause:!0}],["Frame.ariaSnapshot",{title:"Aria snapshot",group:"getter"}],["Frame.blur",{title:"Blur",slowMo:!0,snapshot:!0,pause:!0}],["Frame.check",{title:"Check",slowMo:!0,snapshot:!0,pause:!0,input:!0,isAutoWaiting:!0}],["Frame.click",{title:"Click",slowMo:!0,snapshot:!0,pause:!0,input:!0,isAutoWaiting:!0}],["Frame.content",{title:"Get content",snapshot:!0,pause:!0}],["Frame.dragAndDrop",{title:"Drag and drop",slowMo:!0,snapshot:!0,pause:!0,input:!0,isAutoWaiting:!0}],["Frame.drop",{title:"Drop files or data onto an element",slowMo:!0,snapshot:!0,pause:!0,input:!0,isAutoWaiting:!0}],["Frame.dblclick",{title:"Double click",slowMo:!0,snapshot:!0,pause:!0,input:!0,isAutoWaiting:!0}],["Frame.dispatchEvent",{title:'Dispatch "{type}"',slowMo:!0,snapshot:!0,pause:!0}],["Frame.evaluateExpression",{title:"Evaluate",snapshot:!0,pause:!0}],["Frame.evaluateExpressionHandle",{title:"Evaluate",snapshot:!0,pause:!0}],["Frame.fill",{title:'Fill "{value}"',slowMo:!0,snapshot:!0,pause:!0,input:!0,isAutoWaiting:!0}],["Frame.focus",{title:"Focus",slowMo:!0,snapshot:!0,pause:!0}],["Frame.frameElement",{title:"Get frame element",group:"getter"}],["Frame.resolveSelector",{internal:!0}],["Frame.highlight",{internal:!0}],["Frame.hideHighlight",{internal:!0}],["Frame.getAttribute",{title:'Get attribute "{name}"',snapshot:!0,pause:!0,group:"getter"}],["Frame.goto",{title:'Navigate to "{url}"',slowMo:!0,snapshot:!0,pause:!0}],["Frame.hover",{title:"Hover",slowMo:!0,snapshot:!0,pause:!0,input:!0,isAutoWaiting:!0}],["Frame.innerHTML",{title:"Get HTML",snapshot:!0,pause:!0,group:"getter"}],["Frame.innerText",{title:"Get inner text",snapshot:!0,pause:!0,group:"getter"}],["Frame.inputValue",{title:"Get input value",snapshot:!0,pause:!0,group:"getter"}],["Frame.isChecked",{title:"Is checked",snapshot:!0,pause:!0,group:"getter"}],["Frame.isDisabled",{title:"Is disabled",snapshot:!0,pause:!0,group:"getter"}],["Frame.isEnabled",{title:"Is enabled",snapshot:!0,pause:!0,group:"getter"}],["Frame.isHidden",{title:"Is hidden",snapshot:!0,pause:!0,group:"getter"}],["Frame.isVisible",{title:"Is visible",snapshot:!0,pause:!0,group:"getter"}],["Frame.isEditable",{title:"Is editable",snapshot:!0,pause:!0,group:"getter"}],["Frame.press",{title:'Press "{key}"',slowMo:!0,snapshot:!0,pause:!0,input:!0,isAutoWaiting:!0}],["Frame.querySelector",{title:"Query selector",snapshot:!0}],["Frame.querySelectorAll",{title:"Query selector all",snapshot:!0}],["Frame.queryCount",{title:"Query count",snapshot:!0,pause:!0}],["Frame.selectOption",{title:"Select option",slowMo:!0,snapshot:!0,pause:!0,input:!0,isAutoWaiting:!0}],["Frame.setContent",{title:"Set content",snapshot:!0,pause:!0}],["Frame.setInputFiles",{title:"Set input files",slowMo:!0,snapshot:!0,pause:!0,input:!0,isAutoWaiting:!0}],["Frame.tap",{title:"Tap",slowMo:!0,snapshot:!0,pause:!0,input:!0,isAutoWaiting:!0}],["Frame.textContent",{title:"Get text content",snapshot:!0,pause:!0,group:"getter"}],["Frame.title",{title:"Get page title",group:"getter"}],["Frame.type",{title:'Type "{text}"',slowMo:!0,snapshot:!0,pause:!0,input:!0,isAutoWaiting:!0}],["Frame.uncheck",{title:"Uncheck",slowMo:!0,snapshot:!0,pause:!0,input:!0,isAutoWaiting:!0}],["Frame.waitForTimeout",{title:"Wait for timeout",snapshot:!0}],["Frame.waitForFunction",{title:"Wait for function",snapshot:!0,pause:!0}],["Frame.waitForSelector",{title:"Wait for selector",snapshot:!0}],["Frame.expect",{title:'Expect "{expression}"',snapshot:!0,pause:!0}],["JSHandle.dispose",{internal:!0}],["ElementHandle.dispose",{internal:!0}],["JSHandle.evaluateExpression",{title:"Evaluate",snapshot:!0,pause:!0}],["ElementHandle.evaluateExpression",{title:"Evaluate",snapshot:!0,pause:!0}],["JSHandle.evaluateExpressionHandle",{title:"Evaluate",snapshot:!0,pause:!0}],["ElementHandle.evaluateExpressionHandle",{title:"Evaluate",snapshot:!0,pause:!0}],["JSHandle.getPropertyList",{title:"Get property list",group:"getter"}],["ElementHandle.getPropertyList",{title:"Get property list",group:"getter"}],["JSHandle.getProperty",{title:"Get JS property",group:"getter"}],["ElementHandle.getProperty",{title:"Get JS property",group:"getter"}],["JSHandle.jsonValue",{title:"Get JSON value",group:"getter"}],["ElementHandle.jsonValue",{title:"Get JSON value",group:"getter"}],["ElementHandle.evalOnSelector",{title:"Evaluate",snapshot:!0,pause:!0}],["ElementHandle.evalOnSelectorAll",{title:"Evaluate",snapshot:!0,pause:!0}],["ElementHandle.boundingBox",{title:"Get bounding box",snapshot:!0,pause:!0}],["ElementHandle.check",{title:"Check",slowMo:!0,snapshot:!0,pause:!0,input:!0,isAutoWaiting:!0}],["ElementHandle.click",{title:"Click",slowMo:!0,snapshot:!0,pause:!0,input:!0,isAutoWaiting:!0}],["ElementHandle.contentFrame",{title:"Get content frame",group:"getter"}],["ElementHandle.dblclick",{title:"Double click",slowMo:!0,snapshot:!0,pause:!0,input:!0,isAutoWaiting:!0}],["ElementHandle.dispatchEvent",{title:"Dispatch event",slowMo:!0,snapshot:!0,pause:!0}],["ElementHandle.fill",{title:'Fill "{value}"',slowMo:!0,snapshot:!0,pause:!0,input:!0,isAutoWaiting:!0}],["ElementHandle.focus",{title:"Focus",slowMo:!0,snapshot:!0,pause:!0}],["ElementHandle.getAttribute",{title:"Get attribute",snapshot:!0,pause:!0,group:"getter"}],["ElementHandle.hover",{title:"Hover",slowMo:!0,snapshot:!0,pause:!0,input:!0,isAutoWaiting:!0}],["ElementHandle.innerHTML",{title:"Get HTML",snapshot:!0,pause:!0,group:"getter"}],["ElementHandle.innerText",{title:"Get inner text",snapshot:!0,pause:!0,group:"getter"}],["ElementHandle.inputValue",{title:"Get input value",snapshot:!0,pause:!0,group:"getter"}],["ElementHandle.isChecked",{title:"Is checked",snapshot:!0,pause:!0,group:"getter"}],["ElementHandle.isDisabled",{title:"Is disabled",snapshot:!0,pause:!0,group:"getter"}],["ElementHandle.isEditable",{title:"Is editable",snapshot:!0,pause:!0,group:"getter"}],["ElementHandle.isEnabled",{title:"Is enabled",snapshot:!0,pause:!0,group:"getter"}],["ElementHandle.isHidden",{title:"Is hidden",snapshot:!0,pause:!0,group:"getter"}],["ElementHandle.isVisible",{title:"Is visible",snapshot:!0,pause:!0,group:"getter"}],["ElementHandle.ownerFrame",{title:"Get owner frame",group:"getter"}],["ElementHandle.press",{title:'Press "{key}"',slowMo:!0,snapshot:!0,pause:!0,input:!0,isAutoWaiting:!0}],["ElementHandle.querySelector",{title:"Query selector",snapshot:!0}],["ElementHandle.querySelectorAll",{title:"Query selector all",snapshot:!0}],["ElementHandle.screenshot",{title:"Screenshot",snapshot:!0,pause:!0}],["ElementHandle.scrollIntoViewIfNeeded",{title:"Scroll into view",slowMo:!0,snapshot:!0,pause:!0}],["ElementHandle.selectOption",{title:"Select option",slowMo:!0,snapshot:!0,pause:!0,input:!0,isAutoWaiting:!0}],["ElementHandle.selectText",{title:"Select text",slowMo:!0,snapshot:!0,pause:!0}],["ElementHandle.setInputFiles",{title:"Set input files",slowMo:!0,snapshot:!0,pause:!0,input:!0,isAutoWaiting:!0}],["ElementHandle.tap",{title:"Tap",slowMo:!0,snapshot:!0,pause:!0,input:!0,isAutoWaiting:!0}],["ElementHandle.textContent",{title:"Get text content",snapshot:!0,pause:!0,group:"getter"}],["ElementHandle.type",{title:"Type",slowMo:!0,snapshot:!0,pause:!0,input:!0,isAutoWaiting:!0}],["ElementHandle.uncheck",{title:"Uncheck",slowMo:!0,snapshot:!0,pause:!0,input:!0,isAutoWaiting:!0}],["ElementHandle.waitForElementState",{title:"Wait for state",snapshot:!0,pause:!0}],["ElementHandle.waitForSelector",{title:"Wait for selector",snapshot:!0}],["LocalUtils.zip",{internal:!0}],["LocalUtils.harOpen",{internal:!0}],["LocalUtils.harLookup",{internal:!0}],["LocalUtils.harClose",{internal:!0}],["LocalUtils.harUnzip",{internal:!0}],["LocalUtils.connect",{internal:!0}],["LocalUtils.tracingStarted",{internal:!0}],["LocalUtils.addStackToTracingNoReply",{internal:!0}],["LocalUtils.traceDiscarded",{internal:!0}],["LocalUtils.globToRegex",{internal:!0}],["Request.response",{internal:!0}],["Request.rawRequestHeaders",{internal:!0}],["Route.redirectNavigationRequest",{internal:!0}],["Route.abort",{title:"Abort request",group:"route"}],["Route.continue",{title:"Continue request",group:"route"}],["Route.fulfill",{title:"Fulfill request",group:"route"}],["WebSocketRoute.connect",{title:"Connect WebSocket to server",group:"route"}],["WebSocketRoute.ensureOpened",{internal:!0}],["WebSocketRoute.sendToPage",{title:"Send WebSocket message",group:"route"}],["WebSocketRoute.sendToServer",{title:"Send WebSocket message",group:"route"}],["WebSocketRoute.closePage",{internal:!0}],["WebSocketRoute.closeServer",{internal:!0}],["Response.body",{title:"Get response body",group:"getter"}],["Response.securityDetails",{internal:!0}],["Response.serverAddr",{internal:!0}],["Response.rawResponseHeaders",{internal:!0}],["Response.httpVersion",{internal:!0}],["Response.sizes",{internal:!0}],["Page.addInitScript",{title:"Add init script",group:"configuration"}],["Page.close",{title:"Close page",pause:!0}],["Page.clearConsoleMessages",{title:"Clear console messages"}],["Page.consoleMessages",{title:"Get console messages",group:"getter"}],["Page.emulateMedia",{title:"Emulate media",snapshot:!0,pause:!0}],["Page.exposeBinding",{title:"Expose binding",group:"configuration"}],["Page.goBack",{title:"Go back",slowMo:!0,snapshot:!0,pause:!0}],["Page.goForward",{title:"Go forward",slowMo:!0,snapshot:!0,pause:!0}],["Page.requestGC",{title:"Request garbage collection",group:"configuration"}],["Page.registerLocatorHandler",{title:"Register locator handler"}],["Page.resolveLocatorHandlerNoReply",{internal:!0}],["Page.unregisterLocatorHandler",{title:"Unregister locator handler"}],["Page.reload",{title:"Reload",slowMo:!0,snapshot:!0,pause:!0}],["Page.expectScreenshot",{title:"Expect screenshot",snapshot:!0,pause:!0}],["Page.screenshot",{title:"Screenshot",snapshot:!0,pause:!0}],["Page.setExtraHTTPHeaders",{title:"Set extra HTTP headers",group:"configuration"}],["Page.setNetworkInterceptionPatterns",{title:"Route requests",group:"route"}],["Page.setWebSocketInterceptionPatterns",{title:"Route WebSockets",group:"route"}],["Page.setViewportSize",{title:"Set viewport size",snapshot:!0,pause:!0}],["Page.keyboardDown",{title:'Key down "{key}"',slowMo:!0,snapshot:!0,pause:!0,input:!0}],["Page.keyboardUp",{title:'Key up "{key}"',slowMo:!0,snapshot:!0,pause:!0,input:!0}],["Page.keyboardInsertText",{title:'Insert "{text}"',slowMo:!0,snapshot:!0,pause:!0,input:!0}],["Page.keyboardType",{title:'Type "{text}"',slowMo:!0,snapshot:!0,pause:!0,input:!0}],["Page.keyboardPress",{title:'Press "{key}"',slowMo:!0,snapshot:!0,pause:!0,input:!0}],["Page.mouseMove",{title:"Mouse move",slowMo:!0,snapshot:!0,pause:!0,input:!0}],["Page.mouseDown",{title:"Mouse down",slowMo:!0,snapshot:!0,pause:!0,input:!0}],["Page.mouseUp",{title:"Mouse up",slowMo:!0,snapshot:!0,pause:!0,input:!0}],["Page.mouseClick",{title:"Click",slowMo:!0,snapshot:!0,pause:!0,input:!0}],["Page.mouseWheel",{title:"Mouse wheel",slowMo:!0,snapshot:!0,pause:!0,input:!0}],["Page.touchscreenTap",{title:"Tap",slowMo:!0,snapshot:!0,pause:!0,input:!0}],["Page.clearPageErrors",{title:"Clear page errors"}],["Page.pageErrors",{title:"Get page errors",group:"getter"}],["Page.pdf",{title:"PDF"}],["Page.requests",{title:"Get network requests",group:"getter"}],["Page.startJSCoverage",{title:"Start JS coverage",group:"configuration"}],["Page.stopJSCoverage",{title:"Stop JS coverage",group:"configuration"}],["Page.startCSSCoverage",{title:"Start CSS coverage",group:"configuration"}],["Page.stopCSSCoverage",{title:"Stop CSS coverage",group:"configuration"}],["Page.bringToFront",{title:"Bring to front"}],["Page.pickLocator",{title:"Pick locator",group:"configuration"}],["Page.cancelPickLocator",{title:"Cancel pick locator",group:"configuration"}],["Page.hideHighlight",{title:"Hide all element highlights",group:"configuration"}],["Page.screencastShowOverlay",{title:"Show overlay",group:"configuration"}],["Page.screencastRemoveOverlay",{title:"Remove overlay",group:"configuration"}],["Page.screencastChapter",{title:"Show chapter overlay",group:"configuration"}],["Page.screencastSetOverlayVisible",{title:"Set overlay visibility",group:"configuration"}],["Page.screencastShowActions",{title:"Show actions",group:"configuration"}],["Page.screencastHideActions",{title:"Remove actions",group:"configuration"}],["Page.screencastStart",{title:"Start screencast",group:"configuration"}],["Page.screencastStop",{title:"Stop screencast",group:"configuration"}],["Page.updateSubscription",{internal:!0}],["Page.setDockTile",{internal:!0}],["Root.initialize",{internal:!0}],["Playwright.newRequest",{title:"Create request context"}],["DebugController.initialize",{internal:!0}],["DebugController.setReportStateChanged",{internal:!0}],["DebugController.setRecorderMode",{internal:!0}],["DebugController.highlight",{internal:!0}],["DebugController.hideHighlight",{internal:!0}],["DebugController.resume",{internal:!0}],["DebugController.kill",{internal:!0}],["SocksSupport.socksConnected",{internal:!0}],["SocksSupport.socksFailed",{internal:!0}],["SocksSupport.socksData",{internal:!0}],["SocksSupport.socksError",{internal:!0}],["SocksSupport.socksEnd",{internal:!0}],["JsonPipe.send",{internal:!0}],["JsonPipe.close",{internal:!0}],["CDPSession.send",{title:"Send CDP command",group:"configuration"}],["CDPSession.detach",{title:"Detach CDP session",group:"configuration"}],["BindingCall.reject",{internal:!0}],["BindingCall.resolve",{internal:!0}],["Debugger.requestPause",{title:"Pause on next call",group:"configuration"}],["Debugger.resume",{title:"Resume",group:"configuration"}],["Debugger.next",{title:"Step to next call",group:"configuration"}],["Debugger.runTo",{title:"Run to location",group:"configuration"}],["Dialog.accept",{title:"Accept dialog"}],["Dialog.dismiss",{title:"Dismiss dialog"}],["Tracing.tracingStart",{title:"Start tracing",group:"configuration"}],["Tracing.tracingStartChunk",{title:"Start tracing",group:"configuration"}],["Tracing.tracingGroup",{title:'Trace "{name}"'}],["Tracing.tracingGroupEnd",{title:"Group end"}],["Tracing.tracingStopChunk",{title:"Stop tracing",group:"configuration"}],["Tracing.tracingStop",{title:"Stop tracing",group:"configuration"}],["Tracing.harStart",{internal:!0}],["Tracing.harExport",{internal:!0}],["Worker.disconnect",{title:"Disconnect from worker"}],["Worker.evaluateExpression",{title:"Evaluate"}],["Worker.evaluateExpressionHandle",{title:"Evaluate"}],["Worker.updateSubscription",{internal:!0}]]);function ed(n){return _x.get(n.type+"."+n.method)}function c0(n,e){var i;return(i=Ex(n,e))==null?void 0:i.replaceAll(`
51 -`,"\\n")}function Ex(n,e){if(n)for(const i of e.split("|")){if(i==="url")try{const l=new URL(n[i]);return l.protocol==="data:"?l.protocol:["about:","chrome:","edge:"].includes(l.protocol)?n[i]:l.pathname+l.search}catch{if(n[i]!==void 0)return n[i]}if(i==="timeNumber"&&n[i]!==void 0)return new Date(n[i]).toString();const r=Tx(n,i);if(r!==void 0)return r}}function Tx(n,e){const i=e.split(".");let r=n;for(const l of i){if(typeof r!="object"||r===null)return;r=r[l]}if(r!==void 0)return String(r)}function Ax(n){var i;return(n.title??((i=ed(n))==null?void 0:i.title)??n.method).replace(/\{([^}]+)\}/g,(r,l)=>c0(n.params,l)??r)}function Cx(n){var e;return(e=ed(n))==null?void 0:e.group}const Ia=Symbol("context"),u0=Symbol("nextInContext"),f0=Symbol("prevByEndTime"),h0=Symbol("nextByStartTime"),tb=Symbol("events");class T2{constructor(e,i){var l,o;i.forEach(u=>Nx(u));const r=i.find(u=>u.origin==="library");this.traceUri=e,this.browserName=(r==null?void 0:r.browserName)||"",this.sdkLanguage=r==null?void 0:r.sdkLanguage,this.channel=r==null?void 0:r.channel,this.testIdAttributeName=r==null?void 0:r.testIdAttributeName,this.platform=(r==null?void 0:r.platform)||"",this.playwrightVersion=(l=i.find(u=>u.playwrightVersion))==null?void 0:l.playwrightVersion,this.title=(r==null?void 0:r.title)||"",this.options=(r==null?void 0:r.options)||{},this.testTimeout=(o=i.find(u=>u.origin==="testRunner"))==null?void 0:o.testTimeout,this.actions=kx(i),this.pages=[].concat(...i.map(u=>u.pages)),this.wallTime=i.map(u=>u.wallTime).reduce((u,f)=>Math.min(u||Number.MAX_VALUE,f),Number.MAX_VALUE),this.startTime=i.map(u=>u.startTime).reduce((u,f)=>Math.min(u,f),Number.MAX_VALUE),this.endTime=i.map(u=>u.endTime).reduce((u,f)=>Math.max(u,f),Number.MIN_VALUE),this.events=[].concat(...i.map(u=>u.events)),this.stdio=[].concat(...i.map(u=>u.stdio)),this.errors=[].concat(...i.map(u=>u.errors)),this.hasSource=i.some(u=>u.hasSource),this.hasStepData=i.some(u=>u.origin==="testRunner"),this.resources=[...i.map(u=>u.resources)].flat().map(u=>({...u,id:`${u.pageref}-${u.startedDateTime}-${u.request.url}`})),this.attachments=this.actions.flatMap(u=>{var f;return((f=u.attachments)==null?void 0:f.map(d=>({...d,callId:u.callId,traceUri:e})))??[]}),this.visibleAttachments=this.attachments.filter(u=>!u.name.startsWith("_")),this.events.sort((u,f)=>u.time-f.time),this.resources.sort((u,f)=>u._monotonicTime-f._monotonicTime),this.errorDescriptors=this.hasStepData?this._errorDescriptorsFromTestRunner():this._errorDescriptorsFromActions(),this.sources=zx(this.actions,this.errorDescriptors),this.actionCounters=new Map;for(const u of this.actions)u.group=u.group??Cx({type:u.class,method:u.method}),u.group&&this.actionCounters.set(u.group,1+(this.actionCounters.get(u.group)||0))}createRelativeUrl(e){const i=new URL("http://localhost/"+e);return i.searchParams.set("trace",this.traceUri),i.toString().substring(17)}failedAction(){return this.actions.findLast(e=>e.error)}filteredActions(e){const i=new Set(e);return this.actions.filter(r=>!r.group||i.has(r.group))}renderActionTree(e){const i=this.filteredActions(e??[]),{rootItem:r}=d0(i),l=[],o=(u,f)=>{const d=Ax({...u.action,type:u.action.class});l.push(`${f}${d||u.id}`);for(const g of u.children)o(g,f+" ")};return r.children.forEach(u=>o(u,"")),l}_errorDescriptorsFromActions(){var i;const e=[];for(const r of this.actions||[])(i=r.error)!=null&&i.message&&e.push({action:r,stack:r.stack,message:r.error.message});return e}_errorDescriptorsFromTestRunner(){return this.errors.filter(e=>!!e.message).map((e,i)=>({stack:e.stack,message:e.message}))}}function Nx(n){for(const i of n.pages)i[Ia]=n;for(let i=0;i<n.actions.length;++i){const r=n.actions[i];r[Ia]=n}let e;for(let i=n.actions.length-1;i>=0;i--){const r=n.actions[i];r[u0]=e,r.class!=="Route"&&(e=r)}for(const i of n.events)i[Ia]=n;for(const i of n.resources)i[Ia]=n}function kx(n){const e=[],i=Mx(n);e.push(...i),e.sort((r,l)=>l.parentId===r.callId?1:r.parentId===l.callId?-1:r.endTime-l.endTime);for(let r=1;r<e.length;++r)e[r][f0]=e[r-1];e.sort((r,l)=>l.parentId===r.callId?-1:r.parentId===l.callId?1:r.startTime-l.startTime);for(let r=0;r+1<e.length;++r)e[r][h0]=e[r+1];return e}let nb=0;function Mx(n){const e=new Map,i=n.filter(u=>u.origin==="library"),r=n.filter(u=>u.origin==="testRunner");if(!r.length||!i.length)return n.map(u=>u.actions.map(f=>({...f,context:u}))).flat();for(const u of i)for(const f of u.actions)e.set(f.stepId||`tmp-step@${++nb}`,{...f,context:u});const l=jx(r,e);l&&Ox(i,l);const o=new Map;for(const u of r)for(const f of u.actions){const d=f.stepId&&e.get(f.stepId);if(d){o.set(f.callId,d.callId),f.error&&(d.error=f.error),f.attachments&&(d.attachments=f.attachments),f.annotations&&(d.annotations=f.annotations),f.parentId&&(d.parentId=o.get(f.parentId)??f.parentId),f.group&&(d.group=f.group),d.startTime=f.startTime,d.endTime=f.endTime;continue}f.parentId&&(f.parentId=o.get(f.parentId)??f.parentId),e.set(f.stepId||`tmp-step@${++nb}`,{...f,context:u})}return[...e.values()]}function Ox(n,e){for(const i of n){i.startTime+=e,i.endTime+=e;for(const r of i.actions)r.startTime&&(r.startTime+=e),r.endTime&&(r.endTime+=e);for(const r of i.events)r.time+=e;for(const r of i.stdio)r.timestamp+=e;for(const r of i.pages)for(const l of r.screencastFrames)l.timestamp+=e;for(const r of i.resources)r._monotonicTime&&(r._monotonicTime+=e)}}function jx(n,e){for(const i of n)for(const r of i.actions){if(!r.startTime)continue;const l=r.stepId?e.get(r.stepId):void 0;if(l)return r.startTime-l.startTime}return 0}function d0(n){const e=new Map;for(const l of n)e.set(l.callId,{id:l.callId,parent:void 0,children:[],action:l});const i={action:{...Ux},id:"",parent:void 0,children:[]};for(const l of e.values()){i.action.startTime=Math.min(i.action.startTime,l.action.startTime),i.action.endTime=Math.max(i.action.endTime,l.action.endTime);const o=l.action.parentId&&e.get(l.action.parentId)||i;o.children.push(l),l.parent=o}const r=l=>{for(const o of l.children)o.action.stack=o.action.stack??l.action.stack,r(o)};return r(i),{rootItem:i,itemMap:e}}function p0(n){return n[Ia]}function Lx(n){return n[u0]}function ib(n){return n[f0]}function sb(n){return n[h0]}function Rx(n){let e=0,i=0;for(const r of Dx(n)){if(r.type==="console"){const l=r.messageType;l==="warning"?++i:l==="error"&&++e}r.type==="event"&&r.method==="pageError"&&++e}return{errors:e,warnings:i}}function Dx(n){let e=n[tb];if(e)return e;const i=Lx(n);return e=p0(n).events.filter(r=>r.time>=n.startTime&&(!i||r.time<i.startTime)),n[tb]=e,e}function zx(n,e){var r;const i=new Map;for(const l of n)for(const o of l.stack||[]){let u=i.get(o.file);u||(u={errors:[],content:void 0},i.set(o.file,u))}for(const l of e){const{action:o,stack:u,message:f}=l;!o||!u||(r=i.get(u[0].file))==null||r.errors.push({line:u[0].line||0,message:f})}return i}const Ux={type:"action",callId:"",startTime:0,endTime:0,class:"",method:"",params:{},log:[],context:{origin:"library",startTime:0,endTime:0,browserName:"",wallTime:0,options:{},pages:[],resources:[],actions:[],events:[],stdio:[],errors:[],hasSource:!1,contextId:""}},Hx=50,sc=({sidebarSize:n,sidebarHidden:e=!1,sidebarIsFirst:i=!1,orientation:r="vertical",minSidebarSize:l=Hx,settingName:o,sidebar:u,main:f})=>{const d=Math.max(l,n)*window.devicePixelRatio,[g,b]=Gt(o?o+"."+r+":size":void 0,d),[m,S]=Gt(o?o+"."+r+":size":void 0,d),[w,E]=R.useState(null),[x,_]=ys();let A;r==="vertical"?(A=m/window.devicePixelRatio,x&&x.height<A&&(A=x.height-10)):(A=g/window.devicePixelRatio,x&&x.width<A&&(A=x.width-10)),document.body.style.userSelect=w?"none":"inherit";let N={};return r==="vertical"?i?N={top:w?0:A-4,bottom:w?0:void 0,height:w?"initial":8}:N={bottom:w?0:A-4,top:w?0:void 0,height:w?"initial":8}:i?N={left:w?0:A-4,right:w?0:void 0,width:w?"initial":8}:N={right:w?0:A-4,left:w?0:void 0,width:w?"initial":8},v.jsxs("div",{className:at("split-view",r,i&&"sidebar-first"),ref:_,children:[v.jsx("div",{className:"split-view-main",children:f}),!e&&v.jsx("div",{style:{flexBasis:A},className:"split-view-sidebar",children:u}),!e&&v.jsx("div",{style:N,className:"split-view-resizer",onMouseDown:$=>E({offset:r==="vertical"?$.clientY:$.clientX,size:A}),onMouseUp:()=>E(null),onMouseMove:$=>{if(!$.buttons)E(null);else if(w){const X=(r==="vertical"?$.clientY:$.clientX)-w.offset,U=i?w.size+X:w.size-X,B=$.target.parentElement.getBoundingClientRect(),O=Math.min(Math.max(l,U),(r==="vertical"?B.height:B.width)-l);r==="vertical"?S(O*window.devicePixelRatio):b(O*window.devicePixelRatio)}}})]})};function St(n){if(n<0||!isFinite(n))return"-";if(n===0)return"0ms";if(n<1e3)return n.toFixed(0)+"ms";const e=n/1e3;if(e<60)return e.toFixed(1)+"s";const i=e/60;if(i<60)return i.toFixed(1)+"m";const r=i/60;return r<24?r.toFixed(1)+"h":(r/24).toFixed(1)+"d"}function Bx(n){if(n<0||!isFinite(n))return"-";if(n===0)return"0";if(n<1e3)return n.toFixed(0);const e=n/1024;if(e<1e3)return e.toFixed(1)+"K";const i=e/1024;return i<1e3?i.toFixed(1)+"M":(i/1024).toFixed(1)+"G"}const rt=function(n,e,i){return n>=e&&n<=i};function Bt(n){return rt(n,48,57)}function rb(n){return Bt(n)||rt(n,65,70)||rt(n,97,102)}function qx(n){return rt(n,65,90)}function $x(n){return rt(n,97,122)}function Ix(n){return qx(n)||$x(n)}function Vx(n){return n>=128}function Ko(n){return Ix(n)||Vx(n)||n===95}function ab(n){return Ko(n)||Bt(n)||n===45}function Gx(n){return rt(n,0,8)||n===11||rt(n,14,31)||n===127}function Xo(n){return n===10}function Zn(n){return Xo(n)||n===9||n===32}const Kx=1114111;class td extends Error{constructor(e){super(e),this.name="InvalidCharacterError"}}function Xx(n){const e=[];for(let i=0;i<n.length;i++){let r=n.charCodeAt(i);if(r===13&&n.charCodeAt(i+1)===10&&(r=10,i++),(r===13||r===12)&&(r=10),r===0&&(r=65533),rt(r,55296,56319)&&rt(n.charCodeAt(i+1),56320,57343)){const l=r-55296,o=n.charCodeAt(i+1)-56320;r=Math.pow(2,16)+l*Math.pow(2,10)+o,i++}e.push(r)}return e}function ct(n){if(n<=65535)return String.fromCharCode(n);n-=Math.pow(2,16);const e=Math.floor(n/Math.pow(2,10))+55296,i=n%Math.pow(2,10)+56320;return String.fromCharCode(e)+String.fromCharCode(i)}function g0(n){const e=Xx(n);let i=-1;const r=[];let l;const o=function(V){return V>=e.length?-1:e[V]},u=function(V){if(V===void 0&&(V=1),V>3)throw"Spec Error: no more than three codepoints of lookahead.";return o(i+V)},f=function(V){return V===void 0&&(V=1),i+=V,l=o(i),!0},d=function(){return i-=1,!0},g=function(V){return V===void 0&&(V=l),V===-1},b=function(){if(m(),f(),Zn(l)){for(;Zn(u());)f();return new rc}else{if(l===34)return E();if(l===35)if(ab(u())||A(u(1),u(2))){const V=new N0("");return $(u(1),u(2),u(3))&&(V.type="id"),V.value=L(),V}else return new vt(l);else return l===36?u()===61?(f(),new Px):new vt(l):l===39?E():l===40?new T0:l===41?new nd:l===42?u()===61?(f(),new Jx):new vt(l):l===43?U()?(d(),S()):new vt(l):l===44?new w0:l===45?U()?(d(),S()):u(1)===45&&u(2)===62?(f(2),new b0):G()?(d(),w()):new vt(l):l===46?U()?(d(),S()):new vt(l):l===58?new v0:l===59?new S0:l===60?u(1)===33&&u(2)===45&&u(3)===45?(f(3),new y0):new vt(l):l===64?$(u(1),u(2),u(3))?new C0(L()):new vt(l):l===91?new E0:l===92?N()?(d(),w()):new vt(l):l===93?new Mh:l===94?u()===61?(f(),new Qx):new vt(l):l===123?new x0:l===124?u()===61?(f(),new Fx):u()===124?(f(),new A0):new vt(l):l===125?new _0:l===126?u()===61?(f(),new Yx):new vt(l):Bt(l)?(d(),S()):Ko(l)?(d(),w()):g()?new Fo:new vt(l)}},m=function(){for(;u(1)===47&&u(2)===42;)for(f(2);;)if(f(),l===42&&u()===47){f();break}else if(g())return},S=function(){const V=B();if($(u(1),u(2),u(3))){const W=new Zx;return W.value=V.value,W.repr=V.repr,W.type=V.type,W.unit=L(),W}else if(u()===37){f();const W=new O0;return W.value=V.value,W.repr=V.repr,W}else{const W=new M0;return W.value=V.value,W.repr=V.repr,W.type=V.type,W}},w=function(){const V=L();if(V.toLowerCase()==="url"&&u()===40){for(f();Zn(u(1))&&Zn(u(2));)f();return u()===34||u()===39?new Fa(V):Zn(u())&&(u(2)===34||u(2)===39)?new Fa(V):x()}else return u()===40?(f(),new Fa(V)):new id(V)},E=function(V){V===void 0&&(V=l);let W="";for(;f();){if(l===V||g())return new sd(W);if(Xo(l))return d(),new m0;l===92?g(u())||(Xo(u())?f():W+=ct(_())):W+=ct(l)}throw new Error("Internal error")},x=function(){const V=new k0("");for(;Zn(u());)f();if(g(u()))return V;for(;f();){if(l===41||g())return V;if(Zn(l)){for(;Zn(u());)f();return u()===41||g(u())?(f(),V):(ne(),new Yo)}else{if(l===34||l===39||l===40||Gx(l))return ne(),new Yo;if(l===92)if(N())V.value+=ct(_());else return ne(),new Yo;else V.value+=ct(l)}}throw new Error("Internal error")},_=function(){if(f(),rb(l)){const V=[l];for(let ge=0;ge<5&&rb(u());ge++)f(),V.push(l);Zn(u())&&f();let W=parseInt(V.map(function(ge){return String.fromCharCode(ge)}).join(""),16);return W>Kx&&(W=65533),W}else return g()?65533:l},A=function(V,W){return!(V!==92||Xo(W))},N=function(){return A(l,u())},$=function(V,W,ge){return V===45?Ko(W)||W===45||A(W,ge):Ko(V)?!0:V===92?A(V,W):!1},G=function(){return $(l,u(1),u(2))},X=function(V,W,ge){return V===43||V===45?!!(Bt(W)||W===46&&Bt(ge)):V===46?!!Bt(W):!!Bt(V)},U=function(){return X(l,u(1),u(2))},L=function(){let V="";for(;f();)if(ab(l))V+=ct(l);else if(N())V+=ct(_());else return d(),V;throw new Error("Internal parse error")},B=function(){let V="",W="integer";for((u()===43||u()===45)&&(f(),V+=ct(l));Bt(u());)f(),V+=ct(l);if(u(1)===46&&Bt(u(2)))for(f(),V+=ct(l),f(),V+=ct(l),W="number";Bt(u());)f(),V+=ct(l);const ge=u(1),Ue=u(2),I=u(3);if((ge===69||ge===101)&&Bt(Ue))for(f(),V+=ct(l),f(),V+=ct(l),W="number";Bt(u());)f(),V+=ct(l);else if((ge===69||ge===101)&&(Ue===43||Ue===45)&&Bt(I))for(f(),V+=ct(l),f(),V+=ct(l),f(),V+=ct(l),W="number";Bt(u());)f(),V+=ct(l);const J=O(V);return{type:W,value:J,repr:V}},O=function(V){return+V},ne=function(){for(;f();){if(l===41||g())return;N()&&_()}};let te=0;for(;!g(u());)if(r.push(b()),te++,te>e.length*2)throw new Error("I'm infinite-looping!");return r}class et{constructor(){this.tokenType=""}toJSON(){return{token:this.tokenType}}toString(){return this.tokenType}toSource(){return""+this}}class m0 extends et{constructor(){super(...arguments),this.tokenType="BADSTRING"}}class Yo extends et{constructor(){super(...arguments),this.tokenType="BADURL"}}class rc extends et{constructor(){super(...arguments),this.tokenType="WHITESPACE"}toString(){return"WS"}toSource(){return" "}}class y0 extends et{constructor(){super(...arguments),this.tokenType="CDO"}toSource(){return"<!--"}}class b0 extends et{constructor(){super(...arguments),this.tokenType="CDC"}toSource(){return"-->"}}class v0 extends et{constructor(){super(...arguments),this.tokenType=":"}}class S0 extends et{constructor(){super(...arguments),this.tokenType=";"}}class w0 extends et{constructor(){super(...arguments),this.tokenType=","}}class kr extends et{constructor(){super(...arguments),this.value="",this.mirror=""}}class x0 extends kr{constructor(){super(),this.tokenType="{",this.value="{",this.mirror="}"}}class _0 extends kr{constructor(){super(),this.tokenType="}",this.value="}",this.mirror="{"}}class E0 extends kr{constructor(){super(),this.tokenType="[",this.value="[",this.mirror="]"}}class Mh extends kr{constructor(){super(),this.tokenType="]",this.value="]",this.mirror="["}}class T0 extends kr{constructor(){super(),this.tokenType="(",this.value="(",this.mirror=")"}}class nd extends kr{constructor(){super(),this.tokenType=")",this.value=")",this.mirror="("}}class Yx extends et{constructor(){super(...arguments),this.tokenType="~="}}class Fx extends et{constructor(){super(...arguments),this.tokenType="|="}}class Qx extends et{constructor(){super(...arguments),this.tokenType="^="}}class Px extends et{constructor(){super(...arguments),this.tokenType="$="}}class Jx extends et{constructor(){super(...arguments),this.tokenType="*="}}class A0 extends et{constructor(){super(...arguments),this.tokenType="||"}}class Fo extends et{constructor(){super(...arguments),this.tokenType="EOF"}toSource(){return""}}class vt extends et{constructor(e){super(),this.tokenType="DELIM",this.value="",this.value=ct(e)}toString(){return"DELIM("+this.value+")"}toJSON(){const e=this.constructor.prototype.constructor.prototype.toJSON.call(this);return e.value=this.value,e}toSource(){return this.value==="\\"?`\\
52 -`:this.value}}class Mr extends et{constructor(){super(...arguments),this.value=""}ASCIIMatch(e){return this.value.toLowerCase()===e.toLowerCase()}toJSON(){const e=this.constructor.prototype.constructor.prototype.toJSON.call(this);return e.value=this.value,e}}class id extends Mr{constructor(e){super(),this.tokenType="IDENT",this.value=e}toString(){return"IDENT("+this.value+")"}toSource(){return ul(this.value)}}class Fa extends Mr{constructor(e){super(),this.tokenType="FUNCTION",this.value=e,this.mirror=")"}toString(){return"FUNCTION("+this.value+")"}toSource(){return ul(this.value)+"("}}class C0 extends Mr{constructor(e){super(),this.tokenType="AT-KEYWORD",this.value=e}toString(){return"AT("+this.value+")"}toSource(){return"@"+ul(this.value)}}class N0 extends Mr{constructor(e){super(),this.tokenType="HASH",this.value=e,this.type="unrestricted"}toString(){return"HASH("+this.value+")"}toJSON(){const e=this.constructor.prototype.constructor.prototype.toJSON.call(this);return e.value=this.value,e.type=this.type,e}toSource(){return this.type==="id"?"#"+ul(this.value):"#"+Wx(this.value)}}class sd extends Mr{constructor(e){super(),this.tokenType="STRING",this.value=e}toString(){return'"'+j0(this.value)+'"'}}class k0 extends Mr{constructor(e){super(),this.tokenType="URL",this.value=e}toString(){return"URL("+this.value+")"}toSource(){return'url("'+j0(this.value)+'")'}}class M0 extends et{constructor(){super(),this.tokenType="NUMBER",this.type="integer",this.repr=""}toString(){return this.type==="integer"?"INT("+this.value+")":"NUMBER("+this.value+")"}toJSON(){const e=super.toJSON();return e.value=this.value,e.type=this.type,e.repr=this.repr,e}toSource(){return this.repr}}class O0 extends et{constructor(){super(),this.tokenType="PERCENTAGE",this.repr=""}toString(){return"PERCENTAGE("+this.value+")"}toJSON(){const e=this.constructor.prototype.constructor.prototype.toJSON.call(this);return e.value=this.value,e.repr=this.repr,e}toSource(){return this.repr+"%"}}class Zx extends et{constructor(){super(),this.tokenType="DIMENSION",this.type="integer",this.repr="",this.unit=""}toString(){return"DIM("+this.value+","+this.unit+")"}toJSON(){const e=this.constructor.prototype.constructor.prototype.toJSON.call(this);return e.value=this.value,e.type=this.type,e.repr=this.repr,e.unit=this.unit,e}toSource(){const e=this.repr;let i=ul(this.unit);return i[0].toLowerCase()==="e"&&(i[1]==="-"||rt(i.charCodeAt(1),48,57))&&(i="\\65 "+i.slice(1,i.length)),e+i}}function ul(n){n=""+n;let e="";const i=n.charCodeAt(0);for(let r=0;r<n.length;r++){const l=n.charCodeAt(r);if(l===0)throw new td("Invalid character: the input contains U+0000.");rt(l,1,31)||l===127||r===0&&rt(l,48,57)||r===1&&rt(l,48,57)&&i===45?e+="\\"+l.toString(16)+" ":l>=128||l===45||l===95||rt(l,48,57)||rt(l,65,90)||rt(l,97,122)?e+=n[r]:e+="\\"+n[r]}return e}function Wx(n){n=""+n;let e="";for(let i=0;i<n.length;i++){const r=n.charCodeAt(i);if(r===0)throw new td("Invalid character: the input contains U+0000.");r>=128||r===45||r===95||rt(r,48,57)||rt(r,65,90)||rt(r,97,122)?e+=n[i]:e+="\\"+r.toString(16)+" "}return e}function j0(n){n=""+n;let e="";for(let i=0;i<n.length;i++){const r=n.charCodeAt(i);if(r===0)throw new td("Invalid character: the input contains U+0000.");rt(r,1,31)||r===127?e+="\\"+r.toString(16)+" ":r===34||r===92?e+="\\"+n[i]:e+=n[i]}return e}class qt extends Error{}function e_(n,e){let i;try{i=g0(n),i[i.length-1]instanceof Fo||i.push(new Fo)}catch(O){const ne=O.message+` while parsing css selector "${n}". Did you mean to CSS.escape it?`,te=(O.stack||"").indexOf(O.message);throw te!==-1&&(O.stack=O.stack.substring(0,te)+ne+O.stack.substring(te+O.message.length)),O.message=ne,O}const r=i.find(O=>O instanceof C0||O instanceof m0||O instanceof Yo||O instanceof A0||O instanceof y0||O instanceof b0||O instanceof S0||O instanceof x0||O instanceof _0||O instanceof k0||O instanceof O0);if(r)throw new qt(`Unsupported token "${r.toSource()}" while parsing css selector "${n}". Did you mean to CSS.escape it?`);let l=0;const o=new Set;function u(){return new qt(`Unexpected token "${i[l].toSource()}" while parsing css selector "${n}". Did you mean to CSS.escape it?`)}function f(){for(;i[l]instanceof rc;)l++}function d(O=l){return i[O]instanceof id}function g(O=l){return i[O]instanceof sd}function b(O=l){return i[O]instanceof M0}function m(O=l){return i[O]instanceof w0}function S(O=l){return i[O]instanceof T0}function w(O=l){return i[O]instanceof nd}function E(O=l){return i[O]instanceof Fa}function x(O=l){return i[O]instanceof vt&&i[O].value==="*"}function _(O=l){return i[O]instanceof Fo}function A(O=l){return i[O]instanceof vt&&[">","+","~"].includes(i[O].value)}function N(O=l){return m(O)||w(O)||_(O)||A(O)||i[O]instanceof rc}function $(){const O=[G()];for(;f(),!!m();)l++,O.push(G());return O}function G(){return f(),b()||g()?i[l++].value:X()}function X(){const O={simples:[]};for(f(),A()?O.simples.push({selector:{functions:[{name:"scope",args:[]}]},combinator:""}):O.simples.push({selector:U(),combinator:""});;){if(f(),A())O.simples[O.simples.length-1].combinator=i[l++].value,f();else if(N())break;O.simples.push({combinator:"",selector:U()})}return O}function U(){let O="";const ne=[];for(;!N();)if(d()||x())O+=i[l++].toSource();else if(i[l]instanceof N0)O+=i[l++].toSource();else if(i[l]instanceof vt&&i[l].value===".")if(l++,d())O+="."+i[l++].toSource();else throw u();else if(i[l]instanceof v0)if(l++,d())if(!e.has(i[l].value.toLowerCase()))O+=":"+i[l++].toSource();else{const te=i[l++].value.toLowerCase();ne.push({name:te,args:[]}),o.add(te)}else if(E()){const te=i[l++].value.toLowerCase();if(e.has(te)?(ne.push({name:te,args:$()}),o.add(te)):O+=`:${te}(${L()})`,f(),!w())throw u();l++}else throw u();else if(i[l]instanceof E0){for(O+="[",l++;!(i[l]instanceof Mh)&&!_();)O+=i[l++].toSource();if(!(i[l]instanceof Mh))throw u();O+="]",l++}else throw u();if(!O&&!ne.length)throw u();return{css:O||void 0,functions:ne}}function L(){let O="",ne=1;for(;!_()&&((S()||E())&&ne++,w()&&ne--,!!ne);)O+=i[l++].toSource();return O}const B=$();if(!_())throw u();if(B.some(O=>typeof O!="object"||!("simples"in O)))throw new qt(`Error while parsing css selector "${n}". Did you mean to CSS.escape it?`);return{selector:B,names:Array.from(o)}}const Oh=new Set(["internal:has","internal:has-not","internal:and","internal:or","internal:chain","left-of","right-of","above","below","near"]),t_=new Set(["left-of","right-of","above","below","near"]),L0=new Set(["not","is","where","has","scope","light","visible","text","text-matches","text-is","has-text","above","below","right-of","left-of","near","nth-match"]);function fl(n){const e=s_(n),i=[];for(const r of e.parts){if(r.name==="css"||r.name==="css:light"){r.name==="css:light"&&(r.body=":light("+r.body+")");const l=e_(r.body,L0);i.push({name:"css",body:l.selector,source:r.body});continue}if(Oh.has(r.name)){let l,o;try{const g=JSON.parse("["+r.body+"]");if(!Array.isArray(g)||g.length<1||g.length>2||typeof g[0]!="string")throw new qt(`Malformed selector: ${r.name}=`+r.body);if(l=g[0],g.length===2){if(typeof g[1]!="number"||!t_.has(r.name))throw new qt(`Malformed selector: ${r.name}=`+r.body);o=g[1]}}catch{throw new qt(`Malformed selector: ${r.name}=`+r.body)}const u={name:r.name,source:r.body,body:{parsed:fl(l),distance:o}},f=[...u.body.parsed.parts].reverse().find(g=>g.name==="internal:control"&&g.body==="enter-frame"),d=f?u.body.parsed.parts.indexOf(f):-1;d!==-1&&n_(u.body.parsed.parts.slice(0,d+1),i.slice(0,d+1))&&u.body.parsed.parts.splice(0,d+1),i.push(u);continue}i.push({...r,source:r.body})}if(Oh.has(i[0].name))throw new qt(`"${i[0].name}" selector cannot be first`);return{capture:e.capture,parts:i}}function n_(n,e){return gn({parts:n})===gn({parts:e})}function gn(n,e){return typeof n=="string"?n:n.parts.map((i,r)=>{let l=!0;!e&&r!==n.capture&&(i.name==="css"||i.name==="xpath"&&i.source.startsWith("//")||i.source.startsWith(".."))&&(l=!1);const o=l?i.name+"=":"";return`${r===n.capture?"*":""}${o}${i.source}`}).join(" >> ")}function i_(n,e){const i=(r,l)=>{for(const o of r.parts)e(o,l),Oh.has(o.name)&&i(o.body.parsed,!0)};i(n,!1)}function s_(n){let e=0,i,r=0;const l={parts:[]},o=()=>{const f=n.substring(r,e).trim(),d=f.indexOf("=");let g,b;d!==-1&&f.substring(0,d).trim().match(/^[a-zA-Z_0-9-+:*]+$/)?(g=f.substring(0,d).trim(),b=f.substring(d+1)):f.length>1&&f[0]==='"'&&f[f.length-1]==='"'||f.length>1&&f[0]==="'"&&f[f.length-1]==="'"?(g="text",b=f):/^\(*\/\//.test(f)||f.startsWith("..")?(g="xpath",b=f):(g="css",b=f);let m=!1;if(g[0]==="*"&&(m=!0,g=g.substring(1)),l.parts.push({name:g,body:b}),m){if(l.capture!==void 0)throw new qt("Only one of the selectors can capture using * modifier");l.capture=l.parts.length-1}};if(!n.includes(">>"))return e=n.length,o(),l;const u=()=>{const d=n.substring(r,e).match(/^\s*text\s*=(.*)$/);return!!d&&!!d[1]};for(;e<n.length;){const f=n[e];f==="\\"&&e+1<n.length?e+=2:f===i?(i=void 0,e++):!i&&(f==='"'||f==="'"||f==="`")&&!u()?(i=f,e++):!i&&f===">"&&n[e+1]===">"?(o(),e+=2,r=e):e++}return o(),l}function Qa(n,e){let i=0,r=n.length===0;const l=()=>n[i]||"",o=()=>{const _=l();return++i,r=i>=n.length,_},u=_=>{throw r?new qt(`Unexpected end of selector while parsing selector \`${n}\``):new qt(`Error while parsing selector \`${n}\` - unexpected symbol "${l()}" at position ${i}`+(_?" during "+_:""))};function f(){for(;!r&&/\s/.test(l());)o()}function d(_){return _>="€"||_>="0"&&_<="9"||_>="A"&&_<="Z"||_>="a"&&_<="z"||_>="0"&&_<="9"||_==="_"||_==="-"}function g(){let _="";for(f();!r&&d(l());)_+=o();return _}function b(_){let A=o();for(A!==_&&u("parsing quoted string");!r&&l()!==_;)l()==="\\"&&o(),A+=o();return l()!==_&&u("parsing quoted string"),A+=o(),A}function m(){o()!=="/"&&u("parsing regular expression");let _="",A=!1;for(;!r;){if(l()==="\\")_+=o(),r&&u("parsing regular expression");else if(A&&l()==="]")A=!1;else if(!A&&l()==="[")A=!0;else if(!A&&l()==="/")break;_+=o()}o()!=="/"&&u("parsing regular expression");let N="";for(;!r&&l().match(/[dgimsuy]/);)N+=o();try{return new RegExp(_,N)}catch($){throw new qt(`Error while parsing selector \`${n}\`: ${$.message}`)}}function S(){let _="";return f(),l()==="'"||l()==='"'?_=b(l()).slice(1,-1):_=g(),_||u("parsing property path"),_}function w(){f();let _="";return r||(_+=o()),!r&&_!=="="&&(_+=o()),["=","*=","^=","$=","|=","~="].includes(_)||u("parsing operator"),_}function E(){o();const _=[];for(_.push(S()),f();l()===".";)o(),_.push(S()),f();if(l()==="]")return o(),{name:_.join("."),jsonPath:_,op:"<truthy>",value:null,caseSensitive:!1};const A=w();let N,$=!0;if(f(),l()==="/"){if(A!=="=")throw new qt(`Error while parsing selector \`${n}\` - cannot use ${A} in attribute with regular expression`);N=m()}else if(l()==="'"||l()==='"')N=b(l()).slice(1,-1),f(),l()==="i"||l()==="I"?($=!1,o()):(l()==="s"||l()==="S")&&($=!0,o());else{for(N="";!r&&(d(l())||l()==="+"||l()===".");)N+=o();N==="true"?N=!0:N==="false"&&(N=!1)}if(f(),l()!=="]"&&u("parsing attribute value"),o(),A!=="="&&typeof N!="string")throw new qt(`Error while parsing selector \`${n}\` - cannot use ${A} in attribute with non-string matching value - ${N}`);return{name:_.join("."),jsonPath:_,op:A,value:N,caseSensitive:$}}const x={name:"",attributes:[]};for(x.name=g(),f();l()==="[";)x.attributes.push(E()),f();if(r||u(void 0),!x.name&&!x.attributes.length)throw new qt(`Error while parsing selector \`${n}\` - selector cannot be empty`);return x}function mc(n,e="'"){const i=JSON.stringify(n),r=i.substring(1,i.length-1).replace(/\\"/g,'"');if(e==="'")return e+r.replace(/[']/g,"\\'")+e;if(e==='"')return e+r.replace(/["]/g,'\\"')+e;if(e==="`")return e+r.replace(/[`]/g,"\\`")+e;throw new Error("Invalid escape char")}function ac(n){return n.charAt(0).toUpperCase()+n.substring(1)}function R0(n){return n.replace(/([a-z0-9])([A-Z])/g,"$1_$2").replace(/([A-Z])([A-Z][a-z])/g,"$1_$2").toLowerCase()}function dr(n){return`"${n.replace(/["\\]/g,e=>"\\"+e)}"`}let ls;function r_(){ls=new Map}function ut(n){let e=ls==null?void 0:ls.get(n);return e===void 0&&(e=n.replace(/[\u200b\u00ad]/g,"").trim().replace(/\s+/g," "),ls==null||ls.set(n,e)),e}function yc(n){return n.replace(/(^|[^\\])(\\\\)*\\(['"`])/g,"$1$2$3")}function D0(n){return n.unicode||n.unicodeSets?String(n):String(n).replace(/(^|[^\\])(\\\\)*(["'`])/g,"$1$2\\$3").replace(/>>/g,"\\>\\>")}function $t(n,e){return typeof n!="string"?D0(n):`${JSON.stringify(n)}${e?"s":"i"}`}function Je(n,e){return typeof n!="string"?D0(n):`"${n.replace(/\\/g,"\\\\").replace(/["]/g,'\\"')}"${e?"s":"i"}`}function a_(n,e,i=""){if(n.length<=e)return n;const r=[...n];return r.length>e?r.slice(0,e-i.length).join("")+i:r.join("")}function lb(n,e){return a_(n,e,"…")}function lc(n){return n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function l_(n,e){const i=n.length,r=e.length;let l=0,o=0;const u=Array(i+1).fill(null).map(()=>Array(r+1).fill(0));for(let f=1;f<=i;f++)for(let d=1;d<=r;d++)n[f-1]===e[d-1]&&(u[f][d]=u[f-1][d-1]+1,u[f][d]>l&&(l=u[f][d],o=f));return n.slice(o-l,o)}function z0(n,e){try{const i=fl(e),r=o_(i);return r||fs(new H0[n],i,!1,1)[0]}catch{return e}}function o_(n){const e=n.parts[n.parts.length-1];if((e==null?void 0:e.name)==="internal:describe"){const i=JSON.parse(e.body);if(typeof i=="string")return i}}function Di(n,e,i=!1){return U0(n,e,i,1)[0]}function U0(n,e,i=!1,r=20,l){try{return fs(new H0[n](l),fl(e),i,r)}catch{return[e]}}function fs(n,e,i=!1,r=20){const l=[...e.parts],o=[];let u=i?"frame-locator":"page";for(let f=0;f<l.length;f++){const d=l[f],g=u;if(u="locator",d.name==="internal:describe")continue;if(d.name==="nth"){d.body==="0"?o.push([n.generateLocator(g,"first",""),n.generateLocator(g,"nth","0")]):d.body==="-1"?o.push([n.generateLocator(g,"last",""),n.generateLocator(g,"nth","-1")]):o.push([n.generateLocator(g,"nth",d.body)]);continue}if(d.name==="visible"){o.push([n.generateLocator(g,"visible",d.body),n.generateLocator(g,"default",`visible=${d.body}`)]);continue}if(d.name==="internal:text"){const{exact:E,text:x}=Ra(d.body);o.push([n.generateLocator(g,"text",x,{exact:E})]);continue}if(d.name==="internal:has-text"){const{exact:E,text:x}=Ra(d.body);if(!E){o.push([n.generateLocator(g,"has-text",x,{exact:E})]);continue}}if(d.name==="internal:has-not-text"){const{exact:E,text:x}=Ra(d.body);if(!E){o.push([n.generateLocator(g,"has-not-text",x,{exact:E})]);continue}}if(d.name==="internal:has"){const E=fs(n,d.body.parsed,!1,r);o.push(E.map(x=>n.generateLocator(g,"has",x)));continue}if(d.name==="internal:has-not"){const E=fs(n,d.body.parsed,!1,r);o.push(E.map(x=>n.generateLocator(g,"hasNot",x)));continue}if(d.name==="internal:and"){const E=fs(n,d.body.parsed,!1,r);o.push(E.map(x=>n.generateLocator(g,"and",x)));continue}if(d.name==="internal:or"){const E=fs(n,d.body.parsed,!1,r);o.push(E.map(x=>n.generateLocator(g,"or",x)));continue}if(d.name==="internal:chain"){const E=fs(n,d.body.parsed,!1,r);o.push(E.map(x=>n.generateLocator(g,"chain",x)));continue}if(d.name==="internal:label"){const{exact:E,text:x}=Ra(d.body);o.push([n.generateLocator(g,"label",x,{exact:E})]);continue}if(d.name==="internal:role"){const E=Qa(d.body),x={attrs:[]};for(const _ of E.attributes)_.name==="name"?(x.exact=_.caseSensitive,x.name=_.value):_.name==="description"?(x.exact=_.caseSensitive,x.description=_.value):(_.name==="level"&&typeof _.value=="string"&&(_.value=+_.value),x.attrs.push({name:_.name==="include-hidden"?"includeHidden":_.name,value:_.value}));o.push([n.generateLocator(g,"role",E.name,x)]);continue}if(d.name==="internal:testid"){const E=Qa(d.body),{value:x}=E.attributes[0];o.push([n.generateLocator(g,"test-id",x)]);continue}if(d.name==="internal:attr"){const E=Qa(d.body),{name:x,value:_,caseSensitive:A}=E.attributes[0],N=_,$=!!A;if(x==="placeholder"){o.push([n.generateLocator(g,"placeholder",N,{exact:$})]);continue}if(x==="alt"){o.push([n.generateLocator(g,"alt",N,{exact:$})]);continue}if(x==="title"){o.push([n.generateLocator(g,"title",N,{exact:$})]);continue}}if(d.name==="internal:control"&&d.body==="enter-frame"){const E=o[o.length-1],x=l[f-1],_=E.map(A=>n.chainLocators([A,n.generateLocator(g,"frame","")]));["xpath","css"].includes(x.name)&&_.push(n.generateLocator(g,"frame-locator",gn({parts:[x]})),n.generateLocator(g,"frame-locator",gn({parts:[x]},!0))),E.splice(0,E.length,..._),u="frame-locator";continue}const b=l[f+1],m=gn({parts:[d]}),S=n.generateLocator(g,"default",m);if(b&&["internal:has-text","internal:has-not-text"].includes(b.name)){const{exact:E,text:x}=Ra(b.body);if(!E){const _=n.generateLocator("locator",b.name==="internal:has-text"?"has-text":"has-not-text",x,{exact:E}),A={};b.name==="internal:has-text"?A.hasText=x:A.hasNotText=x;const N=n.generateLocator(g,"default",m,A);o.push([n.chainLocators([S,_]),N]),f++;continue}}let w;if(["xpath","css"].includes(d.name)){const E=gn({parts:[d]},!0);w=n.generateLocator(g,"default",E)}o.push([S,w].filter(Boolean))}return c_(n,o,r)}function c_(n,e,i){const r=e.map(()=>""),l=[],o=u=>{if(u===e.length)return l.push(n.chainLocators(r)),l.length<i;for(const f of e[u])if(r[u]=f,!o(u+1))return!1;return!0};return o(0),l}function Ra(n){let e=!1;const i=n.match(/^\/(.*)\/([igm]*)$/);return i?{text:new RegExp(i[1],i[2])}:(n.endsWith('"')?(n=JSON.parse(n),e=!0):n.endsWith('"s')?(n=JSON.parse(n.substring(0,n.length-1)),e=!0):n.endsWith('"i')&&(n=JSON.parse(n.substring(0,n.length-1)),e=!1),{exact:e,text:n})}class u_{constructor(e){this.preferredQuote=e}generateLocator(e,i,r,l={}){switch(i){case"default":return l.hasText!==void 0?`locator(${this.quote(r)}, { hasText: ${this.toHasText(l.hasText)} })`:l.hasNotText!==void 0?`locator(${this.quote(r)}, { hasNotText: ${this.toHasText(l.hasNotText)} })`:`locator(${this.quote(r)})`;case"frame-locator":return`frameLocator(${this.quote(r)})`;case"frame":return"contentFrame()";case"nth":return`nth(${r})`;case"first":return"first()";case"last":return"last()";case"visible":return`filter({ visible: ${r==="true"?"true":"false"} })`;case"role":const o=[];Ze(l.name)?o.push(`name: ${this.regexToSourceString(l.name)}`):typeof l.name=="string"&&o.push(`name: ${this.quote(l.name)}`),Ze(l.description)?o.push(`description: ${this.regexToSourceString(l.description)}`):typeof l.description=="string"&&o.push(`description: ${this.quote(l.description)}`),l.exact&&(typeof l.name=="string"||typeof l.description=="string")&&o.push("exact: true");for(const{name:f,value:d}of l.attrs)o.push(`${f}: ${typeof d=="string"?this.quote(d):d}`);const u=o.length?`, { ${o.join(", ")} }`:"";return`getByRole(${this.quote(r)}${u})`;case"has-text":return`filter({ hasText: ${this.toHasText(r)} })`;case"has-not-text":return`filter({ hasNotText: ${this.toHasText(r)} })`;case"has":return`filter({ has: ${r} })`;case"hasNot":return`filter({ hasNot: ${r} })`;case"and":return`and(${r})`;case"or":return`or(${r})`;case"chain":return`locator(${r})`;case"test-id":return`getByTestId(${this.toTestIdValue(r)})`;case"text":return this.toCallWithExact("getByText",r,!!l.exact);case"alt":return this.toCallWithExact("getByAltText",r,!!l.exact);case"placeholder":return this.toCallWithExact("getByPlaceholder",r,!!l.exact);case"label":return this.toCallWithExact("getByLabel",r,!!l.exact);case"title":return this.toCallWithExact("getByTitle",r,!!l.exact);default:throw new Error("Unknown selector kind "+i)}}chainLocators(e){return e.join(".")}regexToSourceString(e){return yc(String(e))}toCallWithExact(e,i,r){return Ze(i)?`${e}(${this.regexToSourceString(i)})`:r?`${e}(${this.quote(i)}, { exact: true })`:`${e}(${this.quote(i)})`}toHasText(e){return Ze(e)?this.regexToSourceString(e):this.quote(e)}toTestIdValue(e){return Ze(e)?this.regexToSourceString(e):this.quote(e)}quote(e){return mc(e,this.preferredQuote??"'")}}class f_{generateLocator(e,i,r,l={}){switch(i){case"default":return l.hasText!==void 0?`locator(${this.quote(r)}, has_text=${this.toHasText(l.hasText)})`:l.hasNotText!==void 0?`locator(${this.quote(r)}, has_not_text=${this.toHasText(l.hasNotText)})`:`locator(${this.quote(r)})`;case"frame-locator":return`frame_locator(${this.quote(r)})`;case"frame":return"content_frame";case"nth":return`nth(${r})`;case"first":return"first";case"last":return"last";case"visible":return`filter(visible=${r==="true"?"True":"False"})`;case"role":const o=[];Ze(l.name)?o.push(`name=${this.regexToString(l.name)}`):typeof l.name=="string"&&o.push(`name=${this.quote(l.name)}`),Ze(l.description)?o.push(`description=${this.regexToString(l.description)}`):typeof l.description=="string"&&o.push(`description=${this.quote(l.description)}`),l.exact&&(typeof l.name=="string"||typeof l.description=="string")&&o.push("exact=True");for(const{name:f,value:d}of l.attrs){let g=typeof d=="string"?this.quote(d):d;typeof d=="boolean"&&(g=d?"True":"False"),o.push(`${R0(f)}=${g}`)}const u=o.length?`, ${o.join(", ")}`:"";return`get_by_role(${this.quote(r)}${u})`;case"has-text":return`filter(has_text=${this.toHasText(r)})`;case"has-not-text":return`filter(has_not_text=${this.toHasText(r)})`;case"has":return`filter(has=${r})`;case"hasNot":return`filter(has_not=${r})`;case"and":return`and_(${r})`;case"or":return`or_(${r})`;case"chain":return`locator(${r})`;case"test-id":return`get_by_test_id(${this.toTestIdValue(r)})`;case"text":return this.toCallWithExact("get_by_text",r,!!l.exact);case"alt":return this.toCallWithExact("get_by_alt_text",r,!!l.exact);case"placeholder":return this.toCallWithExact("get_by_placeholder",r,!!l.exact);case"label":return this.toCallWithExact("get_by_label",r,!!l.exact);case"title":return this.toCallWithExact("get_by_title",r,!!l.exact);default:throw new Error("Unknown selector kind "+i)}}chainLocators(e){return e.join(".")}regexToString(e){const i=e.flags.includes("i")?", re.IGNORECASE":"";return`re.compile(r"${yc(e.source).replace(/\\\//,"/").replace(/"/g,'\\"')}"${i})`}toCallWithExact(e,i,r){return Ze(i)?`${e}(${this.regexToString(i)})`:r?`${e}(${this.quote(i)}, exact=True)`:`${e}(${this.quote(i)})`}toHasText(e){return Ze(e)?this.regexToString(e):`${this.quote(e)}`}toTestIdValue(e){return Ze(e)?this.regexToString(e):this.quote(e)}quote(e){return mc(e,'"')}}class h_{generateLocator(e,i,r,l={}){let o;switch(e){case"page":o="Page";break;case"frame-locator":o="FrameLocator";break;case"locator":o="Locator";break}switch(i){case"default":return l.hasText!==void 0?`locator(${this.quote(r)}, new ${o}.LocatorOptions().setHasText(${this.toHasText(l.hasText)}))`:l.hasNotText!==void 0?`locator(${this.quote(r)}, new ${o}.LocatorOptions().setHasNotText(${this.toHasText(l.hasNotText)}))`:`locator(${this.quote(r)})`;case"frame-locator":return`frameLocator(${this.quote(r)})`;case"frame":return"contentFrame()";case"nth":return`nth(${r})`;case"first":return"first()";case"last":return"last()";case"visible":return`filter(new ${o}.FilterOptions().setVisible(${r==="true"?"true":"false"}))`;case"role":const u=[];Ze(l.name)?u.push(`.setName(${this.regexToString(l.name)})`):typeof l.name=="string"&&u.push(`.setName(${this.quote(l.name)})`),Ze(l.description)?u.push(`.setDescription(${this.regexToString(l.description)})`):typeof l.description=="string"&&u.push(`.setDescription(${this.quote(l.description)})`),l.exact&&(typeof l.name=="string"||typeof l.description=="string")&&u.push(".setExact(true)");for(const{name:d,value:g}of l.attrs)u.push(`.set${ac(d)}(${typeof g=="string"?this.quote(g):g})`);const f=u.length?`, new ${o}.GetByRoleOptions()${u.join("")}`:"";return`getByRole(AriaRole.${R0(r).toUpperCase()}${f})`;case"has-text":return`filter(new ${o}.FilterOptions().setHasText(${this.toHasText(r)}))`;case"has-not-text":return`filter(new ${o}.FilterOptions().setHasNotText(${this.toHasText(r)}))`;case"has":return`filter(new ${o}.FilterOptions().setHas(${r}))`;case"hasNot":return`filter(new ${o}.FilterOptions().setHasNot(${r}))`;case"and":return`and(${r})`;case"or":return`or(${r})`;case"chain":return`locator(${r})`;case"test-id":return`getByTestId(${this.toTestIdValue(r)})`;case"text":return this.toCallWithExact(o,"getByText",r,!!l.exact);case"alt":return this.toCallWithExact(o,"getByAltText",r,!!l.exact);case"placeholder":return this.toCallWithExact(o,"getByPlaceholder",r,!!l.exact);case"label":return this.toCallWithExact(o,"getByLabel",r,!!l.exact);case"title":return this.toCallWithExact(o,"getByTitle",r,!!l.exact);default:throw new Error("Unknown selector kind "+i)}}chainLocators(e){return e.join(".")}regexToString(e){const i=e.flags.includes("i")?", Pattern.CASE_INSENSITIVE":"";return`Pattern.compile(${this.quote(yc(e.source))}${i})`}toCallWithExact(e,i,r,l){return Ze(r)?`${i}(${this.regexToString(r)})`:l?`${i}(${this.quote(r)}, new ${e}.${ac(i)}Options().setExact(true))`:`${i}(${this.quote(r)})`}toHasText(e){return Ze(e)?this.regexToString(e):this.quote(e)}toTestIdValue(e){return Ze(e)?this.regexToString(e):this.quote(e)}quote(e){return mc(e,'"')}}class d_{generateLocator(e,i,r,l={}){switch(i){case"default":return l.hasText!==void 0?`Locator(${this.quote(r)}, new() { ${this.toHasText(l.hasText)} })`:l.hasNotText!==void 0?`Locator(${this.quote(r)}, new() { ${this.toHasNotText(l.hasNotText)} })`:`Locator(${this.quote(r)})`;case"frame-locator":return`FrameLocator(${this.quote(r)})`;case"frame":return"ContentFrame";case"nth":return`Nth(${r})`;case"first":return"First";case"last":return"Last";case"visible":return`Filter(new() { Visible = ${r==="true"?"true":"false"} })`;case"role":const o=[];Ze(l.name)?o.push(`NameRegex = ${this.regexToString(l.name)}`):typeof l.name=="string"&&o.push(`Name = ${this.quote(l.name)}`),Ze(l.description)?o.push(`DescriptionRegex = ${this.regexToString(l.description)}`):typeof l.description=="string"&&o.push(`Description = ${this.quote(l.description)}`),l.exact&&(typeof l.name=="string"||typeof l.description=="string")&&o.push("Exact = true");for(const{name:f,value:d}of l.attrs)o.push(`${ac(f)} = ${typeof d=="string"?this.quote(d):d}`);const u=o.length?`, new() { ${o.join(", ")} }`:"";return`GetByRole(AriaRole.${ac(r)}${u})`;case"has-text":return`Filter(new() { ${this.toHasText(r)} })`;case"has-not-text":return`Filter(new() { ${this.toHasNotText(r)} })`;case"has":return`Filter(new() { Has = ${r} })`;case"hasNot":return`Filter(new() { HasNot = ${r} })`;case"and":return`And(${r})`;case"or":return`Or(${r})`;case"chain":return`Locator(${r})`;case"test-id":return`GetByTestId(${this.toTestIdValue(r)})`;case"text":return this.toCallWithExact("GetByText",r,!!l.exact);case"alt":return this.toCallWithExact("GetByAltText",r,!!l.exact);case"placeholder":return this.toCallWithExact("GetByPlaceholder",r,!!l.exact);case"label":return this.toCallWithExact("GetByLabel",r,!!l.exact);case"title":return this.toCallWithExact("GetByTitle",r,!!l.exact);default:throw new Error("Unknown selector kind "+i)}}chainLocators(e){return e.join(".")}regexToString(e){const i=e.flags.includes("i")?", RegexOptions.IgnoreCase":"";return`new Regex(${this.quote(yc(e.source))}${i})`}toCallWithExact(e,i,r){return Ze(i)?`${e}(${this.regexToString(i)})`:r?`${e}(${this.quote(i)}, new() { Exact = true })`:`${e}(${this.quote(i)})`}toHasText(e){return Ze(e)?`HasTextRegex = ${this.regexToString(e)}`:`HasText = ${this.quote(e)}`}toTestIdValue(e){return Ze(e)?this.regexToString(e):this.quote(e)}toHasNotText(e){return Ze(e)?`HasNotTextRegex = ${this.regexToString(e)}`:`HasNotText = ${this.quote(e)}`}quote(e){return mc(e,'"')}}class p_{generateLocator(e,i,r,l={}){return JSON.stringify({kind:i,body:r,options:l})}chainLocators(e){const i=e.map(r=>JSON.parse(r));for(let r=0;r<i.length-1;++r)i[r].next=i[r+1];return JSON.stringify(i[0])}}const H0={javascript:u_,python:f_,java:h_,csharp:d_,jsonl:p_};function Ze(n){return n instanceof RegExp}const ob=new Map;function g_({name:n,rootItem:e,render:i,title:r,icon:l,isError:o,isVisible:u,selectedItem:f,onAccepted:d,onSelected:g,onHighlighted:b,treeState:m,setTreeState:S,noItemsMessage:w,dataTestId:E,autoExpandDepth:x}){const _=R.useMemo(()=>m_(e,f,m.expandedItems,x||0,u),[e,f,m,x,u]),A=R.useRef(null),[N,$]=R.useState();R.useEffect(()=>{b==null||b(N)},[b,N]),R.useEffect(()=>{const U=A.current;if(!U)return;const L=()=>{ob.set(n,U.scrollTop)};return U.addEventListener("scroll",L,{passive:!0}),()=>U.removeEventListener("scroll",L)},[n]),R.useEffect(()=>{A.current&&(A.current.scrollTop=ob.get(n)||0)},[n]);const G=R.useCallback(U=>{const{expanded:L}=_.get(U);if(L){for(let B=f;B;B=B.parent)if(B===U){g==null||g(U);break}m.expandedItems.set(U.id,!1)}else m.expandedItems.set(U.id,!0);S({...m})},[_,f,g,m,S]),X=R.useCallback(U=>{const{expanded:L}=_.get(U),B=[U];for(;B.length;){const O=B.pop();B.push(...O.children),m.expandedItems.set(O.id,!L)}S({...m})},[_,m,S]);return v.jsx("div",{className:at("tree-view vbox",n+"-tree-view"),"data-testid":E||n+"-tree",children:v.jsxs("div",{className:at("tree-view-content"),role:_.size>0?"tree":void 0,tabIndex:0,onKeyDown:U=>{if(f&&U.key==="Enter"){d==null||d(f);return}if(U.key!=="ArrowDown"&&U.key!=="ArrowUp"&&U.key!=="ArrowLeft"&&U.key!=="ArrowRight")return;if(U.stopPropagation(),U.preventDefault(),f&&U.key==="ArrowLeft"){const{expanded:B,parent:O}=_.get(f);B?(m.expandedItems.set(f.id,!1),S({...m})):O&&(g==null||g(O));return}if(f&&U.key==="ArrowRight"){f.children.length&&(m.expandedItems.set(f.id,!0),S({...m}));return}let L=f;if(U.key==="ArrowDown"&&(f?L=_.get(f).next:_.size&&(L=[..._.keys()][0])),U.key==="ArrowUp"){if(f)L=_.get(f).prev;else if(_.size){const B=[..._.keys()];L=B[B.length-1]}}b==null||b(void 0),L&&(g==null||g(L)),$(void 0)},ref:A,children:[w&&_.size===0&&v.jsx("div",{className:"tree-view-empty",children:w}),e.children.map(U=>_.get(U)&&v.jsx(B0,{item:U,treeItems:_,selectedItem:f,onSelected:g,onAccepted:d,isError:o,toggleExpanded:G,toggleSubtree:X,highlightedItem:N,setHighlightedItem:$,render:i,icon:l,title:r},U.id))]})})}function B0({item:n,treeItems:e,selectedItem:i,onSelected:r,highlightedItem:l,setHighlightedItem:o,isError:u,onAccepted:f,toggleExpanded:d,toggleSubtree:g,render:b,title:m,icon:S}){const w=R.useId(),E=R.useRef(null);R.useEffect(()=>{(i==null?void 0:i.id)===n.id&&E.current&&r0(E.current)},[n.id,i==null?void 0:i.id]);const x=e.get(n),_=x.depth,A=x.expanded;let N="codicon-blank";typeof A=="boolean"&&(N=A?"codicon-chevron-down":"codicon-chevron-right");const $=b(n),G=A&&n.children.length?n.children:[],X=m==null?void 0:m(n),U=(S==null?void 0:S(n))||"codicon-blank";return v.jsxs("div",{ref:E,role:"treeitem","aria-selected":n===i,"aria-expanded":A,"aria-controls":w,title:X,className:"vbox",style:{flex:"none"},children:[v.jsxs("div",{onDoubleClick:()=>f==null?void 0:f(n),className:at("tree-view-entry",i===n&&"selected",l===n&&"highlighted",(u==null?void 0:u(n))&&"error"),onClick:()=>r==null?void 0:r(n),onMouseEnter:()=>o(n),onMouseLeave:()=>o(void 0),children:[_?new Array(_).fill(0).map((L,B)=>v.jsx("div",{className:"tree-view-indent"},"indent-"+B)):void 0,v.jsx("div",{"aria-hidden":"true",className:"codicon "+N,style:{minWidth:16,marginRight:4},onDoubleClick:L=>{L.preventDefault(),L.stopPropagation()},onClick:L=>{L.stopPropagation(),L.preventDefault(),L.altKey?g(n):d(n)}}),S&&v.jsx("div",{className:"codicon "+U,style:{minWidth:16,marginRight:4},"aria-label":"["+U.replace("codicon","icon")+"]"}),typeof $=="string"?v.jsx("div",{style:{textOverflow:"ellipsis",overflow:"hidden"},children:$}):$]}),!!G.length&&v.jsx("div",{id:w,role:"group",children:G.map(L=>e.get(L)&&v.jsx(B0,{item:L,treeItems:e,selectedItem:i,onSelected:r,onAccepted:f,isError:u,toggleExpanded:d,toggleSubtree:g,highlightedItem:l,setHighlightedItem:o,render:b,title:m,icon:S},L.id))})]})}function jh(n,e,i){const r=i.get(n.id);if(r!==void 0)return r;const l=e(n),o=l==="if-needed"?n.children.some(u=>jh(u,e,i)):l;return i.set(n.id,o),o}function m_(n,e,i,r,l=()=>!0){const o=new Map;if(!jh(n,l,o))return new Map;const u=new Map,f=new Set;for(let b=e==null?void 0:e.parent;b;b=b.parent)f.add(b.id);let d=null;const g=(b,m)=>{for(const S of b.children){if(!jh(S,l,o))continue;const w=f.has(S.id)||i.get(S.id),E=r>m&&u.size<25&&w!==!1,x=S.children.length?w??E:void 0,_={depth:m,expanded:x,parent:n===b?null:b,next:null,prev:d};d&&(u.get(d).next=S),d=S,u.set(S,_),x&&g(S,m+1)}};return g(n,0),u}const ft=R.forwardRef(function({children:e,title:i="",icon:r,disabled:l=!1,toggled:o=!1,onClick:u=()=>{},style:f,testId:d,className:g,ariaLabel:b,errorBadge:m},S){const w=R.useId();return v.jsxs("button",{ref:S,className:at(g,"toolbar-button",r,o&&"toggled"),onMouseDown:cb,onClick:u,onDoubleClick:cb,title:i,disabled:!!l,style:f,"data-testid":d,"aria-label":b||i,"aria-describedby":m?w:void 0,children:[r&&v.jsx("span",{className:`codicon codicon-${r}`,style:e?{marginRight:5}:{}}),e,m&&v.jsx("span",{id:w,className:"toolbar-button-error-badge",title:m,"aria-label":m})]})}),cb=n=>{n.stopPropagation(),n.preventDefault()};function q0(n){return n==="scheduled"?"codicon-clock":n==="running"?"codicon-loading":n==="failed"?"codicon-error":n==="passed"?"codicon-check":n==="skipped"?"codicon-circle-slash":"codicon-circle-outline"}function y_(n){return n==="scheduled"?"Pending":n==="running"?"Running":n==="failed"?"Failed":n==="passed"?"Passed":n==="skipped"?"Skipped":"Did not run"}const b_=g_,v_=({actions:n,selectedAction:e,selectedTime:i,setSelectedTime:r,treeState:l,setTreeState:o,sdkLanguage:u,onSelected:f,onHighlighted:d,revealConsole:g,revealActionAttachment:b,isLive:m,actionFilterText:S})=>{const{rootItem:w,itemMap:E}=R.useMemo(()=>d0(n),[n]),{selectedItem:x}=R.useMemo(()=>({selectedItem:e?E.get(e.callId):void 0}),[E,e]),_=R.useCallback(U=>{var L;return!!((L=U.action.error)!=null&&L.message)},[]),A=R.useCallback(U=>r({minimum:U.action.startTime,maximum:U.action.endTime}),[r]),N=R.useCallback(U=>{var B;const L=!!b&&!!((B=U.action.attachments)!=null&&B.length);return rd(U.action,{sdkLanguage:u,revealConsole:g,revealActionAttachment:()=>b==null?void 0:b(U.action.callId),isLive:m,showDuration:!0,showBadges:!0,showAttachments:L})},[m,g,b,u]),$=R.useCallback(U=>{if(!(!i||!U.action||U.action.startTime<=i.maximum&&U.action.endTime>=i.minimum))return!1;const B=ad(U.action).title;return S?B.toLowerCase().includes(S.toLowerCase())?!0:"if-needed":!0},[i,S]),G=R.useCallback(U=>{f==null||f(U.action)},[f]),X=R.useCallback(U=>{d==null||d(U==null?void 0:U.action)},[d]);return v.jsxs("div",{className:"vbox action-list-container",children:[i&&v.jsxs("div",{className:"action-list-show-all",onClick:()=>r(void 0),children:[v.jsx("span",{className:"codicon codicon-triangle-left"}),"Show all"]}),v.jsx(b_,{name:"actions",rootItem:w,treeState:l,setTreeState:o,selectedItem:x,onSelected:G,onHighlighted:X,onAccepted:A,isError:_,isVisible:$,render:N,autoExpandDepth:S!=null&&S.trim()?5:0})]})},rd=(n,e)=>{var _;const{sdkLanguage:i,revealConsole:r,revealActionAttachment:l,isLive:o,showDuration:u,showBadges:f,showAttachments:d}=e,{errors:g,warnings:b}=Rx(n),m=n.params.selector?z0(i||"javascript",n.params.selector):void 0,S=n.class==="Test"&&n.method==="test.step"&&((_=n.annotations)==null?void 0:_.some(A=>A.type==="skip"));let w="";n.endTime?w=St(n.endTime-n.startTime):n.error?w="Timed out":o||(w="-");const{elements:E,title:x}=ad(n);return v.jsxs("div",{className:"action-title vbox",children:[v.jsxs("div",{className:"hbox",children:[v.jsx("span",{className:"action-title-method",title:x,children:E}),(u||f||d||S)&&v.jsx("div",{className:"spacer"}),d&&v.jsx(ft,{icon:"attach",title:"Open Attachment",onClick:()=>l==null?void 0:l()}),u&&!S&&v.jsx("div",{className:"action-duration",children:w||v.jsx("span",{className:"codicon codicon-loading"})}),S&&v.jsx("span",{className:at("action-skipped","codicon",q0("skipped")),title:"skipped"}),f&&v.jsxs("div",{className:"action-icons",onClick:()=>r==null?void 0:r(),children:[!!g&&v.jsxs("div",{className:"action-icon",children:[v.jsx("span",{className:"codicon codicon-error"}),v.jsx("span",{className:"action-icon-value",children:g})]}),!!b&&v.jsxs("div",{className:"action-icon",children:[v.jsx("span",{className:"codicon codicon-warning"}),v.jsx("span",{className:"action-icon-value",children:b})]})]})]}),m&&v.jsx("div",{className:"action-title-selector",title:m,children:m})]})};function ad(n,e){var g;let i=n.title??((g=ed({type:n.class,method:n.method}))==null?void 0:g.title)??n.method;i=i.replace(/\n/g," ");const r=[],l=[];let o=0;const u=/\{([^}]+)\}/g;let f;for(;(f=u.exec(i))!==null;){const[b,m]=f,S=i.slice(o,f.index);r.push(S),l.push(S);const w=c0(n.params,m);w===void 0?(r.push(b),l.push(b)):f.index===0?(r.push(w),l.push(w)):(r.push(v.jsx("span",{className:"action-title-param",children:w},r.length)),l.push(w)),o=f.index+b.length}if(o<i.length){const b=i.slice(o);r.push(b),l.push(b)}const d=n.params.selector?z0("javascript",n.params.selector):void 0;return d&&(l.push(" "),l.push(d)),{elements:r,title:l.join("")}}const ld=({value:n,description:e})=>{const[i,r]=R.useState("copy"),l=R.useCallback(()=>{(typeof n=="function"?n():Promise.resolve(n)).then(u=>{navigator.clipboard.writeText(u).then(()=>{r("check"),setTimeout(()=>{r("copy")},3e3)},()=>{r("close")})},()=>{r("close")})},[n]);return v.jsx(ft,{title:e||"Copy",icon:i,onClick:l})},Qo=({value:n,description:e,copiedDescription:i=e,style:r})=>{const[l,o]=R.useState(!1),u=R.useCallback(async()=>{const f=typeof n=="function"?await n():n;await navigator.clipboard.writeText(f),o(!0),setTimeout(()=>o(!1),3e3)},[n]);return v.jsx(ft,{style:r,title:e,onClick:u,className:"copy-to-clipboard-text-button",children:l?i:e})},bs=({text:n})=>v.jsx("div",{className:"fill",style:{display:"flex",alignItems:"center",justifyContent:"center",fontSize:24,fontWeight:"bold",opacity:.5},children:n}),S_=({action:n,startTimeOffset:e,sdkLanguage:i})=>{const r=R.useMemo(()=>Object.keys((n==null?void 0:n.params)??{}).filter(f=>f!=="info"),[n]);if(!n)return v.jsx(bs,{text:"No action selected"});const l=n.startTime-e,o=St(l),{title:u}=ad(n);return v.jsxs("div",{className:"call-tab",children:[v.jsx("div",{className:"call-line",children:u}),v.jsx("div",{className:"call-section",children:"Time"}),Ro({name:"start",type:"literal",text:o}),Ro({name:"duration",type:"literal",text:w_(n)}),!!r.length&&v.jsxs(v.Fragment,{children:[v.jsx("div",{className:"call-section",children:"Parameters"}),r.map(f=>Ro(ub(n,f,n.params[f],i)))]}),!!n.result&&v.jsxs(v.Fragment,{children:[v.jsx("div",{className:"call-section",children:"Return value"}),Object.keys(n.result).map(f=>Ro(ub(n,f,n.result[f],i)))]})]})};function w_(n){return n.endTime?St(n.endTime-n.startTime):n.error?"Timed Out":"Running"}function Ro(n){let e=n.text;return e.length>1e3&&(e=e.slice(0,1e3)+"…"),e=e.replace(/\n/g,"↵"),n.type==="string"&&(e=`"${e}"`),v.jsxs("div",{className:"call-line",children:[n.name,":",v.jsx("span",{className:at("call-value",n.type),title:e,children:e}),["literal","string","number","object","locator"].includes(n.type)&&v.jsx(ld,{value:n.text})]},n.name)}function ub(n,e,i,r){const l=n.method.includes("eval")||n.method==="waitForFunction";if(e==="files")return{text:"<files>",type:"string",name:e};if((e==="eventInit"||e==="expectedValue"||e==="arg"&&l)&&(i=Pa(i.value,new Array(10).fill({handle:"<handle>"}))),e==="value"&&l&&(i=Pa(i,new Array(10).fill({handle:"<handle>"}))),e==="received"&&n.method==="expect"){const f=i&&typeof i=="object"&&("value"in i||"ariaSnapshot"in i)?i.value:i;i=f!==void 0?Pa(f,new Array(10).fill({handle:"<handle>"})):void 0}if(e==="selector")return{text:Di(r||"javascript",n.params.selector),type:"locator",name:"locator"};const o=typeof i;return o!=="object"||i===null?{text:String(i),type:o,name:e}:i.guid?{text:"<handle>",type:"handle",name:e}:{text:JSON.stringify(i),type:"object",name:e}}function Pa(n,e){if(n.n!==void 0)return n.n;if(n.s!==void 0)return n.s;if(n.b!==void 0)return n.b;if(n.v!==void 0){if(n.v==="undefined")return;if(n.v==="null")return null;if(n.v==="NaN")return NaN;if(n.v==="Infinity")return 1/0;if(n.v==="-Infinity")return-1/0;if(n.v==="-0")return-0}if(n.d!==void 0)return new Date(n.d);if(n.r!==void 0)return new RegExp(n.r.p,n.r.f);if(n.a!==void 0)return n.a.map(i=>Pa(i,e));if(n.o!==void 0){const i={};for(const{k:r,v:l}of n.o)i[r]=Pa(l,e);return i}return n.h!==void 0?e===void 0?"<object>":e[n.h]:"<object>"}const fb=new Map;function bc({name:n,items:e=[],id:i,render:r,icon:l,isError:o,isWarning:u,isInfo:f,selectedItem:d,onAccepted:g,onSelected:b,onHighlighted:m,onIconClicked:S,noItemsMessage:w,dataTestId:E,notSelectable:x,ariaLabel:_}){const A=R.useRef(null),[N,$]=R.useState();return R.useEffect(()=>{m==null||m(N)},[m,N]),R.useEffect(()=>{const G=A.current;if(!G)return;const X=()=>{fb.set(n,G.scrollTop)};return G.addEventListener("scroll",X,{passive:!0}),()=>G.removeEventListener("scroll",X)},[n]),R.useEffect(()=>{A.current&&(A.current.scrollTop=fb.get(n)||0)},[n]),v.jsx("div",{className:at("list-view vbox",n+"-list-view"),role:e.length>0?"listbox":void 0,"aria-label":_,children:v.jsxs("div",{className:at("list-view-content",x&&"not-selectable"),tabIndex:0,onKeyDown:G=>{var B;if(d&&G.key==="Enter"){g==null||g(d,e.indexOf(d));return}if(G.key!=="ArrowDown"&&G.key!=="ArrowUp")return;G.stopPropagation(),G.preventDefault();const X=d?e.indexOf(d):-1;let U=X;G.key==="ArrowDown"&&(X===-1?U=0:U=Math.min(X+1,e.length-1)),G.key==="ArrowUp"&&(X===-1?U=e.length-1:U=Math.max(X-1,0));const L=(B=A.current)==null?void 0:B.children.item(U);r0(L||void 0),m==null||m(void 0),b==null||b(e[U],U),$(void 0)},ref:A,children:[w&&e.length===0&&v.jsx("div",{className:"list-view-empty",children:w}),e.map((G,X)=>{const U=r(G,X);return v.jsxs("div",{onDoubleClick:()=>g==null?void 0:g(G,X),role:"option",className:at("list-view-entry",d===G&&"selected",!x&&N===G&&"highlighted",(o==null?void 0:o(G,X))&&"error",(u==null?void 0:u(G,X))&&"warning",(f==null?void 0:f(G,X))&&"info"),"aria-selected":d===G,onClick:()=>b==null?void 0:b(G,X),onMouseEnter:()=>$(G),onMouseLeave:()=>$(void 0),children:[l&&v.jsx("div",{className:"codicon "+(l(G,X)||"codicon-blank"),style:{minWidth:16,marginRight:4},onDoubleClick:L=>{L.preventDefault(),L.stopPropagation()},onClick:L=>{L.stopPropagation(),L.preventDefault(),S==null||S(G,X)}}),typeof U=="string"?v.jsx("div",{style:{textOverflow:"ellipsis",overflow:"hidden"},children:U}):U]},(i==null?void 0:i(G,X))||X)})]})})}const x_=bc,__=({action:n,isLive:e})=>{const i=R.useMemo(()=>{var u;if(!n||!n.log.length)return[];const r=n.log,l=n.context.wallTime-n.context.startTime,o=[];for(let f=0;f<r.length;++f){let d="";if(r[f].time!==-1){const g=(u=r[f])==null?void 0:u.time;f+1<r.length?d=St(r[f+1].time-g):n.endTime>0?d=St(n.endTime-g):e?d=St(Date.now()-l-g):d="-"}o.push({message:r[f].message,time:d})}return o},[n,e]);return i.length?v.jsx(x_,{name:"log",ariaLabel:"Log entries",items:i,render:r=>v.jsxs("div",{className:"log-list-item",children:[v.jsx("span",{className:"log-list-duration",children:r.time}),r.message]}),notSelectable:!0}):v.jsx(bs,{text:"No log entries"})};function sl(n,e){const i=/(\x1b\[(\d+(;\d+)*)m)|([^\x1b]+)/g,r=[];let l,o={},u=!1,f=e==null?void 0:e.fg,d=e==null?void 0:e.bg;for(;(l=i.exec(n))!==null;){const[,,g,,b]=l;if(g){const m=+g;switch(m){case 0:o={};break;case 1:o["font-weight"]="bold";break;case 2:o.opacity="0.8";break;case 3:o["font-style"]="italic";break;case 4:o["text-decoration"]="underline";break;case 7:u=!0;break;case 8:o.display="none";break;case 9:o["text-decoration"]="line-through";break;case 22:delete o["font-weight"],delete o["font-style"],delete o.opacity,delete o["text-decoration"];break;case 23:delete o["font-weight"],delete o["font-style"],delete o.opacity;break;case 24:delete o["text-decoration"];break;case 27:u=!1;break;case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:f=hb[m-30];break;case 39:f=e==null?void 0:e.fg;break;case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:d=hb[m-40];break;case 49:d=e==null?void 0:e.bg;break;case 53:o["text-decoration"]="overline";break;case 90:case 91:case 92:case 93:case 94:case 95:case 96:case 97:f=db[m-90];break;case 100:case 101:case 102:case 103:case 104:case 105:case 106:case 107:d=db[m-100];break}}else if(b){const m={...o},S=u?d:f;S!==void 0&&(m.color=S),u&&f&&(m["background-color"]=f),r.push(`<span style="${T_(m)}">${E_(b)}</span>`)}}return r.join("")}const hb={0:"var(--vscode-terminal-ansiBlack)",1:"var(--vscode-terminal-ansiRed)",2:"var(--vscode-terminal-ansiGreen)",3:"var(--vscode-terminal-ansiYellow)",4:"var(--vscode-terminal-ansiBlue)",5:"var(--vscode-terminal-ansiMagenta)",6:"var(--vscode-terminal-ansiCyan)",7:"var(--vscode-terminal-ansiWhite)"},db={0:"var(--vscode-terminal-ansiBrightBlack)",1:"var(--vscode-terminal-ansiBrightRed)",2:"var(--vscode-terminal-ansiBrightGreen)",3:"var(--vscode-terminal-ansiBrightYellow)",4:"var(--vscode-terminal-ansiBrightBlue)",5:"var(--vscode-terminal-ansiBrightMagenta)",6:"var(--vscode-terminal-ansiBrightCyan)",7:"var(--vscode-terminal-ansiBrightWhite)"};function E_(n){return n.replace(/[&"<>]/g,e=>({"&":"&amp;",'"':"&quot;","<":"&lt;",">":"&gt;"})[e])}function T_(n){return Object.entries(n).map(([e,i])=>`${e}: ${i}`).join("; ")}const A_=({error:n})=>{const e=R.useMemo(()=>sl(n,{bg:"var(--vscode-editor-background)",fg:"var(--vscode-editor-foreground)"}),[n]);return v.jsx("div",{className:"error-message",dangerouslySetInnerHTML:{__html:e||""}})},$0=({cursor:n,onPaneMouseMove:e,onPaneMouseUp:i,onPaneDoubleClick:r})=>(wt.useEffect(()=>{const l=document.createElement("div");return l.style.position="fixed",l.style.top="0",l.style.right="0",l.style.bottom="0",l.style.left="0",l.style.zIndex="9999",l.style.cursor=n,document.body.appendChild(l),e&&l.addEventListener("mousemove",e),i&&l.addEventListener("mouseup",i),r&&document.body.addEventListener("dblclick",r),()=>{e&&l.removeEventListener("mousemove",e),i&&l.removeEventListener("mouseup",i),r&&document.body.removeEventListener("dblclick",r),document.body.removeChild(l)}},[n,e,i,r]),v.jsx(v.Fragment,{})),C_={position:"absolute",top:0,right:0,bottom:0,left:0},I0=({orientation:n,offsets:e,setOffsets:i,resizerColor:r,resizerWidth:l,minColumnWidth:o})=>{const u=o||0,[f,d]=wt.useState(null),[g,b]=ys(),m={position:"absolute",right:n==="horizontal"?void 0:0,bottom:n==="horizontal"?0:void 0,width:n==="horizontal"?7:void 0,height:n==="horizontal"?void 0:7,borderTopWidth:n==="horizontal"?void 0:(7-l)/2,borderRightWidth:n==="horizontal"?(7-l)/2:void 0,borderBottomWidth:n==="horizontal"?void 0:(7-l)/2,borderLeftWidth:n==="horizontal"?(7-l)/2:void 0,borderColor:"transparent",borderStyle:"solid",cursor:n==="horizontal"?"ew-resize":"ns-resize"};return v.jsxs("div",{style:{position:"absolute",top:0,right:0,bottom:0,left:-(7-l)/2,zIndex:100,pointerEvents:"none"},ref:b,children:[!!f&&v.jsx($0,{cursor:n==="horizontal"?"ew-resize":"ns-resize",onPaneMouseUp:()=>d(null),onPaneMouseMove:S=>{if(!S.buttons)d(null);else if(f){const w=n==="horizontal"?S.clientX-f.clientX:S.clientY-f.clientY,E=f.offset+w,x=f.index>0?e[f.index-1]:0,_=n==="horizontal"?g.width:g.height,A=Math.min(Math.max(x+u,E),_-u)-e[f.index];for(let N=f.index;N<e.length;++N)e[N]=e[N]+A;i([...e])}}}),e.map((S,w)=>v.jsx("div",{style:{...m,top:n==="horizontal"?0:S,left:n==="horizontal"?S:0,pointerEvents:"initial"},onMouseDown:E=>d({clientX:E.clientX,clientY:E.clientY,offset:S,index:w}),children:v.jsx("div",{style:{...C_,background:r}})},w))]})};async function oh(n){const e=new Image;return n&&(e.src=n,await new Promise((i,r)=>{e.onload=i,e.onerror=i})),e}const Lh={backgroundImage:`linear-gradient(45deg, #80808020 25%, transparent 25%),
53 - linear-gradient(-45deg, #80808020 25%, transparent 25%),
54 - linear-gradient(45deg, transparent 75%, #80808020 75%),
55 - linear-gradient(-45deg, transparent 75%, #80808020 75%)`,backgroundSize:"20px 20px",backgroundPosition:"0 0, 0 10px, 10px -10px, -10px 0px",boxShadow:`rgb(0 0 0 / 10%) 0px 1.8px 1.9px,
56 - rgb(0 0 0 / 15%) 0px 6.1px 6.3px,
57 - rgb(0 0 0 / 10%) 0px -2px 4px,
58 - rgb(0 0 0 / 15%) 0px -6.1px 12px,
59 - rgb(0 0 0 / 25%) 0px 6px 12px`},N_=({diff:n,noTargetBlank:e,hideDetails:i})=>{const[r,l]=R.useState(n.diff?"diff":"actual"),[o,u]=R.useState(!1),[f,d]=R.useState(null),[g,b]=R.useState("Expected"),[m,S]=R.useState(null),[w,E]=R.useState(null),[x,_]=ys();R.useEffect(()=>{(async()=>{var O,ne,te,V;d(await oh((O=n.expected)==null?void 0:O.attachment.path)),b(((ne=n.expected)==null?void 0:ne.title)||"Expected"),S(await oh((te=n.actual)==null?void 0:te.attachment.path)),E(await oh((V=n.diff)==null?void 0:V.attachment.path))})()},[n]);const A=f&&m&&w,N=A?Math.max(f.naturalWidth,m.naturalWidth,200):500,$=A?Math.max(f.naturalHeight,m.naturalHeight,200):500,G=Math.min(1,(x.width-30)/N),X=Math.min(1,(x.width-50)/N/2),U=N*G,L=$*G,B={flex:"none",margin:"0 10px",cursor:"pointer",userSelect:"none"};return v.jsx("div",{"data-testid":"test-result-image-mismatch",style:{display:"flex",flexDirection:"column",alignItems:"center",flex:"auto"},ref:_,children:A&&v.jsxs(v.Fragment,{children:[v.jsxs("div",{"data-testid":"test-result-image-mismatch-tabs",style:{display:"flex",margin:"10px 0 20px"},children:[n.diff&&v.jsx("div",{style:{...B,fontWeight:r==="diff"?600:"initial"},onClick:()=>l("diff"),children:"Diff"}),v.jsx("div",{style:{...B,fontWeight:r==="actual"?600:"initial"},onClick:()=>l("actual"),children:"Actual"}),v.jsx("div",{style:{...B,fontWeight:r==="expected"?600:"initial"},onClick:()=>l("expected"),children:g}),v.jsx("div",{style:{...B,fontWeight:r==="sxs"?600:"initial"},onClick:()=>l("sxs"),children:"Side by side"}),v.jsx("div",{style:{...B,fontWeight:r==="slider"?600:"initial"},onClick:()=>l("slider"),children:"Slider"})]}),v.jsxs("div",{style:{display:"flex",justifyContent:"center",flex:"auto",minHeight:L+60},children:[n.diff&&r==="diff"&&v.jsx(Wn,{image:w,alt:"Diff",hideSize:i,canvasWidth:U,canvasHeight:L,scale:G}),n.diff&&r==="actual"&&v.jsx(Wn,{image:m,alt:"Actual",hideSize:i,canvasWidth:U,canvasHeight:L,scale:G}),n.diff&&r==="expected"&&v.jsx(Wn,{image:f,alt:g,hideSize:i,canvasWidth:U,canvasHeight:L,scale:G}),n.diff&&r==="slider"&&v.jsx(k_,{expectedImage:f,actualImage:m,hideSize:i,canvasWidth:U,canvasHeight:L,scale:G,expectedTitle:g}),n.diff&&r==="sxs"&&v.jsxs("div",{style:{display:"flex"},children:[v.jsx(Wn,{image:f,title:g,hideSize:i,canvasWidth:X*N,canvasHeight:X*$,scale:X}),v.jsx(Wn,{image:o?w:m,title:o?"Diff":"Actual",onClick:()=>u(!o),hideSize:i,canvasWidth:X*N,canvasHeight:X*$,scale:X})]}),!n.diff&&r==="actual"&&v.jsx(Wn,{image:m,title:"Actual",hideSize:i,canvasWidth:U,canvasHeight:L,scale:G}),!n.diff&&r==="expected"&&v.jsx(Wn,{image:f,title:g,hideSize:i,canvasWidth:U,canvasHeight:L,scale:G}),!n.diff&&r==="sxs"&&v.jsxs("div",{style:{display:"flex"},children:[v.jsx(Wn,{image:f,title:g,canvasWidth:X*N,canvasHeight:X*$,scale:X}),v.jsx(Wn,{image:m,title:"Actual",canvasWidth:X*N,canvasHeight:X*$,scale:X})]})]}),!i&&v.jsxs("div",{style:{alignSelf:"start",lineHeight:"18px",marginLeft:"15px"},children:[v.jsx("div",{children:n.diff&&v.jsx("a",{target:"_blank",href:n.diff.attachment.path,rel:"noreferrer",children:n.diff.attachment.name})}),v.jsx("div",{children:v.jsx("a",{target:e?"":"_blank",href:n.actual.attachment.path,rel:"noreferrer",children:n.actual.attachment.name})}),v.jsx("div",{children:v.jsx("a",{target:e?"":"_blank",href:n.expected.attachment.path,rel:"noreferrer",children:n.expected.attachment.name})})]})]})})},k_=({expectedImage:n,actualImage:e,canvasWidth:i,canvasHeight:r,scale:l,expectedTitle:o,hideSize:u})=>{const f={position:"absolute",top:0,left:0},[d,g]=R.useState(i/2),b=n.naturalWidth===e.naturalWidth&&n.naturalHeight===e.naturalHeight;return v.jsxs("div",{style:{flex:"none",display:"flex",alignItems:"center",flexDirection:"column",userSelect:"none"},children:[!u&&v.jsxs("div",{style:{margin:5},children:[!b&&v.jsx("span",{style:{flex:"none",margin:"0 5px"},children:"Actual "}),!b&&v.jsx("span",{children:e.naturalWidth}),!b&&v.jsx("span",{style:{flex:"none",margin:"0 5px"},children:"x"}),!b&&v.jsx("span",{children:e.naturalHeight}),!b&&v.jsxs("span",{style:{flex:"none",margin:"0 5px 0 15px"},children:[o," "]}),v.jsx("span",{children:n.naturalWidth}),v.jsx("span",{style:{flex:"none",margin:"0 5px"},children:"x"}),v.jsx("span",{children:n.naturalHeight})]}),v.jsxs("div",{style:{position:"relative",width:i,height:r,margin:15,...Lh},children:[v.jsx(I0,{orientation:"horizontal",offsets:[d],setOffsets:m=>g(m[0]),resizerColor:"#57606a80",resizerWidth:6}),v.jsx("img",{alt:o,style:{width:n.naturalWidth*l,height:n.naturalHeight*l},draggable:"false",src:n.src}),v.jsx("div",{style:{...f,bottom:0,overflow:"hidden",width:d,...Lh},children:v.jsx("img",{alt:"Actual",style:{width:e.naturalWidth*l,height:e.naturalHeight*l},draggable:"false",src:e.src})})]})]})},Wn=({image:n,title:e,alt:i,hideSize:r,canvasWidth:l,canvasHeight:o,scale:u,onClick:f})=>v.jsxs("div",{style:{flex:"none",display:"flex",alignItems:"center",flexDirection:"column"},children:[!r&&v.jsxs("div",{style:{margin:5},children:[e&&v.jsx("span",{style:{flex:"none",margin:"0 5px"},children:e}),v.jsx("span",{children:n.naturalWidth}),v.jsx("span",{style:{flex:"none",margin:"0 5px"},children:"x"}),v.jsx("span",{children:n.naturalHeight})]}),v.jsx("div",{style:{display:"flex",flex:"none",width:l,height:o,margin:15,...Lh},children:v.jsx("img",{width:n.naturalWidth*u,height:n.naturalHeight*u,alt:e||i,style:{cursor:f?"pointer":"initial"},draggable:"false",src:n.src,onClick:f})})]}),M_="modulepreload",O_=function(n,e){return new URL(n,e).href},pb={},j_=function(e,i,r){let l=Promise.resolve();if(i&&i.length>0){let u=function(b){return Promise.all(b.map(m=>Promise.resolve(m).then(S=>({status:"fulfilled",value:S}),S=>({status:"rejected",reason:S}))))};const f=document.getElementsByTagName("link"),d=document.querySelector("meta[property=csp-nonce]"),g=(d==null?void 0:d.nonce)||(d==null?void 0:d.getAttribute("nonce"));l=u(i.map(b=>{if(b=O_(b,r),b in pb)return;pb[b]=!0;const m=b.endsWith(".css"),S=m?'[rel="stylesheet"]':"";if(!!r)for(let x=f.length-1;x>=0;x--){const _=f[x];if(_.href===b&&(!m||_.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${b}"]${S}`))return;const E=document.createElement("link");if(E.rel=m?"stylesheet":M_,m||(E.as="script"),E.crossOrigin="",E.href=b,g&&E.setAttribute("nonce",g),document.head.appendChild(E),m)return new Promise((x,_)=>{E.addEventListener("load",x),E.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${b}`)))})}))}function o(u){const f=new Event("vite:preloadError",{cancelable:!0});if(f.payload=u,window.dispatchEvent(f),!f.defaultPrevented)throw u}return l.then(u=>{for(const f of u||[])f.status==="rejected"&&o(f.reason);return e().catch(o)})},L_=20,Ar=({text:n,highlighter:e,mimeType:i,linkify:r,readOnly:l,highlight:o,revealLine:u,lineNumbers:f,isFocused:d,focusOnChange:g,wrapLines:b,onChange:m,dataTestId:S,placeholder:w})=>{const[E,x]=ys(),[_]=R.useState(j_(()=>import("./codeMirrorModule-Ds_H_9Yq.js"),__vite__mapDeps([0,1,2]),import.meta.url).then(G=>G.default)),A=R.useRef(null),[N,$]=R.useState();return R.useEffect(()=>{(async()=>{var B,O;const G=await _;D_(G);const X=x.current;if(!X)return;const U=U_(e)||z_(i)||(r?"text/linkified":"");if(A.current&&U===A.current.cm.getOption("mode")&&!!l===A.current.cm.getOption("readOnly")&&f===A.current.cm.getOption("lineNumbers")&&b===A.current.cm.getOption("lineWrapping")&&w===A.current.cm.getOption("placeholder"))return;(O=(B=A.current)==null?void 0:B.cm)==null||O.getWrapperElement().remove();const L=G(X,{value:"",mode:U,readOnly:!!l,lineNumbers:f,lineWrapping:b,placeholder:w,matchBrackets:!0,autoCloseBrackets:!0,extraKeys:{"Ctrl-F":"findPersistent","Cmd-F":"findPersistent"}});return A.current={cm:L},d&&L.focus(),$(L),L})()},[_,N,x,e,i,r,f,b,l,d,w]),R.useEffect(()=>{A.current&&A.current.cm.setSize(E.width,E.height)},[E]),R.useLayoutEffect(()=>{var U;if(!N)return;let G=!1;if(N.getValue()!==n&&(N.setValue(n),G=!0,g&&(N.execCommand("selectAll"),N.focus())),G||JSON.stringify(o)!==JSON.stringify(A.current.highlight)){for(const O of A.current.highlight||[])N.removeLineClass(O.line-1,"wrap");for(const O of o||[])N.addLineClass(O.line-1,"wrap",`source-line-${O.type}`);for(const O of A.current.widgets||[])N.removeLineWidget(O);for(const O of A.current.markers||[])O.clear();const L=[],B=[];for(const O of o||[]){if(O.type!=="subtle-error"&&O.type!=="error")continue;const ne=(U=A.current)==null?void 0:U.cm.getLine(O.line-1);if(ne){const te={};te.title=O.message||"",B.push(N.markText({line:O.line-1,ch:0},{line:O.line-1,ch:O.column||ne.length},{className:"source-line-error-underline",attributes:te}))}if(O.type==="error"){const te=document.createElement("div");te.innerHTML=sl(O.message||"",{bg:"var(--vscode-inputValidation-errorBackground)",fg:"var(--vscode-editor-foreground)"}),te.className="source-line-error-widget",L.push(N.addLineWidget(O.line,te,{above:!0,coverGutter:!1}))}}A.current.highlight=o,A.current.widgets=L,A.current.markers=B}typeof u=="number"&&A.current.cm.lineCount()>=u&&N.scrollIntoView({line:Math.max(0,u-1),ch:0},50);let X;return m&&(X=()=>m(N.getValue()),N.on("change",X)),()=>{X&&N.off("change",X)}},[N,n,o,u,g,m]),v.jsx("div",{"data-testid":S,className:"cm-wrapper",ref:x,onClick:R_})};function R_(n){var i;if(!(n.target instanceof HTMLElement))return;let e;n.target.classList.contains("cm-linkified")?e=n.target.textContent:n.target.classList.contains("cm-link")&&((i=n.target.nextElementSibling)!=null&&i.classList.contains("cm-url"))&&(e=n.target.nextElementSibling.textContent.slice(1,-1)),e&&(n.preventDefault(),n.stopPropagation(),window.open(e,"_blank"))}let gb=!1;function D_(n){gb||(gb=!0,n.defineSimpleMode("text/linkified",{start:[{regex:a0,token:"linkified"}]}))}function z_(n){if(n){if(n.includes("javascript")||n.includes("json"))return"javascript";if(n.includes("python"))return"python";if(n.includes("csharp"))return"text/x-csharp";if(n.includes("java"))return"text/x-java";if(n.includes("markdown"))return"markdown";if(n.includes("html")||n.includes("svg"))return"htmlmixed";if(n.includes("css"))return"css"}}function U_(n){if(n)return{javascript:"javascript",jsonl:"javascript",python:"python",csharp:"text/x-csharp",java:"text/x-java",markdown:"markdown",html:"htmlmixed",css:"css",yaml:"yaml"}[n]}function H_(n){return!!n.match(/^(application\/json|application\/.*?\+json|text\/(x-)?json)(;\s*charset=.*)?$/)}function B_(n){return!!n.match(/^(application\/xml|application\/.*?\+xml|text\/xml)(;\s*charset=.*)?$/)}function q_(n){return!!n.match(/^(text\/.*?|application\/(json|(x-)?javascript|xml.*?|ecmascript|graphql|x-www-form-urlencoded)|image\/svg(\+xml)?|application\/.*?(\+json|\+xml))(;\s*charset=.*)?$/)}const V0=({title:n,children:e,setExpanded:i,expanded:r,expandOnTitleClick:l,className:o})=>{const u=R.useId(),f=R.useId(),d=R.useCallback(()=>i(!r),[r,i]),g=v.jsx("div",{className:at("codicon",r?"codicon-chevron-down":"codicon-chevron-right"),style:{cursor:"pointer",color:"var(--vscode-foreground)",marginLeft:"5px"},onClick:l?void 0:d});return v.jsxs("div",{className:at("expandable",r&&"expanded",o),children:[l?v.jsxs("div",{id:u,role:"button","aria-expanded":r,"aria-controls":f,className:"expandable-title",onClick:d,children:[g,n]}):v.jsxs("div",{className:"expandable-title",children:[g,n]}),r&&v.jsx("div",{id:f,"aria-labelledby":u,role:"region",className:"expandable-content",children:e})]})};function G0(n){const e=[];let i=0,r;for(;(r=a0.exec(n))!==null;){const o=n.substring(i,r.index);o&&e.push(o);const u=r[0];e.push($_(u)),i=r.index+u.length}const l=n.substring(i);return l&&e.push(l),e}function $_(n){let e=n;return e.startsWith("www.")&&(e="https://"+e),v.jsx("a",{href:e,target:"_blank",rel:"noopener noreferrer",children:n})}const K0=R.createContext(void 0),ri=()=>R.useContext(K0),I_=({attachment:n,reveal:e})=>{const i=ri(),[r,l]=R.useState(!1),[o,u]=R.useState(null),[f,d]=R.useState(null),[g,b]=hx(),m=R.useRef(null),S=q_(n.contentType),w=!!n.sha1||!!n.path;R.useEffect(()=>{var _;if(e)return(_=m.current)==null||_.scrollIntoView({behavior:"smooth"}),b()},[e,b]),R.useEffect(()=>{r&&o===null&&f===null&&(d("Loading ..."),fetch(vc(i,n)).then(_=>_.text()).then(_=>{u(_),d(null)}).catch(_=>{d("Failed to load: "+_.message)}))},[i,r,o,f,n]);const E=R.useMemo(()=>{const _=o?o.split(`
60 -`).length:0;return Math.min(Math.max(5,_),20)*L_},[o]),x=v.jsxs("span",{style:{marginLeft:5},ref:m,"aria-label":n.name,children:[v.jsx("span",{children:G0(n.name)}),w&&v.jsx("a",{style:{marginLeft:5},href:Po(i,n),children:"download"})]});return!S||!w?v.jsx("div",{style:{marginLeft:20},children:x}):v.jsxs("div",{className:at(g&&"yellow-flash"),children:[v.jsx(V0,{title:x,expanded:r,setExpanded:l,expandOnTitleClick:!0,children:f&&v.jsx("i",{children:f})}),r&&o!==null&&v.jsx("div",{className:"vbox",style:{height:E},children:v.jsx(Ar,{text:o,readOnly:!0,mimeType:n.contentType,linkify:!0,lineNumbers:!0,wrapLines:!1})})]})},V_=({revealedAttachmentCallId:n})=>{const e=ri(),{diffMap:i,screenshots:r,attachments:l}=R.useMemo(()=>{const o=new Set((e==null?void 0:e.visibleAttachments)??[]),u=new Set,f=new Map;for(const d of o){if(!d.path&&!d.sha1)continue;const g=d.name.match(/^(.*)-(expected|actual|diff)\.png$/);if(g){const b=g[1],m=g[2],S=f.get(b)||{expected:void 0,actual:void 0,diff:void 0};S[m]=d,f.set(b,S),o.delete(d)}else d.contentType.startsWith("image/")&&(u.add(d),o.delete(d))}return{diffMap:f,attachments:o,screenshots:u}},[e]);return!i.size&&!r.size&&!l.size?v.jsx(bs,{text:"No attachments"}):v.jsxs("div",{className:"attachments-tab",children:[[...i.values()].map(({expected:o,actual:u,diff:f})=>v.jsxs(v.Fragment,{children:[o&&u&&v.jsx("div",{className:"attachments-section",children:"Image diff"}),o&&u&&v.jsx(N_,{noTargetBlank:!0,diff:{name:"Image diff",expected:{attachment:{...o,path:Po(e,o)},title:"Expected"},actual:{attachment:{...u,path:Po(e,u)}},diff:f?{attachment:{...f,path:Po(e,f)}}:void 0}})]})),r.size?v.jsx("div",{className:"attachments-section",children:"Screenshots"}):void 0,[...r.values()].map((o,u)=>{const f=vc(e,o);return v.jsxs("div",{className:"attachment-item",children:[v.jsx("div",{children:v.jsx("img",{draggable:"false",src:f})}),v.jsx("div",{children:v.jsx("a",{target:"_blank",href:f,rel:"noreferrer",children:o.name})})]},`screenshot-${u}`)}),l.size?v.jsx("div",{className:"attachments-section",children:"Attachments"}):void 0,[...l.values()].map((o,u)=>v.jsx("div",{className:"attachment-item",children:v.jsx(I_,{attachment:o,reveal:n&&o.callId===n.callId?n:void 0})},G_(o,u)))]})};function vc(n,e){return n&&e.sha1?n.createRelativeUrl(`sha1/${e.sha1}`):`file?path=${encodeURIComponent(e.path)}`}function Po(n,e){let i=e.contentType?`&dn=${encodeURIComponent(e.name)}`:"";return e.contentType&&(i+=`&dct=${encodeURIComponent(e.contentType)}`),vc(n,e)+i}function G_(n,e){return e+"-"+(n.sha1?"sha1-"+n.sha1:"path-"+n.path)}const K_=({prompt:n})=>v.jsx(Qo,{value:n,description:"Copy prompt",copiedDescription:v.jsxs(v.Fragment,{children:["Copied ",v.jsx("span",{className:"codicon codicon-copy",style:{marginLeft:"5px"}})]}),style:{width:"120px",justifyContent:"center"}});function X_(n){return R.useMemo(()=>{if(!n)return{errors:new Map};const e=new Map;for(const i of n.errorDescriptors)e.set(i.message,i);return{errors:e}},[n])}function Y_({message:n,error:e,sdkLanguage:i,revealInSource:r}){var f;let l,o;const u=(f=e.stack)==null?void 0:f[0];return u&&(l=u.file.replace(/.*[/\\](.*)/,"$1")+":"+u.line,o=u.file+":"+u.line),v.jsxs("div",{style:{display:"flex",flexDirection:"column",overflowX:"clip"},children:[v.jsxs("div",{className:"hbox",style:{alignItems:"center",padding:"5px 10px",minHeight:36,fontWeight:"bold",color:"var(--vscode-errorForeground)",flex:0},children:[e.action&&rd(e.action,{sdkLanguage:i}),l&&v.jsxs("div",{className:"action-location",children:["@ ",v.jsx("span",{title:o,onClick:()=>r(e),children:l})]})]}),v.jsx(A_,{error:n})]})}const F_=({errorsModel:n,sdkLanguage:e,revealInSource:i,wallTime:r,testRunMetadata:l})=>{const o=ri(),u=Zh(async()=>{const f=o==null?void 0:o.attachments.find(g=>g.name==="error-context");if(!f)return;let d=await fetch(vc(o,f)).then(g=>g.text());if(d)return l!=null&&l.gitDiff&&(d+=`
61 -
62 -# Local changes
63 -
64 -\`\`\`diff
65 -`+l.gitDiff+"\n```"),d},[o,l],void 0);return n.errors.size?v.jsxs("div",{className:"fill",style:{overflow:"auto"},children:[v.jsx("span",{style:{position:"absolute",right:"5px",top:"5px",zIndex:1},children:u&&v.jsx(K_,{prompt:u})}),[...n.errors.entries()].map(([f,d])=>{const g=`error-${r}-${f}`;return v.jsx(Y_,{message:f,error:d,revealInSource:i,sdkLanguage:e},g)})]}):v.jsx(bs,{text:"No errors"})},Q_=bc,Da={log:{bg:"var(--vscode-editor-background)",fg:"var(--vscode-editor-foreground)"},warning:{fg:"var(--vscode-list-warningForeground)",bg:"var(--vscode-inputValidation-warningBackground)"},error:{fg:"var(--vscode-list-errorForeground)",bg:"var(--vscode-inputValidation-errorBackground)"}};function P_(n,e,i){const{entries:r}=R.useMemo(()=>{if(!n)return{entries:[]};const o=[];function u(d){var m,S,w,E,x,_;const g=o[o.length-1];g&&((m=d.browserMessage)==null?void 0:m.bodyString)===((S=g.browserMessage)==null?void 0:S.bodyString)&&((w=d.browserMessage)==null?void 0:w.location)===((E=g.browserMessage)==null?void 0:E.location)&&d.browserError===g.browserError&&((x=d.nodeMessage)==null?void 0:x.html)===((_=g.nodeMessage)==null?void 0:_.html)&&d.isError===g.isError&&d.isWarning===g.isWarning&&d.timestamp-g.timestamp<1e3?g.repeat++:o.push({...d,repeat:1})}const f=[...n.events,...n.stdio].sort((d,g)=>{const b="time"in d?d.time:d.timestamp,m="time"in g?g.time:g.timestamp;return b-m});for(const d of f){if(d.type==="console"){const g=d.messageType==="error"?Da.error:d.messageType==="warning"?Da.warning:Da.log,b=d.args&&d.args.length?Z_(d.args,g):X0(d.text,g),m=d.location.url,w=`${m?m.substring(m.lastIndexOf("/")+1):"<anonymous>"}:${d.location.lineNumber}`;u({browserMessage:{body:b,bodyString:d.text,location:w},isError:d.messageType==="error",isWarning:d.messageType==="warning",timestamp:d.time})}if(d.type==="event"&&d.method==="pageError"&&u({browserError:d.params.error,isError:!0,isWarning:!1,timestamp:d.time}),d.type==="stderr"||d.type==="stdout"){let g="";const b=d.type==="stderr"?Da.error:Da.log;d.text&&(g=sl(d.text.trim(),b)||""),d.base64&&(g=sl(atob(d.base64).trim(),b)||""),u({nodeMessage:{html:g},isError:d.type==="stderr",isWarning:!1,timestamp:d.timestamp})}}return{entries:o}},[n,i]);return{entries:R.useMemo(()=>e?r.filter(o=>o.timestamp>=e.minimum&&o.timestamp<=e.maximum):r,[r,e])}}const J_=({consoleModel:n,boundaries:e,onEntryHovered:i,onAccepted:r})=>n.entries.length?v.jsx("div",{className:"console-tab",children:v.jsx(Q_,{name:"console",onAccepted:r,onHighlighted:l=>i==null?void 0:i(l?n.entries.indexOf(l):void 0),items:n.entries,isError:l=>l.isError,isWarning:l=>l.isWarning,render:l=>{const o=St(l.timestamp-e.minimum),u=v.jsx("span",{className:"console-time",children:o}),f=l.isError?"status-error":l.isWarning?"status-warning":"status-none",d=l.browserMessage||l.browserError?v.jsx("span",{className:at("codicon","codicon-browser",f),title:"Browser message"}):v.jsx("span",{className:at("codicon","codicon-file",f),title:"Runner message"});let g,b,m,S;const{browserMessage:w,browserError:E,nodeMessage:x}=l;if(w&&(g=w.location,b=w.body),E){const{error:_,value:A}=E;_?(b=_.message,S=_.stack):b=String(A)}return x&&(m=x.html),v.jsxs("div",{className:"console-line",children:[u,d,g&&v.jsx("span",{className:"console-location",children:g}),l.repeat>1&&v.jsx("span",{className:"console-repeat",children:l.repeat}),b&&v.jsx("span",{className:"console-line-message",children:b}),m&&v.jsx("span",{className:"console-line-message",dangerouslySetInnerHTML:{__html:m}}),S&&v.jsx("div",{className:"console-stack",children:S})]})}})}):v.jsx(bs,{text:"No console entries"});function Z_(n,e){if(n.length===1)return X0(n[0].preview,e);const i=typeof n[0].value=="string"&&n[0].value.includes("%"),r=i?n[0].value:"",l=i?n.slice(1):n;let o=0;const u=/%([%sdifoOc])/g;let f;const d=[];let g=[];d.push(v.jsx("span",{children:g},d.length+1));let b=0;for(;(f=u.exec(r))!==null;){const m=r.substring(b,f.index);g.push(v.jsx("span",{children:m},g.length+1)),b=f.index+2;const S=f[0][1];if(S==="%")g.push(v.jsx("span",{children:"%"},g.length+1));else if(S==="s"||S==="o"||S==="O"||S==="d"||S==="i"||S==="f"){const w=l[o++],E={};typeof(w==null?void 0:w.value)!="string"&&(E.color="var(--vscode-debugTokenExpression-number)"),g.push(v.jsx("span",{style:E,children:(w==null?void 0:w.preview)||""},g.length+1))}else if(S==="c"){g=[];const w=l[o++],E=w?W_(w.preview):{};d.push(v.jsx("span",{style:E,children:g},d.length+1))}}for(b<r.length&&g.push(v.jsx("span",{children:r.substring(b)},g.length+1));o<l.length;o++){const m=l[o],S={};g.length&&g.push(v.jsx("span",{children:" "},g.length+1)),typeof(m==null?void 0:m.value)!="string"&&(S.color="var(--vscode-debugTokenExpression-number)"),g.push(v.jsx("span",{style:S,children:(m==null?void 0:m.preview)||""},g.length+1))}return d}function X0(n,e){return[v.jsx("span",{dangerouslySetInnerHTML:{__html:sl(n.trim(),e)}})]}function W_(n){try{const e={},i=n.split(";");for(const r of i){const l=r.trim();if(!l)continue;let[o,u]=l.split(":");if(o=o.trim(),u=u.trim(),!eE(o))continue;const f=o.replace(/-([a-z])/g,d=>d[1].toUpperCase());e[f]=u}return e}catch{return{}}}function eE(n){return["background","border","color","font","line","margin","padding","text"].some(i=>n.startsWith(i))}const Sc=({noShadow:n,children:e,noMinHeight:i,className:r,sidebarBackground:l,onClick:o})=>v.jsx("div",{className:at("toolbar",n&&"no-shadow",i&&"no-min-height",r,l&&"toolbar-sidebar-background"),onClick:o,children:e}),Rh=({tabs:n,selectedTab:e,setSelectedTab:i,leftToolbar:r,rightToolbar:l,dataTestId:o,mode:u})=>{const f=R.useId();return e||(e=n[0].id),u||(u="default"),v.jsx("div",{className:"tabbed-pane","data-testid":o,children:v.jsxs("div",{className:"vbox",children:[v.jsxs(Sc,{children:[r&&v.jsxs("div",{style:{flex:"none",display:"flex",margin:"0 4px",alignItems:"center"},children:[...r]}),u==="default"&&v.jsx("div",{style:{flex:"auto",display:"flex",height:"100%",overflow:"hidden"},role:"tablist",children:[...n.map(d=>v.jsx(Y0,{id:d.id,ariaControls:`${f}-${d.id}`,title:d.title,count:d.count,errorCount:d.errorCount,selected:e===d.id,onSelect:i},d.id))]}),u==="select"&&v.jsx("div",{style:{flex:"auto",display:"flex",height:"100%",overflow:"hidden"},role:"tablist",children:v.jsx("select",{style:{width:"100%",background:"none",cursor:"pointer"},value:e,onChange:d=>{i==null||i(n[d.currentTarget.selectedIndex].id)},children:n.map(d=>{let g="";return d.count&&(g=` (${d.count})`),d.errorCount&&(g=` (${d.errorCount})`),v.jsxs("option",{value:d.id,role:"tab","aria-controls":`${f}-${d.id}`,children:[d.title,g]},d.id)})})}),l&&v.jsxs("div",{style:{flex:"none",display:"flex",alignItems:"center"},children:[...l]})]}),n.map(d=>{const g="tab-content tab-"+d.id;if(d.component)return v.jsx("div",{id:`${f}-${d.id}`,role:"tabpanel","aria-label":d.title,className:g,style:{display:e===d.id?"inherit":"none"},children:d.component},d.id);if(e===d.id)return v.jsx("div",{id:`${f}-${d.id}`,role:"tabpanel","aria-label":d.title,className:g,children:d.render()},d.id)})]})})},Y0=({id:n,title:e,count:i,errorCount:r,selected:l,onSelect:o,ariaControls:u})=>v.jsxs("div",{className:at("tabbed-pane-tab",l&&"selected"),onClick:()=>o==null?void 0:o(n),role:"tab",title:e,"aria-controls":u,"aria-selected":l,children:[v.jsx("div",{className:"tabbed-pane-tab-label",children:e}),!!i&&v.jsx("div",{className:"tabbed-pane-tab-counter",children:i}),!!r&&v.jsx("div",{className:"tabbed-pane-tab-counter error",children:r})]});async function tE(n,e){const i=navigator.platform.includes("Win")?"win":"unix";let r=[];const l=new Set(["accept-encoding","host","method","path","scheme","version","authority","protocol"]);function o(S){return'^"'+S.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/[^a-zA-Z0-9\s_\-:=+~'\/.',?;()*`]/g,"^$&").replace(/%(?=[a-zA-Z0-9_])/g,"%^").replace(/[^ -~\r\n]/g," ").replace(/\r?\n|\r/g,`^
66 -
67 -`)+'^"'}function u(S){function w(E){let _=E.charCodeAt(0).toString(16);for(;_.length<4;)_="0"+_;return"\\u"+_}return/[\0-\x1F\x7F-\x9F!]|\'/.test(S)?"$'"+S.replace(/\\/g,"\\\\").replace(/\'/g,"\\'").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\0-\x1F\x7F-\x9F!]/g,w)+"'":"'"+S+"'"}const f=i==="win"?o:u;r.push(f(e.request.url).replace(/[[{}\]]/g,"\\$&"));let d="GET";const g=[],b=await F0(n,e);b&&(g.push("--data-raw "+f(b)),l.add("content-length"),d="POST"),e.request.method!==d&&r.push("-X "+f(e.request.method));const m=e.request.headers;for(let S=0;S<m.length;S++){const w=m[S],E=w.name.replace(/^:/,"");if(l.has(E.toLowerCase()))continue;const x=w.value;x.trim()?E.toLowerCase()==="cookie"?r.push("-b "+f(x)):r.push("-H "+f(E+": "+x)):r.push("-H "+f(E+";"))}return r=r.concat(g),"curl "+r.join(r.length>=3?i==="win"?` ^
68 - `:` \\
69 - `:" ")}async function nE(n,e,i=0){const r=new Set(["method","path","scheme","version","accept-charset","accept-encoding","access-control-request-headers","access-control-request-method","connection","content-length","cookie","cookie2","date","dnt","expect","host","keep-alive","origin","referer","te","trailer","transfer-encoding","upgrade","via","user-agent"]),l=new Set(["cookie","authorization"]),o=JSON.stringify(e.request.url),u=e.request.headers,f=u.reduce((x,_)=>{const A=_.name;return!r.has(A.toLowerCase())&&!A.includes(":")&&x.append(A,_.value),x},new Headers),d={};for(const x of f)d[x[0]]=x[1];const g=e.request.cookies.length||u.some(({name:x})=>l.has(x.toLowerCase()))?"include":"omit",b=u.find(({name:x})=>x.toLowerCase()==="referer"),m=b?b.value:void 0,S=await F0(n,e),w={headers:Object.keys(d).length?d:void 0,referrer:m,body:S,method:e.request.method,mode:"cors"};if(i===1){const x=u.find(A=>A.name.toLowerCase()==="cookie"),_={};delete w.mode,x&&(_.cookie=x.value),m&&(delete w.referrer,_.Referer=m),Object.keys(_).length&&(w.headers={...d,..._})}else w.credentials=g;const E=JSON.stringify(w,null,2);return`fetch(${o}, ${E});`}async function F0(n,e){var i,r;return n&&((i=e.request.postData)!=null&&i._sha1)?await fetch(n.createRelativeUrl(`sha1/${e.request.postData._sha1}`)).then(l=>l.text()):(r=e.request.postData)==null?void 0:r.text}class iE{generatePlaywrightRequestCall(e,i){let r=e.method.toLowerCase();const l=new URL(e.url),o=`${l.origin}${l.pathname}`,u={};["delete","get","head","post","put","patch"].includes(r)||(u.method=r,r="fetch"),l.searchParams.size&&(u.params=Object.fromEntries(l.searchParams.entries())),i&&(u.data=i),e.headers.length&&(u.headers=Object.fromEntries(e.headers.map(g=>[g.name,g.value])));const f=[`'${o}'`];return Object.keys(u).length>0&&f.push(this.prettyPrintObject(u)),`await page.request.${r}(${f.join(", ")});`}prettyPrintObject(e,i=2,r=0){if(e===null)return"null";if(e===void 0)return"undefined";if(typeof e!="object")return typeof e=="string"?this.stringLiteral(e):String(e);if(Array.isArray(e)){if(e.length===0)return"[]";const f=" ".repeat(r*i),d=" ".repeat((r+1)*i);return`[
70 -${e.map(b=>`${d}${this.prettyPrintObject(b,i,r+1)}`).join(`,
71 -`)}
72 -${f}]`}if(Object.keys(e).length===0)return"{}";const l=" ".repeat(r*i),o=" ".repeat((r+1)*i);return`{
73 -${Object.entries(e).map(([f,d])=>{const g=this.prettyPrintObject(d,i,r+1),b=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(f)?f:this.stringLiteral(f);return`${o}${b}: ${g}`}).join(`,
74 -`)}
75 -${l}}`}stringLiteral(e){return e=e.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),e.includes(`
76 -`)||e.includes("\r")||e.includes(" ")?"`"+e+"`":`'${e}'`}}class sE{generatePlaywrightRequestCall(e,i){const r=new URL(e.url),o=[`"${`${r.origin}${r.pathname}`}"`];let u=e.method.toLowerCase();["delete","get","head","post","put","patch"].includes(u)||(o.push(`method="${u}"`),u="fetch"),r.searchParams.size&&o.push(`params=${this.prettyPrintObject(Object.fromEntries(r.searchParams.entries()))}`),i&&o.push(`data=${this.prettyPrintObject(i)}`),e.headers.length&&o.push(`headers=${this.prettyPrintObject(Object.fromEntries(e.headers.map(d=>[d.name,d.value])))}`);const f=o.length===1?o[0]:`
77 -${o.map(d=>this.indent(d,2)).join(`,
78 -`)}
79 -`;return`await page.request.${u}(${f})`}indent(e,i){return e.split(`
80 -`).map(r=>" ".repeat(i)+r).join(`
81 -`)}prettyPrintObject(e,i=2,r=0){if(e===null||e===void 0)return"None";if(typeof e!="object")return typeof e=="string"?this.stringLiteral(e):typeof e=="boolean"?e?"True":"False":String(e);if(Array.isArray(e)){if(e.length===0)return"[]";const f=" ".repeat(r*i),d=" ".repeat((r+1)*i);return`[
82 -${e.map(b=>`${d}${this.prettyPrintObject(b,i,r+1)}`).join(`,
83 -`)}
84 -${f}]`}if(Object.keys(e).length===0)return"{}";const l=" ".repeat(r*i),o=" ".repeat((r+1)*i);return`{
85 -${Object.entries(e).map(([f,d])=>{const g=this.prettyPrintObject(d,i,r+1);return`${o}${this.stringLiteral(f)}: ${g}`}).join(`,
86 -`)}
87 -${l}}`}stringLiteral(e){return JSON.stringify(e)}}class rE{generatePlaywrightRequestCall(e,i){const r=new URL(e.url),l=`${r.origin}${r.pathname}`,o={},u=[];let f=e.method.toLowerCase();["delete","get","head","post","put","patch"].includes(f)||(o.Method=f,f="fetch"),r.searchParams.size&&(o.Params=Object.fromEntries(r.searchParams.entries())),i&&(o.Data=i),e.headers.length&&(o.Headers=Object.fromEntries(e.headers.map(b=>[b.name,b.value])));const d=[`"${l}"`];return Object.keys(o).length>0&&d.push(this.prettyPrintObject(o)),`${u.join(`
88 -`)}${u.length?`
89 -`:""}await request.${this.toFunctionName(f)}(${d.join(", ")});`}toFunctionName(e){return e[0].toUpperCase()+e.slice(1)+"Async"}prettyPrintObject(e,i=2,r=0){if(e===null||e===void 0)return"null";if(typeof e!="object")return typeof e=="string"?this.stringLiteral(e):typeof e=="boolean"?e?"true":"false":String(e);if(Array.isArray(e)){if(e.length===0)return"new object[] {}";const f=" ".repeat(r*i),d=" ".repeat((r+1)*i);return`new object[] {
90 -${e.map(b=>`${d}${this.prettyPrintObject(b,i,r+1)}`).join(`,
91 -`)}
92 -${f}}`}if(Object.keys(e).length===0)return"new {}";const l=" ".repeat(r*i),o=" ".repeat((r+1)*i);return`new() {
93 -${Object.entries(e).map(([f,d])=>{const g=this.prettyPrintObject(d,i,r+1),b=r===0?f:`[${this.stringLiteral(f)}]`;return`${o}${b} = ${g}`}).join(`,
94 -`)}
95 -${l}}`}stringLiteral(e){return JSON.stringify(e)}}class aE{generatePlaywrightRequestCall(e,i){const r=new URL(e.url),l=[`"${r.origin}${r.pathname}"`],o=[];let u=e.method.toLowerCase();["delete","get","head","post","put","patch"].includes(u)||(o.push(`setMethod("${u}")`),u="fetch");for(const[f,d]of r.searchParams)o.push(`setQueryParam(${this.stringLiteral(f)}, ${this.stringLiteral(d)})`);i&&o.push(`setData(${this.stringLiteral(i)})`);for(const f of e.headers)o.push(`setHeader(${this.stringLiteral(f.name)}, ${this.stringLiteral(f.value)})`);return o.length>0&&l.push(`RequestOptions.create()
96 - .${o.join(`
97 - .`)}
98 -`),`request.${u}(${l.join(", ")});`}stringLiteral(e){return JSON.stringify(e)}}function lE(n){if(n==="javascript")return new iE;if(n==="python")return new sE;if(n==="csharp")return new rE;if(n==="java")return new aE;throw new Error("Unsupported language: "+n)}const oE=({resource:n,sdkLanguage:e,startTimeOffset:i,onClose:r})=>{const[l,o]=R.useState("headers"),u=ri(),f=Zh(async()=>{if(u&&n.request.postData){const d=n.request.headers.find(b=>b.name.toLowerCase()==="content-type"),g=d?d.value:"";return n.request.postData._sha1?{text:await(await fetch(u.createRelativeUrl(`sha1/${n.request.postData._sha1}`))).text(),mimeType:g}:{text:n.request.postData.text,mimeType:g}}else return null},[n],null);return v.jsx(Rh,{leftToolbar:[v.jsx(ft,{icon:"close",title:"Close",onClick:r},"close")],rightToolbar:[v.jsx(cE,{requestBody:f,resource:n,sdkLanguage:e},"dropdown")],tabs:[{id:"headers",title:"Headers",render:()=>v.jsx(uE,{resource:n,startTimeOffset:i})},{id:"payload",title:"Payload",render:()=>v.jsx(fE,{resource:n,requestBody:f})},{id:"response",title:"Response",render:()=>v.jsx(hE,{resource:n})}],selectedTab:l,setSelectedTab:o})},cE=({resource:n,sdkLanguage:e,requestBody:i})=>{const r=ri(),l=v.jsxs(v.Fragment,{children:[v.jsx("span",{className:"codicon codicon-check",style:{marginRight:"5px"}})," Copied "]}),o=async()=>lE(e).generatePlaywrightRequestCall(n.request,i==null?void 0:i.text);return v.jsxs("div",{className:"copy-request-dropdown",children:[v.jsxs(ft,{className:"copy-request-dropdown-toggle",children:[v.jsx("span",{className:"codicon codicon-copy",style:{marginRight:"5px"}}),"Copy request",v.jsx("span",{className:"codicon codicon-chevron-down",style:{marginLeft:"5px"}})]}),v.jsxs("div",{className:"copy-request-dropdown-menu",children:[v.jsx(Qo,{description:"Copy as cURL",copiedDescription:l,value:()=>tE(r,n)}),v.jsx(Qo,{description:"Copy as Fetch",copiedDescription:l,value:()=>nE(r,n)}),v.jsx(Qo,{description:"Copy as Playwright",copiedDescription:l,value:o})]})]})},Q0=({toggled:n,error:e,onToggle:i})=>v.jsx(ft,{icon:"json",title:"Pretty print",toggled:n,errorBadge:e?"Formatting failed":void 0,onClick:r=>{r.stopPropagation(),i()}}),Ja=({title:n,data:e,showCount:i,children:r,titleChildren:l,className:o})=>{const[u,f]=Gt(`trace-viewer-network-details-${n.replaceAll(" ","-")}`,!0);return v.jsxs(V0,{expanded:u,setExpanded:f,expandOnTitleClick:!0,title:v.jsxs(v.Fragment,{children:[v.jsxs("span",{className:"network-request-details-header",children:[n,i&&v.jsxs("span",{className:"network-request-details-header-count",children:[" × ",(e==null?void 0:e.length)??0]})]}),l]}),className:o,children:[e&&v.jsx("table",{className:"network-request-details-table",children:v.jsx("tbody",{children:e.map(({name:d,value:g},b)=>g!==null&&v.jsxs("tr",{children:[v.jsx("td",{children:d}),v.jsx("td",{children:g})]},b))})}),r]})},uE=({resource:n,startTimeOffset:e})=>{const i=R.useMemo(()=>Object.entries({URL:n.request.url,Method:n.request.method,"Status Code":n.response.status===-1?"canceled":n.response.status>0&&v.jsxs("span",{className:pE(n.response.status),children:[" ",n.response.status," ",n.response.statusText]}),Start:St(e),Duration:St(n.time)}).map(([r,l])=>({name:r,value:l})),[n,e]);return v.jsxs("div",{className:"vbox network-request-details-tab",children:[v.jsx(Ja,{title:"General",data:i}),v.jsx(Ja,{title:"Request Headers",showCount:!0,data:n.request.headers}),v.jsx(Ja,{title:"Response Headers",showCount:!0,data:n.response.headers})]})},fE=({resource:n,requestBody:e})=>{const[i,r]=Gt("trace-viewer-network-details-show-formatted-payload",!0),l=n.request.queryString.length>0,o=!!(e||n.request.postData),u=P0(e,i);return v.jsxs("div",{className:"vbox network-request-details-tab",children:[!l&&!o&&v.jsx("em",{className:"network-request-no-payload",children:"No payload for this request."}),l&&v.jsx(Ja,{title:"Query String Parameters",showCount:!0,data:n.request.queryString}),e&&v.jsx(Ja,{title:"Request Body",className:"network-request-request-body",titleChildren:v.jsxs(v.Fragment,{children:[v.jsx("div",{style:{margin:"auto"}}),v.jsx(Q0,{toggled:i,error:u.error,onToggle:()=>r(!i)})]}),children:v.jsx(Ar,{text:u.text,mimeType:e.mimeType,readOnly:!0,lineNumbers:!0})})]})},hE=({resource:n})=>{const e=ri(),[i,r]=R.useState(null);R.useEffect(()=>{(async()=>{if(e&&n.response.content._sha1){const d=n.response.content.mimeType.includes("image"),g=n.response.content.mimeType.includes("font"),b=await fetch(e.createRelativeUrl(`sha1/${n.response.content._sha1}`));if(d){const m=await b.blob(),S=new FileReader,w=new Promise(E=>S.onload=E);S.readAsDataURL(m),r({dataUrl:(await w).target.result})}else if(g){const m=await b.arrayBuffer();r({font:m})}else r({text:await b.text(),mimeType:n.response.content.mimeType})}else r(null)})()},[n,e]);const[l,o]=Gt("trace-viewer-network-details-show-formatted-response",!0),u=P0(i,l);return v.jsxs("div",{className:"vbox network-request-details-tab",children:[!n.response.content._sha1&&v.jsx("div",{children:"Response body is not available for this request."}),i&&i.font&&v.jsx(dE,{font:i.font}),i&&i.dataUrl&&v.jsx("div",{children:v.jsx("img",{draggable:"false",src:i.dataUrl})}),i&&i.text!==void 0&&v.jsxs("div",{className:"vbox network-response-body",children:[v.jsx(Ar,{text:u.text,mimeType:i.mimeType,readOnly:!0,lineNumbers:!0}),v.jsxs(Sc,{noShadow:!0,noMinHeight:!0,className:"network-response-toolbar",children:[v.jsx("div",{style:{margin:"auto"}}),v.jsx(Q0,{toggled:l,error:u.error,onToggle:()=>o(!l)})]})]})]})},dE=({font:n})=>{const[e,i]=R.useState(!1);return R.useEffect(()=>{let r;try{r=new FontFace("font-preview",n),r.status==="loaded"&&document.fonts.add(r),r.status==="error"&&i(!0)}catch{i(!0)}return()=>{document.fonts.delete(r)}},[n]),e?v.jsx("div",{className:"network-font-preview-error",children:"Could not load font preview"}):v.jsxs("div",{className:"network-font-preview",children:["ABCDEFGHIJKLM",v.jsx("br",{}),"NOPQRSTUVWXYZ",v.jsx("br",{}),"abcdefghijklm",v.jsx("br",{}),"nopqrstuvwxyz",v.jsx("br",{}),"1234567890"]})};function pE(n){return n<300||n===304?"green-circle":n<400?"yellow-circle":"red-circle"}const gE=/<[^>]+>[^<]*<\//;function mE(n,e=" "){let i=0;const r=[],l=n.replace(/>\s*</g,`>
99 -<`).split(`
100 -`);for(const o of l){const u=o.trim();u&&(u.startsWith("</")?(i=Math.max(i-1,0),r.push(e.repeat(i)+u)):u.endsWith("/>")||u.startsWith("<?")||gE.test(u)?r.push(e.repeat(i)+u):u.startsWith("<")?(r.push(e.repeat(i)+u),i++):r.push(e.repeat(i)+u))}return r.join(`
101 -`)}function yE(n,e){return!n.trim()||!e?n:H_(e)?JSON.stringify(JSON.parse(n),null,2):B_(e)?mE(n):e.includes("application/x-www-form-urlencoded")?decodeURIComponent(n):n}const P0=(n,e)=>R.useMemo(()=>{if((n==null?void 0:n.text)===void 0)return{text:""};if(!e)return{text:n.text};try{return{text:yE(n.text,n.mimeType)}}catch{return{text:n.text,error:!0}}},[n,e]);function bE(n){const[e,i]=R.useState([]);R.useEffect(()=>{const o=[];for(let u=0;u<n.columns.length-1;++u){const f=n.columns[u];o[u]=(o[u-1]||0)+n.columnWidths.get(f)}i(o)},[n.columns,n.columnWidths]);function r(o){const u=new Map(n.columnWidths.entries());for(let f=0;f<o.length;++f){const d=o[f]-(o[f-1]||0),g=n.columns[f];u.set(g,d)}n.setColumnWidths(u)}const l=R.useCallback(o=>{var u,f;(f=n.setSorting)==null||f.call(n,{by:o,negate:((u=n.sorting)==null?void 0:u.by)===o?!n.sorting.negate:!1})},[n]);return v.jsxs("div",{className:`grid-view ${n.name}-grid-view`,children:[v.jsx(I0,{orientation:"horizontal",offsets:e,setOffsets:r,resizerColor:"var(--vscode-panel-border)",resizerWidth:1,minColumnWidth:25}),v.jsxs("div",{className:"vbox",children:[v.jsx("div",{className:"grid-view-header",children:n.columns.map((o,u)=>v.jsxs("div",{className:"grid-view-header-cell "+vE(o,n.sorting),style:{width:u<n.columns.length-1?n.columnWidths.get(o):void 0},onClick:()=>n.setSorting&&l(o),children:[v.jsx("span",{className:"grid-view-header-cell-title",children:n.columnTitle(o)}),v.jsx("span",{className:"codicon codicon-triangle-up"}),v.jsx("span",{className:"codicon codicon-triangle-down"})]},n.columnTitle(o)))}),v.jsx(bc,{name:n.name,items:n.items,ariaLabel:n.ariaLabel,id:n.id,render:(o,u)=>v.jsx(v.Fragment,{children:n.columns.map((f,d)=>{const{body:g,title:b}=n.render(o,f,u);return v.jsx("div",{className:`grid-view-cell grid-view-column-${String(f)}`,title:b,style:{width:d<n.columns.length-1?n.columnWidths.get(f):void 0},children:g},n.columnTitle(f))})}),icon:n.icon,isError:n.isError,isWarning:n.isWarning,isInfo:n.isInfo,selectedItem:n.selectedItem,onAccepted:n.onAccepted,onSelected:n.onSelected,onHighlighted:n.onHighlighted,onIconClicked:n.onIconClicked,noItemsMessage:n.noItemsMessage,dataTestId:n.dataTestId,notSelectable:n.notSelectable})]})]})}function vE(n,e){return n===(e==null?void 0:e.by)?" filter-"+(e.negate?"negative":"positive"):""}const SE=["Fetch","HTML","JS","CSS","Font","Image"],wE={searchValue:"",resourceTypes:new Set},xE=({filterState:n,onFilterStateChange:e})=>v.jsxs("div",{className:"network-filters",children:[v.jsx("input",{type:"search",placeholder:"Filter network",spellCheck:!1,value:n.searchValue,onChange:i=>e({...n,searchValue:i.target.value})}),v.jsxs("div",{className:"network-filters-resource-types",role:"tablist","aria-multiselectable":"true",children:[v.jsx("div",{title:"All",onClick:()=>e({...n,resourceTypes:new Set}),className:`network-filters-resource-type ${n.resourceTypes.size===0?"selected":""}`,children:"All"}),SE.map(i=>v.jsx("div",{title:i,onClick:r=>{let l;r.ctrlKey||r.metaKey?l=n.resourceTypes.symmetricDifference(new Set([i])):l=new Set([i]),e({...n,resourceTypes:l})},className:`network-filters-resource-type ${n.resourceTypes.has(i)?"selected":""}`,role:"tab","aria-selected":n.resourceTypes.has(i),children:i},i))]})]}),_E=bE;function EE(n,e,i){const r=R.useMemo(()=>((n==null?void 0:n.resources)||[]).filter(f=>e?!!f._monotonicTime&&f._monotonicTime>=e.minimum&&f._monotonicTime<=e.maximum:!0),[n,e,i]),l=R.useMemo(()=>new ME(n),[n]);return{resources:r,contextIdMap:l}}const TE=({boundaries:n,networkModel:e,onResourceHovered:i,sdkLanguage:r})=>{const[l,o]=R.useState(void 0),[u,f]=R.useState(void 0),[d,g]=R.useState(wE),{renderedEntries:b}=R.useMemo(()=>{const _=e.resources.map(A=>OE(A,n,e.contextIdMap)).filter(zE(d));return l&&LE(_,l),{renderedEntries:_}},[e.resources,e.contextIdMap,d,l,n]),m=R.useMemo(()=>u?b.find(_=>_.resource.id===u):void 0,[u,b]),[S,w]=R.useState(()=>new Map(J0().map(_=>[_,CE(_)]))),E=R.useCallback(_=>{g(_),f(void 0)},[]);if(!e.resources.length)return v.jsx(bs,{text:"No network calls"});const x=v.jsx(_E,{name:"network",ariaLabel:"Network requests",items:b,selectedItem:m,onSelected:_=>f(_.resource.id),onHighlighted:_=>i==null?void 0:i(_==null?void 0:_.resource.id),columns:NE(!!m,b),columnTitle:AE,columnWidths:S,setColumnWidths:w,isError:_=>_.status.code>=400||_.status.code===-1,isInfo:_=>!!_.route,render:(_,A)=>kE(_,A),sorting:l,setSorting:o});return v.jsxs(v.Fragment,{children:[v.jsx(xE,{filterState:d,onFilterStateChange:E}),!m&&x,m&&v.jsx(sc,{sidebarSize:S.get("name"),sidebarIsFirst:!0,orientation:"horizontal",settingName:"networkResourceDetails",main:v.jsx(oE,{resource:m.resource,sdkLanguage:r,startTimeOffset:m.start,onClose:()=>f(void 0)}),sidebar:x})]})},AE=n=>n==="contextId"?"Source":n==="name"?"Name":n==="method"?"Method":n==="status"?"Status":n==="contentType"?"Content Type":n==="duration"?"Duration":n==="size"?"Size":n==="start"?"Start":n==="route"?"Route":"",CE=n=>n==="name"?200:n==="method"||n==="status"?60:n==="contentType"?200:n==="contextId"?60:100;function NE(n,e){if(n){const r=["name"];return mb(e)&&r.unshift("contextId"),r}let i=J0();return mb(e)||(i=i.filter(r=>r!=="contextId")),i}function J0(){return["contextId","name","method","status","contentType","duration","size","start","route"]}const kE=(n,e)=>e==="contextId"?{body:n.contextId,title:n.name.url}:e==="name"?{body:n.name.name,title:n.name.url}:e==="method"?{body:n.method}:e==="status"?{body:n.status.code===-1?"canceled":n.status.code>0?n.status.code:"",title:n.status.code===-1?"canceled":n.status.text}:e==="contentType"?{body:n.contentType}:e==="duration"?{body:St(n.duration)}:e==="size"?{body:Bx(n.size)}:e==="start"?{body:St(n.start)}:e==="route"?{body:n.route}:{body:""};class ME{constructor(e){this._pagerefToShortId=new Map,this._contextToId=new Map,this._lastPageId=0,this._lastApiRequestContextId=0}contextId(e){return e.pageref?this._pageId(e.pageref):e._apiRequest?this._apiRequestContextId(e):""}_pageId(e){let i=this._pagerefToShortId.get(e);return i||(++this._lastPageId,i="page#"+this._lastPageId,this._pagerefToShortId.set(e,i)),i}_apiRequestContextId(e){const i=p0(e);if(!i)return"";let r=this._contextToId.get(i);return r||(++this._lastApiRequestContextId,r="api#"+this._lastApiRequestContextId,this._contextToId.set(i,r)),r}}function mb(n){const e=new Set;for(const i of n)if(e.add(i.contextId),e.size>1)return!0;return!1}const OE=(n,e,i)=>{const r=jE(n);let l;try{const f=new URL(n.request.url);l=f.pathname.substring(f.pathname.lastIndexOf("/")+1),l||(l=f.host),f.search&&(l+=f.search)}catch{l=n.request.url}let o=n.response.content.mimeType;const u=o.match(/^(.*);\s*charset=.*$/);return u&&(o=u[1]),{name:{name:l,url:n.request.url},method:n.request.method,status:{code:n.response.status,text:n.response.statusText},contentType:o,duration:n.time,size:n.response._transferSize>0?n.response._transferSize:n.response.bodySize,start:n._monotonicTime-e.minimum,route:r,resource:n,contextId:i.contextId(n)}};function jE(n){return n._wasAborted?"aborted":n._wasContinued?"continued":n._wasFulfilled?"fulfilled":n._apiRequest?"api":""}function LE(n,e){const i=RE(e==null?void 0:e.by);i&&n.sort(i),e.negate&&n.reverse()}function RE(n){if(n==="start")return(e,i)=>e.start-i.start;if(n==="duration")return(e,i)=>e.duration-i.duration;if(n==="status")return(e,i)=>e.status.code-i.status.code;if(n==="method")return(e,i)=>{const r=e.method,l=i.method;return r.localeCompare(l)};if(n==="size")return(e,i)=>e.size-i.size;if(n==="contentType")return(e,i)=>e.contentType.localeCompare(i.contentType);if(n==="name")return(e,i)=>e.name.name.localeCompare(i.name.name);if(n==="route")return(e,i)=>e.route.localeCompare(i.route);if(n==="contextId")return(e,i)=>e.contextId.localeCompare(i.contextId)}const DE={Fetch:n=>n==="application/json",HTML:n=>n==="text/html",CSS:n=>n==="text/css",JS:n=>n.includes("javascript"),Font:n=>n.includes("font"),Image:n=>n.includes("image")};function zE({searchValue:n,resourceTypes:e}){return i=>(e.size===0||Array.from(e).some(l=>DE[l](i.contentType)))&&i.name.url.toLowerCase().includes(n.toLowerCase())}function UE(n,e){if(n.role!==e.role||n.name!==e.name||!HE(n,e)||oc(n)!==oc(e))return!1;const i=Object.keys(n.props),r=Object.keys(e.props);return i.length===r.length&&i.every(l=>n.props[l]===e.props[l])}function oc(n){return n.box.cursor==="pointer"}function HE(n,e){return n.active===e.active&&n.checked===e.checked&&n.disabled===e.disabled&&n.expanded===e.expanded&&n.selected===e.selected&&n.level===e.level&&n.pressed===e.pressed}function od(n,e,i={}){var S;const r=new n.LineCounter,l={keepSourceTokens:!0,lineCounter:r,...i},o=n.parseDocument(e,l),u=[],f=w=>[r.linePos(w[0]),r.linePos(w[1])],d=w=>{u.push({message:w.message,range:[r.linePos(w.pos[0]),r.linePos(w.pos[1])]})},g=(w,E)=>{for(const x of E.items){if(x instanceof n.Scalar&&typeof x.value=="string"){const N=cc.parse(x,l,u);N&&(w.children=w.children||[],w.children.push(N));continue}if(x instanceof n.YAMLMap){b(w,x);continue}u.push({message:"Sequence items should be strings or maps",range:f(x.range||E.range)})}},b=(w,E)=>{for(const x of E.items){if(w.children=w.children||[],!(x.key instanceof n.Scalar&&typeof x.key.value=="string")){u.push({message:"Only string keys are supported",range:f(x.key.range||E.range)});continue}const A=x.key,N=x.value;if(A.value==="text"){if(!(N instanceof n.Scalar&&typeof N.value=="string")){u.push({message:"Text value should be a string",range:f(x.value.range||E.range)});continue}w.children.push({kind:"text",text:ch(N.value)});continue}if(A.value==="/children"){if(!(N instanceof n.Scalar&&typeof N.value=="string")||N.value!=="contain"&&N.value!=="equal"&&N.value!=="deep-equal"){u.push({message:'Strict value should be "contain", "equal" or "deep-equal"',range:f(x.value.range||E.range)});continue}w.containerMode=N.value;continue}if(A.value.startsWith("/")){if(!(N instanceof n.Scalar&&typeof N.value=="string")){u.push({message:"Property value should be a string",range:f(x.value.range||E.range)});continue}w.props=w.props??{},w.props[A.value.slice(1)]=ch(N.value);continue}const $=cc.parse(A,l,u);if(!$)continue;if(N instanceof n.Scalar){const U=typeof N.value;if(U!=="string"&&U!=="number"&&U!=="boolean"){u.push({message:"Node value should be a string or a sequence",range:f(x.value.range||E.range)});continue}w.children.push({...$,children:[{kind:"text",text:ch(String(N.value))}]});continue}if(N instanceof n.YAMLSeq){w.children.push($),g($,N);continue}u.push({message:"Map values should be strings or sequences",range:f(x.value.range||E.range)})}},m={kind:"role",role:"fragment"};return o.errors.forEach(d),u.length?{errors:u,fragment:m}:(o.contents instanceof n.YAMLSeq||u.push({message:'Aria snapshot must be a YAML sequence, elements starting with " -"',range:o.contents?f(o.contents.range):[{line:0,col:0},{line:0,col:0}]}),u.length?{errors:u,fragment:m}:(g(m,o.contents),u.length?{errors:u,fragment:BE}:((S=m.children)==null?void 0:S.length)===1&&(!m.containerMode||m.containerMode==="contain")?{fragment:m.children[0],errors:[]}:{fragment:m,errors:[]}))}const BE={kind:"role",role:"fragment"};function Z0(n){return n.replace(/[\u200b\u00ad]/g,"").replace(/[\r\n\s\t]+/g," ").trim()}function ch(n){return{raw:n,normalized:Z0(n)}}class cc{static parse(e,i,r){try{return new cc(e.value)._parse()}catch(l){if(l instanceof yb){const o=i.prettyErrors===!1?l.message:l.message+`:
102 -
103 -`+e.value+`
104 -`+" ".repeat(l.pos)+`^
105 -`;return r.push({message:o,range:[i.lineCounter.linePos(e.range[0]),i.lineCounter.linePos(e.range[0]+l.pos)]}),null}throw l}}constructor(e){this._input=e,this._pos=0,this._length=e.length}_peek(){return this._input[this._pos]||""}_next(){return this._pos<this._length?this._input[this._pos++]:null}_eof(){return this._pos>=this._length}_isWhitespace(){return!this._eof()&&/\s/.test(this._peek())}_skipWhitespace(){for(;this._isWhitespace();)this._pos++}_readIdentifier(e){this._eof()&&this._throwError(`Unexpected end of input when expecting ${e}`);const i=this._pos;for(;!this._eof()&&/[a-zA-Z]/.test(this._peek());)this._pos++;return this._input.slice(i,this._pos)}_readString(){let e="",i=!1;for(;!this._eof();){const r=this._next();if(i)e+=r,i=!1;else if(r==="\\")i=!0;else{if(r==='"')return e;e+=r}}this._throwError("Unterminated string")}_throwError(e,i=0){throw new yb(e,i||this._pos)}_readRegex(){let e="",i=!1,r=!1;for(;!this._eof();){const l=this._next();if(i)e+=l,i=!1;else if(l==="\\")i=!0,e+=l;else{if(l==="/"&&!r)return{pattern:e};l==="["?(r=!0,e+=l):l==="]"&&r?(e+=l,r=!1):e+=l}}this._throwError("Unterminated regex")}_readStringOrRegex(){const e=this._peek();return e==='"'?(this._next(),Z0(this._readString())):e==="/"?(this._next(),this._readRegex()):null}_readAttributes(e){let i=this._pos;for(;this._skipWhitespace(),this._peek()==="[";){this._next(),this._skipWhitespace(),i=this._pos;const r=this._readIdentifier("attribute");this._skipWhitespace();let l="";if(this._peek()==="=")for(this._next(),this._skipWhitespace(),i=this._pos;this._peek()!=="]"&&!this._isWhitespace()&&!this._eof();)l+=this._next();this._skipWhitespace(),this._peek()!=="]"&&this._throwError("Expected ]"),this._next(),this._applyAttribute(e,r,l||"true",i)}}_parse(){this._skipWhitespace();const e=this._readIdentifier("role");this._skipWhitespace();const i=this._readStringOrRegex()||"",r={kind:"role",role:e,name:i};return this._readAttributes(r),this._skipWhitespace(),this._eof()||this._throwError("Unexpected input"),r}_applyAttribute(e,i,r,l){if(i==="checked"){this._assert(r==="true"||r==="false"||r==="mixed",'Value of "checked" attribute must be a boolean or "mixed"',l),e.checked=r==="true"?!0:r==="false"?!1:"mixed";return}if(i==="disabled"){this._assert(r==="true"||r==="false",'Value of "disabled" attribute must be a boolean',l),e.disabled=r==="true";return}if(i==="expanded"){this._assert(r==="true"||r==="false",'Value of "expanded" attribute must be a boolean',l),e.expanded=r==="true";return}if(i==="active"){this._assert(r==="true"||r==="false",'Value of "active" attribute must be a boolean',l),e.active=r==="true";return}if(i==="level"){this._assert(!isNaN(Number(r)),'Value of "level" attribute must be a number',l),e.level=Number(r);return}if(i==="pressed"){this._assert(r==="true"||r==="false"||r==="mixed",'Value of "pressed" attribute must be a boolean or "mixed"',l),e.pressed=r==="true"?!0:r==="false"?!1:"mixed";return}if(i==="selected"){this._assert(r==="true"||r==="false",'Value of "selected" attribute must be a boolean',l),e.selected=r==="true";return}this._assert(!1,`Unsupported attribute [${i}]`,l)}_assert(e,i,r){e||this._throwError(i||"Assertion error",r)}}class yb extends Error{constructor(e,i){super(e),this.pos=i}}function qE(n,e){var u,f;function i(d,g,b){let m=1,S=b+m;for(const w of d.children||[])typeof w=="string"?(m++,S++):(m+=i(w,g,S),S+=m);if(!["none","presentation","fragment","iframe","generic"].includes(d.role)&&d.name){let w=g.get(d.role);w||(w=new Map,g.set(d.role,w));const E=w.get(d.name),x=m*100-b;(!E||E.sizeAndPosition<x)&&w.set(d.name,{node:d,sizeAndPosition:x})}return m}const r=new Map;n&&i(n,r,0);const l=new Map;i(e,l,0);const o=[];for(const[d,g]of l)for(const[b,m]of g)((u=r.get(d))==null?void 0:u.get(b))||o.push(m);return o.sort((d,g)=>g.sizeAndPosition-d.sizeAndPosition),(f=o[0])==null?void 0:f.node}function $E(n){return W0(n)?"'"+n.replace(/'/g,"''")+"'":n}function uh(n){return W0(n)?'"'+n.replace(/[\\"\x00-\x1f\x7f-\x9f]/g,e=>{switch(e){case"\\":return"\\\\";case'"':return'\\"';case"\b":return"\\b";case"\f":return"\\f";case`
106 -`:return"\\n";case"\r":return"\\r";case" ":return"\\t";default:return"\\x"+e.charCodeAt(0).toString(16).padStart(2,"0")}})+'"':n}function W0(n){return!!(n.length===0||/^\s|\s$/.test(n)||/[\x00-\x08\x0b\x0c\x0e-\x1f\x7f-\x9f]/.test(n)||/^-/.test(n)||/[\n:](\s|$)/.test(n)||/\s#/.test(n)||/[\n\r]/.test(n)||/^[&*\],?!>|@"'#%]/.test(n)||/[{}`]/.test(n)||/^\[/.test(n)||!isNaN(Number(n))||["y","n","yes","no","true","false","on","off","null"].includes(n.toLowerCase()))}let ev={};function IE(n){ev=n}function Dh(n,e){for(;e;){if(n.contains(e))return!0;e=nv(e)}return!1}function Et(n){if(n.parentElement)return n.parentElement;if(n.parentNode&&n.parentNode.nodeType===11&&n.parentNode.host)return n.parentNode.host}function tv(n){let e=n;for(;e.parentNode;)e=e.parentNode;if(e.nodeType===11||e.nodeType===9)return e}function nv(n){for(;n.parentElement;)n=n.parentElement;return Et(n)}function Va(n,e,i){for(;n;){const r=n.closest(e);if(i&&r!==i&&(r!=null&&r.contains(i)))return;if(r)return r;n=nv(n)}}function Hi(n,e){const i=e==="::before"?ud:e==="::after"?fd:cd;if(i&&i.has(n))return i.get(n);const r=n.ownerDocument&&n.ownerDocument.defaultView?n.ownerDocument.defaultView.getComputedStyle(n,e):void 0;return i==null||i.set(n,r),r}function iv(n,e){if(e=e??Hi(n),!e)return!0;if(Element.prototype.checkVisibility&&ev.browserNameForWorkarounds!=="webkit"){if(!n.checkVisibility())return!1}else{const i=n.closest("details,summary");if(i!==n&&(i==null?void 0:i.nodeName)==="DETAILS"&&!i.open)return!1}return e.visibility==="visible"}function uc(n){const e=Hi(n);if(!e)return{visible:!0,inline:!1};const i=e.cursor;if(e.display==="contents"){for(let l=n.firstChild;l;l=l.nextSibling){if(l.nodeType===1&&ni(l))return{visible:!0,inline:!1,cursor:i};if(l.nodeType===3&&sv(l))return{visible:!0,inline:!0,cursor:i}}return{visible:!1,inline:!1,cursor:i}}if(!iv(n,e))return{cursor:i,visible:!1,inline:!1};const r=n.getBoundingClientRect();return{cursor:i,visible:r.width>0&&r.height>0,inline:e.display==="inline"}}function ni(n){return uc(n).visible}function sv(n){const e=n.ownerDocument.createRange();e.selectNode(n);const i=e.getBoundingClientRect();return i.width>0&&i.height>0}function We(n){const e=n.tagName;return typeof e=="string"?e.toUpperCase():n instanceof HTMLFormElement?"FORM":n.tagName.toUpperCase()}let cd,ud,fd,rv=0;function hd(){++rv,cd??(cd=new Map),ud??(ud=new Map),fd??(fd=new Map)}function dd(){--rv||(cd=void 0,ud=void 0,fd=void 0)}function bb(n){return n.hasAttribute("aria-label")||n.hasAttribute("aria-labelledby")}const vb="article:not([role]), aside:not([role]), main:not([role]), nav:not([role]), section:not([role]), [role=article], [role=complementary], [role=main], [role=navigation], [role=region]",VE=[["aria-atomic",void 0],["aria-busy",void 0],["aria-controls",void 0],["aria-current",void 0],["aria-describedby",void 0],["aria-details",void 0],["aria-dropeffect",void 0],["aria-flowto",void 0],["aria-grabbed",void 0],["aria-hidden",void 0],["aria-keyshortcuts",void 0],["aria-label",["caption","code","deletion","emphasis","generic","insertion","paragraph","presentation","strong","subscript","superscript"]],["aria-labelledby",["caption","code","deletion","emphasis","generic","insertion","paragraph","presentation","strong","subscript","superscript"]],["aria-live",void 0],["aria-owns",void 0],["aria-relevant",void 0],["aria-roledescription",["generic"]]];function av(n,e){return VE.some(([i,r])=>!(r!=null&&r.includes(e||""))&&n.hasAttribute(i))}function lv(n){return!Number.isNaN(Number(String(n.getAttribute("tabindex"))))}function GE(n){return!vv(n)&&(KE(n)||lv(n))}function KE(n){const e=We(n);return["BUTTON","DETAILS","SELECT","TEXTAREA"].includes(e)?!0:e==="A"||e==="AREA"?n.hasAttribute("href"):e==="INPUT"?!n.hidden:!1}const fh={A:n=>n.hasAttribute("href")?"link":null,AREA:n=>n.hasAttribute("href")?"link":null,ARTICLE:()=>"article",ASIDE:()=>"complementary",BLOCKQUOTE:()=>"blockquote",BUTTON:()=>"button",CAPTION:()=>"caption",CODE:()=>"code",DATALIST:()=>"listbox",DD:()=>"definition",DEL:()=>"deletion",DETAILS:()=>"group",DFN:()=>"term",DIALOG:()=>"dialog",DT:()=>"term",EM:()=>"emphasis",FIELDSET:()=>"group",FIGURE:()=>"figure",FOOTER:n=>Va(n,vb)?null:"contentinfo",FORM:n=>bb(n)?"form":null,H1:()=>"heading",H2:()=>"heading",H3:()=>"heading",H4:()=>"heading",H5:()=>"heading",H6:()=>"heading",HEADER:n=>Va(n,vb)?null:"banner",HR:()=>"separator",HTML:()=>"document",IMG:n=>n.getAttribute("alt")===""&&!n.getAttribute("title")&&!av(n)&&!lv(n)?"presentation":"img",INPUT:n=>{const e=n.type.toLowerCase();if(e==="search")return n.hasAttribute("list")?"combobox":"searchbox";if(["email","tel","text","url",""].includes(e)){const i=Or(n,n.getAttribute("list"))[0];return i&&We(i)==="DATALIST"?"combobox":"textbox"}return e==="hidden"?null:e==="file"?"button":lT[e]||"textbox"},INS:()=>"insertion",LI:()=>"listitem",MAIN:()=>"main",MARK:()=>"mark",MATH:()=>"math",MENU:()=>"list",METER:()=>"meter",NAV:()=>"navigation",OL:()=>"list",OPTGROUP:()=>"group",OPTION:()=>"option",OUTPUT:()=>"status",P:()=>"paragraph",PROGRESS:()=>"progressbar",SEARCH:()=>"search",SECTION:n=>bb(n)?"region":null,SELECT:n=>n.hasAttribute("multiple")||n.size>1?"listbox":"combobox",STRONG:()=>"strong",SUB:()=>"subscript",SUP:()=>"superscript",SVG:()=>"img",TABLE:()=>"table",TBODY:()=>"rowgroup",TD:n=>{const e=Va(n,"table"),i=e?pd(e):"";return i==="grid"||i==="treegrid"?"gridcell":"cell"},TEXTAREA:()=>"textbox",TFOOT:()=>"rowgroup",TH:n=>{const e=n.getAttribute("scope");if(e==="col"||e==="colgroup")return"columnheader";if(e==="row"||e==="rowgroup")return"rowheader";const i=n.nextElementSibling,r=n.previousElementSibling,l=n.parentElement&&We(n.parentElement)==="TR"?n.parentElement:void 0;if(!i&&!r){if(l){const o=Va(l,"table");if(o&&o.rows.length<=1)return null}return"columnheader"}return Sb(i)&&Sb(r)?"columnheader":wb(i)||wb(r)?"rowheader":"columnheader"},THEAD:()=>"rowgroup",TIME:()=>"time",TR:()=>"row",UL:()=>"list"};function Sb(n){return!!n&&We(n)==="TH"}function wb(n){var e;return!n||We(n)!=="TD"?!1:!!((e=n.textContent)!=null&&e.trim()||n.children.length>0)}const XE={DD:["DL","DIV"],DIV:["DL"],DT:["DL","DIV"],LI:["OL","UL"],TBODY:["TABLE"],TD:["TR"],TFOOT:["TABLE"],TH:["TR"],THEAD:["TABLE"],TR:["THEAD","TBODY","TFOOT","TABLE"]};function xb(n){var r;const e=((r=fh[We(n)])==null?void 0:r.call(fh,n))||"";if(!e)return null;let i=n;for(;i;){const l=Et(i),o=XE[We(i)];if(!o||!l||!o.includes(We(l)))break;const u=pd(l);if((u==="none"||u==="presentation")&&!ov(l,u))return u;i=l}return e}const YE=["alert","alertdialog","application","article","banner","blockquote","button","caption","cell","checkbox","code","columnheader","combobox","complementary","contentinfo","definition","deletion","dialog","directory","document","emphasis","feed","figure","form","generic","grid","gridcell","group","heading","img","insertion","link","list","listbox","listitem","log","main","mark","marquee","math","meter","menu","menubar","menuitem","menuitemcheckbox","menuitemradio","navigation","none","note","option","paragraph","presentation","progressbar","radio","radiogroup","region","row","rowgroup","rowheader","scrollbar","search","searchbox","separator","slider","spinbutton","status","strong","subscript","superscript","switch","tab","table","tablist","tabpanel","term","textbox","time","timer","toolbar","tooltip","tree","treegrid","treeitem"];function pd(n){return(n.getAttribute("role")||"").split(" ").map(i=>i.trim()).find(i=>YE.includes(i))||null}function ov(n,e){return av(n,e)||GE(n)}function xt(n){const e=pd(n);if(!e)return xb(n);if(e==="none"||e==="presentation"){const i=xb(n);if(ov(n,i))return i}return e}function cv(n){return n===null?void 0:n.toLowerCase()==="true"}function uv(n){return["STYLE","SCRIPT","NOSCRIPT","TEMPLATE"].includes(We(n))}function pn(n){if(uv(n))return!0;const e=Hi(n),i=n.nodeName==="SLOT";if((e==null?void 0:e.display)==="contents"&&!i){for(let l=n.firstChild;l;l=l.nextSibling)if(l.nodeType===1&&!pn(l)||l.nodeType===3&&sv(l))return!1;return!0}return!(n.nodeName==="OPTION"&&!!n.closest("select"))&&!i&&!iv(n,e)?!0:fv(n)}function fv(n){let e=Li==null?void 0:Li.get(n);if(e===void 0){if(e=!1,n.parentElement&&n.parentElement.shadowRoot&&!n.assignedSlot&&(e=!0),!e){const i=Hi(n);e=!i||i.display==="none"||cv(n.getAttribute("aria-hidden"))===!0}if(!e){const i=Et(n);i&&(e=fv(i))}Li==null||Li.set(n,e)}return e}function Or(n,e){if(!e)return[];const i=tv(n);if(!i)return[];try{const r=e.split(" ").filter(o=>!!o),l=[];for(const o of r){const u=i.querySelector("#"+CSS.escape(o));u&&!l.includes(u)&&l.push(u)}return l}catch{return[]}}function ei(n){return n.trim()}function Za(n){return n.split(" ").map(e=>e.replace(/\r\n/g,`
107 -`).replace(/[\u200b\u00ad]/g,"").replace(/\s\s*/g," ")).join(" ").trim()}function _b(n,e){const i=[...n.querySelectorAll(e)];for(const r of Or(n,n.getAttribute("aria-owns")))r.matches(e)&&i.push(r),i.push(...r.querySelectorAll(e));return i}function Wa(n,e){const i=e==="::before"?Ad:e==="::after"?Cd:Td;if(i!=null&&i.has(n))return i==null?void 0:i.get(n);const r=Hi(n,e);let l;if(r){const o=r.content;o&&o!=="none"&&o!=="normal"&&r.display!=="none"&&r.visibility!=="hidden"&&(l=FE(n,o,!!e))}return e&&l!==void 0&&((r==null?void 0:r.display)||"inline")!=="inline"&&(l=" "+l+" "),i&&i.set(n,l),l}function FE(n,e,i){if(!(!e||e==="none"||e==="normal"))try{let r=g0(e).filter(f=>!(f instanceof rc));const l=r.findIndex(f=>f instanceof vt&&f.value==="/");if(l!==-1)r=r.slice(l+1);else if(!i)return;const o=[];let u=0;for(;u<r.length;)if(r[u]instanceof sd)o.push(r[u].value),u++;else if(u+2<r.length&&r[u]instanceof Fa&&r[u].value==="attr"&&r[u+1]instanceof id&&r[u+2]instanceof nd){const f=r[u+1].value;o.push(n.getAttribute(f)||""),u+=3}else return;return o.join("")}catch{}}function hv(n){const e=n.getAttribute("aria-labelledby");if(e===null)return null;const i=Or(n,e);return i.length?i:null}function QE(n,e){const i=["button","cell","checkbox","columnheader","gridcell","heading","link","menuitem","menuitemcheckbox","menuitemradio","option","radio","row","rowheader","switch","tab","tooltip","treeitem"].includes(n),r=e&&["","caption","code","contentinfo","definition","deletion","emphasis","insertion","list","listitem","mark","none","paragraph","presentation","region","row","rowgroup","section","strong","subscript","superscript","table","term","time"].includes(n);return i||r}function rl(n,e){const i=e?xd:wd;let r=i==null?void 0:i.get(n);return r===void 0&&(r="",["caption","code","definition","deletion","emphasis","generic","insertion","mark","paragraph","presentation","strong","subscript","suggestion","superscript","term","time"].includes(xt(n)||"")||(r=Za(_n(n,{includeHidden:e,visitedElements:new Set,embeddedInTargetElement:"self"}))),i==null||i.set(n,r)),r}function al(n,e){const i=e?Ed:_d;let r=i==null?void 0:i.get(n);if(r===void 0){if(r="",n.hasAttribute("aria-describedby")){const l=Or(n,n.getAttribute("aria-describedby"));r=Za(l.map(o=>_n(o,{includeHidden:e,visitedElements:new Set,embeddedInDescribedBy:{element:o,hidden:pn(o)}})).join(" "))}else n.hasAttribute("aria-description")?r=Za(n.getAttribute("aria-description")||""):r=Za(n.getAttribute("title")||"");i==null||i.set(n,r)}return r}function PE(n){const e=n.getAttribute("aria-invalid");return!e||e.trim()===""||e.toLocaleLowerCase()==="false"?"false":e==="true"||e==="grammar"||e==="spelling"?e:"true"}function JE(n){if("validity"in n){const e=n.validity;return(e==null?void 0:e.valid)===!1}return!1}function ZE(n){const e=mr;let i=mr==null?void 0:mr.get(n);if(i===void 0){i="";const r=PE(n)!=="false",l=JE(n);if(r||l){const o=n.getAttribute("aria-errormessage");i=Or(n,o).map(d=>Za(_n(d,{visitedElements:new Set,embeddedInDescribedBy:{element:d,hidden:pn(d)}}))).join(" ").trim()}e==null||e.set(n,i)}return i}function _n(n,e){var d,g,b,m;if(e.visitedElements.has(n))return"";const i={...e,embeddedInTargetElement:e.embeddedInTargetElement==="self"?"descendant":e.embeddedInTargetElement};if(!e.includeHidden){const S=!!((d=e.embeddedInLabelledBy)!=null&&d.hidden)||!!((g=e.embeddedInDescribedBy)!=null&&g.hidden)||!!((b=e.embeddedInNativeTextAlternative)!=null&&b.hidden)||!!((m=e.embeddedInLabel)!=null&&m.hidden);if(uv(n)||!S&&pn(n))return e.visitedElements.add(n),""}const r=hv(n);if(!e.embeddedInLabelledBy){const S=(r||[]).map(w=>_n(w,{...e,embeddedInLabelledBy:{element:w,hidden:pn(w)},embeddedInDescribedBy:void 0,embeddedInTargetElement:void 0,embeddedInLabel:void 0,embeddedInNativeTextAlternative:void 0})).join(" ");if(S)return S}const l=xt(n)||"",o=We(n);if(e.embeddedInLabel||e.embeddedInLabelledBy||e.embeddedInTargetElement==="descendant"){const S=[...n.labels||[]].includes(n),w=(r||[]).includes(n);if(!S&&!w){if(l==="textbox")return e.visitedElements.add(n),o==="INPUT"||o==="TEXTAREA"?n.value:n.textContent||"";if(["combobox","listbox"].includes(l)){e.visitedElements.add(n);let E;if(o==="SELECT")E=[...n.selectedOptions],!E.length&&n.options.length&&E.push(n.options[0]);else{const x=l==="combobox"?_b(n,"*").find(_=>xt(_)==="listbox"):n;E=x?_b(x,'[aria-selected="true"]').filter(_=>xt(_)==="option"):[]}return!E.length&&o==="INPUT"?n.value:E.map(x=>_n(x,i)).join(" ")}if(["progressbar","scrollbar","slider","spinbutton","meter"].includes(l))return e.visitedElements.add(n),n.hasAttribute("aria-valuetext")?n.getAttribute("aria-valuetext")||"":n.hasAttribute("aria-valuenow")?n.getAttribute("aria-valuenow")||"":n.getAttribute("value")||"";if(["menu"].includes(l))return e.visitedElements.add(n),""}}const u=n.getAttribute("aria-label")||"";if(ei(u))return e.visitedElements.add(n),u;if(!["presentation","none"].includes(l)){if(o==="INPUT"&&["button","submit","reset"].includes(n.type)){e.visitedElements.add(n);const S=n.value||"";return ei(S)?S:n.type==="submit"?"Submit":n.type==="reset"?"Reset":n.getAttribute("title")||""}if(o==="INPUT"&&n.type==="file"){e.visitedElements.add(n);const S=n.labels||[];return S.length&&!e.embeddedInLabelledBy?za(S,e):"Choose File"}if(o==="INPUT"&&n.type==="image"){e.visitedElements.add(n);const S=n.labels||[];if(S.length&&!e.embeddedInLabelledBy)return za(S,e);const w=n.getAttribute("alt")||"";if(ei(w))return w;const E=n.getAttribute("title")||"";return ei(E)?E:"Submit"}if(!r&&o==="BUTTON"){e.visitedElements.add(n);const S=n.labels||[];if(S.length)return za(S,e)}if(!r&&o==="OUTPUT"){e.visitedElements.add(n);const S=n.labels||[];return S.length?za(S,e):n.getAttribute("title")||""}if(!r&&(o==="TEXTAREA"||o==="SELECT"||o==="INPUT")){e.visitedElements.add(n);const S=n.labels||[];if(S.length)return za(S,e);const w=o==="INPUT"&&["text","password","search","tel","email","url"].includes(n.type)||o==="TEXTAREA",E=n.getAttribute("placeholder")||"",x=n.getAttribute("title")||"";return!w||x?x:E}if(!r&&o==="FIELDSET"){e.visitedElements.add(n);for(let w=n.firstElementChild;w;w=w.nextElementSibling)if(We(w)==="LEGEND")return _n(w,{...i,embeddedInNativeTextAlternative:{element:w,hidden:pn(w)}});return n.getAttribute("title")||""}if(!r&&o==="FIGURE"){e.visitedElements.add(n);for(let w=n.firstElementChild;w;w=w.nextElementSibling)if(We(w)==="FIGCAPTION")return _n(w,{...i,embeddedInNativeTextAlternative:{element:w,hidden:pn(w)}});return n.getAttribute("title")||""}if(o==="IMG"){e.visitedElements.add(n);const S=n.getAttribute("alt")||"";return ei(S)?S:n.getAttribute("title")||""}if(o==="TABLE"){e.visitedElements.add(n);for(let w=n.firstElementChild;w;w=w.nextElementSibling)if(We(w)==="CAPTION")return _n(w,{...i,embeddedInNativeTextAlternative:{element:w,hidden:pn(w)}});const S=n.getAttribute("summary")||"";if(S)return S}if(o==="AREA"){e.visitedElements.add(n);const S=n.getAttribute("alt")||"";return ei(S)?S:n.getAttribute("title")||""}if(o==="SVG"||n.ownerSVGElement){e.visitedElements.add(n);for(let S=n.firstElementChild;S;S=S.nextElementSibling)if(We(S)==="TITLE"&&S.ownerSVGElement)return _n(S,{...i,embeddedInLabelledBy:{element:S,hidden:pn(S)}})}if(n.ownerSVGElement&&o==="A"){const S=n.getAttribute("xlink:title")||"";if(ei(S))return e.visitedElements.add(n),S}}const f=o==="SUMMARY"&&!["presentation","none"].includes(l);if(QE(l,e.embeddedInTargetElement==="descendant")||f||e.embeddedInLabelledBy||e.embeddedInDescribedBy||e.embeddedInLabel||e.embeddedInNativeTextAlternative){e.visitedElements.add(n);const S=WE(n,i);if(e.embeddedInTargetElement==="self"?ei(S):S)return S}if(!["presentation","none"].includes(l)||o==="IFRAME"){e.visitedElements.add(n);const S=n.getAttribute("title")||"";if(ei(S))return S}return e.visitedElements.add(n),""}function WE(n,e){const i=[],r=(o,u)=>{var f;if(!(u&&o.assignedSlot))if(o.nodeType===1){const d=((f=Hi(o))==null?void 0:f.display)||"inline";let g=_n(o,e);(d!=="inline"||o.nodeName==="BR")&&(g=" "+g+" "),i.push(g)}else o.nodeType===3&&i.push(o.textContent||"")};i.push(Wa(n,"::before")||"");const l=Wa(n);if(l!==void 0)i.push(l);else{const o=n.nodeName==="SLOT"?n.assignedNodes():[];if(o.length)for(const u of o)r(u,!1);else{for(let u=n.firstChild;u;u=u.nextSibling)r(u,!0);if(n.shadowRoot)for(let u=n.shadowRoot.firstChild;u;u=u.nextSibling)r(u,!0);for(const u of Or(n,n.getAttribute("aria-owns")))r(u,!0)}}return i.push(Wa(n,"::after")||""),i.join("")}const gd=["gridcell","option","row","tab","rowheader","columnheader","treeitem"];function dv(n){return We(n)==="OPTION"?n.selected:gd.includes(xt(n)||"")?cv(n.getAttribute("aria-selected"))===!0:!1}const md=["checkbox","menuitemcheckbox","option","radio","switch","menuitemradio","treeitem"];function pv(n){const e=yd(n,!0);return e==="error"?!1:e}function eT(n){return yd(n,!0)}function tT(n){return yd(n,!1)}function yd(n,e){const i=We(n);if(e&&i==="INPUT"&&n.indeterminate)return"mixed";if(i==="INPUT"&&["checkbox","radio"].includes(n.type))return n.checked;if(md.includes(xt(n)||"")){const r=n.getAttribute("aria-checked");return r==="true"?!0:e&&r==="mixed"?"mixed":!1}return"error"}const nT=["checkbox","combobox","grid","gridcell","listbox","radiogroup","slider","spinbutton","textbox","columnheader","rowheader","searchbox","switch","treegrid"];function iT(n){const e=We(n);return["INPUT","TEXTAREA","SELECT"].includes(e)?n.hasAttribute("readonly"):nT.includes(xt(n)||"")?n.getAttribute("aria-readonly")==="true":n.isContentEditable?!1:"error"}const bd=["button"];function gv(n){if(bd.includes(xt(n)||"")){const e=n.getAttribute("aria-pressed");if(e==="true")return!0;if(e==="mixed")return"mixed"}return!1}const vd=["application","button","checkbox","combobox","gridcell","link","listbox","menuitem","row","rowheader","tab","treeitem","columnheader","menuitemcheckbox","menuitemradio","rowheader","switch"];function mv(n){if(We(n)==="DETAILS")return n.open;if(vd.includes(xt(n)||"")){const e=n.getAttribute("aria-expanded");return e===null?void 0:e==="true"}}const Sd=["heading","listitem","row","treeitem"];function yv(n){const e={H1:1,H2:2,H3:3,H4:4,H5:5,H6:6}[We(n)];if(e)return e;if(Sd.includes(xt(n)||"")){const i=n.getAttribute("aria-level"),r=i===null?Number.NaN:Number(i);if(Number.isInteger(r)&&r>=1)return r}return 0}const bv=["application","button","composite","gridcell","group","input","link","menuitem","scrollbar","separator","tab","checkbox","columnheader","combobox","grid","listbox","menu","menubar","menuitemcheckbox","menuitemradio","option","radio","radiogroup","row","rowheader","searchbox","select","slider","spinbutton","switch","tablist","textbox","toolbar","tree","treegrid","treeitem"];function fc(n){return vv(n)||Sv(n)}function vv(n){return["BUTTON","INPUT","SELECT","TEXTAREA","OPTION","OPTGROUP"].includes(We(n))&&(n.hasAttribute("disabled")||sT(n)||rT(n))}function sT(n){return We(n)==="OPTION"&&!!n.closest("OPTGROUP[DISABLED]")}function rT(n){const e=n==null?void 0:n.closest("FIELDSET[DISABLED]");if(!e)return!1;const i=e.querySelector(":scope > LEGEND");return!i||!i.contains(n)}function Sv(n,e=!1){if(!n)return!1;if(e||bv.includes(xt(n)||"")){const i=(n.getAttribute("aria-disabled")||"").toLowerCase();return i==="true"?!0:i==="false"?!1:Sv(Et(n),!0)}return!1}function za(n,e){return[...n].map(i=>_n(i,{...e,embeddedInLabel:{element:i,hidden:pn(i)},embeddedInNativeTextAlternative:void 0,embeddedInLabelledBy:void 0,embeddedInDescribedBy:void 0,embeddedInTargetElement:void 0})).filter(i=>!!i).join(" ")}function aT(n){const e=Nd;let i=n,r;const l=[];for(;i;i=Et(i)){const o=e.get(i);if(o!==void 0){r=o;break}l.push(i);const u=Hi(i);if(!u){r=!0;break}const f=u.pointerEvents;if(f){r=f!=="none";break}}r===void 0&&(r=!0);for(const o of l)e.set(o,r);return r}let wd,xd,_d,Ed,mr,Li,Td,Ad,Cd,Nd,wv=0;function wc(){hd(),++wv,wd??(wd=new Map),xd??(xd=new Map),_d??(_d=new Map),Ed??(Ed=new Map),mr??(mr=new Map),Li??(Li=new Map),Td??(Td=new Map),Ad??(Ad=new Map),Cd??(Cd=new Map),Nd??(Nd=new Map)}function xc(){--wv||(wd=void 0,xd=void 0,_d=void 0,Ed=void 0,mr=void 0,Li=void 0,Td=void 0,Ad=void 0,Cd=void 0,Nd=void 0),dd()}const lT={button:"button",checkbox:"checkbox",image:"button",number:"spinbutton",radio:"radio",range:"slider",reset:"button",submit:"button"};let oT=0;function xv(n){const e=n.boxes;return n.mode==="ai"?{visibility:"ariaOrVisible",refs:"interactable",refPrefix:n.refPrefix,includeGenericRole:!0,renderActive:!n.doNotRenderActive,renderCursorPointer:!0,renderBoxes:e}:n.mode==="autoexpect"?{visibility:"ariaAndVisible",refs:"none",renderBoxes:e}:n.mode==="codegen"?{visibility:"aria",refs:"none",renderStringsAsRegex:!0,renderBoxes:e}:{visibility:"aria",refs:"none",renderBoxes:e}}function yr(n,e){const i=xv(e),r=new Set,l={root:{role:"fragment",name:"",children:[],props:{},box:uc(n),receivesPointerEvents:!0},elements:new Map,refs:new Map,iframeRefs:[]};zh(l.root,n);const o=(f,d,g)=>{if(r.has(d))return;if(r.add(d),d.nodeType===Node.TEXT_NODE&&d.nodeValue){if(!g)return;const x=d.nodeValue;f.role!=="textbox"&&x&&f.children.push(d.nodeValue||"");return}if(d.nodeType!==Node.ELEMENT_NODE)return;const b=d,m=!pn(b);let S=m;if(i.visibility==="ariaOrVisible"&&(S=m||ni(b)),i.visibility==="ariaAndVisible"&&(S=m&&ni(b)),i.visibility==="aria"&&!S)return;const w=[];if(b.hasAttribute("aria-owns")){const x=b.getAttribute("aria-owns").split(/\s+/);for(const _ of x){const A=n.ownerDocument.getElementById(_);A&&w.push(A)}}const E=S?cT(b,i):null;E&&(E.ref&&(l.elements.set(E.ref,b),l.refs.set(b,E.ref),E.role==="iframe"&&l.iframeRefs.push(E.ref)),f.children.push(E)),u(E||f,b,w,S)};function u(f,d,g,b){var E;const S=(((E=Hi(d))==null?void 0:E.display)||"inline")!=="inline"||d.nodeName==="BR"?" ":"";S&&f.children.push(S),f.children.push(Wa(d,"::before")||"");const w=d.nodeName==="SLOT"?d.assignedNodes():[];if(w.length)for(const x of w)o(f,x,b);else{for(let x=d.firstChild;x;x=x.nextSibling)x.assignedSlot||o(f,x,b);if(d.shadowRoot)for(let x=d.shadowRoot.firstChild;x;x=x.nextSibling)o(f,x,b)}for(const x of g)o(f,x,b);if(f.children.push(Wa(d,"::after")||""),S&&f.children.push(S),f.children.length===1&&f.name===f.children[0]&&(f.children=[]),f.role==="link"&&d.hasAttribute("href")){const x=d.getAttribute("href");f.props.url=x}if(f.role==="textbox"&&d.hasAttribute("placeholder")&&d.getAttribute("placeholder")!==f.name){const x=d.getAttribute("placeholder");f.props.placeholder=x}}wc();try{o(l.root,n,!0)}finally{xc()}return fT(l.root),uT(l.root),l}function Eb(n,e){if(e.refs==="none"||e.refs==="interactable"&&(!n.box.visible||!n.receivesPointerEvents))return;const i=_c(n);let r=i._ariaRef;(!r||r.role!==n.role||r.name!==n.name)&&(r={role:n.role,name:n.name,ref:(e.refPrefix??"")+"e"+ ++oT},i._ariaRef=r),n.ref=r.ref}function cT(n,e){const i=n.ownerDocument.activeElement===n;if(n.nodeName==="IFRAME"){const g={role:"iframe",name:"",children:[],props:{},box:uc(n),receivesPointerEvents:!0,active:i};return zh(g,n),Eb(g,e),g}const r=e.includeGenericRole?"generic":null,l=xt(n)??r;if(!l||l==="presentation"||l==="none")return null;const o=ut(rl(n,!1)||""),u=aT(n),f=uc(n);if(l==="generic"&&f.inline&&n.childNodes.length===1&&n.childNodes[0].nodeType===Node.TEXT_NODE)return null;const d={role:l,name:o,children:[],props:{},box:f,receivesPointerEvents:u,active:i};return zh(d,n),Eb(d,e),md.includes(l)&&(d.checked=pv(n)),bv.includes(l)&&(d.disabled=fc(n)),vd.includes(l)&&(d.expanded=mv(n)),Sd.includes(l)&&(d.level=yv(n)),bd.includes(l)&&(d.pressed=gv(n)),gd.includes(l)&&(d.selected=dv(n)),(n instanceof HTMLInputElement||n instanceof HTMLTextAreaElement)&&n.type!=="checkbox"&&n.type!=="radio"&&n.type!=="file"&&(d.children=[n.value]),d}function uT(n){const e=i=>{const r=[];for(const o of i.children||[]){if(typeof o=="string"){r.push(o);continue}const u=e(o);r.push(...u)}return i.role==="generic"&&!i.name&&r.length<=1&&r.every(o=>typeof o!="string"&&!!o.ref)?r:(i.children=r,[i])};e(n)}function fT(n){const e=(r,l)=>{if(!r.length)return;const o=ut(r.join(""));o&&l.push(o),r.length=0},i=r=>{const l=[],o=[];for(const u of r.children||[])typeof u=="string"?o.push(u):(e(o,l),i(u),l.push(u));e(o,l),r.children=l.length?l:[],r.children.length===1&&r.children[0]===r.name&&(r.children=[])};i(n)}function hT(n,e){return e?n?typeof e=="string"?n===e:!!n.match(new RegExp(e.pattern)):!1:!0}function Tb(n,e){if(!(e!=null&&e.normalized))return!0;if(!n)return!1;if(n===e.normalized||n===e.raw)return!0;const i=dT(e);return i?!!n.match(i):!1}const hh=Symbol("cachedRegex");function dT(n){if(n[hh]!==void 0)return n[hh];const{raw:e}=n,i=e.startsWith("/")&&e.endsWith("/")&&e.length>1;let r;try{r=i?new RegExp(e.slice(1,-1)):null}catch{r=null}return n[hh]=r,r}function Ab(n,e){const i=yr(n,{mode:"default"});return{matches:_v(i.root,e,!1,!1),received:{raw:br(i,{mode:"default"}).text,regex:br(i,{mode:"codegen"}).text}}}function pT(n,e){const i=yr(n,{mode:"default"}).root;return _v(i,e,!0,!1).map(l=>_c(l))}function kd(n,e,i){var r;return typeof n=="string"&&e.kind==="text"?Tb(n,e.text):n===null||typeof n!="object"||e.kind!=="role"||e.role!=="fragment"&&e.role!==n.role||e.checked!==void 0&&e.checked!==n.checked||e.disabled!==void 0&&e.disabled!==n.disabled||e.expanded!==void 0&&e.expanded!==n.expanded||e.level!==void 0&&e.level!==n.level||e.pressed!==void 0&&e.pressed!==n.pressed||e.selected!==void 0&&e.selected!==n.selected||!hT(n.name,e.name)||!Tb(n.props.url,(r=e.props)==null?void 0:r.url)?!1:e.containerMode==="contain"?Nb(n.children||[],e.children||[]):e.containerMode==="equal"?Cb(n.children||[],e.children||[],!1):e.containerMode==="deep-equal"||i?Cb(n.children||[],e.children||[],!0):Nb(n.children||[],e.children||[])}function Cb(n,e,i){if(e.length!==n.length)return!1;for(let r=0;r<e.length;++r)if(!kd(n[r],e[r],i))return!1;return!0}function Nb(n,e){if(e.length>n.length)return!1;const i=n.slice(),r=e.slice();for(const l of r){let o=i.shift();for(;o&&!kd(o,l,!1);)o=i.shift();if(!o)return!1}return!0}function _v(n,e,i,r){const l=[],o=(u,f)=>{if(kd(u,e,r)){const d=typeof u=="string"?f:u;return d&&l.push(d),!i}if(typeof u=="string")return!1;for(const d of u.children||[])if(o(d,u))return!0;return!1};return o(n,null),l}function Ev(n,e=new Map){n!=null&&n.ref&&e.set(n.ref,n);for(const i of(n==null?void 0:n.children)||[])typeof i!="string"&&Ev(i,e);return e}function gT(n,e){var o;const i=Ev(e==null?void 0:e.root),r=new Map,l=(u,f)=>{let d=u.children.length===(f==null?void 0:f.children.length)&&UE(u,f),g=d;for(let b=0;b<u.children.length;b++){const m=u.children[b],S=f==null?void 0:f.children[b];if(typeof m=="string")d&&(d=m===S),g&&(g=m===S);else{let w=typeof S!="string"?S:void 0;m.ref&&(w=i.get(m.ref));const E=l(m,w);(!w||!E&&!m.ref||w!==S)&&(g=!1),d&&(d=E&&w===S)}}return r.set(u,d?"same":g?"skip":"changed"),d};return l(n.root,i.get((o=e==null?void 0:e.root)==null?void 0:o.ref)),r}function mT(n,e){const i=[],r=l=>{const o=e.get(l);if(o!=="same")if(o==="skip")for(const u of l.children)typeof u!="string"&&r(u);else i.push(l)};for(const l of n)typeof l=="string"?i.push(l):r(l);return i}function Do(n){return" ".repeat(n)}function br(n,e,i){const r=xv(e),l=[],o={},u=r.renderStringsAsRegex?bT:()=>!0,f=r.renderStringsAsRegex?yT:E=>E;let d=n.root.role==="fragment"?n.root.children:[n.root];const g=gT(n,i);i&&(d=mT(d,g));const b=(E,x)=>{if(e.depth&&x>e.depth)return;const _=uh(f(E));_&&l.push(Do(x)+"- text: "+_)},m=(E,x)=>{let _=E.role;if(E.name&&E.name.length<=900){const A=f(E.name);if(A){const N=A.startsWith("/")&&A.endsWith("/")?A:JSON.stringify(A);_+=" "+N}}if(E.checked==="mixed"&&(_+=" [checked=mixed]"),E.checked===!0&&(_+=" [checked]"),E.disabled&&(_+=" [disabled]"),E.expanded&&(_+=" [expanded]"),E.active&&r.renderActive&&(_+=" [active]"),E.level&&(_+=` [level=${E.level}]`),E.pressed==="mixed"&&(_+=" [pressed=mixed]"),E.pressed===!0&&(_+=" [pressed]"),E.selected===!0&&(_+=" [selected]"),E.ref&&(_+=` [ref=${E.ref}]`,x&&oc(E)&&(_+=" [cursor=pointer]")),r.renderBoxes){const A=_c(E);if(A){const N=A.getBoundingClientRect();_+=` [box=${Math.round(N.x)},${Math.round(N.y)},${Math.round(N.width)},${Math.round(N.height)}]`}}return _},S=E=>(E==null?void 0:E.children.length)===1&&typeof E.children[0]=="string"&&!Object.keys(E.props).length?E.children[0]:void 0,w=(E,x,_)=>{if(e.depth&&x>e.depth)return;if(E.role==="iframe"&&E.ref&&(o[E.ref]=x),g.get(E)==="same"&&E.ref){l.push(Do(x)+`- ref=${E.ref} [unchanged]`);return}const A=!!i&&!x,N=Do(x)+"- "+(A?"<changed> ":"")+$E(m(E,_)),$=S(E),G=!!e.depth&&x===e.depth;if(!$&&(!E.children.length||G)&&!Object.keys(E.props).length)l.push(N);else if($!==void 0)u(E,$)?l.push(N+": "+uh(f($))):l.push(N);else{l.push(N+":");for(const[L,B]of Object.entries(E.props))l.push(Do(x+1)+"- /"+L+": "+uh(B));const U=!!E.ref&&_&&oc(E);for(const L of E.children)typeof L=="string"?b(u(E,L)?L:"",x+1):w(L,x+1,_&&!U)}};for(const E of d)typeof E=="string"?b(E,0):w(E,0,!!r.renderCursorPointer);return{text:l.join(`
108 -`),iframeDepths:o}}function yT(n){const e=[{regex:/\b[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\b/,replacement:"[0-9a-fA-F-]+"},{regex:/\b[\d,.]+[bkmBKM]+\b/,replacement:"[\\d,.]+[bkmBKM]+"},{regex:/\b\d+[hmsp]+\b/,replacement:"\\d+[hmsp]+"},{regex:/\b[\d,.]+[hmsp]+\b/,replacement:"[\\d,.]+[hmsp]+"},{regex:/\b\d+,\d+\b/,replacement:"\\d+,\\d+"},{regex:/\b\d+\.\d{2,}\b/,replacement:"\\d+\\.\\d+"},{regex:/\b\d{2,}\.\d+\b/,replacement:"\\d+\\.\\d+"},{regex:/\b\d{2,}\b/,replacement:"\\d+"}];let i="",r=0;const l=new RegExp(e.map(o=>"("+o.regex.source+")").join("|"),"g");return n.replace(l,(o,...u)=>{const f=u[u.length-2],d=u.slice(0,-2);i+=lc(n.slice(r,f));for(let g=0;g<d.length;g++)if(d[g]){const{replacement:b}=e[g];i+=b;break}return r=f+o.length,o}),i?(i+=lc(n.slice(r)),String(new RegExp(i))):n}function bT(n,e){if(!e.length)return!1;if(!n.name)return!0;const i=e.length<=200&&n.name.length<=200?l_(e,n.name):"";let r=e;for(;i&&r.includes(i);)r=r.replace(i,"");return r.trim().length/e.length>.1}const Tv=Symbol("element");function _c(n){return n[Tv]}function zh(n,e){n[Tv]=e}function vT(n,e){const i=qE(n,e);return i?_c(i):void 0}const kb=":host{font-size:13px;font-family:system-ui,Ubuntu,Droid Sans,sans-serif;color:#333}svg{position:absolute;height:0}x-pw-tooltip{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#fff;border-radius:6px;box-shadow:0 .5rem 1.2rem #0000004d;display:none;font-size:12.8px;font-weight:400;left:0;line-height:1.5;max-width:600px;position:absolute;top:0;padding:0;flex-direction:column;overflow:hidden}x-pw-tooltip-line{display:flex;max-width:600px;padding:6px;-webkit-user-select:none;user-select:none;cursor:pointer}x-pw-tooltip-footer{display:flex;max-width:600px;padding:6px;-webkit-user-select:none;user-select:none;color:#777}x-pw-dialog{background-color:#fff;pointer-events:auto;border-radius:6px;box-shadow:0 .5rem 1.2rem #0000004d;display:flex;flex-direction:column;position:absolute;z-index:10;font-size:13px}x-pw-dialog:not(.autosize){width:400px;height:150px}x-pw-dialog-body{display:flex;flex-direction:column;flex:auto}x-pw-dialog-body label{margin:5px 8px;display:flex;flex-direction:row;align-items:center}x-pw-highlight{position:absolute;top:0;left:0;width:0;height:0}x-pw-action-point{position:absolute;width:20px;height:20px;background:red;border-radius:10px;margin:-10px 0 0 -10px;z-index:2}x-pw-title{position:absolute;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#00000080;color:#fff;border-radius:6px;padding:6px;font-size:24px;line-height:1.4;white-space:nowrap;-webkit-user-select:none;user-select:none;z-index:3}x-pw-user-overlays,x-pw-user-overlay{position:absolute;top:0;right:0;bottom:0;left:0}@keyframes pw-fade-out{0%{opacity:1}to{opacity:0}}x-pw-separator{height:1px;margin:6px 9px;background:#949494e5}x-pw-tool-gripper{height:28px;width:24px;margin:2px 0;cursor:grab}x-pw-tool-gripper:active{cursor:grabbing}x-pw-tool-gripper>x-div{width:16px;height:16px;margin:6px 4px;clip-path:url(#icon-gripper);background-color:#555}x-pw-tools-list>label{display:flex;align-items:center;margin:0 10px;-webkit-user-select:none;user-select:none}x-pw-tools-list{display:flex;width:100%;border-bottom:1px solid #dddddd}x-pw-tool-item{pointer-events:auto;height:28px;width:28px;border-radius:3px}x-pw-tool-item:not(.disabled){cursor:pointer}x-pw-tool-item:not(.disabled):hover{background-color:#dbdbdb}x-pw-tool-item.toggled{background-color:#8acae480}x-pw-tool-item.toggled:not(.disabled):hover{background-color:#8acae4c4}x-pw-tool-item>x-div{width:16px;height:16px;margin:6px;background-color:#3a3a3a}x-pw-tool-item.disabled>x-div{background-color:#61616180;cursor:default}x-pw-tool-item.record.toggled{background-color:transparent}x-pw-tool-item.record.toggled:not(.disabled):hover{background-color:#dbdbdb}x-pw-tool-item.record.toggled>x-div{background-color:#a1260d}x-pw-tool-item.record.disabled.toggled>x-div{opacity:.8}x-pw-tool-item.accept>x-div{background-color:#388a34}x-pw-tool-item.record>x-div{clip-path:url(#icon-circle-large-filled)}x-pw-tool-item.record.toggled>x-div{clip-path:url(#icon-stop-circle)}x-pw-tool-item.pick-locator>x-div{clip-path:url(#icon-inspect)}x-pw-tool-item.text>x-div{clip-path:url(#icon-whole-word)}x-pw-tool-item.visibility>x-div{clip-path:url(#icon-eye)}x-pw-tool-item.value>x-div{clip-path:url(#icon-symbol-constant)}x-pw-tool-item.snapshot>x-div{clip-path:url(#icon-gist)}x-pw-tool-item.accept>x-div{clip-path:url(#icon-check)}x-pw-tool-item.cancel>x-div{clip-path:url(#icon-close)}x-pw-tool-item.succeeded>x-div{clip-path:url(#icon-pass);background-color:#388a34!important}x-pw-overlay{position:absolute;top:0;max-width:min-content;z-index:2147483647;background:transparent;pointer-events:auto}x-pw-overlay x-pw-tools-list{background-color:#fffd;box-shadow:#0000001a 0 5px 5px;border-radius:3px;border-bottom:none}x-pw-overlay x-pw-tool-item{margin:2px}textarea.text-editor{font-family:system-ui,Ubuntu,Droid Sans,sans-serif;flex:auto;border:none;margin:6px 10px;color:#333;outline:1px solid transparent!important;resize:none;padding:0;font-size:13px}textarea.text-editor.does-not-match{outline:1px solid red!important}x-div{display:block}x-spacer{flex:auto}*{box-sizing:border-box}*[hidden]{display:none!important}x-locator-editor{flex:none;width:100%;height:60px;padding:4px;border-bottom:1px solid #dddddd;outline:1px solid transparent}x-locator-editor.does-not-match{outline:1px solid red}.CodeMirror{width:100%!important;height:100%!important}x-pw-action-list{flex:auto;display:flex;flex-direction:column;-webkit-user-select:none;user-select:none}x-pw-action-item{padding:6px 10px;cursor:pointer;overflow:hidden}x-pw-action-item:hover{background-color:#f2f2f2}x-pw-action-item:last-child{border-bottom-left-radius:6px;border-bottom-right-radius:6px}";class dh{constructor(e){this._renderedEntries=[],this._userOverlays=new Map,this._userOverlayHidden=!1,this._language="javascript",this._elementHighlightSelectors=new Map,this._injectedScript=e;const i=e.document;if(this._isUnderTest=e.isUnderTest,this._glassPaneElement=i.createElement("x-pw-glass"),this._glassPaneElement.setAttribute("popover","manual"),this._glassPaneElement.style.inset="0",this._glassPaneElement.style.width="100%",this._glassPaneElement.style.height="100%",this._glassPaneElement.style.maxWidth="none",this._glassPaneElement.style.maxHeight="none",this._glassPaneElement.style.padding="0",this._glassPaneElement.style.margin="0",this._glassPaneElement.style.border="none",this._glassPaneElement.style.overflow="visible",this._glassPaneElement.style.pointerEvents="none",this._glassPaneElement.style.display="flex",this._glassPaneElement.style.backgroundColor="transparent",this._actionPointElement=i.createElement("x-pw-action-point"),this._actionPointElement.setAttribute("hidden","true"),this._titleElement=i.createElement("x-pw-title"),this._titleElement.setAttribute("hidden","true"),this._userOverlayContainer=i.createElement("x-pw-user-overlays"),this._userOverlayContainer.setAttribute("hidden","true"),this._glassPaneShadow=this._glassPaneElement.attachShadow({mode:this._isUnderTest?"open":"closed"}),typeof this._glassPaneShadow.adoptedStyleSheets.push=="function"){const r=new this._injectedScript.window.CSSStyleSheet;r.replaceSync(kb),this._glassPaneShadow.adoptedStyleSheets.push(r)}else{const r=this._injectedScript.document.createElement("style");r.textContent=kb,this._glassPaneShadow.appendChild(r)}this._glassPaneShadow.appendChild(this._actionPointElement),this._glassPaneShadow.appendChild(this._titleElement),this._glassPaneShadow.appendChild(this._userOverlayContainer)}install(){this._injectedScript.document.documentElement&&((!this._injectedScript.document.documentElement.contains(this._glassPaneElement)||this._glassPaneElement.nextElementSibling)&&this._injectedScript.document.documentElement.appendChild(this._glassPaneElement),this._bringToFront())}_bringToFront(){this._glassPaneElement.hidePopover(),this._glassPaneElement.showPopover()}setLanguage(e){this._language=e}addElementHighlight(e,i){const r=gn(e);this._elementHighlightSelectors.set(r,{selector:e,cssStyle:i}),this._ensureElementHighlightRaf()}removeElementHighlight(e){const i=gn(e);this._elementHighlightSelectors.delete(i)&&this._elementHighlightSelectors.size===0&&(this._rafRequest&&(this._injectedScript.utils.builtins.cancelAnimationFrame(this._rafRequest),this._rafRequest=void 0),this.clearHighlight())}_ensureElementHighlightRaf(){if(this._rafRequest)return;const e=()=>{const i=[];for(const{selector:r,cssStyle:l}of this._elementHighlightSelectors.values()){const o=this._injectedScript.querySelectorAll(r,this._injectedScript.document.documentElement),u=Di(this._language,gn(r)),f=o.length>1?"#f6b26b7f":"#6fa8dc7f";for(let d=0;d<o.length;++d){const g=o.length>1?` [${d+1} of ${o.length}]`:"";i.push({element:o[d],color:f,tooltipText:u+g,cssStyle:l})}}this.updateHighlight(i),this._rafRequest=this._injectedScript.utils.builtins.requestAnimationFrame(e)};this._rafRequest=this._injectedScript.utils.builtins.requestAnimationFrame(e)}uninstall(){this._rafRequest&&(this._injectedScript.utils.builtins.cancelAnimationFrame(this._rafRequest),this._rafRequest=void 0),this._elementHighlightSelectors.clear(),this._glassPaneElement.remove()}showActionPoint(e,i,r){this._actionPointElement.style.top=i+"px",this._actionPointElement.style.left=e+"px",this._actionPointElement.hidden=!1,r?this._actionPointElement.style.animation=`pw-fade-out ${r}ms ease-out forwards`:this._actionPointElement.style.animation=""}hideActionPoint(){this._actionPointElement.hidden=!0}showActionTitle(e,i,r,l){if(this._titleElement.textContent=e,this._titleElement.hidden=!1,i){const o=i/4;this._titleElement.style.animation=`pw-fade-out ${o}ms ease-out ${i-o}ms forwards`}else this._titleElement.style.animation="";switch(this._titleElement.style.top="",this._titleElement.style.bottom="",this._titleElement.style.left="",this._titleElement.style.right="",this._titleElement.style.transform="",r){case"top-left":this._titleElement.style.top="6px",this._titleElement.style.left="6px";break;case"top":this._titleElement.style.top="6px",this._titleElement.style.left="50%",this._titleElement.style.transform="translateX(-50%)";break;case"bottom-left":this._titleElement.style.bottom="6px",this._titleElement.style.left="6px";break;case"bottom":this._titleElement.style.bottom="6px",this._titleElement.style.left="50%",this._titleElement.style.transform="translateX(-50%)";break;case"bottom-right":this._titleElement.style.bottom="6px",this._titleElement.style.right="6px";break;case"top-right":default:this._titleElement.style.top="6px",this._titleElement.style.right="6px";break}l&&(this._titleElement.style.fontSize=l+"px")}hideActionTitle(){this._titleElement.hidden=!0}addUserOverlay(e,i){const r=this._injectedScript.document.createElement("div");r.className="x-pw-user-overlay",r.innerHTML=i;for(const l of r.querySelectorAll("script"))l.remove();for(const l of r.querySelectorAll("*"))for(const o of[...l.attributes])o.name.startsWith("on")&&l.removeAttribute(o.name);return this._userOverlays.set(e,r),this._userOverlayContainer.appendChild(r),this._userOverlayContainer.hidden=this._userOverlayHidden,e}getUserOverlay(e){return this._userOverlays.get(e)}removeUserOverlay(e){const i=this._userOverlays.get(e);i&&(i.remove(),this._userOverlays.delete(e)),this._userOverlays.size===0&&(this._userOverlayContainer.hidden=!0)}setUserOverlaysVisible(e){this._userOverlayHidden=!e,this._userOverlayContainer.hidden=!e||this._userOverlays.size===0}clearHighlight(){var e,i;for(const r of this._renderedEntries)(e=r.highlightElement)==null||e.remove(),(i=r.tooltipElement)==null||i.remove();this._renderedEntries=[]}maskElements(e,i){this.updateHighlight(e.map(r=>({element:r,color:i})))}updateHighlight(e){if(!this._highlightIsUpToDate(e)){this.clearHighlight();for(const i of e){const r=this._createHighlightElement();this._glassPaneShadow.appendChild(r);let l;if(i.tooltipText){l=this._injectedScript.document.createElement("x-pw-tooltip"),this._glassPaneShadow.appendChild(l),l.style.top="0",l.style.left="0",l.style.display="flex";const o=this._injectedScript.document.createElement("x-pw-tooltip-line");o.textContent=i.tooltipText,l.appendChild(o)}this._renderedEntries.push({targetElement:i.element,box:Mb(i.box),color:i.color,borderColor:i.borderColor,fadeDuration:i.fadeDuration,cssStyle:i.cssStyle,tooltipElement:l,highlightElement:r})}for(const i of this._renderedEntries){if(!i.box&&!i.targetElement||(i.box=i.box||i.targetElement.getBoundingClientRect(),!i.tooltipElement))continue;const{anchorLeft:r,anchorTop:l}=this.tooltipPosition(i.box,i.tooltipElement);i.tooltipTop=l,i.tooltipLeft=r}for(const i of this._renderedEntries){i.tooltipElement&&(i.tooltipElement.style.top=i.tooltipTop+"px",i.tooltipElement.style.left=i.tooltipLeft+"px");const r=i.box;i.highlightElement.style.backgroundColor=i.color,i.highlightElement.style.left=r.x+"px",i.highlightElement.style.top=r.y+"px",i.highlightElement.style.width=r.width+"px",i.highlightElement.style.height=r.height+"px",i.highlightElement.style.display="block",i.borderColor&&(i.highlightElement.style.border="2px solid "+i.borderColor),i.fadeDuration&&(i.highlightElement.style.animation=`pw-fade-out ${i.fadeDuration}ms ease-out forwards`),i.cssStyle&&(i.highlightElement.style.cssText+=";"+i.cssStyle),this._isUnderTest&&console.error("Highlight box for test: "+JSON.stringify({x:r.x,y:r.y,width:r.width,height:r.height}))}}}firstBox(){var e;return(e=this._renderedEntries[0])==null?void 0:e.box}firstTooltipBox(){const e=this._renderedEntries[0];if(!(!e||!e.tooltipElement||e.tooltipLeft===void 0||e.tooltipTop===void 0))return{x:e.tooltipLeft,y:e.tooltipTop,left:e.tooltipLeft,top:e.tooltipTop,width:e.tooltipElement.offsetWidth,height:e.tooltipElement.offsetHeight,bottom:e.tooltipTop+e.tooltipElement.offsetHeight,right:e.tooltipLeft+e.tooltipElement.offsetWidth,toJSON:()=>{}}}tooltipPosition(e,i){const r=i.offsetWidth,l=i.offsetHeight,o=this._glassPaneElement.offsetWidth,u=this._glassPaneElement.offsetHeight;let f=Math.max(5,e.left);f+r>o-5&&(f=o-r-5);let d=Math.max(0,e.bottom)+5;return d+l>u-5&&(Math.max(0,e.top)>l+5?d=Math.max(0,e.top)-l-5:d=u-5-l),{anchorLeft:f,anchorTop:d}}_highlightIsUpToDate(e){if(e.length!==this._renderedEntries.length)return!1;for(let i=0;i<this._renderedEntries.length;++i){if(e[i].element!==this._renderedEntries[i].targetElement||e[i].color!==this._renderedEntries[i].color||e[i].cssStyle!==this._renderedEntries[i].cssStyle)return!1;const r=this._renderedEntries[i].box;if(!r)return!1;const l=e[i].box?Mb(e[i].box):e[i].element.getBoundingClientRect();if(l.top!==r.top||l.right!==r.right||l.bottom!==r.bottom||l.left!==r.left)return!1}return!0}_createHighlightElement(){return this._injectedScript.document.createElement("x-pw-highlight")}appendChild(e){this._glassPaneShadow.appendChild(e)}onGlassPaneClick(e){this._glassPaneElement.style.pointerEvents="auto",this._glassPaneElement.style.backgroundColor="rgba(0, 0, 0, 0.3)",this._glassPaneElement.addEventListener("click",e)}offGlassPaneClick(e){this._glassPaneElement.style.pointerEvents="none",this._glassPaneElement.style.backgroundColor="transparent",this._glassPaneElement.removeEventListener("click",e)}}function Mb(n){if(n)return new DOMRect(n.x,n.y,n.width,n.height)}function ST(n,e,i){const r=n.left-e.right;if(!(r<0||i!==void 0&&r>i))return r+Math.max(e.bottom-n.bottom,0)+Math.max(n.top-e.top,0)}function wT(n,e,i){const r=e.left-n.right;if(!(r<0||i!==void 0&&r>i))return r+Math.max(e.bottom-n.bottom,0)+Math.max(n.top-e.top,0)}function xT(n,e,i){const r=e.top-n.bottom;if(!(r<0||i!==void 0&&r>i))return r+Math.max(n.left-e.left,0)+Math.max(e.right-n.right,0)}function _T(n,e,i){const r=n.top-e.bottom;if(!(r<0||i!==void 0&&r>i))return r+Math.max(n.left-e.left,0)+Math.max(e.right-n.right,0)}function ET(n,e,i){const r=i===void 0?50:i;let l=0;return n.left-e.right>=0&&(l+=n.left-e.right),e.left-n.right>=0&&(l+=e.left-n.right),e.top-n.bottom>=0&&(l+=e.top-n.bottom),n.top-e.bottom>=0&&(l+=n.top-e.bottom),l>r?void 0:l}const TT=["left-of","right-of","above","below","near"];function Av(n,e,i,r){const l=e.getBoundingClientRect(),o={"left-of":wT,"right-of":ST,above:xT,below:_T,near:ET}[n];let u;for(const f of i){if(f===e)continue;const d=o(l,f.getBoundingClientRect(),r);d!==void 0&&(u===void 0||d<u)&&(u=d)}return u}function Ob(n,e){const i=typeof n=="string"&&!e.caseSensitive?n.toUpperCase():n,r=typeof e.value=="string"&&!e.caseSensitive?e.value.toUpperCase():e.value;return e.op==="<truthy>"?!!i:e.op==="="?r instanceof RegExp?typeof i=="string"&&!!i.match(r):i===r:typeof i!="string"||typeof r!="string"?!1:e.op==="*="?i.includes(r):e.op==="^="?i.startsWith(r):e.op==="$="?i.endsWith(r):e.op==="|="?i===r||i.startsWith(r+"-"):e.op==="~="?i.split(" ").includes(r):!1}function Md(n){const e=n.ownerDocument;return n.nodeName==="SCRIPT"||n.nodeName==="NOSCRIPT"||n.nodeName==="STYLE"||e.head&&e.head.contains(n)}function Vt(n,e){let i=n.get(e);if(i===void 0){if(i={full:"",normalized:"",immediate:[]},!Md(e)){let r="";if(e instanceof HTMLInputElement&&(e.type==="submit"||e.type==="button"))i={full:e.value,normalized:ut(e.value),immediate:[e.value]};else{for(let l=e.firstChild;l;l=l.nextSibling)if(l.nodeType===Node.TEXT_NODE)i.full+=l.nodeValue||"",r+=l.nodeValue||"";else{if(l.nodeType===Node.COMMENT_NODE)continue;r&&i.immediate.push(r),r="",l.nodeType===Node.ELEMENT_NODE&&(i.full+=Vt(n,l).full)}r&&i.immediate.push(r),e.shadowRoot&&(i.full+=Vt(n,e.shadowRoot).full),i.full&&(i.normalized=ut(i.full))}}n.set(e,i)}return i}function Ec(n,e,i){if(Md(e)||!i(Vt(n,e)))return"none";for(let r=e.firstChild;r;r=r.nextSibling)if(r.nodeType===Node.ELEMENT_NODE&&i(Vt(n,r)))return"selfAndChildren";return e.shadowRoot&&i(Vt(n,e.shadowRoot))?"selfAndChildren":"self"}function Cv(n,e){const i=hv(e);if(i)return i.map(o=>Vt(n,o));const r=e.getAttribute("aria-label");if(r!==null&&r.trim())return[{full:r,normalized:ut(r),immediate:[r]}];const l=e.nodeName==="INPUT"&&e.type!=="hidden";if(["BUTTON","METER","OUTPUT","PROGRESS","SELECT","TEXTAREA"].includes(e.nodeName)||l){const o=e.labels;if(o)return[...o].map(u=>Vt(n,u))}return[]}const Nv=["selected","checked","pressed","expanded","level","disabled","name","description","include-hidden"];Nv.sort();function Ua(n,e,i){if(!e.includes(i))throw new Error(`"${n}" attribute is only supported for roles: ${e.slice().sort().map(r=>`"${r}"`).join(", ")}`)}function lr(n,e){if(n.op!=="<truthy>"&&!e.includes(n.value))throw new Error(`"${n.name}" must be one of ${e.map(i=>JSON.stringify(i)).join(", ")}`)}function or(n,e){if(!e.includes(n.op))throw new Error(`"${n.name}" does not support "${n.op}" matcher`)}function AT(n,e){const i={role:e};for(const r of n)switch(r.name){case"checked":{Ua(r.name,md,e),lr(r,[!0,!1,"mixed"]),or(r,["<truthy>","="]),i.checked=r.op==="<truthy>"?!0:r.value;break}case"pressed":{Ua(r.name,bd,e),lr(r,[!0,!1,"mixed"]),or(r,["<truthy>","="]),i.pressed=r.op==="<truthy>"?!0:r.value;break}case"selected":{Ua(r.name,gd,e),lr(r,[!0,!1]),or(r,["<truthy>","="]),i.selected=r.op==="<truthy>"?!0:r.value;break}case"expanded":{Ua(r.name,vd,e),lr(r,[!0,!1]),or(r,["<truthy>","="]),i.expanded=r.op==="<truthy>"?!0:r.value;break}case"level":{if(Ua(r.name,Sd,e),typeof r.value=="string"&&(r.value=+r.value),r.op!=="="||typeof r.value!="number"||Number.isNaN(r.value))throw new Error('"level" attribute must be compared to a number');i.level=r.value;break}case"disabled":{lr(r,[!0,!1]),or(r,["<truthy>","="]),i.disabled=r.op==="<truthy>"?!0:r.value;break}case"name":{if(r.op==="<truthy>")throw new Error('"name" attribute must have a value');if(typeof r.value!="string"&&!(r.value instanceof RegExp))throw new Error('"name" attribute must be a string or a regular expression');i.name=r.value,i.nameOp=r.op,i.nameExact=r.caseSensitive;break}case"description":{if(r.op==="<truthy>")throw new Error('"description" attribute must have a value');if(typeof r.value!="string"&&!(r.value instanceof RegExp))throw new Error('"description" attribute must be a string or a regular expression');i.description=r.value,i.descriptionOp=r.op,i.descriptionExact=r.caseSensitive;break}case"include-hidden":{lr(r,[!0,!1]),or(r,["<truthy>","="]),i.includeHidden=r.op==="<truthy>"?!0:r.value;break}default:throw new Error(`Unknown attribute "${r.name}", must be one of ${Nv.map(l=>`"${l}"`).join(", ")}.`)}return i}function CT(n,e,i){const r=[],l=u=>{if(xt(u)===e.role&&!(e.selected!==void 0&&dv(u)!==e.selected)&&!(e.checked!==void 0&&pv(u)!==e.checked)&&!(e.pressed!==void 0&&gv(u)!==e.pressed)&&!(e.expanded!==void 0&&mv(u)!==e.expanded)&&!(e.level!==void 0&&yv(u)!==e.level)&&!(e.disabled!==void 0&&fc(u)!==e.disabled)&&!(!e.includeHidden&&pn(u))){if(e.name!==void 0){const f=ut(rl(u,!!e.includeHidden));if(typeof e.name=="string"&&(e.name=ut(e.name)),i&&!e.nameExact&&e.nameOp==="="&&(e.nameOp="*="),!Ob(f,{op:e.nameOp||"=",value:e.name,caseSensitive:!!e.nameExact}))return}if(e.description!==void 0){const f=ut(al(u,!!e.includeHidden));if(typeof e.description=="string"&&(e.description=ut(e.description)),i&&!e.descriptionExact&&e.descriptionOp==="="&&(e.descriptionOp="*="),!Ob(f,{op:e.descriptionOp||"=",value:e.description,caseSensitive:!!e.descriptionExact}))return}r.push(u)}},o=u=>{const f=[];u.shadowRoot&&f.push(u.shadowRoot);for(const d of u.querySelectorAll("*"))l(d),d.shadowRoot&&f.push(d.shadowRoot);f.forEach(o)};return o(n),r}function jb(n){return{queryAll:(e,i)=>{const r=Qa(i),l=r.name.toLowerCase();if(!l)throw new Error("Role must not be empty");const o=AT(r.attributes,l);wc();try{return CT(e,o,n)}finally{xc()}}}}class NT{constructor(){this._retainCacheCounter=0,this._cacheText=new Map,this._cacheQueryCSS=new Map,this._cacheMatches=new Map,this._cacheQuery=new Map,this._cacheMatchesSimple=new Map,this._cacheMatchesParents=new Map,this._cacheCallMatches=new Map,this._cacheCallQuery=new Map,this._cacheQuerySimple=new Map,this._engines=new Map,this._engines.set("not",OT),this._engines.set("is",Ga),this._engines.set("where",Ga),this._engines.set("has",kT),this._engines.set("scope",MT),this._engines.set("light",jT),this._engines.set("visible",LT),this._engines.set("text",RT),this._engines.set("text-is",DT),this._engines.set("text-matches",zT),this._engines.set("has-text",UT),this._engines.set("right-of",Ha("right-of")),this._engines.set("left-of",Ha("left-of")),this._engines.set("above",Ha("above")),this._engines.set("below",Ha("below")),this._engines.set("near",Ha("near")),this._engines.set("nth-match",HT);const e=[...this._engines.keys()];e.sort();const i=[...L0];if(i.sort(),e.join("|")!==i.join("|"))throw new Error(`Please keep customCSSNames in sync with evaluator engines: ${e.join("|")} vs ${i.join("|")}`)}begin(){++this._retainCacheCounter}end(){--this._retainCacheCounter,this._retainCacheCounter||(this._cacheQueryCSS.clear(),this._cacheMatches.clear(),this._cacheQuery.clear(),this._cacheMatchesSimple.clear(),this._cacheMatchesParents.clear(),this._cacheCallMatches.clear(),this._cacheCallQuery.clear(),this._cacheQuerySimple.clear(),this._cacheText.clear())}_cached(e,i,r,l){e.has(i)||e.set(i,[]);const o=e.get(i),u=o.find(d=>r.every((g,b)=>d.rest[b]===g));if(u)return u.result;const f=l();return o.push({rest:r,result:f}),f}_checkSelector(e){if(!(typeof e=="object"&&e&&(Array.isArray(e)||"simples"in e&&e.simples.length)))throw new Error(`Malformed selector "${e}"`);return e}matches(e,i,r){const l=this._checkSelector(i);this.begin();try{return this._cached(this._cacheMatches,e,[l,r.scope,r.pierceShadow,r.originalScope],()=>Array.isArray(l)?this._matchesEngine(Ga,e,l,r):(this._hasScopeClause(l)&&(r=this._expandContextForScopeMatching(r)),this._matchesSimple(e,l.simples[l.simples.length-1].selector,r)?this._matchesParents(e,l,l.simples.length-2,r):!1))}finally{this.end()}}query(e,i){const r=this._checkSelector(i);this.begin();try{return this._cached(this._cacheQuery,r,[e.scope,e.pierceShadow,e.originalScope],()=>{if(Array.isArray(r))return this._queryEngine(Ga,e,r);this._hasScopeClause(r)&&(e=this._expandContextForScopeMatching(e));const l=this._scoreMap;this._scoreMap=new Map;let o=this._querySimple(e,r.simples[r.simples.length-1].selector);return o=o.filter(u=>this._matchesParents(u,r,r.simples.length-2,e)),this._scoreMap.size&&o.sort((u,f)=>{const d=this._scoreMap.get(u),g=this._scoreMap.get(f);return d===g?0:d===void 0?1:g===void 0?-1:d-g}),this._scoreMap=l,o})}finally{this.end()}}_markScore(e,i){this._scoreMap&&this._scoreMap.set(e,i)}_hasScopeClause(e){return e.simples.some(i=>i.selector.functions.some(r=>r.name==="scope"))}_expandContextForScopeMatching(e){if(e.scope.nodeType!==1)return e;const i=Et(e.scope);return i?{...e,scope:i,originalScope:e.originalScope||e.scope}:e}_matchesSimple(e,i,r){return this._cached(this._cacheMatchesSimple,e,[i,r.scope,r.pierceShadow,r.originalScope],()=>{if(e===r.scope||i.css&&!this._matchesCSS(e,i.css))return!1;for(const l of i.functions)if(!this._matchesEngine(this._getEngine(l.name),e,l.args,r))return!1;return!0})}_querySimple(e,i){return i.functions.length?this._cached(this._cacheQuerySimple,i,[e.scope,e.pierceShadow,e.originalScope],()=>{let r=i.css;const l=i.functions;r==="*"&&l.length&&(r=void 0);let o,u=-1;r!==void 0?o=this._queryCSS(e,r):(u=l.findIndex(f=>this._getEngine(f.name).query!==void 0),u===-1&&(u=0),o=this._queryEngine(this._getEngine(l[u].name),e,l[u].args));for(let f=0;f<l.length;f++){if(f===u)continue;const d=this._getEngine(l[f].name);d.matches!==void 0&&(o=o.filter(g=>this._matchesEngine(d,g,l[f].args,e)))}for(let f=0;f<l.length;f++){if(f===u)continue;const d=this._getEngine(l[f].name);d.matches===void 0&&(o=o.filter(g=>this._matchesEngine(d,g,l[f].args,e)))}return o}):this._queryCSS(e,i.css||"*")}_matchesParents(e,i,r,l){return r<0?!0:this._cached(this._cacheMatchesParents,e,[i,r,l.scope,l.pierceShadow,l.originalScope],()=>{const{selector:o,combinator:u}=i.simples[r];if(u===">"){const f=zo(e,l);return!f||!this._matchesSimple(f,o,l)?!1:this._matchesParents(f,i,r-1,l)}if(u==="+"){const f=ph(e,l);return!f||!this._matchesSimple(f,o,l)?!1:this._matchesParents(f,i,r-1,l)}if(u===""){let f=zo(e,l);for(;f;){if(this._matchesSimple(f,o,l)){if(this._matchesParents(f,i,r-1,l))return!0;if(i.simples[r-1].combinator==="")break}f=zo(f,l)}return!1}if(u==="~"){let f=ph(e,l);for(;f;){if(this._matchesSimple(f,o,l)){if(this._matchesParents(f,i,r-1,l))return!0;if(i.simples[r-1].combinator==="~")break}f=ph(f,l)}return!1}if(u===">="){let f=e;for(;f;){if(this._matchesSimple(f,o,l)){if(this._matchesParents(f,i,r-1,l))return!0;if(i.simples[r-1].combinator==="")break}f=zo(f,l)}return!1}throw new Error(`Unsupported combinator "${u}"`)})}_matchesEngine(e,i,r,l){if(e.matches)return this._callMatches(e,i,r,l);if(e.query)return this._callQuery(e,r,l).includes(i);throw new Error('Selector engine should implement "matches" or "query"')}_queryEngine(e,i,r){if(e.query)return this._callQuery(e,r,i);if(e.matches)return this._queryCSS(i,"*").filter(l=>this._callMatches(e,l,r,i));throw new Error('Selector engine should implement "matches" or "query"')}_callMatches(e,i,r,l){return this._cached(this._cacheCallMatches,i,[e,l.scope,l.pierceShadow,l.originalScope,...r],()=>e.matches(i,r,l,this))}_callQuery(e,i,r){return this._cached(this._cacheCallQuery,e,[r.scope,r.pierceShadow,r.originalScope,...i],()=>e.query(r,i,this))}_matchesCSS(e,i){return e.matches(i)}_queryCSS(e,i){return this._cached(this._cacheQueryCSS,i,[e.scope,e.pierceShadow,e.originalScope],()=>{let r=[];function l(o){if(r=r.concat([...o.querySelectorAll(i)]),!!e.pierceShadow){o.shadowRoot&&l(o.shadowRoot);for(const u of o.querySelectorAll("*"))u.shadowRoot&&l(u.shadowRoot)}}return l(e.scope),r})}_getEngine(e){const i=this._engines.get(e);if(!i)throw new Error(`Unknown selector engine "${e}"`);return i}}const Ga={matches(n,e,i,r){if(e.length===0)throw new Error('"is" engine expects non-empty selector list');return e.some(l=>r.matches(n,l,i))},query(n,e,i){if(e.length===0)throw new Error('"is" engine expects non-empty selector list');let r=[];for(const l of e)r=r.concat(i.query(n,l));return e.length===1?r:kv(r)}},kT={matches(n,e,i,r){if(e.length===0)throw new Error('"has" engine expects non-empty selector list');return r.query({...i,scope:n},e).length>0}},MT={matches(n,e,i,r){if(e.length!==0)throw new Error('"scope" engine expects no arguments');const l=i.originalScope||i.scope;return l.nodeType===9?n===l.documentElement:n===l},query(n,e,i){if(e.length!==0)throw new Error('"scope" engine expects no arguments');const r=n.originalScope||n.scope;if(r.nodeType===9){const l=r.documentElement;return l?[l]:[]}return r.nodeType===1?[r]:[]}},OT={matches(n,e,i,r){if(e.length===0)throw new Error('"not" engine expects non-empty selector list');return!r.matches(n,e,i)}},jT={query(n,e,i){return i.query({...n,pierceShadow:!1},e)},matches(n,e,i,r){return r.matches(n,e,{...i,pierceShadow:!1})}},LT={matches(n,e,i,r){if(e.length)throw new Error('"visible" engine expects no arguments');return ni(n)}},RT={matches(n,e,i,r){if(e.length!==1||typeof e[0]!="string")throw new Error('"text" engine expects a single string');const l=ut(e[0]).toLowerCase(),o=u=>u.normalized.toLowerCase().includes(l);return Ec(r._cacheText,n,o)==="self"}},DT={matches(n,e,i,r){if(e.length!==1||typeof e[0]!="string")throw new Error('"text-is" engine expects a single string');const l=ut(e[0]),o=u=>!l&&!u.immediate.length?!0:u.immediate.some(f=>ut(f)===l);return Ec(r._cacheText,n,o)!=="none"}},zT={matches(n,e,i,r){if(e.length===0||typeof e[0]!="string"||e.length>2||e.length===2&&typeof e[1]!="string")throw new Error('"text-matches" engine expects a regexp body and optional regexp flags');const l=new RegExp(e[0],e.length===2?e[1]:void 0),o=u=>l.test(u.full);return Ec(r._cacheText,n,o)==="self"}},UT={matches(n,e,i,r){if(e.length!==1||typeof e[0]!="string")throw new Error('"has-text" engine expects a single string');if(Md(n))return!1;const l=ut(e[0]).toLowerCase();return(u=>u.normalized.toLowerCase().includes(l))(Vt(r._cacheText,n))}};function Ha(n){return{matches(e,i,r,l){const o=i.length&&typeof i[i.length-1]=="number"?i[i.length-1]:void 0,u=o===void 0?i:i.slice(0,i.length-1);if(i.length<1+(o===void 0?0:1))throw new Error(`"${n}" engine expects a selector list and optional maximum distance in pixels`);const f=l.query(r,u),d=Av(n,e,f,o);return d===void 0?!1:(l._markScore(e,d),!0)}}}const HT={query(n,e,i){let r=e[e.length-1];if(e.length<2)throw new Error('"nth-match" engine expects non-empty selector list and an index argument');if(typeof r!="number"||r<1)throw new Error('"nth-match" engine expects a one-based index as the last argument');const l=Ga.query(n,e.slice(0,e.length-1),i);return r--,r<l.length?[l[r]]:[]}};function zo(n,e){if(n!==e.scope)return e.pierceShadow?Et(n):n.parentElement||void 0}function ph(n,e){if(n!==e.scope)return n.previousElementSibling||void 0}function kv(n){const e=new Map,i=[],r=[];function l(u){let f=e.get(u);if(f)return f;const d=Et(u);return d?l(d).children.push(u):i.push(u),f={children:[],taken:!1},e.set(u,f),f}for(const u of n)l(u).taken=!0;function o(u){const f=e.get(u);if(f.taken&&r.push(u),f.children.length>1){const d=new Set(f.children);f.children=[];let g=u.firstElementChild;for(;g&&f.children.length<d.size;)d.has(g)&&f.children.push(g),g=g.nextElementSibling;for(g=u.shadowRoot?u.shadowRoot.firstElementChild:null;g&&f.children.length<d.size;)d.has(g)&&f.children.push(g),g=g.nextElementSibling}f.children.forEach(o)}return i.forEach(o),r}const Mv=10,jr=Mv/2,Lb=1,BT=2,qT=10,$T=50,Uh=100,Ov=120,jv=140,Lv=160,Jo=180,Rv=200,Rb=250,IT=Ov+jr,VT=jv+jr,Db=Uh+jr,GT=Lv+jr,KT=Jo+jr,XT=Rv+jr,YT=300,FT=500,Hh=510,gh=520,Dv=530,Bh=1e4,QT=1e7,PT=1e3;function zb(n,e,i){n._evaluator.begin();const r={allowText:new Map,disallowText:new Map};wc(),hd();try{let l=[];if(i.forTextExpect){let f=Ka(n,e.ownerDocument.documentElement,i);for(let d=e;d;d=Et(d)){const g=os(r,n,d,{...i,noText:!0});if(!g)continue;if(cs(g)<=PT){f=g;break}}l=[Zo(f)]}else{if(!e.matches("input,textarea,select")&&!e.isContentEditable){const f=Va(e,"button,select,input,[role=button],[role=checkbox],[role=radio],a,[role=link]",i.root);f&&ni(f)&&(e=f)}if(i.multiple){const f=os(r,n,e,i),d=os(r,n,e,{...i,noText:!0});let g=[f,d];if(r.allowText.clear(),r.disallowText.clear(),f&&mh(f)&&g.push(os(r,n,e,{...i,noCSSId:!0})),d&&mh(d)&&g.push(os(r,n,e,{...i,noText:!0,noCSSId:!0})),g=g.filter(Boolean),!g.length){const b=Ka(n,e,i);g.push(b),mh(b)&&g.push(Ka(n,e,{...i,noCSSId:!0}))}l=[...new Set(g.map(b=>Zo(b)))]}else{const f=os(r,n,e,i)||Ka(n,e,i);l=[Zo(f)]}}const o=l[0],u=n.parseSelector(o);return{selector:o,selectors:l,elements:n.querySelectorAll(u,i.root??e.ownerDocument)}}finally{dd(),xc(),n._evaluator.end()}}function os(n,e,i,r){if(r.root&&!Dh(r.root,i))throw new Error("Target element must belong to the root's subtree");if(i===r.root)return[{engine:"css",selector:":scope",score:1}];if(i.ownerDocument.documentElement===i)return[{engine:"css",selector:"html",score:1}];let l=null;const o=f=>{(!l||cs(f)<cs(l))&&(l=f)},u=[];if(!r.noText)for(const f of ZT(e,i,!r.isRecursive))u.push({candidate:f,isTextCandidate:!0});for(const f of JT(e,i,r))r.omitInternalEngines&&f.engine.startsWith("internal:")||u.push({candidate:[f],isTextCandidate:!1});u.sort((f,d)=>cs(f.candidate)-cs(d.candidate));for(const{candidate:f,isTextCandidate:d}of u){const g=e.querySelectorAll(e.parseSelector(Zo(f)),r.root??i.ownerDocument);if(!g.includes(i))continue;if(g.length===1){o(f);break}const b=g.indexOf(i);if(!(b>5)&&(o([...f,{engine:"nth",selector:String(b),score:Bh}]),!r.isRecursive))for(let m=Et(i);m&&m!==r.root;m=Et(m)){const S=g.filter($=>Dh(m,$)&&$!==m),w=S.indexOf(i);if(S.length>5||w===-1||w===b&&S.length>1)continue;const E=S.length===1?f:[...f,{engine:"nth",selector:String(w),score:Bh}];if(l&&cs([{engine:"",selector:"",score:1},...E])>=cs(l))continue;const _=!!r.noText||d,A=_?n.disallowText:n.allowText;let N=A.get(m);N===void 0&&(N=os(n,e,m,{...r,isRecursive:!0,noText:_})||Ka(e,m,r),A.set(m,N)),N&&o([...N,...E])}}return l}function JT(n,e,i){const r=[];{for(const u of["data-testid","data-test-id","data-test"])u!==i.testIdAttributeName&&e.getAttribute(u)&&r.push({engine:"css",selector:`[${u}=${dr(e.getAttribute(u))}]`,score:BT});if(!i.noCSSId){const u=e.getAttribute("id");u&&!WT(u)&&r.push({engine:"css",selector:zv(u),score:FT})}r.push({engine:"css",selector:ti(e),score:Dv})}if(e.nodeName==="IFRAME"){for(const u of["name","title"])e.getAttribute(u)&&r.push({engine:"css",selector:`${ti(e)}[${u}=${dr(e.getAttribute(u))}]`,score:qT});return e.getAttribute(i.testIdAttributeName)&&r.push({engine:"css",selector:`[${i.testIdAttributeName}=${dr(e.getAttribute(i.testIdAttributeName))}]`,score:Lb}),qh([r]),r}if(e.getAttribute(i.testIdAttributeName)&&r.push({engine:"internal:testid",selector:`[${i.testIdAttributeName}=${Je(e.getAttribute(i.testIdAttributeName),!0)}]`,score:Lb}),e.nodeName==="INPUT"||e.nodeName==="TEXTAREA"){const u=e;if(u.placeholder){r.push({engine:"internal:attr",selector:`[placeholder=${Je(u.placeholder,!0)}]`,score:IT});for(const f of hs(u.placeholder))r.push({engine:"internal:attr",selector:`[placeholder=${Je(f.text,!1)}]`,score:Ov-f.scoreBonus})}}const l=Cv(n._evaluator._cacheText,e);for(const u of l){const f=u.normalized;r.push({engine:"internal:label",selector:$t(f,!0),score:VT});for(const d of hs(f))r.push({engine:"internal:label",selector:$t(d.text,!1),score:jv-d.scoreBonus})}const o=xt(e);return o&&!["none","presentation"].includes(o)&&r.push({engine:"internal:role",selector:o,score:Hh}),e.getAttribute("name")&&["BUTTON","FORM","FIELDSET","FRAME","IFRAME","INPUT","KEYGEN","OBJECT","OUTPUT","SELECT","TEXTAREA","MAP","META","PARAM"].includes(e.nodeName)&&r.push({engine:"css",selector:`${ti(e)}[name=${dr(e.getAttribute("name"))}]`,score:gh}),["INPUT","TEXTAREA"].includes(e.nodeName)&&e.getAttribute("type")!=="hidden"&&e.getAttribute("type")&&r.push({engine:"css",selector:`${ti(e)}[type=${dr(e.getAttribute("type"))}]`,score:gh}),["INPUT","TEXTAREA","SELECT"].includes(e.nodeName)&&e.getAttribute("type")!=="hidden"&&r.push({engine:"css",selector:ti(e),score:gh+1}),qh([r]),r}function ZT(n,e,i){if(e.nodeName==="SELECT")return[];const r=[],l=e.getAttribute("title");if(l){r.push([{engine:"internal:attr",selector:`[title=${Je(l,!0)}]`,score:XT}]);for(const g of hs(l))r.push([{engine:"internal:attr",selector:`[title=${Je(g.text,!1)}]`,score:Rv-g.scoreBonus}])}const o=e.getAttribute("alt");if(o&&["APPLET","AREA","IMG","INPUT"].includes(e.nodeName)){r.push([{engine:"internal:attr",selector:`[alt=${Je(o,!0)}]`,score:GT}]);for(const g of hs(o))r.push([{engine:"internal:attr",selector:`[alt=${Je(g.text,!1)}]`,score:Lv-g.scoreBonus}])}const u=Vt(n._evaluator._cacheText,e).normalized,f=u?hs(u):[];if(u){if(i){u.length<=80&&r.push([{engine:"internal:text",selector:$t(u,!0),score:KT}]);for(const b of f)r.push([{engine:"internal:text",selector:$t(b.text,!1),score:Jo-b.scoreBonus}])}const g={engine:"css",selector:ti(e),score:Dv};for(const b of f)r.push([g,{engine:"internal:has-text",selector:$t(b.text,!1),score:Jo-b.scoreBonus}]);if(i&&u.length<=80){const b=new RegExp("^"+lc(u)+"$");r.push([g,{engine:"internal:has-text",selector:$t(b,!1),score:Rb}])}}const d=xt(e);if(d&&!["none","presentation"].includes(d)){const g=rl(e,!1);if(g&&!g.match(new RegExp("^\\p{Co}+$","u"))){const b={engine:"internal:role",selector:`${d}[name=${Je(g,!0)}]`,score:Db};r.push([b]);for(const S of hs(g))r.push([{engine:"internal:role",selector:`${d}[name=${Je(S.text,!1)}]`,score:Uh-S.scoreBonus}]);const m=al(e,!1);if(m){r.push([{engine:"internal:role",selector:`${d}[name=${Je(g,!0)}][description=${Je(m,!0)}]`,score:Db+1}]);for(const S of hs(g))r.push([{engine:"internal:role",selector:`${d}[name=${Je(S.text,!1)}][description=${Je(m,!0)}]`,score:Uh-S.scoreBonus+1}])}}else{const b={engine:"internal:role",selector:`${d}`,score:Hh},m=al(e,!1);m&&r.push([{engine:"internal:role",selector:`${d}[description=${Je(m,!0)}]`,score:Hh+1}]);for(const S of f)r.push([b,{engine:"internal:has-text",selector:$t(S.text,!1),score:Jo-S.scoreBonus}]);if(i&&u.length<=80){const S=new RegExp("^"+lc(u)+"$");r.push([b,{engine:"internal:has-text",selector:$t(S,!1),score:Rb}])}}}return qh(r),r}function zv(n){return/^[a-zA-Z][a-zA-Z0-9\-\_]+$/.test(n)?"#"+n:`[id=${dr(n)}]`}function mh(n){return n.some(e=>e.engine==="css"&&(e.selector.startsWith("#")||e.selector.startsWith('[id="')))}function Ka(n,e,i){const r=i.root??e.ownerDocument,l=[];function o(f){const d=l.slice();f&&d.unshift(f);const g=d.join(" > "),b=n.parseSelector(g);return n.querySelector(b,r,!1)===e?g:void 0}function u(f){const d={engine:"css",selector:f,score:QT},g=n.parseSelector(f),b=n.querySelectorAll(g,r);if(b.length===1)return[d];const m={engine:"nth",selector:String(b.indexOf(e)),score:Bh};return[d,m]}for(let f=e;f&&f!==r;f=Et(f)){let d="";if(f.id&&!i.noCSSId){const m=zv(f.id),S=o(m);if(S)return u(S);d=m}const g=f.parentNode,b=[...f.classList].map(eA);for(let m=0;m<b.length;++m){const S="."+b.slice(0,m+1).join("."),w=o(S);if(w)return u(w);!d&&g&&g.querySelectorAll(S).length===1&&(d=S)}if(g){const m=[...g.children],S=f.nodeName,E=m.filter(_=>_.nodeName===S).indexOf(f)===0?ti(f):`${ti(f)}:nth-child(${1+m.indexOf(f)})`,x=o(E);if(x)return u(x);d||(d=E)}else d||(d=ti(f));l.unshift(d)}return u(o())}function qh(n){for(const e of n)for(const i of e)i.score>$T&&i.score<YT&&(i.score+=Math.min(Mv,i.selector.length/10|0))}function Zo(n){const e=[];let i="";for(const{engine:r,selector:l}of n)e.length&&(i!=="css"||r!=="css"||l.startsWith(":nth-match("))&&e.push(">>"),i=r,r==="css"?e.push(l):e.push(`${r}=${l}`);return e.join(" ")}function cs(n){let e=0;for(let i=0;i<n.length;i++)e+=n[i].score*(n.length-i);return e}function WT(n){let e,i=0;for(let r=0;r<n.length;++r){const l=n[r];let o;if(!(l==="-"||l==="_")){if(l>="a"&&l<="z"?o="lower":l>="A"&&l<="Z"?o="upper":l>="0"&&l<="9"?o="digit":o="other",o==="lower"&&e==="upper"){e=o;continue}e&&e!==o&&++i,e=o}}return i>=n.length/4}function Uo(n,e){if(n.length<=e)return n;n=n.substring(0,e);const i=n.match(/^(.*)\b(.+?)$/);return i?i[1].trimEnd():""}function hs(n){let e=[];{const i=n.match(/^([\d.,]+)[^.,\w]/),r=i?i[1].length:0;if(r){const l=Uo(n.substring(r).trimStart(),80);e.push({text:l,scoreBonus:l.length<=30?2:1})}}{const i=n.match(/[^.,\w]([\d.,]+)$/),r=i?i[1].length:0;if(r){const l=Uo(n.substring(0,n.length-r).trimEnd(),80);e.push({text:l,scoreBonus:l.length<=30?2:1})}}return n.length<=30?e.push({text:n,scoreBonus:0}):(e.push({text:Uo(n,80),scoreBonus:0}),e.push({text:Uo(n,30),scoreBonus:1})),e=e.filter(i=>i.text),e.length||e.push({text:n.substring(0,80),scoreBonus:0}),e}function ti(n){return n.nodeName.toLocaleLowerCase().replace(/[:\.]/g,e=>"\\"+e)}function eA(n){let e="";for(let i=0;i<n.length;i++)e+=tA(n,i);return e}function tA(n,e){const i=n.charCodeAt(e);return i===0?"�":i>=1&&i<=31||i>=48&&i<=57&&(e===0||e===1&&n.charCodeAt(0)===45)?"\\"+i.toString(16)+" ":e===0&&i===45&&n.length===1?"\\"+n.charAt(e):i>=128||i===45||i===95||i>=48&&i<=57||i>=65&&i<=90||i>=97&&i<=122?n.charAt(e):"\\"+n.charAt(e)}const Ub={queryAll(n,e){e.startsWith("/")&&n.nodeType!==Node.DOCUMENT_NODE&&(e="."+e);const i=[],r=n.ownerDocument||n;if(!r)return i;const l=r.evaluate(e,n,null,XPathResult.ORDERED_NODE_ITERATOR_TYPE);for(let o=l.iterateNext();o;o=l.iterateNext())o.nodeType===Node.ELEMENT_NODE&&i.push(o);return i}};function Od(n,e,i){return`internal:attr=[${n}=${Je(e,(i==null?void 0:i.exact)||!1)}]`}function nA(n,e){return`internal:testid=[${n}=${Je(e,!0)}]`}function iA(n,e){return"internal:label="+$t(n,!!(e!=null&&e.exact))}function sA(n,e){return Od("alt",n,e)}function rA(n,e){return Od("title",n,e)}function aA(n,e){return Od("placeholder",n,e)}function lA(n,e){return"internal:text="+$t(n,!!(e!=null&&e.exact))}function oA(n,e={}){const i=[];return e.checked!==void 0&&i.push(["checked",String(e.checked)]),e.disabled!==void 0&&i.push(["disabled",String(e.disabled)]),e.selected!==void 0&&i.push(["selected",String(e.selected)]),e.expanded!==void 0&&i.push(["expanded",String(e.expanded)]),e.includeHidden!==void 0&&i.push(["include-hidden",String(e.includeHidden)]),e.level!==void 0&&i.push(["level",String(e.level)]),e.name!==void 0&&i.push(["name",Je(e.name,!!e.exact)]),e.description!==void 0&&i.push(["description",Je(e.description,!!e.exact)]),e.pressed!==void 0&&i.push(["pressed",String(e.pressed)]),`internal:role=${n}${i.map(([r,l])=>`[${r}=${l}]`).join("")}`}const Ba=Symbol("selector"),cA=class Xa{constructor(e,i,r){if(r!=null&&r.hasText&&(i+=` >> internal:has-text=${$t(r.hasText,!1)}`),r!=null&&r.hasNotText&&(i+=` >> internal:has-not-text=${$t(r.hasNotText,!1)}`),r!=null&&r.has&&(i+=" >> internal:has="+JSON.stringify(r.has[Ba])),r!=null&&r.hasNot&&(i+=" >> internal:has-not="+JSON.stringify(r.hasNot[Ba])),(r==null?void 0:r.visible)!==void 0&&(i+=` >> visible=${r.visible?"true":"false"}`),this[Ba]=i,i){const u=e.parseSelector(i);this.element=e.querySelector(u,e.document,!1),this.elements=e.querySelectorAll(u,e.document)}const l=i,o=this;o.locator=(u,f)=>new Xa(e,l?l+" >> "+u:u,f),o.getByTestId=u=>o.locator(nA(e.testIdAttributeNameForStrictErrorAndConsoleCodegen(),u)),o.getByAltText=(u,f)=>o.locator(sA(u,f)),o.getByLabel=(u,f)=>o.locator(iA(u,f)),o.getByPlaceholder=(u,f)=>o.locator(aA(u,f)),o.getByText=(u,f)=>o.locator(lA(u,f)),o.getByTitle=(u,f)=>o.locator(rA(u,f)),o.getByRole=(u,f={})=>o.locator(oA(u,f)),o.filter=u=>new Xa(e,i,u),o.first=()=>o.locator("nth=0"),o.last=()=>o.locator("nth=-1"),o.nth=u=>o.locator(`nth=${u}`),o.and=u=>new Xa(e,l+" >> internal:and="+JSON.stringify(u[Ba])),o.or=u=>new Xa(e,l+" >> internal:or="+JSON.stringify(u[Ba]))}};let uA=cA;class fA{constructor(e){this._injectedScript=e}install(){this._injectedScript.window.playwright||(this._injectedScript.window.playwright={$:(e,i)=>this._querySelector(e,!!i),$$:e=>this._querySelectorAll(e),inspect:e=>this._inspect(e),selector:e=>this._selector(e),generateLocator:(e,i)=>this._generateLocator(e,i),ariaSnapshot:(e,i)=>this._injectedScript.ariaSnapshot(e||this._injectedScript.document.body,i||{mode:"default"}),resume:()=>this._resume(),...new uA(this._injectedScript,"")},delete this._injectedScript.window.playwright.filter,delete this._injectedScript.window.playwright.first,delete this._injectedScript.window.playwright.last,delete this._injectedScript.window.playwright.nth,delete this._injectedScript.window.playwright.and,delete this._injectedScript.window.playwright.or)}_querySelector(e,i){if(typeof e!="string")throw new Error("Usage: playwright.query('Playwright >> selector').");const r=this._injectedScript.parseSelector(e);return this._injectedScript.querySelector(r,this._injectedScript.document,i)}_querySelectorAll(e){if(typeof e!="string")throw new Error("Usage: playwright.$$('Playwright >> selector').");const i=this._injectedScript.parseSelector(e);return this._injectedScript.querySelectorAll(i,this._injectedScript.document)}_inspect(e){if(typeof e!="string")throw new Error("Usage: playwright.inspect('Playwright >> selector').");this._injectedScript.window.inspect(this._querySelector(e,!1))}_selector(e){if(!(e instanceof Element))throw new Error("Usage: playwright.selector(element).");return this._injectedScript.generateSelectorSimple(e)}_generateLocator(e,i){if(!(e instanceof Element))throw new Error("Usage: playwright.locator(element).");const r=this._injectedScript.generateSelectorSimple(e);return Di(i||"javascript",r)}_resume(){if(!this._injectedScript.window.__pw_resume)return!1;this._injectedScript.window.__pw_resume().catch(()=>{})}}function hA(n){try{return n instanceof RegExp||Object.prototype.toString.call(n)==="[object RegExp]"}catch{return!1}}function dA(n){try{return n instanceof Date||Object.prototype.toString.call(n)==="[object Date]"}catch{return!1}}function pA(n){try{return n instanceof URL||Object.prototype.toString.call(n)==="[object URL]"}catch{return!1}}function gA(n){var e;try{return n instanceof Error||n&&((e=Object.getPrototypeOf(n))==null?void 0:e.name)==="Error"}catch{return!1}}function mA(n,e){try{return n instanceof e||Object.prototype.toString.call(n)===`[object ${e.name}]`}catch{return!1}}function yA(n){try{return n instanceof ArrayBuffer||Object.prototype.toString.call(n)==="[object ArrayBuffer]"}catch{return!1}}const Uv={i8:Int8Array,ui8:Uint8Array,ui8c:Uint8ClampedArray,i16:Int16Array,ui16:Uint16Array,i32:Int32Array,ui32:Uint32Array,f32:Float32Array,f64:Float64Array,bi64:BigInt64Array,bui64:BigUint64Array};function Hb(n){if("toBase64"in n)return n.toBase64();const e=Array.from(new Uint8Array(n.buffer,n.byteOffset,n.byteLength)).map(i=>String.fromCharCode(i)).join("");return btoa(e)}function Bb(n,e){const i=atob(n),r=new Uint8Array(i.length);for(let l=0;l<i.length;l++)r[l]=i.charCodeAt(l);return new e(r.buffer)}function $h(n,e=[],i=new Map){if(!Object.is(n,void 0)){if(typeof n=="object"&&n){if("ref"in n)return i.get(n.ref);if("v"in n)return n.v==="undefined"?void 0:n.v==="null"?null:n.v==="NaN"?NaN:n.v==="Infinity"?1/0:n.v==="-Infinity"?-1/0:n.v==="-0"?-0:void 0;if("d"in n)return new Date(n.d);if("u"in n)return new URL(n.u);if("bi"in n)return BigInt(n.bi);if("e"in n){const r=new Error(n.e.m);return r.name=n.e.n,r.stack=n.e.s,r}if("r"in n)return new RegExp(n.r.p,n.r.f);if("a"in n){const r=[];i.set(n.id,r);for(const l of n.a)r.push($h(l,e,i));return r}if("o"in n){const r={};i.set(n.id,r);for(const{k:l,v:o}of n.o)l!=="__proto__"&&(r[l]=$h(o,e,i));return r}if("h"in n)return e[n.h];if("ta"in n)return Bb(n.ta.b,Uv[n.ta.k]);if("ab"in n)return Bb(n.ab.b,Uint8Array).buffer}return n}}function bA(n,e){return Ih(n,e,{visited:new Map,lastId:0})}function Ih(n,e,i){if(n&&typeof n=="object"){if(typeof globalThis.Window=="function"&&n instanceof globalThis.Window)return"ref: <Window>";if(typeof globalThis.Document=="function"&&n instanceof globalThis.Document)return"ref: <Document>";if(typeof globalThis.Node=="function"&&n instanceof globalThis.Node)return"ref: <Node>"}return Hv(n,e,i)}function Hv(n,e,i){var o;const r=e(n);if("fallThrough"in r)n=r.fallThrough;else return r;if(typeof n=="symbol")return{v:"undefined"};if(Object.is(n,void 0))return{v:"undefined"};if(Object.is(n,null))return{v:"null"};if(Object.is(n,NaN))return{v:"NaN"};if(Object.is(n,1/0))return{v:"Infinity"};if(Object.is(n,-1/0))return{v:"-Infinity"};if(Object.is(n,-0))return{v:"-0"};if(typeof n=="boolean"||typeof n=="number"||typeof n=="string")return n;if(typeof n=="bigint")return{bi:n.toString()};if(gA(n)){let u;return(o=n.stack)!=null&&o.startsWith(n.name+": "+n.message)?u=n.stack:u=`${n.name}: ${n.message}
109 -${n.stack}`,{e:{n:n.name,m:n.message,s:u}}}if(dA(n))return{d:n.toJSON()};if(pA(n))return{u:n.toJSON()};if(hA(n))return{r:{p:n.source,f:n.flags}};for(const[u,f]of Object.entries(Uv))if(mA(n,f))return{ta:{b:Hb(n),k:u}};if(yA(n))return{ab:{b:Hb(new Uint8Array(n))}};const l=i.visited.get(n);if(l)return{ref:l};if(Array.isArray(n)){const u=[],f=++i.lastId;i.visited.set(n,f);for(let d=0;d<n.length;++d)u.push(Ih(n[d],e,i));return{a:u,id:f}}if(typeof n=="object"){const u=[],f=++i.lastId;i.visited.set(n,f);for(const g of Object.keys(n)){let b;try{b=n[g]}catch{continue}g==="toJSON"&&typeof b=="function"?u.push({k:g,v:{o:[],id:0}}):u.push({k:g,v:Ih(b,e,i)})}let d;try{u.length===0&&n.toJSON&&typeof n.toJSON=="function"&&(d={value:n.toJSON()})}catch{}return d?Hv(d.value,e,i):{o:u,id:f}}}class vA{constructor(e,i){var r,l,o,u,f,d,g,b;this.global=e,this.isUnderTest=i,e.__pwClock?this.builtins=e.__pwClock.builtins:this.builtins={setTimeout:(r=e.setTimeout)==null?void 0:r.bind(e),clearTimeout:(l=e.clearTimeout)==null?void 0:l.bind(e),setInterval:(o=e.setInterval)==null?void 0:o.bind(e),clearInterval:(u=e.clearInterval)==null?void 0:u.bind(e),requestAnimationFrame:(f=e.requestAnimationFrame)==null?void 0:f.bind(e),cancelAnimationFrame:(d=e.cancelAnimationFrame)==null?void 0:d.bind(e),requestIdleCallback:(g=e.requestIdleCallback)==null?void 0:g.bind(e),cancelIdleCallback:(b=e.cancelIdleCallback)==null?void 0:b.bind(e),performance:e.performance,Intl:e.Intl,Date:e.Date,AbortSignal:e.AbortSignal},this.isUnderTest&&(e.builtins=this.builtins)}evaluate(e,i,r,l,...o){const u=o.slice(0,l),f=o.slice(l),d=[];for(let b=0;b<u.length;b++)d[b]=$h(u[b],f);let g=this.global.eval(r);return e===!0?g=g(...d):e===!1?g=g:typeof g=="function"&&(g=g(...d)),i?this._promiseAwareJsonValueNoThrow(g):g}jsonValue(e,i){if(i!==void 0)return bA(i,r=>({fallThrough:r}))}_promiseAwareJsonValueNoThrow(e){const i=r=>{try{return this.jsonValue(!0,r)}catch{return}};return e&&typeof e=="object"&&typeof e.then=="function"?(async()=>{const r=await e;return i(r)})():i(e)}}class Bv{constructor(e,i){this._testIdAttributeNameForStrictErrorAndConsoleCodegen="data-testid",this._lastAriaSnapshotForTrack=new Map,this.utils={asLocator:Di,cacheNormalizedWhitespaces:r_,elementText:Vt,getAriaRole:xt,getElementAccessibleDescription:al,getElementAccessibleName:rl,isElementVisible:ni,isInsideScope:Dh,normalizeWhiteSpace:ut,parseAriaSnapshot:od,generateAriaTree:yr,findNewElement:vT,builtins:null},this.window=e,this.document=e.document,this.isUnderTest=i.isUnderTest,this.utils.builtins=new vA(e,i.isUnderTest).builtins,this._sdkLanguage=i.sdkLanguage,this._testIdAttributeNameForStrictErrorAndConsoleCodegen=i.testIdAttributeName,this._evaluator=new NT,this.consoleApi=new fA(this),this.onGlobalListenersRemoved=new Set,this._autoClosingTags=new Set(["AREA","BASE","BR","COL","COMMAND","EMBED","HR","IMG","INPUT","KEYGEN","LINK","MENUITEM","META","PARAM","SOURCE","TRACK","WBR"]),this._booleanAttributes=new Set(["checked","selected","disabled","readonly","multiple"]),this._eventTypes=new Map([["auxclick","mouse"],["click","mouse"],["dblclick","mouse"],["mousedown","mouse"],["mouseeenter","mouse"],["mouseleave","mouse"],["mousemove","mouse"],["mouseout","mouse"],["mouseover","mouse"],["mouseup","mouse"],["mouseleave","mouse"],["mousewheel","mouse"],["keydown","keyboard"],["keyup","keyboard"],["keypress","keyboard"],["textInput","keyboard"],["touchstart","touch"],["touchmove","touch"],["touchend","touch"],["touchcancel","touch"],["pointerover","pointer"],["pointerout","pointer"],["pointerenter","pointer"],["pointerleave","pointer"],["pointerdown","pointer"],["pointerup","pointer"],["pointermove","pointer"],["pointercancel","pointer"],["gotpointercapture","pointer"],["lostpointercapture","pointer"],["focus","focus"],["blur","focus"],["drag","drag"],["dragstart","drag"],["dragend","drag"],["dragover","drag"],["dragenter","drag"],["dragleave","drag"],["dragexit","drag"],["drop","drag"],["wheel","wheel"],["deviceorientation","deviceorientation"],["deviceorientationabsolute","deviceorientation"],["devicemotion","devicemotion"]]),this._hoverHitTargetInterceptorEvents=new Set(["mousemove"]),this._tapHitTargetInterceptorEvents=new Set(["pointerdown","pointerup","touchstart","touchend","touchcancel"]),this._mouseHitTargetInterceptorEvents=new Set(["mousedown","mouseup","pointerdown","pointerup","click","auxclick","dblclick","contextmenu"]),this._allHitTargetInterceptorEvents=new Set([...this._hoverHitTargetInterceptorEvents,...this._tapHitTargetInterceptorEvents,...this._mouseHitTargetInterceptorEvents]),this._engines=new Map,this._engines.set("xpath",Ub),this._engines.set("xpath:light",Ub),this._engines.set("role",jb(!1)),this._engines.set("text",this._createTextEngine(!0,!1)),this._engines.set("text:light",this._createTextEngine(!1,!1)),this._engines.set("id",this._createAttributeEngine("id",!0)),this._engines.set("id:light",this._createAttributeEngine("id",!1)),this._engines.set("data-testid",this._createAttributeEngine("data-testid",!0)),this._engines.set("data-testid:light",this._createAttributeEngine("data-testid",!1)),this._engines.set("data-test-id",this._createAttributeEngine("data-test-id",!0)),this._engines.set("data-test-id:light",this._createAttributeEngine("data-test-id",!1)),this._engines.set("data-test",this._createAttributeEngine("data-test",!0)),this._engines.set("data-test:light",this._createAttributeEngine("data-test",!1)),this._engines.set("css",this._createCSSEngine()),this._engines.set("nth",{queryAll:()=>[]}),this._engines.set("visible",this._createVisibleEngine()),this._engines.set("internal:control",this._createControlEngine()),this._engines.set("internal:has",this._createHasEngine()),this._engines.set("internal:has-not",this._createHasNotEngine()),this._engines.set("internal:and",{queryAll:()=>[]}),this._engines.set("internal:or",{queryAll:()=>[]}),this._engines.set("internal:chain",this._createInternalChainEngine()),this._engines.set("internal:label",this._createInternalLabelEngine()),this._engines.set("internal:text",this._createTextEngine(!0,!0)),this._engines.set("internal:has-text",this._createInternalHasTextEngine()),this._engines.set("internal:has-not-text",this._createInternalHasNotTextEngine()),this._engines.set("internal:attr",this._createNamedAttributeEngine()),this._engines.set("internal:testid",this._createNamedAttributeEngine()),this._engines.set("internal:role",jb(!0)),this._engines.set("internal:describe",this._createDescribeEngine()),this._engines.set("aria-ref",this._createAriaRefEngine());for(const{name:r,source:l}of i.customEngines)this._engines.set(r,this.eval(l));this._stableRafCount=i.stableRafCount,this._browserName=i.browserName,this._shouldPrependErrorPrefix=!!i.shouldPrependErrorPrefix,this._isUtilityWorld=!!i.isUtilityWorld,IE({browserNameForWorkarounds:i.browserName}),this._setupGlobalListenersRemovalDetection(),this._setupHitTargetInterceptors(),this.isUnderTest&&(this.window.__injectedScript=this)}eval(e){return this.window.eval(e)}testIdAttributeNameForStrictErrorAndConsoleCodegen(){return this._testIdAttributeNameForStrictErrorAndConsoleCodegen}parseSelector(e){const i=fl(e);return i_(i,r=>{if(!this._engines.has(r.name))throw this.createStacklessError(`Unknown engine "${r.name}" while parsing selector ${e}`)}),i}generateSelector(e,i){return zb(this,e,i)}generateSelectorSimple(e,i){return zb(this,e,{...i,testIdAttributeName:this._testIdAttributeNameForStrictErrorAndConsoleCodegen}).selector}querySelector(e,i,r){const l=this.querySelectorAll(e,i);if(r&&l.length>1)throw this.strictModeViolationError(e,l);return this.checkDeprecatedSelectorUsage(e,l),l[0]}_queryNth(e,i){const r=[...e];let l=+i.body;return l===-1&&(l=r.length-1),new Set(r.slice(l,l+1))}_queryLayoutSelector(e,i,r){const l=i.name,o=i.body,u=[],f=this.querySelectorAll(o.parsed,r);for(const d of e){const g=Av(l,d,f,o.distance);g!==void 0&&u.push({element:d,score:g})}return u.sort((d,g)=>d.score-g.score),new Set(u.map(d=>d.element))}ariaSnapshot(e,i){return this.incrementalAriaSnapshot(e,i).full}incrementalAriaSnapshot(e,i){if(e.nodeType!==Node.ELEMENT_NODE)throw this.createStacklessError("Can only capture aria snapshot of Element nodes.");const r=yr(e,i),l=br(r,i);let o;if(i.track){const u=this._lastAriaSnapshotForTrack.get(i.track);u&&(o=br(r,i,u).text),this._lastAriaSnapshotForTrack.set(i.track,r)}return this._lastAriaSnapshotForQuery=r,{full:l.text,incremental:o,iframeRefs:r.iframeRefs,iframeDepths:l.iframeDepths}}ariaSnapshotForRecorder(){const e=yr(this.document.body,{mode:"ai"}),{text:i}=br(e,{mode:"ai"});return{ariaSnapshot:i,refs:e.refs}}getAllElementsMatchingExpectAriaTemplate(e,i){return pT(e.documentElement,i)}querySelectorAll(e,i){if(e.capture!==void 0){if(e.parts.some(l=>l.name==="nth"))throw this.createStacklessError("Can't query n-th element in a request with the capture.");const r={parts:e.parts.slice(0,e.capture+1)};if(e.capture<e.parts.length-1){const l={parts:e.parts.slice(e.capture+1)},o={name:"internal:has",body:{parsed:l},source:gn(l)};r.parts.push(o)}return this.querySelectorAll(r,i)}if(!i.querySelectorAll)throw this.createStacklessError("Node is not queryable.");if(e.capture!==void 0)throw this.createStacklessError("Internal error: there should not be a capture in the selector.");if(i.nodeType===11&&e.parts.length===1&&e.parts[0].name==="css"&&e.parts[0].source===":scope")return[i];this._evaluator.begin();try{let r=new Set([i]);for(const l of e.parts)if(l.name==="nth")r=this._queryNth(r,l);else if(l.name==="internal:and"){const o=this.querySelectorAll(l.body.parsed,i);r=new Set(o.filter(u=>r.has(u)))}else if(l.name==="internal:or"){const o=this.querySelectorAll(l.body.parsed,i);r=new Set(kv(new Set([...r,...o])))}else if(TT.includes(l.name))r=this._queryLayoutSelector(r,l,i);else{const o=new Set;for(const u of r){const f=this._queryEngineAll(l,u);for(const d of f)o.add(d)}r=o}return[...r]}finally{this._evaluator.end()}}_queryEngineAll(e,i){const r=this._engines.get(e.name).queryAll(i,e.body);for(const l of r)if(!("nodeName"in l))throw this.createStacklessError(`Expected a Node but got ${Object.prototype.toString.call(l)}`);return r}_createAttributeEngine(e,i){const r=l=>[{simples:[{selector:{css:`[${e}=${JSON.stringify(l)}]`,functions:[]},combinator:""}]}];return{queryAll:(l,o)=>this._evaluator.query({scope:l,pierceShadow:i},r(o))}}_createCSSEngine(){return{queryAll:(e,i)=>this._evaluator.query({scope:e,pierceShadow:!0},i)}}_createTextEngine(e,i){return{queryAll:(l,o)=>{const{matcher:u,kind:f}=Bo(o,i),d=[];let g=null;const b=S=>{if(f==="lax"&&g&&g.contains(S))return!1;const w=Ec(this._evaluator._cacheText,S,u);w==="none"&&(g=S),(w==="self"||w==="selfAndChildren"&&f==="strict"&&!i)&&d.push(S)};l.nodeType===Node.ELEMENT_NODE&&b(l);const m=this._evaluator._queryCSS({scope:l,pierceShadow:e},"*");for(const S of m)b(S);return d}}}_createInternalHasTextEngine(){return{queryAll:(e,i)=>{if(e.nodeType!==1)return[];const r=e,l=Vt(this._evaluator._cacheText,r),{matcher:o}=Bo(i,!0);return o(l)?[r]:[]}}}_createInternalHasNotTextEngine(){return{queryAll:(e,i)=>{if(e.nodeType!==1)return[];const r=e,l=Vt(this._evaluator._cacheText,r),{matcher:o}=Bo(i,!0);return o(l)?[]:[r]}}}_createInternalLabelEngine(){return{queryAll:(e,i)=>{const{matcher:r}=Bo(i,!0);return this._evaluator._queryCSS({scope:e,pierceShadow:!0},"*").filter(o=>Cv(this._evaluator._cacheText,o).some(u=>r(u)))}}}_createNamedAttributeEngine(){return{queryAll:(i,r)=>{const l=Qa(r);if(l.name||l.attributes.length!==1)throw new Error("Malformed attribute selector: "+r);const{name:o,value:u,caseSensitive:f}=l.attributes[0],d=f?null:u.toLowerCase();let g;return u instanceof RegExp?g=m=>!!m.match(u):f?g=m=>m===u:g=m=>m.toLowerCase().includes(d),this._evaluator._queryCSS({scope:i,pierceShadow:!0},`[${o}]`).filter(m=>g(m.getAttribute(o)))}}}_createDescribeEngine(){return{queryAll:i=>i.nodeType!==1?[]:[i]}}_createControlEngine(){return{queryAll(e,i){if(i==="enter-frame")return[];if(i==="return-empty")return[];if(i==="component")return e.nodeType!==1?[]:[e.childElementCount===1?e.firstElementChild:e];throw new Error(`Internal error, unknown internal:control selector ${i}`)}}}_createHasEngine(){return{queryAll:(i,r)=>i.nodeType!==1?[]:!!this.querySelector(r.parsed,i,!1)?[i]:[]}}_createHasNotEngine(){return{queryAll:(i,r)=>i.nodeType!==1?[]:!!this.querySelector(r.parsed,i,!1)?[]:[i]}}_createVisibleEngine(){return{queryAll:(i,r)=>{if(i.nodeType!==1)return[];const l=r==="true";return ni(i)===l?[i]:[]}}}_createInternalChainEngine(){return{queryAll:(i,r)=>this.querySelectorAll(r.parsed,i)}}extend(e,i){const r=this.window.eval(`
110 - (() => {
111 - const module = {};
112 - ${e}
113 - return module.exports.default();
114 - })()`);return new r(this,i)}async viewportRatio(e){return await new Promise(i=>{const r=new IntersectionObserver(l=>{i(l[0].intersectionRatio),r.disconnect()});r.observe(e),this.utils.builtins.requestAnimationFrame(()=>{})})}getElementBorderWidth(e){if(e.nodeType!==Node.ELEMENT_NODE||!e.ownerDocument||!e.ownerDocument.defaultView)return{left:0,top:0};const i=e.ownerDocument.defaultView.getComputedStyle(e);return{left:parseInt(i.borderLeftWidth||"",10),top:parseInt(i.borderTopWidth||"",10)}}describeIFrameStyle(e){if(!e.ownerDocument||!e.ownerDocument.defaultView)return"error:notconnected";const i=e.ownerDocument.defaultView;for(let l=e;l;l=Et(l))if(i.getComputedStyle(l).transform!=="none")return"transformed";const r=i.getComputedStyle(e);return{left:parseInt(r.borderLeftWidth||"",10)+parseInt(r.paddingLeft||"",10),top:parseInt(r.borderTopWidth||"",10)+parseInt(r.paddingTop||"",10)}}retarget(e,i){let r=e.nodeType===Node.ELEMENT_NODE?e:e.parentElement;if(!r)return null;if(i==="none")return r;if(!r.matches("input, textarea, select")&&!r.isContentEditable&&(i==="button-link"?r=r.closest("button, [role=button], a, [role=link]")||r:r=r.closest("button, [role=button], [role=checkbox], [role=radio]")||r),i==="follow-label"&&!r.matches("a, input, textarea, button, select, [role=link], [role=button], [role=checkbox], [role=radio]")&&!r.isContentEditable){const l=r.closest("label");l&&l.control&&(r=l.control)}return r}async checkElementStates(e,i){if(i.includes("stable")){const r=await this._checkElementIsStable(e);if(r===!1)return{missingState:"stable"};if(r==="error:notconnected")return"error:notconnected"}for(const r of i)if(r!=="stable"){const l=this.elementState(e,r);if(l.received==="error:notconnected")return"error:notconnected";if(!l.matches)return{missingState:r}}}async _checkElementIsStable(e){const i=Symbol("continuePolling");let r,l=0,o=0;const u=()=>{const m=this.retarget(e,"no-follow-label");if(!m)return"error:notconnected";const S=this.utils.builtins.performance.now();if(this._stableRafCount>1&&S-o<15)return i;o=S;const w=m.getBoundingClientRect(),E={x:w.top,y:w.left,width:w.width,height:w.height};if(r){if(!(E.x===r.x&&E.y===r.y&&E.width===r.width&&E.height===r.height))return!1;if(++l>=this._stableRafCount)return!0}return r=E,i};let f,d;const g=new Promise((m,S)=>{f=m,d=S}),b=()=>{try{const m=u();m!==i?f(m):this.utils.builtins.requestAnimationFrame(b)}catch(m){d(m)}};return this.utils.builtins.requestAnimationFrame(b),g}_createAriaRefEngine(){return{queryAll:(i,r)=>{var o,u;const l=(u=(o=this._lastAriaSnapshotForQuery)==null?void 0:o.elements)==null?void 0:u.get(r);return l&&l.isConnected?[l]:[]}}}elementState(e,i){const r=this.retarget(e,["visible","hidden"].includes(i)?"none":"follow-label");if(!r||!r.isConnected)return i==="hidden"?{matches:!0,received:"hidden"}:{matches:!1,received:"error:notconnected"};if(i==="visible"||i==="hidden"){const l=ni(r);return{matches:i==="visible"?l:!l,received:l?"visible":"hidden"}}if(i==="disabled"||i==="enabled"){const l=fc(r);return{matches:i==="disabled"?l:!l,received:l?"disabled":"enabled"}}if(i==="editable"){const l=fc(r),o=iT(r);if(o==="error")throw this.createStacklessError("Element is not an <input>, <textarea>, <select> or [contenteditable] and does not have a role allowing [aria-readonly]");return{matches:!l&&!o,received:l?"disabled":o?"readOnly":"editable"}}if(i==="checked"||i==="unchecked"){const l=i==="checked",o=tT(r);if(o==="error")throw this.createStacklessError("Not a checkbox or radio button");const u=r.nodeName==="INPUT"&&r.type==="radio";return{matches:l===o,received:o?"checked":"unchecked",isRadio:u}}if(i==="indeterminate"){const l=eT(r);if(l==="error")throw this.createStacklessError("Not a checkbox or radio button");return{matches:l==="mixed",received:l===!0?"checked":l===!1?"unchecked":"mixed"}}throw this.createStacklessError(`Unexpected element state "${i}"`)}selectOptions(e,i){const r=this.retarget(e,"follow-label");if(!r)return"error:notconnected";if(r.nodeName.toLowerCase()!=="select")throw this.createStacklessError("Element is not a <select> element");const l=r,o=[...l.options],u=[];let f=i.slice();for(let d=0;d<o.length;d++){const g=o[d],b=ut(g.label),m=S=>{if(S instanceof Node)return g===S;const w=x=>x===g.label||ut(x)===b;let E=!0;return S.valueOrLabel!==void 0&&(E=E&&(S.valueOrLabel===g.value||w(S.valueOrLabel))),S.value!==void 0&&(E=E&&S.value===g.value),S.label!==void 0&&(E=E&&w(S.label)),S.index!==void 0&&(E=E&&S.index===d),E};if(f.some(m)){if(!this.elementState(g,"enabled").matches)return"error:optionnotenabled";if(u.push(g),l.multiple)f=f.filter(S=>!m(S));else{f=[];break}}}return f.length?"error:optionsnotfound":(l.value=void 0,u.forEach(d=>d.selected=!0),l.dispatchEvent(new Event("input",{bubbles:!0,composed:!0})),l.dispatchEvent(new Event("change",{bubbles:!0})),u.map(d=>d.value))}fill(e,i){const r=this.retarget(e,"follow-label");if(!r)return"error:notconnected";if(r.nodeName.toLowerCase()==="input"){const l=r,o=l.type.toLowerCase(),u=new Set(["color","date","time","datetime-local","month","range","week"]);if(!new Set(["","email","number","password","search","tel","text","url"]).has(o)&&!u.has(o))throw this.createStacklessError(`Input of type "${o}" cannot be filled`);if(o==="number"&&(i=i.trim(),isNaN(Number(i))))throw this.createStacklessError("Cannot type text into input[type=number]");if(o==="color"&&(i=i.toLowerCase()),u.has(o)){if(i=i.trim(),l.focus(),l.value=i,l.value!==i)throw this.createStacklessError("Malformed value");return r.dispatchEvent(new Event("input",{bubbles:!0,composed:!0})),r.dispatchEvent(new Event("change",{bubbles:!0})),"done"}}else if(r.nodeName.toLowerCase()!=="textarea"){if(!r.isContentEditable)throw this.createStacklessError("Element is not an <input>, <textarea> or [contenteditable] element")}return this.selectText(r),"needsinput"}selectText(e){const i=this.retarget(e,"follow-label");if(!i)return"error:notconnected";if(i.nodeName.toLowerCase()==="input"){const o=i;return o.select(),o.focus(),"done"}if(i.nodeName.toLowerCase()==="textarea"){const o=i;return o.selectionStart=0,o.selectionEnd=o.value.length,o.focus(),"done"}i.focus();const r=i.ownerDocument.createRange();r.selectNodeContents(i);const l=i.ownerDocument.defaultView.getSelection();return l&&(l.removeAllRanges(),l.addRange(r)),"done"}_activelyFocused(e){const i=e.getRootNode().activeElement,r=i===e&&!!e.ownerDocument&&e.ownerDocument.hasFocus();return{activeElement:i,isFocused:r}}focusNode(e,i){if(!e.isConnected)return"error:notconnected";if(e.nodeType!==Node.ELEMENT_NODE)throw this.createStacklessError("Node is not an element");const{activeElement:r,isFocused:l}=this._activelyFocused(e);if(e.isContentEditable&&!l&&r&&r.blur&&r.blur(),e.focus(),e.focus(),i&&!l&&e.nodeName.toLowerCase()==="input")try{e.setSelectionRange(0,0)}catch{}return"done"}blurNode(e){if(!e.isConnected)return"error:notconnected";if(e.nodeType!==Node.ELEMENT_NODE)throw this.createStacklessError("Node is not an element");return e.blur(),"done"}setInputFiles(e,i){if(e.nodeType!==Node.ELEMENT_NODE)return"Node is not of type HTMLElement";const r=e;if(r.nodeName!=="INPUT")return"Not an <input> element";const l=r;if((l.getAttribute("type")||"").toLowerCase()!=="file")return"Not an input[type=file] element";const u=i.map(d=>{const g=Uint8Array.from(atob(d.buffer),b=>b.charCodeAt(0));return new File([g],d.name,{type:d.mimeType,lastModified:d.lastModifiedMs})}),f=new DataTransfer;for(const d of u)f.items.add(d);l.files=f.files,l.dispatchEvent(new Event("input",{bubbles:!0,composed:!0})),l.dispatchEvent(new Event("change",{bubbles:!0}))}expectHitTarget(e,i){const r=[];let l=i;for(;l;){const b=tv(l);if(!b||(r.push(b),b.nodeType===9))break;l=b.host}let o;for(let b=r.length-1;b>=0;b--){const m=r[b],S=m.elementsFromPoint(e.x,e.y),w=m.elementFromPoint(e.x,e.y);if(w&&S[0]&&Et(w)===S[0]){const x=this.window.getComputedStyle(w);(x==null?void 0:x.display)==="contents"&&S.unshift(w)}S[0]&&S[0].shadowRoot===m&&S[1]===w&&S.shift();const E=S[0];if(!E||(o=E,b&&E!==r[b-1].host))break}const u=[];for(;o&&o!==i;)u.push(o),o=o.assignedSlot??Et(o);if(o===i)return"done";const f=this.previewNode(u[0]||this.document.documentElement);let d,g=i;for(;g;){const b=u.indexOf(g);if(b!==-1){b>1&&(d=this.previewNode(u[b-1]));break}g=Et(g)}return d?{hitTargetDescription:`${f} from ${d} subtree`}:{hitTargetDescription:f}}setupHitTargetInterceptor(e,i,r,l){const o=this.retarget(e,"button-link");if(!o||!o.isConnected)return"error:notconnected";if(r){const b=this.expectHitTarget(r,o);if(b!=="done")return b.hitTargetDescription}if(i==="drag")return{stop:()=>"done"};const u={hover:this._hoverHitTargetInterceptorEvents,tap:this._tapHitTargetInterceptorEvents,mouse:this._mouseHitTargetInterceptorEvents}[i];let f;const d=b=>{if(!u.has(b.type)||!b.isTrusted)return;const m=this.window.TouchEvent&&b instanceof this.window.TouchEvent?b.touches[0]:b;f===void 0&&m&&(f=this.expectHitTarget({x:m.clientX,y:m.clientY},o)),(l||f!=="done"&&f!==void 0)&&(b.preventDefault(),b.stopPropagation(),b.stopImmediatePropagation())},g=()=>(this._hitTargetInterceptor===d&&(this._hitTargetInterceptor=void 0),f||"done");return this._hitTargetInterceptor=d,{stop:g}}dispatchEvent(e,i,r){var u,f,d;let l;const o={bubbles:!0,cancelable:!0,composed:!0,...r};switch(this._eventTypes.get(i)){case"mouse":l=new MouseEvent(i,o);break;case"keyboard":l=new KeyboardEvent(i,o);break;case"touch":{if(this._browserName==="webkit"){const g=m=>{var E,x;if(m instanceof Touch)return m;let S=m.pageX;S===void 0&&m.clientX!==void 0&&(S=m.clientX+(((E=this.document.scrollingElement)==null?void 0:E.scrollLeft)||0));let w=m.pageY;return w===void 0&&m.clientY!==void 0&&(w=m.clientY+(((x=this.document.scrollingElement)==null?void 0:x.scrollTop)||0)),this.document.createTouch(this.window,m.target??e,m.identifier,S,w,m.screenX,m.screenY,m.radiusX,m.radiusY,m.rotationAngle,m.force)},b=m=>m instanceof TouchList||!m?m:this.document.createTouchList(...m.map(g));o.target??(o.target=e),o.touches=b(o.touches),o.targetTouches=b(o.targetTouches),o.changedTouches=b(o.changedTouches),l=new TouchEvent(i,o)}else o.target??(o.target=e),o.touches=(u=o.touches)==null?void 0:u.map(g=>g instanceof Touch?g:new Touch({...g,target:g.target??e})),o.targetTouches=(f=o.targetTouches)==null?void 0:f.map(g=>g instanceof Touch?g:new Touch({...g,target:g.target??e})),o.changedTouches=(d=o.changedTouches)==null?void 0:d.map(g=>g instanceof Touch?g:new Touch({...g,target:g.target??e})),l=new TouchEvent(i,o);break}case"pointer":l=new PointerEvent(i,o);break;case"focus":l=new FocusEvent(i,o);break;case"drag":l=new DragEvent(i,o);break;case"wheel":l=new WheelEvent(i,o);break;case"deviceorientation":try{l=new DeviceOrientationEvent(i,o)}catch{const{bubbles:g,cancelable:b,alpha:m,beta:S,gamma:w,absolute:E}=o;l=this.document.createEvent("DeviceOrientationEvent"),l.initDeviceOrientationEvent(i,g,b,m,S,w,E)}break;case"devicemotion":try{l=new DeviceMotionEvent(i,o)}catch{const{bubbles:g,cancelable:b,acceleration:m,accelerationIncludingGravity:S,rotationRate:w,interval:E}=o;l=this.document.createEvent("DeviceMotionEvent"),l.initDeviceMotionEvent(i,g,b,m,S,w,E)}break;default:l=new Event(i,o);break}e.dispatchEvent(l)}previewNode(e){if(e.nodeType===Node.TEXT_NODE)return Ho(`#text=${e.nodeValue||""}`);if(e.nodeType!==Node.ELEMENT_NODE)return Ho(`<${e.nodeName.toLowerCase()} />`);const i=e,r=[];for(let d=0;d<i.attributes.length;d++){const{name:g,value:b}=i.attributes[d];g!=="style"&&(!b&&this._booleanAttributes.has(g)?r.push(` ${g}`):r.push(` ${g}="${b}"`))}r.sort((d,g)=>d.length-g.length);const l=lb(r.join(""),500);if(this._autoClosingTags.has(i.nodeName))return Ho(`<${i.nodeName.toLowerCase()}${l}/>`);const o=i.childNodes;let u=!1;if(o.length<=5){u=!0;for(let d=0;d<o.length;d++)u=u&&o[d].nodeType===Node.TEXT_NODE}const f=u?i.textContent||"":o.length?"…":"";return Ho(`<${i.nodeName.toLowerCase()}${l}>${lb(f,50)}</${i.nodeName.toLowerCase()}>`)}_generateSelectors(e){this._evaluator.begin(),wc(),hd();try{const i=this._isUtilityWorld&&this._browserName==="firefox"?2:10;return e.slice(0,i).map(l=>({preview:this.previewNode(l),selector:this.generateSelectorSimple(l)})).map((l,o)=>`${o+1}) ${l.preview} aka ${Di(this._sdkLanguage,l.selector)}`)}finally{dd(),xc(),this._evaluator.end()}}strictModeViolationError(e,i){const r=this._generateSelectors(i).map(l=>`
115 - `+l);return r.length<i.length&&r.push(`
116 - ...`),this.createStacklessError(`strict mode violation: ${Di(this._sdkLanguage,gn(e))} resolved to ${i.length} elements:${r.join("")}
117 -`)}checkDeprecatedSelectorUsage(e,i){const r=new Set(["_react","_vue","xpath:light","text:light","id:light","data-testid:light","data-test-id:light","data-test:light"]);if(!i.length)return;const l=e.parts.find(u=>r.has(u.name));if(!l)return;const o=this._generateSelectors(i).map(u=>`
118 - `+u);throw o.length<i.length&&o.push(`
119 - ...`),this.createStacklessError(`"${l.name}" selector is not supported: ${Di(this._sdkLanguage,gn(e))} resolved to ${i.length} element${i.length===1?"":"s"}:${o.join("")}
120 -`)}createStacklessError(e){const i=this._shouldPrependErrorPrefix?new Error("Error: "+e):new Error(e);return this._browserName==="firefox"?(i.stack="",i):(delete i.stack,i)}createHighlight(){return new dh(this)}maskSelectors(e,i){const r=this._createHighlight(),l=[];for(const o of e)l.push(this.querySelectorAll(o,this.document.documentElement));r.maskElements(l.flat(),i)}_createHighlight(){return this._highlight&&this.hideHighlight(),this._highlight=new dh(this),this._highlight.install(),this._highlight}_ensureHighlight(){return this._highlight||(this._highlight=new dh(this),this._highlight.install()),this._highlight}addHighlight(e,i){this._ensureHighlight().addElementHighlight(e,i)}removeHighlight(e){this._ensureHighlight().removeElementHighlight(e)}setScreencastAnnotation(e){const i=this._ensureHighlight();if(!e){i.updateHighlight([]),i.hideActionPoint(),i.hideActionTitle();return}const r=e.duration??500;e.box&&i.updateHighlight([{box:e.box,color:"rgba(0, 128, 255, 0.15)",borderColor:"rgba(0, 128, 255, 0.6)",fadeDuration:r}]),e.point&&i.showActionPoint(e.point.x,e.point.y,r),e.actionTitle&&i.showActionTitle(e.actionTitle,r,e.position,e.fontSize)}addUserOverlay(e,i){this._ensureHighlight().addUserOverlay(e,i)}getUserOverlay(e){return this._ensureHighlight().getUserOverlay(e)}removeUserOverlay(e){this._ensureHighlight().removeUserOverlay(e)}setUserOverlaysVisible(e){this._ensureHighlight().setUserOverlaysVisible(e)}hideHighlight(){this._highlight&&(this._highlight.uninstall(),delete this._highlight)}markTargetElements(e,i){var u,f;((u=this._markedElements)==null?void 0:u.callId)!==i&&(this._markedElements=void 0);const r=((f=this._markedElements)==null?void 0:f.elements)||new Set,l=new CustomEvent("__playwright_unmark_target__",{bubbles:!0,cancelable:!0,detail:i,composed:!0});for(const d of r)e.has(d)||d.dispatchEvent(l);const o=new CustomEvent("__playwright_mark_target__",{bubbles:!0,cancelable:!0,detail:i,composed:!0});for(const d of e)r.has(d)||d.dispatchEvent(o);this._markedElements={callId:i,elements:e}}_setupGlobalListenersRemovalDetection(){const e="__playwright_global_listeners_check__";let i=!1;const r=()=>i=!0;this.window.addEventListener(e,r),new MutationObserver(l=>{if(l.some(u=>Array.from(u.addedNodes).includes(this.document.documentElement))&&(i=!1,this.window.dispatchEvent(new CustomEvent(e)),!i)){this.window.addEventListener(e,r);for(const u of this.onGlobalListenersRemoved)u()}}).observe(this.document,{childList:!0})}_setupHitTargetInterceptors(){const e=r=>{var l;return(l=this._hitTargetInterceptor)==null?void 0:l.call(this,r)},i=()=>{for(const r of this._allHitTargetInterceptorEvents)this.window.addEventListener(r,e,{capture:!0,passive:!1})};i(),this.onGlobalListenersRemoved.add(i)}async expect(e,i,r){const l=await this._expectCore(e,i,r),o=this._ariaSnapshotForExpect(e,i);return l.received===void 0&&o===void 0?{matches:l.matches,missingReceived:l.missingReceived}:{matches:l.matches,received:{value:l.received,ariaSnapshot:o},missingReceived:l.missingReceived}}_ariaSnapshotForExpect(e,i){const r=i.expression;if(!(r==="to.have.count"||r.endsWith(".array"))&&r!=="to.match.aria"){if(e&&ni(e)){const l=r==="to.have.text";return this._renderAriaSnapshot(e,{mode:"default",depth:l?void 0:1})}if(this.document.body)return this._renderAriaSnapshot(this.document.body,{mode:"default"})}}_renderAriaSnapshot(e,i){return br(yr(e,i),i).text}async _expectCore(e,i,r){var o,u;if(i.expression==="to.have.count"||i.expression.endsWith(".array"))return this.expectArray(r,i);if(!e){if(!i.isNot&&i.expression==="to.be.hidden")return{matches:!0};if(i.isNot&&i.expression==="to.be.visible")return{matches:!1};if(!i.isNot&&i.expression==="to.be.detached")return{matches:!0};if(i.isNot&&i.expression==="to.be.attached")return{matches:!1};if(i.isNot&&i.expression==="to.be.in.viewport")return{matches:!1};if(i.expression==="to.have.title"&&((o=i==null?void 0:i.expectedText)!=null&&o[0])){const f=new cr(i.expectedText[0]),d=this.document.title;return{received:d,matches:f.matches(d)}}if(i.expression==="to.have.url"&&((u=i==null?void 0:i.expectedText)!=null&&u[0])){const f=new cr(i.expectedText[0]),d=this.document.location.href;return{received:d,matches:f.matches(d)}}if(i.expression==="to.match.aria"&&!i.selector){if(!this.document.body)return{matches:i.isNot,missingReceived:!0};const f=Ab(this.document.body,i.expectedValue);return{received:f.received,matches:!!f.matches.length}}return{matches:i.isNot,missingReceived:!0}}return await this.expectSingleElement(e,i)}async expectSingleElement(e,i){var l;const r=i.expression;{let o;if(r==="to.have.attribute"){const u=e.hasAttribute(i.expressionArg);o={matches:u,received:u?"attribute present":"attribute not present"}}else if(r==="to.be.checked"){const{checked:u,indeterminate:f}=i.expectedValue;if(f){if(u!==void 0)throw this.createStacklessError("Can't assert indeterminate and checked at the same time");o=this.elementState(e,"indeterminate")}else o=this.elementState(e,u===!1?"unchecked":"checked")}else if(r==="to.be.disabled")o=this.elementState(e,"disabled");else if(r==="to.be.editable")o=this.elementState(e,"editable");else if(r==="to.be.readonly")o=this.elementState(e,"editable"),o.matches=!o.matches;else if(r==="to.be.empty")if(e.nodeName==="INPUT"||e.nodeName==="TEXTAREA"){const u=e.value;o={matches:!u,received:u?"notEmpty":"empty"}}else{const u=(l=e.textContent)==null?void 0:l.trim();o={matches:!u,received:u?"notEmpty":"empty"}}else if(r==="to.be.enabled")o=this.elementState(e,"enabled");else if(r==="to.be.focused"){const u=this._activelyFocused(e).isFocused;o={matches:u,received:u?"focused":"inactive"}}else r==="to.be.hidden"?o=this.elementState(e,"hidden"):r==="to.be.visible"?o=this.elementState(e,"visible"):r==="to.be.attached"?o={matches:!0,received:"attached"}:r==="to.be.detached"&&(o={matches:!1,received:"attached"});if(o){if(o.received==="error:notconnected")throw this.createStacklessError("Element is not connected");return o}}if(r==="to.have.property"){let o=e;const u=i.expressionArg.split(".");for(let g=0;g<u.length-1;g++){if(typeof o!="object"||!(u[g]in o))return{received:void 0,matches:!1};o=o[u[g]]}const f=o[u[u.length-1]],d=Vh(f,i.expectedValue);return{received:f,matches:d}}if(r==="to.be.in.viewport"){const o=await this.viewportRatio(e);return{received:`viewport ratio ${o}`,matches:o>0&&o>(i.expectedNumber??0)-1e-9}}if(r==="to.have.values"){if(e=this.retarget(e,"follow-label"),e.nodeName!=="SELECT"||!e.multiple)throw this.createStacklessError("Not a select element with a multiple attribute");const o=[...e.selectedOptions].map(u=>u.value);return o.length!==i.expectedText.length?{received:o,matches:!1}:{received:o,matches:o.map((u,f)=>new cr(i.expectedText[f]).matches(u)).every(Boolean)}}if(r==="to.match.aria"){const o=Ab(e,i.expectedValue);return{received:o.received,matches:!!o.matches.length}}{let o;if(r==="to.have.attribute.value"){const u=e.getAttribute(i.expressionArg);if(u===null)return{received:null,matches:!1};o=u}else if(["to.have.class","to.contain.class"].includes(r)){if(!i.expectedText)throw this.createStacklessError("Expected text is not provided for "+r);return{received:e.classList.toString(),matches:new cr(i.expectedText[0]).matchesClassList(this,e.classList,r==="to.contain.class")}}else if(r==="to.have.css")o=this.window.getComputedStyle(e,i.pseudo?`::${i.pseudo}`:void 0).getPropertyValue(i.expressionArg);else if(r==="to.have.id")o=e.id;else if(r==="to.have.text")o=i.useInnerText?e.innerText:Vt(new Map,e).full;else if(r==="to.have.accessible.name")o=rl(e,!1);else if(r==="to.have.accessible.description")o=al(e,!1);else if(r==="to.have.accessible.error.message")o=ZE(e);else if(r==="to.have.role")o=xt(e)||"";else if(r==="to.have.value"){if(e=this.retarget(e,"follow-label"),e.nodeName!=="INPUT"&&e.nodeName!=="TEXTAREA"&&e.nodeName!=="SELECT")throw this.createStacklessError("Not an input element");o=e.value}if(o!==void 0&&i.expectedText){const u=new cr(i.expectedText[0]);return{received:o,matches:u.matches(o)}}}throw this.createStacklessError("Unknown expect matcher: "+r)}expectArray(e,i){const r=i.expression;if(r==="to.have.count"){const d=e.length,g=d===i.expectedNumber;return{received:d,matches:g}}if(!i.expectedText)throw this.createStacklessError("Expected text is not provided for "+r);if(["to.have.class.array","to.contain.class.array"].includes(r)){const d=e.map(m=>m.classList),g=d.map(String);if(d.length!==i.expectedText.length)return{received:g,matches:!1};const b=this._matchSequentially(i.expectedText,d,(m,S)=>m.matchesClassList(this,S,r==="to.contain.class.array"));return{received:g,matches:b}}if(!["to.contain.text.array","to.have.text.array"].includes(r))throw this.createStacklessError("Unknown expect matcher: "+r);const l=e.map(d=>i.useInnerText?d.innerText:Vt(new Map,d).full),o=r!=="to.contain.text.array";if(!(l.length===i.expectedText.length||!o))return{received:l,matches:!1};const f=this._matchSequentially(i.expectedText,l,(d,g)=>d.matches(g));return{received:l,matches:f}}_matchSequentially(e,i,r){const l=e.map(f=>new cr(f));let o=0,u=0;for(;o<l.length&&u<i.length;)r(l[o],i[u])&&++o,++u;return o===l.length}}function Ho(n){return n.replace(/\n/g,"↵").replace(/\t/g,"⇆")}function SA(n){if(n=n.substring(1,n.length-1),!n.includes("\\"))return n;const e=[];let i=0;for(;i<n.length;)n[i]==="\\"&&i+1<n.length&&i++,e.push(n[i++]);return e.join("")}function Bo(n,e){if(n[0]==="/"&&n.lastIndexOf("/")>0){const l=n.lastIndexOf("/"),o=new RegExp(n.substring(1,l),n.substring(l+1));return{matcher:u=>o.test(u.full),kind:"regex"}}const i=e?JSON.parse.bind(JSON):SA;let r=!1;return n.length>1&&n[0]==='"'&&n[n.length-1]==='"'?(n=i(n),r=!0):e&&n.length>1&&n[0]==='"'&&n[n.length-2]==='"'&&n[n.length-1]==="i"?(n=i(n.substring(0,n.length-1)),r=!1):e&&n.length>1&&n[0]==='"'&&n[n.length-2]==='"'&&n[n.length-1]==="s"?(n=i(n.substring(0,n.length-1)),r=!0):n.length>1&&n[0]==="'"&&n[n.length-1]==="'"&&(n=i(n),r=!0),n=ut(n),r?e?{kind:"strict",matcher:o=>o.normalized===n}:{matcher:o=>!n&&!o.immediate.length?!0:o.immediate.some(u=>ut(u)===n),kind:"strict"}:(n=n.toLowerCase(),{kind:"lax",matcher:l=>l.normalized.toLowerCase().includes(n)})}class cr{constructor(e){if(this._normalizeWhiteSpace=e.normalizeWhiteSpace,this._ignoreCase=e.ignoreCase,this._string=e.matchSubstring?void 0:this.normalize(e.string),this._substring=e.matchSubstring?this.normalize(e.string):void 0,e.regexSource){const i=new Set((e.regexFlags||"").split(""));e.ignoreCase===!1&&i.delete("i"),e.ignoreCase===!0&&i.add("i"),this._regex=new RegExp(e.regexSource,[...i].join(""))}}matches(e){return this._regex||(e=this.normalize(e)),this._string!==void 0?e===this._string:this._substring!==void 0?e.includes(this._substring):this._regex?!!this._regex.test(e):!1}matchesClassList(e,i,r){if(r){if(this._regex)throw e.createStacklessError("Partial matching does not support regular expressions. Please provide a string value.");return this._string.split(/\s+/g).filter(Boolean).every(l=>i.contains(l))}return this.matches(i.toString())}normalize(e){return e&&(this._normalizeWhiteSpace&&(e=ut(e)),this._ignoreCase&&(e=e.toLocaleLowerCase()),e)}}function Vh(n,e){if(n===e)return!0;if(n&&e&&typeof n=="object"&&typeof e=="object"){if(n.constructor!==e.constructor)return!1;if(Array.isArray(n)){if(n.length!==e.length)return!1;for(let r=0;r<n.length;++r)if(!Vh(n[r],e[r]))return!1;return!0}if(n instanceof RegExp)return n.source===e.source&&n.flags===e.flags;if(n.valueOf!==Object.prototype.valueOf)return n.valueOf()===e.valueOf();if(n.toString!==Object.prototype.toString)return n.toString()===e.toString();const i=Object.keys(n);if(i.length!==Object.keys(e).length)return!1;for(let r=0;r<i.length;++r)if(!e.hasOwnProperty(i[r]))return!1;for(const r of i)if(!Vh(n[r],e[r]))return!1;return!0}return typeof n=="number"&&typeof e=="number"?isNaN(n)&&isNaN(e):!1}const wA={tagName:"svg",children:[{tagName:"defs",children:[{tagName:"clipPath",attrs:{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",id:"icon-gripper"},children:[{tagName:"path",attrs:{d:"M5 3h2v2H5zm0 4h2v2H5zm0 4h2v2H5zm4-8h2v2H9zm0 4h2v2H9zm0 4h2v2H9z"}}]},{tagName:"clipPath",attrs:{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",id:"icon-circle-large-filled"},children:[{tagName:"path",attrs:{d:"M8 1a6.8 6.8 0 0 1 1.86.253 6.899 6.899 0 0 1 3.083 1.805 6.903 6.903 0 0 1 1.804 3.083C14.916 6.738 15 7.357 15 8s-.084 1.262-.253 1.86a6.9 6.9 0 0 1-.704 1.674 7.157 7.157 0 0 1-2.516 2.509 6.966 6.966 0 0 1-1.668.71A6.984 6.984 0 0 1 8 15a6.984 6.984 0 0 1-1.86-.246 7.098 7.098 0 0 1-1.674-.711 7.3 7.3 0 0 1-1.415-1.094 7.295 7.295 0 0 1-1.094-1.415 7.098 7.098 0 0 1-.71-1.675A6.985 6.985 0 0 1 1 8c0-.643.082-1.262.246-1.86a6.968 6.968 0 0 1 .711-1.667 7.156 7.156 0 0 1 2.509-2.516 6.895 6.895 0 0 1 1.675-.704A6.808 6.808 0 0 1 8 1z"}}]},{tagName:"clipPath",attrs:{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",id:"icon-stop-circle"},children:[{tagName:"path",attrs:{d:"M6 6h4v4H6z"}},{tagName:"path",attrs:{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M8.6 1c1.6.1 3.1.9 4.2 2 1.3 1.4 2 3.1 2 5.1 0 1.6-.6 3.1-1.6 4.4-1 1.2-2.4 2.1-4 2.4-1.6.3-3.2.1-4.6-.7-1.4-.8-2.5-2-3.1-3.5C.9 9.2.8 7.5 1.3 6c.5-1.6 1.4-2.9 2.8-3.8C5.4 1.3 7 .9 8.6 1zm.5 12.9c1.3-.3 2.5-1 3.4-2.1.8-1.1 1.3-2.4 1.2-3.8 0-1.6-.6-3.2-1.7-4.3-1-1-2.2-1.6-3.6-1.7-1.3-.1-2.7.2-3.8 1-1.1.8-1.9 1.9-2.3 3.3-.4 1.3-.4 2.7.2 4 .6 1.3 1.5 2.3 2.7 3 1.2.7 2.6.9 3.9.6z"}}]},{tagName:"clipPath",attrs:{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",id:"icon-inspect"},children:[{tagName:"path",attrs:{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M1 3l1-1h12l1 1v6h-1V3H2v8h5v1H2l-1-1V3zm14.707 9.707L9 6v9.414l2.707-2.707h4zM10 13V8.414l3.293 3.293h-2L10 13z"}}]},{tagName:"clipPath",attrs:{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",id:"icon-whole-word"},children:[{tagName:"path",attrs:{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M0 11H1V13H15V11H16V14H15H1H0V11Z"}},{tagName:"path",attrs:{d:"M6.84048 11H5.95963V10.1406H5.93814C5.555 10.7995 4.99104 11.1289 4.24625 11.1289C3.69839 11.1289 3.26871 10.9839 2.95718 10.6938C2.64924 10.4038 2.49527 10.0189 2.49527 9.53906C2.49527 8.51139 3.10041 7.91341 4.3107 7.74512L5.95963 7.51416C5.95963 6.57959 5.58186 6.1123 4.82632 6.1123C4.16389 6.1123 3.56591 6.33789 3.03238 6.78906V5.88672C3.57307 5.54297 4.19612 5.37109 4.90152 5.37109C6.19416 5.37109 6.84048 6.05501 6.84048 7.42285V11ZM5.95963 8.21777L4.63297 8.40039C4.22476 8.45768 3.91682 8.55973 3.70914 8.70654C3.50145 8.84977 3.39761 9.10579 3.39761 9.47461C3.39761 9.74316 3.4925 9.96338 3.68228 10.1353C3.87564 10.3035 4.13166 10.3877 4.45035 10.3877C4.8872 10.3877 5.24706 10.2355 5.52994 9.93115C5.8164 9.62321 5.95963 9.2347 5.95963 8.76562V8.21777Z"}},{tagName:"path",attrs:{d:"M9.3475 10.2051H9.32601V11H8.44515V2.85742H9.32601V6.4668H9.3475C9.78076 5.73633 10.4146 5.37109 11.2489 5.37109C11.9543 5.37109 12.5057 5.61816 12.9032 6.1123C13.3042 6.60286 13.5047 7.26172 13.5047 8.08887C13.5047 9.00911 13.2809 9.74674 12.8333 10.3018C12.3857 10.8532 11.7734 11.1289 10.9964 11.1289C10.2695 11.1289 9.71989 10.821 9.3475 10.2051ZM9.32601 7.98682V8.75488C9.32601 9.20964 9.47282 9.59635 9.76644 9.91504C10.0636 10.2301 10.4396 10.3877 10.8944 10.3877C11.4279 10.3877 11.8451 10.1836 12.1458 9.77539C12.4502 9.36719 12.6024 8.79964 12.6024 8.07275C12.6024 7.46045 12.4609 6.98063 12.1781 6.6333C11.8952 6.28597 11.512 6.1123 11.0286 6.1123C10.5166 6.1123 10.1048 6.29134 9.7933 6.64941C9.48177 7.00391 9.32601 7.44971 9.32601 7.98682Z"}}]},{tagName:"clipPath",attrs:{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",id:"icon-eye"},children:[{tagName:"path",attrs:{d:"M7.99993 6.00316C9.47266 6.00316 10.6666 7.19708 10.6666 8.66981C10.6666 10.1426 9.47266 11.3365 7.99993 11.3365C6.52715 11.3365 5.33324 10.1426 5.33324 8.66981C5.33324 7.19708 6.52715 6.00316 7.99993 6.00316ZM7.99993 7.00315C7.07946 7.00315 6.33324 7.74935 6.33324 8.66981C6.33324 9.59028 7.07946 10.3365 7.99993 10.3365C8.9204 10.3365 9.6666 9.59028 9.6666 8.66981C9.6666 7.74935 8.9204 7.00315 7.99993 7.00315ZM7.99993 3.66675C11.0756 3.66675 13.7307 5.76675 14.4673 8.70968C14.5344 8.97755 14.3716 9.24908 14.1037 9.31615C13.8358 9.38315 13.5643 9.22041 13.4973 8.95248C12.8713 6.45205 10.6141 4.66675 7.99993 4.66675C5.38454 4.66675 3.12664 6.45359 2.50182 8.95555C2.43491 9.22341 2.16348 9.38635 1.89557 9.31948C1.62766 9.25255 1.46471 8.98115 1.53162 8.71321C2.26701 5.76856 4.9229 3.66675 7.99993 3.66675Z"}}]},{tagName:"clipPath",attrs:{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",id:"icon-symbol-constant"},children:[{tagName:"path",attrs:{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M4 6h8v1H4V6zm8 3H4v1h8V9z"}},{tagName:"path",attrs:{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M1 4l1-1h12l1 1v8l-1 1H2l-1-1V4zm1 0v8h12V4H2z"}}]},{tagName:"clipPath",attrs:{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",id:"icon-check"},children:[{tagName:"path",attrs:{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M14.431 3.323l-8.47 10-.79-.036-3.35-4.77.818-.574 2.978 4.24 8.051-9.506.764.646z"}}]},{tagName:"clipPath",attrs:{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",id:"icon-close"},children:[{tagName:"path",attrs:{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M8 8.707l3.646 3.647.708-.707L8.707 8l3.647-3.646-.707-.708L8 7.293 4.354 3.646l-.707.708L7.293 8l-3.646 3.646.707.708L8 8.707z"}}]},{tagName:"clipPath",attrs:{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",id:"icon-pass"},children:[{tagName:"path",attrs:{d:"M6.27 10.87h.71l4.56-4.56-.71-.71-4.2 4.21-1.92-1.92L4 8.6l2.27 2.27z"}},{tagName:"path",attrs:{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M8.6 1c1.6.1 3.1.9 4.2 2 1.3 1.4 2 3.1 2 5.1 0 1.6-.6 3.1-1.6 4.4-1 1.2-2.4 2.1-4 2.4-1.6.3-3.2.1-4.6-.7-1.4-.8-2.5-2-3.1-3.5C.9 9.2.8 7.5 1.3 6c.5-1.6 1.4-2.9 2.8-3.8C5.4 1.3 7 .9 8.6 1zm.5 12.9c1.3-.3 2.5-1 3.4-2.1.8-1.1 1.3-2.4 1.2-3.8 0-1.6-.6-3.2-1.7-4.3-1-1-2.2-1.6-3.6-1.7-1.3-.1-2.7.2-3.8 1-1.1.8-1.9 1.9-2.3 3.3-.4 1.3-.4 2.7.2 4 .6 1.3 1.5 2.3 2.7 3 1.2.7 2.6.9 3.9.6z"}}]},{tagName:"clipPath",attrs:{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",id:"icon-gist"},children:[{tagName:"path",attrs:{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M10.57 1.14l3.28 3.3.15.36v9.7l-.5.5h-11l-.5-.5v-13l.5-.5h7.72l.35.14zM10 5h3l-3-3v3zM3 2v12h10V6H9.5L9 5.5V2H3zm2.062 7.533l1.817-1.828L6.17 7 4 9.179v.707l2.171 2.174.707-.707-1.816-1.82zM8.8 7.714l.7-.709 2.189 2.175v.709L9.5 12.062l-.705-.709 1.831-1.82L8.8 7.714z"}}]}]}]},mn={multiple:"#f6b26b7f",single:"#6fa8dc7f",assert:"#8acae480",action:"#dc6f6f7f"};class qb{}class yh{constructor(e,i){this._hoveredModel=null,this._hoveredElement=null,this._recorder=e,this._assertVisibility=i}cursor(){return"pointer"}uninstall(){this._hoveredModel=null,this._hoveredElement=null}onClick(e){var i;Ge(e),e.button===0&&(i=this._hoveredModel)!=null&&i.selector&&this._commit(this._hoveredModel.selector,this._hoveredModel)}onPointerDown(e){Ge(e)}onPointerUp(e){Ge(e)}onMouseDown(e){Ge(e)}onMouseUp(e){Ge(e)}onMouseMove(e){var l;Ge(e);let i=this._recorder.deepEventTarget(e);if(i.isConnected||(i=null),this._hoveredElement===i)return;this._hoveredElement=i;let r=null;if(this._hoveredElement){const o=this._recorder.injectedScript.generateSelector(this._hoveredElement,{testIdAttributeName:this._recorder.state.testIdAttributeName,multiple:!1});r={selector:o.selector,elements:o.elements,tooltipText:this._recorder.injectedScript.utils.asLocator(this._recorder.state.language,o.selector),color:this._assertVisibility?mn.assert:mn.single}}((l=this._hoveredModel)==null?void 0:l.selector)!==(r==null?void 0:r.selector)&&(this._hoveredModel=r,this._recorder.updateHighlight(r,!0))}onMouseEnter(e){Ge(e)}onMouseLeave(e){Ge(e);const i=this._recorder.injectedScript.window;i.top!==i&&this._recorder.deepEventTarget(e).nodeType===Node.DOCUMENT_NODE&&this._reset(!0)}onKeyDown(e){Ge(e),e.key==="Escape"&&this._assertVisibility&&this._recorder.setMode("recording")}onKeyUp(e){Ge(e)}onScroll(e){this._reset(!1)}_commit(e,i){var r;this._assertVisibility?(this._recorder.recordAction({name:"assertVisible",selector:e,signals:[]}),this._recorder.setMode("recording"),(r=this._recorder.overlay)==null||r.flashToolSucceeded("assertingVisibility")):this._recorder.elementPicked(e,i)}_reset(e){this._hoveredElement=null,this._hoveredModel=null,this._recorder.updateHighlight(null,e)}}class xA{constructor(e){this._hoveredModel=null,this._hoveredElement=null,this._activeModel=null,this._expectProgrammaticKeyUp=!1,this._observer=null,this._recorder=e,this._performingActions=new Set,this._dialog=new qv(e)}cursor(){return"pointer"}_installObserverIfNeeded(){var e;this._observer||(e=this._recorder.injectedScript.document)!=null&&e.body&&(this._observer=new MutationObserver(i=>{if(this._hoveredElement)for(const r of i)for(const l of r.removedNodes)(l===this._hoveredElement||l.contains(this._hoveredElement))&&this._resetHoveredModel()}),this._observer.observe(this._recorder.injectedScript.document.body,{childList:!0,subtree:!0}))}uninstall(){var e;(e=this._observer)==null||e.disconnect(),this._observer=null,this._hoveredModel=null,this._hoveredElement=null,this._activeModel=null,this._expectProgrammaticKeyUp=!1,this._dialog.close()}onClick(e){if(this._dialog.isShowing()){e.button===2&&e.type==="auxclick"&&Ge(e);return}if(nl(this._hoveredElement)||this._shouldIgnoreMouseEvent(e)||this._actionInProgress(e)||this._consumedDueToNoModel(e,this._hoveredModel))return;if(e.button===2&&e.type==="auxclick"){this._showActionListDialog(this._hoveredModel,e);return}const i=tl(this._recorder.deepEventTarget(e));if(i&&e.detail===1){this._performAction({name:i.checked?"check":"uncheck",selector:this._hoveredModel.selector,signals:[]});return}this._cancelPendingClickAction(),e.detail===1&&(this._pendingClickAction={action:{name:"click",selector:this._hoveredModel.selector,position:el(e),signals:[],button:Gh(e),modifiers:_r(e),clickCount:e.detail},timeout:this._recorder.injectedScript.utils.builtins.setTimeout(()=>this._commitPendingClickAction(),200)})}onDblClick(e){this._dialog.isShowing()||nl(this._hoveredElement)||this._shouldIgnoreMouseEvent(e)||this._actionInProgress(e)||this._consumedDueToNoModel(e,this._hoveredModel)||(this._cancelPendingClickAction(),this._performAction({name:"click",selector:this._hoveredModel.selector,position:el(e),signals:[],button:Gh(e),modifiers:_r(e),clickCount:e.detail}))}_commitPendingClickAction(){this._pendingClickAction&&this._performAction(this._pendingClickAction.action),this._cancelPendingClickAction()}_cancelPendingClickAction(){this._pendingClickAction&&this._recorder.injectedScript.utils.builtins.clearTimeout(this._pendingClickAction.timeout),this._pendingClickAction=void 0}onContextMenu(e){if(this._dialog.isShowing()){Ge(e);return}this._shouldIgnoreMouseEvent(e)||this._actionInProgress(e)||this._consumedDueToNoModel(e,this._hoveredModel)||this._showActionListDialog(this._hoveredModel,e)}onPointerDown(e){this._dialog.isShowing()||this._shouldIgnoreMouseEvent(e)||this._consumeWhenAboutToPerform(e)}onPointerUp(e){this._dialog.isShowing()||this._shouldIgnoreMouseEvent(e)||this._consumeWhenAboutToPerform(e)}onMouseDown(e){this._dialog.isShowing()||this._shouldIgnoreMouseEvent(e)||(this._consumeWhenAboutToPerform(e),this._activeModel=this._hoveredModel)}onMouseUp(e){this._dialog.isShowing()||this._shouldIgnoreMouseEvent(e)||this._consumeWhenAboutToPerform(e)}onMouseMove(e){if(this._dialog.isShowing())return;const i=this._recorder.deepEventTarget(e);this._hoveredElement!==i&&(this._hoveredElement=i,this._updateModelForHoveredElement())}onMouseLeave(e){if(this._dialog.isShowing())return;const i=this._recorder.injectedScript.window;i.top!==i&&this._recorder.deepEventTarget(e).nodeType===Node.DOCUMENT_NODE&&(this._hoveredElement=null,this._updateModelForHoveredElement())}onFocus(e){this._dialog.isShowing()||this._onFocus(!0)}onInput(e){if(this._dialog.isShowing())return;const i=this._recorder.deepEventTarget(e);if(i.nodeName==="INPUT"&&i.type.toLowerCase()==="file"){this._recordAction({name:"setInputFiles",selector:this._activeModel.selector,signals:[],files:[...i.files||[]].map(r=>r.name)});return}if(nl(i)){this._recordAction({name:"fill",selector:this._hoveredModel.selector,signals:[],text:i.value});return}if(["INPUT","TEXTAREA"].includes(i.nodeName)||i.isContentEditable){if(i.nodeName==="INPUT"&&["checkbox","radio"].includes(i.type.toLowerCase())||this._consumedDueWrongTarget(e))return;this._recordAction({name:"fill",selector:this._activeModel.selector,signals:[],text:i.isContentEditable?i.innerText:i.value})}if(i.nodeName==="SELECT"){const r=i;this._recordAction({name:"select",selector:this._activeModel.selector,options:[...r.selectedOptions].map(l=>l.value),signals:[]})}}onKeyDown(e){if(!this._dialog.isShowing()&&this._shouldGenerateKeyPressFor(e)){if(this._actionInProgress(e)){this._expectProgrammaticKeyUp=!0;return}if(!this._consumedDueWrongTarget(e)){if(e.key===" "){const i=tl(this._recorder.deepEventTarget(e));if(i&&e.detail===0){this._performAction({name:i.checked?"uncheck":"check",selector:this._activeModel.selector,signals:[]});return}}this._performAction({name:"press",selector:this._activeModel.selector,signals:[],key:e.key,modifiers:_r(e)})}}}onKeyUp(e){if(!this._dialog.isShowing()&&this._shouldGenerateKeyPressFor(e)){if(!this._expectProgrammaticKeyUp){Ge(e);return}this._expectProgrammaticKeyUp=!1}}onScroll(e){this._dialog.isShowing()||this._resetHoveredModel()}_showActionListDialog(e,i){Ge(i);const r=el(i),l=[{title:"Click",cb:()=>this._performAction({name:"click",selector:e.selector,position:r,signals:[],button:"left",modifiers:0,clickCount:0})},{title:"Right click",cb:()=>this._performAction({name:"click",selector:e.selector,position:r,signals:[],button:"right",modifiers:0,clickCount:0})},{title:"Double click",cb:()=>this._performAction({name:"click",selector:e.selector,position:r,signals:[],button:"left",modifiers:0,clickCount:2})},{title:"Hover",cb:()=>this._performAction({name:"hover",selector:e.selector,position:r,signals:[]})},{title:"Pick locator",cb:()=>this._recorder.elementPicked(e.selector,e)}],o=this._recorder.document.createElement("x-pw-action-list");o.setAttribute("role","list"),o.setAttribute("aria-label","Choose action");for(const g of l){const b=this._recorder.document.createElement("x-pw-action-item");b.setAttribute("role","listitem"),b.textContent=g.title,b.setAttribute("aria-label",g.title),b.addEventListener("click",()=>{this._dialog.close(),g.cb()}),o.appendChild(b)}const u=this._dialog.show({label:"Choose action",body:o,autosize:!0}),f=this._recorder.highlight.firstTooltipBox()||e.elements[0].getBoundingClientRect(),d=this._recorder.highlight.tooltipPosition(f,u);this._dialog.moveTo(d.anchorTop,d.anchorLeft)}_resetHoveredModel(){this._hoveredModel=null,this._hoveredElement=null,this._updateHighlight(!1)}_onFocus(e){const i=AA(this._recorder.document);if(e&&i===this._recorder.document.body)return;const r=i?this._recorder.injectedScript.generateSelector(i,{testIdAttributeName:this._recorder.state.testIdAttributeName}):null;this._activeModel=r&&r.selector?{...r,color:mn.action}:null,e&&(this._hoveredElement=i,this._updateModelForHoveredElement())}_shouldIgnoreMouseEvent(e){const i=this._recorder.deepEventTarget(e),r=i.nodeName;return!!(r==="SELECT"||r==="OPTION"||r==="INPUT"&&["date","range"].includes(i.type))}_actionInProgress(e){const i=e instanceof KeyboardEvent,r=e instanceof MouseEvent||e instanceof PointerEvent;for(const l of this._performingActions)if(i&&l.name==="press"&&e.key===l.key||r&&(l.name==="click"||l.name==="hover"||l.name==="check"||l.name==="uncheck"))return!0;return Ge(e),!1}_consumedDueToNoModel(e,i){return i?!1:(Ge(e),!0)}_consumedDueWrongTarget(e){return this._activeModel&&this._activeModel.elements[0]===this._recorder.deepEventTarget(e)?!1:(Ge(e),!0)}_consumeWhenAboutToPerform(e){this._performingActions.size||Ge(e)}_reportPerformedActionForTests(){this._recorder.injectedScript.isUnderTest&&console.error("Action performed for test: "+JSON.stringify({hovered:this._hoveredModel?this._hoveredModel.selector:null,active:this._activeModel?this._activeModel.selector:null}))}_recordAction(e){this._recorder.recordAction(e).then(()=>this._reportPerformedActionForTests())}_performAction(e){this._recorder.updateHighlight(null,!1),this._performingActions.add(e),this._recorder.performAction(e).finally(()=>{this._performingActions.delete(e),this._onFocus(!1)}).then(()=>this._reportPerformedActionForTests())}_shouldGenerateKeyPressFor(e){if(typeof e.key!="string"||e.key==="Enter"&&(this._recorder.deepEventTarget(e).nodeName==="TEXTAREA"||this._recorder.deepEventTarget(e).isContentEditable)||["Backspace","Delete","AltGraph"].includes(e.key)||e.key==="@"&&e.code==="KeyL")return!1;if(navigator.platform.includes("Mac")){if(e.key==="v"&&e.metaKey)return!1}else if(e.key==="v"&&e.ctrlKey||e.key==="Insert"&&e.shiftKey)return!1;if(["Shift","Control","Meta","Alt","Process"].includes(e.key))return!1;const i=e.ctrlKey||e.altKey||e.metaKey;return e.key.length===1&&!i?!!tl(this._recorder.deepEventTarget(e)):!0}_updateModelForHoveredElement(){if(this._installObserverIfNeeded(),this._performingActions.size)return;if(!this._hoveredElement||!this._hoveredElement.isConnected){this._hoveredModel=null,this._hoveredElement=null,this._updateHighlight(!0);return}const{selector:e,elements:i}=this._recorder.injectedScript.generateSelector(this._hoveredElement,{testIdAttributeName:this._recorder.state.testIdAttributeName});this._hoveredModel&&this._hoveredModel.selector===e||(this._hoveredModel=e?{selector:e,elements:i,color:mn.action}:null,this._updateHighlight(!0))}_updateHighlight(e){this._recorder.updateHighlight(this._hoveredModel,e)}}class _A{constructor(e){this._recorder=e}install(){this._recorder.highlight.uninstall()}uninstall(){this._recorder.highlight.install()}onClick(e){const i=this._recorder.deepEventTarget(e);if(nl(i)||e.button===2&&e.type==="auxclick"||this._shouldIgnoreMouseEvent(e))return;const r=tl(i),{ariaSnapshot:l,selector:o,ref:u}=this._ariaSnapshot(i);if(r&&e.detail===1){this._recorder.recordAction({name:r.checked?"check":"uncheck",selector:o,ref:u,signals:[],ariaSnapshot:l});return}this._recorder.recordAction({name:"click",selector:o,ref:u,ariaSnapshot:l,position:el(e),signals:[],button:Gh(e),modifiers:_r(e),clickCount:e.detail})}onContextMenu(e){const i=this._recorder.deepEventTarget(e),{ariaSnapshot:r,selector:l,ref:o}=this._ariaSnapshot(i);this._recorder.recordAction({name:"click",selector:l,ref:o,ariaSnapshot:r,position:el(e),signals:[],button:"right",modifiers:_r(e),clickCount:1})}onInput(e){const i=this._recorder.deepEventTarget(e),{ariaSnapshot:r,selector:l,ref:o}=this._ariaSnapshot(i);if(nl(i)){this._recorder.recordAction({name:"fill",selector:l,ref:o,ariaSnapshot:r,signals:[],text:i.value});return}if(["INPUT","TEXTAREA"].includes(i.nodeName)||i.isContentEditable){if(i.nodeName==="INPUT"&&["checkbox","radio"].includes(i.type.toLowerCase()))return;this._recorder.recordAction({name:"fill",ref:o,selector:l,ariaSnapshot:r,signals:[],text:i.isContentEditable?i.innerText:i.value});return}if(i.nodeName==="SELECT"){const u=i;this._recorder.recordAction({name:"select",selector:l,ref:o,ariaSnapshot:r,options:[...u.selectedOptions].map(f=>f.value),signals:[]});return}}onKeyDown(e){if(!this._shouldGenerateKeyPressFor(e))return;const i=this._recorder.deepEventTarget(e),{ariaSnapshot:r,selector:l,ref:o}=this._ariaSnapshot(i);if(e.key===" "){const u=tl(i);if(u&&e.detail===0){this._recorder.recordAction({name:u.checked?"uncheck":"check",selector:l,ref:o,ariaSnapshot:r,signals:[]});return}}this._recorder.recordAction({name:"press",selector:l,ref:o,ariaSnapshot:r,signals:[],key:e.key,modifiers:_r(e)})}_shouldIgnoreMouseEvent(e){const i=this._recorder.deepEventTarget(e),r=i.nodeName;return!!(r==="SELECT"||r==="OPTION"||r==="INPUT"&&["date","range"].includes(i.type))}_shouldGenerateKeyPressFor(e){if(typeof e.key!="string"||e.key==="Enter"&&(this._recorder.deepEventTarget(e).nodeName==="TEXTAREA"||this._recorder.deepEventTarget(e).isContentEditable)||["Backspace","Delete","AltGraph"].includes(e.key)||e.key==="@"&&e.code==="KeyL")return!1;if(navigator.platform.includes("Mac")){if(e.key==="v"&&e.metaKey)return!1}else if(e.key==="v"&&e.ctrlKey||e.key==="Insert"&&e.shiftKey)return!1;if(["Shift","Control","Meta","Alt","Process"].includes(e.key))return!1;const i=e.ctrlKey||e.altKey||e.metaKey;return e.key.length===1&&!i?!this._isEditable(this._recorder.deepEventTarget(e)):!0}_isEditable(e){return!!(e.nodeName==="TEXTAREA"||e.nodeName==="INPUT"||e.isContentEditable)}_ariaSnapshot(e){const{ariaSnapshot:i,refs:r}=this._recorder.injectedScript.ariaSnapshotForRecorder(),l=e?r.get(e):void 0,o=e?this._recorder.injectedScript.generateSelector(e,{testIdAttributeName:this._recorder.state.testIdAttributeName}):void 0;return{ariaSnapshot:i,selector:o==null?void 0:o.selector,ref:l}}}class bh{constructor(e,i){this._hoverHighlight=null,this._action=null,this._recorder=e,this._textCache=new Map,this._kind=i,this._dialog=new qv(e)}cursor(){return"pointer"}uninstall(){this._dialog.close(),this._hoverHighlight=null}onClick(e){Ge(e),this._kind==="value"?this._commitAssertValue():this._dialog.isShowing()||this._showDialog()}onMouseDown(e){const i=this._recorder.deepEventTarget(e);this._elementHasValue(i)&&e.preventDefault()}onPointerUp(e){var r;const i=(r=this._hoverHighlight)==null?void 0:r.elements[0];this._kind==="value"&&i&&(i.nodeName==="INPUT"||i.nodeName==="SELECT")&&i.disabled&&this._commitAssertValue()}onMouseMove(e){var r;if(this._dialog.isShowing())return;const i=this._recorder.deepEventTarget(e);if(((r=this._hoverHighlight)==null?void 0:r.elements[0])!==i){if(this._kind==="text"||this._kind==="snapshot")this._hoverHighlight=this._recorder.injectedScript.utils.elementText(this._textCache,i).full?{elements:[i],selector:"",color:mn.assert}:null;else if(this._elementHasValue(i)){const l=this._recorder.injectedScript.generateSelector(i,{testIdAttributeName:this._recorder.state.testIdAttributeName});this._hoverHighlight={selector:l.selector,elements:l.elements,color:mn.assert}}else this._hoverHighlight=null;this._recorder.updateHighlight(this._hoverHighlight,!0)}}onKeyDown(e){e.key==="Escape"&&this._recorder.setMode("recording"),Ge(e)}onScroll(e){this._recorder.updateHighlight(this._hoverHighlight,!1)}_elementHasValue(e){return e.nodeName==="TEXTAREA"||e.nodeName==="SELECT"||e.nodeName==="INPUT"&&!["button","image","reset","submit"].includes(e.type)}_generateAction(){var i;this._textCache.clear();const e=(i=this._hoverHighlight)==null?void 0:i.elements[0];if(!e)return null;if(this._kind==="value"){if(!this._elementHasValue(e))return null;const{selector:r}=this._recorder.injectedScript.generateSelector(e,{testIdAttributeName:this._recorder.state.testIdAttributeName});return e.nodeName==="INPUT"&&["checkbox","radio"].includes(e.type.toLowerCase())?{name:"assertChecked",selector:r,signals:[],checked:!e.checked}:{name:"assertValue",selector:r,signals:[],value:e.value}}else if(this._kind==="snapshot"){const r=this._recorder.injectedScript.generateSelector(e,{testIdAttributeName:this._recorder.state.testIdAttributeName,forTextExpect:!0});return this._hoverHighlight={selector:r.selector,elements:r.elements,color:mn.assert},this._recorder.updateHighlight(this._hoverHighlight,!0),{name:"assertSnapshot",selector:this._hoverHighlight.selector,signals:[],ariaSnapshot:this._recorder.injectedScript.ariaSnapshot(e,{mode:"codegen"})}}else{const r=this._recorder.injectedScript.generateSelector(e,{testIdAttributeName:this._recorder.state.testIdAttributeName,forTextExpect:!0});return this._hoverHighlight={selector:r.selector,elements:r.elements,color:mn.assert},this._recorder.updateHighlight(this._hoverHighlight,!0),{name:"assertText",selector:this._hoverHighlight.selector,signals:[],text:this._recorder.injectedScript.utils.elementText(this._textCache,e).normalized,substring:!0}}}_renderValue(e){return(e==null?void 0:e.name)==="assertText"?this._recorder.injectedScript.utils.normalizeWhiteSpace(e.text):(e==null?void 0:e.name)==="assertChecked"?String(e.checked):(e==null?void 0:e.name)==="assertValue"?e.value:(e==null?void 0:e.name)==="assertSnapshot"?e.ariaSnapshot:""}_commit(){!this._action||!this._dialog.isShowing()||(this._dialog.close(),this._recorder.recordAction(this._action),this._recorder.setMode("recording"))}_showDialog(){var e,i,r,l;(e=this._hoverHighlight)!=null&&e.elements[0]&&(this._action=this._generateAction(),((i=this._action)==null?void 0:i.name)==="assertText"?this._showTextDialog(this._action):((r=this._action)==null?void 0:r.name)==="assertSnapshot"&&(this._recorder.recordAction(this._action),this._recorder.setMode("recording"),(l=this._recorder.overlay)==null||l.flashToolSucceeded("assertingSnapshot")))}_showTextDialog(e){const i=this._recorder.document.createElement("textarea");i.setAttribute("spellcheck","false"),i.value=this._renderValue(e),i.classList.add("text-editor");const r=()=>{var m;const f=this._recorder.injectedScript.utils.normalizeWhiteSpace(i.value),d=(m=this._hoverHighlight)==null?void 0:m.elements[0];if(!d)return;e.text=f;const g=this._recorder.injectedScript.utils.elementText(this._textCache,d).normalized,b=f&&g.includes(f);i.classList.toggle("does-not-match",!b)};i.addEventListener("input",r);const o=this._dialog.show({label:"Assert that element contains text",body:i,onCommit:()=>this._commit()}),u=this._recorder.highlight.tooltipPosition(this._recorder.highlight.firstBox(),o);this._dialog.moveTo(u.anchorTop,u.anchorLeft),i.focus()}_commitAssertValue(){var i;if(this._kind!=="value")return;const e=this._generateAction();e&&(this._recorder.recordAction(e),this._recorder.setMode("recording"),(i=this._recorder.overlay)==null||i.flashToolSucceeded("assertingValue"))}}class EA{constructor(e){this._listeners=[],this._offsetX=0,this._measure={width:0,height:0},this._recorder=e;const i=this._recorder.document;this._overlayElement=i.createElement("x-pw-overlay");const r=i.createElement("x-pw-tools-list");this._overlayElement.appendChild(r),this._dragHandle=i.createElement("x-pw-tool-gripper"),this._dragHandle.appendChild(i.createElement("x-div")),r.appendChild(this._dragHandle),this._recordToggle=this._recorder.document.createElement("x-pw-tool-item"),this._recordToggle.title="Record",this._recordToggle.classList.add("record"),this._recordToggle.appendChild(this._recorder.document.createElement("x-div")),r.appendChild(this._recordToggle),this._pickLocatorToggle=this._recorder.document.createElement("x-pw-tool-item"),this._pickLocatorToggle.title="Pick locator",this._pickLocatorToggle.classList.add("pick-locator"),this._pickLocatorToggle.appendChild(this._recorder.document.createElement("x-div")),r.appendChild(this._pickLocatorToggle),this._assertVisibilityToggle=this._recorder.document.createElement("x-pw-tool-item"),this._assertVisibilityToggle.title="Assert visibility",this._assertVisibilityToggle.classList.add("visibility"),this._assertVisibilityToggle.appendChild(this._recorder.document.createElement("x-div")),r.appendChild(this._assertVisibilityToggle),this._assertTextToggle=this._recorder.document.createElement("x-pw-tool-item"),this._assertTextToggle.title="Assert text",this._assertTextToggle.classList.add("text"),this._assertTextToggle.appendChild(this._recorder.document.createElement("x-div")),r.appendChild(this._assertTextToggle),this._assertValuesToggle=this._recorder.document.createElement("x-pw-tool-item"),this._assertValuesToggle.title="Assert value",this._assertValuesToggle.classList.add("value"),this._assertValuesToggle.appendChild(this._recorder.document.createElement("x-div")),r.appendChild(this._assertValuesToggle),this._assertSnapshotToggle=this._recorder.document.createElement("x-pw-tool-item"),this._assertSnapshotToggle.title="Assert snapshot",this._assertSnapshotToggle.classList.add("snapshot"),this._assertSnapshotToggle.appendChild(this._recorder.document.createElement("x-div")),r.appendChild(this._assertSnapshotToggle),this._updateVisualPosition(),this._refreshListeners()}_refreshListeners(){$v(this._listeners),this._listeners=[Ie(this._dragHandle,"mousedown",e=>{this._dragState={offsetX:this._offsetX,dragStart:{x:e.clientX,y:0}}}),Ie(this._recordToggle,"click",()=>{this._recordToggle.classList.contains("disabled")||this._recorder.setMode(this._recorder.state.mode==="none"||this._recorder.state.mode==="standby"||this._recorder.state.mode==="inspecting"?"recording":"standby")}),Ie(this._pickLocatorToggle,"click",()=>{if(this._pickLocatorToggle.classList.contains("disabled"))return;const e={inspecting:"standby",none:"inspecting",standby:"inspecting",recording:"recording-inspecting","recording-inspecting":"recording",assertingText:"recording-inspecting",assertingVisibility:"recording-inspecting",assertingValue:"recording-inspecting",assertingSnapshot:"recording-inspecting"};this._recorder.setMode(e[this._recorder.state.mode])}),Ie(this._assertVisibilityToggle,"click",()=>{this._assertVisibilityToggle.classList.contains("disabled")||this._recorder.setMode(this._recorder.state.mode==="assertingVisibility"?"recording":"assertingVisibility")}),Ie(this._assertTextToggle,"click",()=>{this._assertTextToggle.classList.contains("disabled")||this._recorder.setMode(this._recorder.state.mode==="assertingText"?"recording":"assertingText")}),Ie(this._assertValuesToggle,"click",()=>{this._assertValuesToggle.classList.contains("disabled")||this._recorder.setMode(this._recorder.state.mode==="assertingValue"?"recording":"assertingValue")}),Ie(this._assertSnapshotToggle,"click",()=>{this._assertSnapshotToggle.classList.contains("disabled")||this._recorder.setMode(this._recorder.state.mode==="assertingSnapshot"?"recording":"assertingSnapshot")})]}install(){this._recorder.highlight.appendChild(this._overlayElement),this._refreshListeners(),this._updateVisualPosition()}contains(e){return this._recorder.injectedScript.utils.isInsideScope(this._overlayElement,e)}setUIState(e){const i=e.mode==="recording"||e.mode==="assertingText"||e.mode==="assertingVisibility"||e.mode==="assertingValue"||e.mode==="assertingSnapshot"||e.mode==="recording-inspecting";this._recordToggle.classList.toggle("toggled",i),this._recordToggle.title=i?"Stop Recording":"Start Recording",this._pickLocatorToggle.classList.toggle("toggled",e.mode==="inspecting"||e.mode==="recording-inspecting"),this._assertVisibilityToggle.classList.toggle("toggled",e.mode==="assertingVisibility"),this._assertVisibilityToggle.classList.toggle("disabled",e.mode==="none"||e.mode==="standby"||e.mode==="inspecting"),this._assertTextToggle.classList.toggle("toggled",e.mode==="assertingText"),this._assertTextToggle.classList.toggle("disabled",e.mode==="none"||e.mode==="standby"||e.mode==="inspecting"),this._assertValuesToggle.classList.toggle("toggled",e.mode==="assertingValue"),this._assertValuesToggle.classList.toggle("disabled",e.mode==="none"||e.mode==="standby"||e.mode==="inspecting"),this._assertSnapshotToggle.classList.toggle("toggled",e.mode==="assertingSnapshot"),this._assertSnapshotToggle.classList.toggle("disabled",e.mode==="none"||e.mode==="standby"||e.mode==="inspecting"),this._offsetX!==e.overlay.offsetX&&(this._offsetX=e.overlay.offsetX,this._updateVisualPosition()),e.mode==="none"?this._hideOverlay():this._showOverlay()}flashToolSucceeded(e){let i;e==="assertingVisibility"?i=this._assertVisibilityToggle:e==="assertingSnapshot"?i=this._assertSnapshotToggle:i=this._assertValuesToggle,i.classList.add("succeeded"),this._recorder.injectedScript.utils.builtins.setTimeout(()=>i.classList.remove("succeeded"),2e3)}_hideOverlay(){this._overlayElement.setAttribute("hidden","true")}_showOverlay(){this._overlayElement.hasAttribute("hidden")&&(this._overlayElement.removeAttribute("hidden"),this._updateVisualPosition())}_updateVisualPosition(){this._measure=this._overlayElement.getBoundingClientRect(),this._overlayElement.style.left=(this._recorder.injectedScript.window.innerWidth-this._measure.width)/2+this._offsetX+"px"}onMouseMove(e){if(!e.buttons)return this._dragState=void 0,!1;if(this._dragState){this._offsetX=this._dragState.offsetX+e.clientX-this._dragState.dragStart.x;const i=(this._recorder.injectedScript.window.innerWidth-this._measure.width)/2-10;return this._offsetX=Math.max(-i,Math.min(i,this._offsetX)),this._updateVisualPosition(),this._recorder.setOverlayState({offsetX:this._offsetX}),Ge(e),!0}return!1}onMouseUp(e){return this._dragState?(Ge(e),!0):!1}onClick(e){return this._dragState?(this._dragState=void 0,Ge(e),!0):!1}onDblClick(e){return!1}}class TA{constructor(e,i){var r,l;this._listeners=[],this._lastHighlightedSelector=void 0,this._lastHighlightedAriaTemplateJSON="undefined",this.state={mode:"none",testIdAttributeName:"data-testid",language:"javascript",overlay:{offsetX:0}},this._delegate={},this.document=e.document,this.injectedScript=e,this.highlight=e.createHighlight(),this._tools={none:new qb,standby:new qb,inspecting:new yh(this,!1),recording:(i==null?void 0:i.recorderMode)==="api"?new _A(this):new xA(this),"recording-inspecting":new yh(this,!1),assertingText:new bh(this,"text"),assertingVisibility:new yh(this,!0),assertingValue:new bh(this,"value"),assertingSnapshot:new bh(this,"snapshot")},this._currentTool=this._tools.none,(l=(r=this._currentTool).install)==null||l.call(r),e.window.top===e.window&&!(i!=null&&i.hideToolbar)&&(this.overlay=new EA(this),this.overlay.setUIState(this.state)),this._stylesheet=new e.window.CSSStyleSheet,this._stylesheet.replaceSync(`
121 - body[data-pw-cursor=pointer] *, body[data-pw-cursor=pointer] *::after { cursor: pointer !important; }
122 - body[data-pw-cursor=text] *, body[data-pw-cursor=text] *::after { cursor: text !important; }
123 - `),this.installListeners(),e.utils.cacheNormalizedWhitespaces(),e.isUnderTest&&console.error("Recorder script ready for test"),e.consoleApi.install()}installListeners(){var r,l,o;$v(this._listeners),this._listeners=[Ie(this.document,"click",u=>this._onClick(u),!0),Ie(this.document,"auxclick",u=>this._onClick(u),!0),Ie(this.document,"dblclick",u=>this._onDblClick(u),!0),Ie(this.document,"contextmenu",u=>this._onContextMenu(u),!0),Ie(this.document,"dragstart",u=>this._onDragStart(u),!0),Ie(this.document,"input",u=>this._onInput(u),!0),Ie(this.document,"keydown",u=>this._onKeyDown(u),!0),Ie(this.document,"keyup",u=>this._onKeyUp(u),!0),Ie(this.document,"pointerdown",u=>this._onPointerDown(u),!0),Ie(this.document,"pointerup",u=>this._onPointerUp(u),!0),Ie(this.document,"mousedown",u=>this._onMouseDown(u),!0),Ie(this.document,"mouseup",u=>this._onMouseUp(u),!0),Ie(this.document,"mousemove",u=>this._onMouseMove(u),!0),Ie(this.document,"mouseleave",u=>this._onMouseLeave(u),!0),Ie(this.document,"mouseenter",u=>this._onMouseEnter(u),!0),Ie(this.document,"focus",u=>this._onFocus(u),!0),Ie(this.document,"scroll",u=>this._onScroll(u),!0)],this.highlight.install();let e;const i=()=>{this.highlight.install(),e=this.injectedScript.utils.builtins.setTimeout(i,500)};e=this.injectedScript.utils.builtins.setTimeout(i,500),this._listeners.push(()=>this.injectedScript.utils.builtins.clearTimeout(e)),this.highlight.appendChild(Iv(this.document,wA)),(r=this.overlay)==null||r.install(),(o=(l=this._currentTool)==null?void 0:l.install)==null||o.call(l),this.document.adoptedStyleSheets.push(this._stylesheet)}_switchCurrentTool(){var r,l,o,u,f,d;const e=this._tools[this.state.mode];if(e===this._currentTool)return;(l=(r=this._currentTool).uninstall)==null||l.call(r),this.clearHighlight(),this._currentTool=e,(u=(o=this._currentTool).install)==null||u.call(o);const i=(f=e.cursor)==null?void 0:f.call(e);i&&((d=this.injectedScript.document.body)==null||d.setAttribute("data-pw-cursor",i))}setUIState(e,i){var o;this._delegate=i,e.actionPoint&&this.state.actionPoint&&e.actionPoint.x===this.state.actionPoint.x&&e.actionPoint.y===this.state.actionPoint.y||!e.actionPoint&&!this.state.actionPoint||(e.actionPoint?this.highlight.showActionPoint(e.actionPoint.x,e.actionPoint.y):this.highlight.hideActionPoint()),this.state=e,this.highlight.setLanguage(e.language),this._switchCurrentTool(),(o=this.overlay)==null||o.setUIState(e);let r="noop";if(e.actionSelector!==this._lastHighlightedSelector){const u=e.actionSelector?CA(this.injectedScript,e.language,e.actionSelector,this.document):null;r=u!=null&&u.length?u:"clear",this._lastHighlightedSelector=u!=null&&u.length?e.actionSelector:void 0}const l=JSON.stringify(e.ariaTemplate);if(this._lastHighlightedAriaTemplateJSON!==l){const u=e.ariaTemplate?this.injectedScript.getAllElementsMatchingExpectAriaTemplate(this.document,e.ariaTemplate):[];if(u.length){const f=u.length>1?mn.multiple:mn.single;r=u.map(d=>({element:d,color:f})),this._lastHighlightedAriaTemplateJSON=l}else this._lastHighlightedSelector||(r="clear"),this._lastHighlightedAriaTemplateJSON="undefined"}r==="clear"?this.highlight.clearHighlight():r!=="noop"&&this.highlight.updateHighlight(r)}clearHighlight(){this.updateHighlight(null,!1)}_onClick(e){var i,r,l;e.isTrusted&&((i=this.overlay)!=null&&i.onClick(e)||this._ignoreOverlayEvent(e)||(l=(r=this._currentTool).onClick)==null||l.call(r,e))}_onDblClick(e){var i,r,l;e.isTrusted&&((i=this.overlay)!=null&&i.onDblClick(e)||this._ignoreOverlayEvent(e)||(l=(r=this._currentTool).onDblClick)==null||l.call(r,e))}_onContextMenu(e){var i,r;e.isTrusted&&((r=(i=this._currentTool).onContextMenu)==null||r.call(i,e))}_onDragStart(e){var i,r;e.isTrusted&&(this._ignoreOverlayEvent(e)||(r=(i=this._currentTool).onDragStart)==null||r.call(i,e))}_onPointerDown(e){var i,r;e.isTrusted&&(this._ignoreOverlayEvent(e)||(r=(i=this._currentTool).onPointerDown)==null||r.call(i,e))}_onPointerUp(e){var i,r;e.isTrusted&&(this._ignoreOverlayEvent(e)||(r=(i=this._currentTool).onPointerUp)==null||r.call(i,e))}_onMouseDown(e){var i,r;e.isTrusted&&(this._ignoreOverlayEvent(e)||(r=(i=this._currentTool).onMouseDown)==null||r.call(i,e))}_onMouseUp(e){var i,r,l;e.isTrusted&&((i=this.overlay)!=null&&i.onMouseUp(e)||this._ignoreOverlayEvent(e)||(l=(r=this._currentTool).onMouseUp)==null||l.call(r,e))}_onMouseMove(e){var i,r,l;e.isTrusted&&((i=this.overlay)!=null&&i.onMouseMove(e)||this._ignoreOverlayEvent(e)||(l=(r=this._currentTool).onMouseMove)==null||l.call(r,e))}_onMouseEnter(e){var i,r;e.isTrusted&&(this._ignoreOverlayEvent(e)||(r=(i=this._currentTool).onMouseEnter)==null||r.call(i,e))}_onMouseLeave(e){var i,r;e.isTrusted&&(this._ignoreOverlayEvent(e)||(r=(i=this._currentTool).onMouseLeave)==null||r.call(i,e))}_onFocus(e){var i,r;e.isTrusted&&(this._ignoreOverlayEvent(e)||(r=(i=this._currentTool).onFocus)==null||r.call(i,e))}_onScroll(e){var i,r;e.isTrusted&&(this._lastHighlightedSelector=void 0,this._lastHighlightedAriaTemplateJSON="undefined",this.highlight.hideActionPoint(),(r=(i=this._currentTool).onScroll)==null||r.call(i,e))}_onInput(e){var i,r;this._ignoreOverlayEvent(e)||(r=(i=this._currentTool).onInput)==null||r.call(i,e)}_onKeyDown(e){var i,r;e.isTrusted&&(this._ignoreOverlayEvent(e)||(r=(i=this._currentTool).onKeyDown)==null||r.call(i,e))}_onKeyUp(e){var i,r;e.isTrusted&&(this._ignoreOverlayEvent(e)||(r=(i=this._currentTool).onKeyUp)==null||r.call(i,e))}updateHighlight(e,i){this._lastHighlightedSelector=void 0,this._lastHighlightedAriaTemplateJSON="undefined",this._updateHighlight(e,i)}_updateHighlight(e,i){var l,o;let r=e==null?void 0:e.tooltipText;r===void 0&&(e!=null&&e.selector)&&(r=this.injectedScript.utils.asLocator(this.state.language,e.selector)),e?this.highlight.updateHighlight(e.elements.map(u=>({element:u,color:e.color,tooltipText:r}))):this.highlight.clearHighlight(),i&&((o=(l=this._delegate).highlightUpdated)==null||o.call(l))}_ignoreOverlayEvent(e){return e.composedPath().some(i=>(i.nodeName||"").toLowerCase()==="x-pw-glass")}deepEventTarget(e){var i;for(const r of e.composedPath())if(!((i=this.overlay)!=null&&i.contains(r)))return r;return e.composedPath()[0]}setMode(e){var i,r;(r=(i=this._delegate).setMode)==null||r.call(i,e)}_captureAutoExpectSnapshot(){const e=this.injectedScript.document.documentElement;return e?this.injectedScript.utils.generateAriaTree(e,{mode:"autoexpect"}):void 0}async performAction(e){var r,l,o;const i=this._lastActionAutoexpectSnapshot;if(this._lastActionAutoexpectSnapshot=this._captureAutoExpectSnapshot(),!NA(e)&&this._lastActionAutoexpectSnapshot){const u=this.injectedScript.utils.findNewElement(i==null?void 0:i.root,(r=this._lastActionAutoexpectSnapshot)==null?void 0:r.root);e.preconditionSelector=u?this.injectedScript.generateSelector(u,{testIdAttributeName:this.state.testIdAttributeName}).selector:void 0,e.preconditionSelector===e.selector&&(e.preconditionSelector=void 0)}await((o=(l=this._delegate).performAction)==null?void 0:o.call(l,e).catch(()=>{}))}async recordAction(e){var i,r;this._lastActionAutoexpectSnapshot=this._captureAutoExpectSnapshot(),await((r=(i=this._delegate).recordAction)==null?void 0:r.call(i,e))}setOverlayState(e){var i,r;(r=(i=this._delegate).setOverlayState)==null||r.call(i,e)}elementPicked(e,i){var l,o;const r=this.injectedScript.ariaSnapshot(i.elements[0],{mode:"default"});(o=(l=this._delegate).elementPicked)==null||o.call(l,{selector:e,ariaSnapshot:r})}}let qv=class{constructor(e){this._dialogElement=null,this._recorder=e}isShowing(){return!!this._dialogElement}show(e){const i=this._recorder.document.createElement("x-pw-tool-item");i.title="Accept",i.classList.add("accept"),i.appendChild(this._recorder.document.createElement("x-div")),i.addEventListener("click",()=>{var f;return(f=e.onCommit)==null?void 0:f.call(e)});const r=this._recorder.document.createElement("x-pw-tool-item");r.title="Close",r.classList.add("cancel"),r.appendChild(this._recorder.document.createElement("x-div")),r.addEventListener("click",()=>{var f;this.close(),(f=e.onCancel)==null||f.call(e)}),this._dialogElement=this._recorder.document.createElement("x-pw-dialog"),e.autosize&&this._dialogElement.classList.add("autosize"),this._keyboardListener=f=>{var d;if(f.key==="Escape"){this.close(),(d=e.onCancel)==null||d.call(e);return}if(e.onCommit&&f.key==="Enter"&&(f.ctrlKey||f.metaKey)){this._dialogElement&&e.onCommit();return}},this._onGlassPaneClickHandler=f=>{var d;this.close(),(d=e.onCancel)==null||d.call(e)},this._dialogElement.addEventListener("click",f=>f.stopPropagation());const l=this._recorder.document.createElement("x-pw-tools-list"),o=this._recorder.document.createElement("label");o.textContent=e.label,l.appendChild(o),l.appendChild(this._recorder.document.createElement("x-spacer")),e.onCommit&&l.appendChild(i),l.appendChild(r),this._dialogElement.appendChild(l);const u=this._recorder.document.createElement("x-pw-dialog-body");return u.appendChild(e.body),this._dialogElement.appendChild(u),this._recorder.highlight.appendChild(this._dialogElement),this._recorder.highlight.onGlassPaneClick(this._onGlassPaneClickHandler),this._recorder.document.addEventListener("keydown",this._keyboardListener,!0),this._dialogElement}moveTo(e,i){this._dialogElement&&(this._dialogElement.style.top=e+"px",this._dialogElement.style.left=i+"px")}close(){this._dialogElement&&(this._dialogElement.remove(),this._recorder.highlight.offGlassPaneClick(this._onGlassPaneClickHandler),this._recorder.document.removeEventListener("keydown",this._keyboardListener),this._dialogElement=null)}};function AA(n){let e=n.activeElement;for(;e&&e.shadowRoot&&e.shadowRoot.activeElement;)e=e.shadowRoot.activeElement;return e}function _r(n){return(n.altKey?1:0)|(n.ctrlKey?2:0)|(n.metaKey?4:0)|(n.shiftKey?8:0)}function Gh(n){switch(n.which){case 1:return"left";case 2:return"middle";case 3:return"right"}return"left"}function el(n){if(n.target.nodeName==="CANVAS")return{x:n.offsetX,y:n.offsetY}}function Ge(n){n.preventDefault(),n.stopPropagation(),n.stopImmediatePropagation()}function tl(n){if(!n||n.nodeName!=="INPUT")return null;const e=n;return["checkbox","radio"].includes(e.type)?e:null}function nl(n){return!n||n.nodeName!=="INPUT"?!1:n.type.toLowerCase()==="range"}function Ie(n,e,i,r){return n.addEventListener(e,i,r),()=>{n.removeEventListener(e,i,r)}}function $v(n){for(const e of n)e();n.splice(0,n.length)}function CA(n,e,i,r){try{const l=n.parseSelector(i),o=n.querySelectorAll(l,r),u=o.length>1?mn.multiple:mn.single,f=n.utils.asLocator(e,i);return o.map((d,g)=>{const b=o.length>1?` [${g+1} of ${o.length}]`:"";return{element:d,color:u,tooltipText:f+b}})}catch{return[]}}function Iv(n,{tagName:e,attrs:i,children:r}){const l=n.createElementNS("http://www.w3.org/2000/svg",e);if(i)for(const[o,u]of Object.entries(i))l.setAttribute(o,u);if(r)for(const o of r)l.appendChild(Iv(n,o));return l}function NA(n){return n.name.startsWith("assert")}const kA="data:text/html;base64,"+btoa("<body></body><style>body { color-scheme: light dark; background: light-dark(white, #333) }</style>");function MA(n,e){n=n.replace(/AriaRole\s*\.\s*([\w]+)/g,(o,u)=>u.toLowerCase()).replace(/(get_by_role|getByRole)\s*\(\s*(?:["'`])([^'"`]+)['"`]/g,(o,u,f)=>`${u}(${f.toLowerCase()}`);const i=[];let r="";for(let o=0;o<n.length;++o){const u=n[o];if(u!=='"'&&u!=="'"&&u!=="`"&&u!=="/"){r+=u;continue}const f=n[o-1]==="r"||n[o]==="/";++o;let d="";for(;o<n.length;){if(n[o]==="\\"){f?(n[o+1]!==u&&(d+=n[o]),++o,d+=n[o]):(++o,n[o]==="n"?d+=`
124 -`:n[o]==="r"?d+="\r":n[o]==="t"?d+=" ":d+=n[o]),++o;continue}if(n[o]!==u){d+=n[o++];continue}break}i.push({quote:u,text:d}),r+=(u==="/"?"r":"")+"$"+i.length}r=r.toLowerCase().replace(/get_by_alt_text/g,"getbyalttext").replace(/get_by_test_id/g,"getbytestid").replace(/get_by_([\w]+)/g,"getby$1").replace(/has_not_text/g,"hasnottext").replace(/has_text/g,"hastext").replace(/has_not/g,"hasnot").replace(/frame_locator/g,"framelocator").replace(/content_frame/g,"contentframe").replace(/[{}\s]/g,"").replace(/new\(\)/g,"").replace(/new[\w]+\.[\w]+options\(\)/g,"").replace(/\.set/g,",set").replace(/\.or_\(/g,"or(").replace(/\.and_\(/g,"and(").replace(/:/g,"=").replace(/,re\.ignorecase/g,"i").replace(/,pattern.case_insensitive/g,"i").replace(/,regexoptions.ignorecase/g,"i").replace(/re.compile\(([^)]+)\)/g,"$1").replace(/pattern.compile\(([^)]+)\)/g,"r$1").replace(/newregex\(([^)]+)\)/g,"r$1").replace(/string=/g,"=").replace(/regex=/g,"=").replace(/,,/g,",").replace(/,\)/g,")");const l=i.map(o=>o.quote).filter(o=>"'\"`".includes(o))[0];return{selector:Vv(r,i,e),preferredQuote:l}}function $b(n){return[...n.matchAll(/\$\d+/g)].length}function Ib(n,e){return n.replace(/\$(\d+)/g,(i,r)=>`$${r-e}`)}function Vv(n,e,i){for(;;){const l=n.match(/filter\(,?(has=|hasnot=|sethas\(|sethasnot\()/);if(!l)break;const o=l.index+l[0].length;let u=0,f=o;for(;f<n.length&&(n[f]==="("?u++:n[f]===")"&&u--,!(u<0));f++);let d=n.substring(0,o),g=0;["sethas(","sethasnot("].includes(l[1])&&(g=1,d=d.replace(/sethas\($/,"has=").replace(/sethasnot\($/,"hasnot="));const b=$b(n.substring(0,o)),m=Ib(n.substring(o,f),b),S=$b(m),w=e.slice(b,b+S),E=JSON.stringify(Vv(m,w,i));n=d.replace(/=$/,"2=")+`$${b+1}`+Ib(n.substring(f+g),S-1);const x=e.slice(0,b),_=e.slice(b+S);e=x.concat([{quote:'"',text:E}]).concat(_)}n=n.replace(/\,set([\w]+)\(([^)]+)\)/g,(l,o,u)=>","+o.toLowerCase()+"="+u.toLowerCase()).replace(/framelocator\(([^)]+)\)/g,"$1.internal:control=enter-frame").replace(/contentframe(\(\))?/g,"internal:control=enter-frame").replace(/locator\(([^)]+),hastext=([^),]+)\)/g,"locator($1).internal:has-text=$2").replace(/locator\(([^)]+),hasnottext=([^),]+)\)/g,"locator($1).internal:has-not-text=$2").replace(/locator\(([^)]+),hastext=([^),]+)\)/g,"locator($1).internal:has-text=$2").replace(/locator\(([^)]+)\)/g,"$1").replace(/getbyrole\(([^)]+)\)/g,"internal:role=$1").replace(/getbytext\(([^)]+)\)/g,"internal:text=$1").replace(/getbylabel\(([^)]+)\)/g,"internal:label=$1").replace(/getbytestid\(([^)]+)\)/g,`internal:testid=[${i}=$1]`).replace(/getby(placeholder|alt|title)(?:text)?\(([^)]+)\)/g,"internal:attr=[$1=$2]").replace(/first(\(\))?/g,"nth=0").replace(/last(\(\))?/g,"nth=-1").replace(/nth\(([^)]+)\)/g,"nth=$1").replace(/filter\(,?visible=true\)/g,"visible=true").replace(/filter\(,?visible=false\)/g,"visible=false").replace(/filter\(,?hastext=([^)]+)\)/g,"internal:has-text=$1").replace(/filter\(,?hasnottext=([^)]+)\)/g,"internal:has-not-text=$1").replace(/filter\(,?has2=([^)]+)\)/g,"internal:has=$1").replace(/filter\(,?hasnot2=([^)]+)\)/g,"internal:has-not=$1").replace(/,exact=false/g,"").replace(/(,name=\$\d+)(,description=\$\d+),exact=true/g,"$1s$2s").replace(/,exact=true/g,"s").replace(/,includehidden=/g,",include-hidden=").replace(/\,/g,"][");const r=n.split(".");for(let l=0;l<r.length-1;l++)if(r[l]==="internal:control=enter-frame"&&r[l+1].startsWith("nth=")){const[o]=r.splice(l,1);r.splice(l+1,0,o)}return r.map(l=>!l.startsWith("internal:")||l==="internal:control"?l.replace(/\$(\d+)/g,(o,u)=>e[+u-1].text):(l=l.includes("[")?l.replace(/\]/,"")+"]":l,l=l.replace(/(?:r)\$(\d+)(i)?/g,(o,u,f)=>{const d=e[+u-1];return l.startsWith("internal:attr")||l.startsWith("internal:testid")||l.startsWith("internal:role")?Je(new RegExp(d.text),!1)+(f||""):$t(new RegExp(d.text,f),!1)}).replace(/\$(\d+)(i|s)?/g,(o,u,f)=>{const d=e[+u-1];return l.startsWith("internal:has=")||l.startsWith("internal:has-not=")?d.text:l.startsWith("internal:testid")?Je(d.text,!0):l.startsWith("internal:attr")||l.startsWith("internal:role")?Je(d.text,f==="s"):$t(d.text,f==="s")}),l)).join(" >> ")}function OA(n,e,i){try{return jA(n,e,i)}catch{return""}}function jA(n,e,i){try{return fl(e),e}catch{}const{selector:r,preferredQuote:l}=MA(e,i),o=U0(n,r,void 0,void 0,l),u=Vb(n,e);return o.some(f=>Vb(n,f)===u)?r:""}function Vb(n,e){return e=e.replace(/\s/g,""),n==="javascript"&&(e=e.replace(/\\?["`]/g,"'").replace(/,{}/g,"")),e}const LA=({url:n})=>v.jsxs("div",{className:"browser-frame-header",children:[v.jsxs("div",{className:"browser-traffic-lights",children:[v.jsx("span",{className:"browser-frame-dot",style:{backgroundColor:"rgb(242, 95, 88)"}}),v.jsx("span",{className:"browser-frame-dot",style:{backgroundColor:"rgb(251, 190, 60)"}}),v.jsx("span",{className:"browser-frame-dot",style:{backgroundColor:"rgb(88, 203, 66)"}})]}),v.jsxs("div",{className:"browser-frame-address-bar",title:n||"about:blank",children:[v.jsx("span",{className:"browser-frame-address",children:n||"about:blank"}),n&&v.jsx(ld,{value:n})]}),v.jsx("div",{style:{marginLeft:"auto"},children:v.jsxs("div",{children:[v.jsx("span",{className:"browser-frame-menu-bar"}),v.jsx("span",{className:"browser-frame-menu-bar"}),v.jsx("span",{className:"browser-frame-menu-bar"})]})})]}),jd=Symbol.for("yaml.alias"),Kh=Symbol.for("yaml.document"),zi=Symbol.for("yaml.map"),Gv=Symbol.for("yaml.pair"),Ln=Symbol.for("yaml.scalar"),Lr=Symbol.for("yaml.seq"),bn=Symbol.for("yaml.node.type"),Bi=n=>!!n&&typeof n=="object"&&n[bn]===jd,vs=n=>!!n&&typeof n=="object"&&n[bn]===Kh,Rr=n=>!!n&&typeof n=="object"&&n[bn]===zi,Ve=n=>!!n&&typeof n=="object"&&n[bn]===Gv,ze=n=>!!n&&typeof n=="object"&&n[bn]===Ln,Dr=n=>!!n&&typeof n=="object"&&n[bn]===Lr;function Ke(n){if(n&&typeof n=="object")switch(n[bn]){case zi:case Lr:return!0}return!1}function Xe(n){if(n&&typeof n=="object")switch(n[bn]){case jd:case zi:case Ln:case Lr:return!0}return!1}const Kv=n=>(ze(n)||Ke(n))&&!!n.anchor,It=Symbol("break visit"),Xv=Symbol("skip children"),jn=Symbol("remove node");function Ss(n,e){const i=Yv(e);vs(n)?vr(null,n.contents,i,Object.freeze([n]))===jn&&(n.contents=null):vr(null,n,i,Object.freeze([]))}Ss.BREAK=It;Ss.SKIP=Xv;Ss.REMOVE=jn;function vr(n,e,i,r){const l=Fv(n,e,i,r);if(Xe(l)||Ve(l))return Qv(n,r,l),vr(n,l,i,r);if(typeof l!="symbol"){if(Ke(e)){r=Object.freeze(r.concat(e));for(let o=0;o<e.items.length;++o){const u=vr(o,e.items[o],i,r);if(typeof u=="number")o=u-1;else{if(u===It)return It;u===jn&&(e.items.splice(o,1),o-=1)}}}else if(Ve(e)){r=Object.freeze(r.concat(e));const o=vr("key",e.key,i,r);if(o===It)return It;o===jn&&(e.key=null);const u=vr("value",e.value,i,r);if(u===It)return It;u===jn&&(e.value=null)}}return l}async function Tc(n,e){const i=Yv(e);vs(n)?await Sr(null,n.contents,i,Object.freeze([n]))===jn&&(n.contents=null):await Sr(null,n,i,Object.freeze([]))}Tc.BREAK=It;Tc.SKIP=Xv;Tc.REMOVE=jn;async function Sr(n,e,i,r){const l=await Fv(n,e,i,r);if(Xe(l)||Ve(l))return Qv(n,r,l),Sr(n,l,i,r);if(typeof l!="symbol"){if(Ke(e)){r=Object.freeze(r.concat(e));for(let o=0;o<e.items.length;++o){const u=await Sr(o,e.items[o],i,r);if(typeof u=="number")o=u-1;else{if(u===It)return It;u===jn&&(e.items.splice(o,1),o-=1)}}}else if(Ve(e)){r=Object.freeze(r.concat(e));const o=await Sr("key",e.key,i,r);if(o===It)return It;o===jn&&(e.key=null);const u=await Sr("value",e.value,i,r);if(u===It)return It;u===jn&&(e.value=null)}}return l}function Yv(n){return typeof n=="object"&&(n.Collection||n.Node||n.Value)?Object.assign({Alias:n.Node,Map:n.Node,Scalar:n.Node,Seq:n.Node},n.Value&&{Map:n.Value,Scalar:n.Value,Seq:n.Value},n.Collection&&{Map:n.Collection,Seq:n.Collection},n):n}function Fv(n,e,i,r){var l,o,u,f,d;if(typeof i=="function")return i(n,e,r);if(Rr(e))return(l=i.Map)==null?void 0:l.call(i,n,e,r);if(Dr(e))return(o=i.Seq)==null?void 0:o.call(i,n,e,r);if(Ve(e))return(u=i.Pair)==null?void 0:u.call(i,n,e,r);if(ze(e))return(f=i.Scalar)==null?void 0:f.call(i,n,e,r);if(Bi(e))return(d=i.Alias)==null?void 0:d.call(i,n,e,r)}function Qv(n,e,i){const r=e[e.length-1];if(Ke(r))r.items[n]=i;else if(Ve(r))n==="key"?r.key=i:r.value=i;else if(vs(r))r.contents=i;else{const l=Bi(r)?"alias":"scalar";throw new Error(`Cannot replace node with ${l} parent`)}}const RA={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},DA=n=>n.replace(/[!,[\]{}]/g,e=>RA[e]);class Ot{constructor(e,i){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},Ot.defaultYaml,e),this.tags=Object.assign({},Ot.defaultTags,i)}clone(){const e=new Ot(this.yaml,this.tags);return e.docStart=this.docStart,e}atDocument(){const e=new Ot(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:Ot.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},Ot.defaultTags);break}return e}add(e,i){this.atNextDocument&&(this.yaml={explicit:Ot.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},Ot.defaultTags),this.atNextDocument=!1);const r=e.trim().split(/[ \t]+/),l=r.shift();switch(l){case"%TAG":{if(r.length!==2&&(i(0,"%TAG directive should contain exactly two parts"),r.length<2))return!1;const[o,u]=r;return this.tags[o]=u,!0}case"%YAML":{if(this.yaml.explicit=!0,r.length!==1)return i(0,"%YAML directive should contain exactly one part"),!1;const[o]=r;if(o==="1.1"||o==="1.2")return this.yaml.version=o,!0;{const u=/^\d+\.\d+$/.test(o);return i(6,`Unsupported YAML version ${o}`,u),!1}}default:return i(0,`Unknown directive ${l}`,!0),!1}}tagName(e,i){if(e==="!")return"!";if(e[0]!=="!")return i(`Not a valid tag: ${e}`),null;if(e[1]==="<"){const u=e.slice(2,-1);return u==="!"||u==="!!"?(i(`Verbatim tags aren't resolved, so ${e} is invalid.`),null):(e[e.length-1]!==">"&&i("Verbatim tags must end with a >"),u)}const[,r,l]=e.match(/^(.*!)([^!]*)$/s);l||i(`The ${e} tag has no suffix`);const o=this.tags[r];if(o)try{return o+decodeURIComponent(l)}catch(u){return i(String(u)),null}return r==="!"?e:(i(`Could not resolve tag: ${e}`),null)}tagString(e){for(const[i,r]of Object.entries(this.tags))if(e.startsWith(r))return i+DA(e.substring(r.length));return e[0]==="!"?e:`!<${e}>`}toString(e){const i=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],r=Object.entries(this.tags);let l;if(e&&r.length>0&&Xe(e.contents)){const o={};Ss(e.contents,(u,f)=>{Xe(f)&&f.tag&&(o[f.tag]=!0)}),l=Object.keys(o)}else l=[];for(const[o,u]of r)o==="!!"&&u==="tag:yaml.org,2002:"||(!e||l.some(f=>f.startsWith(u)))&&i.push(`%TAG ${o} ${u}`);return i.join(`
125 -`)}}Ot.defaultYaml={explicit:!1,version:"1.2"};Ot.defaultTags={"!!":"tag:yaml.org,2002:"};function Pv(n){if(/[\x00-\x19\s,[\]{}]/.test(n)){const i=`Anchor must not contain whitespace or control characters: ${JSON.stringify(n)}`;throw new Error(i)}return!0}function Jv(n){const e=new Set;return Ss(n,{Value(i,r){r.anchor&&e.add(r.anchor)}}),e}function Zv(n,e){for(let i=1;;++i){const r=`${n}${i}`;if(!e.has(r))return r}}function zA(n,e){const i=[],r=new Map;let l=null;return{onAnchor:o=>{i.push(o),l??(l=Jv(n));const u=Zv(e,l);return l.add(u),u},setAnchors:()=>{for(const o of i){const u=r.get(o);if(typeof u=="object"&&u.anchor&&(ze(u.node)||Ke(u.node)))u.node.anchor=u.anchor;else{const f=new Error("Failed to resolve repeated object (this should not happen)");throw f.source=o,f}}},sourceObjects:r}}function wr(n,e,i,r){if(r&&typeof r=="object")if(Array.isArray(r))for(let l=0,o=r.length;l<o;++l){const u=r[l],f=wr(n,r,String(l),u);f===void 0?delete r[l]:f!==u&&(r[l]=f)}else if(r instanceof Map)for(const l of Array.from(r.keys())){const o=r.get(l),u=wr(n,r,l,o);u===void 0?r.delete(l):u!==o&&r.set(l,u)}else if(r instanceof Set)for(const l of Array.from(r)){const o=wr(n,r,l,l);o===void 0?r.delete(l):o!==l&&(r.delete(l),r.add(o))}else for(const[l,o]of Object.entries(r)){const u=wr(n,r,l,o);u===void 0?delete r[l]:u!==o&&(r[l]=u)}return n.call(e,i,r)}function yn(n,e,i){if(Array.isArray(n))return n.map((r,l)=>yn(r,String(l),i));if(n&&typeof n.toJSON=="function"){if(!i||!Kv(n))return n.toJSON(e,i);const r={aliasCount:0,count:1,res:void 0};i.anchors.set(n,r),i.onCreate=o=>{r.res=o,delete i.onCreate};const l=n.toJSON(e,i);return i.onCreate&&i.onCreate(l),l}return typeof n=="bigint"&&!(i!=null&&i.keep)?Number(n):n}class Ld{constructor(e){Object.defineProperty(this,bn,{value:e})}clone(){const e=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(e.range=this.range.slice()),e}toJS(e,{mapAsMap:i,maxAliasCount:r,onAnchor:l,reviver:o}={}){if(!vs(e))throw new TypeError("A document argument is required");const u={anchors:new Map,doc:e,keep:!0,mapAsMap:i===!0,mapKeyWarned:!1,maxAliasCount:typeof r=="number"?r:100},f=yn(this,"",u);if(typeof l=="function")for(const{count:d,res:g}of u.anchors.values())l(g,d);return typeof o=="function"?wr(o,{"":f},"",f):f}}class Ac extends Ld{constructor(e){super(jd),this.source=e,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(e,i){let r;i!=null&&i.aliasResolveCache?r=i.aliasResolveCache:(r=[],Ss(e,{Node:(o,u)=>{(Bi(u)||Kv(u))&&r.push(u)}}),i&&(i.aliasResolveCache=r));let l;for(const o of r){if(o===this)break;o.anchor===this.source&&(l=o)}return l}toJSON(e,i){if(!i)return{source:this.source};const{anchors:r,doc:l,maxAliasCount:o}=i,u=this.resolve(l,i);if(!u){const d=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(d)}let f=r.get(u);if(f||(yn(u,null,i),f=r.get(u)),(f==null?void 0:f.res)===void 0){const d="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(d)}if(o>=0&&(f.count+=1,f.aliasCount===0&&(f.aliasCount=Wo(l,u,r)),f.count*f.aliasCount>o)){const d="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(d)}return f.res}toString(e,i,r){const l=`*${this.source}`;if(e){if(Pv(this.source),e.options.verifyAliasOrder&&!e.anchors.has(this.source)){const o=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(o)}if(e.implicitKey)return`${l} `}return l}}function Wo(n,e,i){if(Bi(e)){const r=e.resolve(n),l=i&&r&&i.get(r);return l?l.count*l.aliasCount:0}else if(Ke(e)){let r=0;for(const l of e.items){const o=Wo(n,l,i);o>r&&(r=o)}return r}else if(Ve(e)){const r=Wo(n,e.key,i),l=Wo(n,e.value,i);return Math.max(r,l)}return 1}const Wv=n=>!n||typeof n!="function"&&typeof n!="object";class ue extends Ld{constructor(e){super(Ln),this.value=e}toJSON(e,i){return i!=null&&i.keep?this.value:yn(this.value,e,i)}toString(){return String(this.value)}}ue.BLOCK_FOLDED="BLOCK_FOLDED";ue.BLOCK_LITERAL="BLOCK_LITERAL";ue.PLAIN="PLAIN";ue.QUOTE_DOUBLE="QUOTE_DOUBLE";ue.QUOTE_SINGLE="QUOTE_SINGLE";const UA="tag:yaml.org,2002:";function HA(n,e,i){if(e){const r=i.filter(o=>o.tag===e),l=r.find(o=>!o.format)??r[0];if(!l)throw new Error(`Tag ${e} not found`);return l}return i.find(r=>{var l;return((l=r.identify)==null?void 0:l.call(r,n))&&!r.format})}function ll(n,e,i){var m,S,w;if(vs(n)&&(n=n.contents),Xe(n))return n;if(Ve(n)){const E=(S=(m=i.schema[zi]).createNode)==null?void 0:S.call(m,i.schema,null,i);return E.items.push(n),E}(n instanceof String||n instanceof Number||n instanceof Boolean||typeof BigInt<"u"&&n instanceof BigInt)&&(n=n.valueOf());const{aliasDuplicateObjects:r,onAnchor:l,onTagObj:o,schema:u,sourceObjects:f}=i;let d;if(r&&n&&typeof n=="object"){if(d=f.get(n),d)return d.anchor??(d.anchor=l(n)),new Ac(d.anchor);d={anchor:null,node:null},f.set(n,d)}e!=null&&e.startsWith("!!")&&(e=UA+e.slice(2));let g=HA(n,e,u.tags);if(!g){if(n&&typeof n.toJSON=="function"&&(n=n.toJSON()),!n||typeof n!="object"){const E=new ue(n);return d&&(d.node=E),E}g=n instanceof Map?u[zi]:Symbol.iterator in Object(n)?u[Lr]:u[zi]}o&&(o(g),delete i.onTagObj);const b=g!=null&&g.createNode?g.createNode(i.schema,n,i):typeof((w=g==null?void 0:g.nodeClass)==null?void 0:w.from)=="function"?g.nodeClass.from(i.schema,n,i):new ue(n);return e?b.tag=e:g.default||(b.tag=g.tag),d&&(d.node=b),b}function hc(n,e,i){let r=i;for(let l=e.length-1;l>=0;--l){const o=e[l];if(typeof o=="number"&&Number.isInteger(o)&&o>=0){const u=[];u[o]=r,r=u}else r=new Map([[o,r]])}return ll(r,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:n,sourceObjects:new Map})}const Ya=n=>n==null||typeof n=="object"&&!!n[Symbol.iterator]().next().done;class eS extends Ld{constructor(e,i){super(e),Object.defineProperty(this,"schema",{value:i,configurable:!0,enumerable:!1,writable:!0})}clone(e){const i=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return e&&(i.schema=e),i.items=i.items.map(r=>Xe(r)||Ve(r)?r.clone(e):r),this.range&&(i.range=this.range.slice()),i}addIn(e,i){if(Ya(e))this.add(i);else{const[r,...l]=e,o=this.get(r,!0);if(Ke(o))o.addIn(l,i);else if(o===void 0&&this.schema)this.set(r,hc(this.schema,l,i));else throw new Error(`Expected YAML collection at ${r}. Remaining path: ${l}`)}}deleteIn(e){const[i,...r]=e;if(r.length===0)return this.delete(i);const l=this.get(i,!0);if(Ke(l))return l.deleteIn(r);throw new Error(`Expected YAML collection at ${i}. Remaining path: ${r}`)}getIn(e,i){const[r,...l]=e,o=this.get(r,!0);return l.length===0?!i&&ze(o)?o.value:o:Ke(o)?o.getIn(l,i):void 0}hasAllNullValues(e){return this.items.every(i=>{if(!Ve(i))return!1;const r=i.value;return r==null||e&&ze(r)&&r.value==null&&!r.commentBefore&&!r.comment&&!r.tag})}hasIn(e){const[i,...r]=e;if(r.length===0)return this.has(i);const l=this.get(i,!0);return Ke(l)?l.hasIn(r):!1}setIn(e,i){const[r,...l]=e;if(l.length===0)this.set(r,i);else{const o=this.get(r,!0);if(Ke(o))o.setIn(l,i);else if(o===void 0&&this.schema)this.set(r,hc(this.schema,l,i));else throw new Error(`Expected YAML collection at ${r}. Remaining path: ${l}`)}}}const BA=n=>n.replace(/^(?!$)(?: $)?/gm,"#");function ii(n,e){return/^\n+$/.test(n)?n.substring(1):e?n.replace(/^(?! *$)/gm,e):n}const ds=(n,e,i)=>n.endsWith(`
126 -`)?ii(i,e):i.includes(`
127 -`)?`
128 -`+ii(i,e):(n.endsWith(" ")?"":" ")+i,tS="flow",Xh="block",ec="quoted";function Cc(n,e,i="flow",{indentAtStart:r,lineWidth:l=80,minContentWidth:o=20,onFold:u,onOverflow:f}={}){if(!l||l<0)return n;l<o&&(o=0);const d=Math.max(1+o,1+l-e.length);if(n.length<=d)return n;const g=[],b={};let m=l-e.length;typeof r=="number"&&(r>l-Math.max(2,o)?g.push(0):m=l-r);let S,w,E=!1,x=-1,_=-1,A=-1;i===Xh&&(x=Gb(n,x,e.length),x!==-1&&(m=x+d));for(let $;$=n[x+=1];){if(i===ec&&$==="\\"){switch(_=x,n[x+1]){case"x":x+=3;break;case"u":x+=5;break;case"U":x+=9;break;default:x+=1}A=x}if($===`
129 -`)i===Xh&&(x=Gb(n,x,e.length)),m=x+e.length+d,S=void 0;else{if($===" "&&w&&w!==" "&&w!==`
130 -`&&w!==" "){const G=n[x+1];G&&G!==" "&&G!==`
131 -`&&G!==" "&&(S=x)}if(x>=m)if(S)g.push(S),m=S+d,S=void 0;else if(i===ec){for(;w===" "||w===" ";)w=$,$=n[x+=1],E=!0;const G=x>A+1?x-2:_-1;if(b[G])return n;g.push(G),b[G]=!0,m=G+d,S=void 0}else E=!0}w=$}if(E&&f&&f(),g.length===0)return n;u&&u();let N=n.slice(0,g[0]);for(let $=0;$<g.length;++$){const G=g[$],X=g[$+1]||n.length;G===0?N=`
132 -${e}${n.slice(0,X)}`:(i===ec&&b[G]&&(N+=`${n[G]}\\`),N+=`
133 -${e}${n.slice(G+1,X)}`)}return N}function Gb(n,e,i){let r=e,l=e+1,o=n[l];for(;o===" "||o===" ";)if(e<l+i)o=n[++e];else{do o=n[++e];while(o&&o!==`
134 -`);r=e,l=e+1,o=n[l]}return r}const Nc=(n,e)=>({indentAtStart:e?n.indent.length:n.indentAtStart,lineWidth:n.options.lineWidth,minContentWidth:n.options.minContentWidth}),kc=n=>/^(%|---|\.\.\.)/m.test(n);function qA(n,e,i){if(!e||e<0)return!1;const r=e-i,l=n.length;if(l<=r)return!1;for(let o=0,u=0;o<l;++o)if(n[o]===`
135 -`){if(o-u>r)return!0;if(u=o+1,l-u<=r)return!1}return!0}function il(n,e){const i=JSON.stringify(n);if(e.options.doubleQuotedAsJSON)return i;const{implicitKey:r}=e,l=e.options.doubleQuotedMinMultiLineLength,o=e.indent||(kc(n)?" ":"");let u="",f=0;for(let d=0,g=i[d];g;g=i[++d])if(g===" "&&i[d+1]==="\\"&&i[d+2]==="n"&&(u+=i.slice(f,d)+"\\ ",d+=1,f=d,g="\\"),g==="\\")switch(i[d+1]){case"u":{u+=i.slice(f,d);const b=i.substr(d+2,4);switch(b){case"0000":u+="\\0";break;case"0007":u+="\\a";break;case"000b":u+="\\v";break;case"001b":u+="\\e";break;case"0085":u+="\\N";break;case"00a0":u+="\\_";break;case"2028":u+="\\L";break;case"2029":u+="\\P";break;default:b.substr(0,2)==="00"?u+="\\x"+b.substr(2):u+=i.substr(d,6)}d+=5,f=d+1}break;case"n":if(r||i[d+2]==='"'||i.length<l)d+=1;else{for(u+=i.slice(f,d)+`
136 -
137 -`;i[d+2]==="\\"&&i[d+3]==="n"&&i[d+4]!=='"';)u+=`
138 -`,d+=2;u+=o,i[d+2]===" "&&(u+="\\"),d+=1,f=d+1}break;default:d+=1}return u=f?u+i.slice(f):i,r?u:Cc(u,o,ec,Nc(e,!1))}function Yh(n,e){if(e.options.singleQuote===!1||e.implicitKey&&n.includes(`
139 -`)||/[ \t]\n|\n[ \t]/.test(n))return il(n,e);const i=e.indent||(kc(n)?" ":""),r="'"+n.replace(/'/g,"''").replace(/\n+/g,`$&
140 -${i}`)+"'";return e.implicitKey?r:Cc(r,i,tS,Nc(e,!1))}function xr(n,e){const{singleQuote:i}=e.options;let r;if(i===!1)r=il;else{const l=n.includes('"'),o=n.includes("'");l&&!o?r=Yh:o&&!l?r=il:r=i?Yh:il}return r(n,e)}let Fh;try{Fh=new RegExp(`(^|(?<!
141 -))
142 -+(?!
143 -|$)`,"g")}catch{Fh=/\n+(?!\n|$)/g}function tc({comment:n,type:e,value:i},r,l,o){const{blockQuote:u,commentString:f,lineWidth:d}=r.options;if(!u||/\n[\t ]+$/.test(i))return xr(i,r);const g=r.indent||(r.forceBlockIndent||kc(i)?" ":""),b=u==="literal"?!0:u==="folded"||e===ue.BLOCK_FOLDED?!1:e===ue.BLOCK_LITERAL?!0:!qA(i,d,g.length);if(!i)return b?`|
144 -`:`>
145 -`;let m,S;for(S=i.length;S>0;--S){const X=i[S-1];if(X!==`
146 -`&&X!==" "&&X!==" ")break}let w=i.substring(S);const E=w.indexOf(`
147 -`);E===-1?m="-":i===w||E!==w.length-1?(m="+",o&&o()):m="",w&&(i=i.slice(0,-w.length),w[w.length-1]===`
148 -`&&(w=w.slice(0,-1)),w=w.replace(Fh,`$&${g}`));let x=!1,_,A=-1;for(_=0;_<i.length;++_){const X=i[_];if(X===" ")x=!0;else if(X===`
149 -`)A=_;else break}let N=i.substring(0,A<_?A+1:_);N&&(i=i.substring(N.length),N=N.replace(/\n+/g,`$&${g}`));let G=(x?g?"2":"1":"")+m;if(n&&(G+=" "+f(n.replace(/ ?[\r\n]+/g," ")),l&&l()),!b){const X=i.replace(/\n+/g,`
150 -$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${g}`);let U=!1;const L=Nc(r,!0);u!=="folded"&&e!==ue.BLOCK_FOLDED&&(L.onOverflow=()=>{U=!0});const B=Cc(`${N}${X}${w}`,g,Xh,L);if(!U)return`>${G}
151 -${g}${B}`}return i=i.replace(/\n+/g,`$&${g}`),`|${G}
152 -${g}${N}${i}${w}`}function $A(n,e,i,r){const{type:l,value:o}=n,{actualString:u,implicitKey:f,indent:d,indentStep:g,inFlow:b}=e;if(f&&o.includes(`
153 -`)||b&&/[[\]{},]/.test(o))return xr(o,e);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(o))return f||b||!o.includes(`
154 -`)?xr(o,e):tc(n,e,i,r);if(!f&&!b&&l!==ue.PLAIN&&o.includes(`
155 -`))return tc(n,e,i,r);if(kc(o)){if(d==="")return e.forceBlockIndent=!0,tc(n,e,i,r);if(f&&d===g)return xr(o,e)}const m=o.replace(/\n+/g,`$&
156 -${d}`);if(u){const S=x=>{var _;return x.default&&x.tag!=="tag:yaml.org,2002:str"&&((_=x.test)==null?void 0:_.test(m))},{compat:w,tags:E}=e.doc.schema;if(E.some(S)||w!=null&&w.some(S))return xr(o,e)}return f?m:Cc(m,d,tS,Nc(e,!1))}function hl(n,e,i,r){const{implicitKey:l,inFlow:o}=e,u=typeof n.value=="string"?n:Object.assign({},n,{value:String(n.value)});let{type:f}=n;f!==ue.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(u.value)&&(f=ue.QUOTE_DOUBLE);const d=b=>{switch(b){case ue.BLOCK_FOLDED:case ue.BLOCK_LITERAL:return l||o?xr(u.value,e):tc(u,e,i,r);case ue.QUOTE_DOUBLE:return il(u.value,e);case ue.QUOTE_SINGLE:return Yh(u.value,e);case ue.PLAIN:return $A(u,e,i,r);default:return null}};let g=d(f);if(g===null){const{defaultKeyType:b,defaultStringType:m}=e.options,S=l&&b||m;if(g=d(S),g===null)throw new Error(`Unsupported default string type ${S}`)}return g}function nS(n,e){const i=Object.assign({blockQuote:!0,commentString:BA,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trailingComma:!1,trueStr:"true",verifyAliasOrder:!0},n.schema.toStringOptions,e);let r;switch(i.collectionStyle){case"block":r=!1;break;case"flow":r=!0;break;default:r=null}return{anchors:new Set,doc:n,flowCollectionPadding:i.flowCollectionPadding?" ":"",indent:"",indentStep:typeof i.indent=="number"?" ".repeat(i.indent):" ",inFlow:r,options:i}}function IA(n,e){var l;if(e.tag){const o=n.filter(u=>u.tag===e.tag);if(o.length>0)return o.find(u=>u.format===e.format)??o[0]}let i,r;if(ze(e)){r=e.value;let o=n.filter(u=>{var f;return(f=u.identify)==null?void 0:f.call(u,r)});if(o.length>1){const u=o.filter(f=>f.test);u.length>0&&(o=u)}i=o.find(u=>u.format===e.format)??o.find(u=>!u.format)}else r=e,i=n.find(o=>o.nodeClass&&r instanceof o.nodeClass);if(!i){const o=((l=r==null?void 0:r.constructor)==null?void 0:l.name)??(r===null?"null":typeof r);throw new Error(`Tag not resolved for ${o} value`)}return i}function VA(n,e,{anchors:i,doc:r}){if(!r.directives)return"";const l=[],o=(ze(n)||Ke(n))&&n.anchor;o&&Pv(o)&&(i.add(o),l.push(`&${o}`));const u=n.tag??(e.default?null:e.tag);return u&&l.push(r.directives.tagString(u)),l.join(" ")}function Cr(n,e,i,r){var d;if(Ve(n))return n.toString(e,i,r);if(Bi(n)){if(e.doc.directives)return n.toString(e);if((d=e.resolvedAliases)!=null&&d.has(n))throw new TypeError("Cannot stringify circular structure without alias nodes");e.resolvedAliases?e.resolvedAliases.add(n):e.resolvedAliases=new Set([n]),n=n.resolve(e.doc)}let l;const o=Xe(n)?n:e.doc.createNode(n,{onTagObj:g=>l=g});l??(l=IA(e.doc.schema.tags,o));const u=VA(o,l,e);u.length>0&&(e.indentAtStart=(e.indentAtStart??0)+u.length+1);const f=typeof l.stringify=="function"?l.stringify(o,e,i,r):ze(o)?hl(o,e,i,r):o.toString(e,i,r);return u?ze(o)||f[0]==="{"||f[0]==="["?`${u} ${f}`:`${u}
157 -${e.indent}${f}`:f}function GA({key:n,value:e},i,r,l){const{allNullValues:o,doc:u,indent:f,indentStep:d,options:{commentString:g,indentSeq:b,simpleKeys:m}}=i;let S=Xe(n)&&n.comment||null;if(m){if(S)throw new Error("With simple keys, key nodes cannot have comments");if(Ke(n)||!Xe(n)&&typeof n=="object"){const L="With simple keys, collection cannot be used as a key value";throw new Error(L)}}let w=!m&&(!n||S&&e==null&&!i.inFlow||Ke(n)||(ze(n)?n.type===ue.BLOCK_FOLDED||n.type===ue.BLOCK_LITERAL:typeof n=="object"));i=Object.assign({},i,{allNullValues:!1,implicitKey:!w&&(m||!o),indent:f+d});let E=!1,x=!1,_=Cr(n,i,()=>E=!0,()=>x=!0);if(!w&&!i.inFlow&&_.length>1024){if(m)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");w=!0}if(i.inFlow){if(o||e==null)return E&&r&&r(),_===""?"?":w?`? ${_}`:_}else if(o&&!m||e==null&&w)return _=`? ${_}`,S&&!E?_+=ds(_,i.indent,g(S)):x&&l&&l(),_;E&&(S=null),w?(S&&(_+=ds(_,i.indent,g(S))),_=`? ${_}
158 -${f}:`):(_=`${_}:`,S&&(_+=ds(_,i.indent,g(S))));let A,N,$;Xe(e)?(A=!!e.spaceBefore,N=e.commentBefore,$=e.comment):(A=!1,N=null,$=null,e&&typeof e=="object"&&(e=u.createNode(e))),i.implicitKey=!1,!w&&!S&&ze(e)&&(i.indentAtStart=_.length+1),x=!1,!b&&d.length>=2&&!i.inFlow&&!w&&Dr(e)&&!e.flow&&!e.tag&&!e.anchor&&(i.indent=i.indent.substring(2));let G=!1;const X=Cr(e,i,()=>G=!0,()=>x=!0);let U=" ";if(S||A||N){if(U=A?`
159 -`:"",N){const L=g(N);U+=`
160 -${ii(L,i.indent)}`}X===""&&!i.inFlow?U===`
161 -`&&$&&(U=`
162 -
163 -`):U+=`
164 -${i.indent}`}else if(!w&&Ke(e)){const L=X[0],B=X.indexOf(`
165 -`),O=B!==-1,ne=i.inFlow??e.flow??e.items.length===0;if(O||!ne){let te=!1;if(O&&(L==="&"||L==="!")){let V=X.indexOf(" ");L==="&"&&V!==-1&&V<B&&X[V+1]==="!"&&(V=X.indexOf(" ",V+1)),(V===-1||B<V)&&(te=!0)}te||(U=`
166 -${i.indent}`)}}else(X===""||X[0]===`
167 -`)&&(U="");return _+=U+X,i.inFlow?G&&r&&r():$&&!G?_+=ds(_,i.indent,g($)):x&&l&&l(),_}function iS(n,e){(n==="debug"||n==="warn")&&console.warn(e)}const qo="<<",si={identify:n=>n===qo||typeof n=="symbol"&&n.description===qo,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new ue(Symbol(qo)),{addToJSMap:sS}),stringify:()=>qo},KA=(n,e)=>(si.identify(e)||ze(e)&&(!e.type||e.type===ue.PLAIN)&&si.identify(e.value))&&(n==null?void 0:n.doc.schema.tags.some(i=>i.tag===si.tag&&i.default));function sS(n,e,i){if(i=n&&Bi(i)?i.resolve(n.doc):i,Dr(i))for(const r of i.items)vh(n,e,r);else if(Array.isArray(i))for(const r of i)vh(n,e,r);else vh(n,e,i)}function vh(n,e,i){const r=n&&Bi(i)?i.resolve(n.doc):i;if(!Rr(r))throw new Error("Merge sources must be maps or map aliases");const l=r.toJSON(null,n,Map);for(const[o,u]of l)e instanceof Map?e.has(o)||e.set(o,u):e instanceof Set?e.add(o):Object.prototype.hasOwnProperty.call(e,o)||Object.defineProperty(e,o,{value:u,writable:!0,enumerable:!0,configurable:!0});return e}function rS(n,e,{key:i,value:r}){if(Xe(i)&&i.addToJSMap)i.addToJSMap(n,e,r);else if(KA(n,i))sS(n,e,r);else{const l=yn(i,"",n);if(e instanceof Map)e.set(l,yn(r,l,n));else if(e instanceof Set)e.add(l);else{const o=XA(i,l,n),u=yn(r,o,n);o in e?Object.defineProperty(e,o,{value:u,writable:!0,enumerable:!0,configurable:!0}):e[o]=u}}return e}function XA(n,e,i){if(e===null)return"";if(typeof e!="object")return String(e);if(Xe(n)&&(i!=null&&i.doc)){const r=nS(i.doc,{});r.anchors=new Set;for(const o of i.anchors.keys())r.anchors.add(o.anchor);r.inFlow=!0,r.inStringifyKey=!0;const l=n.toString(r);if(!i.mapKeyWarned){let o=JSON.stringify(l);o.length>40&&(o=o.substring(0,36)+'..."'),iS(i.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${o}. Set mapAsMap: true to use object keys.`),i.mapKeyWarned=!0}return l}return JSON.stringify(e)}function Rd(n,e,i){const r=ll(n,void 0,i),l=ll(e,void 0,i);return new Tt(r,l)}class Tt{constructor(e,i=null){Object.defineProperty(this,bn,{value:Gv}),this.key=e,this.value=i}clone(e){let{key:i,value:r}=this;return Xe(i)&&(i=i.clone(e)),Xe(r)&&(r=r.clone(e)),new Tt(i,r)}toJSON(e,i){const r=i!=null&&i.mapAsMap?new Map:{};return rS(i,r,this)}toString(e,i,r){return e!=null&&e.doc?GA(this,e,i,r):JSON.stringify(this)}}function aS(n,e,i){return(e.inFlow??n.flow?FA:YA)(n,e,i)}function YA({comment:n,items:e},i,{blockItemPrefix:r,flowChars:l,itemIndent:o,onChompKeep:u,onComment:f}){const{indent:d,options:{commentString:g}}=i,b=Object.assign({},i,{indent:o,type:null});let m=!1;const S=[];for(let E=0;E<e.length;++E){const x=e[E];let _=null;if(Xe(x))!m&&x.spaceBefore&&S.push(""),dc(i,S,x.commentBefore,m),x.comment&&(_=x.comment);else if(Ve(x)){const N=Xe(x.key)?x.key:null;N&&(!m&&N.spaceBefore&&S.push(""),dc(i,S,N.commentBefore,m))}m=!1;let A=Cr(x,b,()=>_=null,()=>m=!0);_&&(A+=ds(A,o,g(_))),m&&_&&(m=!1),S.push(r+A)}let w;if(S.length===0)w=l.start+l.end;else{w=S[0];for(let E=1;E<S.length;++E){const x=S[E];w+=x?`
168 -${d}${x}`:`
169 -`}}return n?(w+=`
170 -`+ii(g(n),d),f&&f()):m&&u&&u(),w}function FA({items:n},e,{flowChars:i,itemIndent:r}){const{indent:l,indentStep:o,flowCollectionPadding:u,options:{commentString:f}}=e;r+=o;const d=Object.assign({},e,{indent:r,inFlow:!0,type:null});let g=!1,b=0;const m=[];for(let E=0;E<n.length;++E){const x=n[E];let _=null;if(Xe(x))x.spaceBefore&&m.push(""),dc(e,m,x.commentBefore,!1),x.comment&&(_=x.comment);else if(Ve(x)){const N=Xe(x.key)?x.key:null;N&&(N.spaceBefore&&m.push(""),dc(e,m,N.commentBefore,!1),N.comment&&(g=!0));const $=Xe(x.value)?x.value:null;$?($.comment&&(_=$.comment),$.commentBefore&&(g=!0)):x.value==null&&(N!=null&&N.comment)&&(_=N.comment)}_&&(g=!0);let A=Cr(x,d,()=>_=null);g||(g=m.length>b||A.includes(`
171 -`)),E<n.length-1?A+=",":e.options.trailingComma&&(e.options.lineWidth>0&&(g||(g=m.reduce((N,$)=>N+$.length+2,2)+(A.length+2)>e.options.lineWidth)),g&&(A+=",")),_&&(A+=ds(A,r,f(_))),m.push(A),b=m.length}const{start:S,end:w}=i;if(m.length===0)return S+w;if(!g){const E=m.reduce((x,_)=>x+_.length+2,2);g=e.options.lineWidth>0&&E>e.options.lineWidth}if(g){let E=S;for(const x of m)E+=x?`
172 -${o}${l}${x}`:`
173 -`;return`${E}
174 -${l}${w}`}else return`${S}${u}${m.join(" ")}${u}${w}`}function dc({indent:n,options:{commentString:e}},i,r,l){if(r&&l&&(r=r.replace(/^\n+/,"")),r){const o=ii(e(r),n);i.push(o.trimStart())}}function ps(n,e){const i=ze(e)?e.value:e;for(const r of n)if(Ve(r)&&(r.key===e||r.key===i||ze(r.key)&&r.key.value===i))return r}class Wt extends eS{static get tagName(){return"tag:yaml.org,2002:map"}constructor(e){super(zi,e),this.items=[]}static from(e,i,r){const{keepUndefined:l,replacer:o}=r,u=new this(e),f=(d,g)=>{if(typeof o=="function")g=o.call(i,d,g);else if(Array.isArray(o)&&!o.includes(d))return;(g!==void 0||l)&&u.items.push(Rd(d,g,r))};if(i instanceof Map)for(const[d,g]of i)f(d,g);else if(i&&typeof i=="object")for(const d of Object.keys(i))f(d,i[d]);return typeof e.sortMapEntries=="function"&&u.items.sort(e.sortMapEntries),u}add(e,i){var u;let r;Ve(e)?r=e:!e||typeof e!="object"||!("key"in e)?r=new Tt(e,e==null?void 0:e.value):r=new Tt(e.key,e.value);const l=ps(this.items,r.key),o=(u=this.schema)==null?void 0:u.sortMapEntries;if(l){if(!i)throw new Error(`Key ${r.key} already set`);ze(l.value)&&Wv(r.value)?l.value.value=r.value:l.value=r.value}else if(o){const f=this.items.findIndex(d=>o(r,d)<0);f===-1?this.items.push(r):this.items.splice(f,0,r)}else this.items.push(r)}delete(e){const i=ps(this.items,e);return i?this.items.splice(this.items.indexOf(i),1).length>0:!1}get(e,i){const r=ps(this.items,e),l=r==null?void 0:r.value;return(!i&&ze(l)?l.value:l)??void 0}has(e){return!!ps(this.items,e)}set(e,i){this.add(new Tt(e,i),!0)}toJSON(e,i,r){const l=r?new r:i!=null&&i.mapAsMap?new Map:{};i!=null&&i.onCreate&&i.onCreate(l);for(const o of this.items)rS(i,l,o);return l}toString(e,i,r){if(!e)return JSON.stringify(this);for(const l of this.items)if(!Ve(l))throw new Error(`Map items must all be pairs; found ${JSON.stringify(l)} instead`);return!e.allNullValues&&this.hasAllNullValues(!1)&&(e=Object.assign({},e,{allNullValues:!0})),aS(this,e,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:e.indent||"",onChompKeep:r,onComment:i})}}const zr={collection:"map",default:!0,nodeClass:Wt,tag:"tag:yaml.org,2002:map",resolve(n,e){return Rr(n)||e("Expected a mapping for this tag"),n},createNode:(n,e,i)=>Wt.from(n,e,i)};class Ui extends eS{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(e){super(Lr,e),this.items=[]}add(e){this.items.push(e)}delete(e){const i=$o(e);return typeof i!="number"?!1:this.items.splice(i,1).length>0}get(e,i){const r=$o(e);if(typeof r!="number")return;const l=this.items[r];return!i&&ze(l)?l.value:l}has(e){const i=$o(e);return typeof i=="number"&&i<this.items.length}set(e,i){const r=$o(e);if(typeof r!="number")throw new Error(`Expected a valid index, not ${e}.`);const l=this.items[r];ze(l)&&Wv(i)?l.value=i:this.items[r]=i}toJSON(e,i){const r=[];i!=null&&i.onCreate&&i.onCreate(r);let l=0;for(const o of this.items)r.push(yn(o,String(l++),i));return r}toString(e,i,r){return e?aS(this,e,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(e.indent||"")+" ",onChompKeep:r,onComment:i}):JSON.stringify(this)}static from(e,i,r){const{replacer:l}=r,o=new this(e);if(i&&Symbol.iterator in Object(i)){let u=0;for(let f of i){if(typeof l=="function"){const d=i instanceof Set?f:String(u++);f=l.call(i,d,f)}o.items.push(ll(f,void 0,r))}}return o}}function $o(n){let e=ze(n)?n.value:n;return e&&typeof e=="string"&&(e=Number(e)),typeof e=="number"&&Number.isInteger(e)&&e>=0?e:null}const Ur={collection:"seq",default:!0,nodeClass:Ui,tag:"tag:yaml.org,2002:seq",resolve(n,e){return Dr(n)||e("Expected a sequence for this tag"),n},createNode:(n,e,i)=>Ui.from(n,e,i)},Mc={identify:n=>typeof n=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:n=>n,stringify(n,e,i,r){return e=Object.assign({actualString:!0},e),hl(n,e,i,r)}},Oc={identify:n=>n==null,createNode:()=>new ue(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new ue(null),stringify:({source:n},e)=>typeof n=="string"&&Oc.test.test(n)?n:e.options.nullStr},Dd={identify:n=>typeof n=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:n=>new ue(n[0]==="t"||n[0]==="T"),stringify({source:n,value:e},i){if(n&&Dd.test.test(n)){const r=n[0]==="t"||n[0]==="T";if(e===r)return n}return e?i.options.trueStr:i.options.falseStr}};function En({format:n,minFractionDigits:e,tag:i,value:r}){if(typeof r=="bigint")return String(r);const l=typeof r=="number"?r:Number(r);if(!isFinite(l))return isNaN(l)?".nan":l<0?"-.inf":".inf";let o=Object.is(r,-0)?"-0":JSON.stringify(r);if(!n&&e&&(!i||i==="tag:yaml.org,2002:float")&&/^\d/.test(o)){let u=o.indexOf(".");u<0&&(u=o.length,o+=".");let f=e-(o.length-u-1);for(;f-- >0;)o+="0"}return o}const lS={identify:n=>typeof n=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:n=>n.slice(-3).toLowerCase()==="nan"?NaN:n[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:En},oS={identify:n=>typeof n=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:n=>parseFloat(n),stringify(n){const e=Number(n.value);return isFinite(e)?e.toExponential():En(n)}},cS={identify:n=>typeof n=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(n){const e=new ue(parseFloat(n)),i=n.indexOf(".");return i!==-1&&n[n.length-1]==="0"&&(e.minFractionDigits=n.length-i-1),e},stringify:En},jc=n=>typeof n=="bigint"||Number.isInteger(n),zd=(n,e,i,{intAsBigInt:r})=>r?BigInt(n):parseInt(n.substring(e),i);function uS(n,e,i){const{value:r}=n;return jc(r)&&r>=0?i+r.toString(e):En(n)}const fS={identify:n=>jc(n)&&n>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(n,e,i)=>zd(n,2,8,i),stringify:n=>uS(n,8,"0o")},hS={identify:jc,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(n,e,i)=>zd(n,0,10,i),stringify:En},dS={identify:n=>jc(n)&&n>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(n,e,i)=>zd(n,2,16,i),stringify:n=>uS(n,16,"0x")},QA=[zr,Ur,Mc,Oc,Dd,fS,hS,dS,lS,oS,cS];function Kb(n){return typeof n=="bigint"||Number.isInteger(n)}const Io=({value:n})=>JSON.stringify(n),PA=[{identify:n=>typeof n=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:n=>n,stringify:Io},{identify:n=>n==null,createNode:()=>new ue(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:Io},{identify:n=>typeof n=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:n=>n==="true",stringify:Io},{identify:Kb,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(n,e,{intAsBigInt:i})=>i?BigInt(n):parseInt(n,10),stringify:({value:n})=>Kb(n)?n.toString():JSON.stringify(n)},{identify:n=>typeof n=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:n=>parseFloat(n),stringify:Io}],JA={default:!0,tag:"",test:/^/,resolve(n,e){return e(`Unresolved plain scalar ${JSON.stringify(n)}`),n}},ZA=[zr,Ur].concat(PA,JA),Ud={identify:n=>n instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(n,e){if(typeof atob=="function"){const i=atob(n.replace(/[\n\r]/g,"")),r=new Uint8Array(i.length);for(let l=0;l<i.length;++l)r[l]=i.charCodeAt(l);return r}else return e("This environment does not support reading binary tags; either Buffer or atob is required"),n},stringify({comment:n,type:e,value:i},r,l,o){if(!i)return"";const u=i;let f;if(typeof btoa=="function"){let d="";for(let g=0;g<u.length;++g)d+=String.fromCharCode(u[g]);f=btoa(d)}else throw new Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(e??(e=ue.BLOCK_LITERAL),e!==ue.QUOTE_DOUBLE){const d=Math.max(r.options.lineWidth-r.indent.length,r.options.minContentWidth),g=Math.ceil(f.length/d),b=new Array(g);for(let m=0,S=0;m<g;++m,S+=d)b[m]=f.substr(S,d);f=b.join(e===ue.BLOCK_LITERAL?`
175 -`:" ")}return hl({comment:n,type:e,value:f},r,l,o)}};function pS(n,e){if(Dr(n))for(let i=0;i<n.items.length;++i){let r=n.items[i];if(!Ve(r)){if(Rr(r)){r.items.length>1&&e("Each pair must have its own sequence indicator");const l=r.items[0]||new Tt(new ue(null));if(r.commentBefore&&(l.key.commentBefore=l.key.commentBefore?`${r.commentBefore}
176 -${l.key.commentBefore}`:r.commentBefore),r.comment){const o=l.value??l.key;o.comment=o.comment?`${r.comment}
177 -${o.comment}`:r.comment}r=l}n.items[i]=Ve(r)?r:new Tt(r)}}else e("Expected a sequence for this tag");return n}function gS(n,e,i){const{replacer:r}=i,l=new Ui(n);l.tag="tag:yaml.org,2002:pairs";let o=0;if(e&&Symbol.iterator in Object(e))for(let u of e){typeof r=="function"&&(u=r.call(e,String(o++),u));let f,d;if(Array.isArray(u))if(u.length===2)f=u[0],d=u[1];else throw new TypeError(`Expected [key, value] tuple: ${u}`);else if(u&&u instanceof Object){const g=Object.keys(u);if(g.length===1)f=g[0],d=u[f];else throw new TypeError(`Expected tuple with one key, not ${g.length} keys`)}else f=u;l.items.push(Rd(f,d,i))}return l}const Hd={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:pS,createNode:gS};class Er extends Ui{constructor(){super(),this.add=Wt.prototype.add.bind(this),this.delete=Wt.prototype.delete.bind(this),this.get=Wt.prototype.get.bind(this),this.has=Wt.prototype.has.bind(this),this.set=Wt.prototype.set.bind(this),this.tag=Er.tag}toJSON(e,i){if(!i)return super.toJSON(e);const r=new Map;i!=null&&i.onCreate&&i.onCreate(r);for(const l of this.items){let o,u;if(Ve(l)?(o=yn(l.key,"",i),u=yn(l.value,o,i)):o=yn(l,"",i),r.has(o))throw new Error("Ordered maps must not include duplicate keys");r.set(o,u)}return r}static from(e,i,r){const l=gS(e,i,r),o=new this;return o.items=l.items,o}}Er.tag="tag:yaml.org,2002:omap";const Bd={collection:"seq",identify:n=>n instanceof Map,nodeClass:Er,default:!1,tag:"tag:yaml.org,2002:omap",resolve(n,e){const i=pS(n,e),r=[];for(const{key:l}of i.items)ze(l)&&(r.includes(l.value)?e(`Ordered maps must not include duplicate keys: ${l.value}`):r.push(l.value));return Object.assign(new Er,i)},createNode:(n,e,i)=>Er.from(n,e,i)};function mS({value:n,source:e},i){return e&&(n?yS:bS).test.test(e)?e:n?i.options.trueStr:i.options.falseStr}const yS={identify:n=>n===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new ue(!0),stringify:mS},bS={identify:n=>n===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new ue(!1),stringify:mS},WA={identify:n=>typeof n=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:n=>n.slice(-3).toLowerCase()==="nan"?NaN:n[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:En},eC={identify:n=>typeof n=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:n=>parseFloat(n.replace(/_/g,"")),stringify(n){const e=Number(n.value);return isFinite(e)?e.toExponential():En(n)}},tC={identify:n=>typeof n=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(n){const e=new ue(parseFloat(n.replace(/_/g,""))),i=n.indexOf(".");if(i!==-1){const r=n.substring(i+1).replace(/_/g,"");r[r.length-1]==="0"&&(e.minFractionDigits=r.length)}return e},stringify:En},dl=n=>typeof n=="bigint"||Number.isInteger(n);function Lc(n,e,i,{intAsBigInt:r}){const l=n[0];if((l==="-"||l==="+")&&(e+=1),n=n.substring(e).replace(/_/g,""),r){switch(i){case 2:n=`0b${n}`;break;case 8:n=`0o${n}`;break;case 16:n=`0x${n}`;break}const u=BigInt(n);return l==="-"?BigInt(-1)*u:u}const o=parseInt(n,i);return l==="-"?-1*o:o}function qd(n,e,i){const{value:r}=n;if(dl(r)){const l=r.toString(e);return r<0?"-"+i+l.substr(1):i+l}return En(n)}const nC={identify:dl,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(n,e,i)=>Lc(n,2,2,i),stringify:n=>qd(n,2,"0b")},iC={identify:dl,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(n,e,i)=>Lc(n,1,8,i),stringify:n=>qd(n,8,"0")},sC={identify:dl,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(n,e,i)=>Lc(n,0,10,i),stringify:En},rC={identify:dl,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(n,e,i)=>Lc(n,2,16,i),stringify:n=>qd(n,16,"0x")};class Tr extends Wt{constructor(e){super(e),this.tag=Tr.tag}add(e){let i;Ve(e)?i=e:e&&typeof e=="object"&&"key"in e&&"value"in e&&e.value===null?i=new Tt(e.key,null):i=new Tt(e,null),ps(this.items,i.key)||this.items.push(i)}get(e,i){const r=ps(this.items,e);return!i&&Ve(r)?ze(r.key)?r.key.value:r.key:r}set(e,i){if(typeof i!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof i}`);const r=ps(this.items,e);r&&!i?this.items.splice(this.items.indexOf(r),1):!r&&i&&this.items.push(new Tt(e))}toJSON(e,i){return super.toJSON(e,i,Set)}toString(e,i,r){if(!e)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},e,{allNullValues:!0}),i,r);throw new Error("Set items must all have null values")}static from(e,i,r){const{replacer:l}=r,o=new this(e);if(i&&Symbol.iterator in Object(i))for(let u of i)typeof l=="function"&&(u=l.call(i,u,u)),o.items.push(Rd(u,null,r));return o}}Tr.tag="tag:yaml.org,2002:set";const $d={collection:"map",identify:n=>n instanceof Set,nodeClass:Tr,default:!1,tag:"tag:yaml.org,2002:set",createNode:(n,e,i)=>Tr.from(n,e,i),resolve(n,e){if(Rr(n)){if(n.hasAllNullValues(!0))return Object.assign(new Tr,n);e("Set items must all have null values")}else e("Expected a mapping for this tag");return n}};function Id(n,e){const i=n[0],r=i==="-"||i==="+"?n.substring(1):n,l=u=>e?BigInt(u):Number(u),o=r.replace(/_/g,"").split(":").reduce((u,f)=>u*l(60)+l(f),l(0));return i==="-"?l(-1)*o:o}function vS(n){let{value:e}=n,i=u=>u;if(typeof e=="bigint")i=u=>BigInt(u);else if(isNaN(e)||!isFinite(e))return En(n);let r="";e<0&&(r="-",e*=i(-1));const l=i(60),o=[e%l];return e<60?o.unshift(0):(e=(e-o[0])/l,o.unshift(e%l),e>=60&&(e=(e-o[0])/l,o.unshift(e))),r+o.map(u=>String(u).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}const SS={identify:n=>typeof n=="bigint"||Number.isInteger(n),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(n,e,{intAsBigInt:i})=>Id(n,i),stringify:vS},wS={identify:n=>typeof n=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:n=>Id(n,!1),stringify:vS},Rc={identify:n=>n instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),resolve(n){const e=n.match(Rc.test);if(!e)throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");const[,i,r,l,o,u,f]=e.map(Number),d=e[7]?Number((e[7]+"00").substr(1,3)):0;let g=Date.UTC(i,r-1,l,o||0,u||0,f||0,d);const b=e[8];if(b&&b!=="Z"){let m=Id(b,!1);Math.abs(m)<30&&(m*=60),g-=6e4*m}return new Date(g)},stringify:({value:n})=>(n==null?void 0:n.toISOString().replace(/(T00:00:00)?\.000Z$/,""))??""},Xb=[zr,Ur,Mc,Oc,yS,bS,nC,iC,sC,rC,WA,eC,tC,Ud,si,Bd,Hd,$d,SS,wS,Rc],Yb=new Map([["core",QA],["failsafe",[zr,Ur,Mc]],["json",ZA],["yaml11",Xb],["yaml-1.1",Xb]]),Fb={binary:Ud,bool:Dd,float:cS,floatExp:oS,floatNaN:lS,floatTime:wS,int:hS,intHex:dS,intOct:fS,intTime:SS,map:zr,merge:si,null:Oc,omap:Bd,pairs:Hd,seq:Ur,set:$d,timestamp:Rc},aC={"tag:yaml.org,2002:binary":Ud,"tag:yaml.org,2002:merge":si,"tag:yaml.org,2002:omap":Bd,"tag:yaml.org,2002:pairs":Hd,"tag:yaml.org,2002:set":$d,"tag:yaml.org,2002:timestamp":Rc};function Sh(n,e,i){const r=Yb.get(e);if(r&&!n)return i&&!r.includes(si)?r.concat(si):r.slice();let l=r;if(!l)if(Array.isArray(n))l=[];else{const o=Array.from(Yb.keys()).filter(u=>u!=="yaml11").map(u=>JSON.stringify(u)).join(", ");throw new Error(`Unknown schema "${e}"; use one of ${o} or define customTags array`)}if(Array.isArray(n))for(const o of n)l=l.concat(o);else typeof n=="function"&&(l=n(l.slice()));return i&&(l=l.concat(si)),l.reduce((o,u)=>{const f=typeof u=="string"?Fb[u]:u;if(!f){const d=JSON.stringify(u),g=Object.keys(Fb).map(b=>JSON.stringify(b)).join(", ");throw new Error(`Unknown custom tag ${d}; use one of ${g}`)}return o.includes(f)||o.push(f),o},[])}const lC=(n,e)=>n.key<e.key?-1:n.key>e.key?1:0;class Dc{constructor({compat:e,customTags:i,merge:r,resolveKnownTags:l,schema:o,sortMapEntries:u,toStringDefaults:f}){this.compat=Array.isArray(e)?Sh(e,"compat"):e?Sh(null,e):null,this.name=typeof o=="string"&&o||"core",this.knownTags=l?aC:{},this.tags=Sh(i,this.name,r),this.toStringOptions=f??null,Object.defineProperty(this,zi,{value:zr}),Object.defineProperty(this,Ln,{value:Mc}),Object.defineProperty(this,Lr,{value:Ur}),this.sortMapEntries=typeof u=="function"?u:u===!0?lC:null}clone(){const e=Object.create(Dc.prototype,Object.getOwnPropertyDescriptors(this));return e.tags=this.tags.slice(),e}}function oC(n,e){var d;const i=[];let r=e.directives===!0;if(e.directives!==!1&&n.directives){const g=n.directives.toString(n);g?(i.push(g),r=!0):n.directives.docStart&&(r=!0)}r&&i.push("---");const l=nS(n,e),{commentString:o}=l.options;if(n.commentBefore){i.length!==1&&i.unshift("");const g=o(n.commentBefore);i.unshift(ii(g,""))}let u=!1,f=null;if(n.contents){if(Xe(n.contents)){if(n.contents.spaceBefore&&r&&i.push(""),n.contents.commentBefore){const m=o(n.contents.commentBefore);i.push(ii(m,""))}l.forceBlockIndent=!!n.comment,f=n.contents.comment}const g=f?void 0:()=>u=!0;let b=Cr(n.contents,l,()=>f=null,g);f&&(b+=ds(b,"",o(f))),(b[0]==="|"||b[0]===">")&&i[i.length-1]==="---"?i[i.length-1]=`--- ${b}`:i.push(b)}else i.push(Cr(n.contents,l));if((d=n.directives)!=null&&d.docEnd)if(n.comment){const g=o(n.comment);g.includes(`
178 -`)?(i.push("..."),i.push(ii(g,""))):i.push(`... ${g}`)}else i.push("...");else{let g=n.comment;g&&u&&(g=g.replace(/^\n+/,"")),g&&((!u||f)&&i[i.length-1]!==""&&i.push(""),i.push(ii(o(g),"")))}return i.join(`
179 -`)+`
180 -`}class Hr{constructor(e,i,r){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,bn,{value:Kh});let l=null;typeof i=="function"||Array.isArray(i)?l=i:r===void 0&&i&&(r=i,i=void 0);const o=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},r);this.options=o;let{version:u}=o;r!=null&&r._directives?(this.directives=r._directives.atDocument(),this.directives.yaml.explicit&&(u=this.directives.yaml.version)):this.directives=new Ot({version:u}),this.setSchema(u,r),this.contents=e===void 0?null:this.createNode(e,l,r)}clone(){const e=Object.create(Hr.prototype,{[bn]:{value:Kh}});return e.commentBefore=this.commentBefore,e.comment=this.comment,e.errors=this.errors.slice(),e.warnings=this.warnings.slice(),e.options=Object.assign({},this.options),this.directives&&(e.directives=this.directives.clone()),e.schema=this.schema.clone(),e.contents=Xe(this.contents)?this.contents.clone(e.schema):this.contents,this.range&&(e.range=this.range.slice()),e}add(e){ur(this.contents)&&this.contents.add(e)}addIn(e,i){ur(this.contents)&&this.contents.addIn(e,i)}createAlias(e,i){if(!e.anchor){const r=Jv(this);e.anchor=!i||r.has(i)?Zv(i||"a",r):i}return new Ac(e.anchor)}createNode(e,i,r){let l;if(typeof i=="function")e=i.call({"":e},"",e),l=i;else if(Array.isArray(i)){const _=N=>typeof N=="number"||N instanceof String||N instanceof Number,A=i.filter(_).map(String);A.length>0&&(i=i.concat(A)),l=i}else r===void 0&&i&&(r=i,i=void 0);const{aliasDuplicateObjects:o,anchorPrefix:u,flow:f,keepUndefined:d,onTagObj:g,tag:b}=r??{},{onAnchor:m,setAnchors:S,sourceObjects:w}=zA(this,u||"a"),E={aliasDuplicateObjects:o??!0,keepUndefined:d??!1,onAnchor:m,onTagObj:g,replacer:l,schema:this.schema,sourceObjects:w},x=ll(e,b,E);return f&&Ke(x)&&(x.flow=!0),S(),x}createPair(e,i,r={}){const l=this.createNode(e,null,r),o=this.createNode(i,null,r);return new Tt(l,o)}delete(e){return ur(this.contents)?this.contents.delete(e):!1}deleteIn(e){return Ya(e)?this.contents==null?!1:(this.contents=null,!0):ur(this.contents)?this.contents.deleteIn(e):!1}get(e,i){return Ke(this.contents)?this.contents.get(e,i):void 0}getIn(e,i){return Ya(e)?!i&&ze(this.contents)?this.contents.value:this.contents:Ke(this.contents)?this.contents.getIn(e,i):void 0}has(e){return Ke(this.contents)?this.contents.has(e):!1}hasIn(e){return Ya(e)?this.contents!==void 0:Ke(this.contents)?this.contents.hasIn(e):!1}set(e,i){this.contents==null?this.contents=hc(this.schema,[e],i):ur(this.contents)&&this.contents.set(e,i)}setIn(e,i){Ya(e)?this.contents=i:this.contents==null?this.contents=hc(this.schema,Array.from(e),i):ur(this.contents)&&this.contents.setIn(e,i)}setSchema(e,i={}){typeof e=="number"&&(e=String(e));let r;switch(e){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new Ot({version:"1.1"}),r={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":this.directives?this.directives.yaml.version=e:this.directives=new Ot({version:e}),r={resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,r=null;break;default:{const l=JSON.stringify(e);throw new Error(`Expected '1.1', '1.2' or null as first argument, but found: ${l}`)}}if(i.schema instanceof Object)this.schema=i.schema;else if(r)this.schema=new Dc(Object.assign(r,i));else throw new Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:e,jsonArg:i,mapAsMap:r,maxAliasCount:l,onAnchor:o,reviver:u}={}){const f={anchors:new Map,doc:this,keep:!e,mapAsMap:r===!0,mapKeyWarned:!1,maxAliasCount:typeof l=="number"?l:100},d=yn(this.contents,i??"",f);if(typeof o=="function")for(const{count:g,res:b}of f.anchors.values())o(b,g);return typeof u=="function"?wr(u,{"":d},"",d):d}toJSON(e,i){return this.toJS({json:!0,jsonArg:e,mapAsMap:!1,onAnchor:i})}toString(e={}){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");if("indent"in e&&(!Number.isInteger(e.indent)||Number(e.indent)<=0)){const i=JSON.stringify(e.indent);throw new Error(`"indent" option must be a positive integer, not ${i}`)}return oC(this,e)}}function ur(n){if(Ke(n))return!0;throw new Error("Expected a YAML collection as document contents")}class Vd extends Error{constructor(e,i,r,l){super(),this.name=e,this.code=r,this.message=l,this.pos=i}}class gs extends Vd{constructor(e,i,r){super("YAMLParseError",e,i,r)}}class xS extends Vd{constructor(e,i,r){super("YAMLWarning",e,i,r)}}const pc=(n,e)=>i=>{if(i.pos[0]===-1)return;i.linePos=i.pos.map(f=>e.linePos(f));const{line:r,col:l}=i.linePos[0];i.message+=` at line ${r}, column ${l}`;let o=l-1,u=n.substring(e.lineStarts[r-1],e.lineStarts[r]).replace(/[\n\r]+$/,"");if(o>=60&&u.length>80){const f=Math.min(o-39,u.length-79);u="…"+u.substring(f),o-=f-1}if(u.length>80&&(u=u.substring(0,79)+"…"),r>1&&/^ *$/.test(u.substring(0,o))){let f=n.substring(e.lineStarts[r-2],e.lineStarts[r-1]);f.length>80&&(f=f.substring(0,79)+`…
181 -`),u=f+u}if(/[^ ]/.test(u)){let f=1;const d=i.linePos[1];(d==null?void 0:d.line)===r&&d.col>l&&(f=Math.max(1,Math.min(d.col-l,80-o)));const g=" ".repeat(o)+"^".repeat(f);i.message+=`:
182 -
183 -${u}
184 -${g}
185 -`}};function Nr(n,{flow:e,indicator:i,next:r,offset:l,onError:o,parentIndent:u,startOnNewline:f}){let d=!1,g=f,b=f,m="",S="",w=!1,E=!1,x=null,_=null,A=null,N=null,$=null,G=null,X=null;for(const B of n)switch(E&&(B.type!=="space"&&B.type!=="newline"&&B.type!=="comma"&&o(B.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),E=!1),x&&(g&&B.type!=="comment"&&B.type!=="newline"&&o(x,"TAB_AS_INDENT","Tabs are not allowed as indentation"),x=null),B.type){case"space":!e&&(i!=="doc-start"||(r==null?void 0:r.type)!=="flow-collection")&&B.source.includes(" ")&&(x=B),b=!0;break;case"comment":{b||o(B,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");const O=B.source.substring(1)||" ";m?m+=S+O:m=O,S="",g=!1;break}case"newline":g?m?m+=B.source:(!G||i!=="seq-item-ind")&&(d=!0):S+=B.source,g=!0,w=!0,(_||A)&&(N=B),b=!0;break;case"anchor":_&&o(B,"MULTIPLE_ANCHORS","A node can have at most one anchor"),B.source.endsWith(":")&&o(B.offset+B.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),_=B,X??(X=B.offset),g=!1,b=!1,E=!0;break;case"tag":{A&&o(B,"MULTIPLE_TAGS","A node can have at most one tag"),A=B,X??(X=B.offset),g=!1,b=!1,E=!0;break}case i:(_||A)&&o(B,"BAD_PROP_ORDER",`Anchors and tags must be after the ${B.source} indicator`),G&&o(B,"UNEXPECTED_TOKEN",`Unexpected ${B.source} in ${e??"collection"}`),G=B,g=i==="seq-item-ind"||i==="explicit-key-ind",b=!1;break;case"comma":if(e){$&&o(B,"UNEXPECTED_TOKEN",`Unexpected , in ${e}`),$=B,g=!1,b=!1;break}default:o(B,"UNEXPECTED_TOKEN",`Unexpected ${B.type} token`),g=!1,b=!1}const U=n[n.length-1],L=U?U.offset+U.source.length:l;return E&&r&&r.type!=="space"&&r.type!=="newline"&&r.type!=="comma"&&(r.type!=="scalar"||r.source!=="")&&o(r.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),x&&(g&&x.indent<=u||(r==null?void 0:r.type)==="block-map"||(r==null?void 0:r.type)==="block-seq")&&o(x,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:$,found:G,spaceBefore:d,comment:m,hasNewline:w,anchor:_,tag:A,newlineAfterProp:N,end:L,start:X??L}}function ol(n){if(!n)return null;switch(n.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(n.source.includes(`
186 -`))return!0;if(n.end){for(const e of n.end)if(e.type==="newline")return!0}return!1;case"flow-collection":for(const e of n.items){for(const i of e.start)if(i.type==="newline")return!0;if(e.sep){for(const i of e.sep)if(i.type==="newline")return!0}if(ol(e.key)||ol(e.value))return!0}return!1;default:return!0}}function Qh(n,e,i){if((e==null?void 0:e.type)==="flow-collection"){const r=e.end[0];r.indent===n&&(r.source==="]"||r.source==="}")&&ol(e)&&i(r,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}function _S(n,e,i){const{uniqueKeys:r}=n.options;if(r===!1)return!1;const l=typeof r=="function"?r:(o,u)=>o===u||ze(o)&&ze(u)&&o.value===u.value;return e.some(o=>l(o.key,i))}const Qb="All mapping items must start at the same column";function cC({composeNode:n,composeEmptyNode:e},i,r,l,o){var b;const u=(o==null?void 0:o.nodeClass)??Wt,f=new u(i.schema);i.atRoot&&(i.atRoot=!1);let d=r.offset,g=null;for(const m of r.items){const{start:S,key:w,sep:E,value:x}=m,_=Nr(S,{indicator:"explicit-key-ind",next:w??(E==null?void 0:E[0]),offset:d,onError:l,parentIndent:r.indent,startOnNewline:!0}),A=!_.found;if(A){if(w&&(w.type==="block-seq"?l(d,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in w&&w.indent!==r.indent&&l(d,"BAD_INDENT",Qb)),!_.anchor&&!_.tag&&!E){g=_.end,_.comment&&(f.comment?f.comment+=`
187 -`+_.comment:f.comment=_.comment);continue}(_.newlineAfterProp||ol(w))&&l(w??S[S.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else((b=_.found)==null?void 0:b.indent)!==r.indent&&l(d,"BAD_INDENT",Qb);i.atKey=!0;const N=_.end,$=w?n(i,w,_,l):e(i,N,S,null,_,l);i.schema.compat&&Qh(r.indent,w,l),i.atKey=!1,_S(i,f.items,$)&&l(N,"DUPLICATE_KEY","Map keys must be unique");const G=Nr(E??[],{indicator:"map-value-ind",next:x,offset:$.range[2],onError:l,parentIndent:r.indent,startOnNewline:!w||w.type==="block-scalar"});if(d=G.end,G.found){A&&((x==null?void 0:x.type)==="block-map"&&!G.hasNewline&&l(d,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),i.options.strict&&_.start<G.found.offset-1024&&l($.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key"));const X=x?n(i,x,G,l):e(i,d,E,null,G,l);i.schema.compat&&Qh(r.indent,x,l),d=X.range[2];const U=new Tt($,X);i.options.keepSourceTokens&&(U.srcToken=m),f.items.push(U)}else{A&&l($.range,"MISSING_CHAR","Implicit map keys need to be followed by map values"),G.comment&&($.comment?$.comment+=`
188 -`+G.comment:$.comment=G.comment);const X=new Tt($);i.options.keepSourceTokens&&(X.srcToken=m),f.items.push(X)}}return g&&g<d&&l(g,"IMPOSSIBLE","Map comment with trailing content"),f.range=[r.offset,d,g??d],f}function uC({composeNode:n,composeEmptyNode:e},i,r,l,o){const u=(o==null?void 0:o.nodeClass)??Ui,f=new u(i.schema);i.atRoot&&(i.atRoot=!1),i.atKey&&(i.atKey=!1);let d=r.offset,g=null;for(const{start:b,value:m}of r.items){const S=Nr(b,{indicator:"seq-item-ind",next:m,offset:d,onError:l,parentIndent:r.indent,startOnNewline:!0});if(!S.found)if(S.anchor||S.tag||m)(m==null?void 0:m.type)==="block-seq"?l(S.end,"BAD_INDENT","All sequence items must start at the same column"):l(d,"MISSING_CHAR","Sequence item without - indicator");else{g=S.end,S.comment&&(f.comment=S.comment);continue}const w=m?n(i,m,S,l):e(i,S.end,b,null,S,l);i.schema.compat&&Qh(r.indent,m,l),d=w.range[2],f.items.push(w)}return f.range=[r.offset,d,g??d],f}function pl(n,e,i,r){let l="";if(n){let o=!1,u="";for(const f of n){const{source:d,type:g}=f;switch(g){case"space":o=!0;break;case"comment":{i&&!o&&r(f,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");const b=d.substring(1)||" ";l?l+=u+b:l=b,u="";break}case"newline":l&&(u+=d),o=!0;break;default:r(f,"UNEXPECTED_TOKEN",`Unexpected ${g} at node end`)}e+=d.length}}return{comment:l,offset:e}}const wh="Block collections are not allowed within flow collections",xh=n=>n&&(n.type==="block-map"||n.type==="block-seq");function fC({composeNode:n,composeEmptyNode:e},i,r,l,o){var _;const u=r.start.source==="{",f=u?"flow map":"flow sequence",d=(o==null?void 0:o.nodeClass)??(u?Wt:Ui),g=new d(i.schema);g.flow=!0;const b=i.atRoot;b&&(i.atRoot=!1),i.atKey&&(i.atKey=!1);let m=r.offset+r.start.source.length;for(let A=0;A<r.items.length;++A){const N=r.items[A],{start:$,key:G,sep:X,value:U}=N,L=Nr($,{flow:f,indicator:"explicit-key-ind",next:G??(X==null?void 0:X[0]),offset:m,onError:l,parentIndent:r.indent,startOnNewline:!1});if(!L.found){if(!L.anchor&&!L.tag&&!X&&!U){A===0&&L.comma?l(L.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${f}`):A<r.items.length-1&&l(L.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${f}`),L.comment&&(g.comment?g.comment+=`
189 -`+L.comment:g.comment=L.comment),m=L.end;continue}!u&&i.options.strict&&ol(G)&&l(G,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(A===0)L.comma&&l(L.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${f}`);else if(L.comma||l(L.start,"MISSING_CHAR",`Missing , between ${f} items`),L.comment){let B="";e:for(const O of $)switch(O.type){case"comma":case"space":break;case"comment":B=O.source.substring(1);break e;default:break e}if(B){let O=g.items[g.items.length-1];Ve(O)&&(O=O.value??O.key),O.comment?O.comment+=`
190 -`+B:O.comment=B,L.comment=L.comment.substring(B.length+1)}}if(!u&&!X&&!L.found){const B=U?n(i,U,L,l):e(i,L.end,X,null,L,l);g.items.push(B),m=B.range[2],xh(U)&&l(B.range,"BLOCK_IN_FLOW",wh)}else{i.atKey=!0;const B=L.end,O=G?n(i,G,L,l):e(i,B,$,null,L,l);xh(G)&&l(O.range,"BLOCK_IN_FLOW",wh),i.atKey=!1;const ne=Nr(X??[],{flow:f,indicator:"map-value-ind",next:U,offset:O.range[2],onError:l,parentIndent:r.indent,startOnNewline:!1});if(ne.found){if(!u&&!L.found&&i.options.strict){if(X)for(const W of X){if(W===ne.found)break;if(W.type==="newline"){l(W,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}L.start<ne.found.offset-1024&&l(ne.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else U&&("source"in U&&((_=U.source)==null?void 0:_[0])===":"?l(U,"MISSING_CHAR",`Missing space after : in ${f}`):l(ne.start,"MISSING_CHAR",`Missing , or : between ${f} items`));const te=U?n(i,U,ne,l):ne.found?e(i,ne.end,X,null,ne,l):null;te?xh(U)&&l(te.range,"BLOCK_IN_FLOW",wh):ne.comment&&(O.comment?O.comment+=`
191 -`+ne.comment:O.comment=ne.comment);const V=new Tt(O,te);if(i.options.keepSourceTokens&&(V.srcToken=N),u){const W=g;_S(i,W.items,O)&&l(B,"DUPLICATE_KEY","Map keys must be unique"),W.items.push(V)}else{const W=new Wt(i.schema);W.flow=!0,W.items.push(V);const ge=(te??O).range;W.range=[O.range[0],ge[1],ge[2]],g.items.push(W)}m=te?te.range[2]:ne.end}}const S=u?"}":"]",[w,...E]=r.end;let x=m;if((w==null?void 0:w.source)===S)x=w.offset+w.source.length;else{const A=f[0].toUpperCase()+f.substring(1),N=b?`${A} must end with a ${S}`:`${A} in block collection must be sufficiently indented and end with a ${S}`;l(m,b?"MISSING_CHAR":"BAD_INDENT",N),w&&w.source.length!==1&&E.unshift(w)}if(E.length>0){const A=pl(E,x,i.options.strict,l);A.comment&&(g.comment?g.comment+=`
192 -`+A.comment:g.comment=A.comment),g.range=[r.offset,x,A.offset]}else g.range=[r.offset,x,x];return g}function _h(n,e,i,r,l,o){const u=i.type==="block-map"?cC(n,e,i,r,o):i.type==="block-seq"?uC(n,e,i,r,o):fC(n,e,i,r,o),f=u.constructor;return l==="!"||l===f.tagName?(u.tag=f.tagName,u):(l&&(u.tag=l),u)}function hC(n,e,i,r,l){var S;const o=r.tag,u=o?e.directives.tagName(o.source,w=>l(o,"TAG_RESOLVE_FAILED",w)):null;if(i.type==="block-seq"){const{anchor:w,newlineAfterProp:E}=r,x=w&&o?w.offset>o.offset?w:o:w??o;x&&(!E||E.offset<x.offset)&&l(x,"MISSING_CHAR","Missing newline after block sequence props")}const f=i.type==="block-map"?"map":i.type==="block-seq"?"seq":i.start.source==="{"?"map":"seq";if(!o||!u||u==="!"||u===Wt.tagName&&f==="map"||u===Ui.tagName&&f==="seq")return _h(n,e,i,l,u);let d=e.schema.tags.find(w=>w.tag===u&&w.collection===f);if(!d){const w=e.schema.knownTags[u];if((w==null?void 0:w.collection)===f)e.schema.tags.push(Object.assign({},w,{default:!1})),d=w;else return w?l(o,"BAD_COLLECTION_TYPE",`${w.tag} used for ${f} collection, but expects ${w.collection??"scalar"}`,!0):l(o,"TAG_RESOLVE_FAILED",`Unresolved tag: ${u}`,!0),_h(n,e,i,l,u)}const g=_h(n,e,i,l,u,d),b=((S=d.resolve)==null?void 0:S.call(d,g,w=>l(o,"TAG_RESOLVE_FAILED",w),e.options))??g,m=Xe(b)?b:new ue(b);return m.range=g.range,m.tag=u,d!=null&&d.format&&(m.format=d.format),m}function ES(n,e,i){const r=e.offset,l=dC(e,n.options.strict,i);if(!l)return{value:"",type:null,comment:"",range:[r,r,r]};const o=l.mode===">"?ue.BLOCK_FOLDED:ue.BLOCK_LITERAL,u=e.source?pC(e.source):[];let f=u.length;for(let x=u.length-1;x>=0;--x){const _=u[x][1];if(_===""||_==="\r")f=x;else break}if(f===0){const x=l.chomp==="+"&&u.length>0?`
193 -`.repeat(Math.max(1,u.length-1)):"";let _=r+l.length;return e.source&&(_+=e.source.length),{value:x,type:o,comment:l.comment,range:[r,_,_]}}let d=e.indent+l.indent,g=e.offset+l.length,b=0;for(let x=0;x<f;++x){const[_,A]=u[x];if(A===""||A==="\r")l.indent===0&&_.length>d&&(d=_.length);else{_.length<d&&i(g+_.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator"),l.indent===0&&(d=_.length),b=x,d===0&&!n.atRoot&&i(g,"BAD_INDENT","Block scalar values in collections must be indented");break}g+=_.length+A.length+1}for(let x=u.length-1;x>=f;--x)u[x][0].length>d&&(f=x+1);let m="",S="",w=!1;for(let x=0;x<b;++x)m+=u[x][0].slice(d)+`
194 -`;for(let x=b;x<f;++x){let[_,A]=u[x];g+=_.length+A.length+1;const N=A[A.length-1]==="\r";if(N&&(A=A.slice(0,-1)),A&&_.length<d){const G=`Block scalar lines must not be less indented than their ${l.indent?"explicit indentation indicator":"first line"}`;i(g-A.length-(N?2:1),"BAD_INDENT",G),_=""}o===ue.BLOCK_LITERAL?(m+=S+_.slice(d)+A,S=`
195 -`):_.length>d||A[0]===" "?(S===" "?S=`
196 -`:!w&&S===`
197 -`&&(S=`
198 -
199 -`),m+=S+_.slice(d)+A,S=`
200 -`,w=!0):A===""?S===`
201 -`?m+=`
202 -`:S=`
203 -`:(m+=S+A,S=" ",w=!1)}switch(l.chomp){case"-":break;case"+":for(let x=f;x<u.length;++x)m+=`
204 -`+u[x][0].slice(d);m[m.length-1]!==`
205 -`&&(m+=`
206 -`);break;default:m+=`
207 -`}const E=r+l.length+e.source.length;return{value:m,type:o,comment:l.comment,range:[r,E,E]}}function dC({offset:n,props:e},i,r){if(e[0].type!=="block-scalar-header")return r(e[0],"IMPOSSIBLE","Block scalar header not found"),null;const{source:l}=e[0],o=l[0];let u=0,f="",d=-1;for(let S=1;S<l.length;++S){const w=l[S];if(!f&&(w==="-"||w==="+"))f=w;else{const E=Number(w);!u&&E?u=E:d===-1&&(d=n+S)}}d!==-1&&r(d,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${l}`);let g=!1,b="",m=l.length;for(let S=1;S<e.length;++S){const w=e[S];switch(w.type){case"space":g=!0;case"newline":m+=w.source.length;break;case"comment":i&&!g&&r(w,"MISSING_CHAR","Comments must be separated from other tokens by white space characters"),m+=w.source.length,b=w.source.substring(1);break;case"error":r(w,"UNEXPECTED_TOKEN",w.message),m+=w.source.length;break;default:{const E=`Unexpected token in block scalar header: ${w.type}`;r(w,"UNEXPECTED_TOKEN",E);const x=w.source;x&&typeof x=="string"&&(m+=x.length)}}}return{mode:o,indent:u,chomp:f,comment:b,length:m}}function pC(n){const e=n.split(/\n( *)/),i=e[0],r=i.match(/^( *)/),o=[r!=null&&r[1]?[r[1],i.slice(r[1].length)]:["",i]];for(let u=1;u<e.length;u+=2)o.push([e[u],e[u+1]]);return o}function TS(n,e,i){const{offset:r,type:l,source:o,end:u}=n;let f,d;const g=(S,w,E)=>i(r+S,w,E);switch(l){case"scalar":f=ue.PLAIN,d=gC(o,g);break;case"single-quoted-scalar":f=ue.QUOTE_SINGLE,d=mC(o,g);break;case"double-quoted-scalar":f=ue.QUOTE_DOUBLE,d=yC(o,g);break;default:return i(n,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${l}`),{value:"",type:null,comment:"",range:[r,r+o.length,r+o.length]}}const b=r+o.length,m=pl(u,b,e,i);return{value:d,type:f,comment:m.comment,range:[r,b,m.offset]}}function gC(n,e){let i="";switch(n[0]){case" ":i="a tab character";break;case",":i="flow indicator character ,";break;case"%":i="directive indicator character %";break;case"|":case">":{i=`block scalar indicator ${n[0]}`;break}case"@":case"`":{i=`reserved character ${n[0]}`;break}}return i&&e(0,"BAD_SCALAR_START",`Plain value cannot start with ${i}`),AS(n)}function mC(n,e){return(n[n.length-1]!=="'"||n.length===1)&&e(n.length,"MISSING_CHAR","Missing closing 'quote"),AS(n.slice(1,-1)).replace(/''/g,"'")}function AS(n){let e,i;try{e=new RegExp(`(.*?)(?<![ ])[ ]*\r?
208 -`,"sy"),i=new RegExp(`[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?
209 -`,"sy")}catch{e=/(.*?)[ \t]*\r?\n/sy,i=/[ \t]*(.*?)[ \t]*\r?\n/sy}let r=e.exec(n);if(!r)return n;let l=r[1],o=" ",u=e.lastIndex;for(i.lastIndex=u;r=i.exec(n);)r[1]===""?o===`
210 -`?l+=o:o=`
211 -`:(l+=o+r[1],o=" "),u=i.lastIndex;const f=/[ \t]*(.*)/sy;return f.lastIndex=u,r=f.exec(n),l+o+((r==null?void 0:r[1])??"")}function yC(n,e){let i="";for(let r=1;r<n.length-1;++r){const l=n[r];if(!(l==="\r"&&n[r+1]===`
212 -`))if(l===`
213 -`){const{fold:o,offset:u}=bC(n,r);i+=o,r=u}else if(l==="\\"){let o=n[++r];const u=vC[o];if(u)i+=u;else if(o===`
214 -`)for(o=n[r+1];o===" "||o===" ";)o=n[++r+1];else if(o==="\r"&&n[r+1]===`
215 -`)for(o=n[++r+1];o===" "||o===" ";)o=n[++r+1];else if(o==="x"||o==="u"||o==="U"){const f={x:2,u:4,U:8}[o];i+=SC(n,r+1,f,e),r+=f}else{const f=n.substr(r-1,2);e(r-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${f}`),i+=f}}else if(l===" "||l===" "){const o=r;let u=n[r+1];for(;u===" "||u===" ";)u=n[++r+1];u!==`
216 -`&&!(u==="\r"&&n[r+2]===`
217 -`)&&(i+=r>o?n.slice(o,r+1):l)}else i+=l}return(n[n.length-1]!=='"'||n.length===1)&&e(n.length,"MISSING_CHAR",'Missing closing "quote'),i}function bC(n,e){let i="",r=n[e+1];for(;(r===" "||r===" "||r===`
218 -`||r==="\r")&&!(r==="\r"&&n[e+2]!==`
219 -`);)r===`
220 -`&&(i+=`
221 -`),e+=1,r=n[e+1];return i||(i=" "),{fold:i,offset:e}}const vC={0:"\0",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
222 -`,r:"\r",t:" ",v:"\v",N:"…",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function SC(n,e,i,r){const l=n.substr(e,i),u=l.length===i&&/^[0-9a-fA-F]+$/.test(l)?parseInt(l,16):NaN;if(isNaN(u)){const f=n.substr(e-2,i+2);return r(e-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${f}`),f}return String.fromCodePoint(u)}function CS(n,e,i,r){const{value:l,type:o,comment:u,range:f}=e.type==="block-scalar"?ES(n,e,r):TS(e,n.options.strict,r),d=i?n.directives.tagName(i.source,m=>r(i,"TAG_RESOLVE_FAILED",m)):null;let g;n.options.stringKeys&&n.atKey?g=n.schema[Ln]:d?g=wC(n.schema,l,d,i,r):e.type==="scalar"?g=xC(n,l,e,r):g=n.schema[Ln];let b;try{const m=g.resolve(l,S=>r(i??e,"TAG_RESOLVE_FAILED",S),n.options);b=ze(m)?m:new ue(m)}catch(m){const S=m instanceof Error?m.message:String(m);r(i??e,"TAG_RESOLVE_FAILED",S),b=new ue(l)}return b.range=f,b.source=l,o&&(b.type=o),d&&(b.tag=d),g.format&&(b.format=g.format),u&&(b.comment=u),b}function wC(n,e,i,r,l){var f;if(i==="!")return n[Ln];const o=[];for(const d of n.tags)if(!d.collection&&d.tag===i)if(d.default&&d.test)o.push(d);else return d;for(const d of o)if((f=d.test)!=null&&f.test(e))return d;const u=n.knownTags[i];return u&&!u.collection?(n.tags.push(Object.assign({},u,{default:!1,test:void 0})),u):(l(r,"TAG_RESOLVE_FAILED",`Unresolved tag: ${i}`,i!=="tag:yaml.org,2002:str"),n[Ln])}function xC({atKey:n,directives:e,schema:i},r,l,o){const u=i.tags.find(f=>{var d;return(f.default===!0||n&&f.default==="key")&&((d=f.test)==null?void 0:d.test(r))})||i[Ln];if(i.compat){const f=i.compat.find(d=>{var g;return d.default&&((g=d.test)==null?void 0:g.test(r))})??i[Ln];if(u.tag!==f.tag){const d=e.tagString(u.tag),g=e.tagString(f.tag),b=`Value may be parsed as either ${d} or ${g}`;o(l,"TAG_RESOLVE_FAILED",b,!0)}}return u}function _C(n,e,i){if(e){i??(i=e.length);for(let r=i-1;r>=0;--r){let l=e[r];switch(l.type){case"space":case"comment":case"newline":n-=l.source.length;continue}for(l=e[++r];(l==null?void 0:l.type)==="space";)n+=l.source.length,l=e[++r];break}}return n}const EC={composeNode:NS,composeEmptyNode:Gd};function NS(n,e,i,r){const l=n.atKey,{spaceBefore:o,comment:u,anchor:f,tag:d}=i;let g,b=!0;switch(e.type){case"alias":g=TC(n,e,r),(f||d)&&r(e,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":g=CS(n,e,d,r),f&&(g.anchor=f.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":try{g=hC(EC,n,e,i,r),f&&(g.anchor=f.source.substring(1))}catch(m){const S=m instanceof Error?m.message:String(m);r(e,"RESOURCE_EXHAUSTION",S)}break;default:{const m=e.type==="error"?e.message:`Unsupported token (type: ${e.type})`;r(e,"UNEXPECTED_TOKEN",m),b=!1}}return g??(g=Gd(n,e.offset,void 0,null,i,r)),f&&g.anchor===""&&r(f,"BAD_ALIAS","Anchor cannot be an empty string"),l&&n.options.stringKeys&&(!ze(g)||typeof g.value!="string"||g.tag&&g.tag!=="tag:yaml.org,2002:str")&&r(d??e,"NON_STRING_KEY","With stringKeys, all keys must be strings"),o&&(g.spaceBefore=!0),u&&(e.type==="scalar"&&e.source===""?g.comment=u:g.commentBefore=u),n.options.keepSourceTokens&&b&&(g.srcToken=e),g}function Gd(n,e,i,r,{spaceBefore:l,comment:o,anchor:u,tag:f,end:d},g){const b={type:"scalar",offset:_C(e,i,r),indent:-1,source:""},m=CS(n,b,f,g);return u&&(m.anchor=u.source.substring(1),m.anchor===""&&g(u,"BAD_ALIAS","Anchor cannot be an empty string")),l&&(m.spaceBefore=!0),o&&(m.comment=o,m.range[2]=d),m}function TC({options:n},{offset:e,source:i,end:r},l){const o=new Ac(i.substring(1));o.source===""&&l(e,"BAD_ALIAS","Alias cannot be an empty string"),o.source.endsWith(":")&&l(e+i.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);const u=e+i.length,f=pl(r,u,n.strict,l);return o.range=[e,u,f.offset],f.comment&&(o.comment=f.comment),o}function AC(n,e,{offset:i,start:r,value:l,end:o},u){const f=Object.assign({_directives:e},n),d=new Hr(void 0,f),g={atKey:!1,atRoot:!0,directives:d.directives,options:d.options,schema:d.schema},b=Nr(r,{indicator:"doc-start",next:l??(o==null?void 0:o[0]),offset:i,onError:u,parentIndent:0,startOnNewline:!0});b.found&&(d.directives.docStart=!0,l&&(l.type==="block-map"||l.type==="block-seq")&&!b.hasNewline&&u(b.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),d.contents=l?NS(g,l,b,u):Gd(g,b.end,r,null,b,u);const m=d.contents.range[2],S=pl(o,m,!1,u);return S.comment&&(d.comment=S.comment),d.range=[i,m,S.offset],d}function qa(n){if(typeof n=="number")return[n,n+1];if(Array.isArray(n))return n.length===2?n:[n[0],n[1]];const{offset:e,source:i}=n;return[e,e+(typeof i=="string"?i.length:1)]}function Pb(n){var l;let e="",i=!1,r=!1;for(let o=0;o<n.length;++o){const u=n[o];switch(u[0]){case"#":e+=(e===""?"":r?`
223 -
224 -`:`
225 -`)+(u.substring(1)||" "),i=!0,r=!1;break;case"%":((l=n[o+1])==null?void 0:l[0])!=="#"&&(o+=1),i=!1;break;default:i||(r=!0),i=!1}}return{comment:e,afterEmptyLine:r}}class Kd{constructor(e={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(i,r,l,o)=>{const u=qa(i);o?this.warnings.push(new xS(u,r,l)):this.errors.push(new gs(u,r,l))},this.directives=new Ot({version:e.version||"1.2"}),this.options=e}decorate(e,i){const{comment:r,afterEmptyLine:l}=Pb(this.prelude);if(r){const o=e.contents;if(i)e.comment=e.comment?`${e.comment}
226 -${r}`:r;else if(l||e.directives.docStart||!o)e.commentBefore=r;else if(Ke(o)&&!o.flow&&o.items.length>0){let u=o.items[0];Ve(u)&&(u=u.key);const f=u.commentBefore;u.commentBefore=f?`${r}
227 -${f}`:r}else{const u=o.commentBefore;o.commentBefore=u?`${r}
228 -${u}`:r}}i?(Array.prototype.push.apply(e.errors,this.errors),Array.prototype.push.apply(e.warnings,this.warnings)):(e.errors=this.errors,e.warnings=this.warnings),this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:Pb(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(e,i=!1,r=-1){for(const l of e)yield*this.next(l);yield*this.end(i,r)}*next(e){switch(e.type){case"directive":this.directives.add(e.source,(i,r,l)=>{const o=qa(e);o[0]+=i,this.onError(o,"BAD_DIRECTIVE",r,l)}),this.prelude.push(e.source),this.atDirectives=!0;break;case"document":{const i=AC(this.options,this.directives,e,this.onError);this.atDirectives&&!i.directives.docStart&&this.onError(e,"MISSING_CHAR","Missing directives-end/doc-start indicator line"),this.decorate(i,!1),this.doc&&(yield this.doc),this.doc=i,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(e.source);break;case"error":{const i=e.source?`${e.message}: ${JSON.stringify(e.source)}`:e.message,r=new gs(qa(e),"UNEXPECTED_TOKEN",i);this.atDirectives||!this.doc?this.errors.push(r):this.doc.errors.push(r);break}case"doc-end":{if(!this.doc){const r="Unexpected doc-end without preceding document";this.errors.push(new gs(qa(e),"UNEXPECTED_TOKEN",r));break}this.doc.directives.docEnd=!0;const i=pl(e.end,e.offset+e.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),i.comment){const r=this.doc.comment;this.doc.comment=r?`${r}
229 -${i.comment}`:i.comment}this.doc.range[2]=i.offset;break}default:this.errors.push(new gs(qa(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,i=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(e){const r=Object.assign({_directives:this.directives},this.options),l=new Hr(void 0,r);this.atDirectives&&this.onError(i,"MISSING_CHAR","Missing directives-end indicator line"),l.range=[0,i,i],this.decorate(l,!1),yield l}}}function CC(n,e=!0,i){if(n){const r=(l,o,u)=>{const f=typeof l=="number"?l:Array.isArray(l)?l[0]:l.offset;if(i)i(f,o,u);else throw new gs([f,f+1],o,u)};switch(n.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return TS(n,e,r);case"block-scalar":return ES({options:{strict:e}},n,r)}}return null}function NC(n,e){const{implicitKey:i=!1,indent:r,inFlow:l=!1,offset:o=-1,type:u="PLAIN"}=e,f=hl({type:u,value:n},{implicitKey:i,indent:r>0?" ".repeat(r):"",inFlow:l,options:{blockQuote:!0,lineWidth:-1}}),d=e.end??[{type:"newline",offset:-1,indent:r,source:`
230 -`}];switch(f[0]){case"|":case">":{const g=f.indexOf(`
231 -`),b=f.substring(0,g),m=f.substring(g+1)+`
232 -`,S=[{type:"block-scalar-header",offset:o,indent:r,source:b}];return kS(S,d)||S.push({type:"newline",offset:-1,indent:r,source:`
233 -`}),{type:"block-scalar",offset:o,indent:r,props:S,source:m}}case'"':return{type:"double-quoted-scalar",offset:o,indent:r,source:f,end:d};case"'":return{type:"single-quoted-scalar",offset:o,indent:r,source:f,end:d};default:return{type:"scalar",offset:o,indent:r,source:f,end:d}}}function kC(n,e,i={}){let{afterKey:r=!1,implicitKey:l=!1,inFlow:o=!1,type:u}=i,f="indent"in n?n.indent:null;if(r&&typeof f=="number"&&(f+=2),!u)switch(n.type){case"single-quoted-scalar":u="QUOTE_SINGLE";break;case"double-quoted-scalar":u="QUOTE_DOUBLE";break;case"block-scalar":{const g=n.props[0];if(g.type!=="block-scalar-header")throw new Error("Invalid block scalar header");u=g.source[0]===">"?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:u="PLAIN"}const d=hl({type:u,value:e},{implicitKey:l||f===null,indent:f!==null&&f>0?" ".repeat(f):"",inFlow:o,options:{blockQuote:!0,lineWidth:-1}});switch(d[0]){case"|":case">":MC(n,d);break;case'"':Eh(n,d,"double-quoted-scalar");break;case"'":Eh(n,d,"single-quoted-scalar");break;default:Eh(n,d,"scalar")}}function MC(n,e){const i=e.indexOf(`
234 -`),r=e.substring(0,i),l=e.substring(i+1)+`
235 -`;if(n.type==="block-scalar"){const o=n.props[0];if(o.type!=="block-scalar-header")throw new Error("Invalid block scalar header");o.source=r,n.source=l}else{const{offset:o}=n,u="indent"in n?n.indent:-1,f=[{type:"block-scalar-header",offset:o,indent:u,source:r}];kS(f,"end"in n?n.end:void 0)||f.push({type:"newline",offset:-1,indent:u,source:`
236 -`});for(const d of Object.keys(n))d!=="type"&&d!=="offset"&&delete n[d];Object.assign(n,{type:"block-scalar",indent:u,props:f,source:l})}}function kS(n,e){if(e)for(const i of e)switch(i.type){case"space":case"comment":n.push(i);break;case"newline":return n.push(i),!0}return!1}function Eh(n,e,i){switch(n.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":n.type=i,n.source=e;break;case"block-scalar":{const r=n.props.slice(1);let l=e.length;n.props[0].type==="block-scalar-header"&&(l-=n.props[0].source.length);for(const o of r)o.offset+=l;delete n.props,Object.assign(n,{type:i,source:e,end:r});break}case"block-map":case"block-seq":{const l={type:"newline",offset:n.offset+e.length,indent:n.indent,source:`
237 -`};delete n.items,Object.assign(n,{type:i,source:e,end:[l]});break}default:{const r="indent"in n?n.indent:-1,l="end"in n&&Array.isArray(n.end)?n.end.filter(o=>o.type==="space"||o.type==="comment"||o.type==="newline"):[];for(const o of Object.keys(n))o!=="type"&&o!=="offset"&&delete n[o];Object.assign(n,{type:i,indent:r,source:e,end:l})}}}const OC=n=>"type"in n?gc(n):nc(n);function gc(n){switch(n.type){case"block-scalar":{let e="";for(const i of n.props)e+=gc(i);return e+n.source}case"block-map":case"block-seq":{let e="";for(const i of n.items)e+=nc(i);return e}case"flow-collection":{let e=n.start.source;for(const i of n.items)e+=nc(i);for(const i of n.end)e+=i.source;return e}case"document":{let e=nc(n);if(n.end)for(const i of n.end)e+=i.source;return e}default:{let e=n.source;if("end"in n&&n.end)for(const i of n.end)e+=i.source;return e}}}function nc({start:n,key:e,sep:i,value:r}){let l="";for(const o of n)l+=o.source;if(e&&(l+=gc(e)),i)for(const o of i)l+=o.source;return r&&(l+=gc(r)),l}const Ph=Symbol("break visit"),jC=Symbol("skip children"),MS=Symbol("remove item");function ms(n,e){"type"in n&&n.type==="document"&&(n={start:n.start,value:n.value}),OS(Object.freeze([]),n,e)}ms.BREAK=Ph;ms.SKIP=jC;ms.REMOVE=MS;ms.itemAtPath=(n,e)=>{let i=n;for(const[r,l]of e){const o=i==null?void 0:i[r];if(o&&"items"in o)i=o.items[l];else return}return i};ms.parentCollection=(n,e)=>{const i=ms.itemAtPath(n,e.slice(0,-1)),r=e[e.length-1][0],l=i==null?void 0:i[r];if(l&&"items"in l)return l;throw new Error("Parent collection not found")};function OS(n,e,i){let r=i(e,n);if(typeof r=="symbol")return r;for(const l of["key","value"]){const o=e[l];if(o&&"items"in o){for(let u=0;u<o.items.length;++u){const f=OS(Object.freeze(n.concat([[l,u]])),o.items[u],i);if(typeof f=="number")u=f-1;else{if(f===Ph)return Ph;f===MS&&(o.items.splice(u,1),u-=1)}}typeof r=="function"&&l==="key"&&(r=r(e,n))}}return typeof r=="function"?r(e,n):r}const zc="\uFEFF",Uc="",Hc="",cl="",LC=n=>!!n&&"items"in n,RC=n=>!!n&&(n.type==="scalar"||n.type==="single-quoted-scalar"||n.type==="double-quoted-scalar"||n.type==="block-scalar");function DC(n){switch(n){case zc:return"<BOM>";case Uc:return"<DOC>";case Hc:return"<FLOW_END>";case cl:return"<SCALAR>";default:return JSON.stringify(n)}}function jS(n){switch(n){case zc:return"byte-order-mark";case Uc:return"doc-mode";case Hc:return"flow-error-end";case cl:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
238 -`:case`\r
239 -`:return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(n[0]){case" ":case" ":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}const zC=Object.freeze(Object.defineProperty({__proto__:null,BOM:zc,DOCUMENT:Uc,FLOW_END:Hc,SCALAR:cl,createScalarToken:NC,isCollection:LC,isScalar:RC,prettyToken:DC,resolveAsScalar:CC,setScalarValue:kC,stringify:OC,tokenType:jS,visit:ms},Symbol.toStringTag,{value:"Module"}));function xn(n){switch(n){case void 0:case" ":case`
240 -`:case"\r":case" ":return!0;default:return!1}}const Jb=new Set("0123456789ABCDEFabcdef"),UC=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),Vo=new Set(",[]{}"),HC=new Set(` ,[]{}
241 -\r `),Th=n=>!n||HC.has(n);class LS{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(e,i=!1){if(e){if(typeof e!="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+e:e,this.lineEndPos=null}this.atEnd=!i;let r=this.next??"stream";for(;r&&(i||this.hasChars(1));)r=yield*this.parseNext(r)}atLineEnd(){let e=this.pos,i=this.buffer[e];for(;i===" "||i===" ";)i=this.buffer[++e];return!i||i==="#"||i===`
242 -`?!0:i==="\r"?this.buffer[e+1]===`
243 -`:!1}charAt(e){return this.buffer[this.pos+e]}continueScalar(e){let i=this.buffer[e];if(this.indentNext>0){let r=0;for(;i===" ";)i=this.buffer[++r+e];if(i==="\r"){const l=this.buffer[r+e+1];if(l===`
244 -`||!l&&!this.atEnd)return e+r+1}return i===`
245 -`||r>=this.indentNext||!i&&!this.atEnd?e+r:-1}if(i==="-"||i==="."){const r=this.buffer.substr(e,3);if((r==="---"||r==="...")&&xn(this.buffer[e+3]))return-1}return e}getLine(){let e=this.lineEndPos;return(typeof e!="number"||e!==-1&&e<this.pos)&&(e=this.buffer.indexOf(`
246 -`,this.pos),this.lineEndPos=e),e===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[e-1]==="\r"&&(e-=1),this.buffer.substring(this.pos,e))}hasChars(e){return this.pos+e<=this.buffer.length}setNext(e){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=e,null}peek(e){return this.buffer.substr(this.pos,e)}*parseNext(e){switch(e){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let e=this.getLine();if(e===null)return this.setNext("stream");if(e[0]===zc&&(yield*this.pushCount(1),e=e.substring(1)),e[0]==="%"){let i=e.length,r=e.indexOf("#");for(;r!==-1;){const o=e[r-1];if(o===" "||o===" "){i=r-1;break}else r=e.indexOf("#",r+1)}for(;;){const o=e[i-1];if(o===" "||o===" ")i-=1;else break}const l=(yield*this.pushCount(i))+(yield*this.pushSpaces(!0));return yield*this.pushCount(e.length-l),this.pushNewline(),"stream"}if(this.atLineEnd()){const i=yield*this.pushSpaces(!0);return yield*this.pushCount(e.length-i),yield*this.pushNewline(),"stream"}return yield Uc,yield*this.parseLineStart()}*parseLineStart(){const e=this.charAt(0);if(!e&&!this.atEnd)return this.setNext("line-start");if(e==="-"||e==="."){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");const i=this.peek(3);if((i==="---"||i==="...")&&xn(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,i==="---"?"doc":"stream"}return this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!xn(this.charAt(1))&&(this.indentNext=this.indentValue),yield*this.parseBlockStart()}*parseBlockStart(){const[e,i]=this.peek(2);if(!i&&!this.atEnd)return this.setNext("block-start");if((e==="-"||e==="?"||e===":")&&xn(i)){const r=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=r,yield*this.parseBlockStart()}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);const e=this.getLine();if(e===null)return this.setNext("doc");let i=yield*this.pushIndicators();switch(e[i]){case"#":yield*this.pushCount(e.length-i);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(Th),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return i+=yield*this.parseBlockScalarHeader(),i+=yield*this.pushSpaces(!0),yield*this.pushCount(e.length-i),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let e,i,r=-1;do e=yield*this.pushNewline(),e>0?(i=yield*this.pushSpaces(!1),this.indentValue=r=i):i=0,i+=yield*this.pushSpaces(!0);while(e+i>0);const l=this.getLine();if(l===null)return this.setNext("flow");if((r!==-1&&r<this.indentNext&&l[0]!=="#"||r===0&&(l.startsWith("---")||l.startsWith("..."))&&xn(l[3]))&&!(r===this.indentNext-1&&this.flowLevel===1&&(l[0]==="]"||l[0]==="}")))return this.flowLevel=0,yield Hc,yield*this.parseLineStart();let o=0;for(;l[o]===",";)o+=yield*this.pushCount(1),o+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(o+=yield*this.pushIndicators(),l[o]){case void 0:return"flow";case"#":return yield*this.pushCount(l.length-o),"flow";case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,"flow";case"}":case"]":return yield*this.pushCount(1),this.flowKey=!0,this.flowLevel-=1,this.flowLevel?"flow":"doc";case"*":return yield*this.pushUntil(Th),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{const u=this.charAt(1);if(this.flowKey||xn(u)||u===",")return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){const e=this.charAt(0);let i=this.buffer.indexOf(e,this.pos+1);if(e==="'")for(;i!==-1&&this.buffer[i+1]==="'";)i=this.buffer.indexOf("'",i+2);else for(;i!==-1;){let o=0;for(;this.buffer[i-1-o]==="\\";)o+=1;if(o%2===0)break;i=this.buffer.indexOf('"',i+1)}const r=this.buffer.substring(0,i);let l=r.indexOf(`
247 -`,this.pos);if(l!==-1){for(;l!==-1;){const o=this.continueScalar(l+1);if(o===-1)break;l=r.indexOf(`
248 -`,o)}l!==-1&&(i=l-(r[l-1]==="\r"?2:1))}if(i===-1){if(!this.atEnd)return this.setNext("quoted-scalar");i=this.buffer.length}return yield*this.pushToIndex(i+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let e=this.pos;for(;;){const i=this.buffer[++e];if(i==="+")this.blockScalarKeep=!0;else if(i>"0"&&i<="9")this.blockScalarIndent=Number(i)-1;else if(i!=="-")break}return yield*this.pushUntil(i=>xn(i)||i==="#")}*parseBlockScalar(){let e=this.pos-1,i=0,r;e:for(let o=this.pos;r=this.buffer[o];++o)switch(r){case" ":i+=1;break;case`
249 -`:e=o,i=0;break;case"\r":{const u=this.buffer[o+1];if(!u&&!this.atEnd)return this.setNext("block-scalar");if(u===`
250 -`)break}default:break e}if(!r&&!this.atEnd)return this.setNext("block-scalar");if(i>=this.indentNext){this.blockScalarIndent===-1?this.indentNext=i:this.indentNext=this.blockScalarIndent+(this.indentNext===0?1:this.indentNext);do{const o=this.continueScalar(e+1);if(o===-1)break;e=this.buffer.indexOf(`
251 -`,o)}while(e!==-1);if(e===-1){if(!this.atEnd)return this.setNext("block-scalar");e=this.buffer.length}}let l=e+1;for(r=this.buffer[l];r===" ";)r=this.buffer[++l];if(r===" "){for(;r===" "||r===" "||r==="\r"||r===`
252 -`;)r=this.buffer[++l];e=l-1}else if(!this.blockScalarKeep)do{let o=e-1,u=this.buffer[o];u==="\r"&&(u=this.buffer[--o]);const f=o;for(;u===" ";)u=this.buffer[--o];if(u===`
253 -`&&o>=this.pos&&o+1+i>f)e=o;else break}while(!0);return yield cl,yield*this.pushToIndex(e+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){const e=this.flowLevel>0;let i=this.pos-1,r=this.pos-1,l;for(;l=this.buffer[++r];)if(l===":"){const o=this.buffer[r+1];if(xn(o)||e&&Vo.has(o))break;i=r}else if(xn(l)){let o=this.buffer[r+1];if(l==="\r"&&(o===`
254 -`?(r+=1,l=`
255 -`,o=this.buffer[r+1]):i=r),o==="#"||e&&Vo.has(o))break;if(l===`
256 -`){const u=this.continueScalar(r+1);if(u===-1)break;r=Math.max(r,u-2)}}else{if(e&&Vo.has(l))break;i=r}return!l&&!this.atEnd?this.setNext("plain-scalar"):(yield cl,yield*this.pushToIndex(i+1,!0),e?"flow":"doc")}*pushCount(e){return e>0?(yield this.buffer.substr(this.pos,e),this.pos+=e,e):0}*pushToIndex(e,i){const r=this.buffer.slice(this.pos,e);return r?(yield r,this.pos+=r.length,r.length):(i&&(yield""),0)}*pushIndicators(){switch(this.charAt(0)){case"!":return(yield*this.pushTag())+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"&":return(yield*this.pushUntil(Th))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"-":case"?":case":":{const e=this.flowLevel>0,i=this.charAt(1);if(xn(i)||e&&Vo.has(i))return e?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,(yield*this.pushCount(1))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators())}}return 0}*pushTag(){if(this.charAt(1)==="<"){let e=this.pos+2,i=this.buffer[e];for(;!xn(i)&&i!==">";)i=this.buffer[++e];return yield*this.pushToIndex(i===">"?e+1:e,!1)}else{let e=this.pos+1,i=this.buffer[e];for(;i;)if(UC.has(i))i=this.buffer[++e];else if(i==="%"&&Jb.has(this.buffer[e+1])&&Jb.has(this.buffer[e+2]))i=this.buffer[e+=3];else break;return yield*this.pushToIndex(e,!1)}}*pushNewline(){const e=this.buffer[this.pos];return e===`
257 -`?yield*this.pushCount(1):e==="\r"&&this.charAt(1)===`
258 -`?yield*this.pushCount(2):0}*pushSpaces(e){let i=this.pos-1,r;do r=this.buffer[++i];while(r===" "||e&&r===" ");const l=i-this.pos;return l>0&&(yield this.buffer.substr(this.pos,l),this.pos=i),l}*pushUntil(e){let i=this.pos,r=this.buffer[i];for(;!e(r);)r=this.buffer[++i];return yield*this.pushToIndex(i,!1)}}class RS{constructor(){this.lineStarts=[],this.addNewLine=e=>this.lineStarts.push(e),this.linePos=e=>{let i=0,r=this.lineStarts.length;for(;i<r;){const o=i+r>>1;this.lineStarts[o]<e?i=o+1:r=o}if(this.lineStarts[i]===e)return{line:i+1,col:1};if(i===0)return{line:0,col:e};const l=this.lineStarts[i-1];return{line:i,col:e-l+1}}}}function Ri(n,e){for(let i=0;i<n.length;++i)if(n[i].type===e)return!0;return!1}function Zb(n){for(let e=0;e<n.length;++e)switch(n[e].type){case"space":case"comment":case"newline":break;default:return e}return-1}function DS(n){switch(n==null?void 0:n.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function Go(n){switch(n.type){case"document":return n.start;case"block-map":{const e=n.items[n.items.length-1];return e.sep??e.start}case"block-seq":return n.items[n.items.length-1].start;default:return[]}}function fr(n){var i;if(n.length===0)return[];let e=n.length;e:for(;--e>=0;)switch(n[e].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break e}for(;((i=n[++e])==null?void 0:i.type)==="space";);return n.splice(e,n.length)}function Wb(n){if(n.start.type==="flow-seq-start")for(const e of n.items)e.sep&&!e.value&&!Ri(e.start,"explicit-key-ind")&&!Ri(e.sep,"map-value-ind")&&(e.key&&(e.value=e.key),delete e.key,DS(e.value)?e.value.end?Array.prototype.push.apply(e.value.end,e.sep):e.value.end=e.sep:Array.prototype.push.apply(e.start,e.sep),delete e.sep)}class Xd{constructor(e){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new LS,this.onNewLine=e}*parse(e,i=!1){this.onNewLine&&this.offset===0&&this.onNewLine(0);for(const r of this.lexer.lex(e,i))yield*this.next(r);i||(yield*this.end())}*next(e){if(this.source=e,this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=e.length;return}const i=jS(e);if(i)if(i==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=i,yield*this.step(),i){case"newline":this.atNewLine=!0,this.indent=0,this.onNewLine&&this.onNewLine(this.offset+e.length);break;case"space":this.atNewLine&&e[0]===" "&&(this.indent+=e.length);break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":this.atNewLine&&(this.indent+=e.length);break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=e.length}else{const r=`Not a YAML token: ${e}`;yield*this.pop({type:"error",offset:this.offset,message:r,source:e}),this.offset+=e.length}}*end(){for(;this.stack.length>0;)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){const e=this.peek(1);if(this.type==="doc-end"&&(e==null?void 0:e.type)!=="doc-end"){for(;this.stack.length>0;)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!e)return yield*this.stream();switch(e.type){case"document":return yield*this.document(e);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(e);case"block-scalar":return yield*this.blockScalar(e);case"block-map":return yield*this.blockMap(e);case"block-seq":return yield*this.blockSequence(e);case"flow-collection":return yield*this.flowCollection(e);case"doc-end":return yield*this.documentEnd(e)}yield*this.pop()}peek(e){return this.stack[this.stack.length-e]}*pop(e){const i=e??this.stack.pop();if(!i)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield i;else{const r=this.peek(1);switch(i.type==="block-scalar"?i.indent="indent"in r?r.indent:0:i.type==="flow-collection"&&r.type==="document"&&(i.indent=0),i.type==="flow-collection"&&Wb(i),r.type){case"document":r.value=i;break;case"block-scalar":r.props.push(i);break;case"block-map":{const l=r.items[r.items.length-1];if(l.value){r.items.push({start:[],key:i,sep:[]}),this.onKeyLine=!0;return}else if(l.sep)l.value=i;else{Object.assign(l,{key:i,sep:[]}),this.onKeyLine=!l.explicitKey;return}break}case"block-seq":{const l=r.items[r.items.length-1];l.value?r.items.push({start:[],value:i}):l.value=i;break}case"flow-collection":{const l=r.items[r.items.length-1];!l||l.value?r.items.push({start:[],key:i,sep:[]}):l.sep?l.value=i:Object.assign(l,{key:i,sep:[]});return}default:yield*this.pop(),yield*this.pop(i)}if((r.type==="document"||r.type==="block-map"||r.type==="block-seq")&&(i.type==="block-map"||i.type==="block-seq")){const l=i.items[i.items.length-1];l&&!l.sep&&!l.value&&l.start.length>0&&Zb(l.start)===-1&&(i.indent===0||l.start.every(o=>o.type!=="comment"||o.indent<i.indent))&&(r.type==="document"?r.end=l.start:r.items.push({start:l.start}),i.items.splice(-1,1))}}}*stream(){switch(this.type){case"directive-line":yield{type:"directive",offset:this.offset,source:this.source};return;case"byte-order-mark":case"space":case"comment":case"newline":yield this.sourceToken;return;case"doc-mode":case"doc-start":{const e={type:"document",offset:this.offset,start:[]};this.type==="doc-start"&&e.start.push(this.sourceToken),this.stack.push(e);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(e){if(e.value)return yield*this.lineEnd(e);switch(this.type){case"doc-start":{Zb(e.start)!==-1?(yield*this.pop(),yield*this.step()):e.start.push(this.sourceToken);return}case"anchor":case"tag":case"space":case"comment":case"newline":e.start.push(this.sourceToken);return}const i=this.startBlockValue(e);i?this.stack.push(i):yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(e){if(this.type==="map-value-ind"){const i=Go(this.peek(2)),r=fr(i);let l;e.end?(l=e.end,l.push(this.sourceToken),delete e.end):l=[this.sourceToken];const o={type:"block-map",offset:e.offset,indent:e.indent,items:[{start:r,key:e,sep:l}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=o}else yield*this.lineEnd(e)}*blockScalar(e){switch(this.type){case"space":case"comment":case"newline":e.props.push(this.sourceToken);return;case"scalar":if(e.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let i=this.source.indexOf(`
259 -`)+1;for(;i!==0;)this.onNewLine(this.offset+i),i=this.source.indexOf(`
260 -`,i)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){var r;const i=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,i.value){const l="end"in i.value?i.value.end:void 0,o=Array.isArray(l)?l[l.length-1]:void 0;(o==null?void 0:o.type)==="comment"?l==null||l.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else i.sep?i.sep.push(this.sourceToken):i.start.push(this.sourceToken);return;case"space":case"comment":if(i.value)e.items.push({start:[this.sourceToken]});else if(i.sep)i.sep.push(this.sourceToken);else{if(this.atIndentedComment(i.start,e.indent)){const l=e.items[e.items.length-2],o=(r=l==null?void 0:l.value)==null?void 0:r.end;if(Array.isArray(o)){Array.prototype.push.apply(o,i.start),o.push(this.sourceToken),e.items.pop();return}}i.start.push(this.sourceToken)}return}if(this.indent>=e.indent){const l=!this.onKeyLine&&this.indent===e.indent,o=l&&(i.sep||i.explicitKey)&&this.type!=="seq-item-ind";let u=[];if(o&&i.sep&&!i.value){const f=[];for(let d=0;d<i.sep.length;++d){const g=i.sep[d];switch(g.type){case"newline":f.push(d);break;case"space":break;case"comment":g.indent>e.indent&&(f.length=0);break;default:f.length=0}}f.length>=2&&(u=i.sep.splice(f[1]))}switch(this.type){case"anchor":case"tag":o||i.value?(u.push(this.sourceToken),e.items.push({start:u}),this.onKeyLine=!0):i.sep?i.sep.push(this.sourceToken):i.start.push(this.sourceToken);return;case"explicit-key-ind":!i.sep&&!i.explicitKey?(i.start.push(this.sourceToken),i.explicitKey=!0):o||i.value?(u.push(this.sourceToken),e.items.push({start:u,explicitKey:!0})):this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}),this.onKeyLine=!0;return;case"map-value-ind":if(i.explicitKey)if(i.sep)if(i.value)e.items.push({start:[],key:null,sep:[this.sourceToken]});else if(Ri(i.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:u,key:null,sep:[this.sourceToken]}]});else if(DS(i.key)&&!Ri(i.sep,"newline")){const f=fr(i.start),d=i.key,g=i.sep;g.push(this.sourceToken),delete i.key,delete i.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:f,key:d,sep:g}]})}else u.length>0?i.sep=i.sep.concat(u,this.sourceToken):i.sep.push(this.sourceToken);else if(Ri(i.start,"newline"))Object.assign(i,{key:null,sep:[this.sourceToken]});else{const f=fr(i.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:f,key:null,sep:[this.sourceToken]}]})}else i.sep?i.value||o?e.items.push({start:u,key:null,sep:[this.sourceToken]}):Ri(i.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):i.sep.push(this.sourceToken):Object.assign(i,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{const f=this.flowScalar(this.type);o||i.value?(e.items.push({start:u,key:f,sep:[]}),this.onKeyLine=!0):i.sep?this.stack.push(f):(Object.assign(i,{key:f,sep:[]}),this.onKeyLine=!0);return}default:{const f=this.startBlockValue(e);if(f){if(f.type==="block-seq"){if(!i.explicitKey&&i.sep&&!Ri(i.sep,"newline")){yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source});return}}else l&&e.items.push({start:u});this.stack.push(f);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(e){var r;const i=e.items[e.items.length-1];switch(this.type){case"newline":if(i.value){const l="end"in i.value?i.value.end:void 0,o=Array.isArray(l)?l[l.length-1]:void 0;(o==null?void 0:o.type)==="comment"?l==null||l.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else i.start.push(this.sourceToken);return;case"space":case"comment":if(i.value)e.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(i.start,e.indent)){const l=e.items[e.items.length-2],o=(r=l==null?void 0:l.value)==null?void 0:r.end;if(Array.isArray(o)){Array.prototype.push.apply(o,i.start),o.push(this.sourceToken),e.items.pop();return}}i.start.push(this.sourceToken)}return;case"anchor":case"tag":if(i.value||this.indent<=e.indent)break;i.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==e.indent)break;i.value||Ri(i.start,"seq-item-ind")?e.items.push({start:[this.sourceToken]}):i.start.push(this.sourceToken);return}if(this.indent>e.indent){const l=this.startBlockValue(e);if(l){this.stack.push(l);return}}yield*this.pop(),yield*this.step()}*flowCollection(e){const i=e.items[e.items.length-1];if(this.type==="flow-error-end"){let r;do yield*this.pop(),r=this.peek(1);while((r==null?void 0:r.type)==="flow-collection")}else if(e.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":!i||i.sep?e.items.push({start:[this.sourceToken]}):i.start.push(this.sourceToken);return;case"map-value-ind":!i||i.value?e.items.push({start:[],key:null,sep:[this.sourceToken]}):i.sep?i.sep.push(this.sourceToken):Object.assign(i,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!i||i.value?e.items.push({start:[this.sourceToken]}):i.sep?i.sep.push(this.sourceToken):i.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{const l=this.flowScalar(this.type);!i||i.value?e.items.push({start:[],key:l,sep:[]}):i.sep?this.stack.push(l):Object.assign(i,{key:l,sep:[]});return}case"flow-map-end":case"flow-seq-end":e.end.push(this.sourceToken);return}const r=this.startBlockValue(e);r?this.stack.push(r):(yield*this.pop(),yield*this.step())}else{const r=this.peek(2);if(r.type==="block-map"&&(this.type==="map-value-ind"&&r.indent===e.indent||this.type==="newline"&&!r.items[r.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&r.type!=="flow-collection"){const l=Go(r),o=fr(l);Wb(e);const u=e.end.splice(1,e.end.length);u.push(this.sourceToken);const f={type:"block-map",offset:e.offset,indent:e.indent,items:[{start:o,key:e,sep:u}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=f}else yield*this.lineEnd(e)}}flowScalar(e){if(this.onNewLine){let i=this.source.indexOf(`
261 -`)+1;for(;i!==0;)this.onNewLine(this.offset+i),i=this.source.indexOf(`
262 -`,i)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;const i=Go(e),r=fr(i);return r.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:r,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;const i=Go(e),r=fr(i);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:r,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(e,i){return this.type!=="comment"||this.indent<=i?!1:e.every(r=>r.type==="newline"||r.type==="space")}*documentEnd(e){this.type!=="doc-mode"&&(e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop()))}*lineEnd(e){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop())}}}function zS(n){const e=n.prettyErrors!==!1;return{lineCounter:n.lineCounter||e&&new RS||null,prettyErrors:e}}function BC(n,e={}){const{lineCounter:i,prettyErrors:r}=zS(e),l=new Xd(i==null?void 0:i.addNewLine),o=new Kd(e),u=Array.from(o.compose(l.parse(n)));if(r&&i)for(const f of u)f.errors.forEach(pc(n,i)),f.warnings.forEach(pc(n,i));return u.length>0?u:Object.assign([],{empty:!0},o.streamInfo())}function US(n,e={}){const{lineCounter:i,prettyErrors:r}=zS(e),l=new Xd(i==null?void 0:i.addNewLine),o=new Kd(e);let u=null;for(const f of o.compose(l.parse(n),!0,n.length))if(!u)u=f;else if(u.options.logLevel!=="silent"){u.errors.push(new gs(f.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return r&&i&&(u.errors.forEach(pc(n,i)),u.warnings.forEach(pc(n,i))),u}function qC(n,e,i){let r;typeof e=="function"?r=e:i===void 0&&e&&typeof e=="object"&&(i=e);const l=US(n,i);if(!l)return null;if(l.warnings.forEach(o=>iS(l.options.logLevel,o)),l.errors.length>0){if(l.options.logLevel!=="silent")throw l.errors[0];l.errors=[]}return l.toJS(Object.assign({reviver:r},i))}function $C(n,e,i){let r=null;if(typeof e=="function"||Array.isArray(e)?r=e:i===void 0&&e&&(i=e),typeof i=="string"&&(i=i.length),typeof i=="number"){const l=Math.round(i);i=l<1?void 0:l>8?{indent:8}:{indent:l}}if(n===void 0){const{keepUndefined:l}=i??e??{};if(!l)return}return vs(n)&&!r?n.toString(i):new Hr(n,r,i).toString(i)}const HS=Object.freeze(Object.defineProperty({__proto__:null,Alias:Ac,CST:zC,Composer:Kd,Document:Hr,Lexer:LS,LineCounter:RS,Pair:Tt,Parser:Xd,Scalar:ue,Schema:Dc,YAMLError:Vd,YAMLMap:Wt,YAMLParseError:gs,YAMLSeq:Ui,YAMLWarning:xS,isAlias:Bi,isCollection:Ke,isDocument:vs,isMap:Rr,isNode:Xe,isPair:Ve,isScalar:ze,isSeq:Dr,parse:qC,parseAllDocuments:BC,parseDocument:US,stringify:$C,visit:Ss,visitAsync:Tc},Symbol.toStringTag,{value:"Module"})),e0=[.5,1,2];function IC(n,e,i,r,l){const[o,u]=R.useState(!1),[f,d]=R.useState(1),[g,b]=R.useState(!1),[m,S]=R.useState(void 0),[w,E]=R.useState(void 0),x=e0[f],_=e?n.indexOf(e):-1,A=l.minimum,N=l.maximum,$=N-A||1,G=r?r.minimum:A,X=r?r.maximum:N,U=R.useMemo(()=>r?n.filter(fe=>fe.startTime>=r.minimum&&fe.startTime<=r.maximum):n,[n,r]),L=U.length?n.indexOf(U[0]):0,B=U.length?n.indexOf(U[U.length-1]):n.length-1,O=R.useRef(n);O.current=n;const ne=R.useRef(i);ne.current=i;const te=R.useRef(null),V=R.useCallback(fe=>{let Ne=0,qe=n.length-1;for(;Ne<qe;){const Ee=Ne+qe+1>>1;n[Ee].startTime<=fe?Ne=Ee:qe=Ee-1}if(Ne<n.length-1){const Ee=fe-n[Ne].startTime;n[Ne+1].startTime-fe<Ee&&(Ne=Ne+1)}return Math.max(L,Math.min(B,Ne))},[n,L,B]),W=e?e.startTime:A;let ge;g&&m!==void 0?ge=m*100:o&&w!==void 0?ge=Math.max(0,Math.min(100,(w-A)/$*100)):ge=Math.max(0,Math.min(100,(W-A)/$*100));const Ue=R.useRef(G);Ue.current=G;const I=R.useRef(X);I.current=X,R.useEffect(()=>{if(!o)return;let fe,Ne,qe=W;qe<Ue.current&&(qe=Ue.current);let Ee=_;E(qe);const Kt=en=>{if(Ne!==void 0){const qi=(en-Ne)*x;qe=Math.min(qe+qi,I.current)}Ne=en,E(qe);const tn=V(qe);if(tn!==Ee&&(Ee=tn,ne.current(O.current[tn])),qe>=I.current){u(!1);return}fe=requestAnimationFrame(Kt)};return fe=requestAnimationFrame(Kt),()=>cancelAnimationFrame(fe)},[o,x]),R.useEffect(()=>{o||E(void 0)},[o]);const J=R.useCallback(()=>{if(!n.length)return;const fe=_>=B;!o&&fe&&i(n[L]),u(!o)},[o,n,_,i,L,B]),re=R.useCallback(()=>{u(!1),n.length&&i(n[L])},[n,i,L]),xe=R.useCallback(()=>{const fe=Math.max(_-1,L);fe!==_&&i(n[fe])},[n,_,i,L]),_e=R.useCallback(()=>{const fe=Math.min(_+1,B);fe!==_&&i(n[fe])},[n,_,i,B]),M=R.useCallback(()=>{d(fe=>(fe+1)%e0.length)},[]);R.useEffect(()=>{u(!1)},[n]);const Y=R.useCallback(fe=>{const Ne=te.current.getBoundingClientRect();return Math.max(0,Math.min(1,(fe.clientX-Ne.left)/Ne.width))},[]),Z=R.useCallback(fe=>{if(!n.length)return;const Ne=A+fe*$,qe=V(Ne);ne.current(O.current[qe])},[n,A,$,V]),P=R.useRef(null);R.useEffect(()=>()=>{var fe;return(fe=P.current)==null?void 0:fe.call(P)},[]);const oe=R.useCallback(fe=>{var Kt;if(!n.length||fe.button!==0)return;fe.preventDefault(),fe.stopPropagation(),(Kt=te.current)==null||Kt.focus(),b(!0),u(!1);const Ne=Y(fe);S(Ne),Z(Ne);const qe=en=>{const tn=Y(en);S(tn),Z(tn)},Ee=en=>{document.removeEventListener("mousemove",qe),document.removeEventListener("mouseup",Ee),P.current=null;const tn=Y(en);Z(tn),S(void 0),b(!1)};document.addEventListener("mousemove",qe),document.addEventListener("mouseup",Ee),P.current=()=>{document.removeEventListener("mousemove",qe),document.removeEventListener("mouseup",Ee)}},[n,Z,Y]),he=!o&&!g,be=n.length>0&&n.length<=200?n.map(fe=>(fe.startTime-A)/$*100):void 0,lt=_>L,ke=_<B,At=o||_>L;return{playing:o,speed:x,currentIndex:_,percent:ge,animating:he,togglePlay:J,stop:re,prev:xe,next:_e,cycleSpeed:M,onScrubberMouseDown:oe,scrubberRef:te,actionsLength:n.length,canPrev:lt,canNext:ke,canStop:At,ticks:be}}const VC=({playback:n})=>v.jsxs(v.Fragment,{children:[v.jsx(ft,{icon:"chevron-left",title:"Previous action",onClick:n.prev,disabled:!n.canPrev}),v.jsx(ft,{icon:n.playing?"debug-pause":"play",disabled:!n.actionsLength,title:n.playing?"Pause":"Play",onClick:n.togglePlay}),v.jsx(ft,{icon:"debug-stop",title:"Stop",onClick:n.stop,disabled:!n.canStop}),v.jsx(ft,{icon:"chevron-right",title:"Next action",onClick:n.next,disabled:!n.canNext}),v.jsxs("button",{className:"playback-speed",onClick:n.cycleSpeed,title:"Playback speed",children:[n.speed,"x"]})]}),GC=({playback:n})=>{var i;const e=R.useCallback(r=>{r.key==="ArrowLeft"?(r.preventDefault(),n.prev()):r.key==="ArrowRight"&&(r.preventDefault(),n.next())},[n]);return v.jsxs("div",{className:"playback-scrubber",ref:n.scrubberRef,onMouseDown:n.onScrubberMouseDown,onKeyDown:e,tabIndex:0,role:"slider","aria-label":"Playback position","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(n.percent),children:[v.jsx("div",{className:"playback-track"}),v.jsx("div",{className:"playback-track-filled"+(n.animating?" animated":""),style:{width:`${n.percent}%`}}),(i=n.ticks)==null?void 0:i.map((r,l)=>v.jsx("div",{className:"playback-tick",style:{left:`${r}%`}},l)),v.jsx("div",{className:"playback-thumb"+(n.animating?" animated":""),style:{left:`${n.percent}%`}})]})},KC=({action:n,model:e,sdkLanguage:i,testIdAttributeName:r,isInspecting:l,setIsInspecting:o,highlightedElement:u,setHighlightedElement:f,playback:d})=>{const[g,b]=R.useState("action"),[m]=Gt("shouldPopulateCanvasFromScreenshot",!1),S=R.useMemo(()=>QC(n),[n]),{snapshotInfoUrl:w,snapshotUrl:E,popoutUrl:x}=R.useMemo(()=>{const A=S[g];return e&&A?PC(e.traceUri,A,m):{snapshotInfoUrl:void 0,snapshotUrl:void 0,popoutUrl:void 0}},[S,g,m,e]),_=R.useMemo(()=>w!==void 0?{snapshotInfoUrl:w,snapshotUrl:E,popoutUrl:x}:void 0,[w,E,x]);return v.jsxs("div",{className:"snapshot-tab vbox",children:[v.jsxs(Sc,{children:[v.jsx(ft,{className:"pick-locator",title:"Pick locator",icon:"target",toggled:l,onClick:()=>o(!l)}),v.jsx("div",{className:"hbox",style:{height:"100%"},role:"tablist",children:["action","before","after"].map(A=>v.jsx(Y0,{id:A,title:FC(A),selected:g===A,onSelect:()=>b(A)},A))}),v.jsx("div",{style:{flex:"auto"}}),v.jsx(VC,{playback:d}),v.jsx(ft,{icon:"link-external",title:"Open snapshot in a new tab",disabled:!(_!=null&&_.popoutUrl),onClick:()=>{const A=window.open((_==null?void 0:_.popoutUrl)||"","_blank");A==null||A.addEventListener("DOMContentLoaded",()=>{new Bv(A,{isUnderTest:qS,sdkLanguage:i,testIdAttributeName:r,stableRafCount:1,browserName:"chromium",customEngines:[]}).consoleApi.install()})}})]}),v.jsx(XC,{snapshotUrls:_,sdkLanguage:i,testIdAttributeName:r,isInspecting:l,setIsInspecting:o,highlightedElement:u,setHighlightedElement:f})]})},XC=({snapshotUrls:n,sdkLanguage:e,testIdAttributeName:i,isInspecting:r,setIsInspecting:l,highlightedElement:o,setHighlightedElement:u})=>{const f=R.useRef(null),d=R.useRef(null),[g,b]=R.useState({viewport:$S,url:""}),m=R.useRef({iteration:0,visibleIframe:0});return R.useEffect(()=>{(async()=>{const S=m.current.iteration+1,w=1-m.current.visibleIframe;m.current.iteration=S;const E=await JC(n==null?void 0:n.snapshotInfoUrl);if(m.current.iteration!==S)return;const x=[f,d][w].current;if(x){let _=()=>{};const A=new Promise(N=>_=N);try{x.addEventListener("load",_),x.addEventListener("error",_);const N=(n==null?void 0:n.snapshotUrl)||kA;x.contentWindow?x.contentWindow.location.replace(N):x.src=N,await A}catch{}finally{x.removeEventListener("load",_),x.removeEventListener("error",_)}}m.current.iteration===S&&(m.current.visibleIframe=w,b(E))})()},[n]),v.jsxs("div",{className:"vbox",tabIndex:0,onKeyDown:S=>{S.key==="Escape"&&r&&l(!1)},children:[v.jsx(t0,{isInspecting:r,sdkLanguage:e,testIdAttributeName:i,highlightedElement:o,setHighlightedElement:u,iframe:f.current,iteration:m.current.iteration}),v.jsx(t0,{isInspecting:r,sdkLanguage:e,testIdAttributeName:i,highlightedElement:o,setHighlightedElement:u,iframe:d.current,iteration:m.current.iteration}),v.jsx(YC,{snapshotInfo:g,children:v.jsxs("div",{className:"snapshot-switcher",children:[v.jsx("iframe",{ref:f,name:"snapshot",title:"DOM Snapshot",sandbox:"allow-same-origin allow-scripts",className:at(m.current.visibleIframe===0&&"snapshot-visible")}),v.jsx("iframe",{ref:d,name:"snapshot",title:"DOM Snapshot",sandbox:"allow-same-origin allow-scripts",className:at(m.current.visibleIframe===1&&"snapshot-visible")})]})})]})},YC=({snapshotInfo:n,children:e})=>{const[i,r]=ys(),l=40,o={width:n.viewport.width,height:n.viewport.height},u={width:Math.max(o.width,480),height:Math.max(o.height+l,320)},f=Math.min(i.width/u.width,i.height/u.height,1),d={x:(i.width-u.width)/2,y:(i.height-u.height)/2};return v.jsx("div",{ref:r,className:"snapshot-wrapper",children:v.jsxs("div",{className:"snapshot-container",style:{width:u.width+"px",height:u.height+"px",transform:`translate(${d.x}px, ${d.y}px) scale(${f})`},children:[v.jsx(LA,{url:n.url}),v.jsx("div",{className:"snapshot-browser-body",children:v.jsx("div",{style:{width:o.width+"px",height:o.height+"px"},children:e})})]})})};function FC(n){return n==="before"?"Before":n==="after"?"After":n==="action"?"Action":n}const t0=({iframe:n,isInspecting:e,sdkLanguage:i,testIdAttributeName:r,highlightedElement:l,setHighlightedElement:o,iteration:u})=>(R.useEffect(()=>{const f=l.lastEdited==="ariaSnapshot"?l.ariaSnapshot:void 0,d=l.lastEdited==="locator"?l.locator:void 0,g=!!f||!!d||e,b=[],m=new URLSearchParams(window.location.search).get("isUnderTest")==="true";try{BS(b,g,i,r,m,"",n==null?void 0:n.contentWindow)}catch{}const S=f?od(HS,f):void 0,w=d?OA(i,d,r):void 0;for(const{recorder:E,frameSelector:x}of b){const _=w!=null&&w.startsWith(x)?w.substring(x.length).trim():void 0,A=(S==null?void 0:S.errors.length)===0?S.fragment:void 0;E.setUIState({mode:e?"inspecting":"none",actionSelector:_,ariaTemplate:A,language:i,testIdAttributeName:r,overlay:{offsetX:0}},{async elementPicked(N){o({locator:Di(i,x+N.selector),ariaSnapshot:N.ariaSnapshot,lastEdited:"none"})},highlightUpdated(){for(const N of b)N.recorder!==E&&N.recorder.clearHighlight()}})}},[n,e,l,o,i,r,u]),v.jsx(v.Fragment,{}));function BS(n,e,i,r,l,o,u){if(!u)return;const f=u;if(!f._recorder&&e){const d=new Bv(u,{isUnderTest:l,sdkLanguage:i,testIdAttributeName:r,stableRafCount:1,browserName:"chromium",customEngines:[]}),g=new TA(d);f._injectedScript=d,f._recorder={recorder:g,frameSelector:o},l&&(window._weakRecordersForTest=window._weakRecordersForTest||new Set,window._weakRecordersForTest.add(new WeakRef(g)))}f._recorder&&n.push(f._recorder);for(let d=0;d<u.frames.length;++d){const g=u.frames[d],b=g.frameElement?f._injectedScript.generateSelectorSimple(g.frameElement,{omitInternalEngines:!0,testIdAttributeName:r})+" >> internal:control=enter-frame >> ":"";BS(n,e,i,r,l,o+b,g)}}const $a=(n,e)=>{if(!n)return;const i=n[e];if(i){if(!n.pageId){console.error("snapshot action must have a pageId");return}return{action:n,snapshotName:i,pageId:n.pageId,point:n.point}}};function QC(n){if(!n)return{};let e=$a(n,"beforeSnapshot");if(!e){for(let l=ib(n);l;l=ib(l))if(l.endTime<=n.startTime&&l.afterSnapshot){e=$a(l,"afterSnapshot");break}}let i=$a(n,"afterSnapshot");if(!i){let l;for(let o=sb(n);o&&o.startTime<=n.endTime;o=sb(o))o.endTime>n.endTime||!o.afterSnapshot||l&&l.endTime>o.endTime||(l=o);l?i=$a(l,"afterSnapshot"):i=e}const r=$a(n,"inputSnapshot")??i;return r&&(r.point=n.point),{action:r,before:e,after:i}}const qS=new URLSearchParams(window.location.search).has("isUnderTest");function PC(n,e,i){const r=new URLSearchParams;r.set("trace",n),r.set("name",e.snapshotName),qS&&r.set("isUnderTest","true"),e.point&&(r.set("pointX",String(e.point.x)),r.set("pointY",String(e.point.y))),i&&r.set("shouldPopulateCanvasFromScreenshot","1");const l=new URL(`snapshot/${e.pageId}?${r.toString()}`,window.location.href).toString(),o=new URL(`snapshotInfo/${e.pageId}?${r.toString()}`,window.location.href).toString(),u=new URLSearchParams;u.set("r",l),u.set("trace",n);const f=new URL(`snapshot.html?${u.toString()}`,window.location.href).toString();return{snapshotInfoUrl:o,snapshotUrl:l,popoutUrl:f}}async function JC(n){const e={url:"",viewport:$S,timestamp:void 0,wallTime:void 0};if(n){const r=await(await fetch(n)).json();r.error||(e.url=r.url,e.viewport=r.viewport,e.timestamp=r.timestamp,e.wallTime=r.wallTime)}return e}const $S={width:1280,height:720},ZC=bc,WC=({stack:n,setSelectedFrame:e,selectedFrame:i})=>{const r=n||[];return v.jsx(ZC,{name:"stack-trace",ariaLabel:"Stack trace",items:r,selectedItem:r[i],render:l=>{const o=l.file[1]===":"?"\\":"/";return v.jsxs(v.Fragment,{children:[v.jsx("span",{className:"stack-trace-frame-function",children:l.function||"(anonymous)"}),v.jsx("span",{className:"stack-trace-frame-location",children:l.file.split(o).pop()}),v.jsx("span",{className:"stack-trace-frame-line",children:":"+l.line})]})},onSelected:l=>e(r.indexOf(l))})};function e2(n,e,i,r,l){const o=ri();return Zh(async()=>{var w,E,x,_;const u=n==null?void 0:n[e],f=u!=null&&u.file?u:l;if(!f)return{source:{file:"",errors:[],content:void 0},targetLine:0,highlight:[]};const d=f.file;let g=i.get(d);g||(g={errors:((w=l==null?void 0:l.source)==null?void 0:w.errors)||[],content:(E=l==null?void 0:l.source)==null?void 0:E.content},i.set(d,g));const b=(f==null?void 0:f.line)||((x=g.errors[0])==null?void 0:x.line)||0,m=r&&d.startsWith(r)?d.substring(r.length+1):d,S=g.errors.map(A=>({type:"error",line:A.line,message:A.message}));if(S.push({line:b,type:"running"}),((_=l==null?void 0:l.source)==null?void 0:_.content)!==void 0)g.content=l.source.content;else if(g.content===void 0||f===l){const A=await n2(d);try{let N=o?await fetch(o.createRelativeUrl(`sha1/src@${A}.txt`)):void 0;(!N||N.status===404)&&(N=await fetch(`file?path=${encodeURIComponent(d)}`)),N.status>=400?g.content="":g.content=await N.text()}catch{g.content=`<Unable to read "${d}">`}}return{model:o,source:g,highlight:S,targetLine:b,fileName:m,location:f}},[n,e,r,l],{source:{errors:[],content:"Loading…"},highlight:[]})}const t2=({stack:n,sources:e,rootDir:i,fallbackLocation:r,stackFrameLocation:l,onOpenExternally:o})=>{const[u,f]=R.useState(),[d,g]=R.useState(0);R.useEffect(()=>{u!==n&&(f(n),g(0))},[n,u,f,g]);const{source:b,highlight:m,targetLine:S,fileName:w,location:E}=e2(n,d,e,i,r),x=R.useCallback(()=>{E&&(o?o(E):window.location.href=`vscode://file//${E.file}:${E.line}`)},[o,E]),_=((n==null?void 0:n.length)??0)>1,A=i2(w),N=A.endsWith(".md")?"markdown":"javascript";return v.jsx(sc,{sidebarSize:200,orientation:l==="bottom"?"vertical":"horizontal",sidebarHidden:!_,main:v.jsxs("div",{className:"vbox","data-testid":"source-code",children:[w&&v.jsxs(Sc,{children:[v.jsx("div",{className:"source-tab-file-name",title:w,children:v.jsx("div",{children:A})}),v.jsx(ld,{description:"Copy filename",value:A}),E&&v.jsx(ft,{icon:"link-external",title:"Open in VS Code",onClick:x})]}),v.jsx(Ar,{text:b.content||"",highlighter:N,highlight:m,revealLine:S,readOnly:!0,lineNumbers:!0,dataTestId:"source-code-mirror"})]}),sidebar:v.jsx(WC,{stack:n,selectedFrame:d,setSelectedFrame:g})})};async function n2(n){const e=new TextEncoder().encode(n),i=await crypto.subtle.digest("SHA-1",e),r=[],l=new DataView(i);for(let o=0;o<l.byteLength;o+=1){const u=l.getUint8(o).toString(16).padStart(2,"0");r.push(u)}return r.join("")}function i2(n){if(!n)return"";const e=n!=null&&n.includes("/")?"/":"\\";return(n==null?void 0:n.split(e).pop())??""}const IS={width:200,height:45},pr=2.5,s2=IS.height+pr*2,r2=({boundaries:n,previewPoint:e})=>{var b,m;const i=ri(),[r,l]=ys(),o=R.useRef(null);let u=0;if(o.current&&e){const S=o.current.getBoundingClientRect();u=(e.clientY-S.top+o.current.scrollTop)/s2|0}const f=(m=(b=i==null?void 0:i.pages)==null?void 0:b[u])==null?void 0:m.screencastFrames;let d,g;if(e!==void 0&&f&&f.length){const S=n.minimum+(n.maximum-n.minimum)*e.x/r.width;d=f[i0(f,S,VS)-1];const w={width:Math.min(800,window.innerWidth/2|0),height:Math.min(800,window.innerHeight/2|0)};g=d?GS({width:d.width,height:d.height},w):void 0}return v.jsxs("div",{className:"film-strip",ref:l,children:[v.jsx("div",{className:"film-strip-lanes",ref:o,children:i==null?void 0:i.pages.map((S,w)=>S.screencastFrames.length?v.jsx(a2,{boundaries:n,page:S,width:r.width},w):null)}),i&&(e==null?void 0:e.x)!==void 0&&v.jsxs("div",{className:"film-strip-hover",style:{top:r.bottom+5,left:Math.min(e.x,r.width-(g?g.width:0)-10)},children:[d&&g&&v.jsx("div",{style:{width:g.width,height:g.height},children:v.jsx("img",{src:i.createRelativeUrl(`sha1/${d.sha1}`),width:g.width,height:g.height})}),e.action&&v.jsx("div",{className:"film-strip-hover-title",children:rd(e.action,e)})]})]})},a2=({boundaries:n,page:e,width:i})=>{const r=ri(),l={width:0,height:0},o=e.screencastFrames;for(const _ of o)l.width=Math.max(l.width,_.width),l.height=Math.max(l.height,_.height);const u=GS(l,IS),f=o[0].timestamp,d=o[o.length-1].timestamp,g=n.maximum-n.minimum,b=(f-n.minimum)/g*i,m=(n.maximum-d)/g*i,w=(d-f)/g*i/(u.width+2*pr)|0,E=(d-f)/w,x=[];for(let _=0;f&&E&&_<w;++_){const A=f+E*_,N=i0(o,A,VS)-1;x.push(v.jsx("div",{className:"film-strip-frame",style:{width:u.width,height:u.height,backgroundImage:`url(${r==null?void 0:r.createRelativeUrl("sha1/"+o[N].sha1)})`,backgroundSize:`${u.width}px ${u.height}px`,margin:pr,marginRight:pr}},_))}return x.push(v.jsx("div",{className:"film-strip-frame",style:{width:u.width,height:u.height,backgroundImage:`url(${r==null?void 0:r.createRelativeUrl("sha1/"+o[o.length-1].sha1)})`,backgroundSize:`${u.width}px ${u.height}px`,margin:pr,marginRight:pr}},x.length)),v.jsx("div",{className:"film-strip-lane",style:{marginLeft:b+"px",marginRight:m+"px"},children:x})};function VS(n,e){return n-e.timestamp}function GS(n,e){const i=Math.max(n.width/e.width,n.height/e.height);return{width:n.width/i|0,height:n.height/i|0}}const l2=({model:n,boundaries:e,onSelected:i,selectedTime:r,setSelectedTime:l,sdkLanguage:o,scrubber:u})=>{const[f,d]=ys(),[g,b]=R.useState(),[m,S]=R.useState(),[w]=Gt("actionsFilter",[]),{offsets:E,curtainLeft:x,curtainRight:_}=R.useMemo(()=>{let B=r||e;if(g&&g.startX!==g.endX){const V=On(f.width,e,g.startX),W=On(f.width,e,g.endX);B={minimum:Math.min(V,W),maximum:Math.max(V,W)}}const O=gr(f.width,e,B.minimum),te=gr(f.width,e,e.maximum)-gr(f.width,e,B.maximum);return{offsets:o2(f.width,e),curtainLeft:O,curtainRight:te}},[r,e,g,f]),A=R.useMemo(()=>n==null?void 0:n.filteredActions(w),[n,w]),N=R.useCallback(B=>{if(S(void 0),!d.current)return;const O=B.clientX-d.current.getBoundingClientRect().left,ne=On(f.width,e,O),te=r?gr(f.width,e,r.minimum):0,V=r?gr(f.width,e,r.maximum):0;r&&Math.abs(O-te)<10?b({startX:V,endX:O,type:"resize"}):r&&Math.abs(O-V)<10?b({startX:te,endX:O,type:"resize"}):r&&ne>r.minimum&&ne<r.maximum&&B.clientY-d.current.getBoundingClientRect().top<20?b({startX:te,endX:V,pivot:O,type:"move"}):b({startX:O,endX:O,type:"resize"})},[e,f,d,r]),$=R.useCallback(B=>{if(!d.current)return;const O=B.clientX-d.current.getBoundingClientRect().left,ne=On(f.width,e,O),te=A==null?void 0:A.findLast(Ue=>Ue.startTime<=ne);if(!B.buttons){b(void 0);return}if(te&&i(te),!g)return;let V=g;if(g.type==="resize")V={...g,endX:O};else{const Ue=O-g.pivot;let I=g.startX+Ue,J=g.endX+Ue;I<0&&(I=0,J=I+(g.endX-g.startX)),J>f.width&&(J=f.width,I=J-(g.endX-g.startX)),V={...g,startX:I,endX:J,pivot:O}}b(V);const W=On(f.width,e,V.startX),ge=On(f.width,e,V.endX);W!==ge&&l({minimum:Math.min(W,ge),maximum:Math.max(W,ge)})},[e,g,f,A,i,d,l]),G=R.useCallback(()=>{if(S(void 0),!!g){if(g.startX!==g.endX){const B=On(f.width,e,g.startX),O=On(f.width,e,g.endX);l({minimum:Math.min(B,O),maximum:Math.max(B,O)})}else{const B=On(f.width,e,g.startX),O=A==null?void 0:A.findLast(ne=>ne.startTime<=B);O&&i(O),l(void 0)}b(void 0)}},[e,g,f,A,l,i]),X=R.useCallback(B=>{if(!d.current)return;const O=B.clientX-d.current.getBoundingClientRect().left,ne=On(f.width,e,O),te=A==null?void 0:A.findLast(V=>V.startTime<=ne);S({x:O,clientY:B.clientY,action:te,sdkLanguage:o})},[e,f,A,d,o]),U=R.useCallback(()=>{S(void 0)},[]),L=R.useCallback(()=>{l(void 0)},[l]);return v.jsxs("div",{className:"timeline-view-container",children:[!!g&&v.jsx($0,{cursor:(g==null?void 0:g.type)==="resize"?"ew-resize":"grab",onPaneMouseUp:G,onPaneMouseMove:$,onPaneDoubleClick:L}),v.jsxs("div",{ref:d,className:"timeline-view",onMouseDown:N,onMouseMove:X,onMouseLeave:U,children:[v.jsx("div",{className:"timeline-grid",children:E.map((B,O)=>v.jsx("div",{className:"timeline-divider",style:{left:B.position+"px"},children:v.jsx("div",{className:"timeline-time",children:St(B.time-e.minimum)})},O))}),v.jsx(r2,{boundaries:e,previewPoint:m}),u,r&&v.jsxs("div",{className:"timeline-window",children:[v.jsx("div",{className:"timeline-window-curtain left",style:{width:x}}),v.jsx("div",{className:"timeline-window-resizer",style:{left:-5}}),v.jsx("div",{className:"timeline-window-center",children:v.jsx("div",{className:"timeline-window-drag"})}),v.jsx("div",{className:"timeline-window-resizer",style:{left:5}}),v.jsx("div",{className:"timeline-window-curtain right",style:{width:_}})]})]})]})};function o2(n,e){let r=n/64;const l=e.maximum-e.minimum,o=n/l;let u=l/r;const f=Math.ceil(Math.log(u)/Math.LN10);u=Math.pow(10,f),u*o>=320&&(u=u/5),u*o>=128&&(u=u/2);const d=e.minimum;let g=e.maximum;g+=64/o,r=Math.ceil((g-d)/u),u||(r=0);const b=[];for(let m=0;m<r;++m){const S=d+u*m;b.push({position:gr(n,e,S),time:S})}return b}function gr(n,e,i){return(i-e.minimum)/(e.maximum-e.minimum)*n}function On(n,e,i){return i/n*(e.maximum-e.minimum)+e.minimum}const c2=({model:n})=>{var i,r;if(!n)return v.jsx(v.Fragment,{});const e=n.wallTime!==void 0?new Date(n.wallTime).toLocaleString(void 0,{timeZoneName:"short"}):void 0;return v.jsxs("div",{style:{flex:"auto",display:"block",overflow:"hidden auto"},children:[v.jsx("div",{className:"call-section",style:{paddingTop:2},children:"Time"}),!!e&&v.jsxs("div",{className:"call-line",children:["start time:",v.jsx("span",{className:"call-value datetime",title:e,children:e})]}),v.jsxs("div",{className:"call-line",children:["duration:",v.jsx("span",{className:"call-value number",title:St(n.endTime-n.startTime),children:St(n.endTime-n.startTime)})]}),n.testTimeout!==void 0&&v.jsxs("div",{className:"call-line",children:["test timeout:",v.jsx("span",{className:"call-value number",title:St(n.testTimeout),children:St(n.testTimeout)})]}),v.jsx("div",{className:"call-section",children:"Browser"}),v.jsxs("div",{className:"call-line",children:["engine:",v.jsx("span",{className:"call-value string",title:n.browserName,children:n.browserName})]}),n.channel&&v.jsxs("div",{className:"call-line",children:["channel:",v.jsx("span",{className:"call-value string",title:n.channel,children:n.channel})]}),n.platform&&v.jsxs("div",{className:"call-line",children:["platform:",v.jsx("span",{className:"call-value string",title:n.platform,children:n.platform})]}),n.playwrightVersion&&v.jsxs("div",{className:"call-line",children:["playwright version:",v.jsx("span",{className:"call-value string",title:n.playwrightVersion,children:n.playwrightVersion})]}),n.options.userAgent&&v.jsxs("div",{className:"call-line",children:["user agent:",v.jsx("span",{className:"call-value datetime",title:n.options.userAgent,children:n.options.userAgent})]}),n.options.baseURL&&v.jsxs(v.Fragment,{children:[v.jsx("div",{className:"call-section",style:{paddingTop:2},children:"Config"}),v.jsxs("div",{className:"call-line",children:["baseURL:",rx(n.options.baseURL)?v.jsx("a",{className:"call-value string",href:n.options.baseURL,title:n.options.baseURL,target:"_blank",rel:"noopener noreferrer",children:n.options.baseURL}):v.jsx("span",{className:"call-value string",title:n.options.baseURL,children:n.options.baseURL})]})]}),v.jsx("div",{className:"call-section",children:"Viewport"}),n.options.viewport&&v.jsxs("div",{className:"call-line",children:["width:",v.jsx("span",{className:"call-value number",title:String(!!((i=n.options.viewport)!=null&&i.width)),children:n.options.viewport.width})]}),n.options.viewport&&v.jsxs("div",{className:"call-line",children:["height:",v.jsx("span",{className:"call-value number",title:String(!!((r=n.options.viewport)!=null&&r.height)),children:n.options.viewport.height})]}),v.jsxs("div",{className:"call-line",children:["is mobile:",v.jsx("span",{className:"call-value boolean",title:String(!!n.options.isMobile),children:String(!!n.options.isMobile)})]}),n.options.deviceScaleFactor&&v.jsxs("div",{className:"call-line",children:["device scale:",v.jsx("span",{className:"call-value number",title:String(n.options.deviceScaleFactor),children:String(n.options.deviceScaleFactor)})]}),v.jsx("div",{className:"call-section",children:"Counts"}),v.jsxs("div",{className:"call-line",children:["pages:",v.jsx("span",{className:"call-value number",children:n.pages.length})]}),v.jsxs("div",{className:"call-line",children:["actions:",v.jsx("span",{className:"call-value number",children:n.actions.length})]}),v.jsxs("div",{className:"call-line",children:["events:",v.jsx("span",{className:"call-value number",children:n.events.length})]})]})},u2=({annotations:n})=>n.length?v.jsx("div",{className:"annotations-tab",children:n.map((e,i)=>v.jsxs("div",{className:"annotation-item",children:[v.jsx("span",{style:{fontWeight:"bold"},children:e.type}),e.description&&v.jsxs("span",{children:[": ",G0(e.description)]})]},`annotation-${i}`))}):v.jsx(bs,{text:"No annotations"}),f2=({sdkLanguage:n,isInspecting:e,setIsInspecting:i,highlightedElement:r,setHighlightedElement:l})=>{const[o,u]=R.useState(),f=R.useCallback(d=>{const{errors:g}=od(HS,d,{prettyErrors:!1}),b=g.map(m=>({message:m.message,line:m.range[1].line,column:m.range[1].col,type:"subtle-error"}));u(b),l({...r,ariaSnapshot:d,lastEdited:"ariaSnapshot"}),i(!1)},[r,l,i]);return v.jsxs("div",{style:{flex:"auto",backgroundColor:"var(--vscode-sideBar-background)",padding:"0 10px 10px 10px",overflow:"auto"},children:[v.jsxs("div",{className:"hbox",style:{lineHeight:"28px",color:"var(--vscode-editorCodeLens-foreground)"},children:[v.jsx("div",{children:"Locator"}),v.jsx(ft,{style:{margin:"0 4px"},title:"Pick locator",icon:"target",toggled:e,onClick:()=>i(!e)}),v.jsx("div",{style:{flex:"auto"}}),v.jsx(ft,{icon:"files",title:"Copy locator",onClick:()=>{Yy(r.locator||"")}})]}),v.jsx("div",{style:{height:50},children:v.jsx(Ar,{text:r.locator||"",highlighter:n,isFocused:!0,wrapLines:!0,onChange:d=>{l({...r,locator:d,lastEdited:"locator"}),i(!1)}})}),v.jsxs("div",{className:"hbox",style:{lineHeight:"28px",color:"var(--vscode-editorCodeLens-foreground)"},children:[v.jsx("div",{style:{flex:"auto"},children:"Aria snapshot"}),v.jsx(ft,{icon:"files",title:"Copy snapshot",onClick:()=>{Yy(r.ariaSnapshot||"")}})]}),v.jsx("div",{style:{height:150},children:v.jsx(Ar,{text:r.ariaSnapshot||"",highlighter:"yaml",wrapLines:!1,highlight:o,onChange:f})})]})},h2=({className:n,style:e,open:i,isModal:r,minWidth:l,verticalOffset:o,requestClose:u,anchor:f,dataTestId:d,children:g})=>{const b=R.useRef(null),[m,S]=R.useState(0),[w]=Ah(b),[E,x]=Ah(f),_=f?d2(w,E,o):void 0;return R.useEffect(()=>{const A=$=>{!b.current||!($.target instanceof Node)||b.current.contains($.target)||u==null||u()},N=$=>{$.key==="Escape"&&(u==null||u())};return i?(document.addEventListener("mousedown",A),document.addEventListener("keydown",N),()=>{document.removeEventListener("mousedown",A),document.removeEventListener("keydown",N)}):()=>{}},[i,u]),R.useLayoutEffect(()=>x(),[i,x]),R.useEffect(()=>{const A=()=>S(N=>N+1);return window.addEventListener("resize",A),()=>{window.removeEventListener("resize",A)}},[]),R.useLayoutEffect(()=>{b.current&&(i?r?b.current.showModal():b.current.show():b.current.close())},[i,r]),v.jsx("dialog",{ref:b,style:{position:"fixed",margin:_?0:void 0,zIndex:110,top:_==null?void 0:_.top,left:_==null?void 0:_.left,minWidth:l||0,...e},className:n,"data-testid":d,children:g})};function d2(n,e,i=4,r=4){let l=Math.max(r,e.left);l+n.width>window.innerWidth-r&&(l=window.innerWidth-n.width-r);let o=Math.max(0,e.bottom)+i;return o+n.height>window.innerHeight-i&&(Math.max(0,e.top)>n.height+i?o=Math.max(0,e.top)-n.height-i:o=window.innerHeight-i-n.height),{left:l,top:o}}const p2=({title:n,icon:e,buttonChildren:i,anchorRef:r,dialogDataTestId:l,children:o})=>{const u=R.useRef(null),f=r??u,[d,g]=R.useState(!1);return v.jsxs(v.Fragment,{children:[v.jsx(ft,{ref:u,icon:e,title:n,onClick:()=>g(b=>!b),children:i}),v.jsx(h2,{style:{backgroundColor:"var(--vscode-sideBar-background)",padding:"4px 8px"},open:d,verticalOffset:8,requestClose:()=>g(!1),anchor:f,dataTestId:l,children:o})]})},KS=({settings:n})=>v.jsx("div",{className:"vbox settings-view",children:n.map(e=>{const i=`setting-${e.name.replaceAll(/\s+/g,"-")}`;return v.jsx("div",{className:`setting setting-${e.type}`,title:e.title,children:g2(e,i)},e.name)})}),g2=(n,e)=>{switch(n.type){case"check":return v.jsxs(v.Fragment,{children:[v.jsx("input",{type:"checkbox",id:e,checked:n.value,onChange:()=>n.set(!n.value)}),v.jsxs("label",{htmlFor:e,children:[n.name,!!n.count&&v.jsx("span",{className:"setting-counter",children:n.count})]})]});case"select":return v.jsxs(v.Fragment,{children:[v.jsxs("label",{htmlFor:e,children:[n.name,":",!!n.count&&v.jsx("span",{className:"setting-counter",children:n.count})]}),v.jsx("select",{id:e,value:n.value,onChange:i=>n.set(i.target.value),children:n.options.map(i=>v.jsx("option",{value:i.value,children:i.label},i.value))})]});default:return null}},C2=n=>{var i;const e=b2((i=n.model)==null?void 0:i.traceUri);return v.jsx(K0.Provider,{value:n.model,children:v.jsx(m2,{partition:e,...n})})},m2=n=>{var yl;const{partition:e,model:i,showSourcesFirst:r,rootDir:l,fallbackLocation:o,isLive:u,hideTimeline:f,status:d,annotations:g,inert:b,onOpenExternally:m,revealSource:S,testRunMetadata:w}=n,[E,x]=Gt("navigatorTab","actions"),[_,A]=Gt("propertiesTab",r?"source":"call"),[N,$]=Gt("propertiesSidebarLocation","bottom"),[G]=Gt("actionsFilter",[]),[X,U]=ar("selectedCallId"),[L,B]=ar("selectedTime"),[O,ne]=ar("highlightedCallId"),[te,V]=ar("revealedErrorKey"),[W,ge]=ar("revealedAttachmentCallId"),[Ue,I]=ar("treeState",{expandedItems:new Map}),[J,re]=R.useState("");ux(e);const[xe,_e]=R.useState({lastEdited:"none"}),[M,Y]=R.useState(!1),Z=R.useCallback(ae=>{U(ae==null?void 0:ae.callId),V(void 0)},[U,V]),P=R.useMemo(()=>i==null?void 0:i.filteredActions(G),[i,G]),oe=((i==null?void 0:i.actions.length)??0)-((P==null?void 0:P.length)??0),he=R.useMemo(()=>P==null?void 0:P.find(ae=>ae.callId===O),[P,O]),be=R.useCallback(ae=>{ne(ae==null?void 0:ae.callId)},[ne]),lt=R.useMemo(()=>(i==null?void 0:i.sources)||new Map,[i]);R.useEffect(()=>{B(void 0),V(void 0)},[i,B,V]);const ke=R.useMemo(()=>{if(X){const Ii=P==null?void 0:P.find(nn=>nn.callId===X);if(Ii)return Ii}const ae=i==null?void 0:i.failedAction();if(ae)return ae;if(P!=null&&P.length){let Ii=P.length-1;for(let nn=0;nn<P.length;++nn)if(P[nn].title==="After Hooks"&&nn){Ii=nn-1;break}return P[Ii]}},[i,P,X]),At=R.useMemo(()=>he||ke,[ke,he]),fe=R.useCallback(ae=>{Z(ae),be(void 0)},[Z,be]),{boundaries:Ne}=R.useMemo(()=>{const ae={minimum:(i==null?void 0:i.startTime)||0,maximum:(i==null?void 0:i.endTime)||3e4};return ae.minimum>ae.maximum&&(ae.minimum=0,ae.maximum=3e4),ae.maximum+=(ae.maximum-ae.minimum)/20,{boundaries:ae}},[i]),qe=IC(P||[],ke,fe,L,Ne),Ee=R.useCallback(ae=>{A(ae),ae!=="inspector"&&Y(!1)},[A]),Kt=R.useCallback(ae=>{!M&&ae&&Ee("inspector"),Y(ae)},[Y,Ee,M]),en=R.useCallback(ae=>{_e(ae),Ee("inspector")},[Ee]),tn=R.useCallback(ae=>{Ee("attachments"),ge({callId:ae})},[Ee,ge]);R.useEffect(()=>{S&&Ee("source")},[S,Ee]);const qi=P_(i,L),ws=EE(i,L),ai=X_(i),Br=R.useMemo(()=>{var ae;return te!==void 0?(ae=ai.errors.get(te))==null?void 0:ae.stack:At==null?void 0:At.stack},[At,te,ai]),li=(i==null?void 0:i.sdkLanguage)||"javascript",Bc={id:"inspector",title:"Locator",render:()=>v.jsx(f2,{sdkLanguage:li,isInspecting:M,setIsInspecting:Kt,highlightedElement:xe,setHighlightedElement:_e})},Ct={id:"call",title:"Call",render:()=>v.jsx(S_,{action:At,startTimeOffset:(i==null?void 0:i.startTime)??0,sdkLanguage:li})},qc={id:"log",title:"Log",render:()=>v.jsx(__,{action:At,isLive:u})},gl={id:"errors",title:"Errors",errorCount:ai.errors.size,render:()=>v.jsx(F_,{errorsModel:ai,testRunMetadata:w,sdkLanguage:li,revealInSource:ae=>{ae.action?Z(ae.action):V(ae.message),Ee("source")},wallTime:(i==null?void 0:i.wallTime)??0})};let qr;!ke&&o&&(qr=(yl=o.source)==null?void 0:yl.errors.length);const oi={id:"source",title:"Source",errorCount:qr,render:()=>v.jsx(t2,{stack:Br,sources:lt,rootDir:l,stackFrameLocation:N==="bottom"?"right":"bottom",fallbackLocation:o,onOpenExternally:m})},$c={id:"console",title:"Console",count:qi.entries.length,render:()=>v.jsx(J_,{consoleModel:qi,boundaries:Ne,selectedTime:L,onAccepted:ae=>B({minimum:ae.timestamp,maximum:ae.timestamp})})},ml={id:"network",title:"Network",count:ws.resources.length,render:()=>v.jsx(TE,{boundaries:Ne,networkModel:ws,sdkLanguage:(i==null?void 0:i.sdkLanguage)??"javascript"})},Ic={id:"attachments",title:"Attachments",count:i==null?void 0:i.visibleAttachments.length,render:()=>v.jsx(V_,{revealedAttachmentCallId:W})},$i=[Bc,Ct,qc,gl,$c,ml,oi,Ic];if(g!==void 0){const ae={id:"annotations",title:"Annotations",count:g.length,render:()=>v.jsx(u2,{annotations:g})};$i.push(ae)}if(r){const ae=$i.indexOf(oi);$i.splice(ae,1),$i.splice(1,0,oi)}let Tn=0;!u&&i&&i.endTime>=0?Tn=i.endTime-i.startTime:i&&i.wallTime&&(Tn=Date.now()-i.wallTime);const Nt={id:"actions",title:"Actions",component:v.jsxs("div",{className:"vbox",children:[d&&v.jsxs("div",{className:"workbench-run-status","data-testid":"workbench-run-status",children:[v.jsx("span",{className:at("codicon",q0(d))}),v.jsx("div",{children:y_(d)}),v.jsx("div",{className:"spacer"}),v.jsx("div",{className:"workbench-run-duration",children:Tn?St(Tn):""})]}),v.jsx("div",{className:"workbench-action-filter",children:v.jsx("input",{type:"search",placeholder:"Filter actions","aria-label":"Filter actions",spellCheck:!1,value:J,onChange:ae=>re(ae.target.value)})}),v.jsx(v_,{sdkLanguage:li,actions:P||[],selectedAction:i?ke:void 0,selectedTime:L,setSelectedTime:B,treeState:Ue,setTreeState:I,onSelected:fe,onHighlighted:be,revealActionAttachment:tn,revealConsole:()=>Ee("console"),isLive:u,actionFilterText:J})]})},An={id:"metadata",title:"Metadata",component:v.jsx(c2,{model:i})},kt=E==="actions"&&v.jsx(y2,{counters:i==null?void 0:i.actionCounters,hiddenActionsCount:oe});return v.jsxs("div",{className:"vbox workbench",...b?{inert:!0}:{},children:[!f&&v.jsx(l2,{model:i,boundaries:Ne,onSelected:fe,sdkLanguage:li,selectedTime:L,setSelectedTime:B,scrubber:v.jsx(GC,{playback:qe})}),v.jsx(sc,{sidebarSize:250,orientation:N==="bottom"?"vertical":"horizontal",settingName:"propertiesSidebar",main:v.jsx(sc,{sidebarSize:250,orientation:"horizontal",sidebarIsFirst:!0,settingName:"actionListSidebar",main:v.jsx(KC,{action:At,model:i,sdkLanguage:li,testIdAttributeName:(i==null?void 0:i.testIdAttributeName)||"data-testid",isInspecting:M,setIsInspecting:Kt,highlightedElement:xe,setHighlightedElement:en,playback:qe}),sidebar:v.jsx(Rh,{tabs:[Nt,An],rightToolbar:[kt],selectedTab:E,setSelectedTab:x})}),sidebar:v.jsx(Rh,{tabs:$i,selectedTab:_,setSelectedTab:Ee,rightToolbar:[N==="bottom"?v.jsx(ft,{title:"Dock to right",icon:"layout-sidebar-right-off",onClick:()=>{$("right")}}):v.jsx(ft,{title:"Dock to bottom",icon:"layout-panel-off",onClick:()=>{$("bottom")}})],mode:N==="bottom"?"default":"select"})})]})},y2=({counters:n,hiddenActionsCount:e})=>{const[i,r]=Gt("actionsFilter",[]),l=R.useRef(null),o=v.jsxs(v.Fragment,{children:[e>0&&v.jsxs("span",{className:"workbench-actions-hidden-count",title:e+" actions hidden by filters",children:[e," hidden"]}),v.jsx("span",{ref:l,className:"codicon codicon-filter"})]});return v.jsx(p2,{title:"Filter actions",dialogDataTestId:"actions-filter-dialog",buttonChildren:o,anchorRef:l,children:v.jsx(KS,{settings:[{type:"check",value:i.includes("getter"),set:u=>r(u?[...i,"getter"]:i.filter(f=>f!=="getter")),name:"Getters",count:n==null?void 0:n.get("getter")},{type:"check",value:i.includes("route"),set:u=>r(u?[...i,"route"]:i.filter(f=>f!=="route")),name:"Network routes",count:n==null?void 0:n.get("route")},{type:"check",value:i.includes("configuration"),set:u=>r(u?[...i,"configuration"]:i.filter(f=>f!=="configuration")),name:"Configuration",count:n==null?void 0:n.get("configuration")}]})})};function b2(n){if(!n)return"default";const e=new URL(n,"http://localhost");return e.searchParams.delete("timestamp"),e.toString()}var n0;(n=>{function e(i){for(const r of i.splice(0))r.dispose()}n.disposeAll=e})(n0||(n0={}));class hr{constructor(){this._listeners=new Set,this.event=(e,i)=>{this._listeners.add(e);let r=!1;const l=this,o={dispose(){r||(r=!0,l._listeners.delete(e))}};return i&&i.push(o),o}}fire(e){const i=!this._deliveryQueue;this._deliveryQueue||(this._deliveryQueue=[]);for(const r of this._listeners)this._deliveryQueue.push({listener:r,event:e});if(i){for(let r=0;r<this._deliveryQueue.length;r++){const{listener:l,event:o}=this._deliveryQueue[r];l.call(null,o)}this._deliveryQueue=void 0}}dispose(){this._listeners.clear(),this._deliveryQueue&&(this._deliveryQueue=[])}}class v2 extends Error{}class N2{constructor(e){this._ws=new WebSocket(e)}onmessage(e){this._ws.addEventListener("message",i=>e(i.data.toString()))}onopen(e){this._ws.addEventListener("open",e)}onerror(e){this._ws.addEventListener("error",e)}onclose(e){this._ws.addEventListener("close",e)}send(e){this._ws.send(e)}close(){this._ws.close()}}class k2{constructor(e){this._onCloseEmitter=new hr,this._onReportEmitter=new hr,this._onStdioEmitter=new hr,this._onTestFilesChangedEmitter=new hr,this._onLoadTraceRequestedEmitter=new hr,this._onTestPausedEmitter=new hr,this._lastId=0,this._callbacks=new Map,this._isClosed=!1,this.onClose=this._onCloseEmitter.event,this.onReport=this._onReportEmitter.event,this.onStdio=this._onStdioEmitter.event,this.onTestFilesChanged=this._onTestFilesChangedEmitter.event,this.onLoadTraceRequested=this._onLoadTraceRequestedEmitter.event,this.onTestPaused=this._onTestPausedEmitter.event,this._transport=e,this._transport.onmessage(r=>{const l=JSON.parse(r),{id:o,result:u,error:f,method:d,params:g}=l;if(o){const b=this._callbacks.get(o);if(!b)return;this._callbacks.delete(o),f?b.reject(new Error(f)):b.resolve(u)}else this._dispatchEvent(d,g)});const i=setInterval(()=>this._sendMessage("ping").catch(()=>{}),3e4);this._connectedPromise=new Promise((r,l)=>{this._transport.onopen(r),this._transport.onerror(l)}),this._transport.onclose(()=>{this._isClosed=!0,this._onCloseEmitter.fire(),clearInterval(i);for(const r of this._callbacks.values())r.reject(r.error);this._callbacks.clear()})}isClosed(){return this._isClosed}async _sendMessage(e,i){const r=globalThis.__logForTest;r==null||r({method:e,params:i}),await this._connectedPromise;const l=++this._lastId,o={id:l,method:e,params:i},u=new v2(`${e}: test server connection closed`);return this._transport.send(JSON.stringify(o)),new Promise((f,d)=>{this._callbacks.set(l,{resolve:f,reject:d,error:u})})}_sendMessageNoReply(e,i){this._sendMessage(e,i).catch(()=>{})}_dispatchEvent(e,i){e==="report"?this._onReportEmitter.fire(i):e==="stdio"?this._onStdioEmitter.fire(i):e==="testFilesChanged"?this._onTestFilesChangedEmitter.fire(i):e==="loadTraceRequested"?this._onLoadTraceRequestedEmitter.fire(i):e==="testPaused"&&this._onTestPausedEmitter.fire(i)}async initialize(e){await this._sendMessage("initialize",e)}async ping(e){await this._sendMessage("ping",e)}async pingNoReply(e){this._sendMessageNoReply("ping",e)}async watch(e){await this._sendMessage("watch",e)}watchNoReply(e){this._sendMessageNoReply("watch",e)}async open(e){await this._sendMessage("open",e)}openNoReply(e){this._sendMessageNoReply("open",e)}async resizeTerminal(e){await this._sendMessage("resizeTerminal",e)}resizeTerminalNoReply(e){this._sendMessageNoReply("resizeTerminal",e)}async checkBrowsers(e){return await this._sendMessage("checkBrowsers",e)}async installBrowsers(e){await this._sendMessage("installBrowsers",e)}async runGlobalSetup(e){return await this._sendMessage("runGlobalSetup",e)}async runGlobalTeardown(e){return await this._sendMessage("runGlobalTeardown",e)}async clearCache(e){return await this._sendMessage("clearCache",e)}async listFiles(e){return await this._sendMessage("listFiles",e)}async listTests(e){return await this._sendMessage("listTests",e)}async runTests(e){return await this._sendMessage("runTests",e)}async findRelatedTestFiles(e){return await this._sendMessage("findRelatedTestFiles",e)}async stopTests(e){await this._sendMessage("stopTests",e)}stopTestsNoReply(e){this._sendMessageNoReply("stopTests",e)}async closeGracefully(e){await this._sendMessage("closeGracefully",e)}close(){try{this._transport.close()}catch{}}}const M2=({location:n})=>{const[e,i]=Gt("shouldPopulateCanvasFromScreenshot",!1),[r,l]=mx(),[o,u]=Gt("mergeFiles",!1);return v.jsx(KS,{settings:[{type:"select",value:r,set:l,name:"Theme",options:px},...n==="ui-mode"?[{type:"check",value:o,set:u,name:"Merge files"}]:[],{type:"check",value:e,set:i,name:"Display canvas content",title:"Attempt to display the captured canvas appearance in the snapshot preview. May not be accurate."}]})};export{p2 as D,V0 as E,wt as R,sc as S,T2 as T,N2 as W,j_ as _,k2 as a,M2 as b,C2 as c,h2 as d,w2 as e,E2 as f,gx as g,x2 as h,_2 as i,v as j,at as k,g_ as l,St as m,Sc as n,ft as o,Gt as p,KS as q,R as r,us as s,q0 as t,ys as u,ax as v};
node_modules/playwright-core/lib/vite/traceViewer/assets/urlMatch-BYQrIQwR.js deleted
-1
@@ -1 +0,0 @@
1 -(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const e of document.querySelectorAll('link[rel="modulepreload"]'))s(e);new MutationObserver(e=>{for(const t of e)if(t.type==="childList")for(const o of t.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&s(o)}).observe(document,{childList:!0,subtree:!0});function n(e){const t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin==="use-credentials"?t.credentials="include":e.crossOrigin==="anonymous"?t.credentials="omit":t.credentials="same-origin",t}function s(e){if(e.ep)return;e.ep=!0;const t=n(e);fetch(e.href,t)}})();function c(i,r){try{return["http:","https:"].includes(new URL(i,r).protocol)}catch{return!1}}export{c as i};
node_modules/playwright-core/lib/vite/traceViewer/assets/xtermModule-CsJ4vdCR.js deleted
-9
@@ -1,9 +0,0 @@
1 -var fe={exports:{}},pe;function be(){return pe||(pe=1,(function(ce,Se){(function(ie,Y){ce.exports=Y()})(globalThis,(()=>(()=>{var ie={4567:function(O,r,a){var l=this&&this.__decorate||function(e,t,o,f){var u,p=arguments.length,c=p<3?t:f===null?f=Object.getOwnPropertyDescriptor(t,o):f;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")c=Reflect.decorate(e,t,o,f);else for(var m=e.length-1;m>=0;m--)(u=e[m])&&(c=(p<3?u(c):p>3?u(t,o,c):u(t,o))||c);return p>3&&c&&Object.defineProperty(t,o,c),c},_=this&&this.__param||function(e,t){return function(o,f){t(o,f,e)}};Object.defineProperty(r,"__esModule",{value:!0}),r.AccessibilityManager=void 0;const n=a(9042),d=a(9924),v=a(844),g=a(4725),h=a(2585),i=a(3656);let s=r.AccessibilityManager=class extends v.Disposable{constructor(e,t,o,f){super(),this._terminal=e,this._coreBrowserService=o,this._renderService=f,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce="",this._accessibilityContainer=this._coreBrowserService.mainDocument.createElement("div"),this._accessibilityContainer.classList.add("xterm-accessibility"),this._rowContainer=this._coreBrowserService.mainDocument.createElement("div"),this._rowContainer.setAttribute("role","list"),this._rowContainer.classList.add("xterm-accessibility-tree"),this._rowElements=[];for(let u=0;u<this._terminal.rows;u++)this._rowElements[u]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[u]);if(this._topBoundaryFocusListener=u=>this._handleBoundaryFocus(u,0),this._bottomBoundaryFocusListener=u=>this._handleBoundaryFocus(u,1),this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions(),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=this._coreBrowserService.mainDocument.createElement("div"),this._liveRegion.classList.add("live-region"),this._liveRegion.setAttribute("aria-live","assertive"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this.register(new d.TimeBasedDebouncer(this._renderRows.bind(this))),!this._terminal.element)throw new Error("Cannot enable accessibility before Terminal.open");this._terminal.element.insertAdjacentElement("afterbegin",this._accessibilityContainer),this.register(this._terminal.onResize((u=>this._handleResize(u.rows)))),this.register(this._terminal.onRender((u=>this._refreshRows(u.start,u.end)))),this.register(this._terminal.onScroll((()=>this._refreshRows()))),this.register(this._terminal.onA11yChar((u=>this._handleChar(u)))),this.register(this._terminal.onLineFeed((()=>this._handleChar(`
2 -`)))),this.register(this._terminal.onA11yTab((u=>this._handleTab(u)))),this.register(this._terminal.onKey((u=>this._handleKey(u.key)))),this.register(this._terminal.onBlur((()=>this._clearLiveRegion()))),this.register(this._renderService.onDimensionsChange((()=>this._refreshRowsDimensions()))),this.register((0,i.addDisposableDomListener)(document,"selectionchange",(()=>this._handleSelectionChange()))),this.register(this._coreBrowserService.onDprChange((()=>this._refreshRowsDimensions()))),this._refreshRows(),this.register((0,v.toDisposable)((()=>{this._accessibilityContainer.remove(),this._rowElements.length=0})))}_handleTab(e){for(let t=0;t<e;t++)this._handleChar(" ")}_handleChar(e){this._liveRegionLineCount<21&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==e&&(this._charsToAnnounce+=e):this._charsToAnnounce+=e,e===`
3 -`&&(this._liveRegionLineCount++,this._liveRegionLineCount===21&&(this._liveRegion.textContent+=n.tooMuchOutput)))}_clearLiveRegion(){this._liveRegion.textContent="",this._liveRegionLineCount=0}_handleKey(e){this._clearLiveRegion(),new RegExp("\\p{Control}","u").test(e)||this._charsToConsume.push(e)}_refreshRows(e,t){this._liveRegionDebouncer.refresh(e,t,this._terminal.rows)}_renderRows(e,t){const o=this._terminal.buffer,f=o.lines.length.toString();for(let u=e;u<=t;u++){const p=o.lines.get(o.ydisp+u),c=[],m=(p==null?void 0:p.translateToString(!0,void 0,void 0,c))||"",y=(o.ydisp+u+1).toString(),k=this._rowElements[u];k&&(m.length===0?(k.innerText=" ",this._rowColumns.set(k,[0,1])):(k.textContent=m,this._rowColumns.set(k,c)),k.setAttribute("aria-posinset",y),k.setAttribute("aria-setsize",f))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce="")}_handleBoundaryFocus(e,t){const o=e.target,f=this._rowElements[t===0?1:this._rowElements.length-2];if(o.getAttribute("aria-posinset")===(t===0?"1":`${this._terminal.buffer.lines.length}`)||e.relatedTarget!==f)return;let u,p;if(t===0?(u=o,p=this._rowElements.pop(),this._rowContainer.removeChild(p)):(u=this._rowElements.shift(),p=o,this._rowContainer.removeChild(u)),u.removeEventListener("focus",this._topBoundaryFocusListener),p.removeEventListener("focus",this._bottomBoundaryFocusListener),t===0){const c=this._createAccessibilityTreeNode();this._rowElements.unshift(c),this._rowContainer.insertAdjacentElement("afterbegin",c)}else{const c=this._createAccessibilityTreeNode();this._rowElements.push(c),this._rowContainer.appendChild(c)}this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._terminal.scrollLines(t===0?-1:1),this._rowElements[t===0?1:this._rowElements.length-2].focus(),e.preventDefault(),e.stopImmediatePropagation()}_handleSelectionChange(){var m;if(this._rowElements.length===0)return;const e=document.getSelection();if(!e)return;if(e.isCollapsed)return void(this._rowContainer.contains(e.anchorNode)&&this._terminal.clearSelection());if(!e.anchorNode||!e.focusNode)return void console.error("anchorNode and/or focusNode are null");let t={node:e.anchorNode,offset:e.anchorOffset},o={node:e.focusNode,offset:e.focusOffset};if((t.node.compareDocumentPosition(o.node)&Node.DOCUMENT_POSITION_PRECEDING||t.node===o.node&&t.offset>o.offset)&&([t,o]=[o,t]),t.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(t={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(t.node))return;const f=this._rowElements.slice(-1)[0];if(o.node.compareDocumentPosition(f)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(o={node:f,offset:((m=f.textContent)==null?void 0:m.length)??0}),!this._rowContainer.contains(o.node))return;const u=({node:y,offset:k})=>{const L=y instanceof Text?y.parentNode:y;let w=parseInt(L==null?void 0:L.getAttribute("aria-posinset"),10)-1;if(isNaN(w))return console.warn("row is invalid. Race condition?"),null;const x=this._rowColumns.get(L);if(!x)return console.warn("columns is null. Race condition?"),null;let B=k<x.length?x[k]:x.slice(-1)[0]+1;return B>=this._terminal.cols&&(++w,B=0),{row:w,column:B}},p=u(t),c=u(o);if(p&&c){if(p.row>c.row||p.row===c.row&&p.column>=c.column)throw new Error("invalid range");this._terminal.select(p.column,p.row,(c.row-p.row)*this._terminal.cols-p.column+c.column)}}_handleResize(e){this._rowElements[this._rowElements.length-1].removeEventListener("focus",this._bottomBoundaryFocusListener);for(let t=this._rowContainer.children.length;t<this._terminal.rows;t++)this._rowElements[t]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[t]);for(;this._rowElements.length>e;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){const e=this._coreBrowserService.mainDocument.createElement("div");return e.setAttribute("role","listitem"),e.tabIndex=-1,this._refreshRowDimensions(e),e}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){this._accessibilityContainer.style.width=`${this._renderService.dimensions.css.canvas.width}px`,this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let e=0;e<this._terminal.rows;e++)this._refreshRowDimensions(this._rowElements[e])}}_refreshRowDimensions(e){e.style.height=`${this._renderService.dimensions.css.cell.height}px`}};r.AccessibilityManager=s=l([_(1,h.IInstantiationService),_(2,g.ICoreBrowserService),_(3,g.IRenderService)],s)},3614:(O,r)=>{function a(d){return d.replace(/\r?\n/g,"\r")}function l(d,v){return v?"\x1B[200~"+d+"\x1B[201~":d}function _(d,v,g,h){d=l(d=a(d),g.decPrivateModes.bracketedPasteMode&&h.rawOptions.ignoreBracketedPasteMode!==!0),g.triggerDataEvent(d,!0),v.value=""}function n(d,v,g){const h=g.getBoundingClientRect(),i=d.clientX-h.left-10,s=d.clientY-h.top-10;v.style.width="20px",v.style.height="20px",v.style.left=`${i}px`,v.style.top=`${s}px`,v.style.zIndex="1000",v.focus()}Object.defineProperty(r,"__esModule",{value:!0}),r.rightClickHandler=r.moveTextAreaUnderMouseCursor=r.paste=r.handlePasteEvent=r.copyHandler=r.bracketTextForPaste=r.prepareTextForTerminal=void 0,r.prepareTextForTerminal=a,r.bracketTextForPaste=l,r.copyHandler=function(d,v){d.clipboardData&&d.clipboardData.setData("text/plain",v.selectionText),d.preventDefault()},r.handlePasteEvent=function(d,v,g,h){d.stopPropagation(),d.clipboardData&&_(d.clipboardData.getData("text/plain"),v,g,h)},r.paste=_,r.moveTextAreaUnderMouseCursor=n,r.rightClickHandler=function(d,v,g,h,i){n(d,v,g),i&&h.rightClickSelect(d),v.value=h.selectionText,v.select()}},7239:(O,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.ColorContrastCache=void 0;const l=a(1505);r.ColorContrastCache=class{constructor(){this._color=new l.TwoKeyMap,this._css=new l.TwoKeyMap}setCss(_,n,d){this._css.set(_,n,d)}getCss(_,n){return this._css.get(_,n)}setColor(_,n,d){this._color.set(_,n,d)}getColor(_,n){return this._color.get(_,n)}clear(){this._color.clear(),this._css.clear()}}},3656:(O,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.addDisposableDomListener=void 0,r.addDisposableDomListener=function(a,l,_,n){a.addEventListener(l,_,n);let d=!1;return{dispose:()=>{d||(d=!0,a.removeEventListener(l,_,n))}}}},3551:function(O,r,a){var l=this&&this.__decorate||function(s,e,t,o){var f,u=arguments.length,p=u<3?e:o===null?o=Object.getOwnPropertyDescriptor(e,t):o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")p=Reflect.decorate(s,e,t,o);else for(var c=s.length-1;c>=0;c--)(f=s[c])&&(p=(u<3?f(p):u>3?f(e,t,p):f(e,t))||p);return u>3&&p&&Object.defineProperty(e,t,p),p},_=this&&this.__param||function(s,e){return function(t,o){e(t,o,s)}};Object.defineProperty(r,"__esModule",{value:!0}),r.Linkifier=void 0;const n=a(3656),d=a(8460),v=a(844),g=a(2585),h=a(4725);let i=r.Linkifier=class extends v.Disposable{get currentLink(){return this._currentLink}constructor(s,e,t,o,f){super(),this._element=s,this._mouseService=e,this._renderService=t,this._bufferService=o,this._linkProviderService=f,this._linkCacheDisposables=[],this._isMouseOut=!0,this._wasResized=!1,this._activeLine=-1,this._onShowLinkUnderline=this.register(new d.EventEmitter),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this.register(new d.EventEmitter),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this.register((0,v.getDisposeArrayDisposable)(this._linkCacheDisposables)),this.register((0,v.toDisposable)((()=>{var u;this._lastMouseEvent=void 0,(u=this._activeProviderReplies)==null||u.clear()}))),this.register(this._bufferService.onResize((()=>{this._clearCurrentLink(),this._wasResized=!0}))),this.register((0,n.addDisposableDomListener)(this._element,"mouseleave",(()=>{this._isMouseOut=!0,this._clearCurrentLink()}))),this.register((0,n.addDisposableDomListener)(this._element,"mousemove",this._handleMouseMove.bind(this))),this.register((0,n.addDisposableDomListener)(this._element,"mousedown",this._handleMouseDown.bind(this))),this.register((0,n.addDisposableDomListener)(this._element,"mouseup",this._handleMouseUp.bind(this)))}_handleMouseMove(s){this._lastMouseEvent=s;const e=this._positionFromMouseEvent(s,this._element,this._mouseService);if(!e)return;this._isMouseOut=!1;const t=s.composedPath();for(let o=0;o<t.length;o++){const f=t[o];if(f.classList.contains("xterm"))break;if(f.classList.contains("xterm-hover"))return}this._lastBufferCell&&e.x===this._lastBufferCell.x&&e.y===this._lastBufferCell.y||(this._handleHover(e),this._lastBufferCell=e)}_handleHover(s){if(this._activeLine!==s.y||this._wasResized)return this._clearCurrentLink(),this._askForLink(s,!1),void(this._wasResized=!1);this._currentLink&&this._linkAtPosition(this._currentLink.link,s)||(this._clearCurrentLink(),this._askForLink(s,!0))}_askForLink(s,e){var o,f;this._activeProviderReplies&&e||((o=this._activeProviderReplies)==null||o.forEach((u=>{u==null||u.forEach((p=>{p.link.dispose&&p.link.dispose()}))})),this._activeProviderReplies=new Map,this._activeLine=s.y);let t=!1;for(const[u,p]of this._linkProviderService.linkProviders.entries())e?(f=this._activeProviderReplies)!=null&&f.get(u)&&(t=this._checkLinkProviderResult(u,s,t)):p.provideLinks(s.y,(c=>{var y,k;if(this._isMouseOut)return;const m=c==null?void 0:c.map((L=>({link:L})));(y=this._activeProviderReplies)==null||y.set(u,m),t=this._checkLinkProviderResult(u,s,t),((k=this._activeProviderReplies)==null?void 0:k.size)===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(s.y,this._activeProviderReplies)}))}_removeIntersectingLinks(s,e){const t=new Set;for(let o=0;o<e.size;o++){const f=e.get(o);if(f)for(let u=0;u<f.length;u++){const p=f[u],c=p.link.range.start.y<s?0:p.link.range.start.x,m=p.link.range.end.y>s?this._bufferService.cols:p.link.range.end.x;for(let y=c;y<=m;y++){if(t.has(y)){f.splice(u--,1);break}t.add(y)}}}}_checkLinkProviderResult(s,e,t){var u;if(!this._activeProviderReplies)return t;const o=this._activeProviderReplies.get(s);let f=!1;for(let p=0;p<s;p++)this._activeProviderReplies.has(p)&&!this._activeProviderReplies.get(p)||(f=!0);if(!f&&o){const p=o.find((c=>this._linkAtPosition(c.link,e)));p&&(t=!0,this._handleNewLink(p))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!t)for(let p=0;p<this._activeProviderReplies.size;p++){const c=(u=this._activeProviderReplies.get(p))==null?void 0:u.find((m=>this._linkAtPosition(m.link,e)));if(c){t=!0,this._handleNewLink(c);break}}return t}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(s){if(!this._currentLink)return;const e=this._positionFromMouseEvent(s,this._element,this._mouseService);e&&this._mouseDownLink===this._currentLink&&this._linkAtPosition(this._currentLink.link,e)&&this._currentLink.link.activate(s,this._currentLink.link.text)}_clearCurrentLink(s,e){this._currentLink&&this._lastMouseEvent&&(!s||!e||this._currentLink.link.range.start.y>=s&&this._currentLink.link.range.end.y<=e)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,(0,v.disposeArray)(this._linkCacheDisposables))}_handleNewLink(s){if(!this._lastMouseEvent)return;const e=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);e&&this._linkAtPosition(s.link,e)&&(this._currentLink=s,this._currentLink.state={decorations:{underline:s.link.decorations===void 0||s.link.decorations.underline,pointerCursor:s.link.decorations===void 0||s.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,s.link,this._lastMouseEvent),s.link.decorations={},Object.defineProperties(s.link.decorations,{pointerCursor:{get:()=>{var t,o;return(o=(t=this._currentLink)==null?void 0:t.state)==null?void 0:o.decorations.pointerCursor},set:t=>{var o;(o=this._currentLink)!=null&&o.state&&this._currentLink.state.decorations.pointerCursor!==t&&(this._currentLink.state.decorations.pointerCursor=t,this._currentLink.state.isHovered&&this._element.classList.toggle("xterm-cursor-pointer",t))}},underline:{get:()=>{var t,o;return(o=(t=this._currentLink)==null?void 0:t.state)==null?void 0:o.decorations.underline},set:t=>{var o,f,u;(o=this._currentLink)!=null&&o.state&&((u=(f=this._currentLink)==null?void 0:f.state)==null?void 0:u.decorations.underline)!==t&&(this._currentLink.state.decorations.underline=t,this._currentLink.state.isHovered&&this._fireUnderlineEvent(s.link,t))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange((t=>{if(!this._currentLink)return;const o=t.start===0?0:t.start+1+this._bufferService.buffer.ydisp,f=this._bufferService.buffer.ydisp+1+t.end;if(this._currentLink.link.range.start.y>=o&&this._currentLink.link.range.end.y<=f&&(this._clearCurrentLink(o,f),this._lastMouseEvent)){const u=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);u&&this._askForLink(u,!1)}}))))}_linkHover(s,e,t){var o;(o=this._currentLink)!=null&&o.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(e,!0),this._currentLink.state.decorations.pointerCursor&&s.classList.add("xterm-cursor-pointer")),e.hover&&e.hover(t,e.text)}_fireUnderlineEvent(s,e){const t=s.range,o=this._bufferService.buffer.ydisp,f=this._createLinkUnderlineEvent(t.start.x-1,t.start.y-o-1,t.end.x,t.end.y-o-1,void 0);(e?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(f)}_linkLeave(s,e,t){var o;(o=this._currentLink)!=null&&o.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(e,!1),this._currentLink.state.decorations.pointerCursor&&s.classList.remove("xterm-cursor-pointer")),e.leave&&e.leave(t,e.text)}_linkAtPosition(s,e){const t=s.range.start.y*this._bufferService.cols+s.range.start.x,o=s.range.end.y*this._bufferService.cols+s.range.end.x,f=e.y*this._bufferService.cols+e.x;return t<=f&&f<=o}_positionFromMouseEvent(s,e,t){const o=t.getCoords(s,e,this._bufferService.cols,this._bufferService.rows);if(o)return{x:o[0],y:o[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(s,e,t,o,f){return{x1:s,y1:e,x2:t,y2:o,cols:this._bufferService.cols,fg:f}}};r.Linkifier=i=l([_(1,h.IMouseService),_(2,h.IRenderService),_(3,g.IBufferService),_(4,h.ILinkProviderService)],i)},9042:(O,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.tooMuchOutput=r.promptLabel=void 0,r.promptLabel="Terminal input",r.tooMuchOutput="Too much output to announce, navigate to rows manually to read"},3730:function(O,r,a){var l=this&&this.__decorate||function(h,i,s,e){var t,o=arguments.length,f=o<3?i:e===null?e=Object.getOwnPropertyDescriptor(i,s):e;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")f=Reflect.decorate(h,i,s,e);else for(var u=h.length-1;u>=0;u--)(t=h[u])&&(f=(o<3?t(f):o>3?t(i,s,f):t(i,s))||f);return o>3&&f&&Object.defineProperty(i,s,f),f},_=this&&this.__param||function(h,i){return function(s,e){i(s,e,h)}};Object.defineProperty(r,"__esModule",{value:!0}),r.OscLinkProvider=void 0;const n=a(511),d=a(2585);let v=r.OscLinkProvider=class{constructor(h,i,s){this._bufferService=h,this._optionsService=i,this._oscLinkService=s}provideLinks(h,i){var m;const s=this._bufferService.buffer.lines.get(h-1);if(!s)return void i(void 0);const e=[],t=this._optionsService.rawOptions.linkHandler,o=new n.CellData,f=s.getTrimmedLength();let u=-1,p=-1,c=!1;for(let y=0;y<f;y++)if(p!==-1||s.hasContent(y)){if(s.loadCell(y,o),o.hasExtendedAttrs()&&o.extended.urlId){if(p===-1){p=y,u=o.extended.urlId;continue}c=o.extended.urlId!==u}else p!==-1&&(c=!0);if(c||p!==-1&&y===f-1){const k=(m=this._oscLinkService.getLinkData(u))==null?void 0:m.uri;if(k){const L={start:{x:p+1,y:h},end:{x:y+(c||y!==f-1?0:1),y:h}};let w=!1;if(!(t!=null&&t.allowNonHttpProtocols))try{const x=new URL(k);["http:","https:"].includes(x.protocol)||(w=!0)}catch{w=!0}w||e.push({text:k,range:L,activate:(x,B)=>t?t.activate(x,B,L):g(0,B),hover:(x,B)=>{var P;return(P=t==null?void 0:t.hover)==null?void 0:P.call(t,x,B,L)},leave:(x,B)=>{var P;return(P=t==null?void 0:t.leave)==null?void 0:P.call(t,x,B,L)}})}c=!1,o.hasExtendedAttrs()&&o.extended.urlId?(p=y,u=o.extended.urlId):(p=-1,u=-1)}}i(e)}};function g(h,i){if(confirm(`Do you want to navigate to ${i}?
4 -
5 -WARNING: This link could potentially be dangerous`)){const s=window.open();if(s){try{s.opener=null}catch{}s.location.href=i}else console.warn("Opening link blocked as opener could not be cleared")}}r.OscLinkProvider=v=l([_(0,d.IBufferService),_(1,d.IOptionsService),_(2,d.IOscLinkService)],v)},6193:(O,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.RenderDebouncer=void 0,r.RenderDebouncer=class{constructor(a,l){this._renderCallback=a,this._coreBrowserService=l,this._refreshCallbacks=[]}dispose(){this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}addRefreshCallback(a){return this._refreshCallbacks.push(a),this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>this._innerRefresh()))),this._animationFrame}refresh(a,l,_){this._rowCount=_,a=a!==void 0?a:0,l=l!==void 0?l:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,a):a,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,l):l,this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>this._innerRefresh())))}_innerRefresh(){if(this._animationFrame=void 0,this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return void this._runRefreshCallbacks();const a=Math.max(this._rowStart,0),l=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(a,l),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(const a of this._refreshCallbacks)a(0);this._refreshCallbacks=[]}}},3236:(O,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.Terminal=void 0;const l=a(3614),_=a(3656),n=a(3551),d=a(9042),v=a(3730),g=a(1680),h=a(3107),i=a(5744),s=a(2950),e=a(1296),t=a(428),o=a(4269),f=a(5114),u=a(8934),p=a(3230),c=a(9312),m=a(4725),y=a(6731),k=a(8055),L=a(8969),w=a(8460),x=a(844),B=a(6114),P=a(8437),U=a(2584),I=a(7399),S=a(5941),b=a(9074),E=a(2585),D=a(5435),T=a(4567),H=a(779);class N extends L.CoreTerminal{get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}get onWillOpen(){return this._onWillOpen.event}constructor(R={}){super(R),this.browser=B,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this.register(new x.MutableDisposable),this._onCursorMove=this.register(new w.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onKey=this.register(new w.EventEmitter),this.onKey=this._onKey.event,this._onRender=this.register(new w.EventEmitter),this.onRender=this._onRender.event,this._onSelectionChange=this.register(new w.EventEmitter),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this.register(new w.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onBell=this.register(new w.EventEmitter),this.onBell=this._onBell.event,this._onFocus=this.register(new w.EventEmitter),this._onBlur=this.register(new w.EventEmitter),this._onA11yCharEmitter=this.register(new w.EventEmitter),this._onA11yTabEmitter=this.register(new w.EventEmitter),this._onWillOpen=this.register(new w.EventEmitter),this._setup(),this._decorationService=this._instantiationService.createInstance(b.DecorationService),this._instantiationService.setService(E.IDecorationService,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(H.LinkProviderService),this._instantiationService.setService(m.ILinkProviderService,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(v.OscLinkProvider)),this.register(this._inputHandler.onRequestBell((()=>this._onBell.fire()))),this.register(this._inputHandler.onRequestRefreshRows(((C,M)=>this.refresh(C,M)))),this.register(this._inputHandler.onRequestSendFocus((()=>this._reportFocus()))),this.register(this._inputHandler.onRequestReset((()=>this.reset()))),this.register(this._inputHandler.onRequestWindowsOptionsReport((C=>this._reportWindowsOptions(C)))),this.register(this._inputHandler.onColor((C=>this._handleColorEvent(C)))),this.register((0,w.forwardEvent)(this._inputHandler.onCursorMove,this._onCursorMove)),this.register((0,w.forwardEvent)(this._inputHandler.onTitleChange,this._onTitleChange)),this.register((0,w.forwardEvent)(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this.register((0,w.forwardEvent)(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this.register(this._bufferService.onResize((C=>this._afterResize(C.cols,C.rows)))),this.register((0,x.toDisposable)((()=>{var C,M;this._customKeyEventHandler=void 0,(M=(C=this.element)==null?void 0:C.parentNode)==null||M.removeChild(this.element)})))}_handleColorEvent(R){if(this._themeService)for(const C of R){let M,A="";switch(C.index){case 256:M="foreground",A="10";break;case 257:M="background",A="11";break;case 258:M="cursor",A="12";break;default:M="ansi",A="4;"+C.index}switch(C.type){case 0:const W=k.color.toColorRGB(M==="ansi"?this._themeService.colors.ansi[C.index]:this._themeService.colors[M]);this.coreService.triggerDataEvent(`${U.C0.ESC}]${A};${(0,S.toRgbString)(W)}${U.C1_ESCAPED.ST}`);break;case 1:if(M==="ansi")this._themeService.modifyColors((F=>F.ansi[C.index]=k.channels.toColor(...C.color)));else{const F=M;this._themeService.modifyColors((z=>z[F]=k.channels.toColor(...C.color)))}break;case 2:this._themeService.restoreColor(C.index)}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(R){R?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(T.AccessibilityManager,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(R){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(U.C0.ESC+"[I"),this.element.classList.add("focus"),this._showCursor(),this._onFocus.fire()}blur(){var R;return(R=this.textarea)==null?void 0:R.blur()}_handleTextAreaBlur(){this.textarea.value="",this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(U.C0.ESC+"[O"),this.element.classList.remove("focus"),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;const R=this.buffer.ybase+this.buffer.y,C=this.buffer.lines.get(R);if(!C)return;const M=Math.min(this.buffer.x,this.cols-1),A=this._renderService.dimensions.css.cell.height,W=C.getWidth(M),F=this._renderService.dimensions.css.cell.width*W,z=this.buffer.y*this._renderService.dimensions.css.cell.height,q=M*this._renderService.dimensions.css.cell.width;this.textarea.style.left=q+"px",this.textarea.style.top=z+"px",this.textarea.style.width=F+"px",this.textarea.style.height=A+"px",this.textarea.style.lineHeight=A+"px",this.textarea.style.zIndex="-5"}_initGlobal(){this._bindKeys(),this.register((0,_.addDisposableDomListener)(this.element,"copy",(C=>{this.hasSelection()&&(0,l.copyHandler)(C,this._selectionService)})));const R=C=>(0,l.handlePasteEvent)(C,this.textarea,this.coreService,this.optionsService);this.register((0,_.addDisposableDomListener)(this.textarea,"paste",R)),this.register((0,_.addDisposableDomListener)(this.element,"paste",R)),B.isFirefox?this.register((0,_.addDisposableDomListener)(this.element,"mousedown",(C=>{C.button===2&&(0,l.rightClickHandler)(C,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)}))):this.register((0,_.addDisposableDomListener)(this.element,"contextmenu",(C=>{(0,l.rightClickHandler)(C,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)}))),B.isLinux&&this.register((0,_.addDisposableDomListener)(this.element,"auxclick",(C=>{C.button===1&&(0,l.moveTextAreaUnderMouseCursor)(C,this.textarea,this.screenElement)})))}_bindKeys(){this.register((0,_.addDisposableDomListener)(this.textarea,"keyup",(R=>this._keyUp(R)),!0)),this.register((0,_.addDisposableDomListener)(this.textarea,"keydown",(R=>this._keyDown(R)),!0)),this.register((0,_.addDisposableDomListener)(this.textarea,"keypress",(R=>this._keyPress(R)),!0)),this.register((0,_.addDisposableDomListener)(this.textarea,"compositionstart",(()=>this._compositionHelper.compositionstart()))),this.register((0,_.addDisposableDomListener)(this.textarea,"compositionupdate",(R=>this._compositionHelper.compositionupdate(R)))),this.register((0,_.addDisposableDomListener)(this.textarea,"compositionend",(()=>this._compositionHelper.compositionend()))),this.register((0,_.addDisposableDomListener)(this.textarea,"input",(R=>this._inputEvent(R)),!0)),this.register(this.onRender((()=>this._compositionHelper.updateCompositionElements())))}open(R){var M;if(!R)throw new Error("Terminal requires a parent element.");if(R.isConnected||this._logService.debug("Terminal.open was called on an element that was not attached to the DOM"),((M=this.element)==null?void 0:M.ownerDocument.defaultView)&&this._coreBrowserService)return void(this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView));this._document=R.ownerDocument,this.options.documentOverride&&this.options.documentOverride instanceof Document&&(this._document=this.optionsService.rawOptions.documentOverride),this.element=this._document.createElement("div"),this.element.dir="ltr",this.element.classList.add("terminal"),this.element.classList.add("xterm"),R.appendChild(this.element);const C=this._document.createDocumentFragment();this._viewportElement=this._document.createElement("div"),this._viewportElement.classList.add("xterm-viewport"),C.appendChild(this._viewportElement),this._viewportScrollArea=this._document.createElement("div"),this._viewportScrollArea.classList.add("xterm-scroll-area"),this._viewportElement.appendChild(this._viewportScrollArea),this.screenElement=this._document.createElement("div"),this.screenElement.classList.add("xterm-screen"),this.register((0,_.addDisposableDomListener)(this.screenElement,"mousemove",(A=>this.updateCursorStyle(A)))),this._helperContainer=this._document.createElement("div"),this._helperContainer.classList.add("xterm-helpers"),this.screenElement.appendChild(this._helperContainer),C.appendChild(this.screenElement),this.textarea=this._document.createElement("textarea"),this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("aria-label",d.promptLabel),B.isChromeOS||this.textarea.setAttribute("aria-multiline","false"),this.textarea.setAttribute("autocorrect","off"),this.textarea.setAttribute("autocapitalize","off"),this.textarea.setAttribute("spellcheck","false"),this.textarea.tabIndex=0,this._coreBrowserService=this.register(this._instantiationService.createInstance(f.CoreBrowserService,this.textarea,R.ownerDocument.defaultView??window,this._document??typeof window<"u"?window.document:null)),this._instantiationService.setService(m.ICoreBrowserService,this._coreBrowserService),this.register((0,_.addDisposableDomListener)(this.textarea,"focus",(A=>this._handleTextAreaFocus(A)))),this.register((0,_.addDisposableDomListener)(this.textarea,"blur",(()=>this._handleTextAreaBlur()))),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(t.CharSizeService,this._document,this._helperContainer),this._instantiationService.setService(m.ICharSizeService,this._charSizeService),this._themeService=this._instantiationService.createInstance(y.ThemeService),this._instantiationService.setService(m.IThemeService,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(o.CharacterJoinerService),this._instantiationService.setService(m.ICharacterJoinerService,this._characterJoinerService),this._renderService=this.register(this._instantiationService.createInstance(p.RenderService,this.rows,this.screenElement)),this._instantiationService.setService(m.IRenderService,this._renderService),this.register(this._renderService.onRenderedViewportChange((A=>this._onRender.fire(A)))),this.onResize((A=>this._renderService.resize(A.cols,A.rows))),this._compositionView=this._document.createElement("div"),this._compositionView.classList.add("composition-view"),this._compositionHelper=this._instantiationService.createInstance(s.CompositionHelper,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(u.MouseService),this._instantiationService.setService(m.IMouseService,this._mouseService),this.linkifier=this.register(this._instantiationService.createInstance(n.Linkifier,this.screenElement)),this.element.appendChild(C);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this.viewport=this._instantiationService.createInstance(g.Viewport,this._viewportElement,this._viewportScrollArea),this.viewport.onRequestScrollLines((A=>this.scrollLines(A.amount,A.suppressScrollEvent,1))),this.register(this._inputHandler.onRequestSyncScrollBar((()=>this.viewport.syncScrollArea()))),this.register(this.viewport),this.register(this.onCursorMove((()=>{this._renderService.handleCursorMove(),this._syncTextArea()}))),this.register(this.onResize((()=>this._renderService.handleResize(this.cols,this.rows)))),this.register(this.onBlur((()=>this._renderService.handleBlur()))),this.register(this.onFocus((()=>this._renderService.handleFocus()))),this.register(this._renderService.onDimensionsChange((()=>this.viewport.syncScrollArea()))),this._selectionService=this.register(this._instantiationService.createInstance(c.SelectionService,this.element,this.screenElement,this.linkifier)),this._instantiationService.setService(m.ISelectionService,this._selectionService),this.register(this._selectionService.onRequestScrollLines((A=>this.scrollLines(A.amount,A.suppressScrollEvent)))),this.register(this._selectionService.onSelectionChange((()=>this._onSelectionChange.fire()))),this.register(this._selectionService.onRequestRedraw((A=>this._renderService.handleSelectionChanged(A.start,A.end,A.columnSelectMode)))),this.register(this._selectionService.onLinuxMouseSelection((A=>{this.textarea.value=A,this.textarea.focus(),this.textarea.select()}))),this.register(this._onScroll.event((A=>{this.viewport.syncScrollArea(),this._selectionService.refresh()}))),this.register((0,_.addDisposableDomListener)(this._viewportElement,"scroll",(()=>this._selectionService.refresh()))),this.register(this._instantiationService.createInstance(h.BufferDecorationRenderer,this.screenElement)),this.register((0,_.addDisposableDomListener)(this.element,"mousedown",(A=>this._selectionService.handleMouseDown(A)))),this.coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add("enable-mouse-events")):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager.value=this._instantiationService.createInstance(T.AccessibilityManager,this)),this.register(this.optionsService.onSpecificOptionChange("screenReaderMode",(A=>this._handleScreenReaderModeOptionChange(A)))),this.options.overviewRulerWidth&&(this._overviewRulerRenderer=this.register(this._instantiationService.createInstance(i.OverviewRulerRenderer,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange("overviewRulerWidth",(A=>{!this._overviewRulerRenderer&&A&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this.register(this._instantiationService.createInstance(i.OverviewRulerRenderer,this._viewportElement,this.screenElement)))})),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(e.DomRenderer,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){const R=this,C=this.element;function M(F){const z=R._mouseService.getMouseReportCoords(F,R.screenElement);if(!z)return!1;let q,V;switch(F.overrideType||F.type){case"mousemove":V=32,F.buttons===void 0?(q=3,F.button!==void 0&&(q=F.button<3?F.button:3)):q=1&F.buttons?0:4&F.buttons?1:2&F.buttons?2:3;break;case"mouseup":V=0,q=F.button<3?F.button:3;break;case"mousedown":V=1,q=F.button<3?F.button:3;break;case"wheel":if(R._customWheelEventHandler&&R._customWheelEventHandler(F)===!1||R.viewport.getLinesScrolled(F)===0)return!1;V=F.deltaY<0?0:1,q=4;break;default:return!1}return!(V===void 0||q===void 0||q>4)&&R.coreMouseService.triggerMouseEvent({col:z.col,row:z.row,x:z.x,y:z.y,button:q,action:V,ctrl:F.ctrlKey,alt:F.altKey,shift:F.shiftKey})}const A={mouseup:null,wheel:null,mousedrag:null,mousemove:null},W={mouseup:F=>(M(F),F.buttons||(this._document.removeEventListener("mouseup",A.mouseup),A.mousedrag&&this._document.removeEventListener("mousemove",A.mousedrag)),this.cancel(F)),wheel:F=>(M(F),this.cancel(F,!0)),mousedrag:F=>{F.buttons&&M(F)},mousemove:F=>{F.buttons||M(F)}};this.register(this.coreMouseService.onProtocolChange((F=>{F?(this.optionsService.rawOptions.logLevel==="debug"&&this._logService.debug("Binding to mouse events:",this.coreMouseService.explainEvents(F)),this.element.classList.add("enable-mouse-events"),this._selectionService.disable()):(this._logService.debug("Unbinding from mouse events."),this.element.classList.remove("enable-mouse-events"),this._selectionService.enable()),8&F?A.mousemove||(C.addEventListener("mousemove",W.mousemove),A.mousemove=W.mousemove):(C.removeEventListener("mousemove",A.mousemove),A.mousemove=null),16&F?A.wheel||(C.addEventListener("wheel",W.wheel,{passive:!1}),A.wheel=W.wheel):(C.removeEventListener("wheel",A.wheel),A.wheel=null),2&F?A.mouseup||(A.mouseup=W.mouseup):(this._document.removeEventListener("mouseup",A.mouseup),A.mouseup=null),4&F?A.mousedrag||(A.mousedrag=W.mousedrag):(this._document.removeEventListener("mousemove",A.mousedrag),A.mousedrag=null)}))),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this.register((0,_.addDisposableDomListener)(C,"mousedown",(F=>{if(F.preventDefault(),this.focus(),this.coreMouseService.areMouseEventsActive&&!this._selectionService.shouldForceSelection(F))return M(F),A.mouseup&&this._document.addEventListener("mouseup",A.mouseup),A.mousedrag&&this._document.addEventListener("mousemove",A.mousedrag),this.cancel(F)}))),this.register((0,_.addDisposableDomListener)(C,"wheel",(F=>{if(!A.wheel){if(this._customWheelEventHandler&&this._customWheelEventHandler(F)===!1)return!1;if(!this.buffer.hasScrollback){const z=this.viewport.getLinesScrolled(F);if(z===0)return;const q=U.C0.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(F.deltaY<0?"A":"B");let V="";for(let X=0;X<Math.abs(z);X++)V+=q;return this.coreService.triggerDataEvent(V,!0),this.cancel(F,!0)}return this.viewport.handleWheel(F)?this.cancel(F):void 0}}),{passive:!1})),this.register((0,_.addDisposableDomListener)(C,"touchstart",(F=>{if(!this.coreMouseService.areMouseEventsActive)return this.viewport.handleTouchStart(F),this.cancel(F)}),{passive:!0})),this.register((0,_.addDisposableDomListener)(C,"touchmove",(F=>{if(!this.coreMouseService.areMouseEventsActive)return this.viewport.handleTouchMove(F)?void 0:this.cancel(F)}),{passive:!1}))}refresh(R,C){var M;(M=this._renderService)==null||M.refreshRows(R,C)}updateCursorStyle(R){var C;(C=this._selectionService)!=null&&C.shouldColumnSelect(R)?this.element.classList.add("column-select"):this.element.classList.remove("column-select")}_showCursor(){this.coreService.isCursorInitialized||(this.coreService.isCursorInitialized=!0,this.refresh(this.buffer.y,this.buffer.y))}scrollLines(R,C,M=0){var A;M===1?(super.scrollLines(R,C,M),this.refresh(0,this.rows-1)):(A=this.viewport)==null||A.scrollLines(R)}paste(R){(0,l.paste)(R,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(R){this._customKeyEventHandler=R}attachCustomWheelEventHandler(R){this._customWheelEventHandler=R}registerLinkProvider(R){return this._linkProviderService.registerLinkProvider(R)}registerCharacterJoiner(R){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");const C=this._characterJoinerService.register(R);return this.refresh(0,this.rows-1),C}deregisterCharacterJoiner(R){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");this._characterJoinerService.deregister(R)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(R){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+R)}registerDecoration(R){return this._decorationService.registerDecoration(R)}hasSelection(){return!!this._selectionService&&this._selectionService.hasSelection}select(R,C,M){this._selectionService.setSelection(R,C,M)}getSelection(){return this._selectionService?this._selectionService.selectionText:""}getSelectionPosition(){if(this._selectionService&&this._selectionService.hasSelection)return{start:{x:this._selectionService.selectionStart[0],y:this._selectionService.selectionStart[1]},end:{x:this._selectionService.selectionEnd[0],y:this._selectionService.selectionEnd[1]}}}clearSelection(){var R;(R=this._selectionService)==null||R.clearSelection()}selectAll(){var R;(R=this._selectionService)==null||R.selectAll()}selectLines(R,C){var M;(M=this._selectionService)==null||M.selectLines(R,C)}_keyDown(R){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&this._customKeyEventHandler(R)===!1)return!1;const C=this.browser.isMac&&this.options.macOptionIsMeta&&R.altKey;if(!C&&!this._compositionHelper.keydown(R))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(),!1;C||R.key!=="Dead"&&R.key!=="AltGraph"||(this._unprocessedDeadKey=!0);const M=(0,I.evaluateKeyboardEvent)(R,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(R),M.type===3||M.type===2){const A=this.rows-1;return this.scrollLines(M.type===2?-A:A),this.cancel(R,!0)}return M.type===1&&this.selectAll(),!!this._isThirdLevelShift(this.browser,R)||(M.cancel&&this.cancel(R,!0),!M.key||!!(R.key&&!R.ctrlKey&&!R.altKey&&!R.metaKey&&R.key.length===1&&R.key.charCodeAt(0)>=65&&R.key.charCodeAt(0)<=90)||(this._unprocessedDeadKey?(this._unprocessedDeadKey=!1,!0):(M.key!==U.C0.ETX&&M.key!==U.C0.CR||(this.textarea.value=""),this._onKey.fire({key:M.key,domEvent:R}),this._showCursor(),this.coreService.triggerDataEvent(M.key,!0),!this.optionsService.rawOptions.screenReaderMode||R.altKey||R.ctrlKey?this.cancel(R,!0):void(this._keyDownHandled=!0))))}_isThirdLevelShift(R,C){const M=R.isMac&&!this.options.macOptionIsMeta&&C.altKey&&!C.ctrlKey&&!C.metaKey||R.isWindows&&C.altKey&&C.ctrlKey&&!C.metaKey||R.isWindows&&C.getModifierState("AltGraph");return C.type==="keypress"?M:M&&(!C.keyCode||C.keyCode>47)}_keyUp(R){this._keyDownSeen=!1,this._customKeyEventHandler&&this._customKeyEventHandler(R)===!1||((function(C){return C.keyCode===16||C.keyCode===17||C.keyCode===18})(R)||this.focus(),this.updateCursorStyle(R),this._keyPressHandled=!1)}_keyPress(R){let C;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&this._customKeyEventHandler(R)===!1)return!1;if(this.cancel(R),R.charCode)C=R.charCode;else if(R.which===null||R.which===void 0)C=R.keyCode;else{if(R.which===0||R.charCode===0)return!1;C=R.which}return!(!C||(R.altKey||R.ctrlKey||R.metaKey)&&!this._isThirdLevelShift(this.browser,R)||(C=String.fromCharCode(C),this._onKey.fire({key:C,domEvent:R}),this._showCursor(),this.coreService.triggerDataEvent(C,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,0))}_inputEvent(R){if(R.data&&R.inputType==="insertText"&&(!R.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;const C=R.data;return this.coreService.triggerDataEvent(C,!0),this.cancel(R),!0}return!1}resize(R,C){R!==this.cols||C!==this.rows?super.resize(R,C):this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure()}_afterResize(R,C){var M,A;(M=this._charSizeService)==null||M.measure(),(A=this.viewport)==null||A.syncScrollArea(!0)}clear(){var R;if(this.buffer.ybase!==0||this.buffer.y!==0){this.buffer.clearAllMarkers(),this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(let C=1;C<this.rows;C++)this.buffer.lines.push(this.buffer.getBlankLine(P.DEFAULT_ATTR_DATA));this._onScroll.fire({position:this.buffer.ydisp,source:0}),(R=this.viewport)==null||R.reset(),this.refresh(0,this.rows-1)}}reset(){var C,M;this.options.rows=this.rows,this.options.cols=this.cols;const R=this._customKeyEventHandler;this._setup(),super.reset(),(C=this._selectionService)==null||C.reset(),this._decorationService.reset(),(M=this.viewport)==null||M.reset(),this._customKeyEventHandler=R,this.refresh(0,this.rows-1)}clearTextureAtlas(){var R;(R=this._renderService)==null||R.clearTextureAtlas()}_reportFocus(){var R;(R=this.element)!=null&&R.classList.contains("focus")?this.coreService.triggerDataEvent(U.C0.ESC+"[I"):this.coreService.triggerDataEvent(U.C0.ESC+"[O")}_reportWindowsOptions(R){if(this._renderService)switch(R){case D.WindowsOptionsReportType.GET_WIN_SIZE_PIXELS:const C=this._renderService.dimensions.css.canvas.width.toFixed(0),M=this._renderService.dimensions.css.canvas.height.toFixed(0);this.coreService.triggerDataEvent(`${U.C0.ESC}[4;${M};${C}t`);break;case D.WindowsOptionsReportType.GET_CELL_SIZE_PIXELS:const A=this._renderService.dimensions.css.cell.width.toFixed(0),W=this._renderService.dimensions.css.cell.height.toFixed(0);this.coreService.triggerDataEvent(`${U.C0.ESC}[6;${W};${A}t`)}}cancel(R,C){if(this.options.cancelEvents||C)return R.preventDefault(),R.stopPropagation(),!1}}r.Terminal=N},9924:(O,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.TimeBasedDebouncer=void 0,r.TimeBasedDebouncer=class{constructor(a,l=1e3){this._renderCallback=a,this._debounceThresholdMS=l,this._lastRefreshMs=0,this._additionalRefreshRequested=!1}dispose(){this._refreshTimeoutID&&clearTimeout(this._refreshTimeoutID)}refresh(a,l,_){this._rowCount=_,a=a!==void 0?a:0,l=l!==void 0?l:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,a):a,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,l):l;const n=Date.now();if(n-this._lastRefreshMs>=this._debounceThresholdMS)this._lastRefreshMs=n,this._innerRefresh();else if(!this._additionalRefreshRequested){const d=n-this._lastRefreshMs,v=this._debounceThresholdMS-d;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout((()=>{this._lastRefreshMs=Date.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0}),v)}}_innerRefresh(){if(this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return;const a=Math.max(this._rowStart,0),l=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(a,l)}}},1680:function(O,r,a){var l=this&&this.__decorate||function(s,e,t,o){var f,u=arguments.length,p=u<3?e:o===null?o=Object.getOwnPropertyDescriptor(e,t):o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")p=Reflect.decorate(s,e,t,o);else for(var c=s.length-1;c>=0;c--)(f=s[c])&&(p=(u<3?f(p):u>3?f(e,t,p):f(e,t))||p);return u>3&&p&&Object.defineProperty(e,t,p),p},_=this&&this.__param||function(s,e){return function(t,o){e(t,o,s)}};Object.defineProperty(r,"__esModule",{value:!0}),r.Viewport=void 0;const n=a(3656),d=a(4725),v=a(8460),g=a(844),h=a(2585);let i=r.Viewport=class extends g.Disposable{constructor(s,e,t,o,f,u,p,c){super(),this._viewportElement=s,this._scrollArea=e,this._bufferService=t,this._optionsService=o,this._charSizeService=f,this._renderService=u,this._coreBrowserService=p,this.scrollBarWidth=0,this._currentRowHeight=0,this._currentDeviceCellHeight=0,this._lastRecordedBufferLength=0,this._lastRecordedViewportHeight=0,this._lastRecordedBufferHeight=0,this._lastTouchY=0,this._lastScrollTop=0,this._wheelPartialScroll=0,this._refreshAnimationFrame=null,this._ignoreNextScrollEvent=!1,this._smoothScrollState={startTime:0,origin:-1,target:-1},this._onRequestScrollLines=this.register(new v.EventEmitter),this.onRequestScrollLines=this._onRequestScrollLines.event,this.scrollBarWidth=this._viewportElement.offsetWidth-this._scrollArea.offsetWidth||15,this.register((0,n.addDisposableDomListener)(this._viewportElement,"scroll",this._handleScroll.bind(this))),this._activeBuffer=this._bufferService.buffer,this.register(this._bufferService.buffers.onBufferActivate((m=>this._activeBuffer=m.activeBuffer))),this._renderDimensions=this._renderService.dimensions,this.register(this._renderService.onDimensionsChange((m=>this._renderDimensions=m))),this._handleThemeChange(c.colors),this.register(c.onChangeColors((m=>this._handleThemeChange(m)))),this.register(this._optionsService.onSpecificOptionChange("scrollback",(()=>this.syncScrollArea()))),setTimeout((()=>this.syncScrollArea()))}_handleThemeChange(s){this._viewportElement.style.backgroundColor=s.background.css}reset(){this._currentRowHeight=0,this._currentDeviceCellHeight=0,this._lastRecordedBufferLength=0,this._lastRecordedViewportHeight=0,this._lastRecordedBufferHeight=0,this._lastTouchY=0,this._lastScrollTop=0,this._coreBrowserService.window.requestAnimationFrame((()=>this.syncScrollArea()))}_refresh(s){if(s)return this._innerRefresh(),void(this._refreshAnimationFrame!==null&&this._coreBrowserService.window.cancelAnimationFrame(this._refreshAnimationFrame));this._refreshAnimationFrame===null&&(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>this._innerRefresh())))}_innerRefresh(){if(this._charSizeService.height>0){this._currentRowHeight=this._renderDimensions.device.cell.height/this._coreBrowserService.dpr,this._currentDeviceCellHeight=this._renderDimensions.device.cell.height,this._lastRecordedViewportHeight=this._viewportElement.offsetHeight;const e=Math.round(this._currentRowHeight*this._lastRecordedBufferLength)+(this._lastRecordedViewportHeight-this._renderDimensions.css.canvas.height);this._lastRecordedBufferHeight!==e&&(this._lastRecordedBufferHeight=e,this._scrollArea.style.height=this._lastRecordedBufferHeight+"px")}const s=this._bufferService.buffer.ydisp*this._currentRowHeight;this._viewportElement.scrollTop!==s&&(this._ignoreNextScrollEvent=!0,this._viewportElement.scrollTop=s),this._refreshAnimationFrame=null}syncScrollArea(s=!1){if(this._lastRecordedBufferLength!==this._bufferService.buffer.lines.length)return this._lastRecordedBufferLength=this._bufferService.buffer.lines.length,void this._refresh(s);this._lastRecordedViewportHeight===this._renderService.dimensions.css.canvas.height&&this._lastScrollTop===this._activeBuffer.ydisp*this._currentRowHeight&&this._renderDimensions.device.cell.height===this._currentDeviceCellHeight||this._refresh(s)}_handleScroll(s){if(this._lastScrollTop=this._viewportElement.scrollTop,!this._viewportElement.offsetParent)return;if(this._ignoreNextScrollEvent)return this._ignoreNextScrollEvent=!1,void this._onRequestScrollLines.fire({amount:0,suppressScrollEvent:!0});const e=Math.round(this._lastScrollTop/this._currentRowHeight)-this._bufferService.buffer.ydisp;this._onRequestScrollLines.fire({amount:e,suppressScrollEvent:!0})}_smoothScroll(){if(this._isDisposed||this._smoothScrollState.origin===-1||this._smoothScrollState.target===-1)return;const s=this._smoothScrollPercent();this._viewportElement.scrollTop=this._smoothScrollState.origin+Math.round(s*(this._smoothScrollState.target-this._smoothScrollState.origin)),s<1?this._coreBrowserService.window.requestAnimationFrame((()=>this._smoothScroll())):this._clearSmoothScrollState()}_smoothScrollPercent(){return this._optionsService.rawOptions.smoothScrollDuration&&this._smoothScrollState.startTime?Math.max(Math.min((Date.now()-this._smoothScrollState.startTime)/this._optionsService.rawOptions.smoothScrollDuration,1),0):1}_clearSmoothScrollState(){this._smoothScrollState.startTime=0,this._smoothScrollState.origin=-1,this._smoothScrollState.target=-1}_bubbleScroll(s,e){const t=this._viewportElement.scrollTop+this._lastRecordedViewportHeight;return!(e<0&&this._viewportElement.scrollTop!==0||e>0&&t<this._lastRecordedBufferHeight)||(s.cancelable&&s.preventDefault(),!1)}handleWheel(s){const e=this._getPixelsScrolled(s);return e!==0&&(this._optionsService.rawOptions.smoothScrollDuration?(this._smoothScrollState.startTime=Date.now(),this._smoothScrollPercent()<1?(this._smoothScrollState.origin=this._viewportElement.scrollTop,this._smoothScrollState.target===-1?this._smoothScrollState.target=this._viewportElement.scrollTop+e:this._smoothScrollState.target+=e,this._smoothScrollState.target=Math.max(Math.min(this._smoothScrollState.target,this._viewportElement.scrollHeight),0),this._smoothScroll()):this._clearSmoothScrollState()):this._viewportElement.scrollTop+=e,this._bubbleScroll(s,e))}scrollLines(s){if(s!==0)if(this._optionsService.rawOptions.smoothScrollDuration){const e=s*this._currentRowHeight;this._smoothScrollState.startTime=Date.now(),this._smoothScrollPercent()<1?(this._smoothScrollState.origin=this._viewportElement.scrollTop,this._smoothScrollState.target=this._smoothScrollState.origin+e,this._smoothScrollState.target=Math.max(Math.min(this._smoothScrollState.target,this._viewportElement.scrollHeight),0),this._smoothScroll()):this._clearSmoothScrollState()}else this._onRequestScrollLines.fire({amount:s,suppressScrollEvent:!1})}_getPixelsScrolled(s){if(s.deltaY===0||s.shiftKey)return 0;let e=this._applyScrollModifier(s.deltaY,s);return s.deltaMode===WheelEvent.DOM_DELTA_LINE?e*=this._currentRowHeight:s.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(e*=this._currentRowHeight*this._bufferService.rows),e}getBufferElements(s,e){var c;let t,o="";const f=[],u=e??this._bufferService.buffer.lines.length,p=this._bufferService.buffer.lines;for(let m=s;m<u;m++){const y=p.get(m);if(!y)continue;const k=(c=p.get(m+1))==null?void 0:c.isWrapped;if(o+=y.translateToString(!k),!k||m===p.length-1){const L=document.createElement("div");L.textContent=o,f.push(L),o.length>0&&(t=L),o=""}}return{bufferElements:f,cursorElement:t}}getLinesScrolled(s){if(s.deltaY===0||s.shiftKey)return 0;let e=this._applyScrollModifier(s.deltaY,s);return s.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(e/=this._currentRowHeight+0,this._wheelPartialScroll+=e,e=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):s.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(e*=this._bufferService.rows),e}_applyScrollModifier(s,e){const t=this._optionsService.rawOptions.fastScrollModifier;return t==="alt"&&e.altKey||t==="ctrl"&&e.ctrlKey||t==="shift"&&e.shiftKey?s*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:s*this._optionsService.rawOptions.scrollSensitivity}handleTouchStart(s){this._lastTouchY=s.touches[0].pageY}handleTouchMove(s){const e=this._lastTouchY-s.touches[0].pageY;return this._lastTouchY=s.touches[0].pageY,e!==0&&(this._viewportElement.scrollTop+=e,this._bubbleScroll(s,e))}};r.Viewport=i=l([_(2,h.IBufferService),_(3,h.IOptionsService),_(4,d.ICharSizeService),_(5,d.IRenderService),_(6,d.ICoreBrowserService),_(7,d.IThemeService)],i)},3107:function(O,r,a){var l=this&&this.__decorate||function(h,i,s,e){var t,o=arguments.length,f=o<3?i:e===null?e=Object.getOwnPropertyDescriptor(i,s):e;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")f=Reflect.decorate(h,i,s,e);else for(var u=h.length-1;u>=0;u--)(t=h[u])&&(f=(o<3?t(f):o>3?t(i,s,f):t(i,s))||f);return o>3&&f&&Object.defineProperty(i,s,f),f},_=this&&this.__param||function(h,i){return function(s,e){i(s,e,h)}};Object.defineProperty(r,"__esModule",{value:!0}),r.BufferDecorationRenderer=void 0;const n=a(4725),d=a(844),v=a(2585);let g=r.BufferDecorationRenderer=class extends d.Disposable{constructor(h,i,s,e,t){super(),this._screenElement=h,this._bufferService=i,this._coreBrowserService=s,this._decorationService=e,this._renderService=t,this._decorationElements=new Map,this._altBufferIsActive=!1,this._dimensionsChanged=!1,this._container=document.createElement("div"),this._container.classList.add("xterm-decoration-container"),this._screenElement.appendChild(this._container),this.register(this._renderService.onRenderedViewportChange((()=>this._doRefreshDecorations()))),this.register(this._renderService.onDimensionsChange((()=>{this._dimensionsChanged=!0,this._queueRefresh()}))),this.register(this._coreBrowserService.onDprChange((()=>this._queueRefresh()))),this.register(this._bufferService.buffers.onBufferActivate((()=>{this._altBufferIsActive=this._bufferService.buffer===this._bufferService.buffers.alt}))),this.register(this._decorationService.onDecorationRegistered((()=>this._queueRefresh()))),this.register(this._decorationService.onDecorationRemoved((o=>this._removeDecoration(o)))),this.register((0,d.toDisposable)((()=>{this._container.remove(),this._decorationElements.clear()})))}_queueRefresh(){this._animationFrame===void 0&&(this._animationFrame=this._renderService.addRefreshCallback((()=>{this._doRefreshDecorations(),this._animationFrame=void 0})))}_doRefreshDecorations(){for(const h of this._decorationService.decorations)this._renderDecoration(h);this._dimensionsChanged=!1}_renderDecoration(h){this._refreshStyle(h),this._dimensionsChanged&&this._refreshXPosition(h)}_createElement(h){var e;const i=this._coreBrowserService.mainDocument.createElement("div");i.classList.add("xterm-decoration"),i.classList.toggle("xterm-decoration-top-layer",((e=h==null?void 0:h.options)==null?void 0:e.layer)==="top"),i.style.width=`${Math.round((h.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,i.style.height=(h.options.height||1)*this._renderService.dimensions.css.cell.height+"px",i.style.top=(h.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height+"px",i.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;const s=h.options.x??0;return s&&s>this._bufferService.cols&&(i.style.display="none"),this._refreshXPosition(h,i),i}_refreshStyle(h){const i=h.marker.line-this._bufferService.buffers.active.ydisp;if(i<0||i>=this._bufferService.rows)h.element&&(h.element.style.display="none",h.onRenderEmitter.fire(h.element));else{let s=this._decorationElements.get(h);s||(s=this._createElement(h),h.element=s,this._decorationElements.set(h,s),this._container.appendChild(s),h.onDispose((()=>{this._decorationElements.delete(h),s.remove()}))),s.style.top=i*this._renderService.dimensions.css.cell.height+"px",s.style.display=this._altBufferIsActive?"none":"block",h.onRenderEmitter.fire(s)}}_refreshXPosition(h,i=h.element){if(!i)return;const s=h.options.x??0;(h.options.anchor||"left")==="right"?i.style.right=s?s*this._renderService.dimensions.css.cell.width+"px":"":i.style.left=s?s*this._renderService.dimensions.css.cell.width+"px":""}_removeDecoration(h){var i;(i=this._decorationElements.get(h))==null||i.remove(),this._decorationElements.delete(h),h.dispose()}};r.BufferDecorationRenderer=g=l([_(1,v.IBufferService),_(2,n.ICoreBrowserService),_(3,v.IDecorationService),_(4,n.IRenderService)],g)},5871:(O,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.ColorZoneStore=void 0,r.ColorZoneStore=class{constructor(){this._zones=[],this._zonePool=[],this._zonePoolIndex=0,this._linePadding={full:0,left:0,center:0,right:0}}get zones(){return this._zonePool.length=Math.min(this._zonePool.length,this._zones.length),this._zones}clear(){this._zones.length=0,this._zonePoolIndex=0}addDecoration(a){if(a.options.overviewRulerOptions){for(const l of this._zones)if(l.color===a.options.overviewRulerOptions.color&&l.position===a.options.overviewRulerOptions.position){if(this._lineIntersectsZone(l,a.marker.line))return;if(this._lineAdjacentToZone(l,a.marker.line,a.options.overviewRulerOptions.position))return void this._addLineToZone(l,a.marker.line)}if(this._zonePoolIndex<this._zonePool.length)return this._zonePool[this._zonePoolIndex].color=a.options.overviewRulerOptions.color,this._zonePool[this._zonePoolIndex].position=a.options.overviewRulerOptions.position,this._zonePool[this._zonePoolIndex].startBufferLine=a.marker.line,this._zonePool[this._zonePoolIndex].endBufferLine=a.marker.line,void this._zones.push(this._zonePool[this._zonePoolIndex++]);this._zones.push({color:a.options.overviewRulerOptions.color,position:a.options.overviewRulerOptions.position,startBufferLine:a.marker.line,endBufferLine:a.marker.line}),this._zonePool.push(this._zones[this._zones.length-1]),this._zonePoolIndex++}}setPadding(a){this._linePadding=a}_lineIntersectsZone(a,l){return l>=a.startBufferLine&&l<=a.endBufferLine}_lineAdjacentToZone(a,l,_){return l>=a.startBufferLine-this._linePadding[_||"full"]&&l<=a.endBufferLine+this._linePadding[_||"full"]}_addLineToZone(a,l){a.startBufferLine=Math.min(a.startBufferLine,l),a.endBufferLine=Math.max(a.endBufferLine,l)}}},5744:function(O,r,a){var l=this&&this.__decorate||function(t,o,f,u){var p,c=arguments.length,m=c<3?o:u===null?u=Object.getOwnPropertyDescriptor(o,f):u;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")m=Reflect.decorate(t,o,f,u);else for(var y=t.length-1;y>=0;y--)(p=t[y])&&(m=(c<3?p(m):c>3?p(o,f,m):p(o,f))||m);return c>3&&m&&Object.defineProperty(o,f,m),m},_=this&&this.__param||function(t,o){return function(f,u){o(f,u,t)}};Object.defineProperty(r,"__esModule",{value:!0}),r.OverviewRulerRenderer=void 0;const n=a(5871),d=a(4725),v=a(844),g=a(2585),h={full:0,left:0,center:0,right:0},i={full:0,left:0,center:0,right:0},s={full:0,left:0,center:0,right:0};let e=r.OverviewRulerRenderer=class extends v.Disposable{get _width(){return this._optionsService.options.overviewRulerWidth||0}constructor(t,o,f,u,p,c,m){var k;super(),this._viewportElement=t,this._screenElement=o,this._bufferService=f,this._decorationService=u,this._renderService=p,this._optionsService=c,this._coreBrowserService=m,this._colorZoneStore=new n.ColorZoneStore,this._shouldUpdateDimensions=!0,this._shouldUpdateAnchor=!0,this._lastKnownBufferLength=0,this._canvas=this._coreBrowserService.mainDocument.createElement("canvas"),this._canvas.classList.add("xterm-decoration-overview-ruler"),this._refreshCanvasDimensions(),(k=this._viewportElement.parentElement)==null||k.insertBefore(this._canvas,this._viewportElement);const y=this._canvas.getContext("2d");if(!y)throw new Error("Ctx cannot be null");this._ctx=y,this._registerDecorationListeners(),this._registerBufferChangeListeners(),this._registerDimensionChangeListeners(),this.register((0,v.toDisposable)((()=>{var L;(L=this._canvas)==null||L.remove()})))}_registerDecorationListeners(){this.register(this._decorationService.onDecorationRegistered((()=>this._queueRefresh(void 0,!0)))),this.register(this._decorationService.onDecorationRemoved((()=>this._queueRefresh(void 0,!0))))}_registerBufferChangeListeners(){this.register(this._renderService.onRenderedViewportChange((()=>this._queueRefresh()))),this.register(this._bufferService.buffers.onBufferActivate((()=>{this._canvas.style.display=this._bufferService.buffer===this._bufferService.buffers.alt?"none":"block"}))),this.register(this._bufferService.onScroll((()=>{this._lastKnownBufferLength!==this._bufferService.buffers.normal.lines.length&&(this._refreshDrawHeightConstants(),this._refreshColorZonePadding())})))}_registerDimensionChangeListeners(){this.register(this._renderService.onRender((()=>{this._containerHeight&&this._containerHeight===this._screenElement.clientHeight||(this._queueRefresh(!0),this._containerHeight=this._screenElement.clientHeight)}))),this.register(this._optionsService.onSpecificOptionChange("overviewRulerWidth",(()=>this._queueRefresh(!0)))),this.register(this._coreBrowserService.onDprChange((()=>this._queueRefresh(!0)))),this._queueRefresh(!0)}_refreshDrawConstants(){const t=Math.floor(this._canvas.width/3),o=Math.ceil(this._canvas.width/3);i.full=this._canvas.width,i.left=t,i.center=o,i.right=t,this._refreshDrawHeightConstants(),s.full=0,s.left=0,s.center=i.left,s.right=i.left+i.center}_refreshDrawHeightConstants(){h.full=Math.round(2*this._coreBrowserService.dpr);const t=this._canvas.height/this._bufferService.buffer.lines.length,o=Math.round(Math.max(Math.min(t,12),6)*this._coreBrowserService.dpr);h.left=o,h.center=o,h.right=o}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*h.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*h.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*h.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*h.right)}),this._lastKnownBufferLength=this._bufferService.buffers.normal.lines.length}_refreshCanvasDimensions(){this._canvas.style.width=`${this._width}px`,this._canvas.width=Math.round(this._width*this._coreBrowserService.dpr),this._canvas.style.height=`${this._screenElement.clientHeight}px`,this._canvas.height=Math.round(this._screenElement.clientHeight*this._coreBrowserService.dpr),this._refreshDrawConstants(),this._refreshColorZonePadding()}_refreshDecorations(){this._shouldUpdateDimensions&&this._refreshCanvasDimensions(),this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height),this._colorZoneStore.clear();for(const o of this._decorationService.decorations)this._colorZoneStore.addDecoration(o);this._ctx.lineWidth=1;const t=this._colorZoneStore.zones;for(const o of t)o.position!=="full"&&this._renderColorZone(o);for(const o of t)o.position==="full"&&this._renderColorZone(o);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderColorZone(t){this._ctx.fillStyle=t.color,this._ctx.fillRect(s[t.position||"full"],Math.round((this._canvas.height-1)*(t.startBufferLine/this._bufferService.buffers.active.lines.length)-h[t.position||"full"]/2),i[t.position||"full"],Math.round((this._canvas.height-1)*((t.endBufferLine-t.startBufferLine)/this._bufferService.buffers.active.lines.length)+h[t.position||"full"]))}_queueRefresh(t,o){this._shouldUpdateDimensions=t||this._shouldUpdateDimensions,this._shouldUpdateAnchor=o||this._shouldUpdateAnchor,this._animationFrame===void 0&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>{this._refreshDecorations(),this._animationFrame=void 0})))}};r.OverviewRulerRenderer=e=l([_(2,g.IBufferService),_(3,g.IDecorationService),_(4,d.IRenderService),_(5,g.IOptionsService),_(6,d.ICoreBrowserService)],e)},2950:function(O,r,a){var l=this&&this.__decorate||function(h,i,s,e){var t,o=arguments.length,f=o<3?i:e===null?e=Object.getOwnPropertyDescriptor(i,s):e;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")f=Reflect.decorate(h,i,s,e);else for(var u=h.length-1;u>=0;u--)(t=h[u])&&(f=(o<3?t(f):o>3?t(i,s,f):t(i,s))||f);return o>3&&f&&Object.defineProperty(i,s,f),f},_=this&&this.__param||function(h,i){return function(s,e){i(s,e,h)}};Object.defineProperty(r,"__esModule",{value:!0}),r.CompositionHelper=void 0;const n=a(4725),d=a(2585),v=a(2584);let g=r.CompositionHelper=class{get isComposing(){return this._isComposing}constructor(h,i,s,e,t,o){this._textarea=h,this._compositionView=i,this._bufferService=s,this._optionsService=e,this._coreService=t,this._renderService=o,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=""}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent="",this._dataAlreadySent="",this._compositionView.classList.add("active")}compositionupdate(h){this._compositionView.textContent=h.data,this.updateCompositionElements(),setTimeout((()=>{this._compositionPosition.end=this._textarea.value.length}),0)}compositionend(){this._finalizeComposition(!0)}keydown(h){if(this._isComposing||this._isSendingComposition){if(h.keyCode===229||h.keyCode===16||h.keyCode===17||h.keyCode===18)return!1;this._finalizeComposition(!1)}return h.keyCode!==229||(this._handleAnyTextareaChanges(),!1)}_finalizeComposition(h){if(this._compositionView.classList.remove("active"),this._isComposing=!1,h){const i={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout((()=>{if(this._isSendingComposition){let s;this._isSendingComposition=!1,i.start+=this._dataAlreadySent.length,s=this._isComposing?this._textarea.value.substring(i.start,i.end):this._textarea.value.substring(i.start),s.length>0&&this._coreService.triggerDataEvent(s,!0)}}),0)}else{this._isSendingComposition=!1;const i=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(i,!0)}}_handleAnyTextareaChanges(){const h=this._textarea.value;setTimeout((()=>{if(!this._isComposing){const i=this._textarea.value,s=i.replace(h,"");this._dataAlreadySent=s,i.length>h.length?this._coreService.triggerDataEvent(s,!0):i.length<h.length?this._coreService.triggerDataEvent(`${v.C0.DEL}`,!0):i.length===h.length&&i!==h&&this._coreService.triggerDataEvent(i,!0)}}),0)}updateCompositionElements(h){if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){const i=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),s=this._renderService.dimensions.css.cell.height,e=this._bufferService.buffer.y*this._renderService.dimensions.css.cell.height,t=i*this._renderService.dimensions.css.cell.width;this._compositionView.style.left=t+"px",this._compositionView.style.top=e+"px",this._compositionView.style.height=s+"px",this._compositionView.style.lineHeight=s+"px",this._compositionView.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._compositionView.style.fontSize=this._optionsService.rawOptions.fontSize+"px";const o=this._compositionView.getBoundingClientRect();this._textarea.style.left=t+"px",this._textarea.style.top=e+"px",this._textarea.style.width=Math.max(o.width,1)+"px",this._textarea.style.height=Math.max(o.height,1)+"px",this._textarea.style.lineHeight=o.height+"px"}h||setTimeout((()=>this.updateCompositionElements(!0)),0)}}};r.CompositionHelper=g=l([_(2,d.IBufferService),_(3,d.IOptionsService),_(4,d.ICoreService),_(5,n.IRenderService)],g)},9806:(O,r)=>{function a(l,_,n){const d=n.getBoundingClientRect(),v=l.getComputedStyle(n),g=parseInt(v.getPropertyValue("padding-left")),h=parseInt(v.getPropertyValue("padding-top"));return[_.clientX-d.left-g,_.clientY-d.top-h]}Object.defineProperty(r,"__esModule",{value:!0}),r.getCoords=r.getCoordsRelativeToElement=void 0,r.getCoordsRelativeToElement=a,r.getCoords=function(l,_,n,d,v,g,h,i,s){if(!g)return;const e=a(l,_,n);return e?(e[0]=Math.ceil((e[0]+(s?h/2:0))/h),e[1]=Math.ceil(e[1]/i),e[0]=Math.min(Math.max(e[0],1),d+(s?1:0)),e[1]=Math.min(Math.max(e[1],1),v),e):void 0}},9504:(O,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.moveToCellSequence=void 0;const l=a(2584);function _(i,s,e,t){const o=i-n(i,e),f=s-n(s,e),u=Math.abs(o-f)-(function(p,c,m){let y=0;const k=p-n(p,m),L=c-n(c,m);for(let w=0;w<Math.abs(k-L);w++){const x=d(p,c)==="A"?-1:1,B=m.buffer.lines.get(k+x*w);B!=null&&B.isWrapped&&y++}return y})(i,s,e);return h(u,g(d(i,s),t))}function n(i,s){let e=0,t=s.buffer.lines.get(i),o=t==null?void 0:t.isWrapped;for(;o&&i>=0&&i<s.rows;)e++,t=s.buffer.lines.get(--i),o=t==null?void 0:t.isWrapped;return e}function d(i,s){return i>s?"A":"B"}function v(i,s,e,t,o,f){let u=i,p=s,c="";for(;u!==e||p!==t;)u+=o?1:-1,o&&u>f.cols-1?(c+=f.buffer.translateBufferLineToString(p,!1,i,u),u=0,i=0,p++):!o&&u<0&&(c+=f.buffer.translateBufferLineToString(p,!1,0,i+1),u=f.cols-1,i=u,p--);return c+f.buffer.translateBufferLineToString(p,!1,i,u)}function g(i,s){const e=s?"O":"[";return l.C0.ESC+e+i}function h(i,s){i=Math.floor(i);let e="";for(let t=0;t<i;t++)e+=s;return e}r.moveToCellSequence=function(i,s,e,t){const o=e.buffer.x,f=e.buffer.y;if(!e.buffer.hasScrollback)return(function(c,m,y,k,L,w){return _(m,k,L,w).length===0?"":h(v(c,m,c,m-n(m,L),!1,L).length,g("D",w))})(o,f,0,s,e,t)+_(f,s,e,t)+(function(c,m,y,k,L,w){let x;x=_(m,k,L,w).length>0?k-n(k,L):m;const B=k,P=(function(U,I,S,b,E,D){let T;return T=_(S,b,E,D).length>0?b-n(b,E):I,U<S&&T<=b||U>=S&&T<b?"C":"D"})(c,m,y,k,L,w);return h(v(c,x,y,B,P==="C",L).length,g(P,w))})(o,f,i,s,e,t);let u;if(f===s)return u=o>i?"D":"C",h(Math.abs(o-i),g(u,t));u=f>s?"D":"C";const p=Math.abs(f-s);return h((function(c,m){return m.cols-c})(f>s?i:o,e)+(p-1)*e.cols+1+((f>s?o:i)-1),g(u,t))}},1296:function(O,r,a){var l=this&&this.__decorate||function(w,x,B,P){var U,I=arguments.length,S=I<3?x:P===null?P=Object.getOwnPropertyDescriptor(x,B):P;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")S=Reflect.decorate(w,x,B,P);else for(var b=w.length-1;b>=0;b--)(U=w[b])&&(S=(I<3?U(S):I>3?U(x,B,S):U(x,B))||S);return I>3&&S&&Object.defineProperty(x,B,S),S},_=this&&this.__param||function(w,x){return function(B,P){x(B,P,w)}};Object.defineProperty(r,"__esModule",{value:!0}),r.DomRenderer=void 0;const n=a(3787),d=a(2550),v=a(2223),g=a(6171),h=a(6052),i=a(4725),s=a(8055),e=a(8460),t=a(844),o=a(2585),f="xterm-dom-renderer-owner-",u="xterm-rows",p="xterm-fg-",c="xterm-bg-",m="xterm-focus",y="xterm-selection";let k=1,L=r.DomRenderer=class extends t.Disposable{constructor(w,x,B,P,U,I,S,b,E,D,T,H,N){super(),this._terminal=w,this._document=x,this._element=B,this._screenElement=P,this._viewportElement=U,this._helperContainer=I,this._linkifier2=S,this._charSizeService=E,this._optionsService=D,this._bufferService=T,this._coreBrowserService=H,this._themeService=N,this._terminalClass=k++,this._rowElements=[],this._selectionRenderModel=(0,h.createSelectionRenderModel)(),this.onRequestRedraw=this.register(new e.EventEmitter).event,this._rowContainer=this._document.createElement("div"),this._rowContainer.classList.add(u),this._rowContainer.style.lineHeight="normal",this._rowContainer.setAttribute("aria-hidden","true"),this._refreshRowElements(this._bufferService.cols,this._bufferService.rows),this._selectionContainer=this._document.createElement("div"),this._selectionContainer.classList.add(y),this._selectionContainer.setAttribute("aria-hidden","true"),this.dimensions=(0,g.createRenderDimensions)(),this._updateDimensions(),this.register(this._optionsService.onOptionChange((()=>this._handleOptionsChanged()))),this.register(this._themeService.onChangeColors(($=>this._injectCss($)))),this._injectCss(this._themeService.colors),this._rowFactory=b.createInstance(n.DomRendererRowFactory,document),this._element.classList.add(f+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this.register(this._linkifier2.onShowLinkUnderline(($=>this._handleLinkHover($)))),this.register(this._linkifier2.onHideLinkUnderline(($=>this._handleLinkLeave($)))),this.register((0,t.toDisposable)((()=>{this._element.classList.remove(f+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()}))),this._widthCache=new d.WidthCache(this._document,this._helperContainer),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}_updateDimensions(){const w=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*w,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*w),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.left=0,this.dimensions.device.char.top=0,this.dimensions.device.canvas.width=this.dimensions.device.cell.width*this._bufferService.cols,this.dimensions.device.canvas.height=this.dimensions.device.cell.height*this._bufferService.rows,this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/w),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/w),this.dimensions.css.cell.width=this.dimensions.css.canvas.width/this._bufferService.cols,this.dimensions.css.cell.height=this.dimensions.css.canvas.height/this._bufferService.rows;for(const B of this._rowElements)B.style.width=`${this.dimensions.css.canvas.width}px`,B.style.height=`${this.dimensions.css.cell.height}px`,B.style.lineHeight=`${this.dimensions.css.cell.height}px`,B.style.overflow="hidden";this._dimensionsStyleElement||(this._dimensionsStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._dimensionsStyleElement));const x=`${this._terminalSelector} .${u} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=x,this._selectionContainer.style.height=this._viewportElement.style.height,this._screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._screenElement.style.height=`${this.dimensions.css.canvas.height}px`}_injectCss(w){this._themeStyleElement||(this._themeStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._themeStyleElement));let x=`${this._terminalSelector} .${u} { color: ${w.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;x+=`${this._terminalSelector} .${u} .xterm-dim { color: ${s.color.multiplyOpacity(w.foreground,.5).css};}`,x+=`${this._terminalSelector} span:not(.xterm-bold) { font-weight: ${this._optionsService.rawOptions.fontWeight};}${this._terminalSelector} span.xterm-bold { font-weight: ${this._optionsService.rawOptions.fontWeightBold};}${this._terminalSelector} span.xterm-italic { font-style: italic;}`;const B=`blink_underline_${this._terminalClass}`,P=`blink_bar_${this._terminalClass}`,U=`blink_block_${this._terminalClass}`;x+=`@keyframes ${B} { 50% { border-bottom-style: hidden; }}`,x+=`@keyframes ${P} { 50% { box-shadow: none; }}`,x+=`@keyframes ${U} { 0% { background-color: ${w.cursor.css}; color: ${w.cursorAccent.css}; } 50% { background-color: inherit; color: ${w.cursor.css}; }}`,x+=`${this._terminalSelector} .${u}.${m} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${B} 1s step-end infinite;}${this._terminalSelector} .${u}.${m} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${P} 1s step-end infinite;}${this._terminalSelector} .${u}.${m} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${U} 1s step-end infinite;}${this._terminalSelector} .${u} .xterm-cursor.xterm-cursor-block { background-color: ${w.cursor.css}; color: ${w.cursorAccent.css};}${this._terminalSelector} .${u} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${w.cursor.css} !important; color: ${w.cursorAccent.css} !important;}${this._terminalSelector} .${u} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${w.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${u} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${w.cursor.css} inset;}${this._terminalSelector} .${u} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${w.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,x+=`${this._terminalSelector} .${y} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${y} div { position: absolute; background-color: ${w.selectionBackgroundOpaque.css};}${this._terminalSelector} .${y} div { position: absolute; background-color: ${w.selectionInactiveBackgroundOpaque.css};}`;for(const[I,S]of w.ansi.entries())x+=`${this._terminalSelector} .${p}${I} { color: ${S.css}; }${this._terminalSelector} .${p}${I}.xterm-dim { color: ${s.color.multiplyOpacity(S,.5).css}; }${this._terminalSelector} .${c}${I} { background-color: ${S.css}; }`;x+=`${this._terminalSelector} .${p}${v.INVERTED_DEFAULT_COLOR} { color: ${s.color.opaque(w.background).css}; }${this._terminalSelector} .${p}${v.INVERTED_DEFAULT_COLOR}.xterm-dim { color: ${s.color.multiplyOpacity(s.color.opaque(w.background),.5).css}; }${this._terminalSelector} .${c}${v.INVERTED_DEFAULT_COLOR} { background-color: ${w.foreground.css}; }`,this._themeStyleElement.textContent=x}_setDefaultSpacing(){const w=this.dimensions.css.cell.width-this._widthCache.get("W",!1,!1);this._rowContainer.style.letterSpacing=`${w}px`,this._rowFactory.defaultSpacing=w}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(w,x){for(let B=this._rowElements.length;B<=x;B++){const P=this._document.createElement("div");this._rowContainer.appendChild(P),this._rowElements.push(P)}for(;this._rowElements.length>x;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(w,x){this._refreshRowElements(w,x),this._updateDimensions(),this.handleSelectionChanged(this._selectionRenderModel.selectionStart,this._selectionRenderModel.selectionEnd,this._selectionRenderModel.columnSelectMode)}handleCharSizeChanged(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}handleBlur(){this._rowContainer.classList.remove(m),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(m),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(w,x,B){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(w,x,B),this.renderRows(0,this._bufferService.rows-1),!w||!x)return;this._selectionRenderModel.update(this._terminal,w,x,B);const P=this._selectionRenderModel.viewportStartRow,U=this._selectionRenderModel.viewportEndRow,I=this._selectionRenderModel.viewportCappedStartRow,S=this._selectionRenderModel.viewportCappedEndRow;if(I>=this._bufferService.rows||S<0)return;const b=this._document.createDocumentFragment();if(B){const E=w[0]>x[0];b.appendChild(this._createSelectionElement(I,E?x[0]:w[0],E?w[0]:x[0],S-I+1))}else{const E=P===I?w[0]:0,D=I===U?x[0]:this._bufferService.cols;b.appendChild(this._createSelectionElement(I,E,D));const T=S-I-1;if(b.appendChild(this._createSelectionElement(I+1,0,this._bufferService.cols,T)),I!==S){const H=U===S?x[0]:this._bufferService.cols;b.appendChild(this._createSelectionElement(S,0,H))}}this._selectionContainer.appendChild(b)}_createSelectionElement(w,x,B,P=1){const U=this._document.createElement("div"),I=x*this.dimensions.css.cell.width;let S=this.dimensions.css.cell.width*(B-x);return I+S>this.dimensions.css.canvas.width&&(S=this.dimensions.css.canvas.width-I),U.style.height=P*this.dimensions.css.cell.height+"px",U.style.top=w*this.dimensions.css.cell.height+"px",U.style.left=`${I}px`,U.style.width=`${S}px`,U}handleCursorMove(){}_handleOptionsChanged(){this._updateDimensions(),this._injectCss(this._themeService.colors),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}clear(){for(const w of this._rowElements)w.replaceChildren()}renderRows(w,x){const B=this._bufferService.buffer,P=B.ybase+B.y,U=Math.min(B.x,this._bufferService.cols-1),I=this._optionsService.rawOptions.cursorBlink,S=this._optionsService.rawOptions.cursorStyle,b=this._optionsService.rawOptions.cursorInactiveStyle;for(let E=w;E<=x;E++){const D=E+B.ydisp,T=this._rowElements[E],H=B.lines.get(D);if(!T||!H)break;T.replaceChildren(...this._rowFactory.createRow(H,D,D===P,S,b,U,I,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${f}${this._terminalClass}`}_handleLinkHover(w){this._setCellUnderline(w.x1,w.x2,w.y1,w.y2,w.cols,!0)}_handleLinkLeave(w){this._setCellUnderline(w.x1,w.x2,w.y1,w.y2,w.cols,!1)}_setCellUnderline(w,x,B,P,U,I){B<0&&(w=0),P<0&&(x=0);const S=this._bufferService.rows-1;B=Math.max(Math.min(B,S),0),P=Math.max(Math.min(P,S),0),U=Math.min(U,this._bufferService.cols);const b=this._bufferService.buffer,E=b.ybase+b.y,D=Math.min(b.x,U-1),T=this._optionsService.rawOptions.cursorBlink,H=this._optionsService.rawOptions.cursorStyle,N=this._optionsService.rawOptions.cursorInactiveStyle;for(let $=B;$<=P;++$){const R=$+b.ydisp,C=this._rowElements[$],M=b.lines.get(R);if(!C||!M)break;C.replaceChildren(...this._rowFactory.createRow(M,R,R===E,H,N,D,T,this.dimensions.css.cell.width,this._widthCache,I?$===B?w:0:-1,I?($===P?x:U)-1:-1))}}};r.DomRenderer=L=l([_(7,o.IInstantiationService),_(8,i.ICharSizeService),_(9,o.IOptionsService),_(10,o.IBufferService),_(11,i.ICoreBrowserService),_(12,i.IThemeService)],L)},3787:function(O,r,a){var l=this&&this.__decorate||function(u,p,c,m){var y,k=arguments.length,L=k<3?p:m===null?m=Object.getOwnPropertyDescriptor(p,c):m;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")L=Reflect.decorate(u,p,c,m);else for(var w=u.length-1;w>=0;w--)(y=u[w])&&(L=(k<3?y(L):k>3?y(p,c,L):y(p,c))||L);return k>3&&L&&Object.defineProperty(p,c,L),L},_=this&&this.__param||function(u,p){return function(c,m){p(c,m,u)}};Object.defineProperty(r,"__esModule",{value:!0}),r.DomRendererRowFactory=void 0;const n=a(2223),d=a(643),v=a(511),g=a(2585),h=a(8055),i=a(4725),s=a(4269),e=a(6171),t=a(3734);let o=r.DomRendererRowFactory=class{constructor(u,p,c,m,y,k,L){this._document=u,this._characterJoinerService=p,this._optionsService=c,this._coreBrowserService=m,this._coreService=y,this._decorationService=k,this._themeService=L,this._workCell=new v.CellData,this._columnSelectMode=!1,this.defaultSpacing=0}handleSelectionChanged(u,p,c){this._selectionStart=u,this._selectionEnd=p,this._columnSelectMode=c}createRow(u,p,c,m,y,k,L,w,x,B,P){const U=[],I=this._characterJoinerService.getJoinedCharacters(p),S=this._themeService.colors;let b,E=u.getNoBgTrimmedLength();c&&E<k+1&&(E=k+1);let D=0,T="",H=0,N=0,$=0,R=!1,C=0,M=!1,A=0;const W=[],F=B!==-1&&P!==-1;for(let z=0;z<E;z++){u.loadCell(z,this._workCell);let q=this._workCell.getWidth();if(q===0)continue;let V=!1,X=z,j=this._workCell;if(I.length>0&&z===I[0][0]){V=!0;const K=I.shift();j=new s.JoinedCellData(this._workCell,u.translateToString(!0,K[0],K[1]),K[1]-K[0]),X=K[1]-1,q=j.getWidth()}const se=this._isCellInSelection(z,p),le=c&&z===k,de=F&&z>=B&&z<=P;let _e=!1;this._decorationService.forEachDecorationAtCell(z,p,void 0,(K=>{_e=!0}));let ae=j.getChars()||d.WHITESPACE_CELL_CHAR;if(ae===" "&&(j.isUnderline()||j.isOverline())&&(ae=" "),A=q*w-x.get(ae,j.isBold(),j.isItalic()),b){if(D&&(se&&M||!se&&!M&&j.bg===H)&&(se&&M&&S.selectionForeground||j.fg===N)&&j.extended.ext===$&&de===R&&A===C&&!le&&!V&&!_e){j.isInvisible()?T+=d.WHITESPACE_CELL_CHAR:T+=ae,D++;continue}D&&(b.textContent=T),b=this._document.createElement("span"),D=0,T=""}else b=this._document.createElement("span");if(H=j.bg,N=j.fg,$=j.extended.ext,R=de,C=A,M=se,V&&k>=z&&k<=X&&(k=z),!this._coreService.isCursorHidden&&le&&this._coreService.isCursorInitialized){if(W.push("xterm-cursor"),this._coreBrowserService.isFocused)L&&W.push("xterm-cursor-blink"),W.push(m==="bar"?"xterm-cursor-bar":m==="underline"?"xterm-cursor-underline":"xterm-cursor-block");else if(y)switch(y){case"outline":W.push("xterm-cursor-outline");break;case"block":W.push("xterm-cursor-block");break;case"bar":W.push("xterm-cursor-bar");break;case"underline":W.push("xterm-cursor-underline")}}if(j.isBold()&&W.push("xterm-bold"),j.isItalic()&&W.push("xterm-italic"),j.isDim()&&W.push("xterm-dim"),T=j.isInvisible()?d.WHITESPACE_CELL_CHAR:j.getChars()||d.WHITESPACE_CELL_CHAR,j.isUnderline()&&(W.push(`xterm-underline-${j.extended.underlineStyle}`),T===" "&&(T=" "),!j.isUnderlineColorDefault()))if(j.isUnderlineColorRGB())b.style.textDecorationColor=`rgb(${t.AttributeData.toColorRGB(j.getUnderlineColor()).join(",")})`;else{let K=j.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&j.isBold()&&K<8&&(K+=8),b.style.textDecorationColor=S.ansi[K].css}j.isOverline()&&(W.push("xterm-overline"),T===" "&&(T=" ")),j.isStrikethrough()&&W.push("xterm-strikethrough"),de&&(b.style.textDecoration="underline");let J=j.getFgColor(),re=j.getFgColorMode(),Z=j.getBgColor(),ne=j.getBgColorMode();const ue=!!j.isInverse();if(ue){const K=J;J=Z,Z=K;const Ce=re;re=ne,ne=Ce}let ee,he,te,oe=!1;switch(this._decorationService.forEachDecorationAtCell(z,p,void 0,(K=>{K.options.layer!=="top"&&oe||(K.backgroundColorRGB&&(ne=50331648,Z=K.backgroundColorRGB.rgba>>8&16777215,ee=K.backgroundColorRGB),K.foregroundColorRGB&&(re=50331648,J=K.foregroundColorRGB.rgba>>8&16777215,he=K.foregroundColorRGB),oe=K.options.layer==="top")})),!oe&&se&&(ee=this._coreBrowserService.isFocused?S.selectionBackgroundOpaque:S.selectionInactiveBackgroundOpaque,Z=ee.rgba>>8&16777215,ne=50331648,oe=!0,S.selectionForeground&&(re=50331648,J=S.selectionForeground.rgba>>8&16777215,he=S.selectionForeground)),oe&&W.push("xterm-decoration-top"),ne){case 16777216:case 33554432:te=S.ansi[Z],W.push(`xterm-bg-${Z}`);break;case 50331648:te=h.channels.toColor(Z>>16,Z>>8&255,255&Z),this._addStyle(b,`background-color:#${f((Z>>>0).toString(16),"0",6)}`);break;default:ue?(te=S.foreground,W.push(`xterm-bg-${n.INVERTED_DEFAULT_COLOR}`)):te=S.background}switch(ee||j.isDim()&&(ee=h.color.multiplyOpacity(te,.5)),re){case 16777216:case 33554432:j.isBold()&&J<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(J+=8),this._applyMinimumContrast(b,te,S.ansi[J],j,ee,void 0)||W.push(`xterm-fg-${J}`);break;case 50331648:const K=h.channels.toColor(J>>16&255,J>>8&255,255&J);this._applyMinimumContrast(b,te,K,j,ee,he)||this._addStyle(b,`color:#${f(J.toString(16),"0",6)}`);break;default:this._applyMinimumContrast(b,te,S.foreground,j,ee,he)||ue&&W.push(`xterm-fg-${n.INVERTED_DEFAULT_COLOR}`)}W.length&&(b.className=W.join(" "),W.length=0),le||V||_e?b.textContent=T:D++,A!==this.defaultSpacing&&(b.style.letterSpacing=`${A}px`),U.push(b),z=X}return b&&D&&(b.textContent=T),U}_applyMinimumContrast(u,p,c,m,y,k){if(this._optionsService.rawOptions.minimumContrastRatio===1||(0,e.treatGlyphAsBackgroundColor)(m.getCode()))return!1;const L=this._getContrastCache(m);let w;if(y||k||(w=L.getColor(p.rgba,c.rgba)),w===void 0){const x=this._optionsService.rawOptions.minimumContrastRatio/(m.isDim()?2:1);w=h.color.ensureContrastRatio(y||p,k||c,x),L.setColor((y||p).rgba,(k||c).rgba,w??null)}return!!w&&(this._addStyle(u,`color:${w.css}`),!0)}_getContrastCache(u){return u.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(u,p){u.setAttribute("style",`${u.getAttribute("style")||""}${p};`)}_isCellInSelection(u,p){const c=this._selectionStart,m=this._selectionEnd;return!(!c||!m)&&(this._columnSelectMode?c[0]<=m[0]?u>=c[0]&&p>=c[1]&&u<m[0]&&p<=m[1]:u<c[0]&&p>=c[1]&&u>=m[0]&&p<=m[1]:p>c[1]&&p<m[1]||c[1]===m[1]&&p===c[1]&&u>=c[0]&&u<m[0]||c[1]<m[1]&&p===m[1]&&u<m[0]||c[1]<m[1]&&p===c[1]&&u>=c[0])}};function f(u,p,c){for(;u.length<c;)u=p+u;return u}r.DomRendererRowFactory=o=l([_(1,i.ICharacterJoinerService),_(2,g.IOptionsService),_(3,i.ICoreBrowserService),_(4,g.ICoreService),_(5,g.IDecorationService),_(6,i.IThemeService)],o)},2550:(O,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.WidthCache=void 0,r.WidthCache=class{constructor(a,l){this._flat=new Float32Array(256),this._font="",this._fontSize=0,this._weight="normal",this._weightBold="bold",this._measureElements=[],this._container=a.createElement("div"),this._container.classList.add("xterm-width-cache-measure-container"),this._container.setAttribute("aria-hidden","true"),this._container.style.whiteSpace="pre",this._container.style.fontKerning="none";const _=a.createElement("span");_.classList.add("xterm-char-measure-element");const n=a.createElement("span");n.classList.add("xterm-char-measure-element"),n.style.fontWeight="bold";const d=a.createElement("span");d.classList.add("xterm-char-measure-element"),d.style.fontStyle="italic";const v=a.createElement("span");v.classList.add("xterm-char-measure-element"),v.style.fontWeight="bold",v.style.fontStyle="italic",this._measureElements=[_,n,d,v],this._container.appendChild(_),this._container.appendChild(n),this._container.appendChild(d),this._container.appendChild(v),l.appendChild(this._container),this.clear()}dispose(){this._container.remove(),this._measureElements.length=0,this._holey=void 0}clear(){this._flat.fill(-9999),this._holey=new Map}setFont(a,l,_,n){a===this._font&&l===this._fontSize&&_===this._weight&&n===this._weightBold||(this._font=a,this._fontSize=l,this._weight=_,this._weightBold=n,this._container.style.fontFamily=this._font,this._container.style.fontSize=`${this._fontSize}px`,this._measureElements[0].style.fontWeight=`${_}`,this._measureElements[1].style.fontWeight=`${n}`,this._measureElements[2].style.fontWeight=`${_}`,this._measureElements[3].style.fontWeight=`${n}`,this.clear())}get(a,l,_){let n=0;if(!l&&!_&&a.length===1&&(n=a.charCodeAt(0))<256){if(this._flat[n]!==-9999)return this._flat[n];const g=this._measure(a,0);return g>0&&(this._flat[n]=g),g}let d=a;l&&(d+="B"),_&&(d+="I");let v=this._holey.get(d);if(v===void 0){let g=0;l&&(g|=1),_&&(g|=2),v=this._measure(a,g),v>0&&this._holey.set(d,v)}return v}_measure(a,l){const _=this._measureElements[l];return _.textContent=a.repeat(32),_.offsetWidth/32}}},2223:(O,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.TEXT_BASELINE=r.DIM_OPACITY=r.INVERTED_DEFAULT_COLOR=void 0;const l=a(6114);r.INVERTED_DEFAULT_COLOR=257,r.DIM_OPACITY=.5,r.TEXT_BASELINE=l.isFirefox||l.isLegacyEdge?"bottom":"ideographic"},6171:(O,r)=>{function a(_){return 57508<=_&&_<=57558}function l(_){return _>=128512&&_<=128591||_>=127744&&_<=128511||_>=128640&&_<=128767||_>=9728&&_<=9983||_>=9984&&_<=10175||_>=65024&&_<=65039||_>=129280&&_<=129535||_>=127462&&_<=127487}Object.defineProperty(r,"__esModule",{value:!0}),r.computeNextVariantOffset=r.createRenderDimensions=r.treatGlyphAsBackgroundColor=r.allowRescaling=r.isEmoji=r.isRestrictedPowerlineGlyph=r.isPowerlineGlyph=r.throwIfFalsy=void 0,r.throwIfFalsy=function(_){if(!_)throw new Error("value must not be falsy");return _},r.isPowerlineGlyph=a,r.isRestrictedPowerlineGlyph=function(_){return 57520<=_&&_<=57527},r.isEmoji=l,r.allowRescaling=function(_,n,d,v){return n===1&&d>Math.ceil(1.5*v)&&_!==void 0&&_>255&&!l(_)&&!a(_)&&!(function(g){return 57344<=g&&g<=63743})(_)},r.treatGlyphAsBackgroundColor=function(_){return a(_)||(function(n){return 9472<=n&&n<=9631})(_)},r.createRenderDimensions=function(){return{css:{canvas:{width:0,height:0},cell:{width:0,height:0}},device:{canvas:{width:0,height:0},cell:{width:0,height:0},char:{width:0,height:0,left:0,top:0}}}},r.computeNextVariantOffset=function(_,n,d=0){return(_-(2*Math.round(n)-d))%(2*Math.round(n))}},6052:(O,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.createSelectionRenderModel=void 0;class a{constructor(){this.clear()}clear(){this.hasSelection=!1,this.columnSelectMode=!1,this.viewportStartRow=0,this.viewportEndRow=0,this.viewportCappedStartRow=0,this.viewportCappedEndRow=0,this.startCol=0,this.endCol=0,this.selectionStart=void 0,this.selectionEnd=void 0}update(_,n,d,v=!1){if(this.selectionStart=n,this.selectionEnd=d,!n||!d||n[0]===d[0]&&n[1]===d[1])return void this.clear();const g=_.buffers.active.ydisp,h=n[1]-g,i=d[1]-g,s=Math.max(h,0),e=Math.min(i,_.rows-1);s>=_.rows||e<0?this.clear():(this.hasSelection=!0,this.columnSelectMode=v,this.viewportStartRow=h,this.viewportEndRow=i,this.viewportCappedStartRow=s,this.viewportCappedEndRow=e,this.startCol=n[0],this.endCol=d[0])}isCellSelected(_,n,d){return!!this.hasSelection&&(d-=_.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?n>=this.startCol&&d>=this.viewportCappedStartRow&&n<this.endCol&&d<=this.viewportCappedEndRow:n<this.startCol&&d>=this.viewportCappedStartRow&&n>=this.endCol&&d<=this.viewportCappedEndRow:d>this.viewportStartRow&&d<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&d===this.viewportStartRow&&n>=this.startCol&&n<this.endCol||this.viewportStartRow<this.viewportEndRow&&d===this.viewportEndRow&&n<this.endCol||this.viewportStartRow<this.viewportEndRow&&d===this.viewportStartRow&&n>=this.startCol)}}r.createSelectionRenderModel=function(){return new a}},456:(O,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.SelectionModel=void 0,r.SelectionModel=class{constructor(a){this._bufferService=a,this.isSelectAllActive=!1,this.selectionStartLength=0}clearSelection(){this.selectionStart=void 0,this.selectionEnd=void 0,this.isSelectAllActive=!1,this.selectionStartLength=0}get finalSelectionStart(){return this.isSelectAllActive?[0,0]:this.selectionEnd&&this.selectionStart&&this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart}get finalSelectionEnd(){if(this.isSelectAllActive)return[this._bufferService.cols,this._bufferService.buffer.ybase+this._bufferService.rows-1];if(this.selectionStart){if(!this.selectionEnd||this.areSelectionValuesReversed()){const a=this.selectionStart[0]+this.selectionStartLength;return a>this._bufferService.cols?a%this._bufferService.cols==0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(a/this._bufferService.cols)-1]:[a%this._bufferService.cols,this.selectionStart[1]+Math.floor(a/this._bufferService.cols)]:[a,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){const a=this.selectionStart[0]+this.selectionStartLength;return a>this._bufferService.cols?[a%this._bufferService.cols,this.selectionStart[1]+Math.floor(a/this._bufferService.cols)]:[Math.max(a,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){const a=this.selectionStart,l=this.selectionEnd;return!(!a||!l)&&(a[1]>l[1]||a[1]===l[1]&&a[0]>l[0])}handleTrim(a){return this.selectionStart&&(this.selectionStart[1]-=a),this.selectionEnd&&(this.selectionEnd[1]-=a),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}}},428:function(O,r,a){var l=this&&this.__decorate||function(e,t,o,f){var u,p=arguments.length,c=p<3?t:f===null?f=Object.getOwnPropertyDescriptor(t,o):f;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")c=Reflect.decorate(e,t,o,f);else for(var m=e.length-1;m>=0;m--)(u=e[m])&&(c=(p<3?u(c):p>3?u(t,o,c):u(t,o))||c);return p>3&&c&&Object.defineProperty(t,o,c),c},_=this&&this.__param||function(e,t){return function(o,f){t(o,f,e)}};Object.defineProperty(r,"__esModule",{value:!0}),r.CharSizeService=void 0;const n=a(2585),d=a(8460),v=a(844);let g=r.CharSizeService=class extends v.Disposable{get hasValidSize(){return this.width>0&&this.height>0}constructor(e,t,o){super(),this._optionsService=o,this.width=0,this.height=0,this._onCharSizeChange=this.register(new d.EventEmitter),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this.register(new s(this._optionsService))}catch{this._measureStrategy=this.register(new i(e,t,this._optionsService))}this.register(this._optionsService.onMultipleOptionChange(["fontFamily","fontSize"],(()=>this.measure())))}measure(){const e=this._measureStrategy.measure();e.width===this.width&&e.height===this.height||(this.width=e.width,this.height=e.height,this._onCharSizeChange.fire())}};r.CharSizeService=g=l([_(2,n.IOptionsService)],g);class h extends v.Disposable{constructor(){super(...arguments),this._result={width:0,height:0}}_validateAndSet(t,o){t!==void 0&&t>0&&o!==void 0&&o>0&&(this._result.width=t,this._result.height=o)}}class i extends h{constructor(t,o,f){super(),this._document=t,this._parentElement=o,this._optionsService=f,this._measureElement=this._document.createElement("span"),this._measureElement.classList.add("xterm-char-measure-element"),this._measureElement.textContent="W".repeat(32),this._measureElement.setAttribute("aria-hidden","true"),this._measureElement.style.whiteSpace="pre",this._measureElement.style.fontKerning="none",this._parentElement.appendChild(this._measureElement)}measure(){return this._measureElement.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._measureElement.style.fontSize=`${this._optionsService.rawOptions.fontSize}px`,this._validateAndSet(Number(this._measureElement.offsetWidth)/32,Number(this._measureElement.offsetHeight)),this._result}}class s extends h{constructor(t){super(),this._optionsService=t,this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext("2d");const o=this._ctx.measureText("W");if(!("width"in o&&"fontBoundingBoxAscent"in o&&"fontBoundingBoxDescent"in o))throw new Error("Required font metrics not supported")}measure(){this._ctx.font=`${this._optionsService.rawOptions.fontSize}px ${this._optionsService.rawOptions.fontFamily}`;const t=this._ctx.measureText("W");return this._validateAndSet(t.width,t.fontBoundingBoxAscent+t.fontBoundingBoxDescent),this._result}}},4269:function(O,r,a){var l=this&&this.__decorate||function(s,e,t,o){var f,u=arguments.length,p=u<3?e:o===null?o=Object.getOwnPropertyDescriptor(e,t):o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")p=Reflect.decorate(s,e,t,o);else for(var c=s.length-1;c>=0;c--)(f=s[c])&&(p=(u<3?f(p):u>3?f(e,t,p):f(e,t))||p);return u>3&&p&&Object.defineProperty(e,t,p),p},_=this&&this.__param||function(s,e){return function(t,o){e(t,o,s)}};Object.defineProperty(r,"__esModule",{value:!0}),r.CharacterJoinerService=r.JoinedCellData=void 0;const n=a(3734),d=a(643),v=a(511),g=a(2585);class h extends n.AttributeData{constructor(e,t,o){super(),this.content=0,this.combinedData="",this.fg=e.fg,this.bg=e.bg,this.combinedData=t,this._width=o}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(e){throw new Error("not implemented")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}r.JoinedCellData=h;let i=r.CharacterJoinerService=class me{constructor(e){this._bufferService=e,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new v.CellData}register(e){const t={id:this._nextCharacterJoinerId++,handler:e};return this._characterJoiners.push(t),t.id}deregister(e){for(let t=0;t<this._characterJoiners.length;t++)if(this._characterJoiners[t].id===e)return this._characterJoiners.splice(t,1),!0;return!1}getJoinedCharacters(e){if(this._characterJoiners.length===0)return[];const t=this._bufferService.buffer.lines.get(e);if(!t||t.length===0)return[];const o=[],f=t.translateToString(!0);let u=0,p=0,c=0,m=t.getFg(0),y=t.getBg(0);for(let k=0;k<t.getTrimmedLength();k++)if(t.loadCell(k,this._workCell),this._workCell.getWidth()!==0){if(this._workCell.fg!==m||this._workCell.bg!==y){if(k-u>1){const L=this._getJoinedRanges(f,c,p,t,u);for(let w=0;w<L.length;w++)o.push(L[w])}u=k,c=p,m=this._workCell.fg,y=this._workCell.bg}p+=this._workCell.getChars().length||d.WHITESPACE_CELL_CHAR.length}if(this._bufferService.cols-u>1){const k=this._getJoinedRanges(f,c,p,t,u);for(let L=0;L<k.length;L++)o.push(k[L])}return o}_getJoinedRanges(e,t,o,f,u){const p=e.substring(t,o);let c=[];try{c=this._characterJoiners[0].handler(p)}catch(m){console.error(m)}for(let m=1;m<this._characterJoiners.length;m++)try{const y=this._characterJoiners[m].handler(p);for(let k=0;k<y.length;k++)me._mergeRanges(c,y[k])}catch(y){console.error(y)}return this._stringRangesToCellRanges(c,f,u),c}_stringRangesToCellRanges(e,t,o){let f=0,u=!1,p=0,c=e[f];if(c){for(let m=o;m<this._bufferService.cols;m++){const y=t.getWidth(m),k=t.getString(m).length||d.WHITESPACE_CELL_CHAR.length;if(y!==0){if(!u&&c[0]<=p&&(c[0]=m,u=!0),c[1]<=p){if(c[1]=m,c=e[++f],!c)break;c[0]<=p?(c[0]=m,u=!0):u=!1}p+=k}}c&&(c[1]=this._bufferService.cols)}}static _mergeRanges(e,t){let o=!1;for(let f=0;f<e.length;f++){const u=e[f];if(o){if(t[1]<=u[0])return e[f-1][1]=t[1],e;if(t[1]<=u[1])return e[f-1][1]=Math.max(t[1],u[1]),e.splice(f,1),e;e.splice(f,1),f--}else{if(t[1]<=u[0])return e.splice(f,0,t),e;if(t[1]<=u[1])return u[0]=Math.min(t[0],u[0]),e;t[0]<u[1]&&(u[0]=Math.min(t[0],u[0]),o=!0)}}return o?e[e.length-1][1]=t[1]:e.push(t),e}};r.CharacterJoinerService=i=l([_(0,g.IBufferService)],i)},5114:(O,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.CoreBrowserService=void 0;const l=a(844),_=a(8460),n=a(3656);class d extends l.Disposable{constructor(h,i,s){super(),this._textarea=h,this._window=i,this.mainDocument=s,this._isFocused=!1,this._cachedIsFocused=void 0,this._screenDprMonitor=new v(this._window),this._onDprChange=this.register(new _.EventEmitter),this.onDprChange=this._onDprChange.event,this._onWindowChange=this.register(new _.EventEmitter),this.onWindowChange=this._onWindowChange.event,this.register(this.onWindowChange((e=>this._screenDprMonitor.setWindow(e)))),this.register((0,_.forwardEvent)(this._screenDprMonitor.onDprChange,this._onDprChange)),this._textarea.addEventListener("focus",(()=>this._isFocused=!0)),this._textarea.addEventListener("blur",(()=>this._isFocused=!1))}get window(){return this._window}set window(h){this._window!==h&&(this._window=h,this._onWindowChange.fire(this._window))}get dpr(){return this.window.devicePixelRatio}get isFocused(){return this._cachedIsFocused===void 0&&(this._cachedIsFocused=this._isFocused&&this._textarea.ownerDocument.hasFocus(),queueMicrotask((()=>this._cachedIsFocused=void 0))),this._cachedIsFocused}}r.CoreBrowserService=d;class v extends l.Disposable{constructor(h){super(),this._parentWindow=h,this._windowResizeListener=this.register(new l.MutableDisposable),this._onDprChange=this.register(new _.EventEmitter),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this.register((0,l.toDisposable)((()=>this.clearListener())))}setWindow(h){this._parentWindow=h,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=(0,n.addDisposableDomListener)(this._parentWindow,"resize",(()=>this._setDprAndFireIfDiffers()))}_setDprAndFireIfDiffers(){this._parentWindow.devicePixelRatio!==this._currentDevicePixelRatio&&this._onDprChange.fire(this._parentWindow.devicePixelRatio),this._updateDpr()}_updateDpr(){var h;this._outerListener&&((h=this._resolutionMediaMatchList)==null||h.removeListener(this._outerListener),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._resolutionMediaMatchList=this._parentWindow.matchMedia(`screen and (resolution: ${this._parentWindow.devicePixelRatio}dppx)`),this._resolutionMediaMatchList.addListener(this._outerListener))}clearListener(){this._resolutionMediaMatchList&&this._outerListener&&(this._resolutionMediaMatchList.removeListener(this._outerListener),this._resolutionMediaMatchList=void 0,this._outerListener=void 0)}}},779:(O,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.LinkProviderService=void 0;const l=a(844);class _ extends l.Disposable{constructor(){super(),this.linkProviders=[],this.register((0,l.toDisposable)((()=>this.linkProviders.length=0)))}registerLinkProvider(d){return this.linkProviders.push(d),{dispose:()=>{const v=this.linkProviders.indexOf(d);v!==-1&&this.linkProviders.splice(v,1)}}}}r.LinkProviderService=_},8934:function(O,r,a){var l=this&&this.__decorate||function(g,h,i,s){var e,t=arguments.length,o=t<3?h:s===null?s=Object.getOwnPropertyDescriptor(h,i):s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(g,h,i,s);else for(var f=g.length-1;f>=0;f--)(e=g[f])&&(o=(t<3?e(o):t>3?e(h,i,o):e(h,i))||o);return t>3&&o&&Object.defineProperty(h,i,o),o},_=this&&this.__param||function(g,h){return function(i,s){h(i,s,g)}};Object.defineProperty(r,"__esModule",{value:!0}),r.MouseService=void 0;const n=a(4725),d=a(9806);let v=r.MouseService=class{constructor(g,h){this._renderService=g,this._charSizeService=h}getCoords(g,h,i,s,e){return(0,d.getCoords)(window,g,h,i,s,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,e)}getMouseReportCoords(g,h){const i=(0,d.getCoordsRelativeToElement)(window,g,h);if(this._charSizeService.hasValidSize)return i[0]=Math.min(Math.max(i[0],0),this._renderService.dimensions.css.canvas.width-1),i[1]=Math.min(Math.max(i[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(i[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(i[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(i[0]),y:Math.floor(i[1])}}};r.MouseService=v=l([_(0,n.IRenderService),_(1,n.ICharSizeService)],v)},3230:function(O,r,a){var l=this&&this.__decorate||function(e,t,o,f){var u,p=arguments.length,c=p<3?t:f===null?f=Object.getOwnPropertyDescriptor(t,o):f;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")c=Reflect.decorate(e,t,o,f);else for(var m=e.length-1;m>=0;m--)(u=e[m])&&(c=(p<3?u(c):p>3?u(t,o,c):u(t,o))||c);return p>3&&c&&Object.defineProperty(t,o,c),c},_=this&&this.__param||function(e,t){return function(o,f){t(o,f,e)}};Object.defineProperty(r,"__esModule",{value:!0}),r.RenderService=void 0;const n=a(6193),d=a(4725),v=a(8460),g=a(844),h=a(7226),i=a(2585);let s=r.RenderService=class extends g.Disposable{get dimensions(){return this._renderer.value.dimensions}constructor(e,t,o,f,u,p,c,m){super(),this._rowCount=e,this._charSizeService=f,this._renderer=this.register(new g.MutableDisposable),this._pausedResizeTask=new h.DebouncedIdleTask,this._observerDisposable=this.register(new g.MutableDisposable),this._isPaused=!1,this._needsFullRefresh=!1,this._isNextRenderRedrawOnly=!0,this._needsSelectionRefresh=!1,this._canvasWidth=0,this._canvasHeight=0,this._selectionState={start:void 0,end:void 0,columnSelectMode:!1},this._onDimensionsChange=this.register(new v.EventEmitter),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this.register(new v.EventEmitter),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this.register(new v.EventEmitter),this.onRender=this._onRender.event,this._onRefreshRequest=this.register(new v.EventEmitter),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new n.RenderDebouncer(((y,k)=>this._renderRows(y,k)),c),this.register(this._renderDebouncer),this.register(c.onDprChange((()=>this.handleDevicePixelRatioChange()))),this.register(p.onResize((()=>this._fullRefresh()))),this.register(p.buffers.onBufferActivate((()=>{var y;return(y=this._renderer.value)==null?void 0:y.clear()}))),this.register(o.onOptionChange((()=>this._handleOptionsChanged()))),this.register(this._charSizeService.onCharSizeChange((()=>this.handleCharSizeChanged()))),this.register(u.onDecorationRegistered((()=>this._fullRefresh()))),this.register(u.onDecorationRemoved((()=>this._fullRefresh()))),this.register(o.onMultipleOptionChange(["customGlyphs","drawBoldTextInBrightColors","letterSpacing","lineHeight","fontFamily","fontSize","fontWeight","fontWeightBold","minimumContrastRatio","rescaleOverlappingGlyphs"],(()=>{this.clear(),this.handleResize(p.cols,p.rows),this._fullRefresh()}))),this.register(o.onMultipleOptionChange(["cursorBlink","cursorStyle"],(()=>this.refreshRows(p.buffer.y,p.buffer.y,!0)))),this.register(m.onChangeColors((()=>this._fullRefresh()))),this._registerIntersectionObserver(c.window,t),this.register(c.onWindowChange((y=>this._registerIntersectionObserver(y,t))))}_registerIntersectionObserver(e,t){if("IntersectionObserver"in e){const o=new e.IntersectionObserver((f=>this._handleIntersectionChange(f[f.length-1])),{threshold:0});o.observe(t),this._observerDisposable.value=(0,g.toDisposable)((()=>o.disconnect()))}}_handleIntersectionChange(e){this._isPaused=e.isIntersecting===void 0?e.intersectionRatio===0:!e.isIntersecting,this._isPaused||this._charSizeService.hasValidSize||this._charSizeService.measure(),!this._isPaused&&this._needsFullRefresh&&(this._pausedResizeTask.flush(),this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)}refreshRows(e,t,o=!1){this._isPaused?this._needsFullRefresh=!0:(o||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(e,t,this._rowCount))}_renderRows(e,t){this._renderer.value&&(e=Math.min(e,this._rowCount-1),t=Math.min(t,this._rowCount-1),this._renderer.value.renderRows(e,t),this._needsSelectionRefresh&&(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:e,end:t}),this._onRender.fire({start:e,end:t}),this._isNextRenderRedrawOnly=!0)}resize(e,t){this._rowCount=t,this._fireOnCanvasResize()}_handleOptionsChanged(){this._renderer.value&&(this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize())}_fireOnCanvasResize(){this._renderer.value&&(this._renderer.value.dimensions.css.canvas.width===this._canvasWidth&&this._renderer.value.dimensions.css.canvas.height===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.value.dimensions))}hasRenderer(){return!!this._renderer.value}setRenderer(e){this._renderer.value=e,this._renderer.value&&(this._renderer.value.onRequestRedraw((t=>this.refreshRows(t.start,t.end,!0))),this._needsSelectionRefresh=!0,this._fullRefresh())}addRefreshCallback(e){return this._renderDebouncer.addRefreshCallback(e)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){var e,t;this._renderer.value&&((t=(e=this._renderer.value).clearTextureAtlas)==null||t.call(e),this._fullRefresh())}handleDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.value&&(this._renderer.value.handleDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1))}handleResize(e,t){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set((()=>{var o;return(o=this._renderer.value)==null?void 0:o.handleResize(e,t)})):this._renderer.value.handleResize(e,t),this._fullRefresh())}handleCharSizeChanged(){var e;(e=this._renderer.value)==null||e.handleCharSizeChanged()}handleBlur(){var e;(e=this._renderer.value)==null||e.handleBlur()}handleFocus(){var e;(e=this._renderer.value)==null||e.handleFocus()}handleSelectionChanged(e,t,o){var f;this._selectionState.start=e,this._selectionState.end=t,this._selectionState.columnSelectMode=o,(f=this._renderer.value)==null||f.handleSelectionChanged(e,t,o)}handleCursorMove(){var e;(e=this._renderer.value)==null||e.handleCursorMove()}clear(){var e;(e=this._renderer.value)==null||e.clear()}};r.RenderService=s=l([_(2,i.IOptionsService),_(3,d.ICharSizeService),_(4,i.IDecorationService),_(5,i.IBufferService),_(6,d.ICoreBrowserService),_(7,d.IThemeService)],s)},9312:function(O,r,a){var l=this&&this.__decorate||function(c,m,y,k){var L,w=arguments.length,x=w<3?m:k===null?k=Object.getOwnPropertyDescriptor(m,y):k;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")x=Reflect.decorate(c,m,y,k);else for(var B=c.length-1;B>=0;B--)(L=c[B])&&(x=(w<3?L(x):w>3?L(m,y,x):L(m,y))||x);return w>3&&x&&Object.defineProperty(m,y,x),x},_=this&&this.__param||function(c,m){return function(y,k){m(y,k,c)}};Object.defineProperty(r,"__esModule",{value:!0}),r.SelectionService=void 0;const n=a(9806),d=a(9504),v=a(456),g=a(4725),h=a(8460),i=a(844),s=a(6114),e=a(4841),t=a(511),o=a(2585),f=" ",u=new RegExp(f,"g");let p=r.SelectionService=class extends i.Disposable{constructor(c,m,y,k,L,w,x,B,P){super(),this._element=c,this._screenElement=m,this._linkifier=y,this._bufferService=k,this._coreService=L,this._mouseService=w,this._optionsService=x,this._renderService=B,this._coreBrowserService=P,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new t.CellData,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this.register(new h.EventEmitter),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this.register(new h.EventEmitter),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this.register(new h.EventEmitter),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this.register(new h.EventEmitter),this.onRequestScrollLines=this._onRequestScrollLines.event,this._mouseMoveListener=U=>this._handleMouseMove(U),this._mouseUpListener=U=>this._handleMouseUp(U),this._coreService.onUserInput((()=>{this.hasSelection&&this.clearSelection()})),this._trimListener=this._bufferService.buffer.lines.onTrim((U=>this._handleTrim(U))),this.register(this._bufferService.buffers.onBufferActivate((U=>this._handleBufferActivate(U)))),this.enable(),this._model=new v.SelectionModel(this._bufferService),this._activeSelectionMode=0,this.register((0,i.toDisposable)((()=>{this._removeMouseDownListeners()})))}reset(){this.clearSelection()}disable(){this.clearSelection(),this._enabled=!1}enable(){this._enabled=!0}get selectionStart(){return this._model.finalSelectionStart}get selectionEnd(){return this._model.finalSelectionEnd}get hasSelection(){const c=this._model.finalSelectionStart,m=this._model.finalSelectionEnd;return!(!c||!m||c[0]===m[0]&&c[1]===m[1])}get selectionText(){const c=this._model.finalSelectionStart,m=this._model.finalSelectionEnd;if(!c||!m)return"";const y=this._bufferService.buffer,k=[];if(this._activeSelectionMode===3){if(c[0]===m[0])return"";const L=c[0]<m[0]?c[0]:m[0],w=c[0]<m[0]?m[0]:c[0];for(let x=c[1];x<=m[1];x++){const B=y.translateBufferLineToString(x,!0,L,w);k.push(B)}}else{const L=c[1]===m[1]?m[0]:void 0;k.push(y.translateBufferLineToString(c[1],!0,c[0],L));for(let w=c[1]+1;w<=m[1]-1;w++){const x=y.lines.get(w),B=y.translateBufferLineToString(w,!0);x!=null&&x.isWrapped?k[k.length-1]+=B:k.push(B)}if(c[1]!==m[1]){const w=y.lines.get(m[1]),x=y.translateBufferLineToString(m[1],!0,0,m[0]);w&&w.isWrapped?k[k.length-1]+=x:k.push(x)}}return k.map((L=>L.replace(u," "))).join(s.isWindows?`\r
6 -`:`
7 -`)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(c){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>this._refresh()))),s.isLinux&&c&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)}_refresh(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:this._activeSelectionMode===3})}_isClickInSelection(c){const m=this._getMouseBufferCoords(c),y=this._model.finalSelectionStart,k=this._model.finalSelectionEnd;return!!(y&&k&&m)&&this._areCoordsInSelection(m,y,k)}isCellInSelection(c,m){const y=this._model.finalSelectionStart,k=this._model.finalSelectionEnd;return!(!y||!k)&&this._areCoordsInSelection([c,m],y,k)}_areCoordsInSelection(c,m,y){return c[1]>m[1]&&c[1]<y[1]||m[1]===y[1]&&c[1]===m[1]&&c[0]>=m[0]&&c[0]<y[0]||m[1]<y[1]&&c[1]===y[1]&&c[0]<y[0]||m[1]<y[1]&&c[1]===m[1]&&c[0]>=m[0]}_selectWordAtCursor(c,m){var L,w;const y=(w=(L=this._linkifier.currentLink)==null?void 0:L.link)==null?void 0:w.range;if(y)return this._model.selectionStart=[y.start.x-1,y.start.y-1],this._model.selectionStartLength=(0,e.getRangeLength)(y,this._bufferService.cols),this._model.selectionEnd=void 0,!0;const k=this._getMouseBufferCoords(c);return!!k&&(this._selectWordAt(k,m),this._model.selectionEnd=void 0,!0)}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(c,m){this._model.clearSelection(),c=Math.max(c,0),m=Math.min(m,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,c],this._model.selectionEnd=[this._bufferService.cols,m],this.refresh(),this._onSelectionChange.fire()}_handleTrim(c){this._model.handleTrim(c)&&this.refresh()}_getMouseBufferCoords(c){const m=this._mouseService.getCoords(c,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(m)return m[0]--,m[1]--,m[1]+=this._bufferService.buffer.ydisp,m}_getMouseEventScrollAmount(c){let m=(0,n.getCoordsRelativeToElement)(this._coreBrowserService.window,c,this._screenElement)[1];const y=this._renderService.dimensions.css.canvas.height;return m>=0&&m<=y?0:(m>y&&(m-=y),m=Math.min(Math.max(m,-50),50),m/=50,m/Math.abs(m)+Math.round(14*m))}shouldForceSelection(c){return s.isMac?c.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:c.shiftKey}handleMouseDown(c){if(this._mouseDownTimeStamp=c.timeStamp,(c.button!==2||!this.hasSelection)&&c.button===0){if(!this._enabled){if(!this.shouldForceSelection(c))return;c.stopPropagation()}c.preventDefault(),this._dragScrollAmount=0,this._enabled&&c.shiftKey?this._handleIncrementalClick(c):c.detail===1?this._handleSingleClick(c):c.detail===2?this._handleDoubleClick(c):c.detail===3&&this._handleTripleClick(c),this._addMouseDownListeners(),this.refresh(!0)}}_addMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener("mouseup",this._mouseUpListener)),this._dragScrollIntervalTimer=this._coreBrowserService.window.setInterval((()=>this._dragScroll()),50)}_removeMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener("mouseup",this._mouseUpListener)),this._coreBrowserService.window.clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0}_handleIncrementalClick(c){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(c))}_handleSingleClick(c){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(c)?3:0,this._model.selectionStart=this._getMouseBufferCoords(c),!this._model.selectionStart)return;this._model.selectionEnd=void 0;const m=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);m&&m.length!==this._model.selectionStart[0]&&m.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(c){this._selectWordAtCursor(c,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(c){const m=this._getMouseBufferCoords(c);m&&(this._activeSelectionMode=2,this._selectLineAt(m[1]))}shouldColumnSelect(c){return c.altKey&&!(s.isMac&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(c){if(c.stopImmediatePropagation(),!this._model.selectionStart)return;const m=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(c),!this._model.selectionEnd)return void this.refresh(!0);this._activeSelectionMode===2?this._model.selectionEnd[1]<this._model.selectionStart[1]?this._model.selectionEnd[0]=0:this._model.selectionEnd[0]=this._bufferService.cols:this._activeSelectionMode===1&&this._selectToWordAt(this._model.selectionEnd),this._dragScrollAmount=this._getMouseEventScrollAmount(c),this._activeSelectionMode!==3&&(this._dragScrollAmount>0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));const y=this._bufferService.buffer;if(this._model.selectionEnd[1]<y.lines.length){const k=y.lines.get(this._model.selectionEnd[1]);k&&k.hasWidth(this._model.selectionEnd[0])===0&&this._model.selectionEnd[0]<this._bufferService.cols&&this._model.selectionEnd[0]++}m&&m[0]===this._model.selectionEnd[0]&&m[1]===this._model.selectionEnd[1]||this.refresh(!0)}_dragScroll(){if(this._model.selectionEnd&&this._model.selectionStart&&this._dragScrollAmount){this._onRequestScrollLines.fire({amount:this._dragScrollAmount,suppressScrollEvent:!1});const c=this._bufferService.buffer;this._dragScrollAmount>0?(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(c.ydisp+this._bufferService.rows,c.lines.length-1)):(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=c.ydisp),this.refresh()}}_handleMouseUp(c){const m=c.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&m<500&&c.altKey&&this._optionsService.rawOptions.altClickMovesCursor){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){const y=this._mouseService.getCoords(c,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(y&&y[0]!==void 0&&y[1]!==void 0){const k=(0,d.moveToCellSequence)(y[0]-1,y[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(k,!0)}}}else this._fireEventIfSelectionChanged()}_fireEventIfSelectionChanged(){const c=this._model.finalSelectionStart,m=this._model.finalSelectionEnd,y=!(!c||!m||c[0]===m[0]&&c[1]===m[1]);y?c&&m&&(this._oldSelectionStart&&this._oldSelectionEnd&&c[0]===this._oldSelectionStart[0]&&c[1]===this._oldSelectionStart[1]&&m[0]===this._oldSelectionEnd[0]&&m[1]===this._oldSelectionEnd[1]||this._fireOnSelectionChange(c,m,y)):this._oldHasSelection&&this._fireOnSelectionChange(c,m,y)}_fireOnSelectionChange(c,m,y){this._oldSelectionStart=c,this._oldSelectionEnd=m,this._oldHasSelection=y,this._onSelectionChange.fire()}_handleBufferActivate(c){this.clearSelection(),this._trimListener.dispose(),this._trimListener=c.activeBuffer.lines.onTrim((m=>this._handleTrim(m)))}_convertViewportColToCharacterIndex(c,m){let y=m;for(let k=0;m>=k;k++){const L=c.loadCell(k,this._workCell).getChars().length;this._workCell.getWidth()===0?y--:L>1&&m!==k&&(y+=L-1)}return y}setSelection(c,m,y){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[c,m],this._model.selectionStartLength=y,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(c){this._isClickInSelection(c)||(this._selectWordAtCursor(c,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(c,m,y=!0,k=!0){if(c[0]>=this._bufferService.cols)return;const L=this._bufferService.buffer,w=L.lines.get(c[1]);if(!w)return;const x=L.translateBufferLineToString(c[1],!1);let B=this._convertViewportColToCharacterIndex(w,c[0]),P=B;const U=c[0]-B;let I=0,S=0,b=0,E=0;if(x.charAt(B)===" "){for(;B>0&&x.charAt(B-1)===" ";)B--;for(;P<x.length&&x.charAt(P+1)===" ";)P++}else{let H=c[0],N=c[0];w.getWidth(H)===0&&(I++,H--),w.getWidth(N)===2&&(S++,N++);const $=w.getString(N).length;for($>1&&(E+=$-1,P+=$-1);H>0&&B>0&&!this._isCharWordSeparator(w.loadCell(H-1,this._workCell));){w.loadCell(H-1,this._workCell);const R=this._workCell.getChars().length;this._workCell.getWidth()===0?(I++,H--):R>1&&(b+=R-1,B-=R-1),B--,H--}for(;N<w.length&&P+1<x.length&&!this._isCharWordSeparator(w.loadCell(N+1,this._workCell));){w.loadCell(N+1,this._workCell);const R=this._workCell.getChars().length;this._workCell.getWidth()===2?(S++,N++):R>1&&(E+=R-1,P+=R-1),P++,N++}}P++;let D=B+U-I+b,T=Math.min(this._bufferService.cols,P-B+I+S-b-E);if(m||x.slice(B,P).trim()!==""){if(y&&D===0&&w.getCodePoint(0)!==32){const H=L.lines.get(c[1]-1);if(H&&w.isWrapped&&H.getCodePoint(this._bufferService.cols-1)!==32){const N=this._getWordAt([this._bufferService.cols-1,c[1]-1],!1,!0,!1);if(N){const $=this._bufferService.cols-N.start;D-=$,T+=$}}}if(k&&D+T===this._bufferService.cols&&w.getCodePoint(this._bufferService.cols-1)!==32){const H=L.lines.get(c[1]+1);if(H!=null&&H.isWrapped&&H.getCodePoint(0)!==32){const N=this._getWordAt([0,c[1]+1],!1,!1,!0);N&&(T+=N.length)}}return{start:D,length:T}}}_selectWordAt(c,m){const y=this._getWordAt(c,m);if(y){for(;y.start<0;)y.start+=this._bufferService.cols,c[1]--;this._model.selectionStart=[y.start,c[1]],this._model.selectionStartLength=y.length}}_selectToWordAt(c){const m=this._getWordAt(c,!0);if(m){let y=c[1];for(;m.start<0;)m.start+=this._bufferService.cols,y--;if(!this._model.areSelectionValuesReversed())for(;m.start+m.length>this._bufferService.cols;)m.length-=this._bufferService.cols,y++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?m.start:m.start+m.length,y]}}_isCharWordSeparator(c){return c.getWidth()!==0&&this._optionsService.rawOptions.wordSeparator.indexOf(c.getChars())>=0}_selectLineAt(c){const m=this._bufferService.buffer.getWrappedRangeForLine(c),y={start:{x:0,y:m.first},end:{x:this._bufferService.cols-1,y:m.last}};this._model.selectionStart=[0,m.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=(0,e.getRangeLength)(y,this._bufferService.cols)}};r.SelectionService=p=l([_(3,o.IBufferService),_(4,o.ICoreService),_(5,g.IMouseService),_(6,o.IOptionsService),_(7,g.IRenderService),_(8,g.ICoreBrowserService)],p)},4725:(O,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.ILinkProviderService=r.IThemeService=r.ICharacterJoinerService=r.ISelectionService=r.IRenderService=r.IMouseService=r.ICoreBrowserService=r.ICharSizeService=void 0;const l=a(8343);r.ICharSizeService=(0,l.createDecorator)("CharSizeService"),r.ICoreBrowserService=(0,l.createDecorator)("CoreBrowserService"),r.IMouseService=(0,l.createDecorator)("MouseService"),r.IRenderService=(0,l.createDecorator)("RenderService"),r.ISelectionService=(0,l.createDecorator)("SelectionService"),r.ICharacterJoinerService=(0,l.createDecorator)("CharacterJoinerService"),r.IThemeService=(0,l.createDecorator)("ThemeService"),r.ILinkProviderService=(0,l.createDecorator)("LinkProviderService")},6731:function(O,r,a){var l=this&&this.__decorate||function(p,c,m,y){var k,L=arguments.length,w=L<3?c:y===null?y=Object.getOwnPropertyDescriptor(c,m):y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")w=Reflect.decorate(p,c,m,y);else for(var x=p.length-1;x>=0;x--)(k=p[x])&&(w=(L<3?k(w):L>3?k(c,m,w):k(c,m))||w);return L>3&&w&&Object.defineProperty(c,m,w),w},_=this&&this.__param||function(p,c){return function(m,y){c(m,y,p)}};Object.defineProperty(r,"__esModule",{value:!0}),r.ThemeService=r.DEFAULT_ANSI_COLORS=void 0;const n=a(7239),d=a(8055),v=a(8460),g=a(844),h=a(2585),i=d.css.toColor("#ffffff"),s=d.css.toColor("#000000"),e=d.css.toColor("#ffffff"),t=d.css.toColor("#000000"),o={css:"rgba(255, 255, 255, 0.3)",rgba:4294967117};r.DEFAULT_ANSI_COLORS=Object.freeze((()=>{const p=[d.css.toColor("#2e3436"),d.css.toColor("#cc0000"),d.css.toColor("#4e9a06"),d.css.toColor("#c4a000"),d.css.toColor("#3465a4"),d.css.toColor("#75507b"),d.css.toColor("#06989a"),d.css.toColor("#d3d7cf"),d.css.toColor("#555753"),d.css.toColor("#ef2929"),d.css.toColor("#8ae234"),d.css.toColor("#fce94f"),d.css.toColor("#729fcf"),d.css.toColor("#ad7fa8"),d.css.toColor("#34e2e2"),d.css.toColor("#eeeeec")],c=[0,95,135,175,215,255];for(let m=0;m<216;m++){const y=c[m/36%6|0],k=c[m/6%6|0],L=c[m%6];p.push({css:d.channels.toCss(y,k,L),rgba:d.channels.toRgba(y,k,L)})}for(let m=0;m<24;m++){const y=8+10*m;p.push({css:d.channels.toCss(y,y,y),rgba:d.channels.toRgba(y,y,y)})}return p})());let f=r.ThemeService=class extends g.Disposable{get colors(){return this._colors}constructor(p){super(),this._optionsService=p,this._contrastCache=new n.ColorContrastCache,this._halfContrastCache=new n.ColorContrastCache,this._onChangeColors=this.register(new v.EventEmitter),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:i,background:s,cursor:e,cursorAccent:t,selectionForeground:void 0,selectionBackgroundTransparent:o,selectionBackgroundOpaque:d.color.blend(s,o),selectionInactiveBackgroundTransparent:o,selectionInactiveBackgroundOpaque:d.color.blend(s,o),ansi:r.DEFAULT_ANSI_COLORS.slice(),contrastCache:this._contrastCache,halfContrastCache:this._halfContrastCache},this._updateRestoreColors(),this._setTheme(this._optionsService.rawOptions.theme),this.register(this._optionsService.onSpecificOptionChange("minimumContrastRatio",(()=>this._contrastCache.clear()))),this.register(this._optionsService.onSpecificOptionChange("theme",(()=>this._setTheme(this._optionsService.rawOptions.theme))))}_setTheme(p={}){const c=this._colors;if(c.foreground=u(p.foreground,i),c.background=u(p.background,s),c.cursor=u(p.cursor,e),c.cursorAccent=u(p.cursorAccent,t),c.selectionBackgroundTransparent=u(p.selectionBackground,o),c.selectionBackgroundOpaque=d.color.blend(c.background,c.selectionBackgroundTransparent),c.selectionInactiveBackgroundTransparent=u(p.selectionInactiveBackground,c.selectionBackgroundTransparent),c.selectionInactiveBackgroundOpaque=d.color.blend(c.background,c.selectionInactiveBackgroundTransparent),c.selectionForeground=p.selectionForeground?u(p.selectionForeground,d.NULL_COLOR):void 0,c.selectionForeground===d.NULL_COLOR&&(c.selectionForeground=void 0),d.color.isOpaque(c.selectionBackgroundTransparent)&&(c.selectionBackgroundTransparent=d.color.opacity(c.selectionBackgroundTransparent,.3)),d.color.isOpaque(c.selectionInactiveBackgroundTransparent)&&(c.selectionInactiveBackgroundTransparent=d.color.opacity(c.selectionInactiveBackgroundTransparent,.3)),c.ansi=r.DEFAULT_ANSI_COLORS.slice(),c.ansi[0]=u(p.black,r.DEFAULT_ANSI_COLORS[0]),c.ansi[1]=u(p.red,r.DEFAULT_ANSI_COLORS[1]),c.ansi[2]=u(p.green,r.DEFAULT_ANSI_COLORS[2]),c.ansi[3]=u(p.yellow,r.DEFAULT_ANSI_COLORS[3]),c.ansi[4]=u(p.blue,r.DEFAULT_ANSI_COLORS[4]),c.ansi[5]=u(p.magenta,r.DEFAULT_ANSI_COLORS[5]),c.ansi[6]=u(p.cyan,r.DEFAULT_ANSI_COLORS[6]),c.ansi[7]=u(p.white,r.DEFAULT_ANSI_COLORS[7]),c.ansi[8]=u(p.brightBlack,r.DEFAULT_ANSI_COLORS[8]),c.ansi[9]=u(p.brightRed,r.DEFAULT_ANSI_COLORS[9]),c.ansi[10]=u(p.brightGreen,r.DEFAULT_ANSI_COLORS[10]),c.ansi[11]=u(p.brightYellow,r.DEFAULT_ANSI_COLORS[11]),c.ansi[12]=u(p.brightBlue,r.DEFAULT_ANSI_COLORS[12]),c.ansi[13]=u(p.brightMagenta,r.DEFAULT_ANSI_COLORS[13]),c.ansi[14]=u(p.brightCyan,r.DEFAULT_ANSI_COLORS[14]),c.ansi[15]=u(p.brightWhite,r.DEFAULT_ANSI_COLORS[15]),p.extendedAnsi){const m=Math.min(c.ansi.length-16,p.extendedAnsi.length);for(let y=0;y<m;y++)c.ansi[y+16]=u(p.extendedAnsi[y],r.DEFAULT_ANSI_COLORS[y+16])}this._contrastCache.clear(),this._halfContrastCache.clear(),this._updateRestoreColors(),this._onChangeColors.fire(this.colors)}restoreColor(p){this._restoreColor(p),this._onChangeColors.fire(this.colors)}_restoreColor(p){if(p!==void 0)switch(p){case 256:this._colors.foreground=this._restoreColors.foreground;break;case 257:this._colors.background=this._restoreColors.background;break;case 258:this._colors.cursor=this._restoreColors.cursor;break;default:this._colors.ansi[p]=this._restoreColors.ansi[p]}else for(let c=0;c<this._restoreColors.ansi.length;++c)this._colors.ansi[c]=this._restoreColors.ansi[c]}modifyColors(p){p(this._colors),this._onChangeColors.fire(this.colors)}_updateRestoreColors(){this._restoreColors={foreground:this._colors.foreground,background:this._colors.background,cursor:this._colors.cursor,ansi:this._colors.ansi.slice()}}};function u(p,c){if(p!==void 0)try{return d.css.toColor(p)}catch{}return c}r.ThemeService=f=l([_(0,h.IOptionsService)],f)},6349:(O,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.CircularList=void 0;const l=a(8460),_=a(844);class n extends _.Disposable{constructor(v){super(),this._maxLength=v,this.onDeleteEmitter=this.register(new l.EventEmitter),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this.register(new l.EventEmitter),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this.register(new l.EventEmitter),this.onTrim=this.onTrimEmitter.event,this._array=new Array(this._maxLength),this._startIndex=0,this._length=0}get maxLength(){return this._maxLength}set maxLength(v){if(this._maxLength===v)return;const g=new Array(v);for(let h=0;h<Math.min(v,this.length);h++)g[h]=this._array[this._getCyclicIndex(h)];this._array=g,this._maxLength=v,this._startIndex=0}get length(){return this._length}set length(v){if(v>this._length)for(let g=this._length;g<v;g++)this._array[g]=void 0;this._length=v}get(v){return this._array[this._getCyclicIndex(v)]}set(v,g){this._array[this._getCyclicIndex(v)]=g}push(v){this._array[this._getCyclicIndex(this._length)]=v,this._length===this._maxLength?(this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1)):this._length++}recycle(){if(this._length!==this._maxLength)throw new Error("Can only recycle when the buffer is full");return this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1),this._array[this._getCyclicIndex(this._length-1)]}get isFull(){return this._length===this._maxLength}pop(){return this._array[this._getCyclicIndex(this._length---1)]}splice(v,g,...h){if(g){for(let i=v;i<this._length-g;i++)this._array[this._getCyclicIndex(i)]=this._array[this._getCyclicIndex(i+g)];this._length-=g,this.onDeleteEmitter.fire({index:v,amount:g})}for(let i=this._length-1;i>=v;i--)this._array[this._getCyclicIndex(i+h.length)]=this._array[this._getCyclicIndex(i)];for(let i=0;i<h.length;i++)this._array[this._getCyclicIndex(v+i)]=h[i];if(h.length&&this.onInsertEmitter.fire({index:v,amount:h.length}),this._length+h.length>this._maxLength){const i=this._length+h.length-this._maxLength;this._startIndex+=i,this._length=this._maxLength,this.onTrimEmitter.fire(i)}else this._length+=h.length}trimStart(v){v>this._length&&(v=this._length),this._startIndex+=v,this._length-=v,this.onTrimEmitter.fire(v)}shiftElements(v,g,h){if(!(g<=0)){if(v<0||v>=this._length)throw new Error("start argument out of range");if(v+h<0)throw new Error("Cannot shift elements in list beyond index 0");if(h>0){for(let s=g-1;s>=0;s--)this.set(v+s+h,this.get(v+s));const i=v+g+h-this._length;if(i>0)for(this._length+=i;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let i=0;i<g;i++)this.set(v+i+h,this.get(v+i))}}_getCyclicIndex(v){return(this._startIndex+v)%this._maxLength}}r.CircularList=n},1439:(O,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.clone=void 0,r.clone=function a(l,_=5){if(typeof l!="object")return l;const n=Array.isArray(l)?[]:{};for(const d in l)n[d]=_<=1?l[d]:l[d]&&a(l[d],_-1);return n}},8055:(O,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.contrastRatio=r.toPaddedHex=r.rgba=r.rgb=r.css=r.color=r.channels=r.NULL_COLOR=void 0;let a=0,l=0,_=0,n=0;var d,v,g,h,i;function s(t){const o=t.toString(16);return o.length<2?"0"+o:o}function e(t,o){return t<o?(o+.05)/(t+.05):(t+.05)/(o+.05)}r.NULL_COLOR={css:"#00000000",rgba:0},(function(t){t.toCss=function(o,f,u,p){return p!==void 0?`#${s(o)}${s(f)}${s(u)}${s(p)}`:`#${s(o)}${s(f)}${s(u)}`},t.toRgba=function(o,f,u,p=255){return(o<<24|f<<16|u<<8|p)>>>0},t.toColor=function(o,f,u,p){return{css:t.toCss(o,f,u,p),rgba:t.toRgba(o,f,u,p)}}})(d||(r.channels=d={})),(function(t){function o(f,u){return n=Math.round(255*u),[a,l,_]=i.toChannels(f.rgba),{css:d.toCss(a,l,_,n),rgba:d.toRgba(a,l,_,n)}}t.blend=function(f,u){if(n=(255&u.rgba)/255,n===1)return{css:u.css,rgba:u.rgba};const p=u.rgba>>24&255,c=u.rgba>>16&255,m=u.rgba>>8&255,y=f.rgba>>24&255,k=f.rgba>>16&255,L=f.rgba>>8&255;return a=y+Math.round((p-y)*n),l=k+Math.round((c-k)*n),_=L+Math.round((m-L)*n),{css:d.toCss(a,l,_),rgba:d.toRgba(a,l,_)}},t.isOpaque=function(f){return(255&f.rgba)==255},t.ensureContrastRatio=function(f,u,p){const c=i.ensureContrastRatio(f.rgba,u.rgba,p);if(c)return d.toColor(c>>24&255,c>>16&255,c>>8&255)},t.opaque=function(f){const u=(255|f.rgba)>>>0;return[a,l,_]=i.toChannels(u),{css:d.toCss(a,l,_),rgba:u}},t.opacity=o,t.multiplyOpacity=function(f,u){return n=255&f.rgba,o(f,n*u/255)},t.toColorRGB=function(f){return[f.rgba>>24&255,f.rgba>>16&255,f.rgba>>8&255]}})(v||(r.color=v={})),(function(t){let o,f;try{const u=document.createElement("canvas");u.width=1,u.height=1;const p=u.getContext("2d",{willReadFrequently:!0});p&&(o=p,o.globalCompositeOperation="copy",f=o.createLinearGradient(0,0,1,1))}catch{}t.toColor=function(u){if(u.match(/#[\da-f]{3,8}/i))switch(u.length){case 4:return a=parseInt(u.slice(1,2).repeat(2),16),l=parseInt(u.slice(2,3).repeat(2),16),_=parseInt(u.slice(3,4).repeat(2),16),d.toColor(a,l,_);case 5:return a=parseInt(u.slice(1,2).repeat(2),16),l=parseInt(u.slice(2,3).repeat(2),16),_=parseInt(u.slice(3,4).repeat(2),16),n=parseInt(u.slice(4,5).repeat(2),16),d.toColor(a,l,_,n);case 7:return{css:u,rgba:(parseInt(u.slice(1),16)<<8|255)>>>0};case 9:return{css:u,rgba:parseInt(u.slice(1),16)>>>0}}const p=u.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(p)return a=parseInt(p[1]),l=parseInt(p[2]),_=parseInt(p[3]),n=Math.round(255*(p[5]===void 0?1:parseFloat(p[5]))),d.toColor(a,l,_,n);if(!o||!f)throw new Error("css.toColor: Unsupported css format");if(o.fillStyle=f,o.fillStyle=u,typeof o.fillStyle!="string")throw new Error("css.toColor: Unsupported css format");if(o.fillRect(0,0,1,1),[a,l,_,n]=o.getImageData(0,0,1,1).data,n!==255)throw new Error("css.toColor: Unsupported css format");return{rgba:d.toRgba(a,l,_,n),css:u}}})(g||(r.css=g={})),(function(t){function o(f,u,p){const c=f/255,m=u/255,y=p/255;return .2126*(c<=.03928?c/12.92:Math.pow((c+.055)/1.055,2.4))+.7152*(m<=.03928?m/12.92:Math.pow((m+.055)/1.055,2.4))+.0722*(y<=.03928?y/12.92:Math.pow((y+.055)/1.055,2.4))}t.relativeLuminance=function(f){return o(f>>16&255,f>>8&255,255&f)},t.relativeLuminance2=o})(h||(r.rgb=h={})),(function(t){function o(u,p,c){const m=u>>24&255,y=u>>16&255,k=u>>8&255;let L=p>>24&255,w=p>>16&255,x=p>>8&255,B=e(h.relativeLuminance2(L,w,x),h.relativeLuminance2(m,y,k));for(;B<c&&(L>0||w>0||x>0);)L-=Math.max(0,Math.ceil(.1*L)),w-=Math.max(0,Math.ceil(.1*w)),x-=Math.max(0,Math.ceil(.1*x)),B=e(h.relativeLuminance2(L,w,x),h.relativeLuminance2(m,y,k));return(L<<24|w<<16|x<<8|255)>>>0}function f(u,p,c){const m=u>>24&255,y=u>>16&255,k=u>>8&255;let L=p>>24&255,w=p>>16&255,x=p>>8&255,B=e(h.relativeLuminance2(L,w,x),h.relativeLuminance2(m,y,k));for(;B<c&&(L<255||w<255||x<255);)L=Math.min(255,L+Math.ceil(.1*(255-L))),w=Math.min(255,w+Math.ceil(.1*(255-w))),x=Math.min(255,x+Math.ceil(.1*(255-x))),B=e(h.relativeLuminance2(L,w,x),h.relativeLuminance2(m,y,k));return(L<<24|w<<16|x<<8|255)>>>0}t.blend=function(u,p){if(n=(255&p)/255,n===1)return p;const c=p>>24&255,m=p>>16&255,y=p>>8&255,k=u>>24&255,L=u>>16&255,w=u>>8&255;return a=k+Math.round((c-k)*n),l=L+Math.round((m-L)*n),_=w+Math.round((y-w)*n),d.toRgba(a,l,_)},t.ensureContrastRatio=function(u,p,c){const m=h.relativeLuminance(u>>8),y=h.relativeLuminance(p>>8);if(e(m,y)<c){if(y<m){const w=o(u,p,c),x=e(m,h.relativeLuminance(w>>8));if(x<c){const B=f(u,p,c);return x>e(m,h.relativeLuminance(B>>8))?w:B}return w}const k=f(u,p,c),L=e(m,h.relativeLuminance(k>>8));if(L<c){const w=o(u,p,c);return L>e(m,h.relativeLuminance(w>>8))?k:w}return k}},t.reduceLuminance=o,t.increaseLuminance=f,t.toChannels=function(u){return[u>>24&255,u>>16&255,u>>8&255,255&u]}})(i||(r.rgba=i={})),r.toPaddedHex=s,r.contrastRatio=e},8969:(O,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.CoreTerminal=void 0;const l=a(844),_=a(2585),n=a(4348),d=a(7866),v=a(744),g=a(7302),h=a(6975),i=a(8460),s=a(1753),e=a(1480),t=a(7994),o=a(9282),f=a(5435),u=a(5981),p=a(2660);let c=!1;class m extends l.Disposable{get onScroll(){return this._onScrollApi||(this._onScrollApi=this.register(new i.EventEmitter),this._onScroll.event((k=>{var L;(L=this._onScrollApi)==null||L.fire(k.position)}))),this._onScrollApi.event}get cols(){return this._bufferService.cols}get rows(){return this._bufferService.rows}get buffers(){return this._bufferService.buffers}get options(){return this.optionsService.options}set options(k){for(const L in k)this.optionsService.options[L]=k[L]}constructor(k){super(),this._windowsWrappingHeuristics=this.register(new l.MutableDisposable),this._onBinary=this.register(new i.EventEmitter),this.onBinary=this._onBinary.event,this._onData=this.register(new i.EventEmitter),this.onData=this._onData.event,this._onLineFeed=this.register(new i.EventEmitter),this.onLineFeed=this._onLineFeed.event,this._onResize=this.register(new i.EventEmitter),this.onResize=this._onResize.event,this._onWriteParsed=this.register(new i.EventEmitter),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this.register(new i.EventEmitter),this._instantiationService=new n.InstantiationService,this.optionsService=this.register(new g.OptionsService(k)),this._instantiationService.setService(_.IOptionsService,this.optionsService),this._bufferService=this.register(this._instantiationService.createInstance(v.BufferService)),this._instantiationService.setService(_.IBufferService,this._bufferService),this._logService=this.register(this._instantiationService.createInstance(d.LogService)),this._instantiationService.setService(_.ILogService,this._logService),this.coreService=this.register(this._instantiationService.createInstance(h.CoreService)),this._instantiationService.setService(_.ICoreService,this.coreService),this.coreMouseService=this.register(this._instantiationService.createInstance(s.CoreMouseService)),this._instantiationService.setService(_.ICoreMouseService,this.coreMouseService),this.unicodeService=this.register(this._instantiationService.createInstance(e.UnicodeService)),this._instantiationService.setService(_.IUnicodeService,this.unicodeService),this._charsetService=this._instantiationService.createInstance(t.CharsetService),this._instantiationService.setService(_.ICharsetService,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(p.OscLinkService),this._instantiationService.setService(_.IOscLinkService,this._oscLinkService),this._inputHandler=this.register(new f.InputHandler(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this.register((0,i.forwardEvent)(this._inputHandler.onLineFeed,this._onLineFeed)),this.register(this._inputHandler),this.register((0,i.forwardEvent)(this._bufferService.onResize,this._onResize)),this.register((0,i.forwardEvent)(this.coreService.onData,this._onData)),this.register((0,i.forwardEvent)(this.coreService.onBinary,this._onBinary)),this.register(this.coreService.onRequestScrollToBottom((()=>this.scrollToBottom()))),this.register(this.coreService.onUserInput((()=>this._writeBuffer.handleUserInput()))),this.register(this.optionsService.onMultipleOptionChange(["windowsMode","windowsPty"],(()=>this._handleWindowsPtyOptionChange()))),this.register(this._bufferService.onScroll((L=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp,source:0}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)}))),this.register(this._inputHandler.onScroll((L=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp,source:0}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)}))),this._writeBuffer=this.register(new u.WriteBuffer(((L,w)=>this._inputHandler.parse(L,w)))),this.register((0,i.forwardEvent)(this._writeBuffer.onWriteParsed,this._onWriteParsed))}write(k,L){this._writeBuffer.write(k,L)}writeSync(k,L){this._logService.logLevel<=_.LogLevelEnum.WARN&&!c&&(this._logService.warn("writeSync is unreliable and will be removed soon."),c=!0),this._writeBuffer.writeSync(k,L)}input(k,L=!0){this.coreService.triggerDataEvent(k,L)}resize(k,L){isNaN(k)||isNaN(L)||(k=Math.max(k,v.MINIMUM_COLS),L=Math.max(L,v.MINIMUM_ROWS),this._bufferService.resize(k,L))}scroll(k,L=!1){this._bufferService.scroll(k,L)}scrollLines(k,L,w){this._bufferService.scrollLines(k,L,w)}scrollPages(k){this.scrollLines(k*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(k){const L=k-this._bufferService.buffer.ydisp;L!==0&&this.scrollLines(L)}registerEscHandler(k,L){return this._inputHandler.registerEscHandler(k,L)}registerDcsHandler(k,L){return this._inputHandler.registerDcsHandler(k,L)}registerCsiHandler(k,L){return this._inputHandler.registerCsiHandler(k,L)}registerOscHandler(k,L){return this._inputHandler.registerOscHandler(k,L)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let k=!1;const L=this.optionsService.rawOptions.windowsPty;L&&L.buildNumber!==void 0&&L.buildNumber!==void 0?k=L.backend==="conpty"&&L.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&(k=!0),k?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){const k=[];k.push(this.onLineFeed(o.updateWindowsModeWrappedState.bind(null,this._bufferService))),k.push(this.registerCsiHandler({final:"H"},(()=>((0,o.updateWindowsModeWrappedState)(this._bufferService),!1)))),this._windowsWrappingHeuristics.value=(0,l.toDisposable)((()=>{for(const L of k)L.dispose()}))}}}r.CoreTerminal=m},8460:(O,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.runAndSubscribe=r.forwardEvent=r.EventEmitter=void 0,r.EventEmitter=class{constructor(){this._listeners=[],this._disposed=!1}get event(){return this._event||(this._event=a=>(this._listeners.push(a),{dispose:()=>{if(!this._disposed){for(let l=0;l<this._listeners.length;l++)if(this._listeners[l]===a)return void this._listeners.splice(l,1)}}})),this._event}fire(a,l){const _=[];for(let n=0;n<this._listeners.length;n++)_.push(this._listeners[n]);for(let n=0;n<_.length;n++)_[n].call(void 0,a,l)}dispose(){this.clearListeners(),this._disposed=!0}clearListeners(){this._listeners&&(this._listeners.length=0)}},r.forwardEvent=function(a,l){return a((_=>l.fire(_)))},r.runAndSubscribe=function(a,l){return l(void 0),a((_=>l(_)))}},5435:function(O,r,a){var l=this&&this.__decorate||function(I,S,b,E){var D,T=arguments.length,H=T<3?S:E===null?E=Object.getOwnPropertyDescriptor(S,b):E;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")H=Reflect.decorate(I,S,b,E);else for(var N=I.length-1;N>=0;N--)(D=I[N])&&(H=(T<3?D(H):T>3?D(S,b,H):D(S,b))||H);return T>3&&H&&Object.defineProperty(S,b,H),H},_=this&&this.__param||function(I,S){return function(b,E){S(b,E,I)}};Object.defineProperty(r,"__esModule",{value:!0}),r.InputHandler=r.WindowsOptionsReportType=void 0;const n=a(2584),d=a(7116),v=a(2015),g=a(844),h=a(482),i=a(8437),s=a(8460),e=a(643),t=a(511),o=a(3734),f=a(2585),u=a(1480),p=a(6242),c=a(6351),m=a(5941),y={"(":0,")":1,"*":2,"+":3,"-":1,".":2},k=131072;function L(I,S){if(I>24)return S.setWinLines||!1;switch(I){case 1:return!!S.restoreWin;case 2:return!!S.minimizeWin;case 3:return!!S.setWinPosition;case 4:return!!S.setWinSizePixels;case 5:return!!S.raiseWin;case 6:return!!S.lowerWin;case 7:return!!S.refreshWin;case 8:return!!S.setWinSizeChars;case 9:return!!S.maximizeWin;case 10:return!!S.fullscreenWin;case 11:return!!S.getWinState;case 13:return!!S.getWinPosition;case 14:return!!S.getWinSizePixels;case 15:return!!S.getScreenSizePixels;case 16:return!!S.getCellSizePixels;case 18:return!!S.getWinSizeChars;case 19:return!!S.getScreenSizeChars;case 20:return!!S.getIconTitle;case 21:return!!S.getWinTitle;case 22:return!!S.pushTitle;case 23:return!!S.popTitle;case 24:return!!S.setWinLines}return!1}var w;(function(I){I[I.GET_WIN_SIZE_PIXELS=0]="GET_WIN_SIZE_PIXELS",I[I.GET_CELL_SIZE_PIXELS=1]="GET_CELL_SIZE_PIXELS"})(w||(r.WindowsOptionsReportType=w={}));let x=0;class B extends g.Disposable{getAttrData(){return this._curAttrData}constructor(S,b,E,D,T,H,N,$,R=new v.EscapeSequenceParser){super(),this._bufferService=S,this._charsetService=b,this._coreService=E,this._logService=D,this._optionsService=T,this._oscLinkService=H,this._coreMouseService=N,this._unicodeService=$,this._parser=R,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new h.StringToUtf32,this._utf8Decoder=new h.Utf8ToUtf32,this._workCell=new t.CellData,this._windowTitle="",this._iconName="",this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=i.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=i.DEFAULT_ATTR_DATA.clone(),this._onRequestBell=this.register(new s.EventEmitter),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this.register(new s.EventEmitter),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this.register(new s.EventEmitter),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this.register(new s.EventEmitter),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this.register(new s.EventEmitter),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this.register(new s.EventEmitter),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this.register(new s.EventEmitter),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this.register(new s.EventEmitter),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this.register(new s.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this.register(new s.EventEmitter),this.onLineFeed=this._onLineFeed.event,this._onScroll=this.register(new s.EventEmitter),this.onScroll=this._onScroll.event,this._onTitleChange=this.register(new s.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onColor=this.register(new s.EventEmitter),this.onColor=this._onColor.event,this._parseStack={paused:!1,cursorStartX:0,cursorStartY:0,decodedLength:0,position:0},this._specialColors=[256,257,258],this.register(this._parser),this._dirtyRowTracker=new P(this._bufferService),this._activeBuffer=this._bufferService.buffer,this.register(this._bufferService.buffers.onBufferActivate((C=>this._activeBuffer=C.activeBuffer))),this._parser.setCsiHandlerFallback(((C,M)=>{this._logService.debug("Unknown CSI code: ",{identifier:this._parser.identToString(C),params:M.toArray()})})),this._parser.setEscHandlerFallback((C=>{this._logService.debug("Unknown ESC code: ",{identifier:this._parser.identToString(C)})})),this._parser.setExecuteHandlerFallback((C=>{this._logService.debug("Unknown EXECUTE code: ",{code:C})})),this._parser.setOscHandlerFallback(((C,M,A)=>{this._logService.debug("Unknown OSC code: ",{identifier:C,action:M,data:A})})),this._parser.setDcsHandlerFallback(((C,M,A)=>{M==="HOOK"&&(A=A.toArray()),this._logService.debug("Unknown DCS code: ",{identifier:this._parser.identToString(C),action:M,payload:A})})),this._parser.setPrintHandler(((C,M,A)=>this.print(C,M,A))),this._parser.registerCsiHandler({final:"@"},(C=>this.insertChars(C))),this._parser.registerCsiHandler({intermediates:" ",final:"@"},(C=>this.scrollLeft(C))),this._parser.registerCsiHandler({final:"A"},(C=>this.cursorUp(C))),this._parser.registerCsiHandler({intermediates:" ",final:"A"},(C=>this.scrollRight(C))),this._parser.registerCsiHandler({final:"B"},(C=>this.cursorDown(C))),this._parser.registerCsiHandler({final:"C"},(C=>this.cursorForward(C))),this._parser.registerCsiHandler({final:"D"},(C=>this.cursorBackward(C))),this._parser.registerCsiHandler({final:"E"},(C=>this.cursorNextLine(C))),this._parser.registerCsiHandler({final:"F"},(C=>this.cursorPrecedingLine(C))),this._parser.registerCsiHandler({final:"G"},(C=>this.cursorCharAbsolute(C))),this._parser.registerCsiHandler({final:"H"},(C=>this.cursorPosition(C))),this._parser.registerCsiHandler({final:"I"},(C=>this.cursorForwardTab(C))),this._parser.registerCsiHandler({final:"J"},(C=>this.eraseInDisplay(C,!1))),this._parser.registerCsiHandler({prefix:"?",final:"J"},(C=>this.eraseInDisplay(C,!0))),this._parser.registerCsiHandler({final:"K"},(C=>this.eraseInLine(C,!1))),this._parser.registerCsiHandler({prefix:"?",final:"K"},(C=>this.eraseInLine(C,!0))),this._parser.registerCsiHandler({final:"L"},(C=>this.insertLines(C))),this._parser.registerCsiHandler({final:"M"},(C=>this.deleteLines(C))),this._parser.registerCsiHandler({final:"P"},(C=>this.deleteChars(C))),this._parser.registerCsiHandler({final:"S"},(C=>this.scrollUp(C))),this._parser.registerCsiHandler({final:"T"},(C=>this.scrollDown(C))),this._parser.registerCsiHandler({final:"X"},(C=>this.eraseChars(C))),this._parser.registerCsiHandler({final:"Z"},(C=>this.cursorBackwardTab(C))),this._parser.registerCsiHandler({final:"`"},(C=>this.charPosAbsolute(C))),this._parser.registerCsiHandler({final:"a"},(C=>this.hPositionRelative(C))),this._parser.registerCsiHandler({final:"b"},(C=>this.repeatPrecedingCharacter(C))),this._parser.registerCsiHandler({final:"c"},(C=>this.sendDeviceAttributesPrimary(C))),this._parser.registerCsiHandler({prefix:">",final:"c"},(C=>this.sendDeviceAttributesSecondary(C))),this._parser.registerCsiHandler({final:"d"},(C=>this.linePosAbsolute(C))),this._parser.registerCsiHandler({final:"e"},(C=>this.vPositionRelative(C))),this._parser.registerCsiHandler({final:"f"},(C=>this.hVPosition(C))),this._parser.registerCsiHandler({final:"g"},(C=>this.tabClear(C))),this._parser.registerCsiHandler({final:"h"},(C=>this.setMode(C))),this._parser.registerCsiHandler({prefix:"?",final:"h"},(C=>this.setModePrivate(C))),this._parser.registerCsiHandler({final:"l"},(C=>this.resetMode(C))),this._parser.registerCsiHandler({prefix:"?",final:"l"},(C=>this.resetModePrivate(C))),this._parser.registerCsiHandler({final:"m"},(C=>this.charAttributes(C))),this._parser.registerCsiHandler({final:"n"},(C=>this.deviceStatus(C))),this._parser.registerCsiHandler({prefix:"?",final:"n"},(C=>this.deviceStatusPrivate(C))),this._parser.registerCsiHandler({intermediates:"!",final:"p"},(C=>this.softReset(C))),this._parser.registerCsiHandler({intermediates:" ",final:"q"},(C=>this.setCursorStyle(C))),this._parser.registerCsiHandler({final:"r"},(C=>this.setScrollRegion(C))),this._parser.registerCsiHandler({final:"s"},(C=>this.saveCursor(C))),this._parser.registerCsiHandler({final:"t"},(C=>this.windowOptions(C))),this._parser.registerCsiHandler({final:"u"},(C=>this.restoreCursor(C))),this._parser.registerCsiHandler({intermediates:"'",final:"}"},(C=>this.insertColumns(C))),this._parser.registerCsiHandler({intermediates:"'",final:"~"},(C=>this.deleteColumns(C))),this._parser.registerCsiHandler({intermediates:'"',final:"q"},(C=>this.selectProtected(C))),this._parser.registerCsiHandler({intermediates:"$",final:"p"},(C=>this.requestMode(C,!0))),this._parser.registerCsiHandler({prefix:"?",intermediates:"$",final:"p"},(C=>this.requestMode(C,!1))),this._parser.setExecuteHandler(n.C0.BEL,(()=>this.bell())),this._parser.setExecuteHandler(n.C0.LF,(()=>this.lineFeed())),this._parser.setExecuteHandler(n.C0.VT,(()=>this.lineFeed())),this._parser.setExecuteHandler(n.C0.FF,(()=>this.lineFeed())),this._parser.setExecuteHandler(n.C0.CR,(()=>this.carriageReturn())),this._parser.setExecuteHandler(n.C0.BS,(()=>this.backspace())),this._parser.setExecuteHandler(n.C0.HT,(()=>this.tab())),this._parser.setExecuteHandler(n.C0.SO,(()=>this.shiftOut())),this._parser.setExecuteHandler(n.C0.SI,(()=>this.shiftIn())),this._parser.setExecuteHandler(n.C1.IND,(()=>this.index())),this._parser.setExecuteHandler(n.C1.NEL,(()=>this.nextLine())),this._parser.setExecuteHandler(n.C1.HTS,(()=>this.tabSet())),this._parser.registerOscHandler(0,new p.OscHandler((C=>(this.setTitle(C),this.setIconName(C),!0)))),this._parser.registerOscHandler(1,new p.OscHandler((C=>this.setIconName(C)))),this._parser.registerOscHandler(2,new p.OscHandler((C=>this.setTitle(C)))),this._parser.registerOscHandler(4,new p.OscHandler((C=>this.setOrReportIndexedColor(C)))),this._parser.registerOscHandler(8,new p.OscHandler((C=>this.setHyperlink(C)))),this._parser.registerOscHandler(10,new p.OscHandler((C=>this.setOrReportFgColor(C)))),this._parser.registerOscHandler(11,new p.OscHandler((C=>this.setOrReportBgColor(C)))),this._parser.registerOscHandler(12,new p.OscHandler((C=>this.setOrReportCursorColor(C)))),this._parser.registerOscHandler(104,new p.OscHandler((C=>this.restoreIndexedColor(C)))),this._parser.registerOscHandler(110,new p.OscHandler((C=>this.restoreFgColor(C)))),this._parser.registerOscHandler(111,new p.OscHandler((C=>this.restoreBgColor(C)))),this._parser.registerOscHandler(112,new p.OscHandler((C=>this.restoreCursorColor(C)))),this._parser.registerEscHandler({final:"7"},(()=>this.saveCursor())),this._parser.registerEscHandler({final:"8"},(()=>this.restoreCursor())),this._parser.registerEscHandler({final:"D"},(()=>this.index())),this._parser.registerEscHandler({final:"E"},(()=>this.nextLine())),this._parser.registerEscHandler({final:"H"},(()=>this.tabSet())),this._parser.registerEscHandler({final:"M"},(()=>this.reverseIndex())),this._parser.registerEscHandler({final:"="},(()=>this.keypadApplicationMode())),this._parser.registerEscHandler({final:">"},(()=>this.keypadNumericMode())),this._parser.registerEscHandler({final:"c"},(()=>this.fullReset())),this._parser.registerEscHandler({final:"n"},(()=>this.setgLevel(2))),this._parser.registerEscHandler({final:"o"},(()=>this.setgLevel(3))),this._parser.registerEscHandler({final:"|"},(()=>this.setgLevel(3))),this._parser.registerEscHandler({final:"}"},(()=>this.setgLevel(2))),this._parser.registerEscHandler({final:"~"},(()=>this.setgLevel(1))),this._parser.registerEscHandler({intermediates:"%",final:"@"},(()=>this.selectDefaultCharset())),this._parser.registerEscHandler({intermediates:"%",final:"G"},(()=>this.selectDefaultCharset()));for(const C in d.CHARSETS)this._parser.registerEscHandler({intermediates:"(",final:C},(()=>this.selectCharset("("+C))),this._parser.registerEscHandler({intermediates:")",final:C},(()=>this.selectCharset(")"+C))),this._parser.registerEscHandler({intermediates:"*",final:C},(()=>this.selectCharset("*"+C))),this._parser.registerEscHandler({intermediates:"+",final:C},(()=>this.selectCharset("+"+C))),this._parser.registerEscHandler({intermediates:"-",final:C},(()=>this.selectCharset("-"+C))),this._parser.registerEscHandler({intermediates:".",final:C},(()=>this.selectCharset("."+C))),this._parser.registerEscHandler({intermediates:"/",final:C},(()=>this.selectCharset("/"+C)));this._parser.registerEscHandler({intermediates:"#",final:"8"},(()=>this.screenAlignmentPattern())),this._parser.setErrorHandler((C=>(this._logService.error("Parsing error: ",C),C))),this._parser.registerDcsHandler({intermediates:"$",final:"q"},new c.DcsHandler(((C,M)=>this.requestStatusString(C,M))))}_preserveStack(S,b,E,D){this._parseStack.paused=!0,this._parseStack.cursorStartX=S,this._parseStack.cursorStartY=b,this._parseStack.decodedLength=E,this._parseStack.position=D}_logSlowResolvingAsync(S){this._logService.logLevel<=f.LogLevelEnum.WARN&&Promise.race([S,new Promise(((b,E)=>setTimeout((()=>E("#SLOW_TIMEOUT")),5e3)))]).catch((b=>{if(b!=="#SLOW_TIMEOUT")throw b;console.warn("async parser handler taking longer than 5000 ms")}))}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(S,b){let E,D=this._activeBuffer.x,T=this._activeBuffer.y,H=0;const N=this._parseStack.paused;if(N){if(E=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,b))return this._logSlowResolvingAsync(E),E;D=this._parseStack.cursorStartX,T=this._parseStack.cursorStartY,this._parseStack.paused=!1,S.length>k&&(H=this._parseStack.position+k)}if(this._logService.logLevel<=f.LogLevelEnum.DEBUG&&this._logService.debug("parsing data"+(typeof S=="string"?` "${S}"`:` "${Array.prototype.map.call(S,(C=>String.fromCharCode(C))).join("")}"`),typeof S=="string"?S.split("").map((C=>C.charCodeAt(0))):S),this._parseBuffer.length<S.length&&this._parseBuffer.length<k&&(this._parseBuffer=new Uint32Array(Math.min(S.length,k))),N||this._dirtyRowTracker.clearRange(),S.length>k)for(let C=H;C<S.length;C+=k){const M=C+k<S.length?C+k:S.length,A=typeof S=="string"?this._stringDecoder.decode(S.substring(C,M),this._parseBuffer):this._utf8Decoder.decode(S.subarray(C,M),this._parseBuffer);if(E=this._parser.parse(this._parseBuffer,A))return this._preserveStack(D,T,A,C),this._logSlowResolvingAsync(E),E}else if(!N){const C=typeof S=="string"?this._stringDecoder.decode(S,this._parseBuffer):this._utf8Decoder.decode(S,this._parseBuffer);if(E=this._parser.parse(this._parseBuffer,C))return this._preserveStack(D,T,C,0),this._logSlowResolvingAsync(E),E}this._activeBuffer.x===D&&this._activeBuffer.y===T||this._onCursorMove.fire();const $=this._dirtyRowTracker.end+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp),R=this._dirtyRowTracker.start+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp);R<this._bufferService.rows&&this._onRequestRefreshRows.fire(Math.min(R,this._bufferService.rows-1),Math.min($,this._bufferService.rows-1))}print(S,b,E){let D,T;const H=this._charsetService.charset,N=this._optionsService.rawOptions.screenReaderMode,$=this._bufferService.cols,R=this._coreService.decPrivateModes.wraparound,C=this._coreService.modes.insertMode,M=this._curAttrData;let A=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._activeBuffer.x&&E-b>0&&A.getWidth(this._activeBuffer.x-1)===2&&A.setCellFromCodepoint(this._activeBuffer.x-1,0,1,M);let W=this._parser.precedingJoinState;for(let F=b;F<E;++F){if(D=S[F],D<127&&H){const X=H[String.fromCharCode(D)];X&&(D=X.charCodeAt(0))}const z=this._unicodeService.charProperties(D,W);T=u.UnicodeService.extractWidth(z);const q=u.UnicodeService.extractShouldJoin(z),V=q?u.UnicodeService.extractWidth(W):0;if(W=z,N&&this._onA11yChar.fire((0,h.stringFromCodePoint)(D)),this._getCurrentLinkId()&&this._oscLinkService.addLineToLink(this._getCurrentLinkId(),this._activeBuffer.ybase+this._activeBuffer.y),this._activeBuffer.x+T-V>$){if(R){const X=A;let j=this._activeBuffer.x-V;for(this._activeBuffer.x=V,this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData(),!0)):(this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!0),A=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),V>0&&A instanceof i.BufferLine&&A.copyCellsFrom(X,j,0,V,!1);j<$;)X.setCellFromCodepoint(j++,0,1,M)}else if(this._activeBuffer.x=$-1,T===2)continue}if(q&&this._activeBuffer.x){const X=A.getWidth(this._activeBuffer.x-1)?1:2;A.addCodepointToCell(this._activeBuffer.x-X,D,T);for(let j=T-V;--j>=0;)A.setCellFromCodepoint(this._activeBuffer.x++,0,0,M)}else if(C&&(A.insertCells(this._activeBuffer.x,T-V,this._activeBuffer.getNullCell(M)),A.getWidth($-1)===2&&A.setCellFromCodepoint($-1,e.NULL_CELL_CODE,e.NULL_CELL_WIDTH,M)),A.setCellFromCodepoint(this._activeBuffer.x++,D,T,M),T>0)for(;--T;)A.setCellFromCodepoint(this._activeBuffer.x++,0,0,M)}this._parser.precedingJoinState=W,this._activeBuffer.x<$&&E-b>0&&A.getWidth(this._activeBuffer.x)===0&&!A.hasContent(this._activeBuffer.x)&&A.setCellFromCodepoint(this._activeBuffer.x,0,1,M),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(S,b){return S.final!=="t"||S.prefix||S.intermediates?this._parser.registerCsiHandler(S,b):this._parser.registerCsiHandler(S,(E=>!L(E.params[0],this._optionsService.rawOptions.windowOptions)||b(E)))}registerDcsHandler(S,b){return this._parser.registerDcsHandler(S,new c.DcsHandler(b))}registerEscHandler(S,b){return this._parser.registerEscHandler(S,b)}registerOscHandler(S,b){return this._parser.registerOscHandler(S,new p.OscHandler(b))}bell(){return this._onRequestBell.fire(),!0}lineFeed(){return this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._optionsService.rawOptions.convertEol&&(this._activeBuffer.x=0),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows?this._activeBuffer.y=this._bufferService.rows-1:this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.x>=this._bufferService.cols&&this._activeBuffer.x--,this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._onLineFeed.fire(),!0}carriageReturn(){return this._activeBuffer.x=0,!0}backspace(){var S;if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),this._activeBuffer.x>0&&this._activeBuffer.x--,!0;if(this._restrictCursor(this._bufferService.cols),this._activeBuffer.x>0)this._activeBuffer.x--;else if(this._activeBuffer.x===0&&this._activeBuffer.y>this._activeBuffer.scrollTop&&this._activeBuffer.y<=this._activeBuffer.scrollBottom&&((S=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y))!=null&&S.isWrapped)){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;const b=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);b.hasWidth(this._activeBuffer.x)&&!b.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;const S=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-S),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(S=this._bufferService.cols-1){this._activeBuffer.x=Math.min(S,Math.max(0,this._activeBuffer.x)),this._activeBuffer.y=this._coreService.decPrivateModes.origin?Math.min(this._activeBuffer.scrollBottom,Math.max(this._activeBuffer.scrollTop,this._activeBuffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._activeBuffer.y)),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_setCursor(S,b){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=S,this._activeBuffer.y=this._activeBuffer.scrollTop+b):(this._activeBuffer.x=S,this._activeBuffer.y=b),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(S,b){this._restrictCursor(),this._setCursor(this._activeBuffer.x+S,this._activeBuffer.y+b)}cursorUp(S){const b=this._activeBuffer.y-this._activeBuffer.scrollTop;return b>=0?this._moveCursor(0,-Math.min(b,S.params[0]||1)):this._moveCursor(0,-(S.params[0]||1)),!0}cursorDown(S){const b=this._activeBuffer.scrollBottom-this._activeBuffer.y;return b>=0?this._moveCursor(0,Math.min(b,S.params[0]||1)):this._moveCursor(0,S.params[0]||1),!0}cursorForward(S){return this._moveCursor(S.params[0]||1,0),!0}cursorBackward(S){return this._moveCursor(-(S.params[0]||1),0),!0}cursorNextLine(S){return this.cursorDown(S),this._activeBuffer.x=0,!0}cursorPrecedingLine(S){return this.cursorUp(S),this._activeBuffer.x=0,!0}cursorCharAbsolute(S){return this._setCursor((S.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(S){return this._setCursor(S.length>=2?(S.params[1]||1)-1:0,(S.params[0]||1)-1),!0}charPosAbsolute(S){return this._setCursor((S.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(S){return this._moveCursor(S.params[0]||1,0),!0}linePosAbsolute(S){return this._setCursor(this._activeBuffer.x,(S.params[0]||1)-1),!0}vPositionRelative(S){return this._moveCursor(0,S.params[0]||1),!0}hVPosition(S){return this.cursorPosition(S),!0}tabClear(S){const b=S.params[0];return b===0?delete this._activeBuffer.tabs[this._activeBuffer.x]:b===3&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(S){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let b=S.params[0]||1;for(;b--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(S){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let b=S.params[0]||1;for(;b--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(S){const b=S.params[0];return b===1&&(this._curAttrData.bg|=536870912),b!==2&&b!==0||(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(S,b,E,D=!1,T=!1){const H=this._activeBuffer.lines.get(this._activeBuffer.ybase+S);H.replaceCells(b,E,this._activeBuffer.getNullCell(this._eraseAttrData()),T),D&&(H.isWrapped=!1)}_resetBufferLine(S,b=!1){const E=this._activeBuffer.lines.get(this._activeBuffer.ybase+S);E&&(E.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),b),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+S),E.isWrapped=!1)}eraseInDisplay(S,b=!1){let E;switch(this._restrictCursor(this._bufferService.cols),S.params[0]){case 0:for(E=this._activeBuffer.y,this._dirtyRowTracker.markDirty(E),this._eraseInBufferLine(E++,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,b);E<this._bufferService.rows;E++)this._resetBufferLine(E,b);this._dirtyRowTracker.markDirty(E);break;case 1:for(E=this._activeBuffer.y,this._dirtyRowTracker.markDirty(E),this._eraseInBufferLine(E,0,this._activeBuffer.x+1,!0,b),this._activeBuffer.x+1>=this._bufferService.cols&&(this._activeBuffer.lines.get(E+1).isWrapped=!1);E--;)this._resetBufferLine(E,b);this._dirtyRowTracker.markDirty(0);break;case 2:for(E=this._bufferService.rows,this._dirtyRowTracker.markDirty(E-1);E--;)this._resetBufferLine(E,b);this._dirtyRowTracker.markDirty(0);break;case 3:const D=this._activeBuffer.lines.length-this._bufferService.rows;D>0&&(this._activeBuffer.lines.trimStart(D),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-D,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-D,0),this._onScroll.fire(0))}return!0}eraseInLine(S,b=!1){switch(this._restrictCursor(this._bufferService.cols),S.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,b);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,b);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,b)}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(S){this._restrictCursor();let b=S.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const E=this._activeBuffer.ybase+this._activeBuffer.y,D=this._bufferService.rows-1-this._activeBuffer.scrollBottom,T=this._bufferService.rows-1+this._activeBuffer.ybase-D+1;for(;b--;)this._activeBuffer.lines.splice(T-1,1),this._activeBuffer.lines.splice(E,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}deleteLines(S){this._restrictCursor();let b=S.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const E=this._activeBuffer.ybase+this._activeBuffer.y;let D;for(D=this._bufferService.rows-1-this._activeBuffer.scrollBottom,D=this._bufferService.rows-1+this._activeBuffer.ybase-D;b--;)this._activeBuffer.lines.splice(E,1),this._activeBuffer.lines.splice(D,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}insertChars(S){this._restrictCursor();const b=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return b&&(b.insertCells(this._activeBuffer.x,S.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}deleteChars(S){this._restrictCursor();const b=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return b&&(b.deleteCells(this._activeBuffer.x,S.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}scrollUp(S){let b=S.params[0]||1;for(;b--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollDown(S){let b=S.params[0]||1;for(;b--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,0,this._activeBuffer.getBlankLine(i.DEFAULT_ATTR_DATA));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollLeft(S){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const b=S.params[0]||1;for(let E=this._activeBuffer.scrollTop;E<=this._activeBuffer.scrollBottom;++E){const D=this._activeBuffer.lines.get(this._activeBuffer.ybase+E);D.deleteCells(0,b,this._activeBuffer.getNullCell(this._eraseAttrData())),D.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollRight(S){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const b=S.params[0]||1;for(let E=this._activeBuffer.scrollTop;E<=this._activeBuffer.scrollBottom;++E){const D=this._activeBuffer.lines.get(this._activeBuffer.ybase+E);D.insertCells(0,b,this._activeBuffer.getNullCell(this._eraseAttrData())),D.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}insertColumns(S){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const b=S.params[0]||1;for(let E=this._activeBuffer.scrollTop;E<=this._activeBuffer.scrollBottom;++E){const D=this._activeBuffer.lines.get(this._activeBuffer.ybase+E);D.insertCells(this._activeBuffer.x,b,this._activeBuffer.getNullCell(this._eraseAttrData())),D.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}deleteColumns(S){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const b=S.params[0]||1;for(let E=this._activeBuffer.scrollTop;E<=this._activeBuffer.scrollBottom;++E){const D=this._activeBuffer.lines.get(this._activeBuffer.ybase+E);D.deleteCells(this._activeBuffer.x,b,this._activeBuffer.getNullCell(this._eraseAttrData())),D.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}eraseChars(S){this._restrictCursor();const b=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return b&&(b.replaceCells(this._activeBuffer.x,this._activeBuffer.x+(S.params[0]||1),this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}repeatPrecedingCharacter(S){const b=this._parser.precedingJoinState;if(!b)return!0;const E=S.params[0]||1,D=u.UnicodeService.extractWidth(b),T=this._activeBuffer.x-D,H=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).getString(T),N=new Uint32Array(H.length*E);let $=0;for(let C=0;C<H.length;){const M=H.codePointAt(C)||0;N[$++]=M,C+=M>65535?2:1}let R=$;for(let C=1;C<E;++C)N.copyWithin(R,0,$),R+=$;return this.print(N,0,R),!0}sendDeviceAttributesPrimary(S){return S.params[0]>0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(n.C0.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(n.C0.ESC+"[?6c")),!0}sendDeviceAttributesSecondary(S){return S.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(n.C0.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(n.C0.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(S.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(n.C0.ESC+"[>83;40003;0c")),!0}_is(S){return(this._optionsService.rawOptions.termName+"").indexOf(S)===0}setMode(S){for(let b=0;b<S.length;b++)switch(S.params[b]){case 4:this._coreService.modes.insertMode=!0;break;case 20:this._optionsService.options.convertEol=!0}return!0}setModePrivate(S){for(let b=0;b<S.length;b++)switch(S.params[b]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!0;break;case 2:this._charsetService.setgCharset(0,d.DEFAULT_CHARSET),this._charsetService.setgCharset(1,d.DEFAULT_CHARSET),this._charsetService.setgCharset(2,d.DEFAULT_CHARSET),this._charsetService.setgCharset(3,d.DEFAULT_CHARSET);break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(132,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!0,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!0;break;case 12:this._optionsService.options.cursorBlink=!0;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!0;break;case 66:this._logService.debug("Serial port requested application keypad."),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire();break;case 9:this._coreMouseService.activeProtocol="X10";break;case 1e3:this._coreMouseService.activeProtocol="VT200";break;case 1002:this._coreMouseService.activeProtocol="DRAG";break;case 1003:this._coreMouseService.activeProtocol="ANY";break;case 1004:this._coreService.decPrivateModes.sendFocus=!0,this._onRequestSendFocus.fire();break;case 1005:this._logService.debug("DECSET 1005 not supported (see #2507)");break;case 1006:this._coreMouseService.activeEncoding="SGR";break;case 1015:this._logService.debug("DECSET 1015 not supported (see #2507)");break;case 1016:this._coreMouseService.activeEncoding="SGR_PIXELS";break;case 25:this._coreService.isCursorHidden=!1;break;case 1048:this.saveCursor();break;case 1049:this.saveCursor();case 47:case 1047:this._bufferService.buffers.activateAltBuffer(this._eraseAttrData()),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(0,this._bufferService.rows-1),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!0}return!0}resetMode(S){for(let b=0;b<S.length;b++)switch(S.params[b]){case 4:this._coreService.modes.insertMode=!1;break;case 20:this._optionsService.options.convertEol=!1}return!0}resetModePrivate(S){for(let b=0;b<S.length;b++)switch(S.params[b]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!1;break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(80,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!1,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!1;break;case 12:this._optionsService.options.cursorBlink=!1;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!1;break;case 66:this._logService.debug("Switching back to normal keypad."),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire();break;case 9:case 1e3:case 1002:case 1003:this._coreMouseService.activeProtocol="NONE";break;case 1004:this._coreService.decPrivateModes.sendFocus=!1;break;case 1005:this._logService.debug("DECRST 1005 not supported (see #2507)");break;case 1006:case 1016:this._coreMouseService.activeEncoding="DEFAULT";break;case 1015:this._logService.debug("DECRST 1015 not supported (see #2507)");break;case 25:this._coreService.isCursorHidden=!0;break;case 1048:this.restoreCursor();break;case 1049:case 47:case 1047:this._bufferService.buffers.activateNormalBuffer(),S.params[b]===1049&&this.restoreCursor(),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(0,this._bufferService.rows-1),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!1}return!0}requestMode(S,b){const E=this._coreService.decPrivateModes,{activeProtocol:D,activeEncoding:T}=this._coreMouseService,H=this._coreService,{buffers:N,cols:$}=this._bufferService,{active:R,alt:C}=N,M=this._optionsService.rawOptions,A=q=>q?1:2,W=S.params[0];return F=W,z=b?W===2?4:W===4?A(H.modes.insertMode):W===12?3:W===20?A(M.convertEol):0:W===1?A(E.applicationCursorKeys):W===3?M.windowOptions.setWinLines?$===80?2:$===132?1:0:0:W===6?A(E.origin):W===7?A(E.wraparound):W===8?3:W===9?A(D==="X10"):W===12?A(M.cursorBlink):W===25?A(!H.isCursorHidden):W===45?A(E.reverseWraparound):W===66?A(E.applicationKeypad):W===67?4:W===1e3?A(D==="VT200"):W===1002?A(D==="DRAG"):W===1003?A(D==="ANY"):W===1004?A(E.sendFocus):W===1005?4:W===1006?A(T==="SGR"):W===1015?4:W===1016?A(T==="SGR_PIXELS"):W===1048?1:W===47||W===1047||W===1049?A(R===C):W===2004?A(E.bracketedPasteMode):0,H.triggerDataEvent(`${n.C0.ESC}[${b?"":"?"}${F};${z}$y`),!0;var F,z}_updateAttrColor(S,b,E,D,T){return b===2?(S|=50331648,S&=-16777216,S|=o.AttributeData.fromColorRGB([E,D,T])):b===5&&(S&=-50331904,S|=33554432|255&E),S}_extractColor(S,b,E){const D=[0,0,-1,0,0,0];let T=0,H=0;do{if(D[H+T]=S.params[b+H],S.hasSubParams(b+H)){const N=S.getSubParams(b+H);let $=0;do D[1]===5&&(T=1),D[H+$+1+T]=N[$];while(++$<N.length&&$+H+1+T<D.length);break}if(D[1]===5&&H+T>=2||D[1]===2&&H+T>=5)break;D[1]&&(T=1)}while(++H+b<S.length&&H+T<D.length);for(let N=2;N<D.length;++N)D[N]===-1&&(D[N]=0);switch(D[0]){case 38:E.fg=this._updateAttrColor(E.fg,D[1],D[3],D[4],D[5]);break;case 48:E.bg=this._updateAttrColor(E.bg,D[1],D[3],D[4],D[5]);break;case 58:E.extended=E.extended.clone(),E.extended.underlineColor=this._updateAttrColor(E.extended.underlineColor,D[1],D[3],D[4],D[5])}return H}_processUnderline(S,b){b.extended=b.extended.clone(),(!~S||S>5)&&(S=1),b.extended.underlineStyle=S,b.fg|=268435456,S===0&&(b.fg&=-268435457),b.updateExtended()}_processSGR0(S){S.fg=i.DEFAULT_ATTR_DATA.fg,S.bg=i.DEFAULT_ATTR_DATA.bg,S.extended=S.extended.clone(),S.extended.underlineStyle=0,S.extended.underlineColor&=-67108864,S.updateExtended()}charAttributes(S){if(S.length===1&&S.params[0]===0)return this._processSGR0(this._curAttrData),!0;const b=S.length;let E;const D=this._curAttrData;for(let T=0;T<b;T++)E=S.params[T],E>=30&&E<=37?(D.fg&=-50331904,D.fg|=16777216|E-30):E>=40&&E<=47?(D.bg&=-50331904,D.bg|=16777216|E-40):E>=90&&E<=97?(D.fg&=-50331904,D.fg|=16777224|E-90):E>=100&&E<=107?(D.bg&=-50331904,D.bg|=16777224|E-100):E===0?this._processSGR0(D):E===1?D.fg|=134217728:E===3?D.bg|=67108864:E===4?(D.fg|=268435456,this._processUnderline(S.hasSubParams(T)?S.getSubParams(T)[0]:1,D)):E===5?D.fg|=536870912:E===7?D.fg|=67108864:E===8?D.fg|=1073741824:E===9?D.fg|=2147483648:E===2?D.bg|=134217728:E===21?this._processUnderline(2,D):E===22?(D.fg&=-134217729,D.bg&=-134217729):E===23?D.bg&=-67108865:E===24?(D.fg&=-268435457,this._processUnderline(0,D)):E===25?D.fg&=-536870913:E===27?D.fg&=-67108865:E===28?D.fg&=-1073741825:E===29?D.fg&=2147483647:E===39?(D.fg&=-67108864,D.fg|=16777215&i.DEFAULT_ATTR_DATA.fg):E===49?(D.bg&=-67108864,D.bg|=16777215&i.DEFAULT_ATTR_DATA.bg):E===38||E===48||E===58?T+=this._extractColor(S,T,D):E===53?D.bg|=1073741824:E===55?D.bg&=-1073741825:E===59?(D.extended=D.extended.clone(),D.extended.underlineColor=-1,D.updateExtended()):E===100?(D.fg&=-67108864,D.fg|=16777215&i.DEFAULT_ATTR_DATA.fg,D.bg&=-67108864,D.bg|=16777215&i.DEFAULT_ATTR_DATA.bg):this._logService.debug("Unknown SGR attribute: %d.",E);return!0}deviceStatus(S){switch(S.params[0]){case 5:this._coreService.triggerDataEvent(`${n.C0.ESC}[0n`);break;case 6:const b=this._activeBuffer.y+1,E=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${n.C0.ESC}[${b};${E}R`)}return!0}deviceStatusPrivate(S){if(S.params[0]===6){const b=this._activeBuffer.y+1,E=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${n.C0.ESC}[?${b};${E}R`)}return!0}softReset(S){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=i.DEFAULT_ATTR_DATA.clone(),this._coreService.reset(),this._charsetService.reset(),this._activeBuffer.savedX=0,this._activeBuffer.savedY=this._activeBuffer.ybase,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1,!0}setCursorStyle(S){const b=S.params[0]||1;switch(b){case 1:case 2:this._optionsService.options.cursorStyle="block";break;case 3:case 4:this._optionsService.options.cursorStyle="underline";break;case 5:case 6:this._optionsService.options.cursorStyle="bar"}const E=b%2==1;return this._optionsService.options.cursorBlink=E,!0}setScrollRegion(S){const b=S.params[0]||1;let E;return(S.length<2||(E=S.params[1])>this._bufferService.rows||E===0)&&(E=this._bufferService.rows),E>b&&(this._activeBuffer.scrollTop=b-1,this._activeBuffer.scrollBottom=E-1,this._setCursor(0,0)),!0}windowOptions(S){if(!L(S.params[0],this._optionsService.rawOptions.windowOptions))return!0;const b=S.length>1?S.params[1]:0;switch(S.params[0]){case 14:b!==2&&this._onRequestWindowsOptionsReport.fire(w.GET_WIN_SIZE_PIXELS);break;case 16:this._onRequestWindowsOptionsReport.fire(w.GET_CELL_SIZE_PIXELS);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${n.C0.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:b!==0&&b!==2||(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>10&&this._windowTitleStack.shift()),b!==0&&b!==1||(this._iconNameStack.push(this._iconName),this._iconNameStack.length>10&&this._iconNameStack.shift());break;case 23:b!==0&&b!==2||this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),b!==0&&b!==1||this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop())}return!0}saveCursor(S){return this._activeBuffer.savedX=this._activeBuffer.x,this._activeBuffer.savedY=this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,!0}restoreCursor(S){return this._activeBuffer.x=this._activeBuffer.savedX||0,this._activeBuffer.y=Math.max(this._activeBuffer.savedY-this._activeBuffer.ybase,0),this._curAttrData.fg=this._activeBuffer.savedCurAttrData.fg,this._curAttrData.bg=this._activeBuffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._activeBuffer.savedCharset&&(this._charsetService.charset=this._activeBuffer.savedCharset),this._restrictCursor(),!0}setTitle(S){return this._windowTitle=S,this._onTitleChange.fire(S),!0}setIconName(S){return this._iconName=S,!0}setOrReportIndexedColor(S){const b=[],E=S.split(";");for(;E.length>1;){const D=E.shift(),T=E.shift();if(/^\d+$/.exec(D)){const H=parseInt(D);if(U(H))if(T==="?")b.push({type:0,index:H});else{const N=(0,m.parseColor)(T);N&&b.push({type:1,index:H,color:N})}}}return b.length&&this._onColor.fire(b),!0}setHyperlink(S){const b=S.split(";");return!(b.length<2)&&(b[1]?this._createHyperlink(b[0],b[1]):!b[0]&&this._finishHyperlink())}_createHyperlink(S,b){this._getCurrentLinkId()&&this._finishHyperlink();const E=S.split(":");let D;const T=E.findIndex((H=>H.startsWith("id=")));return T!==-1&&(D=E[T].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:D,uri:b}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(S,b){const E=S.split(";");for(let D=0;D<E.length&&!(b>=this._specialColors.length);++D,++b)if(E[D]==="?")this._onColor.fire([{type:0,index:this._specialColors[b]}]);else{const T=(0,m.parseColor)(E[D]);T&&this._onColor.fire([{type:1,index:this._specialColors[b],color:T}])}return!0}setOrReportFgColor(S){return this._setOrReportSpecialColor(S,0)}setOrReportBgColor(S){return this._setOrReportSpecialColor(S,1)}setOrReportCursorColor(S){return this._setOrReportSpecialColor(S,2)}restoreIndexedColor(S){if(!S)return this._onColor.fire([{type:2}]),!0;const b=[],E=S.split(";");for(let D=0;D<E.length;++D)if(/^\d+$/.exec(E[D])){const T=parseInt(E[D]);U(T)&&b.push({type:2,index:T})}return b.length&&this._onColor.fire(b),!0}restoreFgColor(S){return this._onColor.fire([{type:2,index:256}]),!0}restoreBgColor(S){return this._onColor.fire([{type:2,index:257}]),!0}restoreCursorColor(S){return this._onColor.fire([{type:2,index:258}]),!0}nextLine(){return this._activeBuffer.x=0,this.index(),!0}keypadApplicationMode(){return this._logService.debug("Serial port requested application keypad."),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire(),!0}keypadNumericMode(){return this._logService.debug("Switching back to normal keypad."),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire(),!0}selectDefaultCharset(){return this._charsetService.setgLevel(0),this._charsetService.setgCharset(0,d.DEFAULT_CHARSET),!0}selectCharset(S){return S.length!==2?(this.selectDefaultCharset(),!0):(S[0]==="/"||this._charsetService.setgCharset(y[S[0]],d.CHARSETS[S[1]]||d.DEFAULT_CHARSET),!0)}index(){return this._restrictCursor(),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._restrictCursor(),!0}tabSet(){return this._activeBuffer.tabs[this._activeBuffer.x]=!0,!0}reverseIndex(){if(this._restrictCursor(),this._activeBuffer.y===this._activeBuffer.scrollTop){const S=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,S,1),this._activeBuffer.lines.set(this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.getBlankLine(this._eraseAttrData())),this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom)}else this._activeBuffer.y--,this._restrictCursor();return!0}fullReset(){return this._parser.reset(),this._onRequestReset.fire(),!0}reset(){this._curAttrData=i.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=i.DEFAULT_ATTR_DATA.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=67108863&this._curAttrData.bg,this._eraseAttrDataInternal}setgLevel(S){return this._charsetService.setgLevel(S),!0}screenAlignmentPattern(){const S=new t.CellData;S.content=4194373,S.fg=this._curAttrData.fg,S.bg=this._curAttrData.bg,this._setCursor(0,0);for(let b=0;b<this._bufferService.rows;++b){const E=this._activeBuffer.ybase+this._activeBuffer.y+b,D=this._activeBuffer.lines.get(E);D&&(D.fill(S),D.isWrapped=!1)}return this._dirtyRowTracker.markAllDirty(),this._setCursor(0,0),!0}requestStatusString(S,b){const E=this._bufferService.buffer,D=this._optionsService.rawOptions;return(T=>(this._coreService.triggerDataEvent(`${n.C0.ESC}${T}${n.C0.ESC}\\`),!0))(S==='"q'?`P1$r${this._curAttrData.isProtected()?1:0}"q`:S==='"p'?'P1$r61;1"p':S==="r"?`P1$r${E.scrollTop+1};${E.scrollBottom+1}r`:S==="m"?"P1$r0m":S===" q"?`P1$r${{block:2,underline:4,bar:6}[D.cursorStyle]-(D.cursorBlink?1:0)} q`:"P0$r")}markRangeDirty(S,b){this._dirtyRowTracker.markRangeDirty(S,b)}}r.InputHandler=B;let P=class{constructor(I){this._bufferService=I,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(I){I<this.start?this.start=I:I>this.end&&(this.end=I)}markRangeDirty(I,S){I>S&&(x=I,I=S,S=x),I<this.start&&(this.start=I),S>this.end&&(this.end=S)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};function U(I){return 0<=I&&I<256}P=l([_(0,f.IBufferService)],P)},844:(O,r)=>{function a(l){for(const _ of l)_.dispose();l.length=0}Object.defineProperty(r,"__esModule",{value:!0}),r.getDisposeArrayDisposable=r.disposeArray=r.toDisposable=r.MutableDisposable=r.Disposable=void 0,r.Disposable=class{constructor(){this._disposables=[],this._isDisposed=!1}dispose(){this._isDisposed=!0;for(const l of this._disposables)l.dispose();this._disposables.length=0}register(l){return this._disposables.push(l),l}unregister(l){const _=this._disposables.indexOf(l);_!==-1&&this._disposables.splice(_,1)}},r.MutableDisposable=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(l){var _;this._isDisposed||l===this._value||((_=this._value)==null||_.dispose(),this._value=l)}clear(){this.value=void 0}dispose(){var l;this._isDisposed=!0,(l=this._value)==null||l.dispose(),this._value=void 0}},r.toDisposable=function(l){return{dispose:l}},r.disposeArray=a,r.getDisposeArrayDisposable=function(l){return{dispose:()=>a(l)}}},1505:(O,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.FourKeyMap=r.TwoKeyMap=void 0;class a{constructor(){this._data={}}set(_,n,d){this._data[_]||(this._data[_]={}),this._data[_][n]=d}get(_,n){return this._data[_]?this._data[_][n]:void 0}clear(){this._data={}}}r.TwoKeyMap=a,r.FourKeyMap=class{constructor(){this._data=new a}set(l,_,n,d,v){this._data.get(l,_)||this._data.set(l,_,new a),this._data.get(l,_).set(n,d,v)}get(l,_,n,d){var v;return(v=this._data.get(l,_))==null?void 0:v.get(n,d)}clear(){this._data.clear()}}},6114:(O,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.isChromeOS=r.isLinux=r.isWindows=r.isIphone=r.isIpad=r.isMac=r.getSafariVersion=r.isSafari=r.isLegacyEdge=r.isFirefox=r.isNode=void 0,r.isNode=typeof process<"u"&&"title"in process;const a=r.isNode?"node":navigator.userAgent,l=r.isNode?"node":navigator.platform;r.isFirefox=a.includes("Firefox"),r.isLegacyEdge=a.includes("Edge"),r.isSafari=/^((?!chrome|android).)*safari/i.test(a),r.getSafariVersion=function(){if(!r.isSafari)return 0;const _=a.match(/Version\/(\d+)/);return _===null||_.length<2?0:parseInt(_[1])},r.isMac=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(l),r.isIpad=l==="iPad",r.isIphone=l==="iPhone",r.isWindows=["Windows","Win16","Win32","WinCE"].includes(l),r.isLinux=l.indexOf("Linux")>=0,r.isChromeOS=/\bCrOS\b/.test(a)},6106:(O,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.SortedList=void 0;let a=0;r.SortedList=class{constructor(l){this._getKey=l,this._array=[]}clear(){this._array.length=0}insert(l){this._array.length!==0?(a=this._search(this._getKey(l)),this._array.splice(a,0,l)):this._array.push(l)}delete(l){if(this._array.length===0)return!1;const _=this._getKey(l);if(_===void 0||(a=this._search(_),a===-1)||this._getKey(this._array[a])!==_)return!1;do if(this._array[a]===l)return this._array.splice(a,1),!0;while(++a<this._array.length&&this._getKey(this._array[a])===_);return!1}*getKeyIterator(l){if(this._array.length!==0&&(a=this._search(l),!(a<0||a>=this._array.length)&&this._getKey(this._array[a])===l))do yield this._array[a];while(++a<this._array.length&&this._getKey(this._array[a])===l)}forEachByKey(l,_){if(this._array.length!==0&&(a=this._search(l),!(a<0||a>=this._array.length)&&this._getKey(this._array[a])===l))do _(this._array[a]);while(++a<this._array.length&&this._getKey(this._array[a])===l)}values(){return[...this._array].values()}_search(l){let _=0,n=this._array.length-1;for(;n>=_;){let d=_+n>>1;const v=this._getKey(this._array[d]);if(v>l)n=d-1;else{if(!(v<l)){for(;d>0&&this._getKey(this._array[d-1])===l;)d--;return d}_=d+1}}return _}}},7226:(O,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.DebouncedIdleTask=r.IdleTaskQueue=r.PriorityTaskQueue=void 0;const l=a(6114);class _{constructor(){this._tasks=[],this._i=0}enqueue(v){this._tasks.push(v),this._start()}flush(){for(;this._i<this._tasks.length;)this._tasks[this._i]()||this._i++;this.clear()}clear(){this._idleCallback&&(this._cancelCallback(this._idleCallback),this._idleCallback=void 0),this._i=0,this._tasks.length=0}_start(){this._idleCallback||(this._idleCallback=this._requestCallback(this._process.bind(this)))}_process(v){this._idleCallback=void 0;let g=0,h=0,i=v.timeRemaining(),s=0;for(;this._i<this._tasks.length;){if(g=Date.now(),this._tasks[this._i]()||this._i++,g=Math.max(1,Date.now()-g),h=Math.max(g,h),s=v.timeRemaining(),1.5*h>s)return i-g<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(i-g))}ms`),void this._start();i=s}this.clear()}}class n extends _{_requestCallback(v){return setTimeout((()=>v(this._createDeadline(16))))}_cancelCallback(v){clearTimeout(v)}_createDeadline(v){const g=Date.now()+v;return{timeRemaining:()=>Math.max(0,g-Date.now())}}}r.PriorityTaskQueue=n,r.IdleTaskQueue=!l.isNode&&"requestIdleCallback"in window?class extends _{_requestCallback(d){return requestIdleCallback(d)}_cancelCallback(d){cancelIdleCallback(d)}}:n,r.DebouncedIdleTask=class{constructor(){this._queue=new r.IdleTaskQueue}set(d){this._queue.clear(),this._queue.enqueue(d)}flush(){this._queue.flush()}}},9282:(O,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.updateWindowsModeWrappedState=void 0;const l=a(643);r.updateWindowsModeWrappedState=function(_){const n=_.buffer.lines.get(_.buffer.ybase+_.buffer.y-1),d=n==null?void 0:n.get(_.cols-1),v=_.buffer.lines.get(_.buffer.ybase+_.buffer.y);v&&d&&(v.isWrapped=d[l.CHAR_DATA_CODE_INDEX]!==l.NULL_CELL_CODE&&d[l.CHAR_DATA_CODE_INDEX]!==l.WHITESPACE_CELL_CODE)}},3734:(O,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.ExtendedAttrs=r.AttributeData=void 0;class a{constructor(){this.fg=0,this.bg=0,this.extended=new l}static toColorRGB(n){return[n>>>16&255,n>>>8&255,255&n]}static fromColorRGB(n){return(255&n[0])<<16|(255&n[1])<<8|255&n[2]}clone(){const n=new a;return n.fg=this.fg,n.bg=this.bg,n.extended=this.extended.clone(),n}isInverse(){return 67108864&this.fg}isBold(){return 134217728&this.fg}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:268435456&this.fg}isBlink(){return 536870912&this.fg}isInvisible(){return 1073741824&this.fg}isItalic(){return 67108864&this.bg}isDim(){return 134217728&this.bg}isStrikethrough(){return 2147483648&this.fg}isProtected(){return 536870912&this.bg}isOverline(){return 1073741824&this.bg}getFgColorMode(){return 50331648&this.fg}getBgColorMode(){return 50331648&this.bg}isFgRGB(){return(50331648&this.fg)==50331648}isBgRGB(){return(50331648&this.bg)==50331648}isFgPalette(){return(50331648&this.fg)==16777216||(50331648&this.fg)==33554432}isBgPalette(){return(50331648&this.bg)==16777216||(50331648&this.bg)==33554432}isFgDefault(){return(50331648&this.fg)==0}isBgDefault(){return(50331648&this.bg)==0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}}getBgColor(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}}hasExtendedAttrs(){return 268435456&this.bg}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(268435456&this.bg&&~this.extended.underlineColor)switch(50331648&this.extended.underlineColor){case 16777216:case 33554432:return 255&this.extended.underlineColor;case 50331648:return 16777215&this.extended.underlineColor;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()}isUnderlineColorRGB(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==16777216||(50331648&this.extended.underlineColor)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==0:this.isFgDefault()}getUnderlineStyle(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}}r.AttributeData=a;class l{get ext(){return this._urlId?-469762049&this._ext|this.underlineStyle<<26:this._ext}set ext(n){this._ext=n}get underlineStyle(){return this._urlId?5:(469762048&this._ext)>>26}set underlineStyle(n){this._ext&=-469762049,this._ext|=n<<26&469762048}get underlineColor(){return 67108863&this._ext}set underlineColor(n){this._ext&=-67108864,this._ext|=67108863&n}get urlId(){return this._urlId}set urlId(n){this._urlId=n}get underlineVariantOffset(){const n=(3758096384&this._ext)>>29;return n<0?4294967288^n:n}set underlineVariantOffset(n){this._ext&=536870911,this._ext|=n<<29&3758096384}constructor(n=0,d=0){this._ext=0,this._urlId=0,this._ext=n,this._urlId=d}clone(){return new l(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}}r.ExtendedAttrs=l},9092:(O,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.Buffer=r.MAX_BUFFER_SIZE=void 0;const l=a(6349),_=a(7226),n=a(3734),d=a(8437),v=a(4634),g=a(511),h=a(643),i=a(4863),s=a(7116);r.MAX_BUFFER_SIZE=4294967295,r.Buffer=class{constructor(e,t,o){this._hasScrollback=e,this._optionsService=t,this._bufferService=o,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=d.DEFAULT_ATTR_DATA.clone(),this.savedCharset=s.DEFAULT_CHARSET,this.markers=[],this._nullCell=g.CellData.fromCharData([0,h.NULL_CELL_CHAR,h.NULL_CELL_WIDTH,h.NULL_CELL_CODE]),this._whitespaceCell=g.CellData.fromCharData([0,h.WHITESPACE_CELL_CHAR,h.WHITESPACE_CELL_WIDTH,h.WHITESPACE_CELL_CODE]),this._isClearing=!1,this._memoryCleanupQueue=new _.IdleTaskQueue,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new l.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(e){return e?(this._nullCell.fg=e.fg,this._nullCell.bg=e.bg,this._nullCell.extended=e.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new n.ExtendedAttrs),this._nullCell}getWhitespaceCell(e){return e?(this._whitespaceCell.fg=e.fg,this._whitespaceCell.bg=e.bg,this._whitespaceCell.extended=e.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new n.ExtendedAttrs),this._whitespaceCell}getBlankLine(e,t){return new d.BufferLine(this._bufferService.cols,this.getNullCell(e),t)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){const e=this.ybase+this.y-this.ydisp;return e>=0&&e<this._rows}_getCorrectBufferLength(e){if(!this._hasScrollback)return e;const t=e+this._optionsService.rawOptions.scrollback;return t>r.MAX_BUFFER_SIZE?r.MAX_BUFFER_SIZE:t}fillViewportRows(e){if(this.lines.length===0){e===void 0&&(e=d.DEFAULT_ATTR_DATA);let t=this._rows;for(;t--;)this.lines.push(this.getBlankLine(e))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new l.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(e,t){const o=this.getNullCell(d.DEFAULT_ATTR_DATA);let f=0;const u=this._getCorrectBufferLength(t);if(u>this.lines.maxLength&&(this.lines.maxLength=u),this.lines.length>0){if(this._cols<e)for(let c=0;c<this.lines.length;c++)f+=+this.lines.get(c).resize(e,o);let p=0;if(this._rows<t)for(let c=this._rows;c<t;c++)this.lines.length<t+this.ybase&&(this._optionsService.rawOptions.windowsMode||this._optionsService.rawOptions.windowsPty.backend!==void 0||this._optionsService.rawOptions.windowsPty.buildNumber!==void 0?this.lines.push(new d.BufferLine(e,o)):this.ybase>0&&this.lines.length<=this.ybase+this.y+p+1?(this.ybase--,p++,this.ydisp>0&&this.ydisp--):this.lines.push(new d.BufferLine(e,o)));else for(let c=this._rows;c>t;c--)this.lines.length>t+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(u<this.lines.maxLength){const c=this.lines.length-u;c>0&&(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=u}this.x=Math.min(this.x,e-1),this.y=Math.min(this.y,t-1),p&&(this.y+=p),this.savedX=Math.min(this.savedX,e-1),this.scrollTop=0}if(this.scrollBottom=t-1,this._isReflowEnabled&&(this._reflow(e,t),this._cols>e))for(let p=0;p<this.lines.length;p++)f+=+this.lines.get(p).resize(e,o);this._cols=e,this._rows=t,this._memoryCleanupQueue.clear(),f>.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue((()=>this._batchedMemoryCleanup())))}_batchedMemoryCleanup(){let e=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,e=!1);let t=0;for(;this._memoryCleanupPosition<this.lines.length;)if(t+=this.lines.get(this._memoryCleanupPosition++).cleanupMemory(),t>100)return!0;return e}get _isReflowEnabled(){const e=this._optionsService.rawOptions.windowsPty;return e&&e.buildNumber?this._hasScrollback&&e.backend==="conpty"&&e.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(e,t){this._cols!==e&&(e>this._cols?this._reflowLarger(e,t):this._reflowSmaller(e,t))}_reflowLarger(e,t){const o=(0,v.reflowLargerGetLinesToRemove)(this.lines,this._cols,e,this.ybase+this.y,this.getNullCell(d.DEFAULT_ATTR_DATA));if(o.length>0){const f=(0,v.reflowLargerCreateNewLayout)(this.lines,o);(0,v.reflowLargerApplyNewLayout)(this.lines,f.layout),this._reflowLargerAdjustViewport(e,t,f.countRemoved)}}_reflowLargerAdjustViewport(e,t,o){const f=this.getNullCell(d.DEFAULT_ATTR_DATA);let u=o;for(;u-- >0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length<t&&this.lines.push(new d.BufferLine(e,f))):(this.ydisp===this.ybase&&this.ydisp--,this.ybase--);this.savedY=Math.max(this.savedY-o,0)}_reflowSmaller(e,t){const o=this.getNullCell(d.DEFAULT_ATTR_DATA),f=[];let u=0;for(let p=this.lines.length-1;p>=0;p--){let c=this.lines.get(p);if(!c||!c.isWrapped&&c.getTrimmedLength()<=e)continue;const m=[c];for(;c.isWrapped&&p>0;)c=this.lines.get(--p),m.unshift(c);const y=this.ybase+this.y;if(y>=p&&y<p+m.length)continue;const k=m[m.length-1].getTrimmedLength(),L=(0,v.reflowSmallerGetNewLineLengths)(m,this._cols,e),w=L.length-m.length;let x;x=this.ybase===0&&this.y!==this.lines.length-1?Math.max(0,this.y-this.lines.maxLength+w):Math.max(0,this.lines.length-this.lines.maxLength+w);const B=[];for(let E=0;E<w;E++){const D=this.getBlankLine(d.DEFAULT_ATTR_DATA,!0);B.push(D)}B.length>0&&(f.push({start:p+m.length+u,newLines:B}),u+=B.length),m.push(...B);let P=L.length-1,U=L[P];U===0&&(P--,U=L[P]);let I=m.length-w-1,S=k;for(;I>=0;){const E=Math.min(S,U);if(m[P]===void 0)break;if(m[P].copyCellsFrom(m[I],S-E,U-E,E,!0),U-=E,U===0&&(P--,U=L[P]),S-=E,S===0){I--;const D=Math.max(I,0);S=(0,v.getWrappedLineTrimmedLength)(m,D,this._cols)}}for(let E=0;E<m.length;E++)L[E]<e&&m[E].setCell(L[E],o);let b=w-x;for(;b-- >0;)this.ybase===0?this.y<t-1?(this.y++,this.lines.pop()):(this.ybase++,this.ydisp++):this.ybase<Math.min(this.lines.maxLength,this.lines.length+u)-t&&(this.ybase===this.ydisp&&this.ydisp++,this.ybase++);this.savedY=Math.min(this.savedY+w,this.ybase+t-1)}if(f.length>0){const p=[],c=[];for(let P=0;P<this.lines.length;P++)c.push(this.lines.get(P));const m=this.lines.length;let y=m-1,k=0,L=f[k];this.lines.length=Math.min(this.lines.maxLength,this.lines.length+u);let w=0;for(let P=Math.min(this.lines.maxLength-1,m+u-1);P>=0;P--)if(L&&L.start>y+w){for(let U=L.newLines.length-1;U>=0;U--)this.lines.set(P--,L.newLines[U]);P++,p.push({index:y+1,amount:L.newLines.length}),w+=L.newLines.length,L=f[++k]}else this.lines.set(P,c[y--]);let x=0;for(let P=p.length-1;P>=0;P--)p[P].index+=x,this.lines.onInsertEmitter.fire(p[P]),x+=p[P].amount;const B=Math.max(0,m+u-this.lines.maxLength);B>0&&this.lines.onTrimEmitter.fire(B)}}translateBufferLineToString(e,t,o=0,f){const u=this.lines.get(e);return u?u.translateToString(t,o,f):""}getWrappedRangeForLine(e){let t=e,o=e;for(;t>0&&this.lines.get(t).isWrapped;)t--;for(;o+1<this.lines.length&&this.lines.get(o+1).isWrapped;)o++;return{first:t,last:o}}setupTabStops(e){for(e!=null?this.tabs[e]||(e=this.prevStop(e)):(this.tabs={},e=0);e<this._cols;e+=this._optionsService.rawOptions.tabStopWidth)this.tabs[e]=!0}prevStop(e){for(e==null&&(e=this.x);!this.tabs[--e]&&e>0;);return e>=this._cols?this._cols-1:e<0?0:e}nextStop(e){for(e==null&&(e=this.x);!this.tabs[++e]&&e<this._cols;);return e>=this._cols?this._cols-1:e<0?0:e}clearMarkers(e){this._isClearing=!0;for(let t=0;t<this.markers.length;t++)this.markers[t].line===e&&(this.markers[t].dispose(),this.markers.splice(t--,1));this._isClearing=!1}clearAllMarkers(){this._isClearing=!0;for(let e=0;e<this.markers.length;e++)this.markers[e].dispose(),this.markers.splice(e--,1);this._isClearing=!1}addMarker(e){const t=new i.Marker(e);return this.markers.push(t),t.register(this.lines.onTrim((o=>{t.line-=o,t.line<0&&t.dispose()}))),t.register(this.lines.onInsert((o=>{t.line>=o.index&&(t.line+=o.amount)}))),t.register(this.lines.onDelete((o=>{t.line>=o.index&&t.line<o.index+o.amount&&t.dispose(),t.line>o.index&&(t.line-=o.amount)}))),t.register(t.onDispose((()=>this._removeMarker(t)))),t}_removeMarker(e){this._isClearing||this.markers.splice(this.markers.indexOf(e),1)}}},8437:(O,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.BufferLine=r.DEFAULT_ATTR_DATA=void 0;const l=a(3734),_=a(511),n=a(643),d=a(482);r.DEFAULT_ATTR_DATA=Object.freeze(new l.AttributeData);let v=0;class g{constructor(i,s,e=!1){this.isWrapped=e,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(3*i);const t=s||_.CellData.fromCharData([0,n.NULL_CELL_CHAR,n.NULL_CELL_WIDTH,n.NULL_CELL_CODE]);for(let o=0;o<i;++o)this.setCell(o,t);this.length=i}get(i){const s=this._data[3*i+0],e=2097151&s;return[this._data[3*i+1],2097152&s?this._combined[i]:e?(0,d.stringFromCodePoint)(e):"",s>>22,2097152&s?this._combined[i].charCodeAt(this._combined[i].length-1):e]}set(i,s){this._data[3*i+1]=s[n.CHAR_DATA_ATTR_INDEX],s[n.CHAR_DATA_CHAR_INDEX].length>1?(this._combined[i]=s[1],this._data[3*i+0]=2097152|i|s[n.CHAR_DATA_WIDTH_INDEX]<<22):this._data[3*i+0]=s[n.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|s[n.CHAR_DATA_WIDTH_INDEX]<<22}getWidth(i){return this._data[3*i+0]>>22}hasWidth(i){return 12582912&this._data[3*i+0]}getFg(i){return this._data[3*i+1]}getBg(i){return this._data[3*i+2]}hasContent(i){return 4194303&this._data[3*i+0]}getCodePoint(i){const s=this._data[3*i+0];return 2097152&s?this._combined[i].charCodeAt(this._combined[i].length-1):2097151&s}isCombined(i){return 2097152&this._data[3*i+0]}getString(i){const s=this._data[3*i+0];return 2097152&s?this._combined[i]:2097151&s?(0,d.stringFromCodePoint)(2097151&s):""}isProtected(i){return 536870912&this._data[3*i+2]}loadCell(i,s){return v=3*i,s.content=this._data[v+0],s.fg=this._data[v+1],s.bg=this._data[v+2],2097152&s.content&&(s.combinedData=this._combined[i]),268435456&s.bg&&(s.extended=this._extendedAttrs[i]),s}setCell(i,s){2097152&s.content&&(this._combined[i]=s.combinedData),268435456&s.bg&&(this._extendedAttrs[i]=s.extended),this._data[3*i+0]=s.content,this._data[3*i+1]=s.fg,this._data[3*i+2]=s.bg}setCellFromCodepoint(i,s,e,t){268435456&t.bg&&(this._extendedAttrs[i]=t.extended),this._data[3*i+0]=s|e<<22,this._data[3*i+1]=t.fg,this._data[3*i+2]=t.bg}addCodepointToCell(i,s,e){let t=this._data[3*i+0];2097152&t?this._combined[i]+=(0,d.stringFromCodePoint)(s):2097151&t?(this._combined[i]=(0,d.stringFromCodePoint)(2097151&t)+(0,d.stringFromCodePoint)(s),t&=-2097152,t|=2097152):t=s|4194304,e&&(t&=-12582913,t|=e<<22),this._data[3*i+0]=t}insertCells(i,s,e){if((i%=this.length)&&this.getWidth(i-1)===2&&this.setCellFromCodepoint(i-1,0,1,e),s<this.length-i){const t=new _.CellData;for(let o=this.length-i-s-1;o>=0;--o)this.setCell(i+s+o,this.loadCell(i+o,t));for(let o=0;o<s;++o)this.setCell(i+o,e)}else for(let t=i;t<this.length;++t)this.setCell(t,e);this.getWidth(this.length-1)===2&&this.setCellFromCodepoint(this.length-1,0,1,e)}deleteCells(i,s,e){if(i%=this.length,s<this.length-i){const t=new _.CellData;for(let o=0;o<this.length-i-s;++o)this.setCell(i+o,this.loadCell(i+s+o,t));for(let o=this.length-s;o<this.length;++o)this.setCell(o,e)}else for(let t=i;t<this.length;++t)this.setCell(t,e);i&&this.getWidth(i-1)===2&&this.setCellFromCodepoint(i-1,0,1,e),this.getWidth(i)!==0||this.hasContent(i)||this.setCellFromCodepoint(i,0,1,e)}replaceCells(i,s,e,t=!1){if(t)for(i&&this.getWidth(i-1)===2&&!this.isProtected(i-1)&&this.setCellFromCodepoint(i-1,0,1,e),s<this.length&&this.getWidth(s-1)===2&&!this.isProtected(s)&&this.setCellFromCodepoint(s,0,1,e);i<s&&i<this.length;)this.isProtected(i)||this.setCell(i,e),i++;else for(i&&this.getWidth(i-1)===2&&this.setCellFromCodepoint(i-1,0,1,e),s<this.length&&this.getWidth(s-1)===2&&this.setCellFromCodepoint(s,0,1,e);i<s&&i<this.length;)this.setCell(i++,e)}resize(i,s){if(i===this.length)return 4*this._data.length*2<this._data.buffer.byteLength;const e=3*i;if(i>this.length){if(this._data.buffer.byteLength>=4*e)this._data=new Uint32Array(this._data.buffer,0,e);else{const t=new Uint32Array(e);t.set(this._data),this._data=t}for(let t=this.length;t<i;++t)this.setCell(t,s)}else{this._data=this._data.subarray(0,e);const t=Object.keys(this._combined);for(let f=0;f<t.length;f++){const u=parseInt(t[f],10);u>=i&&delete this._combined[u]}const o=Object.keys(this._extendedAttrs);for(let f=0;f<o.length;f++){const u=parseInt(o[f],10);u>=i&&delete this._extendedAttrs[u]}}return this.length=i,4*e*2<this._data.buffer.byteLength}cleanupMemory(){if(4*this._data.length*2<this._data.buffer.byteLength){const i=new Uint32Array(this._data.length);return i.set(this._data),this._data=i,1}return 0}fill(i,s=!1){if(s)for(let e=0;e<this.length;++e)this.isProtected(e)||this.setCell(e,i);else{this._combined={},this._extendedAttrs={};for(let e=0;e<this.length;++e)this.setCell(e,i)}}copyFrom(i){this.length!==i.length?this._data=new Uint32Array(i._data):this._data.set(i._data),this.length=i.length,this._combined={};for(const s in i._combined)this._combined[s]=i._combined[s];this._extendedAttrs={};for(const s in i._extendedAttrs)this._extendedAttrs[s]=i._extendedAttrs[s];this.isWrapped=i.isWrapped}clone(){const i=new g(0);i._data=new Uint32Array(this._data),i.length=this.length;for(const s in this._combined)i._combined[s]=this._combined[s];for(const s in this._extendedAttrs)i._extendedAttrs[s]=this._extendedAttrs[s];return i.isWrapped=this.isWrapped,i}getTrimmedLength(){for(let i=this.length-1;i>=0;--i)if(4194303&this._data[3*i+0])return i+(this._data[3*i+0]>>22);return 0}getNoBgTrimmedLength(){for(let i=this.length-1;i>=0;--i)if(4194303&this._data[3*i+0]||50331648&this._data[3*i+2])return i+(this._data[3*i+0]>>22);return 0}copyCellsFrom(i,s,e,t,o){const f=i._data;if(o)for(let p=t-1;p>=0;p--){for(let c=0;c<3;c++)this._data[3*(e+p)+c]=f[3*(s+p)+c];268435456&f[3*(s+p)+2]&&(this._extendedAttrs[e+p]=i._extendedAttrs[s+p])}else for(let p=0;p<t;p++){for(let c=0;c<3;c++)this._data[3*(e+p)+c]=f[3*(s+p)+c];268435456&f[3*(s+p)+2]&&(this._extendedAttrs[e+p]=i._extendedAttrs[s+p])}const u=Object.keys(i._combined);for(let p=0;p<u.length;p++){const c=parseInt(u[p],10);c>=s&&(this._combined[c-s+e]=i._combined[c])}}translateToString(i,s,e,t){s=s??0,e=e??this.length,i&&(e=Math.min(e,this.getTrimmedLength())),t&&(t.length=0);let o="";for(;s<e;){const f=this._data[3*s+0],u=2097151&f,p=2097152&f?this._combined[s]:u?(0,d.stringFromCodePoint)(u):n.WHITESPACE_CELL_CHAR;if(o+=p,t)for(let c=0;c<p.length;++c)t.push(s);s+=f>>22||1}return t&&t.push(s),o}}r.BufferLine=g},4841:(O,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.getRangeLength=void 0,r.getRangeLength=function(a,l){if(a.start.y>a.end.y)throw new Error(`Buffer range end (${a.end.x}, ${a.end.y}) cannot be before start (${a.start.x}, ${a.start.y})`);return l*(a.end.y-a.start.y)+(a.end.x-a.start.x+1)}},4634:(O,r)=>{function a(l,_,n){if(_===l.length-1)return l[_].getTrimmedLength();const d=!l[_].hasContent(n-1)&&l[_].getWidth(n-1)===1,v=l[_+1].getWidth(0)===2;return d&&v?n-1:n}Object.defineProperty(r,"__esModule",{value:!0}),r.getWrappedLineTrimmedLength=r.reflowSmallerGetNewLineLengths=r.reflowLargerApplyNewLayout=r.reflowLargerCreateNewLayout=r.reflowLargerGetLinesToRemove=void 0,r.reflowLargerGetLinesToRemove=function(l,_,n,d,v){const g=[];for(let h=0;h<l.length-1;h++){let i=h,s=l.get(++i);if(!s.isWrapped)continue;const e=[l.get(h)];for(;i<l.length&&s.isWrapped;)e.push(s),s=l.get(++i);if(d>=h&&d<i){h+=e.length-1;continue}let t=0,o=a(e,t,_),f=1,u=0;for(;f<e.length;){const c=a(e,f,_),m=c-u,y=n-o,k=Math.min(m,y);e[t].copyCellsFrom(e[f],u,o,k,!1),o+=k,o===n&&(t++,o=0),u+=k,u===c&&(f++,u=0),o===0&&t!==0&&e[t-1].getWidth(n-1)===2&&(e[t].copyCellsFrom(e[t-1],n-1,o++,1,!1),e[t-1].setCell(n-1,v))}e[t].replaceCells(o,n,v);let p=0;for(let c=e.length-1;c>0&&(c>t||e[c].getTrimmedLength()===0);c--)p++;p>0&&(g.push(h+e.length-p),g.push(p)),h+=e.length-1}return g},r.reflowLargerCreateNewLayout=function(l,_){const n=[];let d=0,v=_[d],g=0;for(let h=0;h<l.length;h++)if(v===h){const i=_[++d];l.onDeleteEmitter.fire({index:h-g,amount:i}),h+=i-1,g+=i,v=_[++d]}else n.push(h);return{layout:n,countRemoved:g}},r.reflowLargerApplyNewLayout=function(l,_){const n=[];for(let d=0;d<_.length;d++)n.push(l.get(_[d]));for(let d=0;d<n.length;d++)l.set(d,n[d]);l.length=_.length},r.reflowSmallerGetNewLineLengths=function(l,_,n){const d=[],v=l.map(((s,e)=>a(l,e,_))).reduce(((s,e)=>s+e));let g=0,h=0,i=0;for(;i<v;){if(v-i<n){d.push(v-i);break}g+=n;const s=a(l,h,_);g>s&&(g-=s,h++);const e=l[h].getWidth(g-1)===2;e&&g--;const t=e?n-1:n;d.push(t),i+=t}return d},r.getWrappedLineTrimmedLength=a},5295:(O,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.BufferSet=void 0;const l=a(8460),_=a(844),n=a(9092);class d extends _.Disposable{constructor(g,h){super(),this._optionsService=g,this._bufferService=h,this._onBufferActivate=this.register(new l.EventEmitter),this.onBufferActivate=this._onBufferActivate.event,this.reset(),this.register(this._optionsService.onSpecificOptionChange("scrollback",(()=>this.resize(this._bufferService.cols,this._bufferService.rows)))),this.register(this._optionsService.onSpecificOptionChange("tabStopWidth",(()=>this.setupTabStops())))}reset(){this._normal=new n.Buffer(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new n.Buffer(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}),this.setupTabStops()}get alt(){return this._alt}get active(){return this._activeBuffer}get normal(){return this._normal}activateNormalBuffer(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clearAllMarkers(),this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))}activateAltBuffer(g){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(g),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))}resize(g,h){this._normal.resize(g,h),this._alt.resize(g,h),this.setupTabStops(g)}setupTabStops(g){this._normal.setupTabStops(g),this._alt.setupTabStops(g)}}r.BufferSet=d},511:(O,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.CellData=void 0;const l=a(482),_=a(643),n=a(3734);class d extends n.AttributeData{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new n.ExtendedAttrs,this.combinedData=""}static fromCharData(g){const h=new d;return h.setFromCharData(g),h}isCombined(){return 2097152&this.content}getWidth(){return this.content>>22}getChars(){return 2097152&this.content?this.combinedData:2097151&this.content?(0,l.stringFromCodePoint)(2097151&this.content):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content}setFromCharData(g){this.fg=g[_.CHAR_DATA_ATTR_INDEX],this.bg=0;let h=!1;if(g[_.CHAR_DATA_CHAR_INDEX].length>2)h=!0;else if(g[_.CHAR_DATA_CHAR_INDEX].length===2){const i=g[_.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=i&&i<=56319){const s=g[_.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=s&&s<=57343?this.content=1024*(i-55296)+s-56320+65536|g[_.CHAR_DATA_WIDTH_INDEX]<<22:h=!0}else h=!0}else this.content=g[_.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|g[_.CHAR_DATA_WIDTH_INDEX]<<22;h&&(this.combinedData=g[_.CHAR_DATA_CHAR_INDEX],this.content=2097152|g[_.CHAR_DATA_WIDTH_INDEX]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}r.CellData=d},643:(O,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.WHITESPACE_CELL_CODE=r.WHITESPACE_CELL_WIDTH=r.WHITESPACE_CELL_CHAR=r.NULL_CELL_CODE=r.NULL_CELL_WIDTH=r.NULL_CELL_CHAR=r.CHAR_DATA_CODE_INDEX=r.CHAR_DATA_WIDTH_INDEX=r.CHAR_DATA_CHAR_INDEX=r.CHAR_DATA_ATTR_INDEX=r.DEFAULT_EXT=r.DEFAULT_ATTR=r.DEFAULT_COLOR=void 0,r.DEFAULT_COLOR=0,r.DEFAULT_ATTR=256|r.DEFAULT_COLOR<<9,r.DEFAULT_EXT=0,r.CHAR_DATA_ATTR_INDEX=0,r.CHAR_DATA_CHAR_INDEX=1,r.CHAR_DATA_WIDTH_INDEX=2,r.CHAR_DATA_CODE_INDEX=3,r.NULL_CELL_CHAR="",r.NULL_CELL_WIDTH=1,r.NULL_CELL_CODE=0,r.WHITESPACE_CELL_CHAR=" ",r.WHITESPACE_CELL_WIDTH=1,r.WHITESPACE_CELL_CODE=32},4863:(O,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.Marker=void 0;const l=a(8460),_=a(844);class n{get id(){return this._id}constructor(v){this.line=v,this.isDisposed=!1,this._disposables=[],this._id=n._nextId++,this._onDispose=this.register(new l.EventEmitter),this.onDispose=this._onDispose.event}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),(0,_.disposeArray)(this._disposables),this._disposables.length=0)}register(v){return this._disposables.push(v),v}}r.Marker=n,n._nextId=1},7116:(O,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.DEFAULT_CHARSET=r.CHARSETS=void 0,r.CHARSETS={},r.DEFAULT_CHARSET=r.CHARSETS.B,r.CHARSETS[0]={"`":"◆",a:"▒",b:"␉",c:"␌",d:"␍",e:"␊",f:"°",g:"±",h:"␤",i:"␋",j:"┘",k:"┐",l:"┌",m:"└",n:"┼",o:"⎺",p:"⎻",q:"─",r:"⎼",s:"⎽",t:"├",u:"┤",v:"┴",w:"┬",x:"│",y:"≤",z:"≥","{":"π","|":"≠","}":"£","~":"·"},r.CHARSETS.A={"#":"£"},r.CHARSETS.B=void 0,r.CHARSETS[4]={"#":"£","@":"¾","[":"ij","\\":"½","]":"|","{":"¨","|":"f","}":"¼","~":"´"},r.CHARSETS.C=r.CHARSETS[5]={"[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},r.CHARSETS.R={"#":"£","@":"à","[":"°","\\":"ç","]":"§","{":"é","|":"ù","}":"è","~":"¨"},r.CHARSETS.Q={"@":"à","[":"â","\\":"ç","]":"ê","^":"î","`":"ô","{":"é","|":"ù","}":"è","~":"û"},r.CHARSETS.K={"@":"§","[":"Ä","\\":"Ö","]":"Ü","{":"ä","|":"ö","}":"ü","~":"ß"},r.CHARSETS.Y={"#":"£","@":"§","[":"°","\\":"ç","]":"é","`":"ù","{":"à","|":"ò","}":"è","~":"ì"},r.CHARSETS.E=r.CHARSETS[6]={"@":"Ä","[":"Æ","\\":"Ø","]":"Å","^":"Ü","`":"ä","{":"æ","|":"ø","}":"å","~":"ü"},r.CHARSETS.Z={"#":"£","@":"§","[":"¡","\\":"Ñ","]":"¿","{":"°","|":"ñ","}":"ç"},r.CHARSETS.H=r.CHARSETS[7]={"@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},r.CHARSETS["="]={"#":"ù","@":"à","[":"é","\\":"ç","]":"ê","^":"î",_:"è","`":"ô","{":"ä","|":"ö","}":"ü","~":"û"}},2584:(O,r)=>{var a,l,_;Object.defineProperty(r,"__esModule",{value:!0}),r.C1_ESCAPED=r.C1=r.C0=void 0,(function(n){n.NUL="\0",n.SOH="",n.STX="",n.ETX="",n.EOT="",n.ENQ="",n.ACK="",n.BEL="\x07",n.BS="\b",n.HT=" ",n.LF=`
8 -`,n.VT="\v",n.FF="\f",n.CR="\r",n.SO="",n.SI="",n.DLE="",n.DC1="",n.DC2="",n.DC3="",n.DC4="",n.NAK="",n.SYN="",n.ETB="",n.CAN="",n.EM="",n.SUB="",n.ESC="\x1B",n.FS="",n.GS="",n.RS="",n.US="",n.SP=" ",n.DEL=""})(a||(r.C0=a={})),(function(n){n.PAD="€",n.HOP="",n.BPH="‚",n.NBH="ƒ",n.IND="„",n.NEL="…",n.SSA="†",n.ESA="‡",n.HTS="ˆ",n.HTJ="‰",n.VTS="Š",n.PLD="‹",n.PLU="Œ",n.RI="",n.SS2="Ž",n.SS3="",n.DCS="",n.PU1="‘",n.PU2="’",n.STS="“",n.CCH="”",n.MW="•",n.SPA="–",n.EPA="—",n.SOS="˜",n.SGCI="™",n.SCI="š",n.CSI="›",n.ST="œ",n.OSC="",n.PM="ž",n.APC="Ÿ"})(l||(r.C1=l={})),(function(n){n.ST=`${a.ESC}\\`})(_||(r.C1_ESCAPED=_={}))},7399:(O,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.evaluateKeyboardEvent=void 0;const l=a(2584),_={48:["0",")"],49:["1","!"],50:["2","@"],51:["3","#"],52:["4","$"],53:["5","%"],54:["6","^"],55:["7","&"],56:["8","*"],57:["9","("],186:[";",":"],187:["=","+"],188:[",","<"],189:["-","_"],190:[".",">"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\","|"],221:["]","}"],222:["'",'"']};r.evaluateKeyboardEvent=function(n,d,v,g){const h={type:0,cancel:!1,key:void 0},i=(n.shiftKey?1:0)|(n.altKey?2:0)|(n.ctrlKey?4:0)|(n.metaKey?8:0);switch(n.keyCode){case 0:n.key==="UIKeyInputUpArrow"?h.key=d?l.C0.ESC+"OA":l.C0.ESC+"[A":n.key==="UIKeyInputLeftArrow"?h.key=d?l.C0.ESC+"OD":l.C0.ESC+"[D":n.key==="UIKeyInputRightArrow"?h.key=d?l.C0.ESC+"OC":l.C0.ESC+"[C":n.key==="UIKeyInputDownArrow"&&(h.key=d?l.C0.ESC+"OB":l.C0.ESC+"[B");break;case 8:h.key=n.ctrlKey?"\b":l.C0.DEL,n.altKey&&(h.key=l.C0.ESC+h.key);break;case 9:if(n.shiftKey){h.key=l.C0.ESC+"[Z";break}h.key=l.C0.HT,h.cancel=!0;break;case 13:h.key=n.altKey?l.C0.ESC+l.C0.CR:l.C0.CR,h.cancel=!0;break;case 27:h.key=l.C0.ESC,n.altKey&&(h.key=l.C0.ESC+l.C0.ESC),h.cancel=!0;break;case 37:if(n.metaKey)break;i?(h.key=l.C0.ESC+"[1;"+(i+1)+"D",h.key===l.C0.ESC+"[1;3D"&&(h.key=l.C0.ESC+(v?"b":"[1;5D"))):h.key=d?l.C0.ESC+"OD":l.C0.ESC+"[D";break;case 39:if(n.metaKey)break;i?(h.key=l.C0.ESC+"[1;"+(i+1)+"C",h.key===l.C0.ESC+"[1;3C"&&(h.key=l.C0.ESC+(v?"f":"[1;5C"))):h.key=d?l.C0.ESC+"OC":l.C0.ESC+"[C";break;case 38:if(n.metaKey)break;i?(h.key=l.C0.ESC+"[1;"+(i+1)+"A",v||h.key!==l.C0.ESC+"[1;3A"||(h.key=l.C0.ESC+"[1;5A")):h.key=d?l.C0.ESC+"OA":l.C0.ESC+"[A";break;case 40:if(n.metaKey)break;i?(h.key=l.C0.ESC+"[1;"+(i+1)+"B",v||h.key!==l.C0.ESC+"[1;3B"||(h.key=l.C0.ESC+"[1;5B")):h.key=d?l.C0.ESC+"OB":l.C0.ESC+"[B";break;case 45:n.shiftKey||n.ctrlKey||(h.key=l.C0.ESC+"[2~");break;case 46:h.key=i?l.C0.ESC+"[3;"+(i+1)+"~":l.C0.ESC+"[3~";break;case 36:h.key=i?l.C0.ESC+"[1;"+(i+1)+"H":d?l.C0.ESC+"OH":l.C0.ESC+"[H";break;case 35:h.key=i?l.C0.ESC+"[1;"+(i+1)+"F":d?l.C0.ESC+"OF":l.C0.ESC+"[F";break;case 33:n.shiftKey?h.type=2:n.ctrlKey?h.key=l.C0.ESC+"[5;"+(i+1)+"~":h.key=l.C0.ESC+"[5~";break;case 34:n.shiftKey?h.type=3:n.ctrlKey?h.key=l.C0.ESC+"[6;"+(i+1)+"~":h.key=l.C0.ESC+"[6~";break;case 112:h.key=i?l.C0.ESC+"[1;"+(i+1)+"P":l.C0.ESC+"OP";break;case 113:h.key=i?l.C0.ESC+"[1;"+(i+1)+"Q":l.C0.ESC+"OQ";break;case 114:h.key=i?l.C0.ESC+"[1;"+(i+1)+"R":l.C0.ESC+"OR";break;case 115:h.key=i?l.C0.ESC+"[1;"+(i+1)+"S":l.C0.ESC+"OS";break;case 116:h.key=i?l.C0.ESC+"[15;"+(i+1)+"~":l.C0.ESC+"[15~";break;case 117:h.key=i?l.C0.ESC+"[17;"+(i+1)+"~":l.C0.ESC+"[17~";break;case 118:h.key=i?l.C0.ESC+"[18;"+(i+1)+"~":l.C0.ESC+"[18~";break;case 119:h.key=i?l.C0.ESC+"[19;"+(i+1)+"~":l.C0.ESC+"[19~";break;case 120:h.key=i?l.C0.ESC+"[20;"+(i+1)+"~":l.C0.ESC+"[20~";break;case 121:h.key=i?l.C0.ESC+"[21;"+(i+1)+"~":l.C0.ESC+"[21~";break;case 122:h.key=i?l.C0.ESC+"[23;"+(i+1)+"~":l.C0.ESC+"[23~";break;case 123:h.key=i?l.C0.ESC+"[24;"+(i+1)+"~":l.C0.ESC+"[24~";break;default:if(!n.ctrlKey||n.shiftKey||n.altKey||n.metaKey)if(v&&!g||!n.altKey||n.metaKey)!v||n.altKey||n.ctrlKey||n.shiftKey||!n.metaKey?n.key&&!n.ctrlKey&&!n.altKey&&!n.metaKey&&n.keyCode>=48&&n.key.length===1?h.key=n.key:n.key&&n.ctrlKey&&(n.key==="_"&&(h.key=l.C0.US),n.key==="@"&&(h.key=l.C0.NUL)):n.keyCode===65&&(h.type=1);else{const s=_[n.keyCode],e=s==null?void 0:s[n.shiftKey?1:0];if(e)h.key=l.C0.ESC+e;else if(n.keyCode>=65&&n.keyCode<=90){const t=n.ctrlKey?n.keyCode-64:n.keyCode+32;let o=String.fromCharCode(t);n.shiftKey&&(o=o.toUpperCase()),h.key=l.C0.ESC+o}else if(n.keyCode===32)h.key=l.C0.ESC+(n.ctrlKey?l.C0.NUL:" ");else if(n.key==="Dead"&&n.code.startsWith("Key")){let t=n.code.slice(3,4);n.shiftKey||(t=t.toLowerCase()),h.key=l.C0.ESC+t,h.cancel=!0}}else n.keyCode>=65&&n.keyCode<=90?h.key=String.fromCharCode(n.keyCode-64):n.keyCode===32?h.key=l.C0.NUL:n.keyCode>=51&&n.keyCode<=55?h.key=String.fromCharCode(n.keyCode-51+27):n.keyCode===56?h.key=l.C0.DEL:n.keyCode===219?h.key=l.C0.ESC:n.keyCode===220?h.key=l.C0.FS:n.keyCode===221&&(h.key=l.C0.GS)}return h}},482:(O,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.Utf8ToUtf32=r.StringToUtf32=r.utf32ToString=r.stringFromCodePoint=void 0,r.stringFromCodePoint=function(a){return a>65535?(a-=65536,String.fromCharCode(55296+(a>>10))+String.fromCharCode(a%1024+56320)):String.fromCharCode(a)},r.utf32ToString=function(a,l=0,_=a.length){let n="";for(let d=l;d<_;++d){let v=a[d];v>65535?(v-=65536,n+=String.fromCharCode(55296+(v>>10))+String.fromCharCode(v%1024+56320)):n+=String.fromCharCode(v)}return n},r.StringToUtf32=class{constructor(){this._interim=0}clear(){this._interim=0}decode(a,l){const _=a.length;if(!_)return 0;let n=0,d=0;if(this._interim){const v=a.charCodeAt(d++);56320<=v&&v<=57343?l[n++]=1024*(this._interim-55296)+v-56320+65536:(l[n++]=this._interim,l[n++]=v),this._interim=0}for(let v=d;v<_;++v){const g=a.charCodeAt(v);if(55296<=g&&g<=56319){if(++v>=_)return this._interim=g,n;const h=a.charCodeAt(v);56320<=h&&h<=57343?l[n++]=1024*(g-55296)+h-56320+65536:(l[n++]=g,l[n++]=h)}else g!==65279&&(l[n++]=g)}return n}},r.Utf8ToUtf32=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(a,l){const _=a.length;if(!_)return 0;let n,d,v,g,h=0,i=0,s=0;if(this.interim[0]){let o=!1,f=this.interim[0];f&=(224&f)==192?31:(240&f)==224?15:7;let u,p=0;for(;(u=63&this.interim[++p])&&p<4;)f<<=6,f|=u;const c=(224&this.interim[0])==192?2:(240&this.interim[0])==224?3:4,m=c-p;for(;s<m;){if(s>=_)return 0;if(u=a[s++],(192&u)!=128){s--,o=!0;break}this.interim[p++]=u,f<<=6,f|=63&u}o||(c===2?f<128?s--:l[h++]=f:c===3?f<2048||f>=55296&&f<=57343||f===65279||(l[h++]=f):f<65536||f>1114111||(l[h++]=f)),this.interim.fill(0)}const e=_-4;let t=s;for(;t<_;){for(;!(!(t<e)||128&(n=a[t])||128&(d=a[t+1])||128&(v=a[t+2])||128&(g=a[t+3]));)l[h++]=n,l[h++]=d,l[h++]=v,l[h++]=g,t+=4;if(n=a[t++],n<128)l[h++]=n;else if((224&n)==192){if(t>=_)return this.interim[0]=n,h;if(d=a[t++],(192&d)!=128){t--;continue}if(i=(31&n)<<6|63&d,i<128){t--;continue}l[h++]=i}else if((240&n)==224){if(t>=_)return this.interim[0]=n,h;if(d=a[t++],(192&d)!=128){t--;continue}if(t>=_)return this.interim[0]=n,this.interim[1]=d,h;if(v=a[t++],(192&v)!=128){t--;continue}if(i=(15&n)<<12|(63&d)<<6|63&v,i<2048||i>=55296&&i<=57343||i===65279)continue;l[h++]=i}else if((248&n)==240){if(t>=_)return this.interim[0]=n,h;if(d=a[t++],(192&d)!=128){t--;continue}if(t>=_)return this.interim[0]=n,this.interim[1]=d,h;if(v=a[t++],(192&v)!=128){t--;continue}if(t>=_)return this.interim[0]=n,this.interim[1]=d,this.interim[2]=v,h;if(g=a[t++],(192&g)!=128){t--;continue}if(i=(7&n)<<18|(63&d)<<12|(63&v)<<6|63&g,i<65536||i>1114111)continue;l[h++]=i}}return h}}},225:(O,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.UnicodeV6=void 0;const l=a(1480),_=[[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]],n=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]];let d;r.UnicodeV6=class{constructor(){if(this.version="6",!d){d=new Uint8Array(65536),d.fill(1),d[0]=0,d.fill(0,1,32),d.fill(0,127,160),d.fill(2,4352,4448),d[9001]=2,d[9002]=2,d.fill(2,11904,42192),d[12351]=1,d.fill(2,44032,55204),d.fill(2,63744,64256),d.fill(2,65040,65050),d.fill(2,65072,65136),d.fill(2,65280,65377),d.fill(2,65504,65511);for(let v=0;v<_.length;++v)d.fill(0,_[v][0],_[v][1]+1)}}wcwidth(v){return v<32?0:v<127?1:v<65536?d[v]:(function(g,h){let i,s=0,e=h.length-1;if(g<h[0][0]||g>h[e][1])return!1;for(;e>=s;)if(i=s+e>>1,g>h[i][1])s=i+1;else{if(!(g<h[i][0]))return!0;e=i-1}return!1})(v,n)?0:v>=131072&&v<=196605||v>=196608&&v<=262141?2:1}charProperties(v,g){let h=this.wcwidth(v),i=h===0&&g!==0;if(i){const s=l.UnicodeService.extractWidth(g);s===0?i=!1:s>h&&(h=s)}return l.UnicodeService.createPropertyValue(0,h,i)}}},5981:(O,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.WriteBuffer=void 0;const l=a(8460),_=a(844);class n extends _.Disposable{constructor(v){super(),this._action=v,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this.register(new l.EventEmitter),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(v,g){if(g!==void 0&&this._syncCalls>g)return void(this._syncCalls=0);if(this._pendingData+=v.length,this._writeBuffer.push(v),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;let h;for(this._isSyncWriting=!0;h=this._writeBuffer.shift();){this._action(h);const i=this._callbacks.shift();i&&i()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(v,g){if(this._pendingData>5e7)throw new Error("write data discarded, use flow control to avoid losing data");if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput)return this._didUserInput=!1,this._pendingData+=v.length,this._writeBuffer.push(v),this._callbacks.push(g),void this._innerWrite();setTimeout((()=>this._innerWrite()))}this._pendingData+=v.length,this._writeBuffer.push(v),this._callbacks.push(g)}_innerWrite(v=0,g=!0){const h=v||Date.now();for(;this._writeBuffer.length>this._bufferOffset;){const i=this._writeBuffer[this._bufferOffset],s=this._action(i,g);if(s){const t=o=>Date.now()-h>=12?setTimeout((()=>this._innerWrite(0,o))):this._innerWrite(h,o);return void s.catch((o=>(queueMicrotask((()=>{throw o})),Promise.resolve(!1)))).then(t)}const e=this._callbacks[this._bufferOffset];if(e&&e(),this._bufferOffset++,this._pendingData-=i.length,Date.now()-h>=12)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>50&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout((()=>this._innerWrite()))):(this._writeBuffer.length=0,this._callbacks.length=0,this._pendingData=0,this._bufferOffset=0),this._onWriteParsed.fire()}}r.WriteBuffer=n},5941:(O,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.toRgbString=r.parseColor=void 0;const a=/^([\da-f])\/([\da-f])\/([\da-f])$|^([\da-f]{2})\/([\da-f]{2})\/([\da-f]{2})$|^([\da-f]{3})\/([\da-f]{3})\/([\da-f]{3})$|^([\da-f]{4})\/([\da-f]{4})\/([\da-f]{4})$/,l=/^[\da-f]+$/;function _(n,d){const v=n.toString(16),g=v.length<2?"0"+v:v;switch(d){case 4:return v[0];case 8:return g;case 12:return(g+g).slice(0,3);default:return g+g}}r.parseColor=function(n){if(!n)return;let d=n.toLowerCase();if(d.indexOf("rgb:")===0){d=d.slice(4);const v=a.exec(d);if(v){const g=v[1]?15:v[4]?255:v[7]?4095:65535;return[Math.round(parseInt(v[1]||v[4]||v[7]||v[10],16)/g*255),Math.round(parseInt(v[2]||v[5]||v[8]||v[11],16)/g*255),Math.round(parseInt(v[3]||v[6]||v[9]||v[12],16)/g*255)]}}else if(d.indexOf("#")===0&&(d=d.slice(1),l.exec(d)&&[3,6,9,12].includes(d.length))){const v=d.length/3,g=[0,0,0];for(let h=0;h<3;++h){const i=parseInt(d.slice(v*h,v*h+v),16);g[h]=v===1?i<<4:v===2?i:v===3?i>>4:i>>8}return g}},r.toRgbString=function(n,d=16){const[v,g,h]=n;return`rgb:${_(v,d)}/${_(g,d)}/${_(h,d)}`}},5770:(O,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.PAYLOAD_LIMIT=void 0,r.PAYLOAD_LIMIT=1e7},6351:(O,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.DcsHandler=r.DcsParser=void 0;const l=a(482),_=a(8742),n=a(5770),d=[];r.DcsParser=class{constructor(){this._handlers=Object.create(null),this._active=d,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=d}registerHandler(g,h){this._handlers[g]===void 0&&(this._handlers[g]=[]);const i=this._handlers[g];return i.push(h),{dispose:()=>{const s=i.indexOf(h);s!==-1&&i.splice(s,1)}}}clearHandler(g){this._handlers[g]&&delete this._handlers[g]}setHandlerFallback(g){this._handlerFb=g}reset(){if(this._active.length)for(let g=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;g>=0;--g)this._active[g].unhook(!1);this._stack.paused=!1,this._active=d,this._ident=0}hook(g,h){if(this.reset(),this._ident=g,this._active=this._handlers[g]||d,this._active.length)for(let i=this._active.length-1;i>=0;i--)this._active[i].hook(h);else this._handlerFb(this._ident,"HOOK",h)}put(g,h,i){if(this._active.length)for(let s=this._active.length-1;s>=0;s--)this._active[s].put(g,h,i);else this._handlerFb(this._ident,"PUT",(0,l.utf32ToString)(g,h,i))}unhook(g,h=!0){if(this._active.length){let i=!1,s=this._active.length-1,e=!1;if(this._stack.paused&&(s=this._stack.loopPosition-1,i=h,e=this._stack.fallThrough,this._stack.paused=!1),!e&&i===!1){for(;s>=0&&(i=this._active[s].unhook(g),i!==!0);s--)if(i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!1,i;s--}for(;s>=0;s--)if(i=this._active[s].unhook(!1),i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!0,i}else this._handlerFb(this._ident,"UNHOOK",g);this._active=d,this._ident=0}};const v=new _.Params;v.addParam(0),r.DcsHandler=class{constructor(g){this._handler=g,this._data="",this._params=v,this._hitLimit=!1}hook(g){this._params=g.length>1||g.params[0]?g.clone():v,this._data="",this._hitLimit=!1}put(g,h,i){this._hitLimit||(this._data+=(0,l.utf32ToString)(g,h,i),this._data.length>n.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))}unhook(g){let h=!1;if(this._hitLimit)h=!1;else if(g&&(h=this._handler(this._data,this._params),h instanceof Promise))return h.then((i=>(this._params=v,this._data="",this._hitLimit=!1,i)));return this._params=v,this._data="",this._hitLimit=!1,h}}},2015:(O,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.EscapeSequenceParser=r.VT500_TRANSITION_TABLE=r.TransitionTable=void 0;const l=a(844),_=a(8742),n=a(6242),d=a(6351);class v{constructor(s){this.table=new Uint8Array(s)}setDefault(s,e){this.table.fill(s<<4|e)}add(s,e,t,o){this.table[e<<8|s]=t<<4|o}addMany(s,e,t,o){for(let f=0;f<s.length;f++)this.table[e<<8|s[f]]=t<<4|o}}r.TransitionTable=v;const g=160;r.VT500_TRANSITION_TABLE=(function(){const i=new v(4095),s=Array.apply(null,Array(256)).map(((p,c)=>c)),e=(p,c)=>s.slice(p,c),t=e(32,127),o=e(0,24);o.push(25),o.push.apply(o,e(28,32));const f=e(0,14);let u;for(u in i.setDefault(1,0),i.addMany(t,0,2,0),f)i.addMany([24,26,153,154],u,3,0),i.addMany(e(128,144),u,3,0),i.addMany(e(144,152),u,3,0),i.add(156,u,0,0),i.add(27,u,11,1),i.add(157,u,4,8),i.addMany([152,158,159],u,0,7),i.add(155,u,11,3),i.add(144,u,11,9);return i.addMany(o,0,3,0),i.addMany(o,1,3,1),i.add(127,1,0,1),i.addMany(o,8,0,8),i.addMany(o,3,3,3),i.add(127,3,0,3),i.addMany(o,4,3,4),i.add(127,4,0,4),i.addMany(o,6,3,6),i.addMany(o,5,3,5),i.add(127,5,0,5),i.addMany(o,2,3,2),i.add(127,2,0,2),i.add(93,1,4,8),i.addMany(t,8,5,8),i.add(127,8,5,8),i.addMany([156,27,24,26,7],8,6,0),i.addMany(e(28,32),8,0,8),i.addMany([88,94,95],1,0,7),i.addMany(t,7,0,7),i.addMany(o,7,0,7),i.add(156,7,0,0),i.add(127,7,0,7),i.add(91,1,11,3),i.addMany(e(64,127),3,7,0),i.addMany(e(48,60),3,8,4),i.addMany([60,61,62,63],3,9,4),i.addMany(e(48,60),4,8,4),i.addMany(e(64,127),4,7,0),i.addMany([60,61,62,63],4,0,6),i.addMany(e(32,64),6,0,6),i.add(127,6,0,6),i.addMany(e(64,127),6,0,0),i.addMany(e(32,48),3,9,5),i.addMany(e(32,48),5,9,5),i.addMany(e(48,64),5,0,6),i.addMany(e(64,127),5,7,0),i.addMany(e(32,48),4,9,5),i.addMany(e(32,48),1,9,2),i.addMany(e(32,48),2,9,2),i.addMany(e(48,127),2,10,0),i.addMany(e(48,80),1,10,0),i.addMany(e(81,88),1,10,0),i.addMany([89,90,92],1,10,0),i.addMany(e(96,127),1,10,0),i.add(80,1,11,9),i.addMany(o,9,0,9),i.add(127,9,0,9),i.addMany(e(28,32),9,0,9),i.addMany(e(32,48),9,9,12),i.addMany(e(48,60),9,8,10),i.addMany([60,61,62,63],9,9,10),i.addMany(o,11,0,11),i.addMany(e(32,128),11,0,11),i.addMany(e(28,32),11,0,11),i.addMany(o,10,0,10),i.add(127,10,0,10),i.addMany(e(28,32),10,0,10),i.addMany(e(48,60),10,8,10),i.addMany([60,61,62,63],10,0,11),i.addMany(e(32,48),10,9,12),i.addMany(o,12,0,12),i.add(127,12,0,12),i.addMany(e(28,32),12,0,12),i.addMany(e(32,48),12,9,12),i.addMany(e(48,64),12,0,11),i.addMany(e(64,127),12,12,13),i.addMany(e(64,127),10,12,13),i.addMany(e(64,127),9,12,13),i.addMany(o,13,13,13),i.addMany(t,13,13,13),i.add(127,13,0,13),i.addMany([27,156,24,26],13,14,0),i.add(g,0,2,0),i.add(g,8,5,8),i.add(g,6,0,6),i.add(g,11,0,11),i.add(g,13,13,13),i})();class h extends l.Disposable{constructor(s=r.VT500_TRANSITION_TABLE){super(),this._transitions=s,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new _.Params,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(e,t,o)=>{},this._executeHandlerFb=e=>{},this._csiHandlerFb=(e,t)=>{},this._escHandlerFb=e=>{},this._errorHandlerFb=e=>e,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this.register((0,l.toDisposable)((()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)}))),this._oscParser=this.register(new n.OscParser),this._dcsParser=this.register(new d.DcsParser),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:"\\"},(()=>!0))}_identifier(s,e=[64,126]){let t=0;if(s.prefix){if(s.prefix.length>1)throw new Error("only one byte as prefix supported");if(t=s.prefix.charCodeAt(0),t&&60>t||t>63)throw new Error("prefix must be in range 0x3c .. 0x3f")}if(s.intermediates){if(s.intermediates.length>2)throw new Error("only two bytes as intermediates are supported");for(let f=0;f<s.intermediates.length;++f){const u=s.intermediates.charCodeAt(f);if(32>u||u>47)throw new Error("intermediate must be in range 0x20 .. 0x2f");t<<=8,t|=u}}if(s.final.length!==1)throw new Error("final must be a single byte");const o=s.final.charCodeAt(0);if(e[0]>o||o>e[1])throw new Error(`final must be in range ${e[0]} .. ${e[1]}`);return t<<=8,t|=o,t}identToString(s){const e=[];for(;s;)e.push(String.fromCharCode(255&s)),s>>=8;return e.reverse().join("")}setPrintHandler(s){this._printHandler=s}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(s,e){const t=this._identifier(s,[48,126]);this._escHandlers[t]===void 0&&(this._escHandlers[t]=[]);const o=this._escHandlers[t];return o.push(e),{dispose:()=>{const f=o.indexOf(e);f!==-1&&o.splice(f,1)}}}clearEscHandler(s){this._escHandlers[this._identifier(s,[48,126])]&&delete this._escHandlers[this._identifier(s,[48,126])]}setEscHandlerFallback(s){this._escHandlerFb=s}setExecuteHandler(s,e){this._executeHandlers[s.charCodeAt(0)]=e}clearExecuteHandler(s){this._executeHandlers[s.charCodeAt(0)]&&delete this._executeHandlers[s.charCodeAt(0)]}setExecuteHandlerFallback(s){this._executeHandlerFb=s}registerCsiHandler(s,e){const t=this._identifier(s);this._csiHandlers[t]===void 0&&(this._csiHandlers[t]=[]);const o=this._csiHandlers[t];return o.push(e),{dispose:()=>{const f=o.indexOf(e);f!==-1&&o.splice(f,1)}}}clearCsiHandler(s){this._csiHandlers[this._identifier(s)]&&delete this._csiHandlers[this._identifier(s)]}setCsiHandlerFallback(s){this._csiHandlerFb=s}registerDcsHandler(s,e){return this._dcsParser.registerHandler(this._identifier(s),e)}clearDcsHandler(s){this._dcsParser.clearHandler(this._identifier(s))}setDcsHandlerFallback(s){this._dcsParser.setHandlerFallback(s)}registerOscHandler(s,e){return this._oscParser.registerHandler(s,e)}clearOscHandler(s){this._oscParser.clearHandler(s)}setOscHandlerFallback(s){this._oscParser.setHandlerFallback(s)}setErrorHandler(s){this._errorHandler=s}clearErrorHandler(){this._errorHandler=this._errorHandlerFb}reset(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._parseStack.state!==0&&(this._parseStack.state=2,this._parseStack.handlers=[])}_preserveStack(s,e,t,o,f){this._parseStack.state=s,this._parseStack.handlers=e,this._parseStack.handlerPos=t,this._parseStack.transition=o,this._parseStack.chunkPos=f}parse(s,e,t){let o,f=0,u=0,p=0;if(this._parseStack.state)if(this._parseStack.state===2)this._parseStack.state=0,p=this._parseStack.chunkPos+1;else{if(t===void 0||this._parseStack.state===1)throw this._parseStack.state=1,new Error("improper continuation due to previous async handler, giving up parsing");const c=this._parseStack.handlers;let m=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(t===!1&&m>-1){for(;m>=0&&(o=c[m](this._params),o!==!0);m--)if(o instanceof Promise)return this._parseStack.handlerPos=m,o}this._parseStack.handlers=[];break;case 4:if(t===!1&&m>-1){for(;m>=0&&(o=c[m](),o!==!0);m--)if(o instanceof Promise)return this._parseStack.handlerPos=m,o}this._parseStack.handlers=[];break;case 6:if(f=s[this._parseStack.chunkPos],o=this._dcsParser.unhook(f!==24&&f!==26,t),o)return o;f===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(f=s[this._parseStack.chunkPos],o=this._oscParser.end(f!==24&&f!==26,t),o)return o;f===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0}this._parseStack.state=0,p=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=15&this._parseStack.transition}for(let c=p;c<e;++c){switch(f=s[c],u=this._transitions.table[this.currentState<<8|(f<160?f:g)],u>>4){case 2:for(let w=c+1;;++w){if(w>=e||(f=s[w])<32||f>126&&f<g){this._printHandler(s,c,w),c=w-1;break}if(++w>=e||(f=s[w])<32||f>126&&f<g){this._printHandler(s,c,w),c=w-1;break}if(++w>=e||(f=s[w])<32||f>126&&f<g){this._printHandler(s,c,w),c=w-1;break}if(++w>=e||(f=s[w])<32||f>126&&f<g){this._printHandler(s,c,w),c=w-1;break}}break;case 3:this._executeHandlers[f]?this._executeHandlers[f]():this._executeHandlerFb(f),this.precedingJoinState=0;break;case 0:break;case 1:if(this._errorHandler({position:c,code:f,currentState:this.currentState,collect:this._collect,params:this._params,abort:!1}).abort)return;break;case 7:const m=this._csiHandlers[this._collect<<8|f];let y=m?m.length-1:-1;for(;y>=0&&(o=m[y](this._params),o!==!0);y--)if(o instanceof Promise)return this._preserveStack(3,m,y,u,c),o;y<0&&this._csiHandlerFb(this._collect<<8|f,this._params),this.precedingJoinState=0;break;case 8:do switch(f){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(f-48)}while(++c<e&&(f=s[c])>47&&f<60);c--;break;case 9:this._collect<<=8,this._collect|=f;break;case 10:const k=this._escHandlers[this._collect<<8|f];let L=k?k.length-1:-1;for(;L>=0&&(o=k[L](),o!==!0);L--)if(o instanceof Promise)return this._preserveStack(4,k,L,u,c),o;L<0&&this._escHandlerFb(this._collect<<8|f),this.precedingJoinState=0;break;case 11:this._params.reset(),this._params.addParam(0),this._collect=0;break;case 12:this._dcsParser.hook(this._collect<<8|f,this._params);break;case 13:for(let w=c+1;;++w)if(w>=e||(f=s[w])===24||f===26||f===27||f>127&&f<g){this._dcsParser.put(s,c,w),c=w-1;break}break;case 14:if(o=this._dcsParser.unhook(f!==24&&f!==26),o)return this._preserveStack(6,[],0,u,c),o;f===27&&(u|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0;break;case 4:this._oscParser.start();break;case 5:for(let w=c+1;;w++)if(w>=e||(f=s[w])<32||f>127&&f<g){this._oscParser.put(s,c,w),c=w-1;break}break;case 6:if(o=this._oscParser.end(f!==24&&f!==26),o)return this._preserveStack(5,[],0,u,c),o;f===27&&(u|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0}this.currentState=15&u}}}r.EscapeSequenceParser=h},6242:(O,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.OscHandler=r.OscParser=void 0;const l=a(5770),_=a(482),n=[];r.OscParser=class{constructor(){this._state=0,this._active=n,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(d,v){this._handlers[d]===void 0&&(this._handlers[d]=[]);const g=this._handlers[d];return g.push(v),{dispose:()=>{const h=g.indexOf(v);h!==-1&&g.splice(h,1)}}}clearHandler(d){this._handlers[d]&&delete this._handlers[d]}setHandlerFallback(d){this._handlerFb=d}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=n}reset(){if(this._state===2)for(let d=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;d>=0;--d)this._active[d].end(!1);this._stack.paused=!1,this._active=n,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||n,this._active.length)for(let d=this._active.length-1;d>=0;d--)this._active[d].start();else this._handlerFb(this._id,"START")}_put(d,v,g){if(this._active.length)for(let h=this._active.length-1;h>=0;h--)this._active[h].put(d,v,g);else this._handlerFb(this._id,"PUT",(0,_.utf32ToString)(d,v,g))}start(){this.reset(),this._state=1}put(d,v,g){if(this._state!==3){if(this._state===1)for(;v<g;){const h=d[v++];if(h===59){this._state=2,this._start();break}if(h<48||57<h)return void(this._state=3);this._id===-1&&(this._id=0),this._id=10*this._id+h-48}this._state===2&&g-v>0&&this._put(d,v,g)}}end(d,v=!0){if(this._state!==0){if(this._state!==3)if(this._state===1&&this._start(),this._active.length){let g=!1,h=this._active.length-1,i=!1;if(this._stack.paused&&(h=this._stack.loopPosition-1,g=v,i=this._stack.fallThrough,this._stack.paused=!1),!i&&g===!1){for(;h>=0&&(g=this._active[h].end(d),g!==!0);h--)if(g instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=h,this._stack.fallThrough=!1,g;h--}for(;h>=0;h--)if(g=this._active[h].end(!1),g instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=h,this._stack.fallThrough=!0,g}else this._handlerFb(this._id,"END",d);this._active=n,this._id=-1,this._state=0}}},r.OscHandler=class{constructor(d){this._handler=d,this._data="",this._hitLimit=!1}start(){this._data="",this._hitLimit=!1}put(d,v,g){this._hitLimit||(this._data+=(0,_.utf32ToString)(d,v,g),this._data.length>l.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))}end(d){let v=!1;if(this._hitLimit)v=!1;else if(d&&(v=this._handler(this._data),v instanceof Promise))return v.then((g=>(this._data="",this._hitLimit=!1,g)));return this._data="",this._hitLimit=!1,v}}},8742:(O,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.Params=void 0;const a=2147483647;class l{static fromArray(n){const d=new l;if(!n.length)return d;for(let v=Array.isArray(n[0])?1:0;v<n.length;++v){const g=n[v];if(Array.isArray(g))for(let h=0;h<g.length;++h)d.addSubParam(g[h]);else d.addParam(g)}return d}constructor(n=32,d=32){if(this.maxLength=n,this.maxSubParamsLength=d,d>256)throw new Error("maxSubParamsLength must not be greater than 256");this.params=new Int32Array(n),this.length=0,this._subParams=new Int32Array(d),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(n),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}clone(){const n=new l(this.maxLength,this.maxSubParamsLength);return n.params.set(this.params),n.length=this.length,n._subParams.set(this._subParams),n._subParamsLength=this._subParamsLength,n._subParamsIdx.set(this._subParamsIdx),n._rejectDigits=this._rejectDigits,n._rejectSubDigits=this._rejectSubDigits,n._digitIsSub=this._digitIsSub,n}toArray(){const n=[];for(let d=0;d<this.length;++d){n.push(this.params[d]);const v=this._subParamsIdx[d]>>8,g=255&this._subParamsIdx[d];g-v>0&&n.push(Array.prototype.slice.call(this._subParams,v,g))}return n}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(n){if(this._digitIsSub=!1,this.length>=this.maxLength)this._rejectDigits=!0;else{if(n<-1)throw new Error("values lesser than -1 are not allowed");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=n>a?a:n}}addSubParam(n){if(this._digitIsSub=!0,this.length)if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength)this._rejectSubDigits=!0;else{if(n<-1)throw new Error("values lesser than -1 are not allowed");this._subParams[this._subParamsLength++]=n>a?a:n,this._subParamsIdx[this.length-1]++}}hasSubParams(n){return(255&this._subParamsIdx[n])-(this._subParamsIdx[n]>>8)>0}getSubParams(n){const d=this._subParamsIdx[n]>>8,v=255&this._subParamsIdx[n];return v-d>0?this._subParams.subarray(d,v):null}getSubParamsAll(){const n={};for(let d=0;d<this.length;++d){const v=this._subParamsIdx[d]>>8,g=255&this._subParamsIdx[d];g-v>0&&(n[d]=this._subParams.slice(v,g))}return n}addDigit(n){let d;if(this._rejectDigits||!(d=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;const v=this._digitIsSub?this._subParams:this.params,g=v[d-1];v[d-1]=~g?Math.min(10*g+n,a):n}}r.Params=l},5741:(O,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.AddonManager=void 0,r.AddonManager=class{constructor(){this._addons=[]}dispose(){for(let a=this._addons.length-1;a>=0;a--)this._addons[a].instance.dispose()}loadAddon(a,l){const _={instance:l,dispose:l.dispose,isDisposed:!1};this._addons.push(_),l.dispose=()=>this._wrappedAddonDispose(_),l.activate(a)}_wrappedAddonDispose(a){if(a.isDisposed)return;let l=-1;for(let _=0;_<this._addons.length;_++)if(this._addons[_]===a){l=_;break}if(l===-1)throw new Error("Could not dispose an addon that has not been loaded");a.isDisposed=!0,a.dispose.apply(a.instance),this._addons.splice(l,1)}}},8771:(O,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.BufferApiView=void 0;const l=a(3785),_=a(511);r.BufferApiView=class{constructor(n,d){this._buffer=n,this.type=d}init(n){return this._buffer=n,this}get cursorY(){return this._buffer.y}get cursorX(){return this._buffer.x}get viewportY(){return this._buffer.ydisp}get baseY(){return this._buffer.ybase}get length(){return this._buffer.lines.length}getLine(n){const d=this._buffer.lines.get(n);if(d)return new l.BufferLineApiView(d)}getNullCell(){return new _.CellData}}},3785:(O,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.BufferLineApiView=void 0;const l=a(511);r.BufferLineApiView=class{constructor(_){this._line=_}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(_,n){if(!(_<0||_>=this._line.length))return n?(this._line.loadCell(_,n),n):this._line.loadCell(_,new l.CellData)}translateToString(_,n,d){return this._line.translateToString(_,n,d)}}},8285:(O,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.BufferNamespaceApi=void 0;const l=a(8771),_=a(8460),n=a(844);class d extends n.Disposable{constructor(g){super(),this._core=g,this._onBufferChange=this.register(new _.EventEmitter),this.onBufferChange=this._onBufferChange.event,this._normal=new l.BufferApiView(this._core.buffers.normal,"normal"),this._alternate=new l.BufferApiView(this._core.buffers.alt,"alternate"),this._core.buffers.onBufferActivate((()=>this._onBufferChange.fire(this.active)))}get active(){if(this._core.buffers.active===this._core.buffers.normal)return this.normal;if(this._core.buffers.active===this._core.buffers.alt)return this.alternate;throw new Error("Active buffer is neither normal nor alternate")}get normal(){return this._normal.init(this._core.buffers.normal)}get alternate(){return this._alternate.init(this._core.buffers.alt)}}r.BufferNamespaceApi=d},7975:(O,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.ParserApi=void 0,r.ParserApi=class{constructor(a){this._core=a}registerCsiHandler(a,l){return this._core.registerCsiHandler(a,(_=>l(_.toArray())))}addCsiHandler(a,l){return this.registerCsiHandler(a,l)}registerDcsHandler(a,l){return this._core.registerDcsHandler(a,((_,n)=>l(_,n.toArray())))}addDcsHandler(a,l){return this.registerDcsHandler(a,l)}registerEscHandler(a,l){return this._core.registerEscHandler(a,l)}addEscHandler(a,l){return this.registerEscHandler(a,l)}registerOscHandler(a,l){return this._core.registerOscHandler(a,l)}addOscHandler(a,l){return this.registerOscHandler(a,l)}}},7090:(O,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.UnicodeApi=void 0,r.UnicodeApi=class{constructor(a){this._core=a}register(a){this._core.unicodeService.register(a)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(a){this._core.unicodeService.activeVersion=a}}},744:function(O,r,a){var l=this&&this.__decorate||function(i,s,e,t){var o,f=arguments.length,u=f<3?s:t===null?t=Object.getOwnPropertyDescriptor(s,e):t;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")u=Reflect.decorate(i,s,e,t);else for(var p=i.length-1;p>=0;p--)(o=i[p])&&(u=(f<3?o(u):f>3?o(s,e,u):o(s,e))||u);return f>3&&u&&Object.defineProperty(s,e,u),u},_=this&&this.__param||function(i,s){return function(e,t){s(e,t,i)}};Object.defineProperty(r,"__esModule",{value:!0}),r.BufferService=r.MINIMUM_ROWS=r.MINIMUM_COLS=void 0;const n=a(8460),d=a(844),v=a(5295),g=a(2585);r.MINIMUM_COLS=2,r.MINIMUM_ROWS=1;let h=r.BufferService=class extends d.Disposable{get buffer(){return this.buffers.active}constructor(i){super(),this.isUserScrolling=!1,this._onResize=this.register(new n.EventEmitter),this.onResize=this._onResize.event,this._onScroll=this.register(new n.EventEmitter),this.onScroll=this._onScroll.event,this.cols=Math.max(i.rawOptions.cols||0,r.MINIMUM_COLS),this.rows=Math.max(i.rawOptions.rows||0,r.MINIMUM_ROWS),this.buffers=this.register(new v.BufferSet(i,this))}resize(i,s){this.cols=i,this.rows=s,this.buffers.resize(i,s),this._onResize.fire({cols:i,rows:s})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(i,s=!1){const e=this.buffer;let t;t=this._cachedBlankLine,t&&t.length===this.cols&&t.getFg(0)===i.fg&&t.getBg(0)===i.bg||(t=e.getBlankLine(i,s),this._cachedBlankLine=t),t.isWrapped=s;const o=e.ybase+e.scrollTop,f=e.ybase+e.scrollBottom;if(e.scrollTop===0){const u=e.lines.isFull;f===e.lines.length-1?u?e.lines.recycle().copyFrom(t):e.lines.push(t.clone()):e.lines.splice(f+1,0,t.clone()),u?this.isUserScrolling&&(e.ydisp=Math.max(e.ydisp-1,0)):(e.ybase++,this.isUserScrolling||e.ydisp++)}else{const u=f-o+1;e.lines.shiftElements(o+1,u-1,-1),e.lines.set(f,t.clone())}this.isUserScrolling||(e.ydisp=e.ybase),this._onScroll.fire(e.ydisp)}scrollLines(i,s,e){const t=this.buffer;if(i<0){if(t.ydisp===0)return;this.isUserScrolling=!0}else i+t.ydisp>=t.ybase&&(this.isUserScrolling=!1);const o=t.ydisp;t.ydisp=Math.max(Math.min(t.ydisp+i,t.ybase),0),o!==t.ydisp&&(s||this._onScroll.fire(t.ydisp))}};r.BufferService=h=l([_(0,g.IOptionsService)],h)},7994:(O,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.CharsetService=void 0,r.CharsetService=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(a){this.glevel=a,this.charset=this._charsets[a]}setgCharset(a,l){this._charsets[a]=l,this.glevel===a&&(this.charset=l)}}},1753:function(O,r,a){var l=this&&this.__decorate||function(t,o,f,u){var p,c=arguments.length,m=c<3?o:u===null?u=Object.getOwnPropertyDescriptor(o,f):u;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")m=Reflect.decorate(t,o,f,u);else for(var y=t.length-1;y>=0;y--)(p=t[y])&&(m=(c<3?p(m):c>3?p(o,f,m):p(o,f))||m);return c>3&&m&&Object.defineProperty(o,f,m),m},_=this&&this.__param||function(t,o){return function(f,u){o(f,u,t)}};Object.defineProperty(r,"__esModule",{value:!0}),r.CoreMouseService=void 0;const n=a(2585),d=a(8460),v=a(844),g={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:t=>t.button!==4&&t.action===1&&(t.ctrl=!1,t.alt=!1,t.shift=!1,!0)},VT200:{events:19,restrict:t=>t.action!==32},DRAG:{events:23,restrict:t=>t.action!==32||t.button!==3},ANY:{events:31,restrict:t=>!0}};function h(t,o){let f=(t.ctrl?16:0)|(t.shift?4:0)|(t.alt?8:0);return t.button===4?(f|=64,f|=t.action):(f|=3&t.button,4&t.button&&(f|=64),8&t.button&&(f|=128),t.action===32?f|=32:t.action!==0||o||(f|=3)),f}const i=String.fromCharCode,s={DEFAULT:t=>{const o=[h(t,!1)+32,t.col+32,t.row+32];return o[0]>255||o[1]>255||o[2]>255?"":`\x1B[M${i(o[0])}${i(o[1])}${i(o[2])}`},SGR:t=>{const o=t.action===0&&t.button!==4?"m":"M";return`\x1B[<${h(t,!0)};${t.col};${t.row}${o}`},SGR_PIXELS:t=>{const o=t.action===0&&t.button!==4?"m":"M";return`\x1B[<${h(t,!0)};${t.x};${t.y}${o}`}};let e=r.CoreMouseService=class extends v.Disposable{constructor(t,o){super(),this._bufferService=t,this._coreService=o,this._protocols={},this._encodings={},this._activeProtocol="",this._activeEncoding="",this._lastEvent=null,this._onProtocolChange=this.register(new d.EventEmitter),this.onProtocolChange=this._onProtocolChange.event;for(const f of Object.keys(g))this.addProtocol(f,g[f]);for(const f of Object.keys(s))this.addEncoding(f,s[f]);this.reset()}addProtocol(t,o){this._protocols[t]=o}addEncoding(t,o){this._encodings[t]=o}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return this._protocols[this._activeProtocol].events!==0}set activeProtocol(t){if(!this._protocols[t])throw new Error(`unknown protocol "${t}"`);this._activeProtocol=t,this._onProtocolChange.fire(this._protocols[t].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(t){if(!this._encodings[t])throw new Error(`unknown encoding "${t}"`);this._activeEncoding=t}reset(){this.activeProtocol="NONE",this.activeEncoding="DEFAULT",this._lastEvent=null}triggerMouseEvent(t){if(t.col<0||t.col>=this._bufferService.cols||t.row<0||t.row>=this._bufferService.rows||t.button===4&&t.action===32||t.button===3&&t.action!==32||t.button!==4&&(t.action===2||t.action===3)||(t.col++,t.row++,t.action===32&&this._lastEvent&&this._equalEvents(this._lastEvent,t,this._activeEncoding==="SGR_PIXELS"))||!this._protocols[this._activeProtocol].restrict(t))return!1;const o=this._encodings[this._activeEncoding](t);return o&&(this._activeEncoding==="DEFAULT"?this._coreService.triggerBinaryEvent(o):this._coreService.triggerDataEvent(o,!0)),this._lastEvent=t,!0}explainEvents(t){return{down:!!(1&t),up:!!(2&t),drag:!!(4&t),move:!!(8&t),wheel:!!(16&t)}}_equalEvents(t,o,f){if(f){if(t.x!==o.x||t.y!==o.y)return!1}else if(t.col!==o.col||t.row!==o.row)return!1;return t.button===o.button&&t.action===o.action&&t.ctrl===o.ctrl&&t.alt===o.alt&&t.shift===o.shift}};r.CoreMouseService=e=l([_(0,n.IBufferService),_(1,n.ICoreService)],e)},6975:function(O,r,a){var l=this&&this.__decorate||function(e,t,o,f){var u,p=arguments.length,c=p<3?t:f===null?f=Object.getOwnPropertyDescriptor(t,o):f;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")c=Reflect.decorate(e,t,o,f);else for(var m=e.length-1;m>=0;m--)(u=e[m])&&(c=(p<3?u(c):p>3?u(t,o,c):u(t,o))||c);return p>3&&c&&Object.defineProperty(t,o,c),c},_=this&&this.__param||function(e,t){return function(o,f){t(o,f,e)}};Object.defineProperty(r,"__esModule",{value:!0}),r.CoreService=void 0;const n=a(1439),d=a(8460),v=a(844),g=a(2585),h=Object.freeze({insertMode:!1}),i=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,origin:!1,reverseWraparound:!1,sendFocus:!1,wraparound:!0});let s=r.CoreService=class extends v.Disposable{constructor(e,t,o){super(),this._bufferService=e,this._logService=t,this._optionsService=o,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this.register(new d.EventEmitter),this.onData=this._onData.event,this._onUserInput=this.register(new d.EventEmitter),this.onUserInput=this._onUserInput.event,this._onBinary=this.register(new d.EventEmitter),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this.register(new d.EventEmitter),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=(0,n.clone)(h),this.decPrivateModes=(0,n.clone)(i)}reset(){this.modes=(0,n.clone)(h),this.decPrivateModes=(0,n.clone)(i)}triggerDataEvent(e,t=!1){if(this._optionsService.rawOptions.disableStdin)return;const o=this._bufferService.buffer;t&&this._optionsService.rawOptions.scrollOnUserInput&&o.ybase!==o.ydisp&&this._onRequestScrollToBottom.fire(),t&&this._onUserInput.fire(),this._logService.debug(`sending data "${e}"`,(()=>e.split("").map((f=>f.charCodeAt(0))))),this._onData.fire(e)}triggerBinaryEvent(e){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary "${e}"`,(()=>e.split("").map((t=>t.charCodeAt(0))))),this._onBinary.fire(e))}};r.CoreService=s=l([_(0,g.IBufferService),_(1,g.ILogService),_(2,g.IOptionsService)],s)},9074:(O,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.DecorationService=void 0;const l=a(8055),_=a(8460),n=a(844),d=a(6106);let v=0,g=0;class h extends n.Disposable{get decorations(){return this._decorations.values()}constructor(){super(),this._decorations=new d.SortedList((e=>e==null?void 0:e.marker.line)),this._onDecorationRegistered=this.register(new _.EventEmitter),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this.register(new _.EventEmitter),this.onDecorationRemoved=this._onDecorationRemoved.event,this.register((0,n.toDisposable)((()=>this.reset())))}registerDecoration(e){if(e.marker.isDisposed)return;const t=new i(e);if(t){const o=t.marker.onDispose((()=>t.dispose()));t.onDispose((()=>{t&&(this._decorations.delete(t)&&this._onDecorationRemoved.fire(t),o.dispose())})),this._decorations.insert(t),this._onDecorationRegistered.fire(t)}return t}reset(){for(const e of this._decorations.values())e.dispose();this._decorations.clear()}*getDecorationsAtCell(e,t,o){let f=0,u=0;for(const p of this._decorations.getKeyIterator(t))f=p.options.x??0,u=f+(p.options.width??1),e>=f&&e<u&&(!o||(p.options.layer??"bottom")===o)&&(yield p)}forEachDecorationAtCell(e,t,o,f){this._decorations.forEachByKey(t,(u=>{v=u.options.x??0,g=v+(u.options.width??1),e>=v&&e<g&&(!o||(u.options.layer??"bottom")===o)&&f(u)}))}}r.DecorationService=h;class i extends n.Disposable{get isDisposed(){return this._isDisposed}get backgroundColorRGB(){return this._cachedBg===null&&(this.options.backgroundColor?this._cachedBg=l.css.toColor(this.options.backgroundColor):this._cachedBg=void 0),this._cachedBg}get foregroundColorRGB(){return this._cachedFg===null&&(this.options.foregroundColor?this._cachedFg=l.css.toColor(this.options.foregroundColor):this._cachedFg=void 0),this._cachedFg}constructor(e){super(),this.options=e,this.onRenderEmitter=this.register(new _.EventEmitter),this.onRender=this.onRenderEmitter.event,this._onDispose=this.register(new _.EventEmitter),this.onDispose=this._onDispose.event,this._cachedBg=null,this._cachedFg=null,this.marker=e.marker,this.options.overviewRulerOptions&&!this.options.overviewRulerOptions.position&&(this.options.overviewRulerOptions.position="full")}dispose(){this._onDispose.fire(),super.dispose()}}},4348:(O,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.InstantiationService=r.ServiceCollection=void 0;const l=a(2585),_=a(8343);class n{constructor(...v){this._entries=new Map;for(const[g,h]of v)this.set(g,h)}set(v,g){const h=this._entries.get(v);return this._entries.set(v,g),h}forEach(v){for(const[g,h]of this._entries.entries())v(g,h)}has(v){return this._entries.has(v)}get(v){return this._entries.get(v)}}r.ServiceCollection=n,r.InstantiationService=class{constructor(){this._services=new n,this._services.set(l.IInstantiationService,this)}setService(d,v){this._services.set(d,v)}getService(d){return this._services.get(d)}createInstance(d,...v){const g=(0,_.getServiceDependencies)(d).sort(((s,e)=>s.index-e.index)),h=[];for(const s of g){const e=this._services.get(s.id);if(!e)throw new Error(`[createInstance] ${d.name} depends on UNKNOWN service ${s.id}.`);h.push(e)}const i=g.length>0?g[0].index:v.length;if(v.length!==i)throw new Error(`[createInstance] First service dependency of ${d.name} at position ${i+1} conflicts with ${v.length} static arguments`);return new d(...v,...h)}}},7866:function(O,r,a){var l=this&&this.__decorate||function(i,s,e,t){var o,f=arguments.length,u=f<3?s:t===null?t=Object.getOwnPropertyDescriptor(s,e):t;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")u=Reflect.decorate(i,s,e,t);else for(var p=i.length-1;p>=0;p--)(o=i[p])&&(u=(f<3?o(u):f>3?o(s,e,u):o(s,e))||u);return f>3&&u&&Object.defineProperty(s,e,u),u},_=this&&this.__param||function(i,s){return function(e,t){s(e,t,i)}};Object.defineProperty(r,"__esModule",{value:!0}),r.traceCall=r.setTraceLogger=r.LogService=void 0;const n=a(844),d=a(2585),v={trace:d.LogLevelEnum.TRACE,debug:d.LogLevelEnum.DEBUG,info:d.LogLevelEnum.INFO,warn:d.LogLevelEnum.WARN,error:d.LogLevelEnum.ERROR,off:d.LogLevelEnum.OFF};let g,h=r.LogService=class extends n.Disposable{get logLevel(){return this._logLevel}constructor(i){super(),this._optionsService=i,this._logLevel=d.LogLevelEnum.OFF,this._updateLogLevel(),this.register(this._optionsService.onSpecificOptionChange("logLevel",(()=>this._updateLogLevel()))),g=this}_updateLogLevel(){this._logLevel=v[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(i){for(let s=0;s<i.length;s++)typeof i[s]=="function"&&(i[s]=i[s]())}_log(i,s,e){this._evalLazyOptionalParams(e),i.call(console,(this._optionsService.options.logger?"":"xterm.js: ")+s,...e)}trace(i,...s){var e;this._logLevel<=d.LogLevelEnum.TRACE&&this._log(((e=this._optionsService.options.logger)==null?void 0:e.trace.bind(this._optionsService.options.logger))??console.log,i,s)}debug(i,...s){var e;this._logLevel<=d.LogLevelEnum.DEBUG&&this._log(((e=this._optionsService.options.logger)==null?void 0:e.debug.bind(this._optionsService.options.logger))??console.log,i,s)}info(i,...s){var e;this._logLevel<=d.LogLevelEnum.INFO&&this._log(((e=this._optionsService.options.logger)==null?void 0:e.info.bind(this._optionsService.options.logger))??console.info,i,s)}warn(i,...s){var e;this._logLevel<=d.LogLevelEnum.WARN&&this._log(((e=this._optionsService.options.logger)==null?void 0:e.warn.bind(this._optionsService.options.logger))??console.warn,i,s)}error(i,...s){var e;this._logLevel<=d.LogLevelEnum.ERROR&&this._log(((e=this._optionsService.options.logger)==null?void 0:e.error.bind(this._optionsService.options.logger))??console.error,i,s)}};r.LogService=h=l([_(0,d.IOptionsService)],h),r.setTraceLogger=function(i){g=i},r.traceCall=function(i,s,e){if(typeof e.value!="function")throw new Error("not supported");const t=e.value;e.value=function(...o){if(g.logLevel!==d.LogLevelEnum.TRACE)return t.apply(this,o);g.trace(`GlyphRenderer#${t.name}(${o.map((u=>JSON.stringify(u))).join(", ")})`);const f=t.apply(this,o);return g.trace(`GlyphRenderer#${t.name} return`,f),f}}},7302:(O,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.OptionsService=r.DEFAULT_OPTIONS=void 0;const l=a(8460),_=a(844),n=a(6114);r.DEFAULT_OPTIONS={cols:80,rows:24,cursorBlink:!1,cursorStyle:"block",cursorWidth:1,cursorInactiveStyle:"outline",customGlyphs:!0,drawBoldTextInBrightColors:!0,documentOverride:null,fastScrollModifier:"alt",fastScrollSensitivity:5,fontFamily:"courier-new, courier, monospace",fontSize:15,fontWeight:"normal",fontWeightBold:"bold",ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:"info",logger:null,scrollback:1e3,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},rescaleOverlappingGlyphs:!1,rightClickSelectsWord:n.isMac,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:" ()[]{}',\"`",altClickMovesCursor:!0,convertEol:!1,termName:"xterm",cancelEvents:!1,overviewRulerWidth:0};const d=["normal","bold","100","200","300","400","500","600","700","800","900"];class v extends _.Disposable{constructor(h){super(),this._onOptionChange=this.register(new l.EventEmitter),this.onOptionChange=this._onOptionChange.event;const i={...r.DEFAULT_OPTIONS};for(const s in h)if(s in i)try{const e=h[s];i[s]=this._sanitizeAndValidateOption(s,e)}catch(e){console.error(e)}this.rawOptions=i,this.options={...i},this._setupOptions(),this.register((0,_.toDisposable)((()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null})))}onSpecificOptionChange(h,i){return this.onOptionChange((s=>{s===h&&i(this.rawOptions[h])}))}onMultipleOptionChange(h,i){return this.onOptionChange((s=>{h.indexOf(s)!==-1&&i()}))}_setupOptions(){const h=s=>{if(!(s in r.DEFAULT_OPTIONS))throw new Error(`No option with key "${s}"`);return this.rawOptions[s]},i=(s,e)=>{if(!(s in r.DEFAULT_OPTIONS))throw new Error(`No option with key "${s}"`);e=this._sanitizeAndValidateOption(s,e),this.rawOptions[s]!==e&&(this.rawOptions[s]=e,this._onOptionChange.fire(s))};for(const s in this.rawOptions){const e={get:h.bind(this,s),set:i.bind(this,s)};Object.defineProperty(this.options,s,e)}}_sanitizeAndValidateOption(h,i){switch(h){case"cursorStyle":if(i||(i=r.DEFAULT_OPTIONS[h]),!(function(s){return s==="block"||s==="underline"||s==="bar"})(i))throw new Error(`"${i}" is not a valid value for ${h}`);break;case"wordSeparator":i||(i=r.DEFAULT_OPTIONS[h]);break;case"fontWeight":case"fontWeightBold":if(typeof i=="number"&&1<=i&&i<=1e3)break;i=d.includes(i)?i:r.DEFAULT_OPTIONS[h];break;case"cursorWidth":i=Math.floor(i);case"lineHeight":case"tabStopWidth":if(i<1)throw new Error(`${h} cannot be less than 1, value: ${i}`);break;case"minimumContrastRatio":i=Math.max(1,Math.min(21,Math.round(10*i)/10));break;case"scrollback":if((i=Math.min(i,4294967295))<0)throw new Error(`${h} cannot be less than 0, value: ${i}`);break;case"fastScrollSensitivity":case"scrollSensitivity":if(i<=0)throw new Error(`${h} cannot be less than or equal to 0, value: ${i}`);break;case"rows":case"cols":if(!i&&i!==0)throw new Error(`${h} must be numeric, value: ${i}`);break;case"windowsPty":i=i??{}}return i}}r.OptionsService=v},2660:function(O,r,a){var l=this&&this.__decorate||function(v,g,h,i){var s,e=arguments.length,t=e<3?g:i===null?i=Object.getOwnPropertyDescriptor(g,h):i;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")t=Reflect.decorate(v,g,h,i);else for(var o=v.length-1;o>=0;o--)(s=v[o])&&(t=(e<3?s(t):e>3?s(g,h,t):s(g,h))||t);return e>3&&t&&Object.defineProperty(g,h,t),t},_=this&&this.__param||function(v,g){return function(h,i){g(h,i,v)}};Object.defineProperty(r,"__esModule",{value:!0}),r.OscLinkService=void 0;const n=a(2585);let d=r.OscLinkService=class{constructor(v){this._bufferService=v,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(v){const g=this._bufferService.buffer;if(v.id===void 0){const o=g.addMarker(g.ybase+g.y),f={data:v,id:this._nextId++,lines:[o]};return o.onDispose((()=>this._removeMarkerFromLink(f,o))),this._dataByLinkId.set(f.id,f),f.id}const h=v,i=this._getEntryIdKey(h),s=this._entriesWithId.get(i);if(s)return this.addLineToLink(s.id,g.ybase+g.y),s.id;const e=g.addMarker(g.ybase+g.y),t={id:this._nextId++,key:this._getEntryIdKey(h),data:h,lines:[e]};return e.onDispose((()=>this._removeMarkerFromLink(t,e))),this._entriesWithId.set(t.key,t),this._dataByLinkId.set(t.id,t),t.id}addLineToLink(v,g){const h=this._dataByLinkId.get(v);if(h&&h.lines.every((i=>i.line!==g))){const i=this._bufferService.buffer.addMarker(g);h.lines.push(i),i.onDispose((()=>this._removeMarkerFromLink(h,i)))}}getLinkData(v){var g;return(g=this._dataByLinkId.get(v))==null?void 0:g.data}_getEntryIdKey(v){return`${v.id};;${v.uri}`}_removeMarkerFromLink(v,g){const h=v.lines.indexOf(g);h!==-1&&(v.lines.splice(h,1),v.lines.length===0&&(v.data.id!==void 0&&this._entriesWithId.delete(v.key),this._dataByLinkId.delete(v.id)))}};r.OscLinkService=d=l([_(0,n.IBufferService)],d)},8343:(O,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.createDecorator=r.getServiceDependencies=r.serviceRegistry=void 0;const a="di$target",l="di$dependencies";r.serviceRegistry=new Map,r.getServiceDependencies=function(_){return _[l]||[]},r.createDecorator=function(_){if(r.serviceRegistry.has(_))return r.serviceRegistry.get(_);const n=function(d,v,g){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");(function(h,i,s){i[a]===i?i[l].push({id:h,index:s}):(i[l]=[{id:h,index:s}],i[a]=i)})(n,d,g)};return n.toString=()=>_,r.serviceRegistry.set(_,n),n}},2585:(O,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.IDecorationService=r.IUnicodeService=r.IOscLinkService=r.IOptionsService=r.ILogService=r.LogLevelEnum=r.IInstantiationService=r.ICharsetService=r.ICoreService=r.ICoreMouseService=r.IBufferService=void 0;const l=a(8343);var _;r.IBufferService=(0,l.createDecorator)("BufferService"),r.ICoreMouseService=(0,l.createDecorator)("CoreMouseService"),r.ICoreService=(0,l.createDecorator)("CoreService"),r.ICharsetService=(0,l.createDecorator)("CharsetService"),r.IInstantiationService=(0,l.createDecorator)("InstantiationService"),(function(n){n[n.TRACE=0]="TRACE",n[n.DEBUG=1]="DEBUG",n[n.INFO=2]="INFO",n[n.WARN=3]="WARN",n[n.ERROR=4]="ERROR",n[n.OFF=5]="OFF"})(_||(r.LogLevelEnum=_={})),r.ILogService=(0,l.createDecorator)("LogService"),r.IOptionsService=(0,l.createDecorator)("OptionsService"),r.IOscLinkService=(0,l.createDecorator)("OscLinkService"),r.IUnicodeService=(0,l.createDecorator)("UnicodeService"),r.IDecorationService=(0,l.createDecorator)("DecorationService")},1480:(O,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.UnicodeService=void 0;const l=a(8460),_=a(225);class n{static extractShouldJoin(v){return(1&v)!=0}static extractWidth(v){return v>>1&3}static extractCharKind(v){return v>>3}static createPropertyValue(v,g,h=!1){return(16777215&v)<<3|(3&g)<<1|(h?1:0)}constructor(){this._providers=Object.create(null),this._active="",this._onChange=new l.EventEmitter,this.onChange=this._onChange.event;const v=new _.UnicodeV6;this.register(v),this._active=v.version,this._activeProvider=v}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(v){if(!this._providers[v])throw new Error(`unknown Unicode version "${v}"`);this._active=v,this._activeProvider=this._providers[v],this._onChange.fire(v)}register(v){this._providers[v.version]=v}wcwidth(v){return this._activeProvider.wcwidth(v)}getStringCellWidth(v){let g=0,h=0;const i=v.length;for(let s=0;s<i;++s){let e=v.charCodeAt(s);if(55296<=e&&e<=56319){if(++s>=i)return g+this.wcwidth(e);const f=v.charCodeAt(s);56320<=f&&f<=57343?e=1024*(e-55296)+f-56320+65536:g+=this.wcwidth(f)}const t=this.charProperties(e,h);let o=n.extractWidth(t);n.extractShouldJoin(t)&&(o-=n.extractWidth(h)),g+=o,h=t}return g}charProperties(v,g){return this._activeProvider.charProperties(v,g)}}r.UnicodeService=n}},Y={};function G(O){var r=Y[O];if(r!==void 0)return r.exports;var a=Y[O]={exports:{}};return ie[O].call(a.exports,a,a.exports,G),a.exports}var Q={};return(()=>{var O=Q;Object.defineProperty(O,"__esModule",{value:!0}),O.Terminal=void 0;const r=G(9042),a=G(3236),l=G(844),_=G(5741),n=G(8285),d=G(7975),v=G(7090),g=["cols","rows"];class h extends l.Disposable{constructor(s){super(),this._core=this.register(new a.Terminal(s)),this._addonManager=this.register(new _.AddonManager),this._publicOptions={...this._core.options};const e=o=>this._core.options[o],t=(o,f)=>{this._checkReadonlyOptions(o),this._core.options[o]=f};for(const o in this._core.options){const f={get:e.bind(this,o),set:t.bind(this,o)};Object.defineProperty(this._publicOptions,o,f)}}_checkReadonlyOptions(s){if(g.includes(s))throw new Error(`Option "${s}" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw new Error("You must set the allowProposedApi option to true to use proposed API")}get onBell(){return this._core.onBell}get onBinary(){return this._core.onBinary}get onCursorMove(){return this._core.onCursorMove}get onData(){return this._core.onData}get onKey(){return this._core.onKey}get onLineFeed(){return this._core.onLineFeed}get onRender(){return this._core.onRender}get onResize(){return this._core.onResize}get onScroll(){return this._core.onScroll}get onSelectionChange(){return this._core.onSelectionChange}get onTitleChange(){return this._core.onTitleChange}get onWriteParsed(){return this._core.onWriteParsed}get element(){return this._core.element}get parser(){return this._parser||(this._parser=new d.ParserApi(this._core)),this._parser}get unicode(){return this._checkProposedApi(),new v.UnicodeApi(this._core)}get textarea(){return this._core.textarea}get rows(){return this._core.rows}get cols(){return this._core.cols}get buffer(){return this._buffer||(this._buffer=this.register(new n.BufferNamespaceApi(this._core))),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){const s=this._core.coreService.decPrivateModes;let e="none";switch(this._core.coreMouseService.activeProtocol){case"X10":e="x10";break;case"VT200":e="vt200";break;case"DRAG":e="drag";break;case"ANY":e="any"}return{applicationCursorKeysMode:s.applicationCursorKeys,applicationKeypadMode:s.applicationKeypad,bracketedPasteMode:s.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:e,originMode:s.origin,reverseWraparoundMode:s.reverseWraparound,sendFocusMode:s.sendFocus,wraparoundMode:s.wraparound}}get options(){return this._publicOptions}set options(s){for(const e in s)this._publicOptions[e]=s[e]}blur(){this._core.blur()}focus(){this._core.focus()}input(s,e=!0){this._core.input(s,e)}resize(s,e){this._verifyIntegers(s,e),this._core.resize(s,e)}open(s){this._core.open(s)}attachCustomKeyEventHandler(s){this._core.attachCustomKeyEventHandler(s)}attachCustomWheelEventHandler(s){this._core.attachCustomWheelEventHandler(s)}registerLinkProvider(s){return this._core.registerLinkProvider(s)}registerCharacterJoiner(s){return this._checkProposedApi(),this._core.registerCharacterJoiner(s)}deregisterCharacterJoiner(s){this._checkProposedApi(),this._core.deregisterCharacterJoiner(s)}registerMarker(s=0){return this._verifyIntegers(s),this._core.registerMarker(s)}registerDecoration(s){return this._checkProposedApi(),this._verifyPositiveIntegers(s.x??0,s.width??0,s.height??0),this._core.registerDecoration(s)}hasSelection(){return this._core.hasSelection()}select(s,e,t){this._verifyIntegers(s,e,t),this._core.select(s,e,t)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(s,e){this._verifyIntegers(s,e),this._core.selectLines(s,e)}dispose(){super.dispose()}scrollLines(s){this._verifyIntegers(s),this._core.scrollLines(s)}scrollPages(s){this._verifyIntegers(s),this._core.scrollPages(s)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(s){this._verifyIntegers(s),this._core.scrollToLine(s)}clear(){this._core.clear()}write(s,e){this._core.write(s,e)}writeln(s,e){this._core.write(s),this._core.write(`\r
9 -`,e)}paste(s){this._core.paste(s)}refresh(s,e){this._verifyIntegers(s,e),this._core.refresh(s,e)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(s){this._addonManager.loadAddon(this,s)}static get strings(){return r}_verifyIntegers(...s){for(const e of s)if(e===1/0||isNaN(e)||e%1!=0)throw new Error("This API only accepts integers")}_verifyPositiveIntegers(...s){for(const e of s)if(e&&(e===1/0||isNaN(e)||e%1!=0||e<0))throw new Error("This API only accepts positive integers")}}O.Terminal=h})(),Q})()))})(fe)),fe.exports}var we=be(),ve={exports:{}},ge;function ye(){return ge||(ge=1,(function(ce,Se){(function(ie,Y){ce.exports=Y()})(self,(()=>(()=>{var ie={};return(()=>{var Y=ie;Object.defineProperty(Y,"__esModule",{value:!0}),Y.FitAddon=void 0,Y.FitAddon=class{activate(G){this._terminal=G}dispose(){}fit(){const G=this.proposeDimensions();if(!G||!this._terminal||isNaN(G.cols)||isNaN(G.rows))return;const Q=this._terminal._core;this._terminal.rows===G.rows&&this._terminal.cols===G.cols||(Q._renderService.clear(),this._terminal.resize(G.cols,G.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;const G=this._terminal._core,Q=G._renderService.dimensions;if(Q.css.cell.width===0||Q.css.cell.height===0)return;const O=this._terminal.options.scrollback===0?0:G.viewport.scrollBarWidth,r=window.getComputedStyle(this._terminal.element.parentElement),a=parseInt(r.getPropertyValue("height")),l=Math.max(0,parseInt(r.getPropertyValue("width"))),_=window.getComputedStyle(this._terminal.element),n=a-(parseInt(_.getPropertyValue("padding-top"))+parseInt(_.getPropertyValue("padding-bottom"))),d=l-(parseInt(_.getPropertyValue("padding-right"))+parseInt(_.getPropertyValue("padding-left")))-O;return{cols:Math.max(2,Math.floor(d/Q.css.cell.width)),rows:Math.max(1,Math.floor(n/Q.css.cell.height))}}}})(),ie})()))})(ve)),ve.exports}var Ee=ye();const ke={Terminal:we.Terminal,FitAddon:Ee.FitAddon};export{ke as default};
node_modules/playwright-core/lib/vite/traceViewer/codeMirrorModule.DYBRYzYX.css deleted
-1
@@ -1 +0,0 @@
1 -.CodeMirror{font-family:monospace;height:300px;color:#000;direction:ltr}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid black;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0!important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor .CodeMirror-line::selection,.cm-fat-cursor .CodeMirror-line>span::selection,.cm-fat-cursor .CodeMirror-line>span>span::selection{background:transparent}.cm-fat-cursor .CodeMirror-line::-moz-selection,.cm-fat-cursor .CodeMirror-line>span::-moz-selection,.cm-fat-cursor .CodeMirror-line>span>span::-moz-selection{background:transparent}.cm-fat-cursor{caret-color:transparent}@-moz-keyframes blink{50%{background-color:transparent}}@-webkit-keyframes blink{50%{background-color:transparent}}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;left:0;right:0;top:-50px;bottom:0;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-variable-3,.cm-s-default .cm-type{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-s-default .cm-error,.cm-invalidchar{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:#ff96004d}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:#fff}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-50px;margin-right:-50px;padding-bottom:50px;height:100%;outline:none;position:relative;z-index:0}.CodeMirror-sizer{position:relative;border-right:50px solid transparent}.CodeMirror-vscrollbar,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{position:absolute;z-index:6;display:none;outline:none}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-50px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:none!important;border:none!important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:transparent;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;padding:.1px}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:none}.CodeMirror-scroll,.CodeMirror-sizer,.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber{-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute;pointer-events:none}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}div.CodeMirror-dragcursors,.CodeMirror-focused div.CodeMirror-cursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:#ff06}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:""}span.CodeMirror-selectedtext{background:none}.CodeMirror-dialog{position:absolute;left:0;right:0;background:inherit;z-index:15;padding:.1em .8em;overflow:hidden;color:inherit}.CodeMirror-dialog-top{border-bottom:1px solid #eee;top:0}.CodeMirror-dialog-bottom{border-top:1px solid #eee;bottom:0}.CodeMirror-dialog input{border:none;outline:none;background:transparent;width:20em;color:inherit;font-family:monospace}.CodeMirror-dialog button{font-size:70%}
node_modules/playwright-core/lib/vite/traceViewer/codicon.DCmgc-ay.ttf
Binary files a/node_modules/playwright-core/lib/vite/traceViewer/codicon.DCmgc-ay.ttf and /dev/null differ
node_modules/playwright-core/lib/vite/traceViewer/defaultSettingsView.BDKsFU3c.css deleted
-1
@@ -1 +0,0 @@
1 -:root{color-scheme:light dark}body{--transparent-blue: #2196F355;--light-pink: #ff69b460;--gray: #888888;--sidebar-width: 250px;--box-shadow: rgba(0, 0, 0, .133) 0px 1.6px 3.6px 0px, rgba(0, 0, 0, .11) 0px .3px .9px 0px}html,body{width:100%;height:100%;padding:0;margin:0;overflow:hidden;display:flex;overscroll-behavior-x:none}#root{width:100%;height:100%;display:flex}body,dialog{background-color:var(--vscode-panel-background);color:var(--vscode-foreground);font-family:var(--vscode-font-family);font-weight:var(--vscode-font-weight);font-size:var(--vscode-font-size);-webkit-font-smoothing:antialiased}a{color:var(--vscode-textLink-foreground)}dialog{border:none;padding:0;box-shadow:var(--box-shadow);line-height:28px;max-width:400px}dialog .title{display:flex;align-items:center;margin:0;padding:0 5px;height:32px;background-color:var(--vscode-sideBar-background);max-width:400px}dialog .title .codicon{margin-right:3px}dialog .body{padding:10px;text-align:center}.button{color:var(--vscode-button-foreground);background:var(--vscode-button-background);margin:10px;border:none;height:28px;min-width:40px;cursor:pointer;-webkit-user-select:none;user-select:none}.button:focus{outline:1px solid var(--vscode-focusBorder)}.button:hover{background:var(--vscode-button-hoverBackground)}.button.secondary{color:var(--vscode-button-secondaryForeground);background:var(--vscode-button-secondaryBackground)}.button.secondary:hover{background:var(--vscode-button-secondaryHoverBackground)}*{box-sizing:border-box;min-width:0;min-height:0}*[hidden],.hidden{display:none!important}.invisible{visibility:hidden!important}svg{fill:currentColor}.vbox{display:flex;flex-direction:column;flex:auto;position:relative}.fill{position:absolute;top:0;right:0;bottom:0;left:0}.hbox{display:flex;flex:auto;position:relative}.spacer{flex:auto}.codicon-check{color:var(--vscode-charts-green)}.codicon-error{color:var(--vscode-errorForeground)}.codicon-warning{color:var(--vscode-list-warningForeground)}.codicon-circle-outline{color:var(--vscode-disabledForeground)}input[type=text],input[type=search]{color:var(--vscode-input-foreground);background-color:var(--vscode-input-background);border:none;outline:none}.codicon-loading{animation:spin 1s infinite linear}::placeholder{color:var(--vscode-input-placeholderForeground)}@keyframes spin{to{transform:rotate(360deg)}}@font-face{font-family:codicon;src:url(./codicon.DCmgc-ay.ttf) format("truetype")}.codicon{font: 16px/1 codicon;flex:none;display:inline-block;text-decoration:none;text-rendering:auto;text-align:center;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.codicon-add:before{content:""}.codicon-plus:before{content:""}.codicon-gist-new:before{content:""}.codicon-repo-create:before{content:""}.codicon-lightbulb:before{content:""}.codicon-light-bulb:before{content:""}.codicon-repo:before{content:""}.codicon-repo-delete:before{content:""}.codicon-gist-fork:before{content:""}.codicon-repo-forked:before{content:""}.codicon-git-pull-request:before{content:""}.codicon-git-pull-request-abandoned:before{content:""}.codicon-record-keys:before{content:""}.codicon-keyboard:before{content:""}.codicon-tag:before{content:""}.codicon-git-pull-request-label:before{content:""}.codicon-tag-add:before{content:""}.codicon-tag-remove:before{content:""}.codicon-person:before{content:""}.codicon-person-follow:before{content:""}.codicon-person-outline:before{content:""}.codicon-person-filled:before{content:""}.codicon-git-branch:before{content:""}.codicon-git-branch-create:before{content:""}.codicon-git-branch-delete:before{content:""}.codicon-source-control:before{content:""}.codicon-mirror:before{content:""}.codicon-mirror-public:before{content:""}.codicon-star:before{content:""}.codicon-star-add:before{content:""}.codicon-star-delete:before{content:""}.codicon-star-empty:before{content:""}.codicon-comment:before{content:""}.codicon-comment-add:before{content:""}.codicon-alert:before{content:""}.codicon-warning:before{content:""}.codicon-search:before{content:""}.codicon-search-save:before{content:""}.codicon-log-out:before{content:""}.codicon-sign-out:before{content:""}.codicon-log-in:before{content:""}.codicon-sign-in:before{content:""}.codicon-eye:before{content:""}.codicon-eye-unwatch:before{content:""}.codicon-eye-watch:before{content:""}.codicon-circle-filled:before{content:""}.codicon-primitive-dot:before{content:""}.codicon-close-dirty:before{content:""}.codicon-debug-breakpoint:before{content:""}.codicon-debug-breakpoint-disabled:before{content:""}.codicon-debug-hint:before{content:""}.codicon-terminal-decoration-success:before{content:""}.codicon-primitive-square:before{content:""}.codicon-edit:before{content:""}.codicon-pencil:before{content:""}.codicon-info:before{content:""}.codicon-issue-opened:before{content:""}.codicon-gist-private:before{content:""}.codicon-git-fork-private:before{content:""}.codicon-lock:before{content:""}.codicon-mirror-private:before{content:""}.codicon-close:before{content:""}.codicon-remove-close:before{content:""}.codicon-x:before{content:""}.codicon-repo-sync:before{content:""}.codicon-sync:before{content:""}.codicon-clone:before{content:""}.codicon-desktop-download:before{content:""}.codicon-beaker:before{content:""}.codicon-microscope:before{content:""}.codicon-vm:before{content:""}.codicon-device-desktop:before{content:""}.codicon-file:before{content:""}.codicon-file-text:before{content:""}.codicon-more:before{content:""}.codicon-ellipsis:before{content:""}.codicon-kebab-horizontal:before{content:""}.codicon-mail-reply:before{content:""}.codicon-reply:before{content:""}.codicon-organization:before{content:""}.codicon-organization-filled:before{content:""}.codicon-organization-outline:before{content:""}.codicon-new-file:before{content:""}.codicon-file-add:before{content:""}.codicon-new-folder:before{content:""}.codicon-file-directory-create:before{content:""}.codicon-trash:before{content:""}.codicon-trashcan:before{content:""}.codicon-history:before{content:""}.codicon-clock:before{content:""}.codicon-folder:before{content:""}.codicon-file-directory:before{content:""}.codicon-symbol-folder:before{content:""}.codicon-logo-github:before{content:""}.codicon-mark-github:before{content:""}.codicon-github:before{content:""}.codicon-terminal:before{content:""}.codicon-console:before{content:""}.codicon-repl:before{content:""}.codicon-zap:before{content:""}.codicon-symbol-event:before{content:""}.codicon-error:before{content:""}.codicon-stop:before{content:""}.codicon-variable:before{content:""}.codicon-symbol-variable:before{content:""}.codicon-array:before{content:""}.codicon-symbol-array:before{content:""}.codicon-symbol-module:before{content:""}.codicon-symbol-package:before{content:""}.codicon-symbol-namespace:before{content:""}.codicon-symbol-object:before{content:""}.codicon-symbol-method:before{content:""}.codicon-symbol-function:before{content:""}.codicon-symbol-constructor:before{content:""}.codicon-symbol-boolean:before{content:""}.codicon-symbol-null:before{content:""}.codicon-symbol-numeric:before{content:""}.codicon-symbol-number:before{content:""}.codicon-symbol-structure:before{content:""}.codicon-symbol-struct:before{content:""}.codicon-symbol-parameter:before{content:""}.codicon-symbol-type-parameter:before{content:""}.codicon-symbol-key:before{content:""}.codicon-symbol-text:before{content:""}.codicon-symbol-reference:before{content:""}.codicon-go-to-file:before{content:""}.codicon-symbol-enum:before{content:""}.codicon-symbol-value:before{content:""}.codicon-symbol-ruler:before{content:""}.codicon-symbol-unit:before{content:""}.codicon-activate-breakpoints:before{content:""}.codicon-archive:before{content:""}.codicon-arrow-both:before{content:""}.codicon-arrow-down:before{content:""}.codicon-arrow-left:before{content:""}.codicon-arrow-right:before{content:""}.codicon-arrow-small-down:before{content:""}.codicon-arrow-small-left:before{content:""}.codicon-arrow-small-right:before{content:""}.codicon-arrow-small-up:before{content:""}.codicon-arrow-up:before{content:""}.codicon-bell:before{content:""}.codicon-bold:before{content:""}.codicon-book:before{content:""}.codicon-bookmark:before{content:""}.codicon-debug-breakpoint-conditional-unverified:before{content:""}.codicon-debug-breakpoint-conditional:before{content:""}.codicon-debug-breakpoint-conditional-disabled:before{content:""}.codicon-debug-breakpoint-data-unverified:before{content:""}.codicon-debug-breakpoint-data:before{content:""}.codicon-debug-breakpoint-data-disabled:before{content:""}.codicon-debug-breakpoint-log-unverified:before{content:""}.codicon-debug-breakpoint-log:before{content:""}.codicon-debug-breakpoint-log-disabled:before{content:""}.codicon-briefcase:before{content:""}.codicon-broadcast:before{content:""}.codicon-browser:before{content:""}.codicon-bug:before{content:""}.codicon-calendar:before{content:""}.codicon-case-sensitive:before{content:""}.codicon-check:before{content:""}.codicon-checklist:before{content:""}.codicon-chevron-down:before{content:""}.codicon-chevron-left:before{content:""}.codicon-chevron-right:before{content:""}.codicon-chevron-up:before{content:""}.codicon-chrome-close:before{content:""}.codicon-chrome-maximize:before{content:""}.codicon-chrome-minimize:before{content:""}.codicon-chrome-restore:before{content:""}.codicon-circle-outline:before{content:""}.codicon-circle:before{content:""}.codicon-debug-breakpoint-unverified:before{content:""}.codicon-terminal-decoration-incomplete:before{content:""}.codicon-circle-slash:before{content:""}.codicon-circuit-board:before{content:""}.codicon-clear-all:before{content:""}.codicon-clippy:before{content:""}.codicon-close-all:before{content:""}.codicon-cloud-download:before{content:""}.codicon-cloud-upload:before{content:""}.codicon-code:before{content:""}.codicon-collapse-all:before{content:""}.codicon-color-mode:before{content:""}.codicon-comment-discussion:before{content:""}.codicon-credit-card:before{content:""}.codicon-dash:before{content:""}.codicon-dashboard:before{content:""}.codicon-database:before{content:""}.codicon-debug-continue:before{content:""}.codicon-debug-disconnect:before{content:""}.codicon-debug-pause:before{content:""}.codicon-debug-restart:before{content:""}.codicon-debug-start:before{content:""}.codicon-debug-step-into:before{content:""}.codicon-debug-step-out:before{content:""}.codicon-debug-step-over:before{content:""}.codicon-debug-stop:before{content:""}.codicon-debug:before{content:""}.codicon-device-camera-video:before{content:""}.codicon-device-camera:before{content:""}.codicon-device-mobile:before{content:""}.codicon-diff-added:before{content:""}.codicon-diff-ignored:before{content:""}.codicon-diff-modified:before{content:""}.codicon-diff-removed:before{content:""}.codicon-diff-renamed:before{content:""}.codicon-diff:before{content:""}.codicon-diff-sidebyside:before{content:""}.codicon-discard:before{content:""}.codicon-editor-layout:before{content:""}.codicon-empty-window:before{content:""}.codicon-exclude:before{content:""}.codicon-extensions:before{content:""}.codicon-eye-closed:before{content:""}.codicon-file-binary:before{content:""}.codicon-file-code:before{content:""}.codicon-file-media:before{content:""}.codicon-file-pdf:before{content:""}.codicon-file-submodule:before{content:""}.codicon-file-symlink-directory:before{content:""}.codicon-file-symlink-file:before{content:""}.codicon-file-zip:before{content:""}.codicon-files:before{content:""}.codicon-filter:before{content:""}.codicon-flame:before{content:""}.codicon-fold-down:before{content:""}.codicon-fold-up:before{content:""}.codicon-fold:before{content:""}.codicon-folder-active:before{content:""}.codicon-folder-opened:before{content:""}.codicon-gear:before{content:""}.codicon-gift:before{content:""}.codicon-gist-secret:before{content:""}.codicon-gist:before{content:""}.codicon-git-commit:before{content:""}.codicon-git-compare:before{content:""}.codicon-compare-changes:before{content:""}.codicon-git-merge:before{content:""}.codicon-github-action:before{content:""}.codicon-github-alt:before{content:""}.codicon-globe:before{content:""}.codicon-grabber:before{content:""}.codicon-graph:before{content:""}.codicon-gripper:before{content:""}.codicon-heart:before{content:""}.codicon-home:before{content:""}.codicon-horizontal-rule:before{content:""}.codicon-hubot:before{content:""}.codicon-inbox:before{content:""}.codicon-issue-reopened:before{content:""}.codicon-issues:before{content:""}.codicon-italic:before{content:""}.codicon-jersey:before{content:""}.codicon-json:before{content:""}.codicon-kebab-vertical:before{content:""}.codicon-key:before{content:""}.codicon-law:before{content:""}.codicon-lightbulb-autofix:before{content:""}.codicon-link-external:before{content:""}.codicon-link:before{content:""}.codicon-list-ordered:before{content:""}.codicon-list-unordered:before{content:""}.codicon-live-share:before{content:""}.codicon-loading:before{content:""}.codicon-location:before{content:""}.codicon-mail-read:before{content:""}.codicon-mail:before{content:""}.codicon-markdown:before{content:""}.codicon-megaphone:before{content:""}.codicon-mention:before{content:""}.codicon-milestone:before{content:""}.codicon-git-pull-request-milestone:before{content:""}.codicon-mortar-board:before{content:""}.codicon-move:before{content:""}.codicon-multiple-windows:before{content:""}.codicon-mute:before{content:""}.codicon-no-newline:before{content:""}.codicon-note:before{content:""}.codicon-octoface:before{content:""}.codicon-open-preview:before{content:""}.codicon-package:before{content:""}.codicon-paintcan:before{content:""}.codicon-pin:before{content:""}.codicon-play:before{content:""}.codicon-run:before{content:""}.codicon-plug:before{content:""}.codicon-preserve-case:before{content:""}.codicon-preview:before{content:""}.codicon-project:before{content:""}.codicon-pulse:before{content:""}.codicon-question:before{content:""}.codicon-quote:before{content:""}.codicon-radio-tower:before{content:""}.codicon-reactions:before{content:""}.codicon-references:before{content:""}.codicon-refresh:before{content:""}.codicon-regex:before{content:""}.codicon-remote-explorer:before{content:""}.codicon-remote:before{content:""}.codicon-remove:before{content:""}.codicon-replace-all:before{content:""}.codicon-replace:before{content:""}.codicon-repo-clone:before{content:""}.codicon-repo-force-push:before{content:""}.codicon-repo-pull:before{content:""}.codicon-repo-push:before{content:""}.codicon-report:before{content:""}.codicon-request-changes:before{content:""}.codicon-rocket:before{content:""}.codicon-root-folder-opened:before{content:""}.codicon-root-folder:before{content:""}.codicon-rss:before{content:""}.codicon-ruby:before{content:""}.codicon-save-all:before{content:""}.codicon-save-as:before{content:""}.codicon-save:before{content:""}.codicon-screen-full:before{content:""}.codicon-screen-normal:before{content:""}.codicon-search-stop:before{content:""}.codicon-server:before{content:""}.codicon-settings-gear:before{content:""}.codicon-settings:before{content:""}.codicon-shield:before{content:""}.codicon-smiley:before{content:""}.codicon-sort-precedence:before{content:""}.codicon-split-horizontal:before{content:""}.codicon-split-vertical:before{content:""}.codicon-squirrel:before{content:""}.codicon-star-full:before{content:""}.codicon-star-half:before{content:""}.codicon-symbol-class:before{content:""}.codicon-symbol-color:before{content:""}.codicon-symbol-constant:before{content:""}.codicon-symbol-enum-member:before{content:""}.codicon-symbol-field:before{content:""}.codicon-symbol-file:before{content:""}.codicon-symbol-interface:before{content:""}.codicon-symbol-keyword:before{content:""}.codicon-symbol-misc:before{content:""}.codicon-symbol-operator:before{content:""}.codicon-symbol-property:before{content:""}.codicon-wrench:before{content:""}.codicon-wrench-subaction:before{content:""}.codicon-symbol-snippet:before{content:""}.codicon-tasklist:before{content:""}.codicon-telescope:before{content:""}.codicon-text-size:before{content:""}.codicon-three-bars:before{content:""}.codicon-thumbsdown:before{content:""}.codicon-thumbsup:before{content:""}.codicon-tools:before{content:""}.codicon-triangle-down:before{content:""}.codicon-triangle-left:before{content:""}.codicon-triangle-right:before{content:""}.codicon-triangle-up:before{content:""}.codicon-twitter:before{content:""}.codicon-unfold:before{content:""}.codicon-unlock:before{content:""}.codicon-unmute:before{content:""}.codicon-unverified:before{content:""}.codicon-verified:before{content:""}.codicon-versions:before{content:""}.codicon-vm-active:before{content:""}.codicon-vm-outline:before{content:""}.codicon-vm-running:before{content:""}.codicon-watch:before{content:""}.codicon-whitespace:before{content:""}.codicon-whole-word:before{content:""}.codicon-window:before{content:""}.codicon-word-wrap:before{content:""}.codicon-zoom-in:before{content:""}.codicon-zoom-out:before{content:""}.codicon-list-filter:before{content:""}.codicon-list-flat:before{content:""}.codicon-list-selection:before{content:""}.codicon-selection:before{content:""}.codicon-list-tree:before{content:""}.codicon-debug-breakpoint-function-unverified:before{content:""}.codicon-debug-breakpoint-function:before{content:""}.codicon-debug-breakpoint-function-disabled:before{content:""}.codicon-debug-stackframe-active:before{content:""}.codicon-circle-small-filled:before{content:""}.codicon-debug-stackframe-dot:before{content:""}.codicon-terminal-decoration-mark:before{content:""}.codicon-debug-stackframe:before{content:""}.codicon-debug-stackframe-focused:before{content:""}.codicon-debug-breakpoint-unsupported:before{content:""}.codicon-symbol-string:before{content:""}.codicon-debug-reverse-continue:before{content:""}.codicon-debug-step-back:before{content:""}.codicon-debug-restart-frame:before{content:""}.codicon-debug-alt:before{content:""}.codicon-call-incoming:before{content:""}.codicon-call-outgoing:before{content:""}.codicon-menu:before{content:""}.codicon-expand-all:before{content:""}.codicon-feedback:before{content:""}.codicon-git-pull-request-reviewer:before{content:""}.codicon-group-by-ref-type:before{content:""}.codicon-ungroup-by-ref-type:before{content:""}.codicon-account:before{content:""}.codicon-git-pull-request-assignee:before{content:""}.codicon-bell-dot:before{content:""}.codicon-debug-console:before{content:""}.codicon-library:before{content:""}.codicon-output:before{content:""}.codicon-run-all:before{content:""}.codicon-sync-ignored:before{content:""}.codicon-pinned:before{content:""}.codicon-github-inverted:before{content:""}.codicon-server-process:before{content:""}.codicon-server-environment:before{content:""}.codicon-pass:before{content:""}.codicon-issue-closed:before{content:""}.codicon-stop-circle:before{content:""}.codicon-play-circle:before{content:""}.codicon-record:before{content:""}.codicon-debug-alt-small:before{content:""}.codicon-vm-connect:before{content:""}.codicon-cloud:before{content:""}.codicon-merge:before{content:""}.codicon-export:before{content:""}.codicon-graph-left:before{content:""}.codicon-magnet:before{content:""}.codicon-notebook:before{content:""}.codicon-redo:before{content:""}.codicon-check-all:before{content:""}.codicon-pinned-dirty:before{content:""}.codicon-pass-filled:before{content:""}.codicon-circle-large-filled:before{content:""}.codicon-circle-large:before{content:""}.codicon-circle-large-outline:before{content:""}.codicon-combine:before{content:""}.codicon-gather:before{content:""}.codicon-table:before{content:""}.codicon-variable-group:before{content:""}.codicon-type-hierarchy:before{content:""}.codicon-type-hierarchy-sub:before{content:""}.codicon-type-hierarchy-super:before{content:""}.codicon-git-pull-request-create:before{content:""}.codicon-run-above:before{content:""}.codicon-run-below:before{content:""}.codicon-notebook-template:before{content:""}.codicon-debug-rerun:before{content:""}.codicon-workspace-trusted:before{content:""}.codicon-workspace-untrusted:before{content:""}.codicon-workspace-unknown:before{content:""}.codicon-terminal-cmd:before{content:""}.codicon-terminal-debian:before{content:""}.codicon-terminal-linux:before{content:""}.codicon-terminal-powershell:before{content:""}.codicon-terminal-tmux:before{content:""}.codicon-terminal-ubuntu:before{content:""}.codicon-terminal-bash:before{content:""}.codicon-arrow-swap:before{content:""}.codicon-copy:before{content:""}.codicon-person-add:before{content:""}.codicon-filter-filled:before{content:""}.codicon-wand:before{content:""}.codicon-debug-line-by-line:before{content:""}.codicon-inspect:before{content:""}.codicon-layers:before{content:""}.codicon-layers-dot:before{content:""}.codicon-layers-active:before{content:""}.codicon-compass:before{content:""}.codicon-compass-dot:before{content:""}.codicon-compass-active:before{content:""}.codicon-azure:before{content:""}.codicon-issue-draft:before{content:""}.codicon-git-pull-request-closed:before{content:""}.codicon-git-pull-request-draft:before{content:""}.codicon-debug-all:before{content:""}.codicon-debug-coverage:before{content:""}.codicon-run-errors:before{content:""}.codicon-folder-library:before{content:""}.codicon-debug-continue-small:before{content:""}.codicon-beaker-stop:before{content:""}.codicon-graph-line:before{content:""}.codicon-graph-scatter:before{content:""}.codicon-pie-chart:before{content:""}.codicon-bracket:before{content:""}.codicon-bracket-dot:before{content:""}.codicon-bracket-error:before{content:""}.codicon-lock-small:before{content:""}.codicon-azure-devops:before{content:""}.codicon-verified-filled:before{content:""}.codicon-newline:before{content:""}.codicon-layout:before{content:""}.codicon-layout-activitybar-left:before{content:""}.codicon-layout-activitybar-right:before{content:""}.codicon-layout-panel-left:before{content:""}.codicon-layout-panel-center:before{content:""}.codicon-layout-panel-justify:before{content:""}.codicon-layout-panel-right:before{content:""}.codicon-layout-panel:before{content:""}.codicon-layout-sidebar-left:before{content:""}.codicon-layout-sidebar-right:before{content:""}.codicon-layout-statusbar:before{content:""}.codicon-layout-menubar:before{content:""}.codicon-layout-centered:before{content:""}.codicon-target:before{content:""}.codicon-indent:before{content:""}.codicon-record-small:before{content:""}.codicon-error-small:before{content:""}.codicon-terminal-decoration-error:before{content:""}.codicon-arrow-circle-down:before{content:""}.codicon-arrow-circle-left:before{content:""}.codicon-arrow-circle-right:before{content:""}.codicon-arrow-circle-up:before{content:""}.codicon-layout-sidebar-right-off:before{content:""}.codicon-layout-panel-off:before{content:""}.codicon-layout-sidebar-left-off:before{content:""}.codicon-blank:before{content:""}.codicon-heart-filled:before{content:""}.codicon-map:before{content:""}.codicon-map-horizontal:before{content:""}.codicon-fold-horizontal:before{content:""}.codicon-map-filled:before{content:""}.codicon-map-horizontal-filled:before{content:""}.codicon-fold-horizontal-filled:before{content:""}.codicon-circle-small:before{content:""}.codicon-bell-slash:before{content:""}.codicon-bell-slash-dot:before{content:""}.codicon-comment-unresolved:before{content:""}.codicon-git-pull-request-go-to-changes:before{content:""}.codicon-git-pull-request-new-changes:before{content:""}.codicon-search-fuzzy:before{content:""}.codicon-comment-draft:before{content:""}.codicon-send:before{content:""}.codicon-sparkle:before{content:""}.codicon-insert:before{content:""}.codicon-mic:before{content:""}.codicon-thumbsdown-filled:before{content:""}.codicon-thumbsup-filled:before{content:""}.codicon-coffee:before{content:""}.codicon-snake:before{content:""}.codicon-game:before{content:""}.codicon-vr:before{content:""}.codicon-chip:before{content:""}.codicon-piano:before{content:""}.codicon-music:before{content:""}.codicon-mic-filled:before{content:""}.codicon-repo-fetch:before{content:""}.codicon-copilot:before{content:""}.codicon-lightbulb-sparkle:before{content:""}.codicon-robot:before{content:""}.codicon-sparkle-filled:before{content:""}.codicon-diff-single:before{content:""}.codicon-diff-multiple:before{content:""}.codicon-surround-with:before{content:""}.codicon-share:before{content:""}.codicon-git-stash:before{content:""}.codicon-git-stash-apply:before{content:""}.codicon-git-stash-pop:before{content:""}.codicon-vscode:before{content:""}.codicon-vscode-insiders:before{content:""}.codicon-code-oss:before{content:""}.codicon-run-coverage:before{content:""}.codicon-run-all-coverage:before{content:""}.codicon-coverage:before{content:""}.codicon-github-project:before{content:""}.codicon-map-vertical:before{content:""}.codicon-fold-vertical:before{content:""}.codicon-map-vertical-filled:before{content:""}.codicon-fold-vertical-filled:before{content:""}.codicon-go-to-search:before{content:""}.codicon-percentage:before{content:""}.codicon-sort-percentage:before{content:""}.codicon-attach:before{content:""}.codicon-git-fetch:before{content:""}.split-view{display:flex;flex:auto;position:relative}.split-view.vertical{flex-direction:column}.split-view.vertical.sidebar-first{flex-direction:column-reverse}.split-view.horizontal{flex-direction:row}.split-view.horizontal.sidebar-first{flex-direction:row-reverse}.split-view-main{display:flex;flex:auto}.split-view-sidebar{display:flex;flex:none}.split-view.vertical:not(.sidebar-first)>.split-view-sidebar{border-top:1px solid var(--vscode-panel-border)}.split-view.horizontal:not(.sidebar-first)>.split-view-sidebar{border-left:1px solid var(--vscode-panel-border)}.split-view.vertical.sidebar-first>.split-view-sidebar{border-bottom:1px solid var(--vscode-panel-border)}.split-view.horizontal.sidebar-first>.split-view-sidebar{border-right:1px solid var(--vscode-panel-border)}.split-view-resizer{position:absolute;z-index:100}.split-view.vertical>.split-view-resizer{left:0;right:0;height:12px;cursor:ns-resize}.split-view.horizontal>.split-view-resizer{top:0;bottom:0;width:12px;cursor:ew-resize}.action-title>.hbox{align-items:center}.action-title-line{display:block;overflow:hidden;text-overflow:ellipsis}.action-title-selector{text-overflow:ellipsis;overflow:hidden;color:var(--vscode-tab-inactiveForeground);margin-top:-8px}.action-title-method{white-space:pre;overflow:hidden;text-overflow:ellipsis;font-weight:500}.action-title-param{color:var(--vscode-editorBracketHighlight-foreground1)}.action-location{display:flex;flex:none;margin:0 4px;color:var(--vscode-foreground)}.action-location>span{margin:0 4px;cursor:pointer;text-decoration:underline}.action-duration{display:flex;flex:none;align-items:center;margin:0 4px;color:var(--vscode-editorCodeLens-foreground)}.action-skipped{margin-right:4px}.action-icon{flex:none;display:flex;align-items:center;padding-right:3px}.action-icons{flex:none;display:flex;flex-direction:row;cursor:pointer;height:20px;position:relative;top:1px;border-bottom:1px solid transparent}.action-icons:hover{border-bottom:1px solid var(--vscode-sideBarTitle-foreground)}.action-error{color:var(--vscode-errorForeground);position:relative;margin-right:2px;flex:none}.action-parameter{display:inline;flex:none;padding-left:5px}.action-locator-parameter{color:var(--vscode-charts-orange)}.action-generic-parameter{color:var(--vscode-charts-purple)}.action-url{display:inline;flex:none;padding-left:5px;color:var(--vscode-charts-blue)}.action-list-show-all{display:flex;cursor:pointer;height:28px;align-items:center}.action-list-container{min-height:0;flex:auto;display:flex;flex-direction:column}.tree-view-content{display:flex;flex-direction:column;flex:auto;position:relative;-webkit-user-select:none;user-select:none;overflow:hidden auto;outline:1px solid transparent}.tree-view-entry{display:flex;flex:none;cursor:pointer;align-items:center;white-space:nowrap;line-height:28px;padding-left:5px}.tree-view-content.not-selectable>.tree-view-entry{cursor:inherit}.tree-view-entry.highlighted:not(.selected){background-color:var(--vscode-list-inactiveSelectionBackground)!important}.tree-view-entry.selected{z-index:10}.tree-view-indent{min-width:16px}.tree-view-content:focus .tree-view-entry.selected{background-color:var(--vscode-list-activeSelectionBackground);color:var(--vscode-list-activeSelectionForeground);outline:1px solid var(--vscode-focusBorder)}.tree-view-content .tree-view-entry.selected{background-color:var(--vscode-list-inactiveSelectionBackground)}.tree-view-content:focus .tree-view-entry.selected *{color:var(--vscode-list-activeSelectionForeground)!important;background-color:transparent!important}.tree-view-content:focus .tree-view-entry.selected .codicon{color:var(--vscode-list-activeSelectionForeground)!important}.tree-view-content:focus .tree-view-entry.selected button.eye.toggled{border-radius:6px;outline:1px solid var(--vscode-button-foreground)}.tree-view-empty{flex:auto;display:flex;align-items:center;justify-content:center}.tree-view-entry.error{color:var(--vscode-list-errorForeground);background-color:var(--vscode-inputValidation-errorBackground)}.tree-view-entry.warning{color:var(--vscode-list-warningForeground);background-color:var(--vscode-inputValidation-warningBackground)}.tree-view-entry.info{background-color:var(--vscode-inputValidation-infoBackground)}.toolbar-button{position:relative;flex:none;border:none;outline:none;color:var(--vscode-sideBarTitle-foreground);background:transparent;padding:4px;cursor:pointer;display:inline-flex;align-items:center;border-radius:4px}.toolbar-button:disabled{color:var(--vscode-disabledForeground)!important;cursor:default}.toolbar-button:not(:disabled):hover{background-color:var(--vscode-toolbar-hoverBackground)}.toolbar-button:not(:disabled):active{background-color:var(--vscode-toolbar-activeBackground)}.toolbar-button.toggled{color:var(--vscode-notificationLink-foreground)}.toolbar-button-error-badge{position:absolute;top:2px;right:2px;width:7px;height:7px;border-radius:50%;background-color:var(--vscode-notificationsErrorIcon-foreground)}.toolbar-separator{flex:none;background-color:var(--vscode-menu-separatorBackground);width:1px;padding:0;margin:5px 4px;height:16px}.call-tab{flex:auto;line-height:24px;white-space:pre;overflow:auto;-webkit-user-select:text;user-select:text}.call-error{border-bottom:1px solid var(--vscode-panel-border);padding:3px 0 3px 12px}.call-error .codicon{color:var(--vscode-errorForeground);position:relative;top:2px;margin-right:2px}.call-section{padding-left:6px;padding-top:2px;margin-top:2px;font-weight:700;text-transform:uppercase;font-size:10px;color:var(--vscode-sideBarTitle-foreground);line-height:24px}.call-section:not(:first-child){border-top:1px solid var(--vscode-panel-border)}.call-line{padding:4px 0 4px 6px;display:flex;align-items:center;text-overflow:ellipsis;overflow:hidden;line-height:20px;white-space:nowrap}.call-line:not(:hover) .toolbar-button.copy{display:none}.call-line .toolbar-button.copy,.call-line .toolbar-button.check{margin-left:5px;margin-top:-2px;margin-bottom:-2px}.call-value{margin-left:2px;text-overflow:ellipsis;overflow:hidden}a.call-value{text-decoration:none}a.call-value:hover{text-decoration:underline}.call-value:before{content:" "}.call-value.datetime,.call-value.string,.call-value.literal,.call-value.locator{color:var(--vscode-charts-orange)}.call-value.number,.call-value.bigint,.call-value.boolean,.call-value.symbol,.call-value.undefined,.call-value.function,.call-value.object{color:var(--vscode-charts-blue)}.call-tab .error-message{padding:5px;line-height:17px}.copy-to-clipboard-text-button{background-color:var(--vscode-editor-inactiveSelectionBackground);border:none;padding:4px 12px;cursor:pointer}.list-view-content{display:flex;flex-direction:column;flex:auto;position:relative;-webkit-user-select:none;user-select:none;overflow:hidden auto;outline:1px solid transparent}.list-view-entry{display:flex;flex:none;cursor:pointer;align-items:center;white-space:nowrap;line-height:28px;padding-left:5px}.list-view-content.not-selectable>.list-view-entry{cursor:inherit}.list-view-entry.highlighted:not(.selected){background-color:var(--vscode-list-inactiveSelectionBackground)!important}.list-view-entry.selected{z-index:10}.list-view-indent{min-width:16px}.list-view-content:focus .list-view-entry.selected{background-color:var(--vscode-list-activeSelectionBackground);color:var(--vscode-list-activeSelectionForeground);outline:1px solid var(--vscode-focusBorder)}.list-view-content .list-view-entry.selected{background-color:var(--vscode-list-inactiveSelectionBackground)}.list-view-content:focus .list-view-entry.selected *{color:var(--vscode-list-activeSelectionForeground)!important;background-color:transparent!important}.list-view-content:focus .list-view-entry.selected .codicon{color:var(--vscode-list-activeSelectionForeground)!important}.list-view-empty{flex:auto;display:flex;align-items:center;justify-content:center}.list-view-entry.error{color:var(--vscode-list-errorForeground);background-color:var(--vscode-inputValidation-errorBackground)}.list-view-entry.warning{color:var(--vscode-list-warningForeground);background-color:var(--vscode-inputValidation-warningBackground)}.list-view-entry.info{background-color:var(--vscode-inputValidation-infoBackground)}.log-list-duration{display:flex;flex:none;align-items:center;color:var(--vscode-editorCodeLens-foreground);float:right;margin-right:5px;-webkit-user-select:none;user-select:none}.log-list-item{text-wrap:wrap;-webkit-user-select:text;user-select:text;width:100%}.error-message{font-family:var(--vscode-editor-font-family);font-weight:var(--vscode-editor-font-weight);font-size:var(--vscode-editor-font-size);white-space:pre-wrap;word-break:break-word;padding:10px}.attachments-tab{flex:auto;line-height:24px;white-space:pre;overflow:auto;-webkit-user-select:text;user-select:text}.attachments-section{padding-left:6px;font-weight:700;text-transform:uppercase;font-size:12px;color:var(--vscode-sideBarTitle-foreground);line-height:24px}.attachments-section:not(:first-child){border-top:1px solid var(--vscode-panel-border);margin-top:10px}.attachment-item{margin:4px 8px}.attachment-title-highlight{text-decoration:underline var(--vscode-terminal-findMatchBackground);text-decoration-thickness:1.5px}.attachment-item img{flex:none;min-width:200px;max-width:80%;box-shadow:0 12px 28px #0003,0 2px 4px #0000001a}a.codicon-cloud-download:hover{background-color:var(--vscode-list-inactiveSelectionBackground)}.yellow-flash{animation:yellowflash-bg 2s}@keyframes yellowflash-bg{0%{background:var(--vscode-peekViewEditor-matchHighlightBackground)}to{background:transparent}}:root{--vscode-font-family: system-ui, "Ubuntu", "Droid Sans", sans-serif;--vscode-font-weight: normal;--vscode-font-size: 13px;--vscode-editor-font-family: "Droid Sans Mono", "monospace", monospace;--vscode-editor-font-weight: normal;--vscode-editor-font-size: 14px;--vscode-foreground: #616161;--vscode-disabledForeground: rgba(97, 97, 97, .5);--vscode-errorForeground: #a1260d;--vscode-descriptionForeground: #717171;--vscode-icon-foreground: #424242;--vscode-focusBorder: #0090f1;--vscode-textSeparator-foreground: rgba(0, 0, 0, .18);--vscode-textLink-foreground: #006ab1;--vscode-textLink-activeForeground: #006ab1;--vscode-textPreformat-foreground: #a31515;--vscode-textBlockQuote-background: rgba(127, 127, 127, .1);--vscode-textBlockQuote-border: rgba(0, 122, 204, .5);--vscode-textCodeBlock-background: rgba(220, 220, 220, .4);--vscode-widget-shadow: rgba(0, 0, 0, .16);--vscode-input-background: #ffffff;--vscode-input-foreground: #616161;--vscode-inputOption-activeBorder: #007acc;--vscode-inputOption-hoverBackground: rgba(184, 184, 184, .31);--vscode-inputOption-activeBackground: rgba(0, 144, 241, .2);--vscode-inputOption-activeForeground: #000000;--vscode-input-placeholderForeground: #767676;--vscode-inputValidation-infoBackground: #d6ecf2;--vscode-inputValidation-infoBorder: #007acc;--vscode-inputValidation-warningBackground: #f6f5d2;--vscode-inputValidation-warningBorder: #b89500;--vscode-inputValidation-errorBackground: #f2dede;--vscode-inputValidation-errorBorder: #be1100;--vscode-dropdown-background: #ffffff;--vscode-dropdown-border: #cecece;--vscode-checkbox-background: #ffffff;--vscode-checkbox-border: #cecece;--vscode-button-foreground: #ffffff;--vscode-button-separator: rgba(255, 255, 255, .4);--vscode-button-background: #007acc;--vscode-button-hoverBackground: #0062a3;--vscode-button-secondaryForeground: #ffffff;--vscode-button-secondaryBackground: #5f6a79;--vscode-button-secondaryHoverBackground: #4c5561;--vscode-badge-background: #c4c4c4;--vscode-badge-foreground: #333333;--vscode-scrollbar-shadow: #dddddd;--vscode-scrollbarSlider-background: rgba(100, 100, 100, .4);--vscode-scrollbarSlider-hoverBackground: rgba(100, 100, 100, .7);--vscode-scrollbarSlider-activeBackground: rgba(0, 0, 0, .6);--vscode-progressBar-background: #0e70c0;--vscode-editorError-foreground: #e51400;--vscode-editorWarning-foreground: #bf8803;--vscode-editorInfo-foreground: #1a85ff;--vscode-editorHint-foreground: #6c6c6c;--vscode-sash-hoverBorder: #0090f1;--vscode-editor-background: #ffffff;--vscode-editor-foreground: #000000;--vscode-editorStickyScroll-background: #ffffff;--vscode-editorStickyScrollHover-background: #f0f0f0;--vscode-editorWidget-background: #f3f3f3;--vscode-editorWidget-foreground: #616161;--vscode-editorWidget-border: #c8c8c8;--vscode-quickInput-background: #f3f3f3;--vscode-quickInput-foreground: #616161;--vscode-quickInputTitle-background: rgba(0, 0, 0, .06);--vscode-pickerGroup-foreground: #0066bf;--vscode-pickerGroup-border: #cccedb;--vscode-keybindingLabel-background: rgba(221, 221, 221, .4);--vscode-keybindingLabel-foreground: #555555;--vscode-keybindingLabel-border: rgba(204, 204, 204, .4);--vscode-keybindingLabel-bottomBorder: rgba(187, 187, 187, .4);--vscode-editor-selectionBackground: #add6ff;--vscode-editor-inactiveSelectionBackground: #e5ebf1;--vscode-editor-selectionHighlightBackground: rgba(173, 214, 255, .5);--vscode-editor-findMatchBackground: #a8ac94;--vscode-editor-findMatchHighlightBackground: rgba(234, 92, 0, .33);--vscode-editor-findRangeHighlightBackground: rgba(180, 180, 180, .3);--vscode-searchEditor-findMatchBackground: rgba(234, 92, 0, .22);--vscode-editor-hoverHighlightBackground: rgba(173, 214, 255, .15);--vscode-editorHoverWidget-background: #f3f3f3;--vscode-editorHoverWidget-foreground: #616161;--vscode-editorHoverWidget-border: #c8c8c8;--vscode-editorHoverWidget-statusBarBackground: #e7e7e7;--vscode-editorLink-activeForeground: #0000ff;--vscode-editorInlayHint-foreground: rgba(51, 51, 51, .8);--vscode-editorInlayHint-background: rgba(196, 196, 196, .3);--vscode-editorInlayHint-typeForeground: rgba(51, 51, 51, .8);--vscode-editorInlayHint-typeBackground: rgba(196, 196, 196, .3);--vscode-editorInlayHint-parameterForeground: rgba(51, 51, 51, .8);--vscode-editorInlayHint-parameterBackground: rgba(196, 196, 196, .3);--vscode-editorLightBulb-foreground: #ddb100;--vscode-editorLightBulbAutoFix-foreground: #007acc;--vscode-diffEditor-insertedTextBackground: rgba(156, 204, 44, .4);--vscode-diffEditor-removedTextBackground: rgba(255, 0, 0, .3);--vscode-diffEditor-insertedLineBackground: rgba(155, 185, 85, .2);--vscode-diffEditor-removedLineBackground: rgba(255, 0, 0, .2);--vscode-diffEditor-diagonalFill: rgba(34, 34, 34, .2);--vscode-list-focusOutline: #0090f1;--vscode-list-focusAndSelectionOutline: #90c2f9;--vscode-list-activeSelectionBackground: #0060c0;--vscode-list-activeSelectionForeground: #ffffff;--vscode-list-activeSelectionIconForeground: #ffffff;--vscode-list-inactiveSelectionBackground: #e4e6f1;--vscode-list-hoverBackground: #e8e8e8;--vscode-list-dropBackground: #d6ebff;--vscode-list-highlightForeground: #0066bf;--vscode-list-focusHighlightForeground: #bbe7ff;--vscode-list-invalidItemForeground: #b89500;--vscode-list-errorForeground: #b01011;--vscode-list-warningForeground: #855f00;--vscode-listFilterWidget-background: #f3f3f3;--vscode-listFilterWidget-outline: rgba(0, 0, 0, 0);--vscode-listFilterWidget-noMatchesOutline: #be1100;--vscode-listFilterWidget-shadow: rgba(0, 0, 0, .16);--vscode-list-filterMatchBackground: rgba(234, 92, 0, .33);--vscode-tree-indentGuidesStroke: #a9a9a9;--vscode-tree-tableColumnsBorder: rgba(97, 97, 97, .13);--vscode-tree-tableOddRowsBackground: rgba(97, 97, 97, .04);--vscode-list-deemphasizedForeground: #8e8e90;--vscode-quickInputList-focusForeground: #ffffff;--vscode-quickInputList-focusIconForeground: #ffffff;--vscode-quickInputList-focusBackground: #0060c0;--vscode-menu-foreground: #616161;--vscode-menu-background: #ffffff;--vscode-menu-selectionForeground: #ffffff;--vscode-menu-selectionBackground: #0060c0;--vscode-menu-separatorBackground: #d4d4d4;--vscode-toolbar-hoverBackground: rgba(184, 184, 184, .31);--vscode-toolbar-activeBackground: rgba(166, 166, 166, .31);--vscode-editor-snippetTabstopHighlightBackground: rgba(10, 50, 100, .2);--vscode-editor-snippetFinalTabstopHighlightBorder: rgba(10, 50, 100, .5);--vscode-breadcrumb-foreground: rgba(97, 97, 97, .8);--vscode-breadcrumb-background: #ffffff;--vscode-breadcrumb-focusForeground: #4e4e4e;--vscode-breadcrumb-activeSelectionForeground: #4e4e4e;--vscode-breadcrumbPicker-background: #f3f3f3;--vscode-merge-currentHeaderBackground: rgba(64, 200, 174, .5);--vscode-merge-currentContentBackground: rgba(64, 200, 174, .2);--vscode-merge-incomingHeaderBackground: rgba(64, 166, 255, .5);--vscode-merge-incomingContentBackground: rgba(64, 166, 255, .2);--vscode-merge-commonHeaderBackground: rgba(96, 96, 96, .4);--vscode-merge-commonContentBackground: rgba(96, 96, 96, .16);--vscode-editorOverviewRuler-currentContentForeground: rgba(64, 200, 174, .5);--vscode-editorOverviewRuler-incomingContentForeground: rgba(64, 166, 255, .5);--vscode-editorOverviewRuler-commonContentForeground: rgba(96, 96, 96, .4);--vscode-editorOverviewRuler-findMatchForeground: rgba(209, 134, 22, .49);--vscode-editorOverviewRuler-selectionHighlightForeground: rgba(160, 160, 160, .8);--vscode-minimap-findMatchHighlight: #d18616;--vscode-minimap-selectionOccurrenceHighlight: #c9c9c9;--vscode-minimap-selectionHighlight: #add6ff;--vscode-minimap-errorHighlight: rgba(255, 18, 18, .7);--vscode-minimap-warningHighlight: #bf8803;--vscode-minimap-foregroundOpacity: #000000;--vscode-minimapSlider-background: rgba(100, 100, 100, .2);--vscode-minimapSlider-hoverBackground: rgba(100, 100, 100, .35);--vscode-minimapSlider-activeBackground: rgba(0, 0, 0, .3);--vscode-problemsErrorIcon-foreground: #e51400;--vscode-problemsWarningIcon-foreground: #bf8803;--vscode-problemsInfoIcon-foreground: #1a85ff;--vscode-charts-foreground: #616161;--vscode-charts-lines: rgba(97, 97, 97, .5);--vscode-charts-red: #e51400;--vscode-charts-blue: #1a85ff;--vscode-charts-yellow: #bf8803;--vscode-charts-orange: #d18616;--vscode-charts-green: #388a34;--vscode-charts-purple: #652d90;--vscode-editor-lineHighlightBorder: #eeeeee;--vscode-editor-rangeHighlightBackground: rgba(253, 255, 0, .2);--vscode-editor-symbolHighlightBackground: rgba(234, 92, 0, .33);--vscode-editorCursor-foreground: #000000;--vscode-editorWhitespace-foreground: rgba(51, 51, 51, .2);--vscode-editorIndentGuide-background: #d3d3d3;--vscode-editorIndentGuide-activeBackground: #939393;--vscode-editorLineNumber-foreground: #237893;--vscode-editorActiveLineNumber-foreground: #0b216f;--vscode-editorLineNumber-activeForeground: #0b216f;--vscode-editorRuler-foreground: #d3d3d3;--vscode-editorCodeLens-foreground: #919191;--vscode-editorBracketMatch-background: rgba(0, 100, 0, .1);--vscode-editorBracketMatch-border: #b9b9b9;--vscode-editorOverviewRuler-border: rgba(127, 127, 127, .3);--vscode-editorGutter-background: #ffffff;--vscode-editorUnnecessaryCode-opacity: rgba(0, 0, 0, .47);--vscode-editorGhostText-foreground: rgba(0, 0, 0, .47);--vscode-editorOverviewRuler-rangeHighlightForeground: rgba(0, 122, 204, .6);--vscode-editorOverviewRuler-errorForeground: rgba(255, 18, 18, .7);--vscode-editorOverviewRuler-warningForeground: #bf8803;--vscode-editorOverviewRuler-infoForeground: #1a85ff;--vscode-editorBracketHighlight-foreground1: #0431fa;--vscode-editorBracketHighlight-foreground2: #319331;--vscode-editorBracketHighlight-foreground3: #7b3814;--vscode-editorBracketHighlight-foreground4: rgba(0, 0, 0, 0);--vscode-editorBracketHighlight-foreground5: rgba(0, 0, 0, 0);--vscode-editorBracketHighlight-foreground6: rgba(0, 0, 0, 0);--vscode-editorBracketHighlight-unexpectedBracket\.foreground: rgba(255, 18, 18, .8);--vscode-editorBracketPairGuide-background1: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background2: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background3: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background4: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background5: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background6: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground1: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground2: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground3: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground4: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground5: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground6: rgba(0, 0, 0, 0);--vscode-editorUnicodeHighlight-border: #cea33d;--vscode-editorUnicodeHighlight-background: rgba(206, 163, 61, .08);--vscode-symbolIcon-arrayForeground: #616161;--vscode-symbolIcon-booleanForeground: #616161;--vscode-symbolIcon-classForeground: #d67e00;--vscode-symbolIcon-colorForeground: #616161;--vscode-symbolIcon-constantForeground: #616161;--vscode-symbolIcon-constructorForeground: #652d90;--vscode-symbolIcon-enumeratorForeground: #d67e00;--vscode-symbolIcon-enumeratorMemberForeground: #007acc;--vscode-symbolIcon-eventForeground: #d67e00;--vscode-symbolIcon-fieldForeground: #007acc;--vscode-symbolIcon-fileForeground: #616161;--vscode-symbolIcon-folderForeground: #616161;--vscode-symbolIcon-functionForeground: #652d90;--vscode-symbolIcon-interfaceForeground: #007acc;--vscode-symbolIcon-keyForeground: #616161;--vscode-symbolIcon-keywordForeground: #616161;--vscode-symbolIcon-methodForeground: #652d90;--vscode-symbolIcon-moduleForeground: #616161;--vscode-symbolIcon-namespaceForeground: #616161;--vscode-symbolIcon-nullForeground: #616161;--vscode-symbolIcon-numberForeground: #616161;--vscode-symbolIcon-objectForeground: #616161;--vscode-symbolIcon-operatorForeground: #616161;--vscode-symbolIcon-packageForeground: #616161;--vscode-symbolIcon-propertyForeground: #616161;--vscode-symbolIcon-referenceForeground: #616161;--vscode-symbolIcon-snippetForeground: #616161;--vscode-symbolIcon-stringForeground: #616161;--vscode-symbolIcon-structForeground: #616161;--vscode-symbolIcon-textForeground: #616161;--vscode-symbolIcon-typeParameterForeground: #616161;--vscode-symbolIcon-unitForeground: #616161;--vscode-symbolIcon-variableForeground: #007acc;--vscode-editorHoverWidget-highlightForeground: #0066bf;--vscode-editorOverviewRuler-bracketMatchForeground: #a0a0a0;--vscode-editor-foldBackground: rgba(173, 214, 255, .3);--vscode-editorGutter-foldingControlForeground: #424242;--vscode-editor-linkedEditingBackground: rgba(255, 0, 0, .3);--vscode-editor-wordHighlightBackground: rgba(87, 87, 87, .25);--vscode-editor-wordHighlightStrongBackground: rgba(14, 99, 156, .25);--vscode-editorOverviewRuler-wordHighlightForeground: rgba(160, 160, 160, .8);--vscode-editorOverviewRuler-wordHighlightStrongForeground: rgba(192, 160, 192, .8);--vscode-peekViewTitle-background: rgba(26, 133, 255, .1);--vscode-peekViewTitleLabel-foreground: #000000;--vscode-peekViewTitleDescription-foreground: #616161;--vscode-peekView-border: #1a85ff;--vscode-peekViewResult-background: #f3f3f3;--vscode-peekViewResult-lineForeground: #646465;--vscode-peekViewResult-fileForeground: #1e1e1e;--vscode-peekViewResult-selectionBackground: rgba(51, 153, 255, .2);--vscode-peekViewResult-selectionForeground: #6c6c6c;--vscode-peekViewEditor-background: #f2f8fc;--vscode-peekViewEditorGutter-background: #f2f8fc;--vscode-peekViewResult-matchHighlightBackground: rgba(234, 92, 0, .3);--vscode-peekViewEditor-matchHighlightBackground: rgba(245, 216, 2, .87);--vscode-editorMarkerNavigationError-background: #e51400;--vscode-editorMarkerNavigationError-headerBackground: rgba(229, 20, 0, .1);--vscode-editorMarkerNavigationWarning-background: #bf8803;--vscode-editorMarkerNavigationWarning-headerBackground: rgba(191, 136, 3, .1);--vscode-editorMarkerNavigationInfo-background: #1a85ff;--vscode-editorMarkerNavigationInfo-headerBackground: rgba(26, 133, 255, .1);--vscode-editorMarkerNavigation-background: #ffffff;--vscode-editorSuggestWidget-background: #f3f3f3;--vscode-editorSuggestWidget-border: #c8c8c8;--vscode-editorSuggestWidget-foreground: #000000;--vscode-editorSuggestWidget-selectedForeground: #ffffff;--vscode-editorSuggestWidget-selectedIconForeground: #ffffff;--vscode-editorSuggestWidget-selectedBackground: #0060c0;--vscode-editorSuggestWidget-highlightForeground: #0066bf;--vscode-editorSuggestWidget-focusHighlightForeground: #bbe7ff;--vscode-editorSuggestWidgetStatus-foreground: rgba(0, 0, 0, .5);--vscode-tab-activeBackground: #ffffff;--vscode-tab-unfocusedActiveBackground: #ffffff;--vscode-tab-inactiveBackground: #ececec;--vscode-tab-unfocusedInactiveBackground: #ececec;--vscode-tab-activeForeground: #333333;--vscode-tab-inactiveForeground: rgba(51, 51, 51, .7);--vscode-tab-unfocusedActiveForeground: rgba(51, 51, 51, .7);--vscode-tab-unfocusedInactiveForeground: rgba(51, 51, 51, .35);--vscode-tab-border: #f3f3f3;--vscode-tab-lastPinnedBorder: rgba(97, 97, 97, .19);--vscode-tab-activeModifiedBorder: #33aaee;--vscode-tab-inactiveModifiedBorder: rgba(51, 170, 238, .5);--vscode-tab-unfocusedActiveModifiedBorder: rgba(51, 170, 238, .7);--vscode-tab-unfocusedInactiveModifiedBorder: rgba(51, 170, 238, .25);--vscode-editorPane-background: #ffffff;--vscode-editorGroupHeader-tabsBackground: #f3f3f3;--vscode-editorGroupHeader-noTabsBackground: #ffffff;--vscode-editorGroup-border: #e7e7e7;--vscode-editorGroup-dropBackground: rgba(38, 119, 203, .18);--vscode-editorGroup-dropIntoPromptForeground: #616161;--vscode-editorGroup-dropIntoPromptBackground: #f3f3f3;--vscode-sideBySideEditor-horizontalBorder: #e7e7e7;--vscode-sideBySideEditor-verticalBorder: #e7e7e7;--vscode-panel-background: #ffffff;--vscode-panel-border: rgba(128, 128, 128, .35);--vscode-panelTitle-activeForeground: #424242;--vscode-panelTitle-inactiveForeground: rgba(66, 66, 66, .75);--vscode-panelTitle-activeBorder: #424242;--vscode-panelInput-border: #dddddd;--vscode-panel-dropBorder: #424242;--vscode-panelSection-dropBackground: rgba(38, 119, 203, .18);--vscode-panelSectionHeader-background: rgba(128, 128, 128, .2);--vscode-panelSection-border: rgba(128, 128, 128, .35);--vscode-banner-background: #004386;--vscode-banner-foreground: #ffffff;--vscode-banner-iconForeground: #1a85ff;--vscode-statusBar-foreground: #ffffff;--vscode-statusBar-noFolderForeground: #ffffff;--vscode-statusBar-background: #007acc;--vscode-statusBar-noFolderBackground: #68217a;--vscode-statusBar-focusBorder: #ffffff;--vscode-statusBarItem-activeBackground: rgba(255, 255, 255, .18);--vscode-statusBarItem-focusBorder: #ffffff;--vscode-statusBarItem-hoverBackground: rgba(255, 255, 255, .12);--vscode-statusBarItem-compactHoverBackground: rgba(255, 255, 255, .2);--vscode-statusBarItem-prominentForeground: #ffffff;--vscode-statusBarItem-prominentBackground: rgba(0, 0, 0, .5);--vscode-statusBarItem-prominentHoverBackground: rgba(0, 0, 0, .3);--vscode-statusBarItem-errorBackground: #c72e0f;--vscode-statusBarItem-errorForeground: #ffffff;--vscode-statusBarItem-warningBackground: #725102;--vscode-statusBarItem-warningForeground: #ffffff;--vscode-activityBar-background: #2c2c2c;--vscode-activityBar-foreground: #ffffff;--vscode-activityBar-inactiveForeground: rgba(255, 255, 255, .4);--vscode-activityBar-activeBorder: #ffffff;--vscode-activityBar-dropBorder: #ffffff;--vscode-activityBarBadge-background: #007acc;--vscode-activityBarBadge-foreground: #ffffff;--vscode-statusBarItem-remoteBackground: #16825d;--vscode-statusBarItem-remoteForeground: #ffffff;--vscode-extensionBadge-remoteBackground: #007acc;--vscode-extensionBadge-remoteForeground: #ffffff;--vscode-sideBar-background: #f3f3f3;--vscode-sideBarTitle-foreground: #6f6f6f;--vscode-sideBar-dropBackground: rgba(38, 119, 203, .18);--vscode-sideBarSectionHeader-background: rgba(0, 0, 0, 0);--vscode-sideBarSectionHeader-border: rgba(97, 97, 97, .19);--vscode-titleBar-activeForeground: #333333;--vscode-titleBar-inactiveForeground: rgba(51, 51, 51, .6);--vscode-titleBar-activeBackground: #dddddd;--vscode-titleBar-inactiveBackground: rgba(221, 221, 221, .6);--vscode-menubar-selectionForeground: #333333;--vscode-menubar-selectionBackground: rgba(184, 184, 184, .31);--vscode-notifications-foreground: #616161;--vscode-notifications-background: #f3f3f3;--vscode-notificationLink-foreground: #006ab1;--vscode-notificationCenterHeader-background: #e7e7e7;--vscode-notifications-border: #e7e7e7;--vscode-notificationsErrorIcon-foreground: #e51400;--vscode-notificationsWarningIcon-foreground: #bf8803;--vscode-notificationsInfoIcon-foreground: #1a85ff;--vscode-commandCenter-foreground: #333333;--vscode-commandCenter-activeForeground: #333333;--vscode-commandCenter-activeBackground: rgba(184, 184, 184, .31);--vscode-commandCenter-border: rgba(128, 128, 128, .35);--vscode-editorCommentsWidget-resolvedBorder: rgba(97, 97, 97, .5);--vscode-editorCommentsWidget-unresolvedBorder: #1a85ff;--vscode-editorCommentsWidget-rangeBackground: rgba(26, 133, 255, .1);--vscode-editorCommentsWidget-rangeBorder: rgba(26, 133, 255, .4);--vscode-editorCommentsWidget-rangeActiveBackground: rgba(26, 133, 255, .1);--vscode-editorCommentsWidget-rangeActiveBorder: rgba(26, 133, 255, .4);--vscode-editorGutter-commentRangeForeground: #d5d8e9;--vscode-debugToolBar-background: #f3f3f3;--vscode-debugIcon-startForeground: #388a34;--vscode-editor-stackFrameHighlightBackground: rgba(255, 255, 102, .45);--vscode-editor-focusedStackFrameHighlightBackground: rgba(206, 231, 206, .45);--vscode-mergeEditor-change\.background: rgba(155, 185, 85, .2);--vscode-mergeEditor-change\.word\.background: rgba(156, 204, 44, .4);--vscode-mergeEditor-conflict\.unhandledUnfocused\.border: rgba(255, 166, 0, .48);--vscode-mergeEditor-conflict\.unhandledFocused\.border: #ffa600;--vscode-mergeEditor-conflict\.handledUnfocused\.border: rgba(134, 134, 134, .29);--vscode-mergeEditor-conflict\.handledFocused\.border: rgba(193, 193, 193, .8);--vscode-mergeEditor-conflict\.handled\.minimapOverViewRuler: rgba(173, 172, 168, .93);--vscode-mergeEditor-conflict\.unhandled\.minimapOverViewRuler: #fcba03;--vscode-mergeEditor-conflictingLines\.background: rgba(255, 234, 0, .28);--vscode-settings-headerForeground: #444444;--vscode-settings-modifiedItemIndicator: #66afe0;--vscode-settings-headerBorder: rgba(128, 128, 128, .35);--vscode-settings-sashBorder: rgba(128, 128, 128, .35);--vscode-settings-dropdownBackground: #ffffff;--vscode-settings-dropdownBorder: #cecece;--vscode-settings-dropdownListBorder: #c8c8c8;--vscode-settings-checkboxBackground: #ffffff;--vscode-settings-checkboxBorder: #cecece;--vscode-settings-textInputBackground: #ffffff;--vscode-settings-textInputForeground: #616161;--vscode-settings-textInputBorder: #cecece;--vscode-settings-numberInputBackground: #ffffff;--vscode-settings-numberInputForeground: #616161;--vscode-settings-numberInputBorder: #cecece;--vscode-settings-focusedRowBackground: rgba(232, 232, 232, .6);--vscode-settings-rowHoverBackground: rgba(232, 232, 232, .3);--vscode-settings-focusedRowBorder: rgba(0, 0, 0, .12);--vscode-terminal-foreground: #333333;--vscode-terminal-selectionBackground: #add6ff;--vscode-terminal-inactiveSelectionBackground: #e5ebf1;--vscode-terminalCommandDecoration-defaultBackground: rgba(0, 0, 0, .25);--vscode-terminalCommandDecoration-successBackground: #2090d3;--vscode-terminalCommandDecoration-errorBackground: #e51400;--vscode-terminalOverviewRuler-cursorForeground: rgba(160, 160, 160, .8);--vscode-terminal-border: rgba(128, 128, 128, .35);--vscode-terminal-findMatchBackground: #a8ac94;--vscode-terminal-findMatchHighlightBackground: rgba(234, 92, 0, .33);--vscode-terminalOverviewRuler-findMatchForeground: rgba(209, 134, 22, .49);--vscode-terminal-dropBackground: rgba(38, 119, 203, .18);--vscode-testing-iconFailed: #f14c4c;--vscode-testing-iconErrored: #f14c4c;--vscode-testing-iconPassed: #73c991;--vscode-testing-runAction: #73c991;--vscode-testing-iconQueued: #cca700;--vscode-testing-iconUnset: #848484;--vscode-testing-iconSkipped: #848484;--vscode-testing-peekBorder: #e51400;--vscode-testing-peekHeaderBackground: rgba(229, 20, 0, .1);--vscode-testing-message\.error\.decorationForeground: #e51400;--vscode-testing-message\.error\.lineBackground: rgba(255, 0, 0, .2);--vscode-testing-message\.info\.decorationForeground: rgba(0, 0, 0, .5);--vscode-welcomePage-tileBackground: #f3f3f3;--vscode-welcomePage-tileHoverBackground: #dbdbdb;--vscode-welcomePage-tileShadow: rgba(0, 0, 0, .16);--vscode-welcomePage-progress\.background: #ffffff;--vscode-welcomePage-progress\.foreground: #006ab1;--vscode-debugExceptionWidget-border: #a31515;--vscode-debugExceptionWidget-background: #f1dfde;--vscode-ports-iconRunningProcessForeground: #369432;--vscode-statusBar-debuggingBackground: #cc6633;--vscode-statusBar-debuggingForeground: #ffffff;--vscode-editor-inlineValuesForeground: rgba(0, 0, 0, .5);--vscode-editor-inlineValuesBackground: rgba(255, 200, 0, .2);--vscode-editorGutter-modifiedBackground: #2090d3;--vscode-editorGutter-addedBackground: #48985d;--vscode-editorGutter-deletedBackground: #e51400;--vscode-minimapGutter-modifiedBackground: #2090d3;--vscode-minimapGutter-addedBackground: #48985d;--vscode-minimapGutter-deletedBackground: #e51400;--vscode-editorOverviewRuler-modifiedForeground: rgba(32, 144, 211, .6);--vscode-editorOverviewRuler-addedForeground: rgba(72, 152, 93, .6);--vscode-editorOverviewRuler-deletedForeground: rgba(229, 20, 0, .6);--vscode-debugIcon-breakpointForeground: #e51400;--vscode-debugIcon-breakpointDisabledForeground: #848484;--vscode-debugIcon-breakpointUnverifiedForeground: #848484;--vscode-debugIcon-breakpointCurrentStackframeForeground: #be8700;--vscode-debugIcon-breakpointStackframeForeground: #89d185;--vscode-notebook-cellBorderColor: #e8e8e8;--vscode-notebook-focusedEditorBorder: #0090f1;--vscode-notebookStatusSuccessIcon-foreground: #388a34;--vscode-notebookStatusErrorIcon-foreground: #a1260d;--vscode-notebookStatusRunningIcon-foreground: #616161;--vscode-notebook-cellToolbarSeparator: rgba(128, 128, 128, .35);--vscode-notebook-selectedCellBackground: rgba(200, 221, 241, .31);--vscode-notebook-selectedCellBorder: #e8e8e8;--vscode-notebook-focusedCellBorder: #0090f1;--vscode-notebook-inactiveFocusedCellBorder: #e8e8e8;--vscode-notebook-cellStatusBarItemHoverBackground: rgba(0, 0, 0, .08);--vscode-notebook-cellInsertionIndicator: #0090f1;--vscode-notebookScrollbarSlider-background: rgba(100, 100, 100, .4);--vscode-notebookScrollbarSlider-hoverBackground: rgba(100, 100, 100, .7);--vscode-notebookScrollbarSlider-activeBackground: rgba(0, 0, 0, .6);--vscode-notebook-symbolHighlightBackground: rgba(253, 255, 0, .2);--vscode-notebook-cellEditorBackground: #f3f3f3;--vscode-notebook-editorBackground: #ffffff;--vscode-keybindingTable-headerBackground: rgba(97, 97, 97, .04);--vscode-keybindingTable-rowsBackground: rgba(97, 97, 97, .04);--vscode-scm-providerBorder: #c8c8c8;--vscode-searchEditor-textInputBorder: #cecece;--vscode-debugTokenExpression-name: #9b46b0;--vscode-debugTokenExpression-value: rgba(108, 108, 108, .8);--vscode-debugTokenExpression-string: #a31515;--vscode-debugTokenExpression-boolean: #0000ff;--vscode-debugTokenExpression-number: #098658;--vscode-debugTokenExpression-error: #e51400;--vscode-debugView-exceptionLabelForeground: #ffffff;--vscode-debugView-exceptionLabelBackground: #a31515;--vscode-debugView-stateLabelForeground: #616161;--vscode-debugView-stateLabelBackground: rgba(136, 136, 136, .27);--vscode-debugView-valueChangedHighlight: #569cd6;--vscode-debugConsole-infoForeground: #1a85ff;--vscode-debugConsole-warningForeground: #bf8803;--vscode-debugConsole-errorForeground: #a1260d;--vscode-debugConsole-sourceForeground: #616161;--vscode-debugConsoleInputIcon-foreground: #616161;--vscode-debugIcon-pauseForeground: #007acc;--vscode-debugIcon-stopForeground: #a1260d;--vscode-debugIcon-disconnectForeground: #a1260d;--vscode-debugIcon-restartForeground: #388a34;--vscode-debugIcon-stepOverForeground: #007acc;--vscode-debugIcon-stepIntoForeground: #007acc;--vscode-debugIcon-stepOutForeground: #007acc;--vscode-debugIcon-continueForeground: #007acc;--vscode-debugIcon-stepBackForeground: #007acc;--vscode-extensionButton-prominentBackground: #007acc;--vscode-extensionButton-prominentForeground: #ffffff;--vscode-extensionButton-prominentHoverBackground: #0062a3;--vscode-extensionIcon-starForeground: #df6100;--vscode-extensionIcon-verifiedForeground: #006ab1;--vscode-extensionIcon-preReleaseForeground: #1d9271;--vscode-extensionIcon-sponsorForeground: #b51e78;--vscode-terminal-ansiBlack: #000000;--vscode-terminal-ansiRed: #cd3131;--vscode-terminal-ansiGreen: #00bc00;--vscode-terminal-ansiYellow: #949800;--vscode-terminal-ansiBlue: #0451a5;--vscode-terminal-ansiMagenta: #bc05bc;--vscode-terminal-ansiCyan: #0598bc;--vscode-terminal-ansiWhite: #555555;--vscode-terminal-ansiBrightBlack: #666666;--vscode-terminal-ansiBrightRed: #cd3131;--vscode-terminal-ansiBrightGreen: #14ce14;--vscode-terminal-ansiBrightYellow: #b5ba00;--vscode-terminal-ansiBrightBlue: #0451a5;--vscode-terminal-ansiBrightMagenta: #bc05bc;--vscode-terminal-ansiBrightCyan: #0598bc;--vscode-terminal-ansiBrightWhite: #a5a5a5;--vscode-interactive-activeCodeBorder: #1a85ff;--vscode-interactive-inactiveCodeBorder: #e4e6f1;--vscode-gitDecoration-addedResourceForeground: #587c0c;--vscode-gitDecoration-modifiedResourceForeground: #895503;--vscode-gitDecoration-deletedResourceForeground: #ad0707;--vscode-gitDecoration-renamedResourceForeground: #007100;--vscode-gitDecoration-untrackedResourceForeground: #007100;--vscode-gitDecoration-ignoredResourceForeground: #8e8e90;--vscode-gitDecoration-stageModifiedResourceForeground: #895503;--vscode-gitDecoration-stageDeletedResourceForeground: #ad0707;--vscode-gitDecoration-conflictingResourceForeground: #ad0707;--vscode-gitDecoration-submoduleResourceForeground: #1258a7}:root.light-mode{color-scheme:light}:root.dark-mode{color-scheme:dark;--vscode-font-family: system-ui, "Ubuntu", "Droid Sans", sans-serif;--vscode-font-weight: normal;--vscode-font-size: 13px;--vscode-editor-font-family: "Droid Sans Mono", "monospace", monospace;--vscode-editor-font-weight: normal;--vscode-editor-font-size: 14px;--vscode-foreground: #cccccc;--vscode-disabledForeground: rgba(204, 204, 204, .5);--vscode-errorForeground: #f48771;--vscode-descriptionForeground: rgba(204, 204, 204, .7);--vscode-icon-foreground: #c5c5c5;--vscode-focusBorder: #007fd4;--vscode-textSeparator-foreground: rgba(255, 255, 255, .18);--vscode-textLink-foreground: #3794ff;--vscode-textLink-activeForeground: #3794ff;--vscode-textPreformat-foreground: #d7ba7d;--vscode-textBlockQuote-background: rgba(127, 127, 127, .1);--vscode-textBlockQuote-border: rgba(0, 122, 204, .5);--vscode-textCodeBlock-background: rgba(10, 10, 10, .4);--vscode-widget-shadow: rgba(0, 0, 0, .36);--vscode-input-background: #3c3c3c;--vscode-input-foreground: #cccccc;--vscode-inputOption-activeBorder: #007acc;--vscode-inputOption-hoverBackground: rgba(90, 93, 94, .5);--vscode-inputOption-activeBackground: rgba(0, 127, 212, .4);--vscode-inputOption-activeForeground: #ffffff;--vscode-input-placeholderForeground: #a6a6a6;--vscode-inputValidation-infoBackground: #063b49;--vscode-inputValidation-infoBorder: #007acc;--vscode-inputValidation-warningBackground: #352a05;--vscode-inputValidation-warningBorder: #b89500;--vscode-inputValidation-errorBackground: #5a1d1d;--vscode-inputValidation-errorBorder: #be1100;--vscode-dropdown-background: #3c3c3c;--vscode-dropdown-foreground: #f0f0f0;--vscode-dropdown-border: #3c3c3c;--vscode-checkbox-background: #3c3c3c;--vscode-checkbox-foreground: #f0f0f0;--vscode-checkbox-border: #3c3c3c;--vscode-button-foreground: #ffffff;--vscode-button-separator: rgba(255, 255, 255, .4);--vscode-button-background: #0e639c;--vscode-button-hoverBackground: #1177bb;--vscode-button-secondaryForeground: #ffffff;--vscode-button-secondaryBackground: #3a3d41;--vscode-button-secondaryHoverBackground: #45494e;--vscode-badge-background: #4d4d4d;--vscode-badge-foreground: #ffffff;--vscode-scrollbar-shadow: #000000;--vscode-scrollbarSlider-background: rgba(121, 121, 121, .4);--vscode-scrollbarSlider-hoverBackground: rgba(100, 100, 100, .7);--vscode-scrollbarSlider-activeBackground: rgba(191, 191, 191, .4);--vscode-progressBar-background: #0e70c0;--vscode-editorError-foreground: #f14c4c;--vscode-editorWarning-foreground: #cca700;--vscode-editorInfo-foreground: #3794ff;--vscode-editorHint-foreground: rgba(238, 238, 238, .7);--vscode-sash-hoverBorder: #007fd4;--vscode-editor-background: #1e1e1e;--vscode-editor-foreground: #d4d4d4;--vscode-editorStickyScroll-background: #1e1e1e;--vscode-editorStickyScrollHover-background: #2a2d2e;--vscode-editorWidget-background: #252526;--vscode-editorWidget-foreground: #cccccc;--vscode-editorWidget-border: #454545;--vscode-quickInput-background: #252526;--vscode-quickInput-foreground: #cccccc;--vscode-quickInputTitle-background: rgba(255, 255, 255, .1);--vscode-pickerGroup-foreground: #3794ff;--vscode-pickerGroup-border: #3f3f46;--vscode-keybindingLabel-background: rgba(128, 128, 128, .17);--vscode-keybindingLabel-foreground: #cccccc;--vscode-keybindingLabel-border: rgba(51, 51, 51, .6);--vscode-keybindingLabel-bottomBorder: rgba(68, 68, 68, .6);--vscode-editor-selectionBackground: #264f78;--vscode-editor-inactiveSelectionBackground: #3a3d41;--vscode-editor-selectionHighlightBackground: rgba(173, 214, 255, .15);--vscode-editor-findMatchBackground: #515c6a;--vscode-editor-findMatchHighlightBackground: rgba(234, 92, 0, .33);--vscode-editor-findRangeHighlightBackground: rgba(58, 61, 65, .4);--vscode-searchEditor-findMatchBackground: rgba(234, 92, 0, .22);--vscode-editor-hoverHighlightBackground: rgba(38, 79, 120, .25);--vscode-editorHoverWidget-background: #252526;--vscode-editorHoverWidget-foreground: #cccccc;--vscode-editorHoverWidget-border: #454545;--vscode-editorHoverWidget-statusBarBackground: #2c2c2d;--vscode-editorLink-activeForeground: #4e94ce;--vscode-editorInlayHint-foreground: rgba(255, 255, 255, .8);--vscode-editorInlayHint-background: rgba(77, 77, 77, .6);--vscode-editorInlayHint-typeForeground: rgba(255, 255, 255, .8);--vscode-editorInlayHint-typeBackground: rgba(77, 77, 77, .6);--vscode-editorInlayHint-parameterForeground: rgba(255, 255, 255, .8);--vscode-editorInlayHint-parameterBackground: rgba(77, 77, 77, .6);--vscode-editorLightBulb-foreground: #ffcc00;--vscode-editorLightBulbAutoFix-foreground: #75beff;--vscode-diffEditor-insertedTextBackground: rgba(156, 204, 44, .2);--vscode-diffEditor-removedTextBackground: rgba(255, 0, 0, .4);--vscode-diffEditor-insertedLineBackground: rgba(155, 185, 85, .2);--vscode-diffEditor-removedLineBackground: rgba(255, 0, 0, .2);--vscode-diffEditor-diagonalFill: rgba(204, 204, 204, .2);--vscode-list-focusOutline: #007fd4;--vscode-list-activeSelectionBackground: #04395e;--vscode-list-activeSelectionForeground: #ffffff;--vscode-list-activeSelectionIconForeground: #ffffff;--vscode-list-inactiveSelectionBackground: #37373d;--vscode-list-hoverBackground: #2a2d2e;--vscode-list-dropBackground: #383b3d;--vscode-list-highlightForeground: #2aaaff;--vscode-list-focusHighlightForeground: #2aaaff;--vscode-list-invalidItemForeground: #b89500;--vscode-list-errorForeground: #f88070;--vscode-list-warningForeground: #cca700;--vscode-listFilterWidget-background: #252526;--vscode-listFilterWidget-outline: rgba(0, 0, 0, 0);--vscode-listFilterWidget-noMatchesOutline: #be1100;--vscode-listFilterWidget-shadow: rgba(0, 0, 0, .36);--vscode-list-filterMatchBackground: rgba(234, 92, 0, .33);--vscode-tree-indentGuidesStroke: #585858;--vscode-tree-tableColumnsBorder: rgba(204, 204, 204, .13);--vscode-tree-tableOddRowsBackground: rgba(204, 204, 204, .04);--vscode-list-deemphasizedForeground: #8c8c8c;--vscode-quickInputList-focusForeground: #ffffff;--vscode-quickInputList-focusIconForeground: #ffffff;--vscode-quickInputList-focusBackground: #04395e;--vscode-menu-foreground: #cccccc;--vscode-menu-background: #303031;--vscode-menu-selectionForeground: #ffffff;--vscode-menu-selectionBackground: #04395e;--vscode-menu-separatorBackground: #606060;--vscode-toolbar-hoverBackground: rgba(90, 93, 94, .31);--vscode-toolbar-activeBackground: rgba(99, 102, 103, .31);--vscode-editor-snippetTabstopHighlightBackground: rgba(124, 124, 124, .3);--vscode-editor-snippetFinalTabstopHighlightBorder: #525252;--vscode-breadcrumb-foreground: rgba(204, 204, 204, .8);--vscode-breadcrumb-background: #1e1e1e;--vscode-breadcrumb-focusForeground: #e0e0e0;--vscode-breadcrumb-activeSelectionForeground: #e0e0e0;--vscode-breadcrumbPicker-background: #252526;--vscode-merge-currentHeaderBackground: rgba(64, 200, 174, .5);--vscode-merge-currentContentBackground: rgba(64, 200, 174, .2);--vscode-merge-incomingHeaderBackground: rgba(64, 166, 255, .5);--vscode-merge-incomingContentBackground: rgba(64, 166, 255, .2);--vscode-merge-commonHeaderBackground: rgba(96, 96, 96, .4);--vscode-merge-commonContentBackground: rgba(96, 96, 96, .16);--vscode-editorOverviewRuler-currentContentForeground: rgba(64, 200, 174, .5);--vscode-editorOverviewRuler-incomingContentForeground: rgba(64, 166, 255, .5);--vscode-editorOverviewRuler-commonContentForeground: rgba(96, 96, 96, .4);--vscode-editorOverviewRuler-findMatchForeground: rgba(209, 134, 22, .49);--vscode-editorOverviewRuler-selectionHighlightForeground: rgba(160, 160, 160, .8);--vscode-minimap-findMatchHighlight: #d18616;--vscode-minimap-selectionOccurrenceHighlight: #676767;--vscode-minimap-selectionHighlight: #264f78;--vscode-minimap-errorHighlight: rgba(255, 18, 18, .7);--vscode-minimap-warningHighlight: #cca700;--vscode-minimap-foregroundOpacity: #000000;--vscode-minimapSlider-background: rgba(121, 121, 121, .2);--vscode-minimapSlider-hoverBackground: rgba(100, 100, 100, .35);--vscode-minimapSlider-activeBackground: rgba(191, 191, 191, .2);--vscode-problemsErrorIcon-foreground: #f14c4c;--vscode-problemsWarningIcon-foreground: #cca700;--vscode-problemsInfoIcon-foreground: #3794ff;--vscode-charts-foreground: #cccccc;--vscode-charts-lines: rgba(204, 204, 204, .5);--vscode-charts-red: #f14c4c;--vscode-charts-blue: #3794ff;--vscode-charts-yellow: #cca700;--vscode-charts-orange: #d18616;--vscode-charts-green: #89d185;--vscode-charts-purple: #b180d7;--vscode-editor-lineHighlightBorder: #282828;--vscode-editor-rangeHighlightBackground: rgba(255, 255, 255, .04);--vscode-editor-symbolHighlightBackground: rgba(234, 92, 0, .33);--vscode-editorCursor-foreground: #aeafad;--vscode-editorWhitespace-foreground: rgba(227, 228, 226, .16);--vscode-editorIndentGuide-background: #404040;--vscode-editorIndentGuide-activeBackground: #707070;--vscode-editorLineNumber-foreground: #858585;--vscode-editorActiveLineNumber-foreground: #c6c6c6;--vscode-editorLineNumber-activeForeground: #c6c6c6;--vscode-editorRuler-foreground: #5a5a5a;--vscode-editorCodeLens-foreground: #999999;--vscode-editorBracketMatch-background: rgba(0, 100, 0, .1);--vscode-editorBracketMatch-border: #888888;--vscode-editorOverviewRuler-border: rgba(127, 127, 127, .3);--vscode-editorGutter-background: #1e1e1e;--vscode-editorUnnecessaryCode-opacity: rgba(0, 0, 0, .67);--vscode-editorGhostText-foreground: rgba(255, 255, 255, .34);--vscode-editorOverviewRuler-rangeHighlightForeground: rgba(0, 122, 204, .6);--vscode-editorOverviewRuler-errorForeground: rgba(255, 18, 18, .7);--vscode-editorOverviewRuler-warningForeground: #cca700;--vscode-editorOverviewRuler-infoForeground: #3794ff;--vscode-editorBracketHighlight-foreground1: #ffd700;--vscode-editorBracketHighlight-foreground2: #da70d6;--vscode-editorBracketHighlight-foreground3: #179fff;--vscode-editorBracketHighlight-foreground4: rgba(0, 0, 0, 0);--vscode-editorBracketHighlight-foreground5: rgba(0, 0, 0, 0);--vscode-editorBracketHighlight-foreground6: rgba(0, 0, 0, 0);--vscode-editorBracketHighlight-unexpectedBracket\.foreground: rgba(255, 18, 18, .8);--vscode-editorBracketPairGuide-background1: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background2: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background3: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background4: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background5: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background6: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground1: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground2: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground3: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground4: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground5: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground6: rgba(0, 0, 0, 0);--vscode-editorUnicodeHighlight-border: #bd9b03;--vscode-editorUnicodeHighlight-background: rgba(189, 155, 3, .15);--vscode-symbolIcon-arrayForeground: #cccccc;--vscode-symbolIcon-booleanForeground: #cccccc;--vscode-symbolIcon-classForeground: #ee9d28;--vscode-symbolIcon-colorForeground: #cccccc;--vscode-symbolIcon-constantForeground: #cccccc;--vscode-symbolIcon-constructorForeground: #b180d7;--vscode-symbolIcon-enumeratorForeground: #ee9d28;--vscode-symbolIcon-enumeratorMemberForeground: #75beff;--vscode-symbolIcon-eventForeground: #ee9d28;--vscode-symbolIcon-fieldForeground: #75beff;--vscode-symbolIcon-fileForeground: #cccccc;--vscode-symbolIcon-folderForeground: #cccccc;--vscode-symbolIcon-functionForeground: #b180d7;--vscode-symbolIcon-interfaceForeground: #75beff;--vscode-symbolIcon-keyForeground: #cccccc;--vscode-symbolIcon-keywordForeground: #cccccc;--vscode-symbolIcon-methodForeground: #b180d7;--vscode-symbolIcon-moduleForeground: #cccccc;--vscode-symbolIcon-namespaceForeground: #cccccc;--vscode-symbolIcon-nullForeground: #cccccc;--vscode-symbolIcon-numberForeground: #cccccc;--vscode-symbolIcon-objectForeground: #cccccc;--vscode-symbolIcon-operatorForeground: #cccccc;--vscode-symbolIcon-packageForeground: #cccccc;--vscode-symbolIcon-propertyForeground: #cccccc;--vscode-symbolIcon-referenceForeground: #cccccc;--vscode-symbolIcon-snippetForeground: #cccccc;--vscode-symbolIcon-stringForeground: #cccccc;--vscode-symbolIcon-structForeground: #cccccc;--vscode-symbolIcon-textForeground: #cccccc;--vscode-symbolIcon-typeParameterForeground: #cccccc;--vscode-symbolIcon-unitForeground: #cccccc;--vscode-symbolIcon-variableForeground: #75beff;--vscode-editorHoverWidget-highlightForeground: #2aaaff;--vscode-editorOverviewRuler-bracketMatchForeground: #a0a0a0;--vscode-editor-foldBackground: rgba(38, 79, 120, .3);--vscode-editorGutter-foldingControlForeground: #c5c5c5;--vscode-editor-linkedEditingBackground: rgba(255, 0, 0, .3);--vscode-editor-wordHighlightBackground: rgba(87, 87, 87, .72);--vscode-editor-wordHighlightStrongBackground: rgba(0, 73, 114, .72);--vscode-editorOverviewRuler-wordHighlightForeground: rgba(160, 160, 160, .8);--vscode-editorOverviewRuler-wordHighlightStrongForeground: rgba(192, 160, 192, .8);--vscode-peekViewTitle-background: rgba(55, 148, 255, .1);--vscode-peekViewTitleLabel-foreground: #ffffff;--vscode-peekViewTitleDescription-foreground: rgba(204, 204, 204, .7);--vscode-peekView-border: #3794ff;--vscode-peekViewResult-background: #252526;--vscode-peekViewResult-lineForeground: #bbbbbb;--vscode-peekViewResult-fileForeground: #ffffff;--vscode-peekViewResult-selectionBackground: rgba(51, 153, 255, .2);--vscode-peekViewResult-selectionForeground: #ffffff;--vscode-peekViewEditor-background: #001f33;--vscode-peekViewEditorGutter-background: #001f33;--vscode-peekViewResult-matchHighlightBackground: rgba(234, 92, 0, .3);--vscode-peekViewEditor-matchHighlightBackground: rgba(255, 143, 0, .6);--vscode-editorMarkerNavigationError-background: #f14c4c;--vscode-editorMarkerNavigationError-headerBackground: rgba(241, 76, 76, .1);--vscode-editorMarkerNavigationWarning-background: #cca700;--vscode-editorMarkerNavigationWarning-headerBackground: rgba(204, 167, 0, .1);--vscode-editorMarkerNavigationInfo-background: #3794ff;--vscode-editorMarkerNavigationInfo-headerBackground: rgba(55, 148, 255, .1);--vscode-editorMarkerNavigation-background: #1e1e1e;--vscode-editorSuggestWidget-background: #252526;--vscode-editorSuggestWidget-border: #454545;--vscode-editorSuggestWidget-foreground: #d4d4d4;--vscode-editorSuggestWidget-selectedForeground: #ffffff;--vscode-editorSuggestWidget-selectedIconForeground: #ffffff;--vscode-editorSuggestWidget-selectedBackground: #04395e;--vscode-editorSuggestWidget-highlightForeground: #2aaaff;--vscode-editorSuggestWidget-focusHighlightForeground: #2aaaff;--vscode-editorSuggestWidgetStatus-foreground: rgba(212, 212, 212, .5);--vscode-tab-activeBackground: #1e1e1e;--vscode-tab-unfocusedActiveBackground: #1e1e1e;--vscode-tab-inactiveBackground: #2d2d2d;--vscode-tab-unfocusedInactiveBackground: #2d2d2d;--vscode-tab-activeForeground: #ffffff;--vscode-tab-inactiveForeground: rgba(255, 255, 255, .5);--vscode-tab-unfocusedActiveForeground: rgba(255, 255, 255, .5);--vscode-tab-unfocusedInactiveForeground: rgba(255, 255, 255, .25);--vscode-tab-border: #252526;--vscode-tab-lastPinnedBorder: rgba(204, 204, 204, .2);--vscode-tab-activeModifiedBorder: #3399cc;--vscode-tab-inactiveModifiedBorder: rgba(51, 153, 204, .5);--vscode-tab-unfocusedActiveModifiedBorder: rgba(51, 153, 204, .5);--vscode-tab-unfocusedInactiveModifiedBorder: rgba(51, 153, 204, .25);--vscode-editorPane-background: #1e1e1e;--vscode-editorGroupHeader-tabsBackground: #252526;--vscode-editorGroupHeader-noTabsBackground: #1e1e1e;--vscode-editorGroup-border: #444444;--vscode-editorGroup-dropBackground: rgba(83, 89, 93, .5);--vscode-editorGroup-dropIntoPromptForeground: #cccccc;--vscode-editorGroup-dropIntoPromptBackground: #252526;--vscode-sideBySideEditor-horizontalBorder: #444444;--vscode-sideBySideEditor-verticalBorder: #444444;--vscode-panel-background: #1e1e1e;--vscode-panel-border: rgba(128, 128, 128, .35);--vscode-panelTitle-activeForeground: #e7e7e7;--vscode-panelTitle-inactiveForeground: rgba(231, 231, 231, .6);--vscode-panelTitle-activeBorder: #e7e7e7;--vscode-panel-dropBorder: #e7e7e7;--vscode-panelSection-dropBackground: rgba(83, 89, 93, .5);--vscode-panelSectionHeader-background: rgba(128, 128, 128, .2);--vscode-panelSection-border: rgba(128, 128, 128, .35);--vscode-banner-background: #04395e;--vscode-banner-foreground: #ffffff;--vscode-banner-iconForeground: #3794ff;--vscode-statusBar-foreground: #ffffff;--vscode-statusBar-noFolderForeground: #ffffff;--vscode-statusBar-background: #007acc;--vscode-statusBar-noFolderBackground: #68217a;--vscode-statusBar-focusBorder: #ffffff;--vscode-statusBarItem-activeBackground: rgba(255, 255, 255, .18);--vscode-statusBarItem-focusBorder: #ffffff;--vscode-statusBarItem-hoverBackground: rgba(255, 255, 255, .12);--vscode-statusBarItem-compactHoverBackground: rgba(255, 255, 255, .2);--vscode-statusBarItem-prominentForeground: #ffffff;--vscode-statusBarItem-prominentBackground: rgba(0, 0, 0, .5);--vscode-statusBarItem-prominentHoverBackground: rgba(0, 0, 0, .3);--vscode-statusBarItem-errorBackground: #c72e0f;--vscode-statusBarItem-errorForeground: #ffffff;--vscode-statusBarItem-warningBackground: #7a6400;--vscode-statusBarItem-warningForeground: #ffffff;--vscode-activityBar-background: #333333;--vscode-activityBar-foreground: #ffffff;--vscode-activityBar-inactiveForeground: rgba(255, 255, 255, .4);--vscode-activityBar-activeBorder: #ffffff;--vscode-activityBar-dropBorder: #ffffff;--vscode-activityBarBadge-background: #007acc;--vscode-activityBarBadge-foreground: #ffffff;--vscode-statusBarItem-remoteBackground: #16825d;--vscode-statusBarItem-remoteForeground: #ffffff;--vscode-extensionBadge-remoteBackground: #007acc;--vscode-extensionBadge-remoteForeground: #ffffff;--vscode-sideBar-background: #252526;--vscode-sideBarTitle-foreground: #bbbbbb;--vscode-sideBar-dropBackground: rgba(83, 89, 93, .5);--vscode-sideBarSectionHeader-background: rgba(0, 0, 0, 0);--vscode-sideBarSectionHeader-border: rgba(204, 204, 204, .2);--vscode-titleBar-activeForeground: #cccccc;--vscode-titleBar-inactiveForeground: rgba(204, 204, 204, .6);--vscode-titleBar-activeBackground: #3c3c3c;--vscode-titleBar-inactiveBackground: rgba(60, 60, 60, .6);--vscode-menubar-selectionForeground: #cccccc;--vscode-menubar-selectionBackground: rgba(90, 93, 94, .31);--vscode-notifications-foreground: #cccccc;--vscode-notifications-background: #252526;--vscode-notificationLink-foreground: #3794ff;--vscode-notificationCenterHeader-background: #303031;--vscode-notifications-border: #303031;--vscode-notificationsErrorIcon-foreground: #f14c4c;--vscode-notificationsWarningIcon-foreground: #cca700;--vscode-notificationsInfoIcon-foreground: #3794ff;--vscode-commandCenter-foreground: #cccccc;--vscode-commandCenter-activeForeground: #cccccc;--vscode-commandCenter-activeBackground: rgba(90, 93, 94, .31);--vscode-commandCenter-border: rgba(128, 128, 128, .35);--vscode-editorCommentsWidget-resolvedBorder: rgba(204, 204, 204, .5);--vscode-editorCommentsWidget-unresolvedBorder: #3794ff;--vscode-editorCommentsWidget-rangeBackground: rgba(55, 148, 255, .1);--vscode-editorCommentsWidget-rangeBorder: rgba(55, 148, 255, .4);--vscode-editorCommentsWidget-rangeActiveBackground: rgba(55, 148, 255, .1);--vscode-editorCommentsWidget-rangeActiveBorder: rgba(55, 148, 255, .4);--vscode-editorGutter-commentRangeForeground: #37373d;--vscode-debugToolBar-background: #333333;--vscode-debugIcon-startForeground: #89d185;--vscode-editor-stackFrameHighlightBackground: rgba(255, 255, 0, .2);--vscode-editor-focusedStackFrameHighlightBackground: rgba(122, 189, 122, .3);--vscode-mergeEditor-change\.background: rgba(155, 185, 85, .2);--vscode-mergeEditor-change\.word\.background: rgba(156, 204, 44, .2);--vscode-mergeEditor-conflict\.unhandledUnfocused\.border: rgba(255, 166, 0, .48);--vscode-mergeEditor-conflict\.unhandledFocused\.border: #ffa600;--vscode-mergeEditor-conflict\.handledUnfocused\.border: rgba(134, 134, 134, .29);--vscode-mergeEditor-conflict\.handledFocused\.border: rgba(193, 193, 193, .8);--vscode-mergeEditor-conflict\.handled\.minimapOverViewRuler: rgba(173, 172, 168, .93);--vscode-mergeEditor-conflict\.unhandled\.minimapOverViewRuler: #fcba03;--vscode-mergeEditor-conflictingLines\.background: rgba(255, 234, 0, .28);--vscode-settings-headerForeground: #e7e7e7;--vscode-settings-modifiedItemIndicator: #0c7d9d;--vscode-settings-headerBorder: rgba(128, 128, 128, .35);--vscode-settings-sashBorder: rgba(128, 128, 128, .35);--vscode-settings-dropdownBackground: #3c3c3c;--vscode-settings-dropdownForeground: #f0f0f0;--vscode-settings-dropdownBorder: #3c3c3c;--vscode-settings-dropdownListBorder: #454545;--vscode-settings-checkboxBackground: #3c3c3c;--vscode-settings-checkboxForeground: #f0f0f0;--vscode-settings-checkboxBorder: #3c3c3c;--vscode-settings-textInputBackground: #3c3c3c;--vscode-settings-textInputForeground: #cccccc;--vscode-settings-numberInputBackground: #3c3c3c;--vscode-settings-numberInputForeground: #cccccc;--vscode-settings-focusedRowBackground: rgba(42, 45, 46, .6);--vscode-settings-rowHoverBackground: rgba(42, 45, 46, .3);--vscode-settings-focusedRowBorder: rgba(255, 255, 255, .12);--vscode-terminal-foreground: #cccccc;--vscode-terminal-selectionBackground: #264f78;--vscode-terminal-inactiveSelectionBackground: #3a3d41;--vscode-terminalCommandDecoration-defaultBackground: rgba(255, 255, 255, .25);--vscode-terminalCommandDecoration-successBackground: #1b81a8;--vscode-terminalCommandDecoration-errorBackground: #f14c4c;--vscode-terminalOverviewRuler-cursorForeground: rgba(160, 160, 160, .8);--vscode-terminal-border: rgba(128, 128, 128, .35);--vscode-terminal-findMatchBackground: #515c6a;--vscode-terminal-findMatchHighlightBackground: rgba(234, 92, 0, .33);--vscode-terminalOverviewRuler-findMatchForeground: rgba(209, 134, 22, .49);--vscode-terminal-dropBackground: rgba(83, 89, 93, .5);--vscode-testing-iconFailed: #f14c4c;--vscode-testing-iconErrored: #f14c4c;--vscode-testing-iconPassed: #73c991;--vscode-testing-runAction: #73c991;--vscode-testing-iconQueued: #cca700;--vscode-testing-iconUnset: #848484;--vscode-testing-iconSkipped: #848484;--vscode-testing-peekBorder: #f14c4c;--vscode-testing-peekHeaderBackground: rgba(241, 76, 76, .1);--vscode-testing-message\.error\.decorationForeground: #f14c4c;--vscode-testing-message\.error\.lineBackground: rgba(255, 0, 0, .2);--vscode-testing-message\.info\.decorationForeground: rgba(212, 212, 212, .5);--vscode-welcomePage-tileBackground: #252526;--vscode-welcomePage-tileHoverBackground: #2c2c2d;--vscode-welcomePage-tileShadow: rgba(0, 0, 0, .36);--vscode-welcomePage-progress\.background: #3c3c3c;--vscode-welcomePage-progress\.foreground: #3794ff;--vscode-debugExceptionWidget-border: #a31515;--vscode-debugExceptionWidget-background: #420b0d;--vscode-ports-iconRunningProcessForeground: #369432;--vscode-statusBar-debuggingBackground: #cc6633;--vscode-statusBar-debuggingForeground: #ffffff;--vscode-editor-inlineValuesForeground: rgba(255, 255, 255, .5);--vscode-editor-inlineValuesBackground: rgba(255, 200, 0, .2);--vscode-editorGutter-modifiedBackground: #1b81a8;--vscode-editorGutter-addedBackground: #487e02;--vscode-editorGutter-deletedBackground: #f14c4c;--vscode-minimapGutter-modifiedBackground: #1b81a8;--vscode-minimapGutter-addedBackground: #487e02;--vscode-minimapGutter-deletedBackground: #f14c4c;--vscode-editorOverviewRuler-modifiedForeground: rgba(27, 129, 168, .6);--vscode-editorOverviewRuler-addedForeground: rgba(72, 126, 2, .6);--vscode-editorOverviewRuler-deletedForeground: rgba(241, 76, 76, .6);--vscode-debugIcon-breakpointForeground: #e51400;--vscode-debugIcon-breakpointDisabledForeground: #848484;--vscode-debugIcon-breakpointUnverifiedForeground: #848484;--vscode-debugIcon-breakpointCurrentStackframeForeground: #ffcc00;--vscode-debugIcon-breakpointStackframeForeground: #89d185;--vscode-notebook-cellBorderColor: #37373d;--vscode-notebook-focusedEditorBorder: #007fd4;--vscode-notebookStatusSuccessIcon-foreground: #89d185;--vscode-notebookStatusErrorIcon-foreground: #f48771;--vscode-notebookStatusRunningIcon-foreground: #cccccc;--vscode-notebook-cellToolbarSeparator: rgba(128, 128, 128, .35);--vscode-notebook-selectedCellBackground: #37373d;--vscode-notebook-selectedCellBorder: #37373d;--vscode-notebook-focusedCellBorder: #007fd4;--vscode-notebook-inactiveFocusedCellBorder: #37373d;--vscode-notebook-cellStatusBarItemHoverBackground: rgba(255, 255, 255, .15);--vscode-notebook-cellInsertionIndicator: #007fd4;--vscode-notebookScrollbarSlider-background: rgba(121, 121, 121, .4);--vscode-notebookScrollbarSlider-hoverBackground: rgba(100, 100, 100, .7);--vscode-notebookScrollbarSlider-activeBackground: rgba(191, 191, 191, .4);--vscode-notebook-symbolHighlightBackground: rgba(255, 255, 255, .04);--vscode-notebook-cellEditorBackground: #252526;--vscode-notebook-editorBackground: #1e1e1e;--vscode-keybindingTable-headerBackground: rgba(204, 204, 204, .04);--vscode-keybindingTable-rowsBackground: rgba(204, 204, 204, .04);--vscode-scm-providerBorder: #454545;--vscode-debugTokenExpression-name: #c586c0;--vscode-debugTokenExpression-value: rgba(204, 204, 204, .6);--vscode-debugTokenExpression-string: #ce9178;--vscode-debugTokenExpression-boolean: #4e94ce;--vscode-debugTokenExpression-number: #b5cea8;--vscode-debugTokenExpression-error: #f48771;--vscode-debugView-exceptionLabelForeground: #cccccc;--vscode-debugView-exceptionLabelBackground: #6c2022;--vscode-debugView-stateLabelForeground: #cccccc;--vscode-debugView-stateLabelBackground: rgba(136, 136, 136, .27);--vscode-debugView-valueChangedHighlight: #569cd6;--vscode-debugConsole-infoForeground: #3794ff;--vscode-debugConsole-warningForeground: #cca700;--vscode-debugConsole-errorForeground: #f48771;--vscode-debugConsole-sourceForeground: #cccccc;--vscode-debugConsoleInputIcon-foreground: #cccccc;--vscode-debugIcon-pauseForeground: #75beff;--vscode-debugIcon-stopForeground: #f48771;--vscode-debugIcon-disconnectForeground: #f48771;--vscode-debugIcon-restartForeground: #89d185;--vscode-debugIcon-stepOverForeground: #75beff;--vscode-debugIcon-stepIntoForeground: #75beff;--vscode-debugIcon-stepOutForeground: #75beff;--vscode-debugIcon-continueForeground: #75beff;--vscode-debugIcon-stepBackForeground: #75beff;--vscode-extensionButton-prominentBackground: #0e639c;--vscode-extensionButton-prominentForeground: #ffffff;--vscode-extensionButton-prominentHoverBackground: #1177bb;--vscode-extensionIcon-starForeground: #ff8e00;--vscode-extensionIcon-verifiedForeground: #3794ff;--vscode-extensionIcon-preReleaseForeground: #1d9271;--vscode-extensionIcon-sponsorForeground: #d758b3;--vscode-terminal-ansiBlack: #000000;--vscode-terminal-ansiRed: #cd3131;--vscode-terminal-ansiGreen: #0dbc79;--vscode-terminal-ansiYellow: #e5e510;--vscode-terminal-ansiBlue: #2472c8;--vscode-terminal-ansiMagenta: #bc3fbc;--vscode-terminal-ansiCyan: #11a8cd;--vscode-terminal-ansiWhite: #e5e5e5;--vscode-terminal-ansiBrightBlack: #666666;--vscode-terminal-ansiBrightRed: #f14c4c;--vscode-terminal-ansiBrightGreen: #23d18b;--vscode-terminal-ansiBrightYellow: #f5f543;--vscode-terminal-ansiBrightBlue: #3b8eea;--vscode-terminal-ansiBrightMagenta: #d670d6;--vscode-terminal-ansiBrightCyan: #29b8db;--vscode-terminal-ansiBrightWhite: #e5e5e5;--vscode-interactive-activeCodeBorder: #3794ff;--vscode-interactive-inactiveCodeBorder: #37373d;--vscode-gitDecoration-addedResourceForeground: #81b88b;--vscode-gitDecoration-modifiedResourceForeground: #e2c08d;--vscode-gitDecoration-deletedResourceForeground: #c74e39;--vscode-gitDecoration-renamedResourceForeground: #73c991;--vscode-gitDecoration-untrackedResourceForeground: #73c991;--vscode-gitDecoration-ignoredResourceForeground: #8c8c8c;--vscode-gitDecoration-stageModifiedResourceForeground: #e2c08d;--vscode-gitDecoration-stageDeletedResourceForeground: #c74e39;--vscode-gitDecoration-conflictingResourceForeground: #e4676b;--vscode-gitDecoration-submoduleResourceForeground: #8db9e2}.cm-wrapper{line-height:18px}.cm-wrapper,.cm-wrapper>div{width:100%;height:100%}.CodeMirror span.cm-meta{color:var(--vscode-editor-foreground)}.CodeMirror span.cm-number{color:var(--vscode-debugTokenExpression-number)}.CodeMirror span.cm-keyword,.CodeMirror span.cm-builtin{color:var(--vscode-debugTokenExpression-name)}.CodeMirror span.cm-operator{color:var(--vscode-editor-foreground)}.CodeMirror span.cm-string,.CodeMirror span.cm-string-2{color:var(--vscode-debugTokenExpression-string)}.CodeMirror span.cm-error{color:var(--vscode-errorForeground)}.CodeMirror span.cm-def,.CodeMirror span.cm-tag{color:#0070c1}.CodeMirror span.cm-comment,.CodeMirror span.cm-link{color:green}.CodeMirror span.cm-variable,.CodeMirror span.cm-variable-2,.CodeMirror span.cm-atom{color:#0070c1}.CodeMirror span.cm-property{color:#795e26}.CodeMirror span.cm-qualifier,.CodeMirror span.cm-attribute{color:#001080}.CodeMirror span.cm-variable-3,.CodeMirror span.cm-type{color:#267f99}:root.dark-mode .CodeMirror span.cm-def,:root.dark-mode .CodeMirror span.cm-tag{color:var(--vscode-debugView-valueChangedHighlight)}:root.dark-mode .CodeMirror span.cm-comment,:root.dark-mode .CodeMirror span.cm-link{color:#6a9955}:root.dark-mode .CodeMirror span.cm-variable,:root.dark-mode .CodeMirror span.cm-variable-2,:root.dark-mode .CodeMirror span.cm-atom{color:#4fc1ff}:root.dark-mode .CodeMirror span.cm-property{color:#dcdcaa}:root.dark-mode .CodeMirror span.cm-qualifier,:root.dark-mode .CodeMirror span.cm-attribute{color:#9cdcfe}:root.dark-mode .CodeMirror span.cm-variable-3,:root.dark-mode .CodeMirror span.cm-type{color:#4ec9b0}.CodeMirror span.cm-bracket{color:var(--vscode-editorBracketHighlight-foreground3)}.CodeMirror-cursor{border-left:1px solid var(--vscode-editor-foreground)!important}.CodeMirror div.CodeMirror-selected{background:var(--vscode-terminal-inactiveSelectionBackground)}.CodeMirror .CodeMirror-gutters{z-index:0;background:1px solid var(--vscode-editorGroup-border);border-right:none}.CodeMirror .CodeMirror-gutter-elt{background-color:var(--vscode-editorGutter-background)}.CodeMirror .CodeMirror-gutterwrapper{border-right:1px solid var(--vscode-editorGroup-border);color:var(--vscode-editorLineNumber-foreground)}.CodeMirror .CodeMirror-matchingbracket{background-color:var(--vscode-editorBracketPairGuide-background1);color:var(--vscode-editorBracketHighlight-foreground1)!important}.CodeMirror{font-family:var(--vscode-editor-font-family)!important;color:var(--vscode-editor-foreground)!important;background-color:var(--vscode-editor-background)!important;font-weight:var(--vscode-editor-font-weight)!important;font-size:var(--vscode-editor-font-size)!important}.CodeMirror .source-line-running{background-color:var(--vscode-editor-selectionBackground);z-index:2}.CodeMirror .source-line-paused{background-color:var(--vscode-editor-selectionHighlightBackground);z-index:2}.CodeMirror .source-line-error-widget{background-color:var(--vscode-inputValidation-errorBackground);white-space:pre-wrap;margin:3px 10px;padding:5px}.CodeMirror span.cm-link,span.cm-linkified{color:var(--vscode-textLink-foreground);text-decoration:underline;cursor:pointer}.CodeMirror .source-line-error-underline{text-decoration:underline;text-decoration-color:var(--vscode-errorForeground);text-decoration-style:wavy}.CodeMirror-placeholder{color:var(--vscode-input-placeholderForeground)!important}.CodeMirror-dialog-top{padding-top:8px!important}.expandable{flex:none;flex-direction:column;line-height:28px}.expandable-title{flex:none;display:flex;flex-direction:row;align-items:center;white-space:nowrap;-webkit-user-select:none;user-select:none;cursor:pointer}.expandable-content{margin-left:25px}.console-tab{display:flex;flex:auto;white-space:pre}.console-line{width:100%;-webkit-user-select:text;user-select:text}.console-line .codicon{padding:0 2px 0 3px;position:relative;flex:none;top:3px}.console-line.warning .codicon{color:#ff8c00}.console-line-message{word-break:break-word;white-space:pre-wrap;position:relative}.console-location{padding-right:3px;float:right;color:var(--vscode-editorCodeLens-foreground);-webkit-user-select:none;user-select:none}.console-time{float:left;min-width:50px;color:var(--vscode-editorCodeLens-foreground);-webkit-user-select:none;user-select:none}.console-stack{white-space:pre-wrap;margin-left:50px}.console-line .codicon.status-none:after,.console-line .codicon.status-error:after,.console-line .codicon.status-warning:after{display:inline-block;content:"a";color:transparent;border-radius:4px;width:8px;height:8px;position:relative;top:8px;left:-7px}.console-line .codicon.status-error:after{background-color:var(--vscode-errorForeground)}.console-line .codicon.status-warning:after{background-color:var(--vscode-list-warningForeground)}.console-repeat{display:inline-block;padding:0 2px;font-size:12px;line-height:18px;border-radius:6px;background-color:#8c959f;color:#fff;margin-right:10px;flex:none;font-weight:600}.network-request-status-route{color:var(--vscode-statusBar-foreground);background-color:var(--vscode-statusBar-background)}.network-request-status-route.api{color:var(--vscode-statusBar-foreground);background-color:var(--vscode-statusBarItem-remoteBackground)}.network-grid-view .grid-view-column-method,.network-grid-view .grid-view-column-status{text-align:center}.network-grid-view .grid-view-column-duration,.network-grid-view .grid-view-column-size,.network-grid-view .grid-view-column-start{text-align:end}.network-request-details-tab{-webkit-user-select:text;user-select:text;overflow:auto}.network-response-toolbar{border-top:1px solid var(--vscode-panel-border);border-bottom:none!important}.network-request-details-tab>*{flex:none}.network-request-no-payload{margin-left:14px}.network-request-details-tab .expandable-title{padding-left:3px;background-color:var(--vscode-sideBar-background)}.network-request-details-tab .expandable-content{margin-left:0;padding-left:28px;line-height:24px}.network-request-details-header{margin:3px 0 3px 14px;font-weight:700}.network-request-details-header-count{color:var(--vscode-editorCodeLens-foreground);font-weight:400}.network-request-details-table{width:100%;line-height:18px;padding:8px 0 8px 8px;white-space:pre-wrap}.network-request-details-table td:first-of-type{width:30%;min-width:160px;vertical-align:top}.network-request-details-table td:nth-of-type(2){word-break:break-all;vertical-align:center}.network-request-details-tab .cm-wrapper{overflow:hidden}.network-response-body{flex:1}.network-request-request-body{max-height:100%}.network-request-request-body .expandable-content{height:100%}.network-font-preview{font-family:font-preview;font-size:30px;line-height:40px;padding:16px 16px 16px 6px;overflow:hidden;text-overflow:ellipsis;text-align:center}.network-font-preview-error{margin-top:8px;text-align:center}.tab-network .toolbar{min-height:30px!important;background-color:initial!important;border-bottom:1px solid var(--vscode-panel-border)}.tab-network .toolbar:after{box-shadow:none!important}.tab-network .tabbed-pane-tab.selected{font-weight:700}.copy-request-dropdown .copy-request-dropdown-toggle{margin-right:14px;width:135px}.copy-request-dropdown:not(:hover) .copy-request-dropdown-menu{display:none}.copy-request-dropdown .copy-request-dropdown-menu{position:absolute;display:flex;flex-direction:column;width:135px;z-index:10;background-color:var(--vscode-list-dropBackground)}.copy-request-dropdown .copy-request-dropdown-menu button{padding:8px;text-align:left}.green-circle:before,.red-circle:before,.yellow-circle:before{content:"";display:inline-block;width:12px;height:12px;border-radius:6px;margin-right:2px;align-self:center}.green-circle:before{background-color:var(--vscode-charts-green)}.red-circle:before{background-color:var(--vscode-charts-red)}.yellow-circle:before{background-color:var(--vscode-charts-yellow)}.tabbed-pane{display:flex;flex:auto;overflow:hidden}.tabbed-pane .toolbar{background-color:var(--vscode-sideBar-background)}.tabbed-pane .tab-content{display:flex;flex:auto;overflow:hidden;position:relative;flex-direction:column}.tabbed-pane-tab{padding:2px 6px 0;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;border-bottom:2px solid transparent;outline:none;height:100%}.tabbed-pane-tab-label{max-width:250px;white-space:pre;overflow:hidden;text-overflow:ellipsis;display:inline-block}.tabbed-pane-tab.selected{background-color:var(--vscode-tab-activeBackground)}.tabbed-pane-tab-counter{padding:0 4px;background:var(--vscode-menu-separatorBackground);border-radius:8px;height:16px;margin-left:4px;line-height:16px;min-width:18px;display:flex;align-items:center;justify-content:center}.tabbed-pane-tab-counter.error{background:var(--vscode-list-errorForeground);color:var(--vscode-button-foreground)}.toolbar{position:relative;display:flex;color:var(--vscode-sideBarTitle-foreground);min-height:30px;align-items:center;flex:none;padding-right:4px}.toolbar.toolbar-sidebar-background{background-color:var(--vscode-sideBar-background)}.toolbar:not(.no-shadow):after{content:"";display:block;position:absolute;pointer-events:none;top:0;bottom:0;left:-2px;right:-2px;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px;z-index:100}.toolbar.no-min-height{min-height:0}.toolbar input{padding:0 5px;line-height:24px;outline:none;margin:0 4px}.toolbar select{background:none;outline:none;padding:3px;margin:2px}.toolbar option{background-color:var(--vscode-tab-activeBackground)}.toolbar input,.toolbar select{border:none;color:var(--vscode-input-foreground);background-color:var(--vscode-input-background)}.grid-view{display:flex;position:relative;flex:auto}.grid-view .list-view-entry{padding-left:0}.grid-view-cell{overflow:hidden;text-overflow:ellipsis;padding:0 5px;flex:none}.grid-view-header{-webkit-user-select:none;user-select:none;display:flex;flex:0 0 30px;align-items:center;flex-direction:row;border-bottom:1px solid var(--vscode-panel-border)}.grid-view-header .codicon-triangle-up,.grid-view-header .codicon-triangle-down{display:none}.grid-view-header>.filter-positive .codicon-triangle-down{display:initial!important}.grid-view-header>.filter-negative .codicon-triangle-up{display:initial!important}.grid-view-header-cell{flex:none;align-items:center;overflow:hidden;text-overflow:ellipsis;padding-left:10px;cursor:pointer;display:flex;white-space:nowrap}.grid-view-header-cell-title{overflow:hidden;text-overflow:ellipsis;flex:auto}.network-filters{display:flex;gap:16px;background-color:var(--vscode-sideBar-background);padding:4px 8px;min-height:32px}.network-filters input[type=search]{padding:0 5px}.network-filters-resource-types{display:flex;gap:8px;align-items:center}.network-filters-resource-type{cursor:pointer;border-radius:2px;padding:3px 8px;text-align:center;overflow:hidden;text-overflow:ellipsis}.network-filters-resource-type.selected{background-color:var(--vscode-list-inactiveSelectionBackground)}.snapshot-tab{align-items:stretch;outline:none;overflow:hidden}.snapshot-tab .toolbar{background-color:var(--vscode-sideBar-background)}.snapshot-tab .toolbar .pick-locator{margin:0 4px}.snapshot-controls{flex:none;background-color:var(--vscode-sideBar-background);color:var(--vscode-sideBarTitle-foreground);display:flex;box-shadow:var(--box-shadow);height:32px;align-items:center;justify-content:center}.snapshot-toggle{margin-top:4px;padding:4px 8px;cursor:pointer;border-radius:20px;margin-left:4px;width:60px;display:flex;align-items:center;justify-content:center}.snapshot-toggle:hover{background-color:#ededed}.snapshot-toggle.toggled{background:var(--gray);color:#fff}.snapshot-tab:focus .snapshot-toggle.toggled{background:var(--vscode-charts-blue)}.snapshot-wrapper{flex:auto;margin:1px;padding:10px;position:relative;--browser-frame-header-height: 40px}.snapshot-container{display:block;box-shadow:0 12px 28px #0003,0 2px 4px #0000001a}.snapshot-browser-body{height:calc(100% - var(--browser-frame-header-height));background:conic-gradient(#eee 25%,#ddd 0,#ddd 50%,#eee 0,#eee 75%,#ddd 0) 0 0 / 40px 40px}.snapshot-switcher{width:100%;height:100%;position:relative}iframe[name=snapshot]{position:absolute;top:0;left:0;width:100%;height:100%;border:none;background:light-dark(white,#333);visibility:hidden}iframe.snapshot-visible[name=snapshot]{visibility:visible}.no-snapshot{text-align:center;padding:50px}.snapshot-tab .cm-wrapper{line-height:23px;margin-right:4px}.browser-frame-dot{border-radius:50%;display:inline-block;height:12px;width:12px}.browser-frame-address-bar{background-color:var(--vscode-input-background);border-radius:12.5px;color:var(--vscode-input-foreground);flex:1 0;font:400 16px Arial,sans-serif;margin:0 16px 0 8px;padding:5px 15px;display:flex;align-items:center;height:28px}.browser-frame-address{flex:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.browser-frame-menu-bar{background-color:#aaa;display:block;height:3px;margin:3px 0;width:17px}.browser-frame-header{align-items:center;background:#ebedf0;display:flex;padding:8px 16px;border-top-left-radius:6px;border-top-right-radius:6px;height:var(--browser-frame-header-height)}:root.dark-mode .browser-frame-header{background:#444950}.browser-traffic-lights{display:grid;white-space:nowrap;grid-template-columns:auto auto auto;column-gap:6px;margin-right:8px}.playback-scrubber{position:relative;height:16px;cursor:pointer;-webkit-user-select:none;user-select:none;flex:none;outline:none}.playback-scrubber:focus-visible .playback-thumb{box-shadow:0 0 0 2px var(--vscode-focusBorder)}.playback-track{position:absolute;top:7px;left:0;right:0;height:2px;background-color:var(--vscode-panel-border);border-radius:1px}.playback-track-filled{position:absolute;top:7px;left:0;height:2px;background-color:var(--vscode-focusBorder);border-radius:1px}.playback-track-filled.animated{transition:width .15s ease-out}.playback-tick{position:absolute;top:4px;width:1px;height:8px;background-color:var(--vscode-foreground)}.playback-thumb{position:absolute;top:3px;width:10px;height:10px;margin-left:-5px;border-radius:50%;background-color:var(--vscode-focusBorder);z-index:1}.playback-thumb.animated{transition:left .15s ease-out}.playback-speed{background:none;border:none;color:inherit;font-size:12px;cursor:pointer;padding:2px 6px;min-width:36px;text-align:center;-webkit-user-select:none;user-select:none;border-radius:3px}.playback-speed:hover{background-color:var(--vscode-toolbar-hoverBackground)}.source-tab{flex:auto;position:relative;overflow:hidden;display:flex;flex-direction:row}.source-tab-file-name{padding-left:8px;height:100%;display:flex;align-items:center;flex:1 1 auto}.source-tab-file-name div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stack-trace-frame-function{flex:1 1 100px;overflow:hidden;text-overflow:ellipsis}.stack-trace-frame-location{flex:1 1 100px;overflow:hidden;text-overflow:ellipsis;text-align:end}.stack-trace-frame-line{flex:none}.film-strip{flex:none;display:flex;flex-direction:column;position:relative}.film-strip-lanes{flex:none;display:flex;flex-direction:column;position:relative;min-height:50px;max-height:200px;overflow-x:hidden;overflow-y:auto}.film-strip-lane{flex:none;display:flex}.film-strip-frame{flex:none;pointer-events:none;box-shadow:var(--box-shadow)}.film-strip-hover{position:absolute;top:0;left:0;background-color:var(--vscode-panel-background);box-shadow:#0002 0 1.6px 10px,#0000001c 0 .3px 10px;z-index:200;pointer-events:none}.film-strip-hover-title{padding:2px 4px;display:flex;align-items:center;overflow:hidden;line-height:28px}.timeline-view-container{flex:none;border-bottom:1px solid var(--vscode-panel-border)}.timeline-view{flex:none;position:relative;display:flex;flex-direction:column;padding-top:16px;cursor:text;-webkit-user-select:none;user-select:none;margin-left:10px}.timeline-divider{position:absolute;width:1px;top:0;bottom:0;background-color:var(--vscode-panel-border)}.timeline-time{position:absolute;top:4px;right:3px;font-size:80%;white-space:nowrap;pointer-events:none}.timeline-time-input{cursor:pointer}.timeline-grid{position:absolute;top:0;right:0;bottom:0;left:0}.timeline-window{display:flex;position:absolute;top:0;bottom:20px;left:0;right:0;pointer-events:none}.timeline-window-center{flex:auto}.timeline-window-drag{height:20px;cursor:grab;pointer-events:all}.timeline-window-curtain{flex:none;background-color:#3879d91a}:root.dark-mode .timeline-window-curtain{background-color:#161718bf}.timeline-window-resizer{flex:none;width:10px;cursor:ew-resize;pointer-events:all;position:relative;background-color:var(--vscode-panel-border);border-left:1px solid var(--vscode-panel-border);border-right:1px solid var(--vscode-panel-border)}.annotations-tab{flex:auto;line-height:24px;white-space:pre;overflow:auto;-webkit-user-select:text;user-select:text}.annotation-item{margin:4px 8px;text-wrap:wrap}.workbench-run-status{height:30px;padding:4px 4px 4px 5px;flex:none;display:flex;flex-direction:row;align-items:center;border-bottom:1px solid var(--vscode-panel-border)}.workbench-run-status.failed{color:var(--vscode-errorForeground)}.workbench-run-status .codicon{margin-right:4px}.workbench-run-duration{display:flex;flex:none;align-items:center;color:var(--vscode-editorCodeLens-foreground)}.workbench-actions-hidden-count{padding-right:4px;-webkit-user-select:none;user-select:none;color:var(--vscode-editorCodeLens-foreground)}.workbench-action-filter{margin-top:3px;border-bottom:1px solid var(--vscode-panel-border);flex:none}.workbench-action-filter input[type=search]{width:100%;padding:4px 8px;line-height:20px}.settings-view{display:flex;flex:none;padding:4px 0;row-gap:8px;-webkit-user-select:none;user-select:none}.settings-view .setting{display:flex;align-items:center}.settings-view .setting label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;cursor:pointer}.settings-view .setting input{margin-right:5px;flex-shrink:0}.settings-view .setting-select{display:grid;grid-template-rows:auto auto;row-gap:8px;margin:0 16px 0 22px;line-height:initial}.settings-view .setting-select:not(:first-child){margin-top:4px}.settings-view .setting-counter{padding:0 4px;background:var(--vscode-menu-separatorBackground);border-radius:9px;height:18px;margin-left:4px;line-height:18px;min-width:18px;display:inline-flex;align-items:center;justify-content:center}
node_modules/playwright-core/lib/vite/traceViewer/index.BCnMPevh.js deleted
-2
@@ -1,2 +0,0 @@
1 -import"./assets/urlMatch-BYQrIQwR.js";import{T as x,r,a as C,W as F,j as e,D as z,b as I,c as P,d as A,e as O,f as V}from"./assets/defaultSettingsView-D31xz8zv.js";const $=()=>{const[o,c]=r.useState(!1),[n,l]=r.useState(),[h,u]=r.useState(),[p,b]=r.useState(N),[f,j]=r.useState({done:0,total:0}),[k,v]=r.useState(!1),[y,m]=r.useState(null),[T,R]=r.useState(null),[U,E]=r.useState(!1),g=r.useCallback(t=>{const s=new URL(window.location.href);if(!t.length)return;const i=t.item(0),a=URL.createObjectURL(i);s.searchParams.append("trace",a);const d=s.toString();window.history.pushState({},"",d),l(a),u(i.name),v(!1),m(null)},[]);r.useEffect(()=>{const t=async s=>{var a;if(!((a=s.clipboardData)!=null&&a.files.length))return;const i=["application/zip","application/x-zip-compressed"];for(const d of s.clipboardData.files)if(!i.includes(d.type))return;s.preventDefault(),g(s.clipboardData.files)};return document.addEventListener("paste",t),()=>document.removeEventListener("paste",t)}),r.useEffect(()=>{const t=s=>{if(s.origin!==window.location.origin)return;const{method:i,params:a}=s.data;if(i!=="load"||!((a==null?void 0:a.trace)instanceof Blob))return;const d=new File([a.trace],"trace.zip",{type:"application/zip"}),w=new DataTransfer;w.items.add(d),g(w.files)};return window.addEventListener("message",t),()=>window.removeEventListener("message",t)});const W=r.useCallback(t=>{t.preventDefault(),g(t.dataTransfer.files)},[g]),M=r.useCallback(t=>{t.preventDefault(),t.target.files&&g(t.target.files)},[g]);r.useEffect(()=>{const t=new URL(window.location.href).searchParams,s=t.get("trace");if(c(t.has("isServer")),s!=null&&s.startsWith("file:")){R(s||null);return}if(t.has("isServer")){const i=new URLSearchParams(window.location.search).get("ws"),a=new URL(`../${i}`,window.location.toString());a.protocol=window.location.protocol==="https:"?"wss:":"ws:";const d=new C(new F(a));d.onLoadTraceRequested(async w=>{l(w.traceUrl),v(!1),m(null)}),d.initialize({}).catch(()=>{})}else s&&!s.startsWith("blob:")&&l(s)},[]);const S=r.useCallback(async t=>{const s=new URLSearchParams;s.set("trace",t);const i=await fetch(`contexts?${s.toString()}`);if(!i.ok){const{error:w}=await i.json();return m(w),w}const a=await i.json(),d=new x(t,a);j({done:0,total:0}),m(null),b(d)},[]);r.useEffect(()=>{(async()=>{if(!n){b(N);return}const t=s=>{s.data.method==="progress"&&j(s.data.params)};try{navigator.serviceWorker.addEventListener("message",t),j({done:0,total:1});let s=await S(n);s!=null&&s.includes("please grant permission for Local Network Access")&&(await fetch(n,{method:"HEAD",headers:{"x-pw-serviceworker":"skip"}}),s=await S(n)),s&&(o||l(void 0))}finally{navigator.serviceWorker.removeEventListener("message",t)}})()},[o,n,h,S]);const D=f.done!==f.total&&f.total!==0&&!y;r.useEffect(()=>{if(D){const t=setTimeout(()=>{E(!0)},200);return()=>clearTimeout(t)}else E(!1)},[D]);const L=!!(!o&&!k&&!T&&(!n||y));return e.jsxs("div",{className:"vbox workbench-loader",onDragOver:t=>{t.preventDefault(),t.dataTransfer.types.includes("Files")&&v(!0)},children:[e.jsxs("div",{className:"hbox workbench-loader-header",...L?{inert:!0}:{},children:[e.jsx("div",{className:"logo",children:e.jsx("img",{src:"playwright-logo.svg",alt:"Playwright logo"})}),e.jsx("div",{className:"product",children:"Playwright"}),p.title&&e.jsx("div",{className:"title",children:p.title}),e.jsx("div",{className:"spacer"}),e.jsx(z,{icon:"settings-gear",title:"Settings",dialogDataTestId:"settings-toolbar-dialog",children:e.jsx(I,{location:"trace-viewer"})})]}),e.jsx(P,{model:p,inert:L}),T&&e.jsxs("div",{className:"drop-target",children:[e.jsx("div",{children:"Trace Viewer uses Service Workers to show traces. To view trace:"}),e.jsxs("div",{style:{paddingTop:20},children:[e.jsxs("div",{children:["1. Click ",e.jsx("a",{href:T,children:"here"})," to put your trace into the download shelf"]}),e.jsxs("div",{children:["2. Go to ",e.jsx("a",{href:"https://trace.playwright.dev",children:"trace.playwright.dev"})]}),e.jsx("div",{children:"3. Drop the trace from the download shelf into the page"})]})]}),e.jsx(A,{open:U,isModal:!0,className:"progress-dialog",children:e.jsxs("div",{className:"progress-content",children:[e.jsx("div",{className:"title",role:"heading","aria-level":1,children:"Loading Playwright Trace..."}),e.jsx("div",{className:"progress-wrapper",children:e.jsx("div",{className:"inner-progress",style:{width:f.total?100*f.done/f.total+"%":0}})})]})}),L&&e.jsxs("div",{className:"drop-target",children:[e.jsx("div",{className:"processing-error",role:"alert",children:y}),e.jsx("div",{className:"title",role:"heading","aria-level":1,children:"Drop Playwright Trace to load"}),e.jsx("div",{children:"or"}),e.jsx("button",{onClick:()=>{const t=document.createElement("input");t.type="file",t.click(),t.addEventListener("change",s=>M(s))},type:"button",children:"Select file"}),e.jsx("div",{className:"info",children:"Playwright Trace Viewer is a Progressive Web App, it does not send your trace anywhere, it opens it locally."}),e.jsxs("div",{className:"version",children:["Playwright v","1.60.0"]})]}),o&&!n&&e.jsx("div",{className:"drop-target",children:e.jsx("div",{className:"title",children:"Select test to see the trace"})}),k&&e.jsx("div",{className:"drop-target",onDragLeave:()=>{v(!1)},onDrop:t=>W(t),children:e.jsx("div",{className:"title",children:"Release to analyse the Playwright Trace"})})]})},N=new x("",[]),q=({traceJson:o})=>{const[c,n]=r.useState(void 0),[l,h]=r.useState(0),u=r.useRef(null);return r.useEffect(()=>(u.current&&clearTimeout(u.current),u.current=setTimeout(async()=>{try{const p=await B(o);n(p)}catch{const p=new x("",[]);n(p)}finally{h(l+1)}},500),()=>{u.current&&clearTimeout(u.current)}),[o,l]),e.jsx(P,{isLive:!0,model:c})};async function B(o){const c=new URLSearchParams;c.set("trace",o);const l=await(await fetch(`contexts?${c.toString()}`)).json();return new x(o,l)}(async()=>{const o=new URLSearchParams(window.location.search);if(O(),window.location.protocol!=="file:"){if(o.get("isUnderTest")==="true"&&await new Promise(h=>setTimeout(h,1e3)),!navigator.serviceWorker)throw new Error(`Service workers are not supported.
2 -Make sure to serve the Trace Viewer (${window.location}) via HTTPS or localhost.`);navigator.serviceWorker.register("sw.bundle.js"),navigator.serviceWorker.controller||await new Promise(h=>{navigator.serviceWorker.oncontrollerchange=()=>h()}),setInterval(function(){fetch("ping")},1e4)}const c=o.get("trace"),l=(c==null?void 0:c.endsWith(".json"))?e.jsx(q,{traceJson:c}):e.jsx($,{});V.createRoot(document.querySelector("#root")).render(l)})();
node_modules/playwright-core/lib/vite/traceViewer/index.CzXZzn5A.css deleted
-1
@@ -1 +0,0 @@
1 -.drop-target{display:flex;align-items:center;justify-content:center;flex:auto;flex-direction:column;background-color:var(--vscode-editor-background);position:absolute;top:0;right:0;bottom:0;left:0;z-index:100;line-height:24px}body .drop-target{background:#fffc}:root.dark-mode .drop-target{background:#000c}.drop-target .title{font-size:24px;font-weight:700;margin-bottom:30px}.drop-target .info{max-width:400px;text-align:center}.drop-target .processing-error{font-size:24px;color:#e74c3c;font-weight:700;text-align:center;margin:30px;white-space:pre-line}.drop-target input{margin-top:50px}.drop-target button{color:#fff;background-color:#007acc;padding:8px 12px;border:none;margin:30px 0;cursor:pointer}.drop-target .version{color:var(--vscode-disabledForeground);margin-top:8px}.progress-dialog{width:400px;top:0;right:0;bottom:0;left:0;border:none;outline:none;background-color:var(--vscode-sideBar-background)}.progress-dialog::backdrop{background-color:#0006}.progress-content{padding:16px}.progress-content .title{background-color:unset;font-size:18px;font-weight:700;padding:0}.progress-wrapper{background-color:var(--vscode-commandCenter-activeBackground);width:100%;margin-top:16px;margin-bottom:8px}.inner-progress{background-color:var(--vscode-progressBar-background);height:4px}.workbench-loader-header{display:flex;background-color:var(--vscode-sideBar-background);flex:none;flex-basis:48px;line-height:48px;font-size:16px;align-items:center;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px}.workbench-loader{contain:size}.workbench-loader .workbench-loader-header{flex-basis:32px;line-height:32px;font-size:13px}.workbench-loader .workbench-loader-header .toolbar-button{margin:4px}.workbench-loader .logo{margin-left:16px;display:flex;align-items:center}.workbench-loader .logo img{height:32px;width:32px;pointer-events:none;flex:none}.workbench-loader .product{font-weight:600;margin-left:16px;flex:none}.workbench-loader .workbench-loader-header .title{margin-left:16px;overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap}html,body{min-width:550px;min-height:450px;overflow:auto}
node_modules/playwright-core/lib/vite/traceViewer/index.html deleted
-44
@@ -1,44 +0,0 @@
1 -
2 -<!DOCTYPE html>
3 -<html lang="en" translate="no">
4 - <head>
5 - <meta charset="UTF-8">
6 - <meta name="viewport" content="width=device-width, initial-scale=1.0">
7 - <link rel="icon" href="./playwright-logo.svg" type="image/svg+xml">
8 - <link rel="manifest" href="./manifest.webmanifest">
9 - <title>Playwright Trace Viewer</title>
10 - <script type="module" crossorigin src="./index.BCnMPevh.js"></script>
11 - <link rel="modulepreload" crossorigin href="./assets/urlMatch-BYQrIQwR.js">
12 - <link rel="modulepreload" crossorigin href="./assets/defaultSettingsView-D31xz8zv.js">
13 - <link rel="stylesheet" crossorigin href="./defaultSettingsView.BDKsFU3c.css">
14 - <link rel="stylesheet" crossorigin href="./index.CzXZzn5A.css">
15 - </head>
16 - <body>
17 - <div id="root"></div>
18 - <dialog id="fallback-error">
19 - <p>The Playwright Trace Viewer must be loaded over the <code>http://</code> or <code>https://</code> protocols.</p>
20 - <p>For more information, please see the <a href="https://aka.ms/playwright/trace-viewer-file-protocol">docs</a>.</p>
21 - </dialog>
22 - <script>
23 - if (!/^https?:/.test(window.location.protocol)) {
24 - const fallbackErrorDialog = document.getElementById('fallback-error');
25 - const isTraceViewerInsidePlaywrightReport = window.location.protocol === 'file:' && window.location.pathname.endsWith('/trace/index.html');
26 - // Best-effort to show the report path in the dialog.
27 - if (isTraceViewerInsidePlaywrightReport) {
28 - const reportPath = (() => {
29 - const base = decodeURIComponent(window.location.pathname).replace(/\/trace\/index\.html$/, '');
30 - if (navigator.platform === 'Win32')
31 - return base.replace(/^\//, '').replace(/\//g, '\\\\');
32 - return base;
33 - })();
34 - const reportLink = document.createElement('div');
35 - const command = `npx playwright show-report "${reportPath}"`;
36 - reportLink.innerHTML = `You can open the report via <code>${command}</code> from your Playwright project. <button type="button">Copy Command</button>`;
37 - fallbackErrorDialog.insertBefore(reportLink, fallbackErrorDialog.children[1]);
38 - reportLink.querySelector('button').addEventListener('click', () => navigator.clipboard.writeText(command));
39 - }
40 - fallbackErrorDialog.show();
41 - }
42 - </script>
43 - </body>
44 -</html>
node_modules/playwright-core/lib/vite/traceViewer/manifest.webmanifest deleted
-16
@@ -1,16 +0,0 @@
1 -{
2 - "theme_color": "#000",
3 - "background_color": "#fff",
4 - "display": "standalone",
5 - "start_url": "index.html",
6 - "name": "Playwright Trace Viewer",
7 - "short_name": "Trace Viewer",
8 - "icons": [
9 - {
10 - "src": "playwright-logo.svg",
11 - "sizes": "48x48 72x72 96x96 128x128 150x150 256x256 512x512 1024x1024",
12 - "type": "image/svg+xml",
13 - "purpose": "any"
14 - }
15 - ]
16 -}
node_modules/playwright-core/lib/vite/traceViewer/playwright-logo.svg deleted
-9
@@ -1,9 +0,0 @@
1 -<svg width="400" height="400" viewBox="0 0 400 400" fill="none" xmlns="http://www.w3.org/2000/svg">
2 -<path d="M136.444 221.556C123.558 225.213 115.104 231.625 109.535 238.032C114.869 233.364 122.014 229.08 131.652 226.348C141.51 223.554 149.92 223.574 156.869 224.915V219.481C150.941 218.939 144.145 219.371 136.444 221.556ZM108.946 175.876L61.0895 188.484C61.0895 188.484 61.9617 189.716 63.5767 191.36L104.153 180.668C104.153 180.668 103.578 188.077 98.5847 194.705C108.03 187.559 108.946 175.876 108.946 175.876ZM149.005 288.347C81.6582 306.486 46.0272 228.438 35.2396 187.928C30.2556 169.229 28.0799 155.067 27.5 145.928C27.4377 144.979 27.4665 144.179 27.5336 143.446C24.04 143.657 22.3674 145.473 22.7077 150.721C23.2876 159.855 25.4633 174.016 30.4473 192.721C41.2301 233.225 76.8659 311.273 144.213 293.134C158.872 289.185 169.885 281.992 178.152 272.81C170.532 279.692 160.995 285.112 149.005 288.347ZM161.661 128.11V132.903H188.077C187.535 131.206 186.989 129.677 186.447 128.11H161.661Z" fill="#2D4552"/>
3 -<path d="M193.981 167.584C205.861 170.958 212.144 179.287 215.465 186.658L228.711 190.42C228.711 190.42 226.904 164.623 203.57 157.995C181.741 151.793 168.308 170.124 166.674 172.496C173.024 167.972 182.297 164.268 193.981 167.584ZM299.422 186.777C277.573 180.547 264.145 198.916 262.535 201.255C268.89 196.736 278.158 193.031 289.837 196.362C301.698 199.741 307.976 208.06 311.307 215.436L324.572 219.212C324.572 219.212 322.736 193.41 299.422 186.777ZM286.262 254.795L176.072 223.99C176.072 223.99 177.265 230.038 181.842 237.869L274.617 263.805C282.255 259.386 286.262 254.795 286.262 254.795ZM209.867 321.102C122.618 297.71 133.166 186.543 147.284 133.865C153.097 112.156 159.073 96.0203 164.029 85.204C161.072 84.5953 158.623 86.1529 156.203 91.0746C150.941 101.747 144.212 119.124 137.7 143.45C123.586 196.127 113.038 307.29 200.283 330.682C241.406 341.699 273.442 324.955 297.323 298.659C274.655 319.19 245.714 330.701 209.867 321.102Z" fill="#2D4552"/>
4 -<path d="M161.661 262.296V239.863L99.3324 257.537C99.3324 257.537 103.938 230.777 136.444 221.556C146.302 218.762 154.713 218.781 161.661 220.123V128.11H192.869C189.471 117.61 186.184 109.526 183.423 103.909C178.856 94.612 174.174 100.775 163.545 109.665C156.059 115.919 137.139 129.261 108.668 136.933C80.1966 144.61 57.179 142.574 47.5752 140.911C33.9601 138.562 26.8387 135.572 27.5049 145.928C28.0847 155.062 30.2605 169.224 35.2445 187.928C46.0272 228.433 81.663 306.481 149.01 288.342C166.602 283.602 179.019 274.233 187.626 262.291H161.661V262.296ZM61.0848 188.484L108.946 175.876C108.946 175.876 107.551 194.288 89.6087 199.018C71.6614 203.743 61.0848 188.484 61.0848 188.484Z" fill="#E2574C"/>
5 -<path d="M341.786 129.174C329.345 131.355 299.498 134.072 262.612 124.185C225.716 114.304 201.236 97.0224 191.537 88.8994C177.788 77.3834 171.74 69.3802 165.788 81.4857C160.526 92.163 153.797 109.54 147.284 133.866C133.171 186.543 122.623 297.706 209.867 321.098C297.093 344.47 343.53 242.92 357.644 190.238C364.157 165.917 367.013 147.5 367.799 135.625C368.695 122.173 359.455 126.078 341.786 129.174ZM166.497 172.756C166.497 172.756 180.246 151.372 203.565 158C226.899 164.628 228.706 190.425 228.706 190.425L166.497 172.756ZM223.42 268.713C182.403 256.698 176.077 223.99 176.077 223.99L286.262 254.796C286.262 254.791 264.021 280.578 223.42 268.713ZM262.377 201.495C262.377 201.495 276.107 180.126 299.422 186.773C322.736 193.411 324.572 219.208 324.572 219.208L262.377 201.495Z" fill="#2EAD33"/>
6 -<path d="M139.88 246.04L99.3324 257.532C99.3324 257.532 103.737 232.44 133.607 222.496L110.647 136.33L108.663 136.933C80.1918 144.611 57.1742 142.574 47.5704 140.911C33.9554 138.563 26.834 135.572 27.5001 145.929C28.08 155.063 30.2557 169.224 35.2397 187.929C46.0225 228.433 81.6583 306.481 149.005 288.342L150.989 287.719L139.88 246.04ZM61.0848 188.485L108.946 175.876C108.946 175.876 107.551 194.288 89.6087 199.018C71.6615 203.743 61.0848 188.485 61.0848 188.485Z" fill="#D65348"/>
7 -<path d="M225.27 269.163L223.415 268.712C182.398 256.698 176.072 223.99 176.072 223.99L232.89 239.872L262.971 124.281L262.607 124.185C225.711 114.304 201.232 97.0224 191.532 88.8994C177.783 77.3834 171.735 69.3802 165.783 81.4857C160.526 92.163 153.797 109.54 147.284 133.866C133.171 186.543 122.623 297.706 209.867 321.097L211.655 321.5L225.27 269.163ZM166.497 172.756C166.497 172.756 180.246 151.372 203.565 158C226.899 164.628 228.706 190.425 228.706 190.425L166.497 172.756Z" fill="#1D8D22"/>
8 -<path d="M141.946 245.451L131.072 248.537C133.641 263.019 138.169 276.917 145.276 289.195C146.513 288.922 147.74 288.687 149 288.342C152.302 287.451 155.364 286.348 158.312 285.145C150.371 273.361 145.118 259.789 141.946 245.451ZM137.7 143.451C132.112 164.307 127.113 194.326 128.489 224.436C130.952 223.367 133.554 222.371 136.444 221.551L138.457 221.101C136.003 188.939 141.308 156.165 147.284 133.866C148.799 128.225 150.318 122.978 151.832 118.085C149.393 119.637 146.767 121.228 143.776 122.867C141.759 129.093 139.722 135.898 137.7 143.451Z" fill="#C04B41"/>
9 -</svg>
node_modules/playwright-core/lib/vite/traceViewer/snapshot.html deleted
-10
@@ -1,10 +0,0 @@
1 -
2 -<!DOCTYPE html>
3 -<html lang="en">
4 - <script type="module" crossorigin src="./snapshot.v8KI4P3m.js"></script>
5 - <link rel="modulepreload" crossorigin href="./assets/urlMatch-BYQrIQwR.js">
6 -
7 - <body>
8 - <iframe src="about:blank" sandbox="allow-same-origin allow-scripts" style="position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;border:none;"></iframe>
9 - </body>
10 -</html>
node_modules/playwright-core/lib/vite/traceViewer/snapshot.v8KI4P3m.js deleted
-2
@@ -1,2 +0,0 @@
1 -import{i as c}from"./assets/urlMatch-BYQrIQwR.js";(async()=>{if(!navigator.serviceWorker)throw new Error(`Service workers are not supported.
2 -Make sure to serve the Trace Viewer (${window.location}) via HTTPS or localhost.`);navigator.serviceWorker.register("sw.bundle.js"),navigator.serviceWorker.controller||await new Promise(t=>navigator.serviceWorker.oncontrollerchange=t);const e=new URL(location.href).searchParams.get("trace"),o=new URLSearchParams;e&&o.set("trace",e),await fetch("contexts?"+o.toString());const r=new URLSearchParams(location.search).get("r");if(!r||!c(r,location.href))return;const a=document.querySelector("iframe");a&&(a.src=r)})();
node_modules/playwright-core/lib/vite/traceViewer/sw.bundle.js deleted
-5
@@ -1,5 +0,0 @@
1 -class Xs{constructor(t,e){this._snapshotIds=new Map,this._snapshotStorage=t,this._resourceLoader=e}serveSnapshot(t,e,n){const r=this._snapshot(t,e);if(!r)return new Response(null,{status:404});const i=r.render();return this._snapshotIds.set(n,r),new Response(i.html,{status:200,headers:{"Content-Type":"text/html; charset=utf-8"}})}async serveClosestScreenshot(t,e){const n=this._snapshot(t,e),r=n==null?void 0:n.closestScreenshot();return r?new Response(await this._resourceLoader(r)):new Response(null,{status:404})}serveSnapshotInfo(t,e){const n=this._snapshot(t,e);return this._respondWithJson(n?{viewport:n.viewport(),url:n.snapshot().frameUrl,timestamp:n.snapshot().timestamp,wallTime:n.snapshot().wallTime}:{error:"No snapshot found"})}_snapshot(t,e){const n=e.get("name");return this._snapshotStorage.snapshotByName(t,n)}_respondWithJson(t){return new Response(JSON.stringify(t),{status:200,headers:{"Cache-Control":"public, max-age=31536000","Content-Type":"application/json"}})}async serveResource(t,e,n){let r;const i=this._snapshotIds.get(n);for(const T of t)if(r=i==null?void 0:i.resourceByUrl($s(T),e),r)break;if(!r)return new Response(null,{status:404});const a=r.response.content._sha1,o=a?await this._resourceLoader(a)||new Blob([]):new Blob([]);let c=r.response.content.mimeType;/^text\/|^application\/(javascript|json)/.test(c)&&!c.includes("charset")&&(c=`${c}; charset=utf-8`);const _=new Headers;c!=="x-unknown"&&_.set("Content-Type",c);for(const{name:T,value:A}of r.response.headers)_.set(T,A);_.delete("Content-Encoding"),_.delete("Access-Control-Allow-Origin"),_.set("Access-Control-Allow-Origin","*"),_.delete("Content-Length"),_.set("Content-Length",String(o.size)),this._snapshotStorage.hasResourceOverride(r.request.url)?_.set("Cache-Control","no-store, no-cache, max-age=0"):_.set("Cache-Control","public, max-age=31536000");const{status:m}=r.response,w=m===101||m===204||m===205||m===304;return new Response(w?null:o,{headers:_,status:r.response.status,statusText:r.response.statusText})}}function $s(s){try{const t=new URL(s);return t.hash="",t.toString()}catch{return s}}function Js(s){const t=new Map,{files:e,stacks:n}=s;for(const r of n){const[i,a]=r;t.set(`call@${i}`,a.map(o=>({file:e[o[0]],line:o[1],column:o[2],function:o[3]})))}return t}const Un={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};function Qs(s){return s.replace(/[&<>"']/ug,t=>Un[t])}function zs(s){return s.replace(/[&<]/ug,t=>Un[t])}function Mt(s,t,e){return s.find((n,r)=>{if(r===s.length-1)return!0;const i=s[r+1];return Math.abs(t(n)-e)<Math.abs(t(i)-e)})}function Hn(s){return Array.isArray(s)&&typeof s[0]=="string"}function er(s){return Array.isArray(s)&&Array.isArray(s[0])}class tr{constructor(t,e,n,r,i){this._htmlCache=t,this._resources=e,this._snapshots=n,this._index=i,this._snapshot=n[i],this._callId=n[i].callId,this._screencastFrames=r,this.snapshotName=n[i].snapshotName}snapshot(){return this._snapshots[this._index]}viewport(){return this._snapshots[this._index].viewport}closestScreenshot(){var r;const{wallTime:t,timestamp:e}=this.snapshot(),n=t&&((r=this._screencastFrames[0])!=null&&r.frameSwapWallTime)?Mt(this._screencastFrames,i=>i.frameSwapWallTime,t):Mt(this._screencastFrames,i=>i.timestamp,e);return n==null?void 0:n.sha1}render(){const t=[],e=(i,a,o,c)=>{if(typeof i=="string"){o==="STYLE"||o==="style"?t.push(fr(or(i))):t.push(zs(i));return}if(er(i)){const h=a-i[0][0];if(h>=0&&h<=a){const _=rr(this._snapshots[h]),m=i[0][1];if(m>=0&&m<_.length)return e(_[m],h,o,c)}}else if(Hn(i)){const[h,_,...m]=i;if(h.toUpperCase()==="SCRIPT")return;const w=h==="NOSCRIPT"?"X-NOSCRIPT":h,T=Object.entries(_||{});t.push("<",w);const A="__playwright_current_src__",u=w==="IFRAME"||w==="FRAME",l=w==="A",f=w==="IMG",p=w==="META",g=f&&T.some(d=>d[0]===A),I=w==="SOURCE"&&o==="PICTURE"&&(c==null?void 0:c.some(d=>d[0]===A)),O=p&&T.some(d=>d[0].toLowerCase()==="http-equiv"&&!sr.has(d[1].trim().toLowerCase()));for(const[d,b]of T){let y=d;u&&d.toLowerCase()==="src"&&(y="__playwright_src__"),f&&d===A&&(y="src"),["src","srcset"].includes(d.toLowerCase())&&(g||I)&&(y="_"+y),O&&(d.toLowerCase()==="http-equiv"||d.toLowerCase()==="content")&&(y="_"+d);let E=b;!l&&(d.toLowerCase()==="href"||d.toLowerCase()==="src"||d===A)&&(E=lt(b)),t.push(" ",y,'="',Qs(E),'"')}t.push(">");for(const d of m)e(d,a,w,T);nr.has(w)||t.push("</",w,">");return}else return},n=this._snapshot;return{html:this._htmlCache.getOrCompute(this,()=>{var c;e(n.html,this._index,void 0,void 0);const i=(c=n.doctype)==null?void 0:c.replace(/[^a-zA-Z0-9]/g,""),o=(i?`<!DOCTYPE ${i}>`:"")+["<style>*,*::before,*::after { visibility: hidden }</style>",`<script>${ir(this.viewport(),this._callId,this.snapshotName)}<\/script>`].join("")+t.join("");return{value:o,size:o.length}}),pageId:n.pageId,frameId:n.frameId,index:this._index}}resourceByUrl(t,e){const n=this._snapshot;let r,i;for(const o of this._resources){if(typeof o._monotonicTime=="number"&&o._monotonicTime>=n.timestamp)break;o.response.status!==304&&o.request.url===t&&o.request.method===e&&(o._frameref===n.frameId?r=o:i=o)}let a=r??i;if(a&&e.toUpperCase()==="GET"){let o=n.resourceOverrides.find(c=>c.url===t);if(o!=null&&o.ref){const c=this._index-o.ref;c>=0&&c<this._snapshots.length&&(o=this._snapshots[c].resourceOverrides.find(h=>h.url===t))}o!=null&&o.sha1&&(a={...a,response:{...a.response,content:{...a.response.content,_sha1:o.sha1}}})}return a}}const nr=new Set(["AREA","BASE","BR","COL","COMMAND","EMBED","HR","IMG","INPUT","KEYGEN","LINK","MENUITEM","META","PARAM","SOURCE","TRACK","WBR"]),sr=new Set(["content-type","content-language","default-style","x-ua-compatible"]);function rr(s){if(!s._nodes){const t=[],e=n=>{if(typeof n=="string")t.push(n);else if(Hn(n)){const[,,...r]=n;for(const i of r)e(i);t.push(n)}};e(s.html),s._nodes=t}return s._nodes}function ir(s,...t){function e(r,i,...a){const o=window,c=new URLSearchParams(o.location.search),h=c.has("shouldPopulateCanvasFromScreenshot"),_=c.has("isUnderTest"),m={viewport:i,frames:new WeakMap};o.__playwright_frame_bounding_rects__=m;const w="Recorded click position in absolute coordinates did not match the center of the clicked element. This is either due to the use of provided offset, or due to a difference between the test runner and the trace viewer operating systems.",T=[],A=[],u=[],l=[];let f=o;for(;f!==f.parent&&!f.location.pathname.match(/\/page@[a-z0-9]+$/);)f=f.parent;const p=O=>{for(const d of O.querySelectorAll("[__playwright_scroll_top_]"))T.push(d);for(const d of O.querySelectorAll("[__playwright_scroll_left_]"))A.push(d);for(const d of O.querySelectorAll("[__playwright_value_]")){const b=d;b.type!=="file"&&(b.value=b.getAttribute("__playwright_value_")),d.removeAttribute("__playwright_value_")}for(const d of O.querySelectorAll("[__playwright_checked_]"))d.checked=d.getAttribute("__playwright_checked_")==="true",d.removeAttribute("__playwright_checked_");for(const d of O.querySelectorAll("[__playwright_selected_]"))d.selected=d.getAttribute("__playwright_selected_")==="true",d.removeAttribute("__playwright_selected_");for(const d of O.querySelectorAll("[__playwright_popover_open_]")){try{d.showPopover()}catch{}d.removeAttribute("__playwright_popover_open_")}for(const d of O.querySelectorAll("[__playwright_dialog_open_]")){try{d.getAttribute("__playwright_dialog_open_")==="modal"?d.showModal():d.show()}catch{}d.removeAttribute("__playwright_dialog_open_")}for(const d of a)for(const b of O.querySelectorAll(`[__playwright_target__="${d}"]`)){const y=b.style;y.outline="2px solid #006ab1",y.backgroundColor="#6fa8dc7f",u.push(b)}for(const d of O.querySelectorAll("iframe, frame")){const b=d.getAttribute("__playwright_bounding_rect__");d.removeAttribute("__playwright_bounding_rect__");const y=b?JSON.parse(b):void 0;y&&m.frames.set(d,{boundingRect:y,scrollLeft:0,scrollTop:0});const E=d.getAttribute("__playwright_src__");if(!E)d.setAttribute("src",r);else{const x=new URL(o.location.href),S=x.pathname.lastIndexOf("/snapshot/");S!==-1&&(x.pathname=x.pathname.substring(0,S+1)),x.pathname+=E.substring(1),d.setAttribute("src",x.toString())}}{const d=O.querySelector("body[__playwright_custom_elements__]");if(d&&o.customElements){const b=(d.getAttribute("__playwright_custom_elements__")||"").split(",");for(const y of b)o.customElements.define(y,class extends HTMLElement{})}}for(const d of O.querySelectorAll("template[__playwright_shadow_root_]")){const b=d,y=b.parentElement.attachShadow({mode:"open"});y.appendChild(b.content),b.remove(),p(y)}for(const d of O.querySelectorAll("a"))d.addEventListener("click",b=>{b.preventDefault()});if("adoptedStyleSheets"in O){const d=[...O.adoptedStyleSheets];for(const b of O.querySelectorAll("template[__playwright_style_sheet_]")){const y=b,E=new CSSStyleSheet;E.replaceSync(y.getAttribute("__playwright_style_sheet_")),d.push(E)}O.adoptedStyleSheets=d}l.push(...O.querySelectorAll("canvas"))},g=()=>{o.removeEventListener("load",g);for(const b of T)b.scrollTop=+b.getAttribute("__playwright_scroll_top_"),b.removeAttribute("__playwright_scroll_top_"),m.frames.has(b)&&(m.frames.get(b).scrollTop=b.scrollTop);for(const b of A)b.scrollLeft=+b.getAttribute("__playwright_scroll_left_"),b.removeAttribute("__playwright_scroll_left_"),m.frames.has(b)&&(m.frames.get(b).scrollLeft=b.scrollLeft);o.document.styleSheets[0].disabled=!0;const O=new URL(o.location.href).searchParams;if(o===f&&O.get("pointX")&&O.get("pointY")){const b=+O.get("pointX"),y=+O.get("pointY"),E=o.document.createElement("x-pw-pointer");E.style.position="fixed",E.style.backgroundColor="#f44336",E.style.width="20px",E.style.height="20px",E.style.borderRadius="10px",E.style.margin="-10px 0 0 -10px",E.style.zIndex="2147483646",E.style.display="flex",E.style.alignItems="center",E.style.justifyContent="center";const x=u[0],S=x==null?void 0:x.getBoundingClientRect(),C=x?{x:S.left+S.width/2,y:S.top+S.height/2}:null;if(E.style.left=((C==null?void 0:C.x)??b)+"px",E.style.top=((C==null?void 0:C.y)??y)+"px",!(!C||Math.abs(C.x-b)<=10&&Math.abs(C.y-y)<=10)){const D=o.document.createElement("x-pw-pointer-warning");D.textContent="⚠",D.style.fontSize="19px",D.style.color="white",D.style.marginTop="-3.5px",D.style.userSelect="none",E.appendChild(D),E.setAttribute("title",w)}o.document.documentElement.appendChild(E)}if(l.length>0){let b=function(E,x){function S(){const C=o.document.createElement("canvas");C.width=C.width/Math.floor(C.width/24),C.height=C.height/Math.floor(C.height/24);const R=C.getContext("2d");return R.fillStyle="lightgray",R.fillRect(0,0,C.width,C.height),R.fillStyle="white",R.fillRect(0,0,C.width/2,C.height/2),R.fillRect(C.width/2,C.height/2,C.width,C.height),R.createPattern(C,"repeat")}E.fillStyle=S(),E.fillRect(0,0,x.width,x.height)};const y=new Image;y.onload=()=>{var E;for(const x of l){const S=x.getContext("2d"),C=x.getAttribute("__playwright_bounding_rect__");if(x.removeAttribute("__playwright_bounding_rect__"),!C)continue;let R;try{R=JSON.parse(C)}catch{continue}let D=o;for(;D!==f;){const G=D.frameElement;D=D.parent;const N=(E=D.__playwright_frame_bounding_rects__)==null?void 0:E.frames.get(G);if(!(N!=null&&N.boundingRect))break;const K=N.boundingRect.left-N.scrollLeft,L=N.boundingRect.top-N.scrollTop;R.left+=K,R.top+=L,R.right+=K,R.bottom+=L}const{width:k,height:P}=f.__playwright_frame_bounding_rects__.viewport;R.left=R.left/k,R.top=R.top/P,R.right=R.right/k,R.bottom=R.bottom/P;const U=R.right>1||R.bottom>1;if(R.left>1||R.top>1){x.title="Playwright couldn't capture canvas contents because it's located outside the viewport.";continue}b(S,x),h?(S.drawImage(y,R.left*y.width,R.top*y.height,(R.right-R.left)*y.width,(R.bottom-R.top)*y.height,0,0,x.width,x.height),U?x.title="Playwright couldn't capture full canvas contents because it's located partially outside the viewport.":x.title="Canvas contents are displayed on a best-effort basis based on viewport screenshots taken during test execution."):x.title="Canvas content display is disabled.",_&&console.log("canvas drawn:",JSON.stringify([R.left,R.top,R.right-R.left,R.bottom-R.top].map(G=>Math.floor(G*100))))}},y.onerror=()=>{for(const E of l){const x=E.getContext("2d");b(x,E),E.title="Playwright couldn't show canvas contents because the screenshot failed to load."}},y.src=location.href.replace("/snapshot","/closest-screenshot")}},I=()=>p(o.document);o.addEventListener("load",g),o.addEventListener("DOMContentLoaded",I)}const n=r=>JSON.stringify(r).replace(/</g,"\\u003c");return`
2 -(${e.toString()})(${n(ur)},${n(s)}${t.map(r=>`, ${n(String(r))}`).join("")})`}const Wn=["about:","blob:","data:","file:","ftp:","http:","https:","mailto:","sftp:","ws:","wss:"],Ut="http://playwright.bloburl/#";function lt(s){s.startsWith(Ut)&&(s=s.substring(Ut.length));try{const t=new URL(s);if(t.protocol==="javascript:"||t.protocol==="vbscript:")return"javascript:void(0)";const e=t.protocol==="blob:",n=t.protocol==="file:";if(!e&&!n&&Wn.includes(t.protocol))return s;const r="pw-"+t.protocol.slice(0,t.protocol.length-1);return n||(t.protocol="https:"),t.hostname=t.hostname?`${r}--${t.hostname}`:r,n&&(t.protocol="https:"),t.toString()}catch{return s}}const ar=/url\(['"]?([\w-]+:)\/\//ig;function or(s){return s.replace(ar,(t,e)=>!(e==="blob:")&&!(e==="file:")&&Wn.includes(e)?t:t.replace(e+"//",`https://pw-${e.slice(0,-1)}--`))}const cr=/url\(\s*'([^']*)'\s*\)/ig,lr=/url\(\s*"([^"]*)"\s*\)/ig;function fr(s){const t=(e,n)=>n.includes("</")?e.replace(n,encodeURI(n)):e;return s.replace(cr,t).replace(lr,t)}const ur="data:text/html;base64,"+btoa("<body></body><style>body { color-scheme: light dark; background: light-dark(white, #333) }</style>");class dr{constructor(t){this._maxSize=t,this._map=new Map,this._size=0}getOrCompute(t,e){if(this._map.has(t)){const r=this._map.get(t);return this._map.delete(t),this._map.set(t,r),r.value}const n=e();for(;this._map.size&&this._size+n.size>this._maxSize;){const[r,i]=this._map.entries().next().value;this._size-=i.size,this._map.delete(r)}return this._map.set(t,n),this._size+=n.size,n.value}}class _r{constructor(){this._frameSnapshots=new Map,this._cache=new dr(1e8),this._contextToResources=new Map,this._resourceUrlsWithOverrides=new Set}addResource(t,e){e.request.url=lt(e.request.url),this._ensureResourcesForContext(t).push(e)}addFrameSnapshot(t,e,n){for(const o of e.resourceOverrides)o.url=lt(o.url);let r=this._frameSnapshots.get(e.frameId);r||(r={raw:[],renderers:[]},this._frameSnapshots.set(e.frameId,r),e.isMainFrame&&this._frameSnapshots.set(e.pageId,r)),r.raw.push(e);const i=this._ensureResourcesForContext(t),a=new tr(this._cache,i,r.raw,n,r.raw.length-1);return r.renderers.push(a),a}snapshotByName(t,e){const n=this._frameSnapshots.get(t);return n==null?void 0:n.renderers.find(r=>r.snapshotName===e)}snapshotsForTest(){return[...this._frameSnapshots.keys()]}finalize(){for(const t of this._contextToResources.values())t.sort((e,n)=>(e._monotonicTime||0)-(n._monotonicTime||0));for(const t of this._frameSnapshots.values())for(const e of t.raw)for(const n of e.resourceOverrides)this._resourceUrlsWithOverrides.add(n.url)}hasResourceOverride(t){return this._resourceUrlsWithOverrides.has(t)}_ensureResourcesForContext(t){let e=this._contextToResources.get(t);return e||(e=[],this._contextToResources.set(t,e)),e}}class Bn extends Error{constructor(t){super(t),this.name="TraceVersionError"}}const Ht=8;class hr{constructor(t,e){this._actionMap=new Map,this._pageEntries=new Map,this._jsHandles=new Map,this._consoleObjects=new Map,this._contextEntry=t,this._snapshotStorage=e}appendTrace(t){for(const e of t.split(`
3 -`))this._appendEvent(e)}actions(){return[...this._actionMap.values()]}_pageEntry(t){let e=this._pageEntries.get(t);return e||(e={pageId:t,screencastFrames:[]},this._pageEntries.set(t,e),this._contextEntry.pages.push(e)),e}_appendEvent(t){if(!t)return;const e=this._modernize(JSON.parse(t));for(const n of e)this._innerAppendEvent(n)}_innerAppendEvent(t){const e=this._contextEntry;switch(t.type){case"context-options":{if(t.version>Ht)throw new Bn("The trace was created by a newer version of Playwright and is not supported by this version of the viewer. Please use latest Playwright to open the trace.");this._version=t.version,e.origin=t.origin,e.browserName=t.browserName,e.channel=t.channel,e.title=t.title,e.platform=t.platform,e.playwrightVersion=t.playwrightVersion,e.wallTime=t.wallTime,e.startTime=t.monotonicTime,e.sdkLanguage=t.sdkLanguage,e.options=t.options,e.testIdAttributeName=t.testIdAttributeName,e.contextId=t.contextId??"",e.testTimeout=t.testTimeout;break}case"screencast-frame":{this._pageEntry(t.pageId).screencastFrames.push(t);break}case"before":{this._actionMap.set(t.callId,{...t,type:"action",endTime:0,log:[]});break}case"input":{const n=this._actionMap.get(t.callId);n.inputSnapshot=t.inputSnapshot,n.point=t.point;break}case"log":{const n=this._actionMap.get(t.callId);if(!n)return;n.log.push({time:t.time,message:t.message});break}case"after":{const n=this._actionMap.get(t.callId);n.afterSnapshot=t.afterSnapshot,n.endTime=t.endTime,n.result=t.result,n.error=t.error,n.attachments=t.attachments,n.annotations=t.annotations,t.point&&(n.point=t.point);break}case"action":{this._actionMap.set(t.callId,{...t,log:[]});break}case"event":{e.events.push(t);break}case"stdout":{e.stdio.push(t);break}case"stderr":{e.stdio.push(t);break}case"error":{e.errors.push(t);break}case"console":{e.events.push(t);break}case"resource-snapshot":this._snapshotStorage.addResource(this._contextEntry.contextId,t.snapshot),e.resources.push(t.snapshot);break;case"frame-snapshot":this._snapshotStorage.addFrameSnapshot(this._contextEntry.contextId,t.snapshot,this._pageEntry(t.snapshot.pageId).screencastFrames);break}"pageId"in t&&t.pageId&&this._pageEntry(t.pageId),(t.type==="action"||t.type==="before")&&(e.startTime=Math.min(e.startTime,t.startTime)),(t.type==="action"||t.type==="after")&&(e.endTime=Math.max(e.endTime,t.endTime)),t.type==="event"&&(e.startTime=Math.min(e.startTime,t.time),e.endTime=Math.max(e.endTime,t.time)),t.type==="screencast-frame"&&(e.startTime=Math.min(e.startTime,t.timestamp),e.endTime=Math.max(e.endTime,t.timestamp))}_processedContextCreatedEvent(){return this._version!==void 0}_modernize(t){let e=this._version??t.version??6,n=[t];for(;e<Ht;++e)n=this[`_modernize_${e}_to_${e+1}`].call(this,n);return n}_modernize_0_to_1(t){for(const e of t)e.type==="action"&&typeof e.metadata.error=="string"&&(e.metadata.error={error:{name:"Error",message:e.metadata.error}});return t}_modernize_1_to_2(t){var e;for(const n of t)n.type!=="frame-snapshot"||!n.snapshot.isMainFrame||(n.snapshot.viewport=((e=this._contextEntry.options)==null?void 0:e.viewport)||{width:1280,height:720});return t}_modernize_2_to_3(t){for(const e of t){if(e.type!=="resource-snapshot"||e.snapshot.request)continue;const n=e.snapshot;e.snapshot={_frameref:n.frameId,request:{url:n.url,method:n.method,headers:n.requestHeaders,postData:n.requestSha1?{_sha1:n.requestSha1}:void 0},response:{status:n.status,headers:n.responseHeaders,content:{mimeType:n.contentType,_sha1:n.responseSha1}},_monotonicTime:n.timestamp}}return t}_modernize_3_to_4(t){const e=[];for(const n of t){const r=this._modernize_event_3_to_4(n);r&&e.push(r)}return e}_modernize_event_3_to_4(t){var n,r,i,a;if(t.type!=="action"&&t.type!=="event")return t;const e=t.metadata;return e.internal||e.method.startsWith("tracing")?null:t.type==="event"?e.method==="__create__"&&e.type==="ConsoleMessage"?{type:"object",class:e.type,guid:e.params.guid,initializer:e.params.initializer}:{type:"event",time:e.startTime,class:e.type,method:e.method,params:e.params,pageId:e.pageId}:{type:"action",callId:e.id,startTime:e.startTime,endTime:e.endTime,apiName:e.apiName||e.type+"."+e.method,class:e.type,method:e.method,params:e.params,wallTime:e.wallTime||Date.now(),log:e.log,beforeSnapshot:(n=e.snapshots.find(o=>o.title==="before"))==null?void 0:n.snapshotName,inputSnapshot:(r=e.snapshots.find(o=>o.title==="input"))==null?void 0:r.snapshotName,afterSnapshot:(i=e.snapshots.find(o=>o.title==="after"))==null?void 0:i.snapshotName,error:(a=e.error)==null?void 0:a.error,result:e.result,point:e.point,pageId:e.pageId}}_modernize_4_to_5(t){const e=[];for(const n of t){const r=this._modernize_event_4_to_5(n);r&&e.push(r)}return e}_modernize_event_4_to_5(t){var e,n;if(t.type==="event"&&t.method==="__create__"&&t.class==="JSHandle"&&this._jsHandles.set(t.params.guid,t.params.initializer),t.type==="object"){if(t.class!=="ConsoleMessage")return null;const r=(e=t.initializer.args)==null?void 0:e.map(i=>{if(i.guid){const a=this._jsHandles.get(i.guid);return{preview:(a==null?void 0:a.preview)||"",value:""}}return{preview:i.preview||"",value:i.value||""}});return this._consoleObjects.set(t.guid,{type:t.initializer.type,text:t.initializer.text,location:t.initializer.location,args:r}),null}if(t.type==="event"&&t.method==="console"){const r=this._consoleObjects.get(((n=t.params.message)==null?void 0:n.guid)||"");return r?{type:"console",time:t.time,pageId:t.pageId,messageType:r.type,text:r.text,args:r.args,location:r.location}:null}return t}_modernize_5_to_6(t){const e=[];for(const n of t)if(e.push(n),!(n.type!=="after"||!n.log.length))for(const r of n.log)e.push({type:"log",callId:n.callId,message:r,time:-1});return e}_modernize_6_to_7(t){const e=[];if(!this._processedContextCreatedEvent()&&t[0].type!=="context-options"){const n={type:"context-options",origin:"testRunner",version:6,browserName:"",options:{},platform:"unknown",wallTime:0,monotonicTime:0,sdkLanguage:"javascript",contextId:""};e.push(n)}for(const n of t){if(n.type==="context-options"){e.push({...n,monotonicTime:0,origin:"library",contextId:""});continue}if(n.type==="before"||n.type==="action"){this._contextEntry.wallTime||(this._contextEntry.wallTime=n.wallTime);const r=n,i=n;i.stepId=`${r.apiName}@${r.wallTime}`,e.push(i)}else e.push(n)}return e}_modernize_7_to_8(t){const e=[];for(const n of t)if(n.type==="before"||n.type==="action"){const r=n,i=n;r.apiName&&(i.title=r.apiName,delete i.apiName),i.stepId=r.stepId??r.callId,e.push(i)}else e.push(n);return e}}class pr{constructor(){this.contextEntries=[],this._resourceToContentType=new Map}async load(t,e,n){var h,_,m;this._backend=t;const r=(h=e==null?void 0:e.match(/(.+)\.trace$/))==null?void 0:h[1],i=[];let a=!1;for(const w of await this._backend.entryNames()){const T=w.match(/(.+)\.trace$/);T&&(!r||r===T[1])&&i.push(T[1]||""),w.includes("src@")&&(a=!0)}if(!i.length)throw new Error("Cannot find .trace file");this._snapshotStorage=new _r;const o=i.length*3;let c=0;for(const w of i){const T=mr();T.hasSource=a;const A=new hr(T,this._snapshotStorage),u=await this._backend.readText(w+".trace")||"";A.appendTrace(u),n==null||n(++c,o);const l=await this._backend.readText(w+".network")||"";if(A.appendTrace(l),n==null||n(++c,o),T.actions=A.actions().sort((p,g)=>p.startTime-g.startTime),!t.isLive()){for(const p of T.actions.slice().reverse())if(!p.endTime&&!p.error)for(const g of T.actions)g.parentId===p.callId&&p.endTime<g.endTime&&(p.endTime=g.endTime)}const f=await this._backend.readText(w+".stacks");if(f){const p=Js(JSON.parse(f));for(const g of T.actions)g.stack=g.stack||p.get(g.callId)}n==null||n(++c,o);for(const p of T.resources)(_=p.request.postData)!=null&&_._sha1&&this._resourceToContentType.set(p.request.postData._sha1,Wt(p.request.postData.mimeType)),(m=p.response.content)!=null&&m._sha1&&this._resourceToContentType.set(p.response.content._sha1,Wt(p.response.content.mimeType));this.contextEntries.push(T)}this._snapshotStorage.finalize()}async hasEntry(t){return this._backend.hasEntry(t)}async resourceForSha1(t){const e=await this._backend.readBlob("resources/"+t),n=this._resourceToContentType.get(t);return!e||n===void 0||n==="x-unknown"?e:new Blob([e],{type:n})}storage(){return this._snapshotStorage}}function Wt(s){const t=s.match(/^(.*);\s*charset=.*$/);return t?t[1]:s}function mr(){return{origin:"testRunner",startTime:Number.MAX_SAFE_INTEGER,wallTime:Number.MAX_SAFE_INTEGER,endTime:0,browserName:"",options:{deviceScaleFactor:1,isMobile:!1,viewport:{width:1280,height:800}},pages:[],resources:[],actions:[],events:[],errors:[],stdio:[],hasSource:!1,contextId:""}}function wr(s,t){const e=new Array(t.length).fill(0);return new Array(t.length).fill(0).map((n,r)=>(i,a)=>{e[r]=i/a*t[r]*1e3,s(e.reduce((o,c)=>o+c,0),1e3)})}const gr=15,v=0,ne=1,br=2,X=-2,W=-3,Bt=-4,se=-5,$=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],jn=1440,yr=0,Er=4,xr=9,Tr=5,Sr=[96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,192,80,7,10,0,8,96,0,8,32,0,9,160,0,8,0,0,8,128,0,8,64,0,9,224,80,7,6,0,8,88,0,8,24,0,9,144,83,7,59,0,8,120,0,8,56,0,9,208,81,7,17,0,8,104,0,8,40,0,9,176,0,8,8,0,8,136,0,8,72,0,9,240,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,200,81,7,13,0,8,100,0,8,36,0,9,168,0,8,4,0,8,132,0,8,68,0,9,232,80,7,8,0,8,92,0,8,28,0,9,152,84,7,83,0,8,124,0,8,60,0,9,216,82,7,23,0,8,108,0,8,44,0,9,184,0,8,12,0,8,140,0,8,76,0,9,248,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,196,81,7,11,0,8,98,0,8,34,0,9,164,0,8,2,0,8,130,0,8,66,0,9,228,80,7,7,0,8,90,0,8,26,0,9,148,84,7,67,0,8,122,0,8,58,0,9,212,82,7,19,0,8,106,0,8,42,0,9,180,0,8,10,0,8,138,0,8,74,0,9,244,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,204,81,7,15,0,8,102,0,8,38,0,9,172,0,8,6,0,8,134,0,8,70,0,9,236,80,7,9,0,8,94,0,8,30,0,9,156,84,7,99,0,8,126,0,8,62,0,9,220,82,7,27,0,8,110,0,8,46,0,9,188,0,8,14,0,8,142,0,8,78,0,9,252,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,194,80,7,10,0,8,97,0,8,33,0,9,162,0,8,1,0,8,129,0,8,65,0,9,226,80,7,6,0,8,89,0,8,25,0,9,146,83,7,59,0,8,121,0,8,57,0,9,210,81,7,17,0,8,105,0,8,41,0,9,178,0,8,9,0,8,137,0,8,73,0,9,242,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,202,81,7,13,0,8,101,0,8,37,0,9,170,0,8,5,0,8,133,0,8,69,0,9,234,80,7,8,0,8,93,0,8,29,0,9,154,84,7,83,0,8,125,0,8,61,0,9,218,82,7,23,0,8,109,0,8,45,0,9,186,0,8,13,0,8,141,0,8,77,0,9,250,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,198,81,7,11,0,8,99,0,8,35,0,9,166,0,8,3,0,8,131,0,8,67,0,9,230,80,7,7,0,8,91,0,8,27,0,9,150,84,7,67,0,8,123,0,8,59,0,9,214,82,7,19,0,8,107,0,8,43,0,9,182,0,8,11,0,8,139,0,8,75,0,9,246,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,206,81,7,15,0,8,103,0,8,39,0,9,174,0,8,7,0,8,135,0,8,71,0,9,238,80,7,9,0,8,95,0,8,31,0,9,158,84,7,99,0,8,127,0,8,63,0,9,222,82,7,27,0,8,111,0,8,47,0,9,190,0,8,15,0,8,143,0,8,79,0,9,254,96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,193,80,7,10,0,8,96,0,8,32,0,9,161,0,8,0,0,8,128,0,8,64,0,9,225,80,7,6,0,8,88,0,8,24,0,9,145,83,7,59,0,8,120,0,8,56,0,9,209,81,7,17,0,8,104,0,8,40,0,9,177,0,8,8,0,8,136,0,8,72,0,9,241,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,201,81,7,13,0,8,100,0,8,36,0,9,169,0,8,4,0,8,132,0,8,68,0,9,233,80,7,8,0,8,92,0,8,28,0,9,153,84,7,83,0,8,124,0,8,60,0,9,217,82,7,23,0,8,108,0,8,44,0,9,185,0,8,12,0,8,140,0,8,76,0,9,249,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,197,81,7,11,0,8,98,0,8,34,0,9,165,0,8,2,0,8,130,0,8,66,0,9,229,80,7,7,0,8,90,0,8,26,0,9,149,84,7,67,0,8,122,0,8,58,0,9,213,82,7,19,0,8,106,0,8,42,0,9,181,0,8,10,0,8,138,0,8,74,0,9,245,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,205,81,7,15,0,8,102,0,8,38,0,9,173,0,8,6,0,8,134,0,8,70,0,9,237,80,7,9,0,8,94,0,8,30,0,9,157,84,7,99,0,8,126,0,8,62,0,9,221,82,7,27,0,8,110,0,8,46,0,9,189,0,8,14,0,8,142,0,8,78,0,9,253,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,195,80,7,10,0,8,97,0,8,33,0,9,163,0,8,1,0,8,129,0,8,65,0,9,227,80,7,6,0,8,89,0,8,25,0,9,147,83,7,59,0,8,121,0,8,57,0,9,211,81,7,17,0,8,105,0,8,41,0,9,179,0,8,9,0,8,137,0,8,73,0,9,243,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,203,81,7,13,0,8,101,0,8,37,0,9,171,0,8,5,0,8,133,0,8,69,0,9,235,80,7,8,0,8,93,0,8,29,0,9,155,84,7,83,0,8,125,0,8,61,0,9,219,82,7,23,0,8,109,0,8,45,0,9,187,0,8,13,0,8,141,0,8,77,0,9,251,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,199,81,7,11,0,8,99,0,8,35,0,9,167,0,8,3,0,8,131,0,8,67,0,9,231,80,7,7,0,8,91,0,8,27,0,9,151,84,7,67,0,8,123,0,8,59,0,9,215,82,7,19,0,8,107,0,8,43,0,9,183,0,8,11,0,8,139,0,8,75,0,9,247,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,207,81,7,15,0,8,103,0,8,39,0,9,175,0,8,7,0,8,135,0,8,71,0,9,239,80,7,9,0,8,95,0,8,31,0,9,159,84,7,99,0,8,127,0,8,63,0,9,223,82,7,27,0,8,111,0,8,47,0,9,191,0,8,15,0,8,143,0,8,79,0,9,255],Rr=[80,5,1,87,5,257,83,5,17,91,5,4097,81,5,5,89,5,1025,85,5,65,93,5,16385,80,5,3,88,5,513,84,5,33,92,5,8193,82,5,9,90,5,2049,86,5,129,192,5,24577,80,5,2,87,5,385,83,5,25,91,5,6145,81,5,7,89,5,1537,85,5,97,93,5,24577,80,5,4,88,5,769,84,5,49,92,5,12289,82,5,13,90,5,3073,86,5,193,192,5,24577],Ar=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],Or=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,112,112],Ir=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],Cr=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],ie=15;function ft(){const s=this;let t,e,n,r,i,a;function o(h,_,m,w,T,A,u,l,f,p,g){let I,O,d,b,y,E,x,S,C,R,D,k,P,U,F;R=0,y=m;do n[h[_+R]]++,R++,y--;while(y!==0);if(n[0]==m)return u[0]=-1,l[0]=0,v;for(S=l[0],E=1;E<=ie&&n[E]===0;E++);for(x=E,S<E&&(S=E),y=ie;y!==0&&n[y]===0;y--);for(d=y,S>y&&(S=y),l[0]=S,U=1<<E;E<y;E++,U<<=1)if((U-=n[E])<0)return W;if((U-=n[y])<0)return W;for(n[y]+=U,a[1]=E=0,R=1,P=2;--y!==0;)a[P]=E+=n[R],P++,R++;y=0,R=0;do(E=h[_+R])!==0&&(g[a[E]++]=y),R++;while(++y<m);for(m=a[d],a[0]=y=0,R=0,b=-1,k=-S,i[0]=0,D=0,F=0;x<=d;x++)for(I=n[x];I--!==0;){for(;x>k+S;){if(b++,k+=S,F=d-k,F=F>S?S:F,(O=1<<(E=x-k))>I+1&&(O-=I+1,P=x,E<F))for(;++E<F&&!((O<<=1)<=n[++P]);)O-=n[P];if(F=1<<E,p[0]+F>jn)return W;i[b]=D=p[0],p[0]+=F,b!==0?(a[b]=y,r[0]=E,r[1]=S,E=y>>>k-S,r[2]=D-i[b-1]-E,f.set(r,(i[b-1]+E)*3)):u[0]=D}for(r[1]=x-k,R>=m?r[0]=192:g[R]<w?(r[0]=g[R]<256?0:96,r[2]=g[R++]):(r[0]=A[g[R]-w]+16+64,r[2]=T[g[R++]-w]),O=1<<x-k,E=y>>>k;E<F;E+=O)f.set(r,(D+E)*3);for(E=1<<x-1;(y&E)!==0;E>>>=1)y^=E;for(y^=E,C=(1<<k)-1;(y&C)!=a[b];)b--,k-=S,C=(1<<k)-1}return U!==0&&d!=1?se:v}function c(h){let _;for(t||(t=[],e=[],n=new Int32Array(ie+1),r=[],i=new Int32Array(ie),a=new Int32Array(ie+1)),e.length<h&&(e=[]),_=0;_<h;_++)e[_]=0;for(_=0;_<ie+1;_++)n[_]=0;for(_=0;_<3;_++)r[_]=0;i.set(n.subarray(0,ie),0),a.set(n.subarray(0,ie+1),0)}s.inflate_trees_bits=function(h,_,m,w,T){let A;return c(19),t[0]=0,A=o(h,0,19,19,null,null,m,_,w,t,e),A==W?T.msg="oversubscribed dynamic bit lengths tree":(A==se||_[0]===0)&&(T.msg="incomplete dynamic bit lengths tree",A=W),A},s.inflate_trees_dynamic=function(h,_,m,w,T,A,u,l,f){let p;return c(288),t[0]=0,p=o(m,0,h,257,Ar,Or,A,w,l,t,e),p!=v||w[0]===0?(p==W?f.msg="oversubscribed literal/length tree":p!=Bt&&(f.msg="incomplete literal/length tree",p=W),p):(c(288),p=o(m,h,_,0,Ir,Cr,u,T,l,t,e),p!=v||T[0]===0&&h>257?(p==W?f.msg="oversubscribed distance tree":p==se?(f.msg="incomplete distance tree",p=W):p!=Bt&&(f.msg="empty distance tree with lengths",p=W),p):v)}}ft.inflate_trees_fixed=function(s,t,e,n){return s[0]=xr,t[0]=Tr,e[0]=Sr,n[0]=Rr,v};const He=0,jt=1,Gt=2,qt=3,Yt=4,Vt=5,Zt=6,ze=7,Kt=8,We=9;function Nr(){const s=this;let t,e=0,n,r=0,i=0,a=0,o=0,c=0,h=0,_=0,m,w=0,T,A=0;function u(l,f,p,g,I,O,d,b){let y,E,x,S,C,R,D,k,P,U,F,G,N,K,L,M;D=b.next_in_index,k=b.avail_in,C=d.bitb,R=d.bitk,P=d.write,U=P<d.read?d.read-P-1:d.end-P,F=$[l],G=$[f];do{for(;R<20;)k--,C|=(b.read_byte(D++)&255)<<R,R+=8;if(y=C&F,E=p,x=g,M=(x+y)*3,(S=E[M])===0){C>>=E[M+1],R-=E[M+1],d.win[P++]=E[M+2],U--;continue}do{if(C>>=E[M+1],R-=E[M+1],(S&16)!==0){for(S&=15,N=E[M+2]+(C&$[S]),C>>=S,R-=S;R<15;)k--,C|=(b.read_byte(D++)&255)<<R,R+=8;y=C&G,E=I,x=O,M=(x+y)*3,S=E[M];do if(C>>=E[M+1],R-=E[M+1],(S&16)!==0){for(S&=15;R<S;)k--,C|=(b.read_byte(D++)&255)<<R,R+=8;if(K=E[M+2]+(C&$[S]),C>>=S,R-=S,U-=N,P>=K)L=P-K,P-L>0&&2>P-L?(d.win[P++]=d.win[L++],d.win[P++]=d.win[L++],N-=2):(d.win.set(d.win.subarray(L,L+2),P),P+=2,L+=2,N-=2);else{L=P-K;do L+=d.end;while(L<0);if(S=d.end-L,N>S){if(N-=S,P-L>0&&S>P-L)do d.win[P++]=d.win[L++];while(--S!==0);else d.win.set(d.win.subarray(L,L+S),P),P+=S,L+=S,S=0;L=0}}if(P-L>0&&N>P-L)do d.win[P++]=d.win[L++];while(--N!==0);else d.win.set(d.win.subarray(L,L+N),P),P+=N,L+=N,N=0;break}else if((S&64)===0)y+=E[M+2],y+=C&$[S],M=(x+y)*3,S=E[M];else return b.msg="invalid distance code",N=b.avail_in-k,N=R>>3<N?R>>3:N,k+=N,D-=N,R-=N<<3,d.bitb=C,d.bitk=R,b.avail_in=k,b.total_in+=D-b.next_in_index,b.next_in_index=D,d.write=P,W;while(!0);break}if((S&64)===0){if(y+=E[M+2],y+=C&$[S],M=(x+y)*3,(S=E[M])===0){C>>=E[M+1],R-=E[M+1],d.win[P++]=E[M+2],U--;break}}else return(S&32)!==0?(N=b.avail_in-k,N=R>>3<N?R>>3:N,k+=N,D-=N,R-=N<<3,d.bitb=C,d.bitk=R,b.avail_in=k,b.total_in+=D-b.next_in_index,b.next_in_index=D,d.write=P,ne):(b.msg="invalid literal/length code",N=b.avail_in-k,N=R>>3<N?R>>3:N,k+=N,D-=N,R-=N<<3,d.bitb=C,d.bitk=R,b.avail_in=k,b.total_in+=D-b.next_in_index,b.next_in_index=D,d.write=P,W)}while(!0)}while(U>=258&&k>=10);return N=b.avail_in-k,N=R>>3<N?R>>3:N,k+=N,D-=N,R-=N<<3,d.bitb=C,d.bitk=R,b.avail_in=k,b.total_in+=D-b.next_in_index,b.next_in_index=D,d.write=P,v}s.init=function(l,f,p,g,I,O){t=He,h=l,_=f,m=p,w=g,T=I,A=O,n=null},s.proc=function(l,f,p){let g,I,O,d=0,b=0,y=0,E,x,S,C;for(y=f.next_in_index,E=f.avail_in,d=l.bitb,b=l.bitk,x=l.write,S=x<l.read?l.read-x-1:l.end-x;;)switch(t){case He:if(S>=258&&E>=10&&(l.bitb=d,l.bitk=b,f.avail_in=E,f.total_in+=y-f.next_in_index,f.next_in_index=y,l.write=x,p=u(h,_,m,w,T,A,l,f),y=f.next_in_index,E=f.avail_in,d=l.bitb,b=l.bitk,x=l.write,S=x<l.read?l.read-x-1:l.end-x,p!=v)){t=p==ne?ze:We;break}i=h,n=m,r=w,t=jt;case jt:for(g=i;b<g;){if(E!==0)p=v;else return l.bitb=d,l.bitk=b,f.avail_in=E,f.total_in+=y-f.next_in_index,f.next_in_index=y,l.write=x,l.inflate_flush(f,p);E--,d|=(f.read_byte(y++)&255)<<b,b+=8}if(I=(r+(d&$[g]))*3,d>>>=n[I+1],b-=n[I+1],O=n[I],O===0){a=n[I+2],t=Zt;break}if((O&16)!==0){o=O&15,e=n[I+2],t=Gt;break}if((O&64)===0){i=O,r=I/3+n[I+2];break}if((O&32)!==0){t=ze;break}return t=We,f.msg="invalid literal/length code",p=W,l.bitb=d,l.bitk=b,f.avail_in=E,f.total_in+=y-f.next_in_index,f.next_in_index=y,l.write=x,l.inflate_flush(f,p);case Gt:for(g=o;b<g;){if(E!==0)p=v;else return l.bitb=d,l.bitk=b,f.avail_in=E,f.total_in+=y-f.next_in_index,f.next_in_index=y,l.write=x,l.inflate_flush(f,p);E--,d|=(f.read_byte(y++)&255)<<b,b+=8}e+=d&$[g],d>>=g,b-=g,i=_,n=T,r=A,t=qt;case qt:for(g=i;b<g;){if(E!==0)p=v;else return l.bitb=d,l.bitk=b,f.avail_in=E,f.total_in+=y-f.next_in_index,f.next_in_index=y,l.write=x,l.inflate_flush(f,p);E--,d|=(f.read_byte(y++)&255)<<b,b+=8}if(I=(r+(d&$[g]))*3,d>>=n[I+1],b-=n[I+1],O=n[I],(O&16)!==0){o=O&15,c=n[I+2],t=Yt;break}if((O&64)===0){i=O,r=I/3+n[I+2];break}return t=We,f.msg="invalid distance code",p=W,l.bitb=d,l.bitk=b,f.avail_in=E,f.total_in+=y-f.next_in_index,f.next_in_index=y,l.write=x,l.inflate_flush(f,p);case Yt:for(g=o;b<g;){if(E!==0)p=v;else return l.bitb=d,l.bitk=b,f.avail_in=E,f.total_in+=y-f.next_in_index,f.next_in_index=y,l.write=x,l.inflate_flush(f,p);E--,d|=(f.read_byte(y++)&255)<<b,b+=8}c+=d&$[g],d>>=g,b-=g,t=Vt;case Vt:for(C=x-c;C<0;)C+=l.end;for(;e!==0;){if(S===0&&(x==l.end&&l.read!==0&&(x=0,S=x<l.read?l.read-x-1:l.end-x),S===0&&(l.write=x,p=l.inflate_flush(f,p),x=l.write,S=x<l.read?l.read-x-1:l.end-x,x==l.end&&l.read!==0&&(x=0,S=x<l.read?l.read-x-1:l.end-x),S===0)))return l.bitb=d,l.bitk=b,f.avail_in=E,f.total_in+=y-f.next_in_index,f.next_in_index=y,l.write=x,l.inflate_flush(f,p);l.win[x++]=l.win[C++],S--,C==l.end&&(C=0),e--}t=He;break;case Zt:if(S===0&&(x==l.end&&l.read!==0&&(x=0,S=x<l.read?l.read-x-1:l.end-x),S===0&&(l.write=x,p=l.inflate_flush(f,p),x=l.write,S=x<l.read?l.read-x-1:l.end-x,x==l.end&&l.read!==0&&(x=0,S=x<l.read?l.read-x-1:l.end-x),S===0)))return l.bitb=d,l.bitk=b,f.avail_in=E,f.total_in+=y-f.next_in_index,f.next_in_index=y,l.write=x,l.inflate_flush(f,p);p=v,l.win[x++]=a,S--,t=He;break;case ze:if(b>7&&(b-=8,E++,y--),l.write=x,p=l.inflate_flush(f,p),x=l.write,S=x<l.read?l.read-x-1:l.end-x,l.read!=l.write)return l.bitb=d,l.bitk=b,f.avail_in=E,f.total_in+=y-f.next_in_index,f.next_in_index=y,l.write=x,l.inflate_flush(f,p);t=Kt;case Kt:return p=ne,l.bitb=d,l.bitk=b,f.avail_in=E,f.total_in+=y-f.next_in_index,f.next_in_index=y,l.write=x,l.inflate_flush(f,p);case We:return p=W,l.bitb=d,l.bitk=b,f.avail_in=E,f.total_in+=y-f.next_in_index,f.next_in_index=y,l.write=x,l.inflate_flush(f,p);default:return p=X,l.bitb=d,l.bitk=b,f.avail_in=E,f.total_in+=y-f.next_in_index,f.next_in_index=y,l.write=x,l.inflate_flush(f,p)}},s.free=function(){}}const Xt=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],we=0,et=1,$t=2,Jt=3,Qt=4,zt=5,Be=6,je=7,en=8,he=9;function Dr(s,t){const e=this;let n=we,r=0,i=0,a=0,o;const c=[0],h=[0],_=new Nr;let m=0,w=new Int32Array(jn*3);const T=0,A=new ft;e.bitk=0,e.bitb=0,e.win=new Uint8Array(t),e.end=t,e.read=0,e.write=0,e.reset=function(u,l){l&&(l[0]=T),n==Be&&_.free(u),n=we,e.bitk=0,e.bitb=0,e.read=e.write=0},e.reset(s,null),e.inflate_flush=function(u,l){let f,p,g;return p=u.next_out_index,g=e.read,f=(g<=e.write?e.write:e.end)-g,f>u.avail_out&&(f=u.avail_out),f!==0&&l==se&&(l=v),u.avail_out-=f,u.total_out+=f,u.next_out.set(e.win.subarray(g,g+f),p),p+=f,g+=f,g==e.end&&(g=0,e.write==e.end&&(e.write=0),f=e.write-g,f>u.avail_out&&(f=u.avail_out),f!==0&&l==se&&(l=v),u.avail_out-=f,u.total_out+=f,u.next_out.set(e.win.subarray(g,g+f),p),p+=f,g+=f),u.next_out_index=p,e.read=g,l},e.proc=function(u,l){let f,p,g,I,O,d,b,y;for(I=u.next_in_index,O=u.avail_in,p=e.bitb,g=e.bitk,d=e.write,b=d<e.read?e.read-d-1:e.end-d;;){let E,x,S,C,R,D,k,P;switch(n){case we:for(;g<3;){if(O!==0)l=v;else return e.bitb=p,e.bitk=g,u.avail_in=O,u.total_in+=I-u.next_in_index,u.next_in_index=I,e.write=d,e.inflate_flush(u,l);O--,p|=(u.read_byte(I++)&255)<<g,g+=8}switch(f=p&7,m=f&1,f>>>1){case 0:p>>>=3,g-=3,f=g&7,p>>>=f,g-=f,n=et;break;case 1:E=[],x=[],S=[[]],C=[[]],ft.inflate_trees_fixed(E,x,S,C),_.init(E[0],x[0],S[0],0,C[0],0),p>>>=3,g-=3,n=Be;break;case 2:p>>>=3,g-=3,n=Jt;break;case 3:return p>>>=3,g-=3,n=he,u.msg="invalid block type",l=W,e.bitb=p,e.bitk=g,u.avail_in=O,u.total_in+=I-u.next_in_index,u.next_in_index=I,e.write=d,e.inflate_flush(u,l)}break;case et:for(;g<32;){if(O!==0)l=v;else return e.bitb=p,e.bitk=g,u.avail_in=O,u.total_in+=I-u.next_in_index,u.next_in_index=I,e.write=d,e.inflate_flush(u,l);O--,p|=(u.read_byte(I++)&255)<<g,g+=8}if((~p>>>16&65535)!=(p&65535))return n=he,u.msg="invalid stored block lengths",l=W,e.bitb=p,e.bitk=g,u.avail_in=O,u.total_in+=I-u.next_in_index,u.next_in_index=I,e.write=d,e.inflate_flush(u,l);r=p&65535,p=g=0,n=r!==0?$t:m!==0?je:we;break;case $t:if(O===0||b===0&&(d==e.end&&e.read!==0&&(d=0,b=d<e.read?e.read-d-1:e.end-d),b===0&&(e.write=d,l=e.inflate_flush(u,l),d=e.write,b=d<e.read?e.read-d-1:e.end-d,d==e.end&&e.read!==0&&(d=0,b=d<e.read?e.read-d-1:e.end-d),b===0)))return e.bitb=p,e.bitk=g,u.avail_in=O,u.total_in+=I-u.next_in_index,u.next_in_index=I,e.write=d,e.inflate_flush(u,l);if(l=v,f=r,f>O&&(f=O),f>b&&(f=b),e.win.set(u.read_buf(I,f),d),I+=f,O-=f,d+=f,b-=f,(r-=f)!==0)break;n=m!==0?je:we;break;case Jt:for(;g<14;){if(O!==0)l=v;else return e.bitb=p,e.bitk=g,u.avail_in=O,u.total_in+=I-u.next_in_index,u.next_in_index=I,e.write=d,e.inflate_flush(u,l);O--,p|=(u.read_byte(I++)&255)<<g,g+=8}if(i=f=p&16383,(f&31)>29||(f>>5&31)>29)return n=he,u.msg="too many length or distance symbols",l=W,e.bitb=p,e.bitk=g,u.avail_in=O,u.total_in+=I-u.next_in_index,u.next_in_index=I,e.write=d,e.inflate_flush(u,l);if(f=258+(f&31)+(f>>5&31),!o||o.length<f)o=[];else for(y=0;y<f;y++)o[y]=0;p>>>=14,g-=14,a=0,n=Qt;case Qt:for(;a<4+(i>>>10);){for(;g<3;){if(O!==0)l=v;else return e.bitb=p,e.bitk=g,u.avail_in=O,u.total_in+=I-u.next_in_index,u.next_in_index=I,e.write=d,e.inflate_flush(u,l);O--,p|=(u.read_byte(I++)&255)<<g,g+=8}o[Xt[a++]]=p&7,p>>>=3,g-=3}for(;a<19;)o[Xt[a++]]=0;if(c[0]=7,f=A.inflate_trees_bits(o,c,h,w,u),f!=v)return l=f,l==W&&(o=null,n=he),e.bitb=p,e.bitk=g,u.avail_in=O,u.total_in+=I-u.next_in_index,u.next_in_index=I,e.write=d,e.inflate_flush(u,l);a=0,n=zt;case zt:for(;f=i,!(a>=258+(f&31)+(f>>5&31));){let U,F;for(f=c[0];g<f;){if(O!==0)l=v;else return e.bitb=p,e.bitk=g,u.avail_in=O,u.total_in+=I-u.next_in_index,u.next_in_index=I,e.write=d,e.inflate_flush(u,l);O--,p|=(u.read_byte(I++)&255)<<g,g+=8}if(f=w[(h[0]+(p&$[f]))*3+1],F=w[(h[0]+(p&$[f]))*3+2],F<16)p>>>=f,g-=f,o[a++]=F;else{for(y=F==18?7:F-14,U=F==18?11:3;g<f+y;){if(O!==0)l=v;else return e.bitb=p,e.bitk=g,u.avail_in=O,u.total_in+=I-u.next_in_index,u.next_in_index=I,e.write=d,e.inflate_flush(u,l);O--,p|=(u.read_byte(I++)&255)<<g,g+=8}if(p>>>=f,g-=f,U+=p&$[y],p>>>=y,g-=y,y=a,f=i,y+U>258+(f&31)+(f>>5&31)||F==16&&y<1)return o=null,n=he,u.msg="invalid bit length repeat",l=W,e.bitb=p,e.bitk=g,u.avail_in=O,u.total_in+=I-u.next_in_index,u.next_in_index=I,e.write=d,e.inflate_flush(u,l);F=F==16?o[y-1]:0;do o[y++]=F;while(--U!==0);a=y}}if(h[0]=-1,R=[],D=[],k=[],P=[],R[0]=9,D[0]=6,f=i,f=A.inflate_trees_dynamic(257+(f&31),1+(f>>5&31),o,R,D,k,P,w,u),f!=v)return f==W&&(o=null,n=he),l=f,e.bitb=p,e.bitk=g,u.avail_in=O,u.total_in+=I-u.next_in_index,u.next_in_index=I,e.write=d,e.inflate_flush(u,l);_.init(R[0],D[0],w,k[0],w,P[0]),n=Be;case Be:if(e.bitb=p,e.bitk=g,u.avail_in=O,u.total_in+=I-u.next_in_index,u.next_in_index=I,e.write=d,(l=_.proc(e,u,l))!=ne)return e.inflate_flush(u,l);if(l=v,_.free(u),I=u.next_in_index,O=u.avail_in,p=e.bitb,g=e.bitk,d=e.write,b=d<e.read?e.read-d-1:e.end-d,m===0){n=we;break}n=je;case je:if(e.write=d,l=e.inflate_flush(u,l),d=e.write,b=d<e.read?e.read-d-1:e.end-d,e.read!=e.write)return e.bitb=p,e.bitk=g,u.avail_in=O,u.total_in+=I-u.next_in_index,u.next_in_index=I,e.write=d,e.inflate_flush(u,l);n=en;case en:return l=ne,e.bitb=p,e.bitk=g,u.avail_in=O,u.total_in+=I-u.next_in_index,u.next_in_index=I,e.write=d,e.inflate_flush(u,l);case he:return l=W,e.bitb=p,e.bitk=g,u.avail_in=O,u.total_in+=I-u.next_in_index,u.next_in_index=I,e.write=d,e.inflate_flush(u,l);default:return l=X,e.bitb=p,e.bitk=g,u.avail_in=O,u.total_in+=I-u.next_in_index,u.next_in_index=I,e.write=d,e.inflate_flush(u,l)}}},e.free=function(u){e.reset(u,null),e.win=null,w=null},e.set_dictionary=function(u,l,f){e.win.set(u.subarray(l,l+f),0),e.read=e.write=f},e.sync_point=function(){return n==et?1:0}}const Pr=32,kr=8,Lr=0,tn=1,nn=2,sn=3,rn=4,an=5,tt=6,Se=7,on=12,ae=13,vr=[0,0,255,255];function Fr(){const s=this;s.mode=0,s.method=0,s.was=[0],s.need=0,s.marker=0,s.wbits=0;function t(e){return!e||!e.istate?X:(e.total_in=e.total_out=0,e.msg=null,e.istate.mode=Se,e.istate.blocks.reset(e,null),v)}s.inflateEnd=function(e){return s.blocks&&s.blocks.free(e),s.blocks=null,v},s.inflateInit=function(e,n){return e.msg=null,s.blocks=null,n<8||n>15?(s.inflateEnd(e),X):(s.wbits=n,e.istate.blocks=new Dr(e,1<<n),t(e),v)},s.inflate=function(e,n){let r,i;if(!e||!e.istate||!e.next_in)return X;const a=e.istate;for(n=n==Er?se:v,r=se;;)switch(a.mode){case Lr:if(e.avail_in===0)return r;if(r=n,e.avail_in--,e.total_in++,((a.method=e.read_byte(e.next_in_index++))&15)!=kr){a.mode=ae,e.msg="unknown compression method",a.marker=5;break}if((a.method>>4)+8>a.wbits){a.mode=ae,e.msg="invalid win size",a.marker=5;break}a.mode=tn;case tn:if(e.avail_in===0)return r;if(r=n,e.avail_in--,e.total_in++,i=e.read_byte(e.next_in_index++)&255,((a.method<<8)+i)%31!==0){a.mode=ae,e.msg="incorrect header check",a.marker=5;break}if((i&Pr)===0){a.mode=Se;break}a.mode=nn;case nn:if(e.avail_in===0)return r;r=n,e.avail_in--,e.total_in++,a.need=(e.read_byte(e.next_in_index++)&255)<<24&4278190080,a.mode=sn;case sn:if(e.avail_in===0)return r;r=n,e.avail_in--,e.total_in++,a.need+=(e.read_byte(e.next_in_index++)&255)<<16&16711680,a.mode=rn;case rn:if(e.avail_in===0)return r;r=n,e.avail_in--,e.total_in++,a.need+=(e.read_byte(e.next_in_index++)&255)<<8&65280,a.mode=an;case an:return e.avail_in===0?r:(r=n,e.avail_in--,e.total_in++,a.need+=e.read_byte(e.next_in_index++)&255,a.mode=tt,br);case tt:return a.mode=ae,e.msg="need dictionary",a.marker=0,X;case Se:if(r=a.blocks.proc(e,r),r==W){a.mode=ae,a.marker=0;break}if(r==v&&(r=n),r!=ne)return r;r=n,a.blocks.reset(e,a.was),a.mode=on;case on:return e.avail_in=0,ne;case ae:return W;default:return X}},s.inflateSetDictionary=function(e,n,r){let i=0,a=r;if(!e||!e.istate||e.istate.mode!=tt)return X;const o=e.istate;return a>=1<<o.wbits&&(a=(1<<o.wbits)-1,i=r-a),o.blocks.set_dictionary(n,i,a),o.mode=Se,v},s.inflateSync=function(e){let n,r,i,a,o;if(!e||!e.istate)return X;const c=e.istate;if(c.mode!=ae&&(c.mode=ae,c.marker=0),(n=e.avail_in)===0)return se;for(r=e.next_in_index,i=c.marker;n!==0&&i<4;)e.read_byte(r)==vr[i]?i++:e.read_byte(r)!==0?i=0:i=4-i,r++,n--;return e.total_in+=r-e.next_in_index,e.next_in_index=r,e.avail_in=n,c.marker=i,i!=4?W:(a=e.total_in,o=e.total_out,t(e),e.total_in=a,e.total_out=o,c.mode=Se,v)},s.inflateSyncPoint=function(e){return!e||!e.istate||!e.istate.blocks?X:e.istate.blocks.sync_point()}}function Gn(){}Gn.prototype={inflateInit(s){const t=this;return t.istate=new Fr,s||(s=gr),t.istate.inflateInit(t,s)},inflate(s){const t=this;return t.istate?t.istate.inflate(t,s):X},inflateEnd(){const s=this;if(!s.istate)return X;const t=s.istate.inflateEnd(s);return s.istate=null,t},inflateSync(){const s=this;return s.istate?s.istate.inflateSync(s):X},inflateSetDictionary(s,t){const e=this;return e.istate?e.istate.inflateSetDictionary(e,s,t):X},read_byte(s){return this.next_in[s]},read_buf(s,t){return this.next_in.subarray(s,s+t)}};function Mr(s){const t=this,e=new Gn,n=s&&s.chunkSize?Math.floor(s.chunkSize*2):128*1024,r=yr,i=new Uint8Array(n);let a=!1;e.inflateInit(),e.next_out=i,t.append=function(o,c){const h=[];let _,m,w=0,T=0,A=0;if(o.length!==0){e.next_in_index=0,e.next_in=o,e.avail_in=o.length;do{if(e.next_out_index=0,e.avail_out=n,e.avail_in===0&&!a&&(e.next_in_index=0,a=!0),_=e.inflate(r),a&&_===se){if(e.avail_in!==0)throw new Error("inflating: bad input")}else if(_!==v&&_!==ne)throw new Error("inflating: "+e.msg);if((a||_===ne)&&e.avail_in===o.length)throw new Error("inflating: bad input");e.next_out_index&&(e.next_out_index===n?h.push(new Uint8Array(i)):h.push(i.subarray(0,e.next_out_index))),A+=e.next_out_index,c&&e.next_in_index>0&&e.next_in_index!=w&&(c(e.next_in_index),w=e.next_in_index)}while(e.avail_in>0||e.avail_out===0);return h.length>1?(m=new Uint8Array(A),h.forEach(function(u){m.set(u,T),T+=u.length})):m=h[0]?new Uint8Array(h[0]):new Uint8Array,m}},t.flush=function(){e.inflateEnd()}}const pe=4294967295,le=65535,Ur=8,Hr=0,Wr=99,Br=67324752,qn=134695760,jr=qn,cn=33639248,Gr=101010256,ln=101075792,qr=117853008,te=22,nt=20,st=56,Yr=12,Vr=20,fn=4,Zr=1,Kr=39169,Xr=10,$r=1,Jr=21589,Qr=28789,zr=25461,ei=6534,un=1,ti=6,dn=8,_n=2048,hn=16,ni=61440,si=16384,ri=73,pn="/",rt=30,ii=10,ai=14,oi=18,j=void 0,de="undefined",Pe="function";class mn{constructor(t){return class extends TransformStream{constructor(e,n){const r=new t(n);super({transform(i,a){a.enqueue(r.append(i))},flush(i){const a=r.flush();a&&i.enqueue(a)}})}}}}const ci=64;let Yn=2;try{typeof navigator!=de&&navigator.hardwareConcurrency&&(Yn=navigator.hardwareConcurrency)}catch{}const li={chunkSize:512*1024,maxWorkers:Yn,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,workerScripts:j,CompressionStreamNative:typeof CompressionStream!=de&&CompressionStream,DecompressionStreamNative:typeof DecompressionStream!=de&&DecompressionStream},fe=Object.assign({},li);function Vn(){return fe}function fi(s){return Math.max(s.chunkSize,ci)}function Zn(s){const{baseURL:t,chunkSize:e,maxWorkers:n,terminateWorkerTimeout:r,useCompressionStream:i,useWebWorkers:a,Deflate:o,Inflate:c,CompressionStream:h,DecompressionStream:_,workerScripts:m}=s;if(oe("baseURL",t),oe("chunkSize",e),oe("maxWorkers",n),oe("terminateWorkerTimeout",r),oe("useCompressionStream",i),oe("useWebWorkers",a),o&&(fe.CompressionStream=new mn(o)),c&&(fe.DecompressionStream=new mn(c)),oe("CompressionStream",h),oe("DecompressionStream",_),m!==j){const{deflate:w,inflate:T}=m;if((w||T)&&(fe.workerScripts||(fe.workerScripts={})),w){if(!Array.isArray(w))throw new Error("workerScripts.deflate must be an array");fe.workerScripts.deflate=w}if(T){if(!Array.isArray(T))throw new Error("workerScripts.inflate must be an array");fe.workerScripts.inflate=T}}}function oe(s,t){t!==j&&(fe[s]=t)}function ui(){return"application/octet-stream"}const Kn=[];for(let s=0;s<256;s++){let t=s;for(let e=0;e<8;e++)t&1?t=t>>>1^3988292384:t=t>>>1;Kn[s]=t}class Ve{constructor(t){this.crc=t||-1}append(t){let e=this.crc|0;for(let n=0,r=t.length|0;n<r;n++)e=e>>>8^Kn[(e^t[n])&255];this.crc=e}get(){return~this.crc}}class Xn extends TransformStream{constructor(){let t;const e=new Ve;super({transform(n,r){e.append(n),r.enqueue(n)},flush(){const n=new Uint8Array(4);new DataView(n.buffer).setUint32(0,e.get()),t.value=n}}),t=this}}function di(s){if(typeof TextEncoder==de){s=unescape(encodeURIComponent(s));const t=new Uint8Array(s.length);for(let e=0;e<t.length;e++)t[e]=s.charCodeAt(e);return t}else return new TextEncoder().encode(s)}const Z={concat(s,t){if(s.length===0||t.length===0)return s.concat(t);const e=s[s.length-1],n=Z.getPartial(e);return n===32?s.concat(t):Z._shiftRight(t,n,e|0,s.slice(0,s.length-1))},bitLength(s){const t=s.length;if(t===0)return 0;const e=s[t-1];return(t-1)*32+Z.getPartial(e)},clamp(s,t){if(s.length*32<t)return s;s=s.slice(0,Math.ceil(t/32));const e=s.length;return t=t&31,e>0&&t&&(s[e-1]=Z.partial(t,s[e-1]&2147483648>>t-1,1)),s},partial(s,t,e){return s===32?t:(e?t|0:t<<32-s)+s*1099511627776},getPartial(s){return Math.round(s/1099511627776)||32},_shiftRight(s,t,e,n){for(n===void 0&&(n=[]);t>=32;t-=32)n.push(e),e=0;if(t===0)return n.concat(s);for(let a=0;a<s.length;a++)n.push(e|s[a]>>>t),e=s[a]<<32-t;const r=s.length?s[s.length-1]:0,i=Z.getPartial(r);return n.push(Z.partial(t+i&31,t+i>32?e:n.pop(),1)),n}},Ze={bytes:{fromBits(s){const e=Z.bitLength(s)/8,n=new Uint8Array(e);let r;for(let i=0;i<e;i++)(i&3)===0&&(r=s[i/4]),n[i]=r>>>24,r<<=8;return n},toBits(s){const t=[];let e,n=0;for(e=0;e<s.length;e++)n=n<<8|s[e],(e&3)===3&&(t.push(n),n=0);return e&3&&t.push(Z.partial(8*(e&3),n)),t}}},$n={};$n.sha1=class{constructor(s){const t=this;t.blockSize=512,t._init=[1732584193,4023233417,2562383102,271733878,3285377520],t._key=[1518500249,1859775393,2400959708,3395469782],s?(t._h=s._h.slice(0),t._buffer=s._buffer.slice(0),t._length=s._length):t.reset()}reset(){const s=this;return s._h=s._init.slice(0),s._buffer=[],s._length=0,s}update(s){const t=this;typeof s=="string"&&(s=Ze.utf8String.toBits(s));const e=t._buffer=Z.concat(t._buffer,s),n=t._length,r=t._length=n+Z.bitLength(s);if(r>9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");const i=new Uint32Array(e);let a=0;for(let o=t.blockSize+n-(t.blockSize+n&t.blockSize-1);o<=r;o+=t.blockSize)t._block(i.subarray(16*a,16*(a+1))),a+=1;return e.splice(0,16*a),t}finalize(){const s=this;let t=s._buffer;const e=s._h;t=Z.concat(t,[Z.partial(1,1)]);for(let n=t.length+2;n&15;n++)t.push(0);for(t.push(Math.floor(s._length/4294967296)),t.push(s._length|0);t.length;)s._block(t.splice(0,16));return s.reset(),e}_f(s,t,e,n){if(s<=19)return t&e|~t&n;if(s<=39)return t^e^n;if(s<=59)return t&e|t&n|e&n;if(s<=79)return t^e^n}_S(s,t){return t<<s|t>>>32-s}_block(s){const t=this,e=t._h,n=Array(80);for(let h=0;h<16;h++)n[h]=s[h];let r=e[0],i=e[1],a=e[2],o=e[3],c=e[4];for(let h=0;h<=79;h++){h>=16&&(n[h]=t._S(1,n[h-3]^n[h-8]^n[h-14]^n[h-16]));const _=t._S(5,r)+t._f(h,i,a,o)+c+n[h]+t._key[Math.floor(h/20)]|0;c=o,o=a,a=t._S(30,i),i=r,r=_}e[0]=e[0]+r|0,e[1]=e[1]+i|0,e[2]=e[2]+a|0,e[3]=e[3]+o|0,e[4]=e[4]+c|0}};const Jn={};Jn.aes=class{constructor(s){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const e=t._tables[0][4],n=t._tables[1],r=s.length;let i,a,o,c=1;if(r!==4&&r!==6&&r!==8)throw new Error("invalid aes key size");for(t._key=[a=s.slice(0),o=[]],i=r;i<4*r+28;i++){let h=a[i-1];(i%r===0||r===8&&i%r===4)&&(h=e[h>>>24]<<24^e[h>>16&255]<<16^e[h>>8&255]<<8^e[h&255],i%r===0&&(h=h<<8^h>>>24^c<<24,c=c<<1^(c>>7)*283)),a[i]=a[i-r]^h}for(let h=0;i;h++,i--){const _=a[h&3?i:i-4];i<=4||h<4?o[h]=_:o[h]=n[0][e[_>>>24]]^n[1][e[_>>16&255]]^n[2][e[_>>8&255]]^n[3][e[_&255]]}}encrypt(s){return this._crypt(s,0)}decrypt(s){return this._crypt(s,1)}_precompute(){const s=this._tables[0],t=this._tables[1],e=s[4],n=t[4],r=[],i=[];let a,o,c,h;for(let _=0;_<256;_++)i[(r[_]=_<<1^(_>>7)*283)^_]=_;for(let _=a=0;!e[_];_^=o||1,a=i[a]||1){let m=a^a<<1^a<<2^a<<3^a<<4;m=m>>8^m&255^99,e[_]=m,n[m]=_,h=r[c=r[o=r[_]]];let w=h*16843009^c*65537^o*257^_*16843008,T=r[m]*257^m*16843008;for(let A=0;A<4;A++)s[A][_]=T=T<<24^T>>>8,t[A][m]=w=w<<24^w>>>8}for(let _=0;_<5;_++)s[_]=s[_].slice(0),t[_]=t[_].slice(0)}_crypt(s,t){if(s.length!==4)throw new Error("invalid aes block size");const e=this._key[t],n=e.length/4-2,r=[0,0,0,0],i=this._tables[t],a=i[0],o=i[1],c=i[2],h=i[3],_=i[4];let m=s[0]^e[0],w=s[t?3:1]^e[1],T=s[2]^e[2],A=s[t?1:3]^e[3],u=4,l,f,p;for(let g=0;g<n;g++)l=a[m>>>24]^o[w>>16&255]^c[T>>8&255]^h[A&255]^e[u],f=a[w>>>24]^o[T>>16&255]^c[A>>8&255]^h[m&255]^e[u+1],p=a[T>>>24]^o[A>>16&255]^c[m>>8&255]^h[w&255]^e[u+2],A=a[A>>>24]^o[m>>16&255]^c[w>>8&255]^h[T&255]^e[u+3],u+=4,m=l,w=f,T=p;for(let g=0;g<4;g++)r[t?3&-g:g]=_[m>>>24]<<24^_[w>>16&255]<<16^_[T>>8&255]<<8^_[A&255]^e[u++],l=m,m=w,w=T,T=A,A=l;return r}};const _i={getRandomValues(s){const t=new Uint32Array(s.buffer),e=n=>{let r=987654321;const i=4294967295;return function(){return r=36969*(r&65535)+(r>>16)&i,n=18e3*(n&65535)+(n>>16)&i,(((r<<16)+n&i)/4294967296+.5)*(Math.random()>.5?1:-1)}};for(let n=0,r;n<s.length;n+=4){const i=e((r||Math.random())*4294967296);r=i()*987654071,t[n/4]=i()*4294967296|0}return s}},Qn={};Qn.ctrGladman=class{constructor(s,t){this._prf=s,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(s){return this.calculate(this._prf,s,this._iv)}incWord(s){if((s>>24&255)===255){let t=s>>16&255,e=s>>8&255,n=s&255;t===255?(t=0,e===255?(e=0,n===255?n=0:++n):++e):++t,s=0,s+=t<<16,s+=e<<8,s+=n}else s+=1<<24;return s}incCounter(s){(s[0]=this.incWord(s[0]))===0&&(s[1]=this.incWord(s[1]))}calculate(s,t,e){let n;if(!(n=t.length))return[];const r=Z.bitLength(t);for(let i=0;i<n;i+=4){this.incCounter(e);const a=s.encrypt(e);t[i]^=a[0],t[i+1]^=a[1],t[i+2]^=a[2],t[i+3]^=a[3]}return Z.clamp(t,r)}};const me={importKey(s){return new me.hmacSha1(Ze.bytes.toBits(s))},pbkdf2(s,t,e,n){if(e=e||1e4,n<0||e<0)throw new Error("invalid params to pbkdf2");const r=(n>>5)+1<<2;let i,a,o,c,h;const _=new ArrayBuffer(r),m=new DataView(_);let w=0;const T=Z;for(t=Ze.bytes.toBits(t),h=1;w<(r||1);h++){for(i=a=s.encrypt(T.concat(t,[h])),o=1;o<e;o++)for(a=s.encrypt(a),c=0;c<a.length;c++)i[c]^=a[c];for(o=0;w<(r||1)&&o<i.length;o++)m.setInt32(w,i[o]),w+=4}return _.slice(0,n/8)}};me.hmacSha1=class{constructor(s){const t=this,e=t._hash=$n.sha1,n=[[],[]];t._baseHash=[new e,new e];const r=t._baseHash[0].blockSize/32;s.length>r&&(s=new e().update(s).finalize());for(let i=0;i<r;i++)n[0][i]=s[i]^909522486,n[1][i]=s[i]^1549556828;t._baseHash[0].update(n[0]),t._baseHash[1].update(n[1]),t._resultHash=new e(t._baseHash[0])}reset(){const s=this;s._resultHash=new s._hash(s._baseHash[0]),s._updated=!1}update(s){const t=this;t._updated=!0,t._resultHash.update(s)}digest(){const s=this,t=s._resultHash.finalize(),e=new s._hash(s._baseHash[1]).update(t).finalize();return s.reset(),e}encrypt(s){if(this._updated)throw new Error("encrypt on already updated hmac called!");return this.update(s),this.digest(s)}};const hi=typeof crypto!=de&&typeof crypto.getRandomValues==Pe,yt="Invalid password",Et="Invalid signature",xt="zipjs-abort-check-password";function zn(s){return hi?crypto.getRandomValues(s):_i.getRandomValues(s)}const ge=16,pi="raw",es={name:"PBKDF2"},mi={name:"HMAC"},wi="SHA-1",gi=Object.assign({hash:mi},es),ut=Object.assign({iterations:1e3,hash:{name:wi}},es),bi=["deriveBits"],Ie=[8,12,16],Re=[16,24,32],ce=10,yi=[0,0,0,0],$e=typeof crypto!=de,ke=$e&&crypto.subtle,ts=$e&&typeof ke!=de,z=Ze.bytes,Ei=Jn.aes,xi=Qn.ctrGladman,Ti=me.hmacSha1;let wn=$e&&ts&&typeof ke.importKey==Pe,gn=$e&&ts&&typeof ke.deriveBits==Pe;class Si extends TransformStream{constructor({password:t,rawPassword:e,signed:n,encryptionStrength:r,checkPasswordOnly:i}){super({start(){Object.assign(this,{ready:new Promise(a=>this.resolveReady=a),password:rs(t,e),signed:n,strength:r-1,pending:new Uint8Array})},async transform(a,o){const c=this,{password:h,strength:_,resolveReady:m,ready:w}=c;h?(await Ai(c,_,h,J(a,0,Ie[_]+2)),a=J(a,Ie[_]+2),i?o.error(new Error(xt)):m()):await w;const T=new Uint8Array(a.length-ce-(a.length-ce)%ge);o.enqueue(ns(c,a,T,0,ce,!0))},async flush(a){const{signed:o,ctr:c,hmac:h,pending:_,ready:m}=this;if(h&&c){await m;const w=J(_,0,_.length-ce),T=J(_,_.length-ce);let A=new Uint8Array;if(w.length){const u=Ne(z,w);h.update(u);const l=c.update(u);A=Ce(z,l)}if(o){const u=J(Ce(z,h.digest()),0,ce);for(let l=0;l<ce;l++)if(u[l]!=T[l])throw new Error(Et)}a.enqueue(A)}}})}}class Ri extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:n}){let r;super({start(){Object.assign(this,{ready:new Promise(i=>this.resolveReady=i),password:rs(t,e),strength:n-1,pending:new Uint8Array})},async transform(i,a){const o=this,{password:c,strength:h,resolveReady:_,ready:m}=o;let w=new Uint8Array;c?(w=await Oi(o,h,c),_()):await m;const T=new Uint8Array(w.length+i.length-i.length%ge);T.set(w,0),a.enqueue(ns(o,i,T,w.length,0))},async flush(i){const{ctr:a,hmac:o,pending:c,ready:h}=this;if(o&&a){await h;let _=new Uint8Array;if(c.length){const m=a.update(Ne(z,c));o.update(m),_=Ce(z,m)}r.signature=Ce(z,o.digest()).slice(0,ce),i.enqueue(Tt(_,r.signature))}}}),r=this}}function ns(s,t,e,n,r,i){const{ctr:a,hmac:o,pending:c}=s,h=t.length-r;c.length&&(t=Tt(c,t),e=Ni(e,h-h%ge));let _;for(_=0;_<=h-ge;_+=ge){const m=Ne(z,J(t,_,_+ge));i&&o.update(m);const w=a.update(m);i||o.update(w),e.set(Ce(z,w),_+n)}return s.pending=J(t,_),e}async function Ai(s,t,e,n){const r=await ss(s,t,e,J(n,0,Ie[t])),i=J(n,Ie[t]);if(r[0]!=i[0]||r[1]!=i[1])throw new Error(yt)}async function Oi(s,t,e){const n=zn(new Uint8Array(Ie[t])),r=await ss(s,t,e,n);return Tt(n,r)}async function ss(s,t,e,n){s.password=null;const r=await Ii(pi,e,gi,!1,bi),i=await Ci(Object.assign({salt:n},ut),r,8*(Re[t]*2+2)),a=new Uint8Array(i),o=Ne(z,J(a,0,Re[t])),c=Ne(z,J(a,Re[t],Re[t]*2)),h=J(a,Re[t]*2);return Object.assign(s,{keys:{key:o,authentication:c,passwordVerification:h},ctr:new xi(new Ei(o),Array.from(yi)),hmac:new Ti(c)}),h}async function Ii(s,t,e,n,r){if(wn)try{return await ke.importKey(s,t,e,n,r)}catch{return wn=!1,me.importKey(t)}else return me.importKey(t)}async function Ci(s,t,e){if(gn)try{return await ke.deriveBits(s,t,e)}catch{return gn=!1,me.pbkdf2(t,s.salt,ut.iterations,e)}else return me.pbkdf2(t,s.salt,ut.iterations,e)}function rs(s,t){return t===j?di(s):t}function Tt(s,t){let e=s;return s.length+t.length&&(e=new Uint8Array(s.length+t.length),e.set(s,0),e.set(t,s.length)),e}function Ni(s,t){if(t&&t>s.length){const e=s;s=new Uint8Array(t),s.set(e,0)}return s}function J(s,t,e){return s.subarray(t,e)}function Ce(s,t){return s.fromBits(t)}function Ne(s,t){return s.toBits(t)}const Oe=12;class Di extends TransformStream{constructor({password:t,passwordVerification:e,checkPasswordOnly:n}){super({start(){Object.assign(this,{password:t,passwordVerification:e}),is(this,t)},transform(r,i){const a=this;if(a.password){const o=bn(a,r.subarray(0,Oe));if(a.password=null,o.at(-1)!=a.passwordVerification)throw new Error(yt);r=r.subarray(Oe)}n?i.error(new Error(xt)):i.enqueue(bn(a,r))}})}}class Pi extends TransformStream{constructor({password:t,passwordVerification:e}){super({start(){Object.assign(this,{password:t,passwordVerification:e}),is(this,t)},transform(n,r){const i=this;let a,o;if(i.password){i.password=null;const c=zn(new Uint8Array(Oe));c[Oe-1]=i.passwordVerification,a=new Uint8Array(n.length+c.length),a.set(yn(i,c),0),o=Oe}else a=new Uint8Array(n.length),o=0;a.set(yn(i,n),o),r.enqueue(a)}})}}function bn(s,t){const e=new Uint8Array(t.length);for(let n=0;n<t.length;n++)e[n]=as(s)^t[n],St(s,e[n]);return e}function yn(s,t){const e=new Uint8Array(t.length);for(let n=0;n<t.length;n++)e[n]=as(s)^t[n],St(s,t[n]);return e}function is(s,t){const e=[305419896,591751049,878082192];Object.assign(s,{keys:e,crcKey0:new Ve(e[0]),crcKey2:new Ve(e[2])});for(let n=0;n<t.length;n++)St(s,t.charCodeAt(n))}function St(s,t){let[e,n,r]=s.keys;s.crcKey0.append([t]),e=~s.crcKey0.get(),n=En(Math.imul(En(n+os(e)),134775813)+1),s.crcKey2.append([n>>>24]),r=~s.crcKey2.get(),s.keys=[e,n,r]}function as(s){const t=s.keys[2]|2;return os(Math.imul(t,t^1)>>>8)}function os(s){return s&255}function En(s){return s&4294967295}const Rt="Invalid uncompressed size",xn="deflate-raw";class ki extends TransformStream{constructor(t,{chunkSize:e,CompressionStream:n,CompressionStreamNative:r}){super({});const{compressed:i,encrypted:a,useCompressionStream:o,zipCrypto:c,signed:h,level:_}=t,m=this;let w,T,A=super.readable;(!a||c)&&h&&(w=new Xn,A=re(A,w)),i&&(A=ls(A,o,{level:_,chunkSize:e},r,n)),a&&(c?A=re(A,new Pi(t)):(T=new Ri(t),A=re(A,T))),cs(m,A,()=>{let u;a&&!c&&(u=T.signature),(!a||c)&&h&&(u=new DataView(w.value.buffer).getUint32(0)),m.signature=u})}}class Li extends TransformStream{constructor(t,{chunkSize:e,DecompressionStream:n,DecompressionStreamNative:r}){super({});const{zipCrypto:i,encrypted:a,signed:o,signature:c,compressed:h,useCompressionStream:_}=t;let m,w,T=super.readable;a&&(i?T=re(T,new Di(t)):(w=new Si(t),T=re(T,w))),h&&(T=ls(T,_,{chunkSize:e},r,n)),(!a||i)&&o&&(m=new Xn,T=re(T,m)),cs(this,T,()=>{if((!a||i)&&o){const A=new DataView(m.value.buffer);if(c!=A.getUint32(0,!1))throw new Error(Et)}})}}function cs(s,t,e){t=re(t,new TransformStream({flush:e})),Object.defineProperty(s,"readable",{get(){return t}})}function ls(s,t,e,n,r){try{const i=t&&n?n:r;s=re(s,new i(xn,e))}catch(i){if(t)s=re(s,new r(xn,e));else throw i}return s}function re(s,t){return s.pipeThrough(t)}const vi="message",Fi="start",Mi="pull",Tn="data",Ui="ack",Sn="close",Hi="deflate",fs="inflate";class Wi extends TransformStream{constructor(t,e){super({});const n=this,{codecType:r}=t;let i;r.startsWith(Hi)?i=ki:r.startsWith(fs)&&(i=Li),n.outputSize=0;let a=0;const o=new i(t,e),c=super.readable,h=new TransformStream({transform(m,w){m&&m.length&&(a+=m.length,w.enqueue(m))},flush(){Object.assign(n,{inputSize:a})}}),_=new TransformStream({transform(m,w){if(m&&m.length&&(w.enqueue(m),n.outputSize+=m.length,t.outputSize&&n.outputSize>t.outputSize))throw new Error(Rt)},flush(){const{signature:m}=o;Object.assign(n,{signature:m,inputSize:a})}});Object.defineProperty(n,"readable",{get(){return c.pipeThrough(h).pipeThrough(o).pipeThrough(_)}})}}class Bi extends TransformStream{constructor(t){let e;super({transform:n,flush(r){e&&e.length&&r.enqueue(e)}});function n(r,i){if(e){const a=new Uint8Array(e.length+r.length);a.set(e),a.set(r,e.length),r=a,e=null}r.length>t?(i.enqueue(r.slice(0,t)),n(r.slice(t),i)):e=r}}}let us=typeof Worker!=de;class it{constructor(t,{readable:e,writable:n},{options:r,config:i,streamOptions:a,useWebWorkers:o,transferStreams:c,scripts:h},_){const{signal:m}=a;return Object.assign(t,{busy:!0,readable:e.pipeThrough(new Bi(i.chunkSize)).pipeThrough(new ji(a),{signal:m}),writable:n,options:Object.assign({},r),scripts:h,transferStreams:c,terminate(){return new Promise(w=>{const{worker:T,busy:A}=t;T?(A?t.resolveTerminated=w:(T.terminate(),w()),t.interface=null):w()})},onTaskFinished(){const{resolveTerminated:w}=t;w&&(t.resolveTerminated=null,t.terminated=!0,t.worker.terminate(),w()),t.busy=!1,_(t)}}),(o&&us?Gi:ds)(t,i)}}class ji extends TransformStream{constructor({onstart:t,onprogress:e,size:n,onend:r}){let i=0;super({async start(){t&&await at(t,n)},async transform(a,o){i+=a.length,e&&await at(e,i,n),o.enqueue(a)},async flush(){r&&await at(r,i)}})}}async function at(s,...t){try{await s(...t)}catch{}}function ds(s,t){return{run:()=>qi(s,t)}}function Gi(s,t){const{baseURL:e,chunkSize:n}=t;if(!s.interface){let r;try{r=Zi(s.scripts[0],e,s)}catch{return us=!1,ds(s,t)}Object.assign(s,{worker:r,interface:{run:()=>Yi(s,{chunkSize:n})}})}return s.interface}async function qi({options:s,readable:t,writable:e,onTaskFinished:n},r){let i;try{i=new Wi(s,r),await t.pipeThrough(i).pipeTo(e,{preventClose:!0,preventAbort:!0});const{signature:a,inputSize:o,outputSize:c}=i;return{signature:a,inputSize:o,outputSize:c}}catch(a){throw i&&(a.outputSize=i.outputSize),a}finally{n()}}async function Yi(s,t){let e,n;const r=new Promise((w,T)=>{e=w,n=T});Object.assign(s,{reader:null,writer:null,resolveResult:e,rejectResult:n,result:r});const{readable:i,options:a,scripts:o}=s,{writable:c,closed:h}=Vi(s.writable),_=Ge({type:Fi,scripts:o.slice(1),options:a,config:t,readable:i,writable:c},s);_||Object.assign(s,{reader:i.getReader(),writer:c.getWriter()});const m=await r;return _||await c.getWriter().close(),await h,m}function Vi(s){let t;const e=new Promise(r=>t=r);return{writable:new WritableStream({async write(r){const i=s.getWriter();await i.ready,await i.write(r),i.releaseLock()},close(){t()},abort(r){return s.getWriter().abort(r)}}),closed:e}}let Rn=!0,An=!0;function Zi(s,t,e){const n={type:"module"};let r,i;typeof s==Pe&&(s=s());try{r=new URL(s,t)}catch{r=s}if(Rn)try{i=new Worker(r)}catch{Rn=!1,i=new Worker(r,n)}else i=new Worker(r,n);return i.addEventListener(vi,a=>Ki(a,e)),i}function Ge(s,{worker:t,writer:e,onTaskFinished:n,transferStreams:r}){try{const{value:i,readable:a,writable:o}=s,c=[];if(i&&(i.byteLength<i.buffer.byteLength?s.value=i.buffer.slice(0,i.byteLength):s.value=i.buffer,c.push(s.value)),r&&An?(a&&c.push(a),o&&c.push(o)):s.readable=s.writable=null,c.length)try{return t.postMessage(s,c),!0}catch{An=!1,s.readable=s.writable=null,t.postMessage(s)}else t.postMessage(s)}catch(i){throw e&&e.releaseLock(),n(),i}}async function Ki({data:s},t){const{type:e,value:n,messageId:r,result:i,error:a}=s,{reader:o,writer:c,resolveResult:h,rejectResult:_,onTaskFinished:m}=t;try{if(a){const{message:T,stack:A,code:u,name:l,outputSize:f}=a,p=new Error(T);Object.assign(p,{stack:A,code:u,name:l,outputSize:f}),w(p)}else{if(e==Mi){const{value:T,done:A}=await o.read();Ge({type:Tn,value:T,done:A,messageId:r},t)}e==Tn&&(await c.ready,await c.write(new Uint8Array(n)),Ge({type:Ui,messageId:r},t)),e==Sn&&w(null,i)}}catch(T){Ge({type:Sn,messageId:r},t),w(T)}function w(T,A){T?_(T):h(A),c&&c.releaseLock(),m()}}let ue=[];const ot=[];let On=0;async function Xi(s,t){const{options:e,config:n}=t,{transferStreams:r,useWebWorkers:i,useCompressionStream:a,codecType:o,compressed:c,signed:h,encrypted:_}=e,{workerScripts:m,maxWorkers:w}=n;t.transferStreams=r||r===j;const T=!c&&!h&&!_&&!t.transferStreams;return t.useWebWorkers=!T&&(i||i===j&&n.useWebWorkers),t.scripts=t.useWebWorkers&&m?m[o]:[],e.useCompressionStream=a||a===j&&n.useCompressionStream,(await A()).run();async function A(){const l=ue.find(f=>!f.busy);if(l)return dt(l),new it(l,s,t,u);if(ue.length<w){const f={indexWorker:On};return On++,ue.push(f),new it(f,s,t,u)}else return new Promise(f=>ot.push({resolve:f,stream:s,workerOptions:t}))}function u(l){if(ot.length){const[{resolve:f,stream:p,workerOptions:g}]=ot.splice(0,1);f(new it(l,p,g,u))}else l.worker?(dt(l),$i(l,t)):ue=ue.filter(f=>f!=l)}}function $i(s,t){const{config:e}=t,{terminateWorkerTimeout:n}=e;Number.isFinite(n)&&n>=0&&(s.terminated?s.terminated=!1:s.terminateTimeout=setTimeout(async()=>{ue=ue.filter(r=>r!=s);try{await s.terminate()}catch{}},n))}function dt(s){const{terminateTimeout:t}=s;t&&(clearTimeout(t),s.terminateTimeout=null)}async function Ji(){await Promise.allSettled(ue.map(s=>(dt(s),s.terminate())))}const _s="HTTP error ",Le="HTTP Range not supported",hs="Writer iterator completed too soon",ps="Writer not initialized",Qi="text/plain",zi="Content-Length",ea="Content-Range",ta="Accept-Ranges",na="Range",sa="Content-Type",ra="HEAD",At="GET",ms="bytes",ia=64*1024,Ot="writable";class Je{constructor(){this.size=0}init(){this.initialized=!0}}class _e extends Je{get readable(){const t=this,{chunkSize:e=ia}=t,n=new ReadableStream({start(){this.chunkOffset=0},async pull(r){const{offset:i=0,size:a,diskNumberStart:o}=n,{chunkOffset:c}=this,h=a===j?e:Math.min(e,a-c),_=await q(t,i+c,h,o);r.enqueue(_),c+e>a||a===j&&!_.length&&h?r.close():this.chunkOffset+=e}});return n}}class It extends Je{constructor(){super();const t=this,e=new WritableStream({write(n){if(!t.initialized)throw new Error(ps);return t.writeUint8Array(n)}});Object.defineProperty(t,Ot,{get(){return e}})}writeUint8Array(){}}class aa extends _e{constructor(t){super();let e=t.length;for(;t.charAt(e-1)=="=";)e--;const n=t.indexOf(",")+1;Object.assign(this,{dataURI:t,dataStart:n,size:Math.floor((e-n)*.75)})}readUint8Array(t,e){const{dataStart:n,dataURI:r}=this,i=new Uint8Array(e),a=Math.floor(t/3)*4,o=atob(r.substring(a+n,Math.ceil((t+e)/3)*4+n)),c=t-Math.floor(a/4)*3;let h=0;for(let _=c;_<c+e&&_<o.length;_++)i[_-c]=o.charCodeAt(_),h++;return h<i.length?i.subarray(0,h):i}}class oa extends It{constructor(t){super(),Object.assign(this,{data:"data:"+(t||"")+";base64,",pending:[]})}writeUint8Array(t){const e=this;let n=0,r=e.pending;const i=e.pending.length;for(e.pending="",n=0;n<Math.floor((i+t.length)/3)*3-i;n++)r+=String.fromCharCode(t[n]);for(;n<t.length;n++)e.pending+=String.fromCharCode(t[n]);r.length&&(r.length>2?e.data+=btoa(r):e.pending+=r)}getData(){return this.data+btoa(this.pending)}}class Ct extends _e{constructor(t){super(),Object.assign(this,{blob:t,size:t.size})}async readUint8Array(t,e){const n=this,r=t+e;let a=await(t||r<n.size?n.blob.slice(t,r):n.blob).arrayBuffer();return a.byteLength>e&&(a=a.slice(t,r)),new Uint8Array(a)}}class ws extends Je{constructor(t){super();const e=this,n=new TransformStream,r=[];t&&r.push([sa,t]),Object.defineProperty(e,Ot,{get(){return n.writable}}),e.blob=new Response(n.readable,{headers:r}).blob()}getData(){return this.blob}}class ca extends Ct{constructor(t){super(new Blob([t],{type:Qi}))}}class la extends ws{constructor(t){super(t),Object.assign(this,{encoding:t,utf8:!t||t.toLowerCase()=="utf-8"})}async getData(){const{encoding:t,utf8:e}=this,n=await super.getData();if(n.text&&e)return n.text();{const r=new FileReader;return new Promise((i,a)=>{Object.assign(r,{onload:({target:o})=>i(o.result),onerror:()=>a(r.error)}),r.readAsText(n,t)})}}}class fa extends _e{constructor(t,e){super(),gs(this,t,e)}async init(){await bs(this,_t,In),super.init()}readUint8Array(t,e){return ys(this,t,e,_t,In)}}class ua extends _e{constructor(t,e){super(),gs(this,t,e)}async init(){await bs(this,ht,Cn),super.init()}readUint8Array(t,e){return ys(this,t,e,ht,Cn)}}function gs(s,t,e){const{preventHeadRequest:n,useRangeHeader:r,forceRangeRequests:i,combineSizeEocd:a}=e;e=Object.assign({},e),delete e.preventHeadRequest,delete e.useRangeHeader,delete e.forceRangeRequests,delete e.combineSizeEocd,delete e.useXHR,Object.assign(s,{url:t,options:e,preventHeadRequest:n,useRangeHeader:r,forceRangeRequests:i,combineSizeEocd:a})}async function bs(s,t,e){const{url:n,preventHeadRequest:r,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:o}=s;if(pa(n)&&(i||a)&&(typeof r>"u"||r)){const c=await t(At,s,Es(s,o?-te:void 0));if(!a&&c.headers.get(ta)!=ms)throw new Error(Le);{o&&(s.eocdCache=new Uint8Array(await c.arrayBuffer()));let h;const _=c.headers.get(ea);if(_){const m=_.trim().split(/\s*\/\s*/);if(m.length){const w=m[1];w&&w!="*"&&(h=Number(w))}}h===j?await Nn(s,t,e):s.size=h}}else await Nn(s,t,e)}async function ys(s,t,e,n,r){const{useRangeHeader:i,forceRangeRequests:a,eocdCache:o,size:c,options:h}=s;if(i||a){if(o&&t==c-te&&e==te)return o;if(t>=c)return new Uint8Array;{t+e>c&&(e=c-t);const _=await n(At,s,Es(s,t,e));if(_.status!=206)throw new Error(Le);return new Uint8Array(await _.arrayBuffer())}}else{const{data:_}=s;return _||await r(s,h),new Uint8Array(s.data.subarray(t,t+e))}}function Es(s,t=0,e=1){return Object.assign({},Nt(s),{[na]:ms+"="+(t<0?t:t+"-"+(t+e-1))})}function Nt({options:s}){const{headers:t}=s;if(t)return Symbol.iterator in t?Object.fromEntries(t):t}async function In(s){await xs(s,_t)}async function Cn(s){await xs(s,ht)}async function xs(s,t){const e=await t(At,s,Nt(s));s.data=new Uint8Array(await e.arrayBuffer()),s.size||(s.size=s.data.length)}async function Nn(s,t,e){if(s.preventHeadRequest)await e(s,s.options);else{const r=(await t(ra,s,Nt(s))).headers.get(zi);r?s.size=Number(r):await e(s,s.options)}}async function _t(s,{options:t,url:e},n){const r=await fetch(e,Object.assign({},t,{method:s,headers:n}));if(r.status<400)return r;throw r.status==416?new Error(Le):new Error(_s+(r.statusText||r.status))}function ht(s,{url:t},e){return new Promise((n,r)=>{const i=new XMLHttpRequest;if(i.addEventListener("load",()=>{if(i.status<400){const a=[];i.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(o=>{const c=o.trim().split(/\s*:\s*/);c[0]=c[0].trim().replace(/^[a-z]|-[a-z]/g,h=>h.toUpperCase()),a.push(c)}),n({status:i.status,arrayBuffer:()=>i.response,headers:new Map(a)})}else r(i.status==416?new Error(Le):new Error(_s+(i.statusText||i.status)))},!1),i.addEventListener("error",a=>r(a.detail?a.detail.error:new Error("Network error")),!1),i.open(s,t),e)for(const a of Object.entries(e))i.setRequestHeader(a[0],a[1]);i.responseType="arraybuffer",i.send()})}class Ts extends _e{constructor(t,e={}){super(),Object.assign(this,{url:t,reader:e.useXHR?new ua(t,e):new fa(t,e)})}set size(t){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}readUint8Array(t,e){return this.reader.readUint8Array(t,e)}}class da extends Ts{constructor(t,e={}){e.useRangeHeader=!0,super(t,e)}}class _a extends _e{constructor(t){super(),t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),Object.assign(this,{array:t,size:t.length})}readUint8Array(t,e){return this.array.slice(t,t+e)}}class ha extends It{init(t=0){Object.assign(this,{offset:0,array:new Uint8Array(t)}),super.init()}writeUint8Array(t){const e=this;if(e.offset+t.length>e.array.length){const n=e.array;e.array=new Uint8Array(n.length+t.length),e.array.set(n)}e.array.set(t,e.offset),e.offset+=t.length}getData(){return this.array}}class Dt extends _e{constructor(t){super(),this.readers=t}async init(){const t=this,{readers:e}=t;t.lastDiskNumber=0,t.lastDiskOffset=0,await Promise.all(e.map(async(n,r)=>{await n.init(),r!=e.length-1&&(t.lastDiskOffset+=n.size),t.size+=n.size})),super.init()}async readUint8Array(t,e,n=0){const r=this,{readers:i}=this;let a,o=n;o==-1&&(o=i.length-1);let c=t;for(;i[o]&&c>=i[o].size;)c-=i[o].size,o++;const h=i[o];if(h){const _=h.size;if(c+e<=_)a=await q(h,c,e);else{const m=_-c;a=new Uint8Array(e);const w=await q(h,c,m);a.set(w,0);const T=await r.readUint8Array(t+m,e-m,n);a.set(T,m),w.length+T.length<e&&(a=a.subarray(0,w.length+T.length))}}else a=new Uint8Array;return r.lastDiskNumber=Math.max(o,r.lastDiskNumber),a}}class Ke extends Je{constructor(t,e=4294967295){super();const n=this;Object.assign(n,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});let r,i,a;const o=new WritableStream({async write(_){const{availableSize:m}=n;if(a)_.length>=m?(await c(_.subarray(0,m)),await h(),n.diskOffset+=r.size,n.diskNumber++,a=null,await this.write(_.subarray(m))):await c(_);else{const{value:w,done:T}=await t.next();if(T&&!w)throw new Error(hs);r=w,r.size=0,r.maxSize&&(n.maxSize=r.maxSize),n.availableSize=n.maxSize,await De(r),i=w.writable,a=i.getWriter(),await this.write(_)}},async close(){await a.ready,await h()}});Object.defineProperty(n,Ot,{get(){return o}});async function c(_){const m=_.length;m&&(await a.ready,await a.write(_),r.size+=m,n.size+=m,n.availableSize-=m)}async function h(){await a.close()}}}class Ss{constructor(t){return Array.isArray(t)&&(t=new Dt(t)),t instanceof ReadableStream&&(t={readable:t}),t}}class Rs{constructor(t){return t.writable===j&&typeof t.next==Pe&&(t=new Ke(t)),t instanceof WritableStream&&(t={writable:t}),t.size===j&&(t.size=0),t instanceof Ke||Object.assign(t,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),t}}function pa(s){const{baseURL:t}=Vn(),{protocol:e}=new URL(s,t);return e=="http:"||e=="https:"}async function De(s,t){if(s.init&&!s.initialized)await s.init(t);else return Promise.resolve()}function q(s,t,e,n){return s.readUint8Array(t,e,n)}const ma=Dt,wa=Ke,As="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split(""),ga=As.length==256;function ba(s){if(ga){let t="";for(let e=0;e<s.length;e++)t+=As[s[e]];return t}else return new TextDecoder().decode(s)}function qe(s,t){return t&&t.trim().toLowerCase()=="cp437"?ba(s):new TextDecoder(t).decode(s)}const Os="filename",Is="rawFilename",Cs="comment",Ns="rawComment",Ds="uncompressedSize",Ps="compressedSize",ks="offset",pt="diskNumberStart",mt="lastModDate",wt="rawLastModDate",Ls="lastAccessDate",ya="rawLastAccessDate",vs="creationDate",Ea="rawCreationDate",xa="internalFileAttribute",Ta="internalFileAttributes",Sa="externalFileAttribute",Ra="externalFileAttributes",Aa="msDosCompatible",Oa="zip64",Ia="encrypted",Ca="version",Na="versionMadeBy",Da="zipCrypto",Pa="directory",ka="executable",La="compressionMethod",va="signature",Fa="extraField",Ma=[Os,Is,Ps,Ds,mt,wt,Cs,Ns,Ls,vs,ks,pt,pt,xa,Ta,Sa,Ra,Aa,Oa,Ia,Ca,Na,Da,Pa,ka,La,va,Fa,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class Dn{constructor(t){Ma.forEach(e=>this[e]=t[e])}}const Ua="filenameEncoding",Ha="commentEncoding",Wa="decodeText",Ba="extractPrependedData",ja="extractAppendedData",Ga="password",qa="rawPassword",Ya="passThrough",Va="signal",Za="checkPasswordOnly",Ka="checkOverlappingEntryOnly",Xa="checkOverlappingEntry",$a="checkSignature",Ja="useWebWorkers",Qa="useCompressionStream",za="transferStreams",eo="preventClose",Ye="File format is not recognized",Fs="End of central directory not found",Ms="End of Zip64 central directory locator not found",Us="Central directory header not found",Hs="Local file header not found",Ws="Zip64 extra field not found",Bs="File contains encrypted entry",js="Encryption method not supported",gt="Compression method not supported",bt="Split zip file",Gs="Overlapping entry found",Pn="utf-8",kn="cp437",to=[[Ds,pe],[Ps,pe],[ks,pe],[pt,le]],no={[le]:{getValue:H,bytes:4},[pe]:{getValue:ye,bytes:8}};class qs{constructor(t,e={}){Object.assign(this,{reader:new Ss(t),options:e,config:Vn(),readRanges:[]})}async*getEntriesGenerator(t={}){const e=this;let{reader:n}=e;const{config:r}=e;if(await De(n),(n.size===j||!n.readUint8Array)&&(n=new Ct(await new Response(n.readable).blob()),await De(n)),n.size<te)throw new Error(Ye);n.chunkSize=fi(r);const i=await fo(n,Gr,n.size,te,le*16);if(!i){const x=await q(n,0,4),S=B(x);throw H(S)==qn?new Error(bt):new Error(Fs)}const a=B(i);let o=H(a,12),c=H(a,16);const h=i.offset,_=Y(a,20),m=h+te+_;let w=Y(a,4);const T=n.lastDiskNumber||0;let A=Y(a,6),u=Y(a,8),l=0,f=0;if(c==pe||o==pe||u==le||A==le){const x=await q(n,i.offset-nt,nt),S=B(x);if(H(S,0)==qr){c=ye(S,8);let C=await q(n,c,st,-1),R=B(C);const D=i.offset-nt-st;if(H(R,0)!=ln&&c!=D){const k=c;c=D,c>k&&(l=c-k),C=await q(n,c,st,-1),R=B(C)}if(H(R,0)!=ln)throw new Error(Ms);w==le&&(w=H(R,16)),A==le&&(A=H(R,20)),u==le&&(u=ye(R,32)),o==pe&&(o=ye(R,40)),c-=o}}if(c>=n.size&&(l=n.size-c-o-te,c=n.size-o-te),T!=w)throw new Error(bt);if(c<0)throw new Error(Ye);let p=0,g=await q(n,c,o,A),I=B(g);if(o){const x=i.offset-o;if(H(I,p)!=cn&&c!=x){const S=c;c=x,c>S&&(l+=c-S),g=await q(n,c,o,A),I=B(g)}}const O=i.offset-c-(n.lastDiskOffset||0);if(o!=O&&O>=0&&(o=O,g=await q(n,c,o,A),I=B(g)),c<0||c>=n.size)throw new Error(Ye);const d=V(e,t,Ua),b=V(e,t,Ha);for(let x=0;x<u;x++){const S=new ro(n,r,e.options);if(H(I,p)!=cn)throw new Error(Us);Ys(S,I,p+6);const C=!!S.bitFlag.languageEncodingFlag,R=p+46,D=R+S.filenameLength,k=D+S.extraFieldLength,P=Y(I,p+4),U=P>>8==0,F=P>>8==3,G=g.subarray(R,D),N=Y(I,p+32),K=k+N,L=g.subarray(k,K),M=C,ve=C,xe=H(I,p+38),ee=U&&(be(I,p+38)&hn)==hn||F&&(xe>>16&ni)==si||G.length&&G.at(-1)==pn.charCodeAt(0),Q=F&&(xe>>16&ri)!=0,Pt=H(I,p+42)+l;Object.assign(S,{versionMadeBy:P,msDosCompatible:U,compressedSize:0,uncompressedSize:0,commentLength:N,directory:ee,offset:Pt,diskNumberStart:Y(I,p+34),internalFileAttributes:Y(I,p+36),externalFileAttributes:xe,rawFilename:G,filenameUTF8:M,commentUTF8:ve,rawExtraField:g.subarray(D,k),executable:Q}),S.internalFileAttribute=S.internalFileAttributes,S.externalFileAttribute=S.externalFileAttributes;const kt=V(e,t,Wa)||qe,Lt=M?Pn:d||kn,vt=ve?Pn:b||kn;let Fe=kt(G,Lt);Fe===j&&(Fe=qe(G,Lt));let Qe=kt(L,vt);Qe===j&&(Qe=qe(L,vt)),Object.assign(S,{rawComment:L,filename:Fe,comment:Qe,directory:ee||Fe.endsWith(pn)}),f=Math.max(Pt,f),Vs(S,S,I,p+6),S.zipCrypto=S.encrypted&&!S.extraFieldAES;const Te=new Dn(S);Te.getData=(Me,Ue)=>S.getData(Me,Te,e.readRanges,Ue),Te.arrayBuffer=async Me=>{const Ue=new TransformStream,[Ks]=await Promise.all([new Response(Ue.readable).arrayBuffer(),S.getData(Ue,Te,e.readRanges,Me)]);return Ks},p=K;const{onprogress:Ft}=t;if(Ft)try{await Ft(x+1,u,new Dn(S))}catch{}yield Te}const y=V(e,t,Ba),E=V(e,t,ja);return y&&(e.prependedData=f>0?await q(n,0,f):new Uint8Array),e.comment=_?await q(n,h+te,_):new Uint8Array,E&&(e.appendedData=m<n.size?await q(n,m,n.size-m):new Uint8Array),!0}async getEntries(t={}){const e=[];for await(const n of this.getEntriesGenerator(t))e.push(n);return e}async close(){}}class so{constructor(t={}){const{readable:e,writable:n}=new TransformStream,r=new qs(e,t).getEntriesGenerator();this.readable=new ReadableStream({async pull(i){const{done:a,value:o}=await r.next();if(a)return i.close();const c={...o,readable:(function(){const{readable:h,writable:_}=new TransformStream;if(o.getData)return o.getData(_),h})()};delete c.getData,i.enqueue(c)}}),this.writable=n}}class ro{constructor(t,e,n){Object.assign(this,{reader:t,config:e,options:n})}async getData(t,e,n,r={}){const i=this,{reader:a,offset:o,diskNumberStart:c,extraFieldAES:h,extraFieldZip64:_,compressionMethod:m,config:w,bitFlag:T,signature:A,rawLastModDate:u,uncompressedSize:l,compressedSize:f}=i,{dataDescriptor:p}=T,g=e.localDirectory={},I=await q(a,o,rt,c),O=B(I);let d=V(i,r,Ga),b=V(i,r,qa);const y=V(i,r,Ya);if(d=d&&d.length&&d,b=b&&b.length&&b,h&&h.originalCompressionMethod!=Wr)throw new Error(gt);if(m!=Hr&&m!=Ur&&!y)throw new Error(gt);if(H(O,0)!=Br)throw new Error(Hs);Ys(g,O,4);const{extraFieldLength:E,filenameLength:x,lastAccessDate:S,creationDate:C}=g;g.rawExtraField=E?await q(a,o+rt+x,E,c):new Uint8Array,Vs(i,g,O,4,!0),Object.assign(e,{lastAccessDate:S,creationDate:C});const R=i.encrypted&&g.encrypted&&!y,D=R&&!h;if(y||(e.zipCrypto=D),R){if(!D&&h.strength===j)throw new Error(js);if(!d&&!b)throw new Error(Bs)}const k=o+rt+x+E,P=f,U=a.readable;Object.assign(U,{diskNumberStart:c,offset:k,size:P});const F=V(i,r,Va),G=V(i,r,Za);let N=V(i,r,Xa);const K=V(i,r,Ka);K&&(N=!0);const{onstart:L,onprogress:M,onend:ve}=r,xe={options:{codecType:fs,password:d,rawPassword:b,zipCrypto:D,encryptionStrength:h&&h.strength,signed:V(i,r,$a)&&!y,passwordVerification:D&&(p?u>>>8&255:A>>>24&255),outputSize:l,signature:A,compressed:m!=0&&!y,encrypted:i.encrypted&&!y,useWebWorkers:V(i,r,Ja),useCompressionStream:V(i,r,Qa),transferStreams:V(i,r,za),checkPasswordOnly:G},config:w,streamOptions:{signal:F,size:P,onstart:L,onprogress:M,onend:ve}};N&&await lo({reader:a,fileEntry:e,offset:o,diskNumberStart:c,signature:A,compressedSize:f,uncompressedSize:l,dataOffset:k,dataDescriptor:p||g.bitFlag.dataDescriptor,extraFieldZip64:_||g.extraFieldZip64,readRanges:n});let ee;try{if(!K){G&&(t=new WritableStream),t=new Rs(t),await De(t,y?f:l),{writable:ee}=t;const{outputSize:Q}=await Xi({readable:U,writable:ee},xe);if(t.size+=Q,Q!=(y?f:l))throw new Error(Rt)}}catch(Q){if(Q.outputSize!==j&&(t.size+=Q.outputSize),!G||Q.message!=xt)throw Q}finally{!V(i,r,eo)&&ee&&!ee.locked&&await ee.getWriter().close()}return G||K?j:t.getData?t.getData():ee}}function Ys(s,t,e){const n=s.rawBitFlag=Y(t,e+2),r=(n&un)==un,i=H(t,e+6);Object.assign(s,{encrypted:r,version:Y(t,e),bitFlag:{level:(n&ti)>>1,dataDescriptor:(n&dn)==dn,languageEncodingFlag:(n&_n)==_n},rawLastModDate:i,lastModDate:uo(i),filenameLength:Y(t,e+22),extraFieldLength:Y(t,e+24)})}function Vs(s,t,e,n,r){const{rawExtraField:i}=t,a=t.extraField=new Map,o=B(new Uint8Array(i));let c=0;try{for(;c<i.length;){const f=Y(o,c),p=Y(o,c+2);a.set(f,{type:f,data:i.slice(c+4,c+4+p)}),c+=4+p}}catch{}const h=Y(e,n+4);Object.assign(t,{signature:H(e,n+ii),compressedSize:H(e,n+ai),uncompressedSize:H(e,n+oi)});const _=a.get(Zr);_&&(io(_,t),t.extraFieldZip64=_);const m=a.get(Qr);m&&(Ln(m,Os,Is,t,s),t.extraFieldUnicodePath=m);const w=a.get(zr);w&&(Ln(w,Cs,Ns,t,s),t.extraFieldUnicodeComment=w);const T=a.get(Kr);T?(ao(T,t,h),t.extraFieldAES=T):t.compressionMethod=h;const A=a.get(Xr);A&&(oo(A,t),t.extraFieldNTFS=A);const u=a.get(Jr);u&&(co(u,t,r),t.extraFieldExtendedTimestamp=u);const l=a.get(ei);l&&(t.extraFieldUSDZ=l)}function io(s,t){t.zip64=!0;const e=B(s.data),n=to.filter(([r,i])=>t[r]==i);for(let r=0,i=0;r<n.length;r++){const[a,o]=n[r];if(t[a]==o){const c=no[o];t[a]=s[a]=c.getValue(e,i),i+=c.bytes}else if(s[a])throw new Error(Ws)}}function Ln(s,t,e,n,r){const i=B(s.data),a=new Ve;a.append(r[e]);const o=B(new Uint8Array(4));o.setUint32(0,a.get(),!0);const c=H(i,1);Object.assign(s,{version:be(i,0),[t]:qe(s.data.subarray(5)),valid:!r.bitFlag.languageEncodingFlag&&c==H(o,0)}),s.valid&&(n[t]=s[t],n[t+"UTF8"]=!0)}function ao(s,t,e){const n=B(s.data),r=be(n,4);Object.assign(s,{vendorVersion:be(n,0),vendorId:be(n,2),strength:r,originalCompressionMethod:e,compressionMethod:Y(n,5)}),t.compressionMethod=s.compressionMethod}function oo(s,t){const e=B(s.data);let n=4,r;try{for(;n<s.data.length&&!r;){const i=Y(e,n),a=Y(e,n+2);i==$r&&(r=s.data.slice(n+4,n+4+a)),n+=4+a}}catch{}try{if(r&&r.length==24){const i=B(r),a=i.getBigUint64(0,!0),o=i.getBigUint64(8,!0),c=i.getBigUint64(16,!0);Object.assign(s,{rawLastModDate:a,rawLastAccessDate:o,rawCreationDate:c});const h=ct(a),_=ct(o),m=ct(c),w={lastModDate:h,lastAccessDate:_,creationDate:m};Object.assign(s,w),Object.assign(t,w)}}catch{}}function co(s,t,e){const n=B(s.data),r=be(n,0),i=[],a=[];e?((r&1)==1&&(i.push(mt),a.push(wt)),(r&2)==2&&(i.push(Ls),a.push(ya)),(r&4)==4&&(i.push(vs),a.push(Ea))):s.data.length>=5&&(i.push(mt),a.push(wt));let o=1;i.forEach((c,h)=>{if(s.data.length>=o+4){const _=H(n,o);t[c]=s[c]=new Date(_*1e3);const m=a[h];s[m]=_}o+=4})}async function lo({reader:s,fileEntry:t,offset:e,diskNumberStart:n,signature:r,compressedSize:i,uncompressedSize:a,dataOffset:o,dataDescriptor:c,extraFieldZip64:h,readRanges:_}){let m=0;if(n)for(let A=0;A<n;A++){const u=s.readers[A];m+=u.size}let w=0;if(c&&(h?w=Vr:w=Yr),w){const A=await q(s,o+i,w+fn,n);if(H(B(A),0)==jr){const l=H(B(A),4);let f,p;h?(f=ye(B(A),8),p=ye(B(A),16)):(f=H(B(A),8),p=H(B(A),12)),(t.encrypted&&!t.zipCrypto||l==r)&&f==i&&p==a&&(w+=fn)}}const T={start:m+e,end:m+o+i+w,fileEntry:t};for(const A of _)if(A.fileEntry!=t&&T.start>=A.start&&T.start<A.end){const u=new Error(Gs);throw u.overlappingEntry=A.fileEntry,u}_.push(T)}async function fo(s,t,e,n,r){const i=new Uint8Array(4),a=B(i);_o(a,0,t);const o=n+r;return await c(n)||await c(Math.min(o,e));async function c(h){const _=e-h,m=await q(s,_,h);for(let w=m.length-n;w>=0;w--)if(m[w]==i[0]&&m[w+1]==i[1]&&m[w+2]==i[2]&&m[w+3]==i[3])return{offset:_+w,buffer:m.slice(w,w+n).buffer}}}function V(s,t,e){return t[e]===j?s.options[e]:t[e]}function uo(s){const t=(s&4294901760)>>16,e=s&65535;try{return new Date(1980+((t&65024)>>9),((t&480)>>5)-1,t&31,(e&63488)>>11,(e&2016)>>5,(e&31)*2,0)}catch{}}function ct(s){return new Date(Number(s/BigInt(1e4)-BigInt(116444736e5)))}function be(s,t){return s.getUint8(t)}function Y(s,t){return s.getUint16(t,!0)}function H(s,t){return s.getUint32(t,!0)}function ye(s,t){return Number(s.getBigUint64(t,!0))}function _o(s,t,e){s.setUint32(t,e,!0)}function B(s){return new DataView(s.buffer)}Zn({Inflate:Mr});const ho=Object.freeze(Object.defineProperty({__proto__:null,BlobReader:Ct,BlobWriter:ws,Data64URIReader:aa,Data64URIWriter:oa,ERR_BAD_FORMAT:Ye,ERR_CENTRAL_DIRECTORY_NOT_FOUND:Us,ERR_ENCRYPTED:Bs,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:Ms,ERR_EOCDR_NOT_FOUND:Fs,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:Ws,ERR_HTTP_RANGE:Le,ERR_INVALID_PASSWORD:yt,ERR_INVALID_SIGNATURE:Et,ERR_INVALID_UNCOMPRESSED_SIZE:Rt,ERR_ITERATOR_COMPLETED_TOO_SOON:hs,ERR_LOCAL_FILE_HEADER_NOT_FOUND:Hs,ERR_OVERLAPPING_ENTRY:Gs,ERR_SPLIT_ZIP_FILE:bt,ERR_UNSUPPORTED_COMPRESSION:gt,ERR_UNSUPPORTED_ENCRYPTION:js,ERR_WRITER_NOT_INITIALIZED:ps,GenericReader:Ss,GenericWriter:Rs,HttpRangeReader:da,HttpReader:Ts,Reader:_e,SplitDataReader:Dt,SplitDataWriter:Ke,SplitZipReader:ma,SplitZipWriter:wa,TextReader:ca,TextWriter:la,Uint8ArrayReader:_a,Uint8ArrayWriter:ha,Writer:It,ZipReader:qs,ZipReaderStream:so,configure:Zn,getMimeType:ui,initStream:De,readUint8Array:q,terminateWorkers:Ji},Symbol.toStringTag,{value:"Module"})),Ae=ho;class po{constructor(t,e){Ae.configure({baseURL:self.location.href}),this._zipReader=new Ae.ZipReader(new Ae.HttpReader(this._resolveTraceURI(t),{mode:"cors",preventHeadRequest:!0}),{useWebWorkers:!1}),this._entriesPromise=this._zipReader.getEntries({onprogress:e}).then(n=>{const r=new Map;for(const i of n)r.set(i.filename,i);return r})}_resolveTraceURI(t){return t.startsWith("https://www.dropbox.com/")?"https://dl.dropboxusercontent.com/"+t.substring(24):t}isLive(){return!1}async entryNames(){return[...(await this._entriesPromise).keys()]}async hasEntry(t){return(await this._entriesPromise).has(t)}async readText(t){var i;const n=(await this._entriesPromise).get(t);if(!n)return;const r=new Ae.TextWriter;return await((i=n.getData)==null?void 0:i.call(n,r)),r.getData()}async readBlob(t){const n=(await this._entriesPromise).get(t);if(!n)return;const r=new Ae.BlobWriter;return await n.getData(r),r.getData()}}class mo{constructor(t){this._entriesPromise=this._readFile(t).then(async e=>{if(!e)throw new Error("File not found");const n=await e.json(),r=new Map;for(const i of n.entries)r.set(i.name,i.path);return r})}isLive(){return!0}async entryNames(){return[...(await this._entriesPromise).keys()]}async hasEntry(t){return(await this._entriesPromise).has(t)}async readText(t){const e=await this._readEntry(t);return e==null?void 0:e.text()}async readBlob(t){const e=await this._readEntry(t);return(e==null?void 0:e.status)===200?await(e==null?void 0:e.blob()):void 0}async _readEntry(t){const n=(await this._entriesPromise).get(t);if(n)return this._readFile(n)}async _readFile(t){const e=await fetch(t);if(e.status!==404)return e}}self.addEventListener("install",function(s){self.skipWaiting()});self.addEventListener("activate",function(s){s.waitUntil(self.clients.claim())});const wo=new URL(self.registration.scope).pathname,Ee=new Map,Xe=new Map,vn=self.registration.scope.startsWith("https://");function go(){Ee.clear(),Xe.clear()}async function Fn(s,t,e){try{return{loadedTrace:await Zs(s,t,e)}}catch(n){return{errorResponse:new Response(JSON.stringify({error:n==null?void 0:n.message}),{status:500,headers:{"Content-Type":"application/json"}})}}}function Zs(s,t,e){const n=t.searchParams.get("trace");if(!n)throw new Error("trace parameter is missing");Xe.set(s,n);const r=Ee.get(n);if(r)return r;const i=bo(n,e);return Ee.set(n,i),i.catch(()=>Ee.delete(n)),i}async function bo(s,t){var r;await xo();const e=new pr;try{const[i,a]=wr(t,[.5,.4,.1]),o=So(s)||s.endsWith("traces.dir")?new mo(s):new po(s,i);await e.load(o,void 0,a)}catch(i){if(console.error(i),(r=i==null?void 0:i.message)!=null&&r.includes("Cannot find .trace file")&&await e.hasEntry("index.html"))throw new Error("Could not load trace. Did you upload a Playwright HTML report instead? Make sure to extract the archive first and then double-click the index.html file or put it on a web server.");if(i instanceof Bn)throw new Error(`Could not load trace from ${s}. ${i.message}`);let a=`Could not load trace from ${s}. Make sure a valid Playwright Trace is accessible over this url.`;const o=await navigator.permissions.query({name:"local-network-access"}).catch(()=>{});throw o&&o.state!=="granted"&&(a+=`
4 -
5 -If your trace is in a local or private network, please grant permission for Local Network Access.`),new Error(a)}const n=new Xs(e.storage(),i=>e.resourceForSha1(i));return{traceLoader:e,snapshotServer:n}}async function yo(s){const t=s.request;if(t.url.startsWith("chrome-extension://"))return fetch(t);const e=new URL(t.url);let n;if(t.url.startsWith(self.registration.scope)&&(n=e.pathname.substring(wo.length-1)),n==="/restartServiceWorker")return go(),new Response(null,{status:200});if(n==="/ping")return new Response(null,{status:200});const r=!!s.resultingClientId,i=s.clientId?await self.clients.get(s.clientId):void 0;if(r&&!(n!=null&&n.startsWith("/sha1/"))){if(n!=null&&n.startsWith("/snapshot/")){const{errorResponse:a,loadedTrace:o}=await Fn(s.resultingClientId,e,To);if(a)return a;const c=n.substring(10),h=o.snapshotServer.serveSnapshot(c,e.searchParams,e.href);return vn&&h.headers.set("Content-Security-Policy","upgrade-insecure-requests"),h}return fetch(s.request)}if(!n){if(!i)return new Response("Sub-resource without a client",{status:500});const{snapshotServer:a}=await Zs(i.id,new URL(i.url),Mn(i));if(!a)return new Response(null,{status:404});const o=[t.url];return vn&&t.url.startsWith("https://")&&o.push(t.url.replace(/^https/,"http")),a.serveResource(o,t.method,i.url)}if(n==="/contexts"||n.startsWith("/snapshotInfo/")||n.startsWith("/closest-screenshot/")||n.startsWith("/sha1/")){if(!i)return new Response("Sub-resource without a client",{status:500});const{errorResponse:a,loadedTrace:o}=await Fn(i.id,e,Mn(i));if(a)return a;if(n==="/contexts")return new Response(JSON.stringify(o.traceLoader.contextEntries),{status:200,headers:{"Content-Type":"application/json"}});if(n.startsWith("/snapshotInfo/")){const c=n.substring(14);return o.snapshotServer.serveSnapshotInfo(c,e.searchParams)}if(n.startsWith("/closest-screenshot/")){const c=n.substring(20);return o.snapshotServer.serveClosestScreenshot(c,e.searchParams)}if(n.startsWith("/sha1/")){const c=await o.traceLoader.resourceForSha1(n.slice(6));return c?new Response(c,{status:200,headers:Eo(e.searchParams)}):new Response(null,{status:404})}}return fetch(s.request)}function Eo(s){const t=s.get("dn"),e=s.get("dct");if(!t)return;const n=new Headers;return n.set("Content-Disposition",`attachment; filename="attachment"; filename*=UTF-8''${encodeURIComponent(t)}`),e&&n.set("Content-Type",e),n}async function xo(){const s=await self.clients.matchAll(),t=new Set;for(const[e,n]of Xe){if(!s.find(r=>r.id===e)){Xe.delete(e);continue}t.add(n)}for(const e of Ee.keys())t.has(e)||Ee.delete(e)}function Mn(s){return(t,e)=>{s.postMessage({method:"progress",params:{done:t,total:e}})}}function To(s,t){}function So(s){const e=new URL(s,"http://localhost").searchParams.get("path");return!!(e!=null&&e.endsWith(".json"))}self.addEventListener("fetch",function(s){if(s.request.headers.get("x-pw-serviceworker")==="skip")return!1;s.respondWith(yo(s))});
node_modules/playwright-core/lib/vite/traceViewer/uiMode.Btcz36p_.css deleted
-1
@@ -1 +0,0 @@
1 -.ui-mode-sidebar{background-color:var(--vscode-sideBar-background)}.ui-mode-sidebar>.settings-toolbar{border-top:1px solid var(--vscode-panel-border);cursor:pointer}.ui-mode-sidebar>.settings-view{margin:0 0 8px 23px}.ui-mode-sidebar .toolbar-button:not([disabled]) .codicon-play{color:var(--vscode-debugIcon-restartForeground)}.ui-mode-sidebar .toolbar-button:not([disabled]) .codicon-debug-stop{color:var(--vscode-debugIcon-stopForeground)}.ui-mode .section-toolbar{border-top:1px solid var(--vscode-panel-border)}.ui-mode .section-title{display:flex;flex:auto;flex-direction:row;align-items:center;font-size:11px;text-transform:uppercase;font-weight:700;text-overflow:ellipsis;overflow:hidden;padding:8px;height:30px}.ui-mode-sidebar img{flex:none;margin-left:6px;width:24px;height:24px}.ui-mode .disconnected{display:flex;align-items:center;justify-content:center;flex:auto;flex-direction:column;background-color:var(--vscode-editor-background);position:absolute;top:0;right:0;bottom:0;left:0;z-index:1000;line-height:24px}.disconnected .title{font-size:24px;font-weight:700;margin-bottom:30px}.status-line{flex:auto;white-space:nowrap;line-height:22px;padding-left:10px;display:flex;flex-direction:row;align-items:center;height:30px}.status-line>div{overflow:hidden;text-overflow:ellipsis}.ui-mode-sidebar input[type=search]{flex:auto;padding:0 5px;line-height:24px;outline:none;margin:0 4px;border:none;color:var(--vscode-input-foreground);background-color:var(--vscode-input-background)}.ui-mode-sidebar select{flex:auto;padding:0 5px;height:24px;line-height:24px;outline:none;border:none;color:var(--vscode-input-foreground);background-color:var(--vscode-input-background)}:root{--vscode-font-family: system-ui, "Ubuntu", "Droid Sans", sans-serif;--vscode-font-weight: normal;--vscode-font-size: 13px;--vscode-editor-font-family: "Droid Sans Mono", "monospace", monospace;--vscode-editor-font-weight: normal;--vscode-editor-font-size: 14px;--vscode-foreground: #616161;--vscode-disabledForeground: rgba(97, 97, 97, .5);--vscode-errorForeground: #a1260d;--vscode-descriptionForeground: #717171;--vscode-icon-foreground: #424242;--vscode-focusBorder: #0090f1;--vscode-textSeparator-foreground: rgba(0, 0, 0, .18);--vscode-textLink-foreground: #006ab1;--vscode-textLink-activeForeground: #006ab1;--vscode-textPreformat-foreground: #a31515;--vscode-textBlockQuote-background: rgba(127, 127, 127, .1);--vscode-textBlockQuote-border: rgba(0, 122, 204, .5);--vscode-textCodeBlock-background: rgba(220, 220, 220, .4);--vscode-widget-shadow: rgba(0, 0, 0, .16);--vscode-input-background: #ffffff;--vscode-input-foreground: #616161;--vscode-inputOption-activeBorder: #007acc;--vscode-inputOption-hoverBackground: rgba(184, 184, 184, .31);--vscode-inputOption-activeBackground: rgba(0, 144, 241, .2);--vscode-inputOption-activeForeground: #000000;--vscode-input-placeholderForeground: #767676;--vscode-inputValidation-infoBackground: #d6ecf2;--vscode-inputValidation-infoBorder: #007acc;--vscode-inputValidation-warningBackground: #f6f5d2;--vscode-inputValidation-warningBorder: #b89500;--vscode-inputValidation-errorBackground: #f2dede;--vscode-inputValidation-errorBorder: #be1100;--vscode-dropdown-background: #ffffff;--vscode-dropdown-border: #cecece;--vscode-checkbox-background: #ffffff;--vscode-checkbox-border: #cecece;--vscode-button-foreground: #ffffff;--vscode-button-separator: rgba(255, 255, 255, .4);--vscode-button-background: #007acc;--vscode-button-hoverBackground: #0062a3;--vscode-button-secondaryForeground: #ffffff;--vscode-button-secondaryBackground: #5f6a79;--vscode-button-secondaryHoverBackground: #4c5561;--vscode-badge-background: #c4c4c4;--vscode-badge-foreground: #333333;--vscode-scrollbar-shadow: #dddddd;--vscode-scrollbarSlider-background: rgba(100, 100, 100, .4);--vscode-scrollbarSlider-hoverBackground: rgba(100, 100, 100, .7);--vscode-scrollbarSlider-activeBackground: rgba(0, 0, 0, .6);--vscode-progressBar-background: #0e70c0;--vscode-editorError-foreground: #e51400;--vscode-editorWarning-foreground: #bf8803;--vscode-editorInfo-foreground: #1a85ff;--vscode-editorHint-foreground: #6c6c6c;--vscode-sash-hoverBorder: #0090f1;--vscode-editor-background: #ffffff;--vscode-editor-foreground: #000000;--vscode-editorStickyScroll-background: #ffffff;--vscode-editorStickyScrollHover-background: #f0f0f0;--vscode-editorWidget-background: #f3f3f3;--vscode-editorWidget-foreground: #616161;--vscode-editorWidget-border: #c8c8c8;--vscode-quickInput-background: #f3f3f3;--vscode-quickInput-foreground: #616161;--vscode-quickInputTitle-background: rgba(0, 0, 0, .06);--vscode-pickerGroup-foreground: #0066bf;--vscode-pickerGroup-border: #cccedb;--vscode-keybindingLabel-background: rgba(221, 221, 221, .4);--vscode-keybindingLabel-foreground: #555555;--vscode-keybindingLabel-border: rgba(204, 204, 204, .4);--vscode-keybindingLabel-bottomBorder: rgba(187, 187, 187, .4);--vscode-editor-selectionBackground: #add6ff;--vscode-editor-inactiveSelectionBackground: #e5ebf1;--vscode-editor-selectionHighlightBackground: rgba(173, 214, 255, .5);--vscode-editor-findMatchBackground: #a8ac94;--vscode-editor-findMatchHighlightBackground: rgba(234, 92, 0, .33);--vscode-editor-findRangeHighlightBackground: rgba(180, 180, 180, .3);--vscode-searchEditor-findMatchBackground: rgba(234, 92, 0, .22);--vscode-editor-hoverHighlightBackground: rgba(173, 214, 255, .15);--vscode-editorHoverWidget-background: #f3f3f3;--vscode-editorHoverWidget-foreground: #616161;--vscode-editorHoverWidget-border: #c8c8c8;--vscode-editorHoverWidget-statusBarBackground: #e7e7e7;--vscode-editorLink-activeForeground: #0000ff;--vscode-editorInlayHint-foreground: rgba(51, 51, 51, .8);--vscode-editorInlayHint-background: rgba(196, 196, 196, .3);--vscode-editorInlayHint-typeForeground: rgba(51, 51, 51, .8);--vscode-editorInlayHint-typeBackground: rgba(196, 196, 196, .3);--vscode-editorInlayHint-parameterForeground: rgba(51, 51, 51, .8);--vscode-editorInlayHint-parameterBackground: rgba(196, 196, 196, .3);--vscode-editorLightBulb-foreground: #ddb100;--vscode-editorLightBulbAutoFix-foreground: #007acc;--vscode-diffEditor-insertedTextBackground: rgba(156, 204, 44, .4);--vscode-diffEditor-removedTextBackground: rgba(255, 0, 0, .3);--vscode-diffEditor-insertedLineBackground: rgba(155, 185, 85, .2);--vscode-diffEditor-removedLineBackground: rgba(255, 0, 0, .2);--vscode-diffEditor-diagonalFill: rgba(34, 34, 34, .2);--vscode-list-focusOutline: #0090f1;--vscode-list-focusAndSelectionOutline: #90c2f9;--vscode-list-activeSelectionBackground: #0060c0;--vscode-list-activeSelectionForeground: #ffffff;--vscode-list-activeSelectionIconForeground: #ffffff;--vscode-list-inactiveSelectionBackground: #e4e6f1;--vscode-list-hoverBackground: #e8e8e8;--vscode-list-dropBackground: #d6ebff;--vscode-list-highlightForeground: #0066bf;--vscode-list-focusHighlightForeground: #bbe7ff;--vscode-list-invalidItemForeground: #b89500;--vscode-list-errorForeground: #b01011;--vscode-list-warningForeground: #855f00;--vscode-listFilterWidget-background: #f3f3f3;--vscode-listFilterWidget-outline: rgba(0, 0, 0, 0);--vscode-listFilterWidget-noMatchesOutline: #be1100;--vscode-listFilterWidget-shadow: rgba(0, 0, 0, .16);--vscode-list-filterMatchBackground: rgba(234, 92, 0, .33);--vscode-tree-indentGuidesStroke: #a9a9a9;--vscode-tree-tableColumnsBorder: rgba(97, 97, 97, .13);--vscode-tree-tableOddRowsBackground: rgba(97, 97, 97, .04);--vscode-list-deemphasizedForeground: #8e8e90;--vscode-quickInputList-focusForeground: #ffffff;--vscode-quickInputList-focusIconForeground: #ffffff;--vscode-quickInputList-focusBackground: #0060c0;--vscode-menu-foreground: #616161;--vscode-menu-background: #ffffff;--vscode-menu-selectionForeground: #ffffff;--vscode-menu-selectionBackground: #0060c0;--vscode-menu-separatorBackground: #d4d4d4;--vscode-toolbar-hoverBackground: rgba(184, 184, 184, .31);--vscode-toolbar-activeBackground: rgba(166, 166, 166, .31);--vscode-editor-snippetTabstopHighlightBackground: rgba(10, 50, 100, .2);--vscode-editor-snippetFinalTabstopHighlightBorder: rgba(10, 50, 100, .5);--vscode-breadcrumb-foreground: rgba(97, 97, 97, .8);--vscode-breadcrumb-background: #ffffff;--vscode-breadcrumb-focusForeground: #4e4e4e;--vscode-breadcrumb-activeSelectionForeground: #4e4e4e;--vscode-breadcrumbPicker-background: #f3f3f3;--vscode-merge-currentHeaderBackground: rgba(64, 200, 174, .5);--vscode-merge-currentContentBackground: rgba(64, 200, 174, .2);--vscode-merge-incomingHeaderBackground: rgba(64, 166, 255, .5);--vscode-merge-incomingContentBackground: rgba(64, 166, 255, .2);--vscode-merge-commonHeaderBackground: rgba(96, 96, 96, .4);--vscode-merge-commonContentBackground: rgba(96, 96, 96, .16);--vscode-editorOverviewRuler-currentContentForeground: rgba(64, 200, 174, .5);--vscode-editorOverviewRuler-incomingContentForeground: rgba(64, 166, 255, .5);--vscode-editorOverviewRuler-commonContentForeground: rgba(96, 96, 96, .4);--vscode-editorOverviewRuler-findMatchForeground: rgba(209, 134, 22, .49);--vscode-editorOverviewRuler-selectionHighlightForeground: rgba(160, 160, 160, .8);--vscode-minimap-findMatchHighlight: #d18616;--vscode-minimap-selectionOccurrenceHighlight: #c9c9c9;--vscode-minimap-selectionHighlight: #add6ff;--vscode-minimap-errorHighlight: rgba(255, 18, 18, .7);--vscode-minimap-warningHighlight: #bf8803;--vscode-minimap-foregroundOpacity: #000000;--vscode-minimapSlider-background: rgba(100, 100, 100, .2);--vscode-minimapSlider-hoverBackground: rgba(100, 100, 100, .35);--vscode-minimapSlider-activeBackground: rgba(0, 0, 0, .3);--vscode-problemsErrorIcon-foreground: #e51400;--vscode-problemsWarningIcon-foreground: #bf8803;--vscode-problemsInfoIcon-foreground: #1a85ff;--vscode-charts-foreground: #616161;--vscode-charts-lines: rgba(97, 97, 97, .5);--vscode-charts-red: #e51400;--vscode-charts-blue: #1a85ff;--vscode-charts-yellow: #bf8803;--vscode-charts-orange: #d18616;--vscode-charts-green: #388a34;--vscode-charts-purple: #652d90;--vscode-editor-lineHighlightBorder: #eeeeee;--vscode-editor-rangeHighlightBackground: rgba(253, 255, 0, .2);--vscode-editor-symbolHighlightBackground: rgba(234, 92, 0, .33);--vscode-editorCursor-foreground: #000000;--vscode-editorWhitespace-foreground: rgba(51, 51, 51, .2);--vscode-editorIndentGuide-background: #d3d3d3;--vscode-editorIndentGuide-activeBackground: #939393;--vscode-editorLineNumber-foreground: #237893;--vscode-editorActiveLineNumber-foreground: #0b216f;--vscode-editorLineNumber-activeForeground: #0b216f;--vscode-editorRuler-foreground: #d3d3d3;--vscode-editorCodeLens-foreground: #919191;--vscode-editorBracketMatch-background: rgba(0, 100, 0, .1);--vscode-editorBracketMatch-border: #b9b9b9;--vscode-editorOverviewRuler-border: rgba(127, 127, 127, .3);--vscode-editorGutter-background: #ffffff;--vscode-editorUnnecessaryCode-opacity: rgba(0, 0, 0, .47);--vscode-editorGhostText-foreground: rgba(0, 0, 0, .47);--vscode-editorOverviewRuler-rangeHighlightForeground: rgba(0, 122, 204, .6);--vscode-editorOverviewRuler-errorForeground: rgba(255, 18, 18, .7);--vscode-editorOverviewRuler-warningForeground: #bf8803;--vscode-editorOverviewRuler-infoForeground: #1a85ff;--vscode-editorBracketHighlight-foreground1: #0431fa;--vscode-editorBracketHighlight-foreground2: #319331;--vscode-editorBracketHighlight-foreground3: #7b3814;--vscode-editorBracketHighlight-foreground4: rgba(0, 0, 0, 0);--vscode-editorBracketHighlight-foreground5: rgba(0, 0, 0, 0);--vscode-editorBracketHighlight-foreground6: rgba(0, 0, 0, 0);--vscode-editorBracketHighlight-unexpectedBracket\.foreground: rgba(255, 18, 18, .8);--vscode-editorBracketPairGuide-background1: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background2: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background3: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background4: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background5: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background6: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground1: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground2: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground3: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground4: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground5: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground6: rgba(0, 0, 0, 0);--vscode-editorUnicodeHighlight-border: #cea33d;--vscode-editorUnicodeHighlight-background: rgba(206, 163, 61, .08);--vscode-symbolIcon-arrayForeground: #616161;--vscode-symbolIcon-booleanForeground: #616161;--vscode-symbolIcon-classForeground: #d67e00;--vscode-symbolIcon-colorForeground: #616161;--vscode-symbolIcon-constantForeground: #616161;--vscode-symbolIcon-constructorForeground: #652d90;--vscode-symbolIcon-enumeratorForeground: #d67e00;--vscode-symbolIcon-enumeratorMemberForeground: #007acc;--vscode-symbolIcon-eventForeground: #d67e00;--vscode-symbolIcon-fieldForeground: #007acc;--vscode-symbolIcon-fileForeground: #616161;--vscode-symbolIcon-folderForeground: #616161;--vscode-symbolIcon-functionForeground: #652d90;--vscode-symbolIcon-interfaceForeground: #007acc;--vscode-symbolIcon-keyForeground: #616161;--vscode-symbolIcon-keywordForeground: #616161;--vscode-symbolIcon-methodForeground: #652d90;--vscode-symbolIcon-moduleForeground: #616161;--vscode-symbolIcon-namespaceForeground: #616161;--vscode-symbolIcon-nullForeground: #616161;--vscode-symbolIcon-numberForeground: #616161;--vscode-symbolIcon-objectForeground: #616161;--vscode-symbolIcon-operatorForeground: #616161;--vscode-symbolIcon-packageForeground: #616161;--vscode-symbolIcon-propertyForeground: #616161;--vscode-symbolIcon-referenceForeground: #616161;--vscode-symbolIcon-snippetForeground: #616161;--vscode-symbolIcon-stringForeground: #616161;--vscode-symbolIcon-structForeground: #616161;--vscode-symbolIcon-textForeground: #616161;--vscode-symbolIcon-typeParameterForeground: #616161;--vscode-symbolIcon-unitForeground: #616161;--vscode-symbolIcon-variableForeground: #007acc;--vscode-editorHoverWidget-highlightForeground: #0066bf;--vscode-editorOverviewRuler-bracketMatchForeground: #a0a0a0;--vscode-editor-foldBackground: rgba(173, 214, 255, .3);--vscode-editorGutter-foldingControlForeground: #424242;--vscode-editor-linkedEditingBackground: rgba(255, 0, 0, .3);--vscode-editor-wordHighlightBackground: rgba(87, 87, 87, .25);--vscode-editor-wordHighlightStrongBackground: rgba(14, 99, 156, .25);--vscode-editorOverviewRuler-wordHighlightForeground: rgba(160, 160, 160, .8);--vscode-editorOverviewRuler-wordHighlightStrongForeground: rgba(192, 160, 192, .8);--vscode-peekViewTitle-background: rgba(26, 133, 255, .1);--vscode-peekViewTitleLabel-foreground: #000000;--vscode-peekViewTitleDescription-foreground: #616161;--vscode-peekView-border: #1a85ff;--vscode-peekViewResult-background: #f3f3f3;--vscode-peekViewResult-lineForeground: #646465;--vscode-peekViewResult-fileForeground: #1e1e1e;--vscode-peekViewResult-selectionBackground: rgba(51, 153, 255, .2);--vscode-peekViewResult-selectionForeground: #6c6c6c;--vscode-peekViewEditor-background: #f2f8fc;--vscode-peekViewEditorGutter-background: #f2f8fc;--vscode-peekViewResult-matchHighlightBackground: rgba(234, 92, 0, .3);--vscode-peekViewEditor-matchHighlightBackground: rgba(245, 216, 2, .87);--vscode-editorMarkerNavigationError-background: #e51400;--vscode-editorMarkerNavigationError-headerBackground: rgba(229, 20, 0, .1);--vscode-editorMarkerNavigationWarning-background: #bf8803;--vscode-editorMarkerNavigationWarning-headerBackground: rgba(191, 136, 3, .1);--vscode-editorMarkerNavigationInfo-background: #1a85ff;--vscode-editorMarkerNavigationInfo-headerBackground: rgba(26, 133, 255, .1);--vscode-editorMarkerNavigation-background: #ffffff;--vscode-editorSuggestWidget-background: #f3f3f3;--vscode-editorSuggestWidget-border: #c8c8c8;--vscode-editorSuggestWidget-foreground: #000000;--vscode-editorSuggestWidget-selectedForeground: #ffffff;--vscode-editorSuggestWidget-selectedIconForeground: #ffffff;--vscode-editorSuggestWidget-selectedBackground: #0060c0;--vscode-editorSuggestWidget-highlightForeground: #0066bf;--vscode-editorSuggestWidget-focusHighlightForeground: #bbe7ff;--vscode-editorSuggestWidgetStatus-foreground: rgba(0, 0, 0, .5);--vscode-tab-activeBackground: #ffffff;--vscode-tab-unfocusedActiveBackground: #ffffff;--vscode-tab-inactiveBackground: #ececec;--vscode-tab-unfocusedInactiveBackground: #ececec;--vscode-tab-activeForeground: #333333;--vscode-tab-inactiveForeground: rgba(51, 51, 51, .7);--vscode-tab-unfocusedActiveForeground: rgba(51, 51, 51, .7);--vscode-tab-unfocusedInactiveForeground: rgba(51, 51, 51, .35);--vscode-tab-border: #f3f3f3;--vscode-tab-lastPinnedBorder: rgba(97, 97, 97, .19);--vscode-tab-activeModifiedBorder: #33aaee;--vscode-tab-inactiveModifiedBorder: rgba(51, 170, 238, .5);--vscode-tab-unfocusedActiveModifiedBorder: rgba(51, 170, 238, .7);--vscode-tab-unfocusedInactiveModifiedBorder: rgba(51, 170, 238, .25);--vscode-editorPane-background: #ffffff;--vscode-editorGroupHeader-tabsBackground: #f3f3f3;--vscode-editorGroupHeader-noTabsBackground: #ffffff;--vscode-editorGroup-border: #e7e7e7;--vscode-editorGroup-dropBackground: rgba(38, 119, 203, .18);--vscode-editorGroup-dropIntoPromptForeground: #616161;--vscode-editorGroup-dropIntoPromptBackground: #f3f3f3;--vscode-sideBySideEditor-horizontalBorder: #e7e7e7;--vscode-sideBySideEditor-verticalBorder: #e7e7e7;--vscode-panel-background: #ffffff;--vscode-panel-border: rgba(128, 128, 128, .35);--vscode-panelTitle-activeForeground: #424242;--vscode-panelTitle-inactiveForeground: rgba(66, 66, 66, .75);--vscode-panelTitle-activeBorder: #424242;--vscode-panelInput-border: #dddddd;--vscode-panel-dropBorder: #424242;--vscode-panelSection-dropBackground: rgba(38, 119, 203, .18);--vscode-panelSectionHeader-background: rgba(128, 128, 128, .2);--vscode-panelSection-border: rgba(128, 128, 128, .35);--vscode-banner-background: #004386;--vscode-banner-foreground: #ffffff;--vscode-banner-iconForeground: #1a85ff;--vscode-statusBar-foreground: #ffffff;--vscode-statusBar-noFolderForeground: #ffffff;--vscode-statusBar-background: #007acc;--vscode-statusBar-noFolderBackground: #68217a;--vscode-statusBar-focusBorder: #ffffff;--vscode-statusBarItem-activeBackground: rgba(255, 255, 255, .18);--vscode-statusBarItem-focusBorder: #ffffff;--vscode-statusBarItem-hoverBackground: rgba(255, 255, 255, .12);--vscode-statusBarItem-compactHoverBackground: rgba(255, 255, 255, .2);--vscode-statusBarItem-prominentForeground: #ffffff;--vscode-statusBarItem-prominentBackground: rgba(0, 0, 0, .5);--vscode-statusBarItem-prominentHoverBackground: rgba(0, 0, 0, .3);--vscode-statusBarItem-errorBackground: #c72e0f;--vscode-statusBarItem-errorForeground: #ffffff;--vscode-statusBarItem-warningBackground: #725102;--vscode-statusBarItem-warningForeground: #ffffff;--vscode-activityBar-background: #2c2c2c;--vscode-activityBar-foreground: #ffffff;--vscode-activityBar-inactiveForeground: rgba(255, 255, 255, .4);--vscode-activityBar-activeBorder: #ffffff;--vscode-activityBar-dropBorder: #ffffff;--vscode-activityBarBadge-background: #007acc;--vscode-activityBarBadge-foreground: #ffffff;--vscode-statusBarItem-remoteBackground: #16825d;--vscode-statusBarItem-remoteForeground: #ffffff;--vscode-extensionBadge-remoteBackground: #007acc;--vscode-extensionBadge-remoteForeground: #ffffff;--vscode-sideBar-background: #f3f3f3;--vscode-sideBarTitle-foreground: #6f6f6f;--vscode-sideBar-dropBackground: rgba(38, 119, 203, .18);--vscode-sideBarSectionHeader-background: rgba(0, 0, 0, 0);--vscode-sideBarSectionHeader-border: rgba(97, 97, 97, .19);--vscode-titleBar-activeForeground: #333333;--vscode-titleBar-inactiveForeground: rgba(51, 51, 51, .6);--vscode-titleBar-activeBackground: #dddddd;--vscode-titleBar-inactiveBackground: rgba(221, 221, 221, .6);--vscode-menubar-selectionForeground: #333333;--vscode-menubar-selectionBackground: rgba(184, 184, 184, .31);--vscode-notifications-foreground: #616161;--vscode-notifications-background: #f3f3f3;--vscode-notificationLink-foreground: #006ab1;--vscode-notificationCenterHeader-background: #e7e7e7;--vscode-notifications-border: #e7e7e7;--vscode-notificationsErrorIcon-foreground: #e51400;--vscode-notificationsWarningIcon-foreground: #bf8803;--vscode-notificationsInfoIcon-foreground: #1a85ff;--vscode-commandCenter-foreground: #333333;--vscode-commandCenter-activeForeground: #333333;--vscode-commandCenter-activeBackground: rgba(184, 184, 184, .31);--vscode-commandCenter-border: rgba(128, 128, 128, .35);--vscode-editorCommentsWidget-resolvedBorder: rgba(97, 97, 97, .5);--vscode-editorCommentsWidget-unresolvedBorder: #1a85ff;--vscode-editorCommentsWidget-rangeBackground: rgba(26, 133, 255, .1);--vscode-editorCommentsWidget-rangeBorder: rgba(26, 133, 255, .4);--vscode-editorCommentsWidget-rangeActiveBackground: rgba(26, 133, 255, .1);--vscode-editorCommentsWidget-rangeActiveBorder: rgba(26, 133, 255, .4);--vscode-editorGutter-commentRangeForeground: #d5d8e9;--vscode-debugToolBar-background: #f3f3f3;--vscode-debugIcon-startForeground: #388a34;--vscode-editor-stackFrameHighlightBackground: rgba(255, 255, 102, .45);--vscode-editor-focusedStackFrameHighlightBackground: rgba(206, 231, 206, .45);--vscode-mergeEditor-change\.background: rgba(155, 185, 85, .2);--vscode-mergeEditor-change\.word\.background: rgba(156, 204, 44, .4);--vscode-mergeEditor-conflict\.unhandledUnfocused\.border: rgba(255, 166, 0, .48);--vscode-mergeEditor-conflict\.unhandledFocused\.border: #ffa600;--vscode-mergeEditor-conflict\.handledUnfocused\.border: rgba(134, 134, 134, .29);--vscode-mergeEditor-conflict\.handledFocused\.border: rgba(193, 193, 193, .8);--vscode-mergeEditor-conflict\.handled\.minimapOverViewRuler: rgba(173, 172, 168, .93);--vscode-mergeEditor-conflict\.unhandled\.minimapOverViewRuler: #fcba03;--vscode-mergeEditor-conflictingLines\.background: rgba(255, 234, 0, .28);--vscode-settings-headerForeground: #444444;--vscode-settings-modifiedItemIndicator: #66afe0;--vscode-settings-headerBorder: rgba(128, 128, 128, .35);--vscode-settings-sashBorder: rgba(128, 128, 128, .35);--vscode-settings-dropdownBackground: #ffffff;--vscode-settings-dropdownBorder: #cecece;--vscode-settings-dropdownListBorder: #c8c8c8;--vscode-settings-checkboxBackground: #ffffff;--vscode-settings-checkboxBorder: #cecece;--vscode-settings-textInputBackground: #ffffff;--vscode-settings-textInputForeground: #616161;--vscode-settings-textInputBorder: #cecece;--vscode-settings-numberInputBackground: #ffffff;--vscode-settings-numberInputForeground: #616161;--vscode-settings-numberInputBorder: #cecece;--vscode-settings-focusedRowBackground: rgba(232, 232, 232, .6);--vscode-settings-rowHoverBackground: rgba(232, 232, 232, .3);--vscode-settings-focusedRowBorder: rgba(0, 0, 0, .12);--vscode-terminal-foreground: #333333;--vscode-terminal-selectionBackground: #add6ff;--vscode-terminal-inactiveSelectionBackground: #e5ebf1;--vscode-terminalCommandDecoration-defaultBackground: rgba(0, 0, 0, .25);--vscode-terminalCommandDecoration-successBackground: #2090d3;--vscode-terminalCommandDecoration-errorBackground: #e51400;--vscode-terminalOverviewRuler-cursorForeground: rgba(160, 160, 160, .8);--vscode-terminal-border: rgba(128, 128, 128, .35);--vscode-terminal-findMatchBackground: #a8ac94;--vscode-terminal-findMatchHighlightBackground: rgba(234, 92, 0, .33);--vscode-terminalOverviewRuler-findMatchForeground: rgba(209, 134, 22, .49);--vscode-terminal-dropBackground: rgba(38, 119, 203, .18);--vscode-testing-iconFailed: #f14c4c;--vscode-testing-iconErrored: #f14c4c;--vscode-testing-iconPassed: #73c991;--vscode-testing-runAction: #73c991;--vscode-testing-iconQueued: #cca700;--vscode-testing-iconUnset: #848484;--vscode-testing-iconSkipped: #848484;--vscode-testing-peekBorder: #e51400;--vscode-testing-peekHeaderBackground: rgba(229, 20, 0, .1);--vscode-testing-message\.error\.decorationForeground: #e51400;--vscode-testing-message\.error\.lineBackground: rgba(255, 0, 0, .2);--vscode-testing-message\.info\.decorationForeground: rgba(0, 0, 0, .5);--vscode-welcomePage-tileBackground: #f3f3f3;--vscode-welcomePage-tileHoverBackground: #dbdbdb;--vscode-welcomePage-tileShadow: rgba(0, 0, 0, .16);--vscode-welcomePage-progress\.background: #ffffff;--vscode-welcomePage-progress\.foreground: #006ab1;--vscode-debugExceptionWidget-border: #a31515;--vscode-debugExceptionWidget-background: #f1dfde;--vscode-ports-iconRunningProcessForeground: #369432;--vscode-statusBar-debuggingBackground: #cc6633;--vscode-statusBar-debuggingForeground: #ffffff;--vscode-editor-inlineValuesForeground: rgba(0, 0, 0, .5);--vscode-editor-inlineValuesBackground: rgba(255, 200, 0, .2);--vscode-editorGutter-modifiedBackground: #2090d3;--vscode-editorGutter-addedBackground: #48985d;--vscode-editorGutter-deletedBackground: #e51400;--vscode-minimapGutter-modifiedBackground: #2090d3;--vscode-minimapGutter-addedBackground: #48985d;--vscode-minimapGutter-deletedBackground: #e51400;--vscode-editorOverviewRuler-modifiedForeground: rgba(32, 144, 211, .6);--vscode-editorOverviewRuler-addedForeground: rgba(72, 152, 93, .6);--vscode-editorOverviewRuler-deletedForeground: rgba(229, 20, 0, .6);--vscode-debugIcon-breakpointForeground: #e51400;--vscode-debugIcon-breakpointDisabledForeground: #848484;--vscode-debugIcon-breakpointUnverifiedForeground: #848484;--vscode-debugIcon-breakpointCurrentStackframeForeground: #be8700;--vscode-debugIcon-breakpointStackframeForeground: #89d185;--vscode-notebook-cellBorderColor: #e8e8e8;--vscode-notebook-focusedEditorBorder: #0090f1;--vscode-notebookStatusSuccessIcon-foreground: #388a34;--vscode-notebookStatusErrorIcon-foreground: #a1260d;--vscode-notebookStatusRunningIcon-foreground: #616161;--vscode-notebook-cellToolbarSeparator: rgba(128, 128, 128, .35);--vscode-notebook-selectedCellBackground: rgba(200, 221, 241, .31);--vscode-notebook-selectedCellBorder: #e8e8e8;--vscode-notebook-focusedCellBorder: #0090f1;--vscode-notebook-inactiveFocusedCellBorder: #e8e8e8;--vscode-notebook-cellStatusBarItemHoverBackground: rgba(0, 0, 0, .08);--vscode-notebook-cellInsertionIndicator: #0090f1;--vscode-notebookScrollbarSlider-background: rgba(100, 100, 100, .4);--vscode-notebookScrollbarSlider-hoverBackground: rgba(100, 100, 100, .7);--vscode-notebookScrollbarSlider-activeBackground: rgba(0, 0, 0, .6);--vscode-notebook-symbolHighlightBackground: rgba(253, 255, 0, .2);--vscode-notebook-cellEditorBackground: #f3f3f3;--vscode-notebook-editorBackground: #ffffff;--vscode-keybindingTable-headerBackground: rgba(97, 97, 97, .04);--vscode-keybindingTable-rowsBackground: rgba(97, 97, 97, .04);--vscode-scm-providerBorder: #c8c8c8;--vscode-searchEditor-textInputBorder: #cecece;--vscode-debugTokenExpression-name: #9b46b0;--vscode-debugTokenExpression-value: rgba(108, 108, 108, .8);--vscode-debugTokenExpression-string: #a31515;--vscode-debugTokenExpression-boolean: #0000ff;--vscode-debugTokenExpression-number: #098658;--vscode-debugTokenExpression-error: #e51400;--vscode-debugView-exceptionLabelForeground: #ffffff;--vscode-debugView-exceptionLabelBackground: #a31515;--vscode-debugView-stateLabelForeground: #616161;--vscode-debugView-stateLabelBackground: rgba(136, 136, 136, .27);--vscode-debugView-valueChangedHighlight: #569cd6;--vscode-debugConsole-infoForeground: #1a85ff;--vscode-debugConsole-warningForeground: #bf8803;--vscode-debugConsole-errorForeground: #a1260d;--vscode-debugConsole-sourceForeground: #616161;--vscode-debugConsoleInputIcon-foreground: #616161;--vscode-debugIcon-pauseForeground: #007acc;--vscode-debugIcon-stopForeground: #a1260d;--vscode-debugIcon-disconnectForeground: #a1260d;--vscode-debugIcon-restartForeground: #388a34;--vscode-debugIcon-stepOverForeground: #007acc;--vscode-debugIcon-stepIntoForeground: #007acc;--vscode-debugIcon-stepOutForeground: #007acc;--vscode-debugIcon-continueForeground: #007acc;--vscode-debugIcon-stepBackForeground: #007acc;--vscode-extensionButton-prominentBackground: #007acc;--vscode-extensionButton-prominentForeground: #ffffff;--vscode-extensionButton-prominentHoverBackground: #0062a3;--vscode-extensionIcon-starForeground: #df6100;--vscode-extensionIcon-verifiedForeground: #006ab1;--vscode-extensionIcon-preReleaseForeground: #1d9271;--vscode-extensionIcon-sponsorForeground: #b51e78;--vscode-terminal-ansiBlack: #000000;--vscode-terminal-ansiRed: #cd3131;--vscode-terminal-ansiGreen: #00bc00;--vscode-terminal-ansiYellow: #949800;--vscode-terminal-ansiBlue: #0451a5;--vscode-terminal-ansiMagenta: #bc05bc;--vscode-terminal-ansiCyan: #0598bc;--vscode-terminal-ansiWhite: #555555;--vscode-terminal-ansiBrightBlack: #666666;--vscode-terminal-ansiBrightRed: #cd3131;--vscode-terminal-ansiBrightGreen: #14ce14;--vscode-terminal-ansiBrightYellow: #b5ba00;--vscode-terminal-ansiBrightBlue: #0451a5;--vscode-terminal-ansiBrightMagenta: #bc05bc;--vscode-terminal-ansiBrightCyan: #0598bc;--vscode-terminal-ansiBrightWhite: #a5a5a5;--vscode-interactive-activeCodeBorder: #1a85ff;--vscode-interactive-inactiveCodeBorder: #e4e6f1;--vscode-gitDecoration-addedResourceForeground: #587c0c;--vscode-gitDecoration-modifiedResourceForeground: #895503;--vscode-gitDecoration-deletedResourceForeground: #ad0707;--vscode-gitDecoration-renamedResourceForeground: #007100;--vscode-gitDecoration-untrackedResourceForeground: #007100;--vscode-gitDecoration-ignoredResourceForeground: #8e8e90;--vscode-gitDecoration-stageModifiedResourceForeground: #895503;--vscode-gitDecoration-stageDeletedResourceForeground: #ad0707;--vscode-gitDecoration-conflictingResourceForeground: #ad0707;--vscode-gitDecoration-submoduleResourceForeground: #1258a7}:root.light-mode{color-scheme:light}:root.dark-mode{color-scheme:dark;--vscode-font-family: system-ui, "Ubuntu", "Droid Sans", sans-serif;--vscode-font-weight: normal;--vscode-font-size: 13px;--vscode-editor-font-family: "Droid Sans Mono", "monospace", monospace;--vscode-editor-font-weight: normal;--vscode-editor-font-size: 14px;--vscode-foreground: #cccccc;--vscode-disabledForeground: rgba(204, 204, 204, .5);--vscode-errorForeground: #f48771;--vscode-descriptionForeground: rgba(204, 204, 204, .7);--vscode-icon-foreground: #c5c5c5;--vscode-focusBorder: #007fd4;--vscode-textSeparator-foreground: rgba(255, 255, 255, .18);--vscode-textLink-foreground: #3794ff;--vscode-textLink-activeForeground: #3794ff;--vscode-textPreformat-foreground: #d7ba7d;--vscode-textBlockQuote-background: rgba(127, 127, 127, .1);--vscode-textBlockQuote-border: rgba(0, 122, 204, .5);--vscode-textCodeBlock-background: rgba(10, 10, 10, .4);--vscode-widget-shadow: rgba(0, 0, 0, .36);--vscode-input-background: #3c3c3c;--vscode-input-foreground: #cccccc;--vscode-inputOption-activeBorder: #007acc;--vscode-inputOption-hoverBackground: rgba(90, 93, 94, .5);--vscode-inputOption-activeBackground: rgba(0, 127, 212, .4);--vscode-inputOption-activeForeground: #ffffff;--vscode-input-placeholderForeground: #a6a6a6;--vscode-inputValidation-infoBackground: #063b49;--vscode-inputValidation-infoBorder: #007acc;--vscode-inputValidation-warningBackground: #352a05;--vscode-inputValidation-warningBorder: #b89500;--vscode-inputValidation-errorBackground: #5a1d1d;--vscode-inputValidation-errorBorder: #be1100;--vscode-dropdown-background: #3c3c3c;--vscode-dropdown-foreground: #f0f0f0;--vscode-dropdown-border: #3c3c3c;--vscode-checkbox-background: #3c3c3c;--vscode-checkbox-foreground: #f0f0f0;--vscode-checkbox-border: #3c3c3c;--vscode-button-foreground: #ffffff;--vscode-button-separator: rgba(255, 255, 255, .4);--vscode-button-background: #0e639c;--vscode-button-hoverBackground: #1177bb;--vscode-button-secondaryForeground: #ffffff;--vscode-button-secondaryBackground: #3a3d41;--vscode-button-secondaryHoverBackground: #45494e;--vscode-badge-background: #4d4d4d;--vscode-badge-foreground: #ffffff;--vscode-scrollbar-shadow: #000000;--vscode-scrollbarSlider-background: rgba(121, 121, 121, .4);--vscode-scrollbarSlider-hoverBackground: rgba(100, 100, 100, .7);--vscode-scrollbarSlider-activeBackground: rgba(191, 191, 191, .4);--vscode-progressBar-background: #0e70c0;--vscode-editorError-foreground: #f14c4c;--vscode-editorWarning-foreground: #cca700;--vscode-editorInfo-foreground: #3794ff;--vscode-editorHint-foreground: rgba(238, 238, 238, .7);--vscode-sash-hoverBorder: #007fd4;--vscode-editor-background: #1e1e1e;--vscode-editor-foreground: #d4d4d4;--vscode-editorStickyScroll-background: #1e1e1e;--vscode-editorStickyScrollHover-background: #2a2d2e;--vscode-editorWidget-background: #252526;--vscode-editorWidget-foreground: #cccccc;--vscode-editorWidget-border: #454545;--vscode-quickInput-background: #252526;--vscode-quickInput-foreground: #cccccc;--vscode-quickInputTitle-background: rgba(255, 255, 255, .1);--vscode-pickerGroup-foreground: #3794ff;--vscode-pickerGroup-border: #3f3f46;--vscode-keybindingLabel-background: rgba(128, 128, 128, .17);--vscode-keybindingLabel-foreground: #cccccc;--vscode-keybindingLabel-border: rgba(51, 51, 51, .6);--vscode-keybindingLabel-bottomBorder: rgba(68, 68, 68, .6);--vscode-editor-selectionBackground: #264f78;--vscode-editor-inactiveSelectionBackground: #3a3d41;--vscode-editor-selectionHighlightBackground: rgba(173, 214, 255, .15);--vscode-editor-findMatchBackground: #515c6a;--vscode-editor-findMatchHighlightBackground: rgba(234, 92, 0, .33);--vscode-editor-findRangeHighlightBackground: rgba(58, 61, 65, .4);--vscode-searchEditor-findMatchBackground: rgba(234, 92, 0, .22);--vscode-editor-hoverHighlightBackground: rgba(38, 79, 120, .25);--vscode-editorHoverWidget-background: #252526;--vscode-editorHoverWidget-foreground: #cccccc;--vscode-editorHoverWidget-border: #454545;--vscode-editorHoverWidget-statusBarBackground: #2c2c2d;--vscode-editorLink-activeForeground: #4e94ce;--vscode-editorInlayHint-foreground: rgba(255, 255, 255, .8);--vscode-editorInlayHint-background: rgba(77, 77, 77, .6);--vscode-editorInlayHint-typeForeground: rgba(255, 255, 255, .8);--vscode-editorInlayHint-typeBackground: rgba(77, 77, 77, .6);--vscode-editorInlayHint-parameterForeground: rgba(255, 255, 255, .8);--vscode-editorInlayHint-parameterBackground: rgba(77, 77, 77, .6);--vscode-editorLightBulb-foreground: #ffcc00;--vscode-editorLightBulbAutoFix-foreground: #75beff;--vscode-diffEditor-insertedTextBackground: rgba(156, 204, 44, .2);--vscode-diffEditor-removedTextBackground: rgba(255, 0, 0, .4);--vscode-diffEditor-insertedLineBackground: rgba(155, 185, 85, .2);--vscode-diffEditor-removedLineBackground: rgba(255, 0, 0, .2);--vscode-diffEditor-diagonalFill: rgba(204, 204, 204, .2);--vscode-list-focusOutline: #007fd4;--vscode-list-activeSelectionBackground: #04395e;--vscode-list-activeSelectionForeground: #ffffff;--vscode-list-activeSelectionIconForeground: #ffffff;--vscode-list-inactiveSelectionBackground: #37373d;--vscode-list-hoverBackground: #2a2d2e;--vscode-list-dropBackground: #383b3d;--vscode-list-highlightForeground: #2aaaff;--vscode-list-focusHighlightForeground: #2aaaff;--vscode-list-invalidItemForeground: #b89500;--vscode-list-errorForeground: #f88070;--vscode-list-warningForeground: #cca700;--vscode-listFilterWidget-background: #252526;--vscode-listFilterWidget-outline: rgba(0, 0, 0, 0);--vscode-listFilterWidget-noMatchesOutline: #be1100;--vscode-listFilterWidget-shadow: rgba(0, 0, 0, .36);--vscode-list-filterMatchBackground: rgba(234, 92, 0, .33);--vscode-tree-indentGuidesStroke: #585858;--vscode-tree-tableColumnsBorder: rgba(204, 204, 204, .13);--vscode-tree-tableOddRowsBackground: rgba(204, 204, 204, .04);--vscode-list-deemphasizedForeground: #8c8c8c;--vscode-quickInputList-focusForeground: #ffffff;--vscode-quickInputList-focusIconForeground: #ffffff;--vscode-quickInputList-focusBackground: #04395e;--vscode-menu-foreground: #cccccc;--vscode-menu-background: #303031;--vscode-menu-selectionForeground: #ffffff;--vscode-menu-selectionBackground: #04395e;--vscode-menu-separatorBackground: #606060;--vscode-toolbar-hoverBackground: rgba(90, 93, 94, .31);--vscode-toolbar-activeBackground: rgba(99, 102, 103, .31);--vscode-editor-snippetTabstopHighlightBackground: rgba(124, 124, 124, .3);--vscode-editor-snippetFinalTabstopHighlightBorder: #525252;--vscode-breadcrumb-foreground: rgba(204, 204, 204, .8);--vscode-breadcrumb-background: #1e1e1e;--vscode-breadcrumb-focusForeground: #e0e0e0;--vscode-breadcrumb-activeSelectionForeground: #e0e0e0;--vscode-breadcrumbPicker-background: #252526;--vscode-merge-currentHeaderBackground: rgba(64, 200, 174, .5);--vscode-merge-currentContentBackground: rgba(64, 200, 174, .2);--vscode-merge-incomingHeaderBackground: rgba(64, 166, 255, .5);--vscode-merge-incomingContentBackground: rgba(64, 166, 255, .2);--vscode-merge-commonHeaderBackground: rgba(96, 96, 96, .4);--vscode-merge-commonContentBackground: rgba(96, 96, 96, .16);--vscode-editorOverviewRuler-currentContentForeground: rgba(64, 200, 174, .5);--vscode-editorOverviewRuler-incomingContentForeground: rgba(64, 166, 255, .5);--vscode-editorOverviewRuler-commonContentForeground: rgba(96, 96, 96, .4);--vscode-editorOverviewRuler-findMatchForeground: rgba(209, 134, 22, .49);--vscode-editorOverviewRuler-selectionHighlightForeground: rgba(160, 160, 160, .8);--vscode-minimap-findMatchHighlight: #d18616;--vscode-minimap-selectionOccurrenceHighlight: #676767;--vscode-minimap-selectionHighlight: #264f78;--vscode-minimap-errorHighlight: rgba(255, 18, 18, .7);--vscode-minimap-warningHighlight: #cca700;--vscode-minimap-foregroundOpacity: #000000;--vscode-minimapSlider-background: rgba(121, 121, 121, .2);--vscode-minimapSlider-hoverBackground: rgba(100, 100, 100, .35);--vscode-minimapSlider-activeBackground: rgba(191, 191, 191, .2);--vscode-problemsErrorIcon-foreground: #f14c4c;--vscode-problemsWarningIcon-foreground: #cca700;--vscode-problemsInfoIcon-foreground: #3794ff;--vscode-charts-foreground: #cccccc;--vscode-charts-lines: rgba(204, 204, 204, .5);--vscode-charts-red: #f14c4c;--vscode-charts-blue: #3794ff;--vscode-charts-yellow: #cca700;--vscode-charts-orange: #d18616;--vscode-charts-green: #89d185;--vscode-charts-purple: #b180d7;--vscode-editor-lineHighlightBorder: #282828;--vscode-editor-rangeHighlightBackground: rgba(255, 255, 255, .04);--vscode-editor-symbolHighlightBackground: rgba(234, 92, 0, .33);--vscode-editorCursor-foreground: #aeafad;--vscode-editorWhitespace-foreground: rgba(227, 228, 226, .16);--vscode-editorIndentGuide-background: #404040;--vscode-editorIndentGuide-activeBackground: #707070;--vscode-editorLineNumber-foreground: #858585;--vscode-editorActiveLineNumber-foreground: #c6c6c6;--vscode-editorLineNumber-activeForeground: #c6c6c6;--vscode-editorRuler-foreground: #5a5a5a;--vscode-editorCodeLens-foreground: #999999;--vscode-editorBracketMatch-background: rgba(0, 100, 0, .1);--vscode-editorBracketMatch-border: #888888;--vscode-editorOverviewRuler-border: rgba(127, 127, 127, .3);--vscode-editorGutter-background: #1e1e1e;--vscode-editorUnnecessaryCode-opacity: rgba(0, 0, 0, .67);--vscode-editorGhostText-foreground: rgba(255, 255, 255, .34);--vscode-editorOverviewRuler-rangeHighlightForeground: rgba(0, 122, 204, .6);--vscode-editorOverviewRuler-errorForeground: rgba(255, 18, 18, .7);--vscode-editorOverviewRuler-warningForeground: #cca700;--vscode-editorOverviewRuler-infoForeground: #3794ff;--vscode-editorBracketHighlight-foreground1: #ffd700;--vscode-editorBracketHighlight-foreground2: #da70d6;--vscode-editorBracketHighlight-foreground3: #179fff;--vscode-editorBracketHighlight-foreground4: rgba(0, 0, 0, 0);--vscode-editorBracketHighlight-foreground5: rgba(0, 0, 0, 0);--vscode-editorBracketHighlight-foreground6: rgba(0, 0, 0, 0);--vscode-editorBracketHighlight-unexpectedBracket\.foreground: rgba(255, 18, 18, .8);--vscode-editorBracketPairGuide-background1: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background2: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background3: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background4: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background5: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-background6: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground1: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground2: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground3: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground4: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground5: rgba(0, 0, 0, 0);--vscode-editorBracketPairGuide-activeBackground6: rgba(0, 0, 0, 0);--vscode-editorUnicodeHighlight-border: #bd9b03;--vscode-editorUnicodeHighlight-background: rgba(189, 155, 3, .15);--vscode-symbolIcon-arrayForeground: #cccccc;--vscode-symbolIcon-booleanForeground: #cccccc;--vscode-symbolIcon-classForeground: #ee9d28;--vscode-symbolIcon-colorForeground: #cccccc;--vscode-symbolIcon-constantForeground: #cccccc;--vscode-symbolIcon-constructorForeground: #b180d7;--vscode-symbolIcon-enumeratorForeground: #ee9d28;--vscode-symbolIcon-enumeratorMemberForeground: #75beff;--vscode-symbolIcon-eventForeground: #ee9d28;--vscode-symbolIcon-fieldForeground: #75beff;--vscode-symbolIcon-fileForeground: #cccccc;--vscode-symbolIcon-folderForeground: #cccccc;--vscode-symbolIcon-functionForeground: #b180d7;--vscode-symbolIcon-interfaceForeground: #75beff;--vscode-symbolIcon-keyForeground: #cccccc;--vscode-symbolIcon-keywordForeground: #cccccc;--vscode-symbolIcon-methodForeground: #b180d7;--vscode-symbolIcon-moduleForeground: #cccccc;--vscode-symbolIcon-namespaceForeground: #cccccc;--vscode-symbolIcon-nullForeground: #cccccc;--vscode-symbolIcon-numberForeground: #cccccc;--vscode-symbolIcon-objectForeground: #cccccc;--vscode-symbolIcon-operatorForeground: #cccccc;--vscode-symbolIcon-packageForeground: #cccccc;--vscode-symbolIcon-propertyForeground: #cccccc;--vscode-symbolIcon-referenceForeground: #cccccc;--vscode-symbolIcon-snippetForeground: #cccccc;--vscode-symbolIcon-stringForeground: #cccccc;--vscode-symbolIcon-structForeground: #cccccc;--vscode-symbolIcon-textForeground: #cccccc;--vscode-symbolIcon-typeParameterForeground: #cccccc;--vscode-symbolIcon-unitForeground: #cccccc;--vscode-symbolIcon-variableForeground: #75beff;--vscode-editorHoverWidget-highlightForeground: #2aaaff;--vscode-editorOverviewRuler-bracketMatchForeground: #a0a0a0;--vscode-editor-foldBackground: rgba(38, 79, 120, .3);--vscode-editorGutter-foldingControlForeground: #c5c5c5;--vscode-editor-linkedEditingBackground: rgba(255, 0, 0, .3);--vscode-editor-wordHighlightBackground: rgba(87, 87, 87, .72);--vscode-editor-wordHighlightStrongBackground: rgba(0, 73, 114, .72);--vscode-editorOverviewRuler-wordHighlightForeground: rgba(160, 160, 160, .8);--vscode-editorOverviewRuler-wordHighlightStrongForeground: rgba(192, 160, 192, .8);--vscode-peekViewTitle-background: rgba(55, 148, 255, .1);--vscode-peekViewTitleLabel-foreground: #ffffff;--vscode-peekViewTitleDescription-foreground: rgba(204, 204, 204, .7);--vscode-peekView-border: #3794ff;--vscode-peekViewResult-background: #252526;--vscode-peekViewResult-lineForeground: #bbbbbb;--vscode-peekViewResult-fileForeground: #ffffff;--vscode-peekViewResult-selectionBackground: rgba(51, 153, 255, .2);--vscode-peekViewResult-selectionForeground: #ffffff;--vscode-peekViewEditor-background: #001f33;--vscode-peekViewEditorGutter-background: #001f33;--vscode-peekViewResult-matchHighlightBackground: rgba(234, 92, 0, .3);--vscode-peekViewEditor-matchHighlightBackground: rgba(255, 143, 0, .6);--vscode-editorMarkerNavigationError-background: #f14c4c;--vscode-editorMarkerNavigationError-headerBackground: rgba(241, 76, 76, .1);--vscode-editorMarkerNavigationWarning-background: #cca700;--vscode-editorMarkerNavigationWarning-headerBackground: rgba(204, 167, 0, .1);--vscode-editorMarkerNavigationInfo-background: #3794ff;--vscode-editorMarkerNavigationInfo-headerBackground: rgba(55, 148, 255, .1);--vscode-editorMarkerNavigation-background: #1e1e1e;--vscode-editorSuggestWidget-background: #252526;--vscode-editorSuggestWidget-border: #454545;--vscode-editorSuggestWidget-foreground: #d4d4d4;--vscode-editorSuggestWidget-selectedForeground: #ffffff;--vscode-editorSuggestWidget-selectedIconForeground: #ffffff;--vscode-editorSuggestWidget-selectedBackground: #04395e;--vscode-editorSuggestWidget-highlightForeground: #2aaaff;--vscode-editorSuggestWidget-focusHighlightForeground: #2aaaff;--vscode-editorSuggestWidgetStatus-foreground: rgba(212, 212, 212, .5);--vscode-tab-activeBackground: #1e1e1e;--vscode-tab-unfocusedActiveBackground: #1e1e1e;--vscode-tab-inactiveBackground: #2d2d2d;--vscode-tab-unfocusedInactiveBackground: #2d2d2d;--vscode-tab-activeForeground: #ffffff;--vscode-tab-inactiveForeground: rgba(255, 255, 255, .5);--vscode-tab-unfocusedActiveForeground: rgba(255, 255, 255, .5);--vscode-tab-unfocusedInactiveForeground: rgba(255, 255, 255, .25);--vscode-tab-border: #252526;--vscode-tab-lastPinnedBorder: rgba(204, 204, 204, .2);--vscode-tab-activeModifiedBorder: #3399cc;--vscode-tab-inactiveModifiedBorder: rgba(51, 153, 204, .5);--vscode-tab-unfocusedActiveModifiedBorder: rgba(51, 153, 204, .5);--vscode-tab-unfocusedInactiveModifiedBorder: rgba(51, 153, 204, .25);--vscode-editorPane-background: #1e1e1e;--vscode-editorGroupHeader-tabsBackground: #252526;--vscode-editorGroupHeader-noTabsBackground: #1e1e1e;--vscode-editorGroup-border: #444444;--vscode-editorGroup-dropBackground: rgba(83, 89, 93, .5);--vscode-editorGroup-dropIntoPromptForeground: #cccccc;--vscode-editorGroup-dropIntoPromptBackground: #252526;--vscode-sideBySideEditor-horizontalBorder: #444444;--vscode-sideBySideEditor-verticalBorder: #444444;--vscode-panel-background: #1e1e1e;--vscode-panel-border: rgba(128, 128, 128, .35);--vscode-panelTitle-activeForeground: #e7e7e7;--vscode-panelTitle-inactiveForeground: rgba(231, 231, 231, .6);--vscode-panelTitle-activeBorder: #e7e7e7;--vscode-panel-dropBorder: #e7e7e7;--vscode-panelSection-dropBackground: rgba(83, 89, 93, .5);--vscode-panelSectionHeader-background: rgba(128, 128, 128, .2);--vscode-panelSection-border: rgba(128, 128, 128, .35);--vscode-banner-background: #04395e;--vscode-banner-foreground: #ffffff;--vscode-banner-iconForeground: #3794ff;--vscode-statusBar-foreground: #ffffff;--vscode-statusBar-noFolderForeground: #ffffff;--vscode-statusBar-background: #007acc;--vscode-statusBar-noFolderBackground: #68217a;--vscode-statusBar-focusBorder: #ffffff;--vscode-statusBarItem-activeBackground: rgba(255, 255, 255, .18);--vscode-statusBarItem-focusBorder: #ffffff;--vscode-statusBarItem-hoverBackground: rgba(255, 255, 255, .12);--vscode-statusBarItem-compactHoverBackground: rgba(255, 255, 255, .2);--vscode-statusBarItem-prominentForeground: #ffffff;--vscode-statusBarItem-prominentBackground: rgba(0, 0, 0, .5);--vscode-statusBarItem-prominentHoverBackground: rgba(0, 0, 0, .3);--vscode-statusBarItem-errorBackground: #c72e0f;--vscode-statusBarItem-errorForeground: #ffffff;--vscode-statusBarItem-warningBackground: #7a6400;--vscode-statusBarItem-warningForeground: #ffffff;--vscode-activityBar-background: #333333;--vscode-activityBar-foreground: #ffffff;--vscode-activityBar-inactiveForeground: rgba(255, 255, 255, .4);--vscode-activityBar-activeBorder: #ffffff;--vscode-activityBar-dropBorder: #ffffff;--vscode-activityBarBadge-background: #007acc;--vscode-activityBarBadge-foreground: #ffffff;--vscode-statusBarItem-remoteBackground: #16825d;--vscode-statusBarItem-remoteForeground: #ffffff;--vscode-extensionBadge-remoteBackground: #007acc;--vscode-extensionBadge-remoteForeground: #ffffff;--vscode-sideBar-background: #252526;--vscode-sideBarTitle-foreground: #bbbbbb;--vscode-sideBar-dropBackground: rgba(83, 89, 93, .5);--vscode-sideBarSectionHeader-background: rgba(0, 0, 0, 0);--vscode-sideBarSectionHeader-border: rgba(204, 204, 204, .2);--vscode-titleBar-activeForeground: #cccccc;--vscode-titleBar-inactiveForeground: rgba(204, 204, 204, .6);--vscode-titleBar-activeBackground: #3c3c3c;--vscode-titleBar-inactiveBackground: rgba(60, 60, 60, .6);--vscode-menubar-selectionForeground: #cccccc;--vscode-menubar-selectionBackground: rgba(90, 93, 94, .31);--vscode-notifications-foreground: #cccccc;--vscode-notifications-background: #252526;--vscode-notificationLink-foreground: #3794ff;--vscode-notificationCenterHeader-background: #303031;--vscode-notifications-border: #303031;--vscode-notificationsErrorIcon-foreground: #f14c4c;--vscode-notificationsWarningIcon-foreground: #cca700;--vscode-notificationsInfoIcon-foreground: #3794ff;--vscode-commandCenter-foreground: #cccccc;--vscode-commandCenter-activeForeground: #cccccc;--vscode-commandCenter-activeBackground: rgba(90, 93, 94, .31);--vscode-commandCenter-border: rgba(128, 128, 128, .35);--vscode-editorCommentsWidget-resolvedBorder: rgba(204, 204, 204, .5);--vscode-editorCommentsWidget-unresolvedBorder: #3794ff;--vscode-editorCommentsWidget-rangeBackground: rgba(55, 148, 255, .1);--vscode-editorCommentsWidget-rangeBorder: rgba(55, 148, 255, .4);--vscode-editorCommentsWidget-rangeActiveBackground: rgba(55, 148, 255, .1);--vscode-editorCommentsWidget-rangeActiveBorder: rgba(55, 148, 255, .4);--vscode-editorGutter-commentRangeForeground: #37373d;--vscode-debugToolBar-background: #333333;--vscode-debugIcon-startForeground: #89d185;--vscode-editor-stackFrameHighlightBackground: rgba(255, 255, 0, .2);--vscode-editor-focusedStackFrameHighlightBackground: rgba(122, 189, 122, .3);--vscode-mergeEditor-change\.background: rgba(155, 185, 85, .2);--vscode-mergeEditor-change\.word\.background: rgba(156, 204, 44, .2);--vscode-mergeEditor-conflict\.unhandledUnfocused\.border: rgba(255, 166, 0, .48);--vscode-mergeEditor-conflict\.unhandledFocused\.border: #ffa600;--vscode-mergeEditor-conflict\.handledUnfocused\.border: rgba(134, 134, 134, .29);--vscode-mergeEditor-conflict\.handledFocused\.border: rgba(193, 193, 193, .8);--vscode-mergeEditor-conflict\.handled\.minimapOverViewRuler: rgba(173, 172, 168, .93);--vscode-mergeEditor-conflict\.unhandled\.minimapOverViewRuler: #fcba03;--vscode-mergeEditor-conflictingLines\.background: rgba(255, 234, 0, .28);--vscode-settings-headerForeground: #e7e7e7;--vscode-settings-modifiedItemIndicator: #0c7d9d;--vscode-settings-headerBorder: rgba(128, 128, 128, .35);--vscode-settings-sashBorder: rgba(128, 128, 128, .35);--vscode-settings-dropdownBackground: #3c3c3c;--vscode-settings-dropdownForeground: #f0f0f0;--vscode-settings-dropdownBorder: #3c3c3c;--vscode-settings-dropdownListBorder: #454545;--vscode-settings-checkboxBackground: #3c3c3c;--vscode-settings-checkboxForeground: #f0f0f0;--vscode-settings-checkboxBorder: #3c3c3c;--vscode-settings-textInputBackground: #3c3c3c;--vscode-settings-textInputForeground: #cccccc;--vscode-settings-numberInputBackground: #3c3c3c;--vscode-settings-numberInputForeground: #cccccc;--vscode-settings-focusedRowBackground: rgba(42, 45, 46, .6);--vscode-settings-rowHoverBackground: rgba(42, 45, 46, .3);--vscode-settings-focusedRowBorder: rgba(255, 255, 255, .12);--vscode-terminal-foreground: #cccccc;--vscode-terminal-selectionBackground: #264f78;--vscode-terminal-inactiveSelectionBackground: #3a3d41;--vscode-terminalCommandDecoration-defaultBackground: rgba(255, 255, 255, .25);--vscode-terminalCommandDecoration-successBackground: #1b81a8;--vscode-terminalCommandDecoration-errorBackground: #f14c4c;--vscode-terminalOverviewRuler-cursorForeground: rgba(160, 160, 160, .8);--vscode-terminal-border: rgba(128, 128, 128, .35);--vscode-terminal-findMatchBackground: #515c6a;--vscode-terminal-findMatchHighlightBackground: rgba(234, 92, 0, .33);--vscode-terminalOverviewRuler-findMatchForeground: rgba(209, 134, 22, .49);--vscode-terminal-dropBackground: rgba(83, 89, 93, .5);--vscode-testing-iconFailed: #f14c4c;--vscode-testing-iconErrored: #f14c4c;--vscode-testing-iconPassed: #73c991;--vscode-testing-runAction: #73c991;--vscode-testing-iconQueued: #cca700;--vscode-testing-iconUnset: #848484;--vscode-testing-iconSkipped: #848484;--vscode-testing-peekBorder: #f14c4c;--vscode-testing-peekHeaderBackground: rgba(241, 76, 76, .1);--vscode-testing-message\.error\.decorationForeground: #f14c4c;--vscode-testing-message\.error\.lineBackground: rgba(255, 0, 0, .2);--vscode-testing-message\.info\.decorationForeground: rgba(212, 212, 212, .5);--vscode-welcomePage-tileBackground: #252526;--vscode-welcomePage-tileHoverBackground: #2c2c2d;--vscode-welcomePage-tileShadow: rgba(0, 0, 0, .36);--vscode-welcomePage-progress\.background: #3c3c3c;--vscode-welcomePage-progress\.foreground: #3794ff;--vscode-debugExceptionWidget-border: #a31515;--vscode-debugExceptionWidget-background: #420b0d;--vscode-ports-iconRunningProcessForeground: #369432;--vscode-statusBar-debuggingBackground: #cc6633;--vscode-statusBar-debuggingForeground: #ffffff;--vscode-editor-inlineValuesForeground: rgba(255, 255, 255, .5);--vscode-editor-inlineValuesBackground: rgba(255, 200, 0, .2);--vscode-editorGutter-modifiedBackground: #1b81a8;--vscode-editorGutter-addedBackground: #487e02;--vscode-editorGutter-deletedBackground: #f14c4c;--vscode-minimapGutter-modifiedBackground: #1b81a8;--vscode-minimapGutter-addedBackground: #487e02;--vscode-minimapGutter-deletedBackground: #f14c4c;--vscode-editorOverviewRuler-modifiedForeground: rgba(27, 129, 168, .6);--vscode-editorOverviewRuler-addedForeground: rgba(72, 126, 2, .6);--vscode-editorOverviewRuler-deletedForeground: rgba(241, 76, 76, .6);--vscode-debugIcon-breakpointForeground: #e51400;--vscode-debugIcon-breakpointDisabledForeground: #848484;--vscode-debugIcon-breakpointUnverifiedForeground: #848484;--vscode-debugIcon-breakpointCurrentStackframeForeground: #ffcc00;--vscode-debugIcon-breakpointStackframeForeground: #89d185;--vscode-notebook-cellBorderColor: #37373d;--vscode-notebook-focusedEditorBorder: #007fd4;--vscode-notebookStatusSuccessIcon-foreground: #89d185;--vscode-notebookStatusErrorIcon-foreground: #f48771;--vscode-notebookStatusRunningIcon-foreground: #cccccc;--vscode-notebook-cellToolbarSeparator: rgba(128, 128, 128, .35);--vscode-notebook-selectedCellBackground: #37373d;--vscode-notebook-selectedCellBorder: #37373d;--vscode-notebook-focusedCellBorder: #007fd4;--vscode-notebook-inactiveFocusedCellBorder: #37373d;--vscode-notebook-cellStatusBarItemHoverBackground: rgba(255, 255, 255, .15);--vscode-notebook-cellInsertionIndicator: #007fd4;--vscode-notebookScrollbarSlider-background: rgba(121, 121, 121, .4);--vscode-notebookScrollbarSlider-hoverBackground: rgba(100, 100, 100, .7);--vscode-notebookScrollbarSlider-activeBackground: rgba(191, 191, 191, .4);--vscode-notebook-symbolHighlightBackground: rgba(255, 255, 255, .04);--vscode-notebook-cellEditorBackground: #252526;--vscode-notebook-editorBackground: #1e1e1e;--vscode-keybindingTable-headerBackground: rgba(204, 204, 204, .04);--vscode-keybindingTable-rowsBackground: rgba(204, 204, 204, .04);--vscode-scm-providerBorder: #454545;--vscode-debugTokenExpression-name: #c586c0;--vscode-debugTokenExpression-value: rgba(204, 204, 204, .6);--vscode-debugTokenExpression-string: #ce9178;--vscode-debugTokenExpression-boolean: #4e94ce;--vscode-debugTokenExpression-number: #b5cea8;--vscode-debugTokenExpression-error: #f48771;--vscode-debugView-exceptionLabelForeground: #cccccc;--vscode-debugView-exceptionLabelBackground: #6c2022;--vscode-debugView-stateLabelForeground: #cccccc;--vscode-debugView-stateLabelBackground: rgba(136, 136, 136, .27);--vscode-debugView-valueChangedHighlight: #569cd6;--vscode-debugConsole-infoForeground: #3794ff;--vscode-debugConsole-warningForeground: #cca700;--vscode-debugConsole-errorForeground: #f48771;--vscode-debugConsole-sourceForeground: #cccccc;--vscode-debugConsoleInputIcon-foreground: #cccccc;--vscode-debugIcon-pauseForeground: #75beff;--vscode-debugIcon-stopForeground: #f48771;--vscode-debugIcon-disconnectForeground: #f48771;--vscode-debugIcon-restartForeground: #89d185;--vscode-debugIcon-stepOverForeground: #75beff;--vscode-debugIcon-stepIntoForeground: #75beff;--vscode-debugIcon-stepOutForeground: #75beff;--vscode-debugIcon-continueForeground: #75beff;--vscode-debugIcon-stepBackForeground: #75beff;--vscode-extensionButton-prominentBackground: #0e639c;--vscode-extensionButton-prominentForeground: #ffffff;--vscode-extensionButton-prominentHoverBackground: #1177bb;--vscode-extensionIcon-starForeground: #ff8e00;--vscode-extensionIcon-verifiedForeground: #3794ff;--vscode-extensionIcon-preReleaseForeground: #1d9271;--vscode-extensionIcon-sponsorForeground: #d758b3;--vscode-terminal-ansiBlack: #000000;--vscode-terminal-ansiRed: #cd3131;--vscode-terminal-ansiGreen: #0dbc79;--vscode-terminal-ansiYellow: #e5e510;--vscode-terminal-ansiBlue: #2472c8;--vscode-terminal-ansiMagenta: #bc3fbc;--vscode-terminal-ansiCyan: #11a8cd;--vscode-terminal-ansiWhite: #e5e5e5;--vscode-terminal-ansiBrightBlack: #666666;--vscode-terminal-ansiBrightRed: #f14c4c;--vscode-terminal-ansiBrightGreen: #23d18b;--vscode-terminal-ansiBrightYellow: #f5f543;--vscode-terminal-ansiBrightBlue: #3b8eea;--vscode-terminal-ansiBrightMagenta: #d670d6;--vscode-terminal-ansiBrightCyan: #29b8db;--vscode-terminal-ansiBrightWhite: #e5e5e5;--vscode-interactive-activeCodeBorder: #3794ff;--vscode-interactive-inactiveCodeBorder: #37373d;--vscode-gitDecoration-addedResourceForeground: #81b88b;--vscode-gitDecoration-modifiedResourceForeground: #e2c08d;--vscode-gitDecoration-deletedResourceForeground: #c74e39;--vscode-gitDecoration-renamedResourceForeground: #73c991;--vscode-gitDecoration-untrackedResourceForeground: #73c991;--vscode-gitDecoration-ignoredResourceForeground: #8c8c8c;--vscode-gitDecoration-stageModifiedResourceForeground: #e2c08d;--vscode-gitDecoration-stageDeletedResourceForeground: #c74e39;--vscode-gitDecoration-conflictingResourceForeground: #e4676b;--vscode-gitDecoration-submoduleResourceForeground: #8db9e2}.xterm-wrapper{padding-left:5px}.xterm-wrapper .xterm-viewport{background-color:var(--vscode-panel-background)!important;color:var(--vscode-foreground)!important}.filters{flex:none;display:flex;flex-direction:column;margin:2px 0}.filter-list{padding:0 10px 10px;-webkit-user-select:none;user-select:none}.filter-title,.filter-summary{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;user-select:none;cursor:pointer}.filter-label{color:var(--vscode-disabledForeground)}.filter-summary{line-height:24px;margin-left:24px}.filter-summary .filter-label{margin-left:5px}.filter-entry{line-height:24px}.filter-entry label{display:flex;align-items:center;cursor:pointer}.filter-entry input{flex:none;display:flex;align-items:center;cursor:pointer}.filter-entry label div{overflow:hidden;text-overflow:ellipsis}.ui-mode-tree-item{flex:auto}.ui-mode-tree-item-title{flex:auto;text-overflow:ellipsis;overflow:hidden}.ui-mode-tree-item-time{flex:none;color:var(--vscode-editorCodeLens-foreground);margin:0 4px;-webkit-user-select:none;user-select:none}.tests-tree-view .tree-view-entry.selected .ui-mode-tree-item-time,.tests-tree-view .tree-view-entry.highlighted .ui-mode-tree-item-time{display:none}.tests-tree-view .tree-view-entry:not(.highlighted):not(.selected) .toolbar-button:not(.toggled){display:none}.tag{display:inline-block;padding:0 8px;font-size:12px;font-weight:500;line-height:18px;border:1px solid transparent;border-radius:2em;background-color:#8c959f;color:#fff;margin:0 10px;flex:none;font-weight:600}.tag-color-0{background-color:#ddf4ff;color:#0550ae;border:1px solid #218bff}.tag-color-1{background-color:#fff8c5;color:#7d4e00;border:1px solid #bf8700}.tag-color-2{background-color:#fbefff;color:#6e40c9;border:1px solid #a475f9}.tag-color-3{background-color:#ffeff7;color:#99286e;border:1px solid #e85aad}.tag-color-4{background-color:#fff0eb;color:#9e2f1c;border:1px solid #EA6045}.tag-color-5{background-color:#fff1e5;color:#9b4215;border:1px solid #e16f24}.dark-mode .tag-color-0{background-color:#051d4d;color:#80ccff;border:1px solid #218bff}.dark-mode .tag-color-1{background-color:#3b2300;color:#eac54f;border:1px solid #bf8700}.dark-mode .tag-color-2{background-color:#271052;color:#d2a8ff;border:1px solid #a475f9}.dark-mode .tag-color-3{background-color:#42062a;color:#ff9bce;border:1px solid #e85aad}.dark-mode .tag-color-4{background-color:#460701;color:#ffa28b;border:1px solid #EC6547}.dark-mode .tag-color-5{background-color:#471700;color:#ffa657;border:1px solid #e16f24}
node_modules/playwright-core/lib/vite/traceViewer/uiMode.C2Efnu2P.js deleted
-6
@@ -1,6 +0,0 @@
1 -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./assets/xtermModule-CsJ4vdCR.js","./xtermModule.DYP7pi_n.css"])))=>i.map(i=>d[i]);
2 -import"./assets/urlMatch-BYQrIQwR.js";import{u as Vt,r as H,g as $t,_ as Ht,h as qt,i as Yt,j as n,R as d,E as Qt,s as Et,k as _t,l as Xt,t as Jt,m as Zt,n as q,o as F,T as Rt,c as Gt,p as G,a as te,W as ee,S as se,q as ie,b as oe,e as ne,f as re}from"./assets/defaultSettingsView-D31xz8zv.js";var ae={};class gt{constructor(t,e={}){this.isListing=!1,this._tests=new Map,this._rootSuite=new tt("","root"),this._options=e,this._reporter=t}reset(){this._rootSuite._entries=[],this._tests.clear()}dispatch(t){const{method:e,params:s}=t;if(e==="onConfigure"){this._onConfigure(s.config);return}if(e==="onProject"){this._onProject(s.project);return}if(e==="onBegin"){this._onBegin();return}if(e==="onTestBegin"){this._onTestBegin(s.testId,s.result);return}if(e==="onTestPaused"){this._onTestPaused(s.testId,s.resultId,s.errors);return}if(e==="onTestEnd"){this._onTestEnd(s.test,s.result);return}if(e==="onStepBegin"){this._onStepBegin(s.testId,s.resultId,s.step);return}if(e==="onAttach"){this._onAttach(s.testId,s.resultId,s.attachments);return}if(e==="onStepEnd"){this._onStepEnd(s.testId,s.resultId,s.step);return}if(e==="onError"){this._onError(s.error,s.workerInfo);return}if(e==="onStdIO"){this._onStdIO(s.type,s.testId,s.resultId,s.data,s.isBase64);return}if(e==="onEnd")return this._onEnd(s.result);if(e==="onExit")return this._onExit()}_onConfigure(t){var e,s;this._rootDir=t.rootDir,this._config=this._parseConfig(t),(s=(e=this._reporter).onConfigure)==null||s.call(e,this._config)}_onProject(t){let e=this._options.mergeProjects?this._rootSuite.suites.find(a=>a.project().name===t.name):void 0;e||(e=new tt(t.name,"project"),this._rootSuite._addSuite(e));const s=this._parseProject(t);e._project=s;let i=-1;this._options.mergeProjects&&(i=this._config.projects.findIndex(a=>a.name===t.name)),i===-1?this._config.projects.push(s):this._config.projects[i]=s;for(const a of t.suites)this._mergeSuiteInto(a,e)}_onBegin(){var t,e;(e=(t=this._reporter).onBegin)==null||e.call(t,this._rootSuite)}_onTestBegin(t,e){var a,r;const s=this._tests.get(t);this._options.clearPreviousResultsWhenTestBegins&&(s.results=[]);const i=s._createTestResult(e.id);i.retry=e.retry,i.workerIndex=e.workerIndex,i.parallelIndex=e.parallelIndex,i.setStartTimeNumber(e.startTime),(r=(a=this._reporter).onTestBegin)==null||r.call(a,s,i)}_onTestPaused(t,e,s){var r,g;const i=this._tests.get(t),a=i.results.find(c=>c._id===e);a.errors.push(...s),a.error=a.errors[0],(g=(r=this._reporter).onTestPaused)==null||g.call(r,i,a)}_onTestEnd(t,e){var a,r;const s=this._tests.get(t.testId);s.timeout=t.timeout,s.expectedStatus=t.expectedStatus;const i=s.results.find(g=>g._id===e.id);i.duration=e.duration,i.status=e.status,i.errors.push(...e.errors??[]),i.error=i.errors[0],e.attachments&&(i.attachments=this._parseAttachments(e.attachments)),e.annotations&&(this._absoluteAnnotationLocationsInplace(e.annotations),i.annotations=e.annotations,s.annotations=e.annotations),(r=(a=this._reporter).onTestEnd)==null||r.call(a,s,i),i._stepMap=new Map}_onStepBegin(t,e,s){var p,l;const i=this._tests.get(t),a=i.results.find(w=>w._id===e),r=s.parentStepId?a._stepMap.get(s.parentStepId):void 0,g=this._absoluteLocation(s.location),c=new ce(s,r,g,a);r?r.steps.push(c):a.steps.push(c),a._stepMap.set(s.id,c),(l=(p=this._reporter).onStepBegin)==null||l.call(p,i,a,c)}_onStepEnd(t,e,s){var g,c;const i=this._tests.get(t),a=i.results.find(p=>p._id===e),r=a._stepMap.get(s.id);r._endPayload=s,r.duration=s.duration,r.error=s.error,(c=(g=this._reporter).onStepEnd)==null||c.call(g,i,a,r)}_onAttach(t,e,s){this._tests.get(t).results.find(r=>r._id===e).attachments.push(...s.map(r=>({name:r.name,contentType:r.contentType,path:r.path,body:r.base64&&globalThis.Buffer?Buffer.from(r.base64,"base64"):void 0})))}_onError(t,e){var i,a;let s;if(e){const r=this._config.projects.find(g=>g.name===e.projectName);r&&(s={workerIndex:e.workerIndex,parallelIndex:e.parallelIndex,config:this._config,project:r})}(a=(i=this._reporter).onError)==null||a.call(i,t,s)}_onStdIO(t,e,s,i,a){var p,l,w,x;const r=a?globalThis.Buffer?Buffer.from(i,"base64"):atob(i):i,g=e?this._tests.get(e):void 0,c=g&&s?g.results.find(h=>h._id===s):void 0;t==="stdout"?(c==null||c.stdout.push(r),(l=(p=this._reporter).onStdOut)==null||l.call(p,r,g,c)):(c==null||c.stderr.push(r),(x=(w=this._reporter).onStdErr)==null||x.call(w,r,g,c))}async _onEnd(t){var e,s;await((s=(e=this._reporter).onEnd)==null?void 0:s.call(e,fe(t)))}_onExit(){var t,e;return(e=(t=this._reporter).onExit)==null?void 0:e.call(t)}_parseConfig(t){const e=pe(t);return this._options.configOverrides&&(e.configFile=this._options.configOverrides.configFile,e.reportSlowTests=this._options.configOverrides.reportSlowTests,e.quiet=this._options.configOverrides.quiet,e.reporter=[...this._options.configOverrides.reporter]),e}_parseProject(t){return{metadata:t.metadata,name:t.name,outputDir:this._absolutePath(t.outputDir),repeatEach:t.repeatEach,retries:t.retries,testDir:this._absolutePath(t.testDir),testIgnore:ct(t.testIgnore),testMatch:ct(t.testMatch),timeout:t.timeout,grep:ct(t.grep),grepInvert:ct(t.grepInvert),dependencies:t.dependencies,teardown:t.teardown,snapshotDir:this._absolutePath(t.snapshotDir),ignoreSnapshots:t.ignoreSnapshots??!1,use:t.use}}_parseAttachments(t){return t.map(e=>({...e,body:e.base64&&globalThis.Buffer?Buffer.from(e.base64,"base64"):void 0}))}_mergeSuiteInto(t,e){let s=e.suites.find(i=>i.title===t.title);s||(s=new tt(t.title,e.type==="project"?"file":"describe"),e._addSuite(s)),s.location=this._absoluteLocation(t.location),t.entries.forEach(i=>{"testId"in i?this._mergeTestInto(i,s):this._mergeSuiteInto(i,s)})}_mergeTestInto(t,e){let s=this._options.mergeTestCases?e.tests.find(i=>i.title===t.title&&i.repeatEachIndex===t.repeatEachIndex):void 0;s||(s=new le(t.testId,t.title,this._absoluteLocation(t.location),t.repeatEachIndex),e._addTest(s),this._tests.set(s.id,s)),this._updateTest(t,s)}_updateTest(t,e){return e.id=t.testId,e.location=this._absoluteLocation(t.location),e.retries=t.retries,e.tags=t.tags??[],e.annotations=t.annotations??[],this._absoluteAnnotationLocationsInplace(e.annotations),e}_absoluteAnnotationLocationsInplace(t){for(const e of t)e.location&&(e.location=this._absoluteLocation(e.location))}_absoluteLocation(t){return t&&{...t,file:this._absolutePath(t.file)}}_absolutePath(t){if(t!==void 0)return this._options.resolvePath?this._options.resolvePath(this._rootDir,t):this._rootDir+"/"+t}}class tt{constructor(t,e){this._entries=[],this._requireFile="",this._parallelMode="none",this.title=t,this._type=e}get type(){return this._type}get suites(){return this._entries.filter(t=>t.type!=="test")}get tests(){return this._entries.filter(t=>t.type==="test")}entries(){return this._entries}allTests(){const t=[],e=s=>{for(const i of s.entries())i.type==="test"?t.push(i):e(i)};return e(this),t}titlePath(){const t=this.parent?this.parent.titlePath():[];return(this.title||this._type!=="describe")&&t.push(this.title),t}project(){var t;return this._project??((t=this.parent)==null?void 0:t.project())}_addTest(t){t.parent=this,this._entries.push(t)}_addSuite(t){t.parent=this,this._entries.push(t)}}class le{constructor(t,e,s,i){this.fn=()=>{},this.results=[],this.type="test",this.expectedStatus="passed",this.timeout=0,this.annotations=[],this.retries=0,this.tags=[],this.repeatEachIndex=0,this.id=t,this.title=e,this.location=s,this.repeatEachIndex=i}titlePath(){const t=this.parent?this.parent.titlePath():[];return t.push(this.title),t}outcome(){return he(this)}ok(){const t=this.outcome();return t==="expected"||t==="flaky"||t==="skipped"}_createTestResult(t){const e=new de(this.results.length,t);return this.results.push(e),e}}class ce{constructor(t,e,s,i){this.duration=-1,this.steps=[],this._startTime=0,this.title=t.title,this.category=t.category,this.location=s,this.parent=e,this._startTime=t.startTime,this._result=i}titlePath(){var e;return[...((e=this.parent)==null?void 0:e.titlePath())||[],this.title]}get startTime(){return new Date(this._startTime)}set startTime(t){this._startTime=+t}get attachments(){var t,e;return((e=(t=this._endPayload)==null?void 0:t.attachments)==null?void 0:e.map(s=>this._result.attachments[s]))??[]}get annotations(){var t;return((t=this._endPayload)==null?void 0:t.annotations)??[]}}class de{constructor(t,e){this.parallelIndex=-1,this.workerIndex=-1,this.duration=-1,this.stdout=[],this.stderr=[],this.attachments=[],this.annotations=[],this.status="skipped",this.steps=[],this.errors=[],this._stepMap=new Map,this._startTime=0,this.retry=t,this._id=e}setStartTimeNumber(t){this._startTime=t}get startTime(){return new Date(this._startTime)}set startTime(t){this._startTime=+t}}const ue={forbidOnly:!1,fullyParallel:!1,globalSetup:null,globalTeardown:null,globalTimeout:0,grep:/.*/,grepInvert:null,maxFailures:0,metadata:{},preserveOutput:"always",projects:[],reporter:[[ae.CI?"dot":"list"]],reportSlowTests:{max:5,threshold:3e5},configFile:"",rootDir:"",quiet:!1,shard:null,tags:[],updateSnapshots:"missing",updateSourceMethod:"patch",version:"",workers:0,webServer:null};function ct(o){return o.map(t=>t.s!==void 0?t.s:new RegExp(t.r.source,t.r.flags))}function he(o){let t=0,e=0,s=0;for(const i of o.results)i.status==="interrupted"||(i.status==="skipped"&&o.expectedStatus==="skipped"?++t:i.status==="skipped"||(i.status===o.expectedStatus?++e:++s));return e===0&&s===0?"skipped":s===0?"expected":e===0&&t===0?"unexpected":"flaky"}function fe(o){return{status:o.status,startTime:new Date(o.startTime),duration:o.duration}}function pe(o){return{...ue,...o}}class mt{constructor(t,e,s,i,a,r){this._treeItemById=new Map,this._treeItemByTestId=new Map;const g=i&&[...i.values()].some(Boolean);this.pathSeparator=a,this.rootItem={kind:"group",subKind:"folder",id:t,title:"",location:{file:"",line:0,column:0},duration:0,parent:void 0,children:[],status:"none",hasLoadErrors:!1},this._treeItemById.set(t,this.rootItem);const c=(p,l,w,x)=>{for(const h of x==="tests"?[]:l.suites){if(!h.title){c(p,h,w,"all");continue}let y=w.children.find(u=>u.kind==="group"&&u.title===h.title);y||(y={kind:"group",subKind:"describe",id:"suite:"+l.titlePath().join("")+""+h.title,title:h.title,location:h.location,duration:0,parent:w,children:[],status:"none",hasLoadErrors:!1},this._addChild(w,y)),c(p,h,y,"all")}for(const h of x==="suites"?[]:l.tests){const y=h.title;let u=w.children.find(E=>E.kind!=="group"&&E.title===y);u||(u={kind:"case",id:"test:"+h.titlePath().join(""),title:y,parent:w,children:[],tests:[],location:h.location,duration:0,status:"none",project:void 0,test:void 0,tags:h.tags},this._addChild(w,u));const b=h.results[0];let S="none";(b==null?void 0:b[et])==="scheduled"?S="scheduled":(b==null?void 0:b[et])==="running"?S="running":(b==null?void 0:b.status)==="skipped"?S="skipped":(b==null?void 0:b.status)==="interrupted"?S="none":b&&h.outcome()!=="expected"?S="failed":b&&h.outcome()==="expected"&&(S="passed"),u.tests.push(h);const j={kind:"test",id:h.id,title:p.name,location:h.location,test:h,parent:u,children:[],status:S,duration:h.results.length?Math.max(0,h.results[0].duration):0,project:p};this._addChild(u,j),this._treeItemByTestId.set(h.id,j),u.duration=u.children.reduce((E,I)=>E+I.duration,0)}};for(const p of(e==null?void 0:e.suites)||[])if(!(g&&!i.get(p.title)))for(const l of p.suites)if(r){if(c(p.project(),l,this.rootItem,"suites"),l.tests.length){const w=this._defaultDescribeItem();c(p.project(),l,w,"tests")}}else{const w=this._fileItem(l.location.file.split(a),!0);c(p.project(),l,w,"all")}for(const p of s){if(!p.location)continue;const l=this._fileItem(p.location.file.split(a),!0);l.hasLoadErrors=!0}}_addChild(t,e){t.children.push(e),e.parent=t,this._treeItemById.set(e.id,e)}filterTree(t,e,s){const i=t.trim().toLowerCase().split(" "),a=[...e.values()].some(Boolean),r=c=>{const p=[...c.tests[0].titlePath(),...c.tests[0].tags].join(" ").toLowerCase();return!i.every(l=>p.includes(l))&&!c.tests.some(l=>s==null?void 0:s.has(l.id))?!1:(c.children=c.children.filter(l=>!a||(s==null?void 0:s.has(l.test.id))||e.get(l.status)),c.tests=c.children.map(l=>l.test),!!c.children.length)},g=c=>{const p=[];for(const l of c.children)l.kind==="case"?r(l)&&p.push(l):(g(l),(l.children.length||l.hasLoadErrors)&&p.push(l));c.children=p};g(this.rootItem)}_fileItem(t,e){if(t.length===0)return this.rootItem;const s=t.join(this.pathSeparator),i=this._treeItemById.get(s);if(i)return i;const a=this._fileItem(t.slice(0,t.length-1),!1),r={kind:"group",subKind:e?"file":"folder",id:s,title:t[t.length-1],location:{file:s,line:0,column:0},duration:0,parent:a,children:[],status:"none",hasLoadErrors:!1};return this._addChild(a,r),r}_defaultDescribeItem(){let t=this._treeItemById.get("<anonymous>");return t||(t={kind:"group",subKind:"describe",id:"<anonymous>",title:"<anonymous>",location:{file:"",line:0,column:0},duration:0,parent:this.rootItem,children:[],status:"none",hasLoadErrors:!1},this._addChild(this.rootItem,t)),t}sortAndPropagateStatus(){Bt(this.rootItem)}flattenForSingleProject(){const t=e=>{e.kind==="case"&&e.children.length===1?(e.project=e.children[0].project,e.test=e.children[0].test,e.children=[],this._treeItemByTestId.set(e.test.id,e)):e.children.forEach(t)};t(this.rootItem)}shortenRoot(){let t=this.rootItem;for(;t.children.length===1&&t.children[0].kind==="group"&&t.children[0].subKind==="folder";)t=t.children[0];t.location=this.rootItem.location,this.rootItem=t}fileNames(){const t=new Set,e=s=>{s.kind==="group"&&s.subKind==="file"?t.add(s.id):s.children.forEach(e)};return e(this.rootItem),[...t]}flatTreeItems(){const t=[],e=s=>{t.push(s),s.children.forEach(e)};return e(this.rootItem),t}treeItemById(t){return this._treeItemById.get(t)}collectTestIds(t){return ge(t)}}function Bt(o){for(const r of o.children)Bt(r);o.kind==="group"&&o.children.sort((r,g)=>r.location.file.localeCompare(g.location.file)||r.location.line-g.location.line);let t=o.children.length>0,e=o.children.length>0,s=!1,i=!1,a=!1;for(const r of o.children)e=e&&r.status==="skipped",t=t&&(r.status==="passed"||r.status==="skipped"),s=s||r.status==="failed",i=i||r.status==="running",a=a||r.status==="scheduled";i?o.status="running":a?o.status="scheduled":s?o.status="failed":e?o.status="skipped":t&&(o.status="passed")}function ge(o){const t=new Set,e=new Set,s=i=>{if(i.kind!=="test"&&i.kind!=="case"){i.children.forEach(s);return}let a=i;for(;a&&a.parent&&!(a.kind==="group"&&a.subKind==="file");)a=a.parent;e.add(a.location.file),i.kind==="case"?i.tests.forEach(r=>t.add(r.id)):t.add(i.id)};return s(o),{testIds:t,locations:e}}const et=Symbol("statusEx");class me{constructor(t){this.loadErrors=[],this.progress={total:0,passed:0,failed:0,skipped:0},this._lastRunTestCount=0,this._receiver=new gt(this._createReporter(),{mergeProjects:!0,mergeTestCases:!0,resolvePath:kt(t.pathSeparator),clearPreviousResultsWhenTestBegins:!0}),this._options=t}_createReporter(){return{version:()=>"v2",onConfigure:t=>{this.config=t,this._lastRunReceiver=new gt({version:()=>"v2",onBegin:e=>{this._lastRunTestCount=e.allTests().length,this._lastRunReceiver=void 0}},{mergeProjects:!0,mergeTestCases:!1,resolvePath:kt(this._options.pathSeparator)}),this._lastRunReceiver.dispatch({method:"onConfigure",params:{config:t}})},onBegin:t=>{var e;if(this.rootSuite||(this.rootSuite=t),this._testResultsSnapshot){for(const s of this.rootSuite.allTests())s.results=((e=this._testResultsSnapshot)==null?void 0:e.get(s.id))||s.results;this._testResultsSnapshot=void 0}this.progress.total=this._lastRunTestCount,this.progress.passed=0,this.progress.failed=0,this.progress.skipped=0,this._options.onUpdate(!0)},onEnd:()=>{this._options.onUpdate(!0)},onTestBegin:(t,e)=>{e[et]="running",this._options.onUpdate()},onTestEnd:(t,e)=>{t.outcome()==="skipped"?++this.progress.skipped:t.outcome()==="unexpected"?++this.progress.failed:++this.progress.passed,e[et]=e.status,this._options.onUpdate()},onError:t=>this._handleOnError(t),printsToStdio:()=>!1}}processGlobalReport(t){const e=new gt({version:()=>"v2",onConfigure:s=>{this.config=s},onError:s=>this._handleOnError(s)});for(const s of t)e.dispatch(s)}processListReport(t){var s;const e=((s=this.rootSuite)==null?void 0:s.allTests())||[];this._testResultsSnapshot=new Map(e.map(i=>[i.id,i.results])),this._receiver.reset();for(const i of t)this._receiver.dispatch(i)}processTestReportEvent(t){var e,s,i;(s=(e=this._lastRunReceiver)==null?void 0:e.dispatch(t))==null||s.catch(()=>{}),(i=this._receiver.dispatch(t))==null||i.catch(()=>{})}_handleOnError(t){var e,s;this.loadErrors.push(t),(s=(e=this._options).onError)==null||s.call(e,t),this._options.onUpdate()}asModel(){return{rootSuite:this.rootSuite||new tt("","root"),config:this.config,loadErrors:this.loadErrors,progress:this.progress}}}function kt(o){return(t,e)=>{const s=[];for(const i of[...t.split(o),...e.split(o)]){const a=o==="\\"&&s.length===1&&s[0].endsWith(":"),r=!s.length;if(!(!i&&!r&&!a)&&i!=="."){if(i===".."){s.pop();continue}s.push(i)}}return s.join(o)}}const _e=({source:o})=>{const[t,e]=Vt(),[s,i]=H.useState($t()),[a]=H.useState(Ht(()=>import("./assets/xtermModule-CsJ4vdCR.js"),__vite__mapDeps([0,1]),import.meta.url).then(g=>g.default)),r=H.useRef(null);return H.useEffect(()=>(qt(i),()=>Yt(i)),[]),H.useEffect(()=>{const g=o.write,c=o.clear;return(async()=>{const{Terminal:p,FitAddon:l}=await a,w=e.current;if(!w)return;const x=s==="dark-mode"?we:ve;if(r.current&&r.current.terminal.options.theme===x)return;r.current&&(w.textContent="");const h=new p({convertEol:!0,fontSize:13,scrollback:1e4,fontFamily:"monospace",theme:x}),y=new l;h.loadAddon(y);for(const u of o.pending)h.write(u);o.write=(u=>{o.pending.push(u),h.write(u)}),o.clear=()=>{o.pending=[],h.clear()},h.open(w),y.fit(),r.current={terminal:h,fitAddon:y}})(),()=>{o.clear=c,o.write=g}},[a,r,e,o,s]),H.useEffect(()=>{setTimeout(()=>{r.current&&(r.current.fitAddon.fit(),o.resize(r.current.terminal.cols,r.current.terminal.rows))},250)},[t,o]),n.jsx("div",{"data-testid":"output",className:"xterm-wrapper",style:{flex:"auto"},ref:e})},ve={foreground:"#383a42",background:"#fafafa",cursor:"#383a42",black:"#000000",red:"#e45649",green:"#50a14f",yellow:"#c18401",blue:"#4078f2",magenta:"#a626a4",cyan:"#0184bc",white:"#a0a0a0",brightBlack:"#000000",brightRed:"#e06c75",brightGreen:"#98c379",brightYellow:"#d19a66",brightBlue:"#4078f2",brightMagenta:"#a626a4",brightCyan:"#0184bc",brightWhite:"#383a42",selectionBackground:"#d7d7d7",selectionForeground:"#383a42"},we={foreground:"#f8f8f2",background:"#1e1e1e",cursor:"#f8f8f0",black:"#000000",red:"#ff5555",green:"#50fa7b",yellow:"#f1fa8c",blue:"#bd93f9",magenta:"#ff79c6",cyan:"#8be9fd",white:"#bfbfbf",brightBlack:"#4d4d4d",brightRed:"#ff6e6e",brightGreen:"#69ff94",brightYellow:"#ffffa5",brightBlue:"#d6acff",brightMagenta:"#ff92df",brightCyan:"#a4ffff",brightWhite:"#e6e6e6",selectionBackground:"#44475a",selectionForeground:"#f8f8f2"},be=({filterText:o,setFilterText:t,statusFilters:e,setStatusFilters:s,projectFilters:i,setProjectFilters:a,onlyChanged:r,setOnlyChanged:g,testModel:c,runTests:p})=>{const[l,w]=d.useState(!1),x=d.useRef(null);d.useEffect(()=>{var u;(u=x.current)==null||u.focus()},[]);const h=[...e.entries()].filter(([u,b])=>b).map(([u])=>u).join(" ")||"all",y=[...i.entries()].filter(([u,b])=>b).map(([u])=>u).join(" ")||"all";return n.jsxs("div",{className:"filters",children:[n.jsx(Qt,{expanded:l,setExpanded:w,title:n.jsx("input",{ref:x,type:"search",placeholder:"Filter (e.g. text, @tag)",spellCheck:!1,value:o,onChange:u=>{t(u.target.value)},onKeyDown:u=>{u.key==="Enter"&&p()}})}),n.jsxs("div",{className:"filter-summary",title:"Status: "+h+`
3 -Projects: `+y+(r?`
4 -Only changed`:""),onClick:()=>w(!l),children:[n.jsx("span",{className:"filter-label",children:"Status:"})," ",h,n.jsx("span",{className:"filter-label",children:"Projects:"})," ",y,r&&n.jsx(n.Fragment,{children:n.jsx("span",{className:"filter-label",children:"Only changed"})})]}),l&&n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"hbox",style:{marginLeft:14,maxHeight:200,overflowY:"auto"},children:[n.jsx("div",{className:"filter-list",role:"list","data-testid":"status-filters",children:[...e.entries()].map(([u,b])=>n.jsx("div",{className:"filter-entry",role:"listitem",children:n.jsxs("label",{children:[n.jsx("input",{type:"checkbox",checked:b,onChange:()=>{const S=new Map(e);S.set(u,!S.get(u)),s(S)}}),n.jsx("div",{children:u})]})},u))}),n.jsx("div",{className:"filter-list",role:"list","data-testid":"project-filters",children:[...i.entries()].map(([u,b])=>n.jsx("div",{className:"filter-entry",role:"listitem",children:n.jsxs("label",{children:[n.jsx("input",{type:"checkbox",checked:b,onChange:()=>{var E;const S=new Map(i);S.set(u,!S.get(u)),a(S);const j=(E=c==null?void 0:c.config)==null?void 0:E.configFile;j&&Et.setObject(j+":projects",[...S.entries()].filter(([I,W])=>W).map(([I])=>I))}}),n.jsx("div",{children:u||"untitled"})]})},u))})]}),n.jsx("div",{className:"filter-entry",style:{marginLeft:24},children:n.jsxs("label",{children:[n.jsx("input",{type:"checkbox",checked:r,onChange:()=>g(!r)}),n.jsx("div",{children:"Show only changed files"})]})})]})]})},xe=({tag:o,style:t,onClick:e})=>n.jsx("span",{className:_t("tag",`tag-color-${Se(o)}`),onClick:e,style:{margin:"6px 0 0 6px",...t},title:`Click to filter by tag: ${o}`,children:o});function Se(o){let t=0;for(let e=0;e<o.length;e++)t=o.charCodeAt(e)+((t<<8)-t);return Math.abs(t%6)}const Te=Xt,ke=({filterText:o,testModel:t,testServerConnection:e,testTree:s,runTests:i,runningState:a,watchAll:r,watchedTreeIds:g,setWatchedTreeIds:c,isLoading:p,onItemSelected:l,requestedCollapseAllCount:w,requestedExpandAllCount:x,setFilterText:h,onRevealSource:y})=>{const[u,b]=d.useState({expandedItems:new Map}),[S,j]=d.useState(),[E,I]=d.useState(w),[W,st]=d.useState(x);d.useEffect(()=>{if(E!==w){u.expandedItems.clear();for(const k of s.flatTreeItems())u.expandedItems.set(k.id,!1);I(w),j(void 0),b({...u});return}if(W!==x){u.expandedItems.clear();for(const k of s.flatTreeItems())u.expandedItems.set(k.id,!0);st(x),j(void 0),b({...u});return}if(!a||a.itemSelectedByUser)return;let f;const C=k=>{var M;k.children.forEach(C),!f&&k.status==="failed"&&(k.kind==="test"&&a.testIds.has(k.test.id)||k.kind==="case"&&a.testIds.has((M=k.tests[0])==null?void 0:M.id))&&(f=k)};C(s.rootItem),f&&j(f.id)},[a,j,s,E,I,w,W,st,x,u,b]);const N=d.useMemo(()=>{if(S)return s.treeItemById(S)},[S,s]);d.useEffect(()=>{if(!t)return;const f=je(N,t);let C;(N==null?void 0:N.kind)==="test"?C=N.test:(N==null?void 0:N.kind)==="case"&&N.tests.length===1&&(C=N.tests[0]),l({treeItem:N,testCase:C,testFile:f})},[t,N,l]),d.useEffect(()=>{if(!p)if(r)e==null||e.watchNoReply({fileNames:s.fileNames()});else{const f=new Set;for(const C of g.value){const k=s.treeItemById(C),M=k==null?void 0:k.location.file;M&&f.add(M)}e==null||e.watchNoReply({fileNames:[...f]})}},[p,s,r,g,e]);const $=f=>{j(f.id),i("bounce-if-busy",s.collectTestIds(f))},K=(f,C)=>{if(f.preventDefault(),f.stopPropagation(),f.metaKey||f.ctrlKey){const k=o.split(" ");k.includes(C)?h(k.filter(M=>M!==C).join(" ").trim()):h((o+" "+C).trim())}else h((o.split(" ").filter(k=>!k.startsWith("@")).join(" ")+" "+C).trim())};return n.jsx(Te,{name:"tests",treeState:u,setTreeState:b,rootItem:s.rootItem,dataTestId:"test-tree",render:f=>{const C=f.id.replace(/[^\w\d-_]/g,"-"),k=C+"-label",M=C+"-time";return n.jsxs("div",{className:"hbox ui-mode-tree-item","aria-labelledby":`${k} ${M}`,children:[n.jsxs("div",{id:k,className:"ui-mode-tree-item-title",children:[n.jsx("span",{children:f.title}),f.kind==="case"?f.tags.map(Y=>n.jsx(xe,{tag:Y.slice(1),onClick:dt=>K(dt,Y)},Y)):null]}),!!f.duration&&f.status!=="skipped"&&n.jsx("div",{id:M,className:"ui-mode-tree-item-time",children:Zt(f.duration)}),n.jsxs(q,{noMinHeight:!0,noShadow:!0,children:[n.jsx(F,{icon:"play",title:"Run",onClick:()=>$(f),disabled:!!a&&!a.completed}),n.jsx(F,{icon:"go-to-file",title:"Show source",onClick:y,style:f.kind==="group"&&f.subKind==="folder"?{visibility:"hidden"}:{}}),!r&&n.jsx(F,{icon:"eye",title:"Watch",onClick:()=>{g.value.has(f.id)?g.value.delete(f.id):g.value.add(f.id),c({...g})},toggled:g.value.has(f.id)})]})]})},icon:f=>Jt(f.status),title:f=>f.title,selectedItem:N,onAccepted:$,onSelected:f=>{a&&(a.itemSelectedByUser=!0),j(f.id)},isError:f=>f.kind==="group"?f.hasLoadErrors:!1,autoExpandDepth:o?5:1,noItemsMessage:p?"Loading…":"No tests"})};function je(o,t){if(!(!o||!t))return{file:o.location.file,line:o.location.line,column:o.location.column,source:{errors:t.loadErrors.filter(e=>{var s;return((s=e.location)==null?void 0:s.file)===o.location.file}).map(e=>({line:e.location.line,message:e.message})),content:void 0}}}function Ie(o){return`.playwright-artifacts-${o}`}const ye=({item:o,rootDir:t,onOpenExternally:e,revealSource:s,pathSeparator:i})=>{var w,x;const[a,r]=d.useState(void 0),[g,c]=d.useState(0),p=d.useRef(null),{outputDir:l}=d.useMemo(()=>({outputDir:o.testCase?Ee(o.testCase):void 0}),[o]);return d.useEffect(()=>{var b,S,j;p.current&&clearTimeout(p.current);const h=(b=o.testCase)==null?void 0:b.results[0];if(!h||((S=o.treeItem)==null?void 0:S.status)==="scheduled"){r(void 0);return}const y=h&&h.duration>=0&&h.attachments.find(E=>E.name==="trace");if(y&&y.path){jt(y.path,h.startTime.getTime()).then(E=>r({model:E,isLive:!1}));return}if(!l){r(void 0);return}const u=[l,Ie(h.workerIndex),"traces",`${(j=o.testCase)==null?void 0:j.id}.json`].join(i);return p.current=setTimeout(async()=>{try{const E=await jt(u,Date.now());r({model:E,isLive:!0})}catch{const E=new Rt("",[]);E.errorDescriptors.push(...h.errors.flatMap(I=>I.message?[{message:I.message}]:[])),r({model:E,isLive:!1})}finally{c(g+1)}},500),()=>{p.current&&clearTimeout(p.current)}},[l,o,r,g,c,i]),n.jsx(Gt,{model:a==null?void 0:a.model,showSourcesFirst:!0,rootDir:t,fallbackLocation:o.testFile,isLive:a==null?void 0:a.isLive,status:(w=o.treeItem)==null?void 0:w.status,annotations:((x=o.testCase)==null?void 0:x.annotations)??[],onOpenExternally:e,revealSource:s},"workbench")},Ee=o=>{var t;for(let e=o.parent;e;e=e.parent)if(e.project())return(t=e.project())==null?void 0:t.outputDir};async function jt(o,t){const e=`file?path=${encodeURIComponent(o)}&timestamp=${t}`,s=new URLSearchParams;s.set("trace",e);const a=await(await fetch(`contexts?${s.toString()}`)).json();return new Rt(e,a)}let It={cols:80};const z={pending:[],clear:()=>{},write:o=>z.pending.push(o),resize:()=>{}},A=new URLSearchParams(window.location.search),Re=new URL(A.get("server")??"../",window.location.href),vt=new URL(A.get("ws"),Re);vt.protocol=vt.protocol==="https:"?"wss:":"ws:";const P={args:A.getAll("arg"),grep:A.get("grep")||void 0,grepInvert:A.get("grepInvert")||void 0,projects:A.getAll("project"),workers:A.get("workers")||void 0,headed:A.has("headed"),updateSnapshots:A.get("updateSnapshots")||void 0,reporters:A.has("reporter")?A.getAll("reporter"):void 0,pathSeparator:A.get("pathSeparator")||"/"};P.updateSnapshots&&!["all","changed","none","missing"].includes(P.updateSnapshots)&&(P.updateSnapshots=void 0);const yt=navigator.platform==="MacIntel";function Be(o){return o.startsWith("/")&&(o=o.substring(1)),o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}const Ce=({})=>{var St;const[o,t]=d.useState(""),[e,s]=d.useState(!1),[i,a]=d.useState(!1),[r,g]=d.useState(new Map([["passed",!1],["failed",!1],["skipped",!1]])),[c,p]=d.useState(new Map),[l,w]=d.useState(),[x,h]=d.useState(),[y,u]=d.useState({}),[b,S]=d.useState(!1),[j,E]=d.useState(),I=j&&!j.completed,[W,st]=G("watch-all",!1),[N,$]=d.useState({value:new Set}),K=d.useRef(Promise.resolve()),f=d.useRef({testIds:new Set,locations:new Set}),[C,k]=d.useState(0),[M,Y]=d.useState(0),[dt,Ct]=d.useState(!1),[wt,bt]=d.useState(!0),[v,Pt]=d.useState(),[it,Nt]=d.useState(),[ot,Lt]=d.useState(!1),[nt,Dt]=d.useState(!1),[Mt,xt]=d.useState(!1),Ft=d.useCallback(()=>xt(!0),[xt]),[ut,Ot]=G("single-worker",!1),[ht,At]=G("updateSnapshots","missing"),[Q,Ut]=G("only-changed",!1),[X]=G("mergeFiles",!1),Wt=d.useRef(null),rt=d.useCallback(()=>{Pt(m=>(m==null||m.close(),new te(new ee(vt))))},[]);d.useEffect(()=>{var m;(m=Wt.current)==null||m.focus(),S(!0),rt()},[rt]),d.useEffect(()=>{if(!v)return;const m=[v.onStdio(_=>{if(_.buffer){const T=atob(_.buffer);z.write(T)}else z.write(_.text);_.type==="stderr"&&a(!0)}),v.onClose(()=>Ct(!0))];return z.resize=(_,T)=>{It={cols:_,rows:T},v.resizeTerminalNoReply({cols:_,rows:T})},()=>{for(const _ of m)_.dispose()}},[v]),d.useEffect(()=>{if(!v)return;let m;const _=new me({onUpdate:T=>{clearTimeout(m),m=void 0,T?w(_.asModel()):m||(m=setTimeout(()=>{w(_.asModel())},250))},onError:T=>{z.write((T.stack||T.value||"")+`
5 -`),a(!0)},pathSeparator:P.pathSeparator});return Nt(_),w(void 0),S(!0),$({value:new Set}),(async()=>{try{await v.initialize({interceptStdio:!0,watchTestDirs:!0});const{status:T,report:B}=await v.runGlobalSetup({});if(_.processGlobalReport(B),T!=="passed")return;const L=await v.listTests({projects:P.projects,locations:P.args,grep:P.grep,grepInvert:P.grepInvert,onlyChanged:Q});_.processListReport(L.report),v.onReport(V=>{_.processTestReportEvent(V)});const{hasBrowsers:O}=await v.checkBrowsers({});bt(O)}finally{S(!1)}})(),()=>{clearTimeout(m)}},[Q,v]),d.useEffect(()=>{if(!l)return;const{config:m,rootSuite:_}=l,T=m.configFile?Et.getObject(m.configFile+":projects",void 0):void 0,B=new Map(c);for(const L of B.keys())_.suites.find(O=>O.title===L)||B.delete(L);for(const L of _.suites)B.has(L.title)||B.set(L.title,!!(T!=null&&T.includes(L.title)));!T&&B.size&&![...B.values()].includes(!0)&&B.set(B.entries().next().value[0],!0),(c.size!==B.size||[...c].some(([L,O])=>B.get(L)!==O))&&p(B)},[c,l]),d.useEffect(()=>{I&&(l!=null&&l.progress)?h(l.progress):l||h(void 0)},[l,I]);const{testTree:at}=d.useMemo(()=>{if(!l)return{testTree:new mt("",new tt("","root"),[],c,P.pathSeparator,X)};const m=new mt("",l.rootSuite,l.loadErrors,c,P.pathSeparator,X);return m.filterTree(o,r,I?j==null?void 0:j.testIds:void 0),m.sortAndPropagateStatus(),m.shortenRoot(),m.flattenForSingleProject(),{testTree:m}},[o,l,r,c,j,I,X]),J=d.useCallback((m,_)=>{if(!(!v||!l)&&!(m==="bounce-if-busy"&&I)){for(const T of _.testIds)f.current.testIds.add(T);for(const T of _.locations)f.current.locations.add(T);K.current=K.current.then(async()=>{var O,V,U;const{testIds:T,locations:B}=f.current;if(f.current={testIds:new Set,locations:new Set},!T.size)return;{for(const R of((O=l.rootSuite)==null?void 0:O.allTests())||[])if(T.has(R.id)){R.results=[];const D=R._createTestResult("pending");D[et]="scheduled"}w({...l})}const L=" ["+new Date().toLocaleTimeString()+"]";z.write("\x1B[2m—".repeat(Math.max(0,It.cols-L.length))+L+"\x1B[22m"),h({total:0,passed:0,failed:0,skipped:0}),E({testIds:T}),await v.runTests({locations:[...B].map(Be),grep:P.grep,grepInvert:P.grepInvert,testIds:[...T],projects:[...c].filter(([R,D])=>D).map(([R])=>R),updateSnapshots:ht,reporters:P.reporters,workers:ut?1:void 0,trace:"on"});for(const R of((V=l.rootSuite)==null?void 0:V.allTests())||[])((U=R.results[0])==null?void 0:U.duration)===-1&&(R.results=[]);w({...l}),E(R=>R?{...R,completed:!0}:void 0)})}},[c,I,l,v,ht,ut]),lt=d.useCallback(()=>J("bounce-if-busy",at.collectTestIds(at.rootItem)),[J,at]);d.useEffect(()=>{if(!v||!it)return;const m=v.onTestFilesChanged(async _=>{if(K.current=K.current.then(async()=>{S(!0);try{const U=await v.listTests({projects:P.projects,locations:P.args,grep:P.grep,grepInvert:P.grepInvert,onlyChanged:Q});it.processListReport(U.report)}catch(U){console.log(U)}finally{S(!1)}}),await K.current,_.testFiles.length===0)return;const T=it.asModel(),B=new mt("",T.rootSuite,T.loadErrors,c,P.pathSeparator,X),L=[],O=[],V=new Set(_.testFiles);if(W){const U=R=>{const D=R.location.file;if(D&&V.has(D)){const Z=B.collectTestIds(R);L.push(...Z.locations),O.push(...Z.testIds)}R.kind==="group"&&R.subKind==="folder"&&R.children.forEach(U)};U(B.rootItem)}else for(const U of N.value){const R=B.treeItemById(U);if(!R)continue;let D=R;for(;!(D.kind==="group"&&(D.subKind==="file"||D.subKind==="folder"))&&D.parent;)D=D.parent;const Z=D==null?void 0:D.location.file;if(Z&&V.has(Z)){const Tt=B.collectTestIds(R);L.push(...Tt.locations),O.push(...Tt.testIds)}}J("queue-if-busy",{locations:L,testIds:O})});return()=>m.dispose()},[J,v,W,N,it,c,X,Q]),d.useEffect(()=>{if(!v)return;const m=_=>{_.code==="Backquote"&&_.ctrlKey?(_.preventDefault(),s(!e)):_.code==="F5"&&_.shiftKey?(_.preventDefault(),v==null||v.stopTestsNoReply({})):_.code==="F5"&&(_.preventDefault(),lt())};return addEventListener("keydown",m),()=>{removeEventListener("keydown",m)}},[lt,rt,v,e]);const ft=d.useRef(null),zt=d.useCallback(m=>{var _;m.preventDefault(),m.stopPropagation(),(_=ft.current)==null||_.showModal()},[]),pt=d.useCallback(m=>{var _;m.preventDefault(),m.stopPropagation(),(_=ft.current)==null||_.close()},[]),Kt=d.useCallback(m=>{pt(m),s(!0),v==null||v.installBrowsers({}).then(async()=>{s(!1);const{hasBrowsers:_}=await(v==null?void 0:v.checkBrowsers({}));bt(_)})},[pt,v]);return n.jsxs("div",{className:"vbox ui-mode",children:[!wt&&n.jsxs("dialog",{ref:ft,children:[n.jsxs("div",{className:"title",children:[n.jsx("span",{className:"codicon codicon-lightbulb"}),"Install browsers"]}),n.jsxs("div",{className:"body",children:["Playwright did not find installed browsers.",n.jsx("br",{}),"Would you like to run `playwright install`?",n.jsx("br",{}),n.jsx("button",{className:"button",onClick:Kt,children:"Install"}),n.jsx("button",{className:"button secondary",onClick:pt,children:"Dismiss"})]})]}),dt&&n.jsxs("div",{className:"disconnected",children:[n.jsx("div",{className:"title",children:"UI Mode disconnected"}),n.jsxs("div",{children:[n.jsx("a",{href:"#",onClick:()=>window.location.href="/",children:"Reload the page"})," to reconnect"]})]}),n.jsx(se,{sidebarSize:250,minSidebarSize:150,orientation:"horizontal",sidebarIsFirst:!0,settingName:"testListSidebar",main:n.jsxs("div",{className:"vbox",children:[n.jsxs("div",{className:_t("vbox",!e&&"hidden"),children:[n.jsxs(q,{children:[n.jsx("div",{className:"section-title",style:{flex:"none"},children:"Output"}),n.jsx(F,{icon:"circle-slash",title:"Clear output",onClick:()=>{z.clear(),a(!1)}}),n.jsx("div",{className:"spacer"}),n.jsx(F,{icon:"close",title:"Close",onClick:()=>s(!1)})]}),n.jsx(_e,{source:z})]}),n.jsx("div",{className:_t("vbox",e&&"hidden"),children:n.jsx(ye,{pathSeparator:P.pathSeparator,item:y,rootDir:(St=l==null?void 0:l.config)==null?void 0:St.rootDir,revealSource:Mt,onOpenExternally:m=>v==null?void 0:v.openNoReply({location:{file:m.file,line:m.line,column:m.column}})})})]}),sidebar:n.jsxs("div",{className:"vbox ui-mode-sidebar",children:[n.jsxs(q,{noShadow:!0,noMinHeight:!0,children:[n.jsx("img",{src:"playwright-logo.svg",alt:"Playwright logo"}),n.jsx("div",{className:"section-title",children:"Playwright"}),n.jsx(F,{icon:"refresh",title:"Reload",onClick:()=>rt(),disabled:I||b}),n.jsx("div",{style:{position:"relative"},children:n.jsx(F,{icon:"terminal",title:"Toggle output — "+(yt?"⌃`":"Ctrl + `"),toggled:e,errorBadge:i?"Output contains error":void 0,onClick:()=>{s(!e)}})}),!wt&&n.jsx(F,{icon:"lightbulb-autofix",style:{color:"var(--vscode-list-warningForeground)"},title:"Playwright browsers are missing",onClick:zt})]}),n.jsx(be,{filterText:o,setFilterText:t,statusFilters:r,setStatusFilters:g,projectFilters:c,setProjectFilters:p,onlyChanged:Q,setOnlyChanged:Ut,testModel:l,runTests:lt}),n.jsxs(q,{className:"section-toolbar",noMinHeight:!0,children:[!I&&!x&&n.jsx("div",{className:"section-title",children:"Tests"}),!I&&x&&n.jsx("div",{"data-testid":"status-line",className:"status-line",children:n.jsxs("div",{children:[x.passed,"/",x.total," passed (",x.passed/x.total*100|0,"%)"]})}),I&&x&&n.jsx("div",{"data-testid":"status-line",className:"status-line",children:n.jsxs("div",{children:["Running ",x.passed,"/",j.testIds.size," passed (",x.passed/j.testIds.size*100|0,"%)"]})}),n.jsx(F,{icon:"play",title:"Run all — F5",onClick:lt,disabled:I||b}),n.jsx(F,{icon:"debug-stop",title:"Stop — "+(yt?"⇧F5":"Shift + F5"),onClick:()=>v==null?void 0:v.stopTests({}),disabled:!I||b,testId:"stop-button"}),n.jsx(F,{icon:"eye",title:"Watch all",toggled:W,onClick:()=>{$({value:new Set}),st(!W)}}),n.jsx(F,{icon:"collapse-all",title:"Collapse all",onClick:()=>{k(C+1)}}),n.jsx(F,{icon:"expand-all",title:"Expand all",onClick:()=>{Y(M+1)}})]}),n.jsx(ke,{filterText:o,testModel:l,testTree:at,testServerConnection:v,runningState:j,runTests:J,onItemSelected:u,watchAll:W,watchedTreeIds:N,setWatchedTreeIds:$,isLoading:b,requestedCollapseAllCount:C,requestedExpandAllCount:M,setFilterText:t,onRevealSource:Ft}),n.jsxs(q,{noShadow:!0,noMinHeight:!0,className:"settings-toolbar",onClick:()=>Dt(!nt),children:[n.jsx("span",{className:`codicon codicon-${nt?"chevron-down":"chevron-right"}`,style:{marginLeft:5},title:nt?"Hide Testing Options":"Show Testing Options"}),n.jsx("div",{className:"section-title",children:"Testing Options"})]}),nt&&n.jsx(ie,{settings:[{type:"check",value:ut,set:Ot,name:"Single worker"},{type:"select",options:[{label:"All",value:"all"},{label:"Changed",value:"changed"},{label:"Missing",value:"missing"},{label:"None",value:"none"}],value:ht,set:At,name:"Update snapshots"}]}),n.jsxs(q,{noShadow:!0,noMinHeight:!0,className:"settings-toolbar",onClick:()=>Lt(!ot),children:[n.jsx("span",{className:`codicon codicon-${ot?"chevron-down":"chevron-right"}`,style:{marginLeft:5},title:ot?"Hide Settings":"Show Settings"}),n.jsx("div",{className:"section-title",children:"Settings"})]}),ot&&n.jsx(oe,{location:"ui-mode"})]})})]})};(async()=>{if(ne(),window.location.protocol!=="file:"){if(window.location.href.includes("isUnderTest=true")&&await new Promise(o=>setTimeout(o,1e3)),!navigator.serviceWorker)throw new Error(`Service workers are not supported.
6 -Make sure to serve the website (${window.location}) via HTTPS or localhost.`);navigator.serviceWorker.register("sw.bundle.js"),navigator.serviceWorker.controller||await new Promise(o=>{navigator.serviceWorker.oncontrollerchange=()=>o()}),setInterval(function(){fetch("ping")},1e4)}re.createRoot(document.querySelector("#root")).render(n.jsx(Ce,{}))})();
node_modules/playwright-core/lib/vite/traceViewer/uiMode.html deleted
-18
@@ -1,18 +0,0 @@
1 -
2 -<!DOCTYPE html>
3 -<html lang="en" translate="no">
4 - <head>
5 - <meta charset="UTF-8">
6 - <meta name="viewport" content="width=device-width, initial-scale=1.0">
7 - <link rel="icon" href="./playwright-logo.svg" type="image/svg+xml">
8 - <title>Playwright Test</title>
9 - <script type="module" crossorigin src="./uiMode.C2Efnu2P.js"></script>
10 - <link rel="modulepreload" crossorigin href="./assets/urlMatch-BYQrIQwR.js">
11 - <link rel="modulepreload" crossorigin href="./assets/defaultSettingsView-D31xz8zv.js">
12 - <link rel="stylesheet" crossorigin href="./defaultSettingsView.BDKsFU3c.css">
13 - <link rel="stylesheet" crossorigin href="./uiMode.Btcz36p_.css">
14 - </head>
15 - <body>
16 - <div id="root"></div>
17 - </body>
18 -</html>
node_modules/playwright-core/lib/vite/traceViewer/xtermModule.DYP7pi_n.css deleted
-32
@@ -1,32 +0,0 @@
1 -/**
2 - * Copyright (c) 2014 The xterm.js authors. All rights reserved.
3 - * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
4 - * https://github.com/chjj/term.js
5 - * @license MIT
6 - *
7 - * Permission is hereby granted, free of charge, to any person obtaining a copy
8 - * of this software and associated documentation files (the "Software"), to deal
9 - * in the Software without restriction, including without limitation the rights
10 - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 - * copies of the Software, and to permit persons to whom the Software is
12 - * furnished to do so, subject to the following conditions:
13 - *
14 - * The above copyright notice and this permission notice shall be included in
15 - * all copies or substantial portions of the Software.
16 - *
17 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23 - * THE SOFTWARE.
24 - *
25 - * Originally forked from (with the author's permission):
26 - * Fabrice Bellard's javascript vt100 for jslinux:
27 - * http://bellard.org/jslinux/
28 - * Copyright (c) 2011 Fabrice Bellard
29 - * The original design remains. The terminal itself
30 - * has been extended to include xterm CSI codes, among
31 - * other features.
32 - */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}
node_modules/playwright-core/lib/xdg-open deleted
-1066
@@ -1,1066 +0,0 @@
1 -#!/bin/sh
2 -#---------------------------------------------
3 -# xdg-open
4 -#
5 -# Utility script to open a URL in the registered default application.
6 -#
7 -# Refer to the usage() function below for usage.
8 -#
9 -# Copyright 2009-2010, Fathi Boudra <fabo@freedesktop.org>
10 -# Copyright 2009-2010, Rex Dieter <rdieter@fedoraproject.org>
11 -# Copyright 2006, Kevin Krammer <kevin.krammer@gmx.at>
12 -# Copyright 2006, Jeremy White <jwhite@codeweavers.com>
13 -#
14 -# LICENSE:
15 -#
16 -# Permission is hereby granted, free of charge, to any person obtaining a
17 -# copy of this software and associated documentation files (the "Software"),
18 -# to deal in the Software without restriction, including without limitation
19 -# the rights to use, copy, modify, merge, publish, distribute, sublicense,
20 -# and/or sell copies of the Software, and to permit persons to whom the
21 -# Software is furnished to do so, subject to the following conditions:
22 -#
23 -# The above copyright notice and this permission notice shall be included
24 -# in all copies or substantial portions of the Software.
25 -#
26 -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
27 -# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
28 -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
29 -# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
30 -# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
31 -# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
32 -# OTHER DEALINGS IN THE SOFTWARE.
33 -#
34 -#---------------------------------------------
35 -
36 -manualpage()
37 -{
38 -cat << _MANUALPAGE
39 -Name
40 -
41 - xdg-open -- opens a file or URL in the user's preferred
42 - application
43 -
44 -Synopsis
45 -
46 - xdg-open { file | URL }
47 -
48 - xdg-open { --help | --manual | --version }
49 -
50 -Description
51 -
52 - xdg-open opens a file or URL in the user's preferred
53 - application. If a URL is provided the URL will be opened in the
54 - user's preferred web browser. If a file is provided the file
55 - will be opened in the preferred application for files of that
56 - type. xdg-open supports file, ftp, http and https URLs.
57 -
58 - xdg-open is for use inside a desktop session only. It is not
59 - recommended to use xdg-open as root.
60 -
61 -Options
62 -
63 - --help
64 - Show command synopsis.
65 -
66 - --manual
67 - Show this manual page.
68 -
69 - --version
70 - Show the xdg-utils version information.
71 -
72 -Exit Codes
73 -
74 - An exit code of 0 indicates success while a non-zero exit code
75 - indicates failure. The following failure codes can be returned:
76 -
77 - 1
78 - Error in command line syntax.
79 -
80 - 2
81 - One of the files passed on the command line did not
82 - exist.
83 -
84 - 3
85 - A required tool could not be found.
86 -
87 - 4
88 - The action failed.
89 -
90 -See Also
91 -
92 - xdg-mime(1), xdg-settings(1), MIME applications associations
93 - specification
94 -
95 -Examples
96 -
97 -xdg-open 'http://www.freedesktop.org/'
98 -
99 - Opens the freedesktop.org website in the user's default
100 - browser.
101 -
102 -xdg-open /tmp/foobar.png
103 -
104 - Opens the PNG image file /tmp/foobar.png in the user's default
105 - image viewing application.
106 -_MANUALPAGE
107 -}
108 -
109 -usage()
110 -{
111 -cat << _USAGE
112 - xdg-open -- opens a file or URL in the user's preferred
113 - application
114 -
115 -Synopsis
116 -
117 - xdg-open { file | URL }
118 -
119 - xdg-open { --help | --manual | --version }
120 -
121 -_USAGE
122 -}
123 -
124 -#@xdg-utils-common@
125 -
126 -#----------------------------------------------------------------------------
127 -# Common utility functions included in all XDG wrapper scripts
128 -#----------------------------------------------------------------------------
129 -
130 -DEBUG()
131 -{
132 - [ -z "${XDG_UTILS_DEBUG_LEVEL}" ] && return 0;
133 - [ ${XDG_UTILS_DEBUG_LEVEL} -lt $1 ] && return 0;
134 - shift
135 - echo "$@" >&2
136 -}
137 -
138 -# This handles backslashes but not quote marks.
139 -first_word()
140 -{
141 - read first rest
142 - echo "$first"
143 -}
144 -
145 -#-------------------------------------------------------------
146 -# map a binary to a .desktop file
147 -binary_to_desktop_file()
148 -{
149 - search="${XDG_DATA_HOME:-$HOME/.local/share}:${XDG_DATA_DIRS:-/usr/local/share:/usr/share}"
150 - binary="`which "$1"`"
151 - binary="`readlink -f "$binary"`"
152 - base="`basename "$binary"`"
153 - IFS=:
154 - for dir in $search; do
155 - unset IFS
156 - [ "$dir" ] || continue
157 - [ -d "$dir/applications" ] || [ -d "$dir/applnk" ] || continue
158 - for file in "$dir"/applications/*.desktop "$dir"/applications/*/*.desktop "$dir"/applnk/*.desktop "$dir"/applnk/*/*.desktop; do
159 - [ -r "$file" ] || continue
160 - # Check to make sure it's worth the processing.
161 - grep -q "^Exec.*$base" "$file" || continue
162 - # Make sure it's a visible desktop file (e.g. not "preferred-web-browser.desktop").
163 - grep -Eq "^(NoDisplay|Hidden)=true" "$file" && continue
164 - command="`grep -E "^Exec(\[[^]=]*])?=" "$file" | cut -d= -f 2- | first_word`"
165 - command="`which "$command"`"
166 - if [ x"`readlink -f "$command"`" = x"$binary" ]; then
167 - # Fix any double slashes that got added path composition
168 - echo "$file" | sed -e 's,//*,/,g'
169 - return
170 - fi
171 - done
172 - done
173 -}
174 -
175 -#-------------------------------------------------------------
176 -# map a .desktop file to a binary
177 -desktop_file_to_binary()
178 -{
179 - search="${XDG_DATA_HOME:-$HOME/.local/share}:${XDG_DATA_DIRS:-/usr/local/share:/usr/share}"
180 - desktop="`basename "$1"`"
181 - IFS=:
182 - for dir in $search; do
183 - unset IFS
184 - [ "$dir" ] && [ -d "$dir/applications" ] || [ -d "$dir/applnk" ] || continue
185 - # Check if desktop file contains -
186 - if [ "${desktop#*-}" != "$desktop" ]; then
187 - vendor=${desktop%-*}
188 - app=${desktop#*-}
189 - if [ -r $dir/applications/$vendor/$app ]; then
190 - file_path=$dir/applications/$vendor/$app
191 - elif [ -r $dir/applnk/$vendor/$app ]; then
192 - file_path=$dir/applnk/$vendor/$app
193 - fi
194 - fi
195 - if test -z "$file_path" ; then
196 - for indir in "$dir"/applications/ "$dir"/applications/*/ "$dir"/applnk/ "$dir"/applnk/*/; do
197 - file="$indir/$desktop"
198 - if [ -r "$file" ]; then
199 - file_path=$file
200 - break
201 - fi
202 - done
203 - fi
204 - if [ -r "$file_path" ]; then
205 - # Remove any arguments (%F, %f, %U, %u, etc.).
206 - command="`grep -E "^Exec(\[[^]=]*])?=" "$file_path" | cut -d= -f 2- | first_word`"
207 - command="`which "$command"`"
208 - readlink -f "$command"
209 - return
210 - fi
211 - done
212 -}
213 -
214 -#-------------------------------------------------------------
215 -# Exit script on successfully completing the desired operation
216 -
217 -exit_success()
218 -{
219 - if [ $# -gt 0 ]; then
220 - echo "$@"
221 - echo
222 - fi
223 -
224 - exit 0
225 -}
226 -
227 -
228 -#-----------------------------------------
229 -# Exit script on malformed arguments, not enough arguments
230 -# or missing required option.
231 -# prints usage information
232 -
233 -exit_failure_syntax()
234 -{
235 - if [ $# -gt 0 ]; then
236 - echo "xdg-open: $@" >&2
237 - echo "Try 'xdg-open --help' for more information." >&2
238 - else
239 - usage
240 - echo "Use 'man xdg-open' or 'xdg-open --manual' for additional info."
241 - fi
242 -
243 - exit 1
244 -}
245 -
246 -#-------------------------------------------------------------
247 -# Exit script on missing file specified on command line
248 -
249 -exit_failure_file_missing()
250 -{
251 - if [ $# -gt 0 ]; then
252 - echo "xdg-open: $@" >&2
253 - fi
254 -
255 - exit 2
256 -}
257 -
258 -#-------------------------------------------------------------
259 -# Exit script on failure to locate necessary tool applications
260 -
261 -exit_failure_operation_impossible()
262 -{
263 - if [ $# -gt 0 ]; then
264 - echo "xdg-open: $@" >&2
265 - fi
266 -
267 - exit 3
268 -}
269 -
270 -#-------------------------------------------------------------
271 -# Exit script on failure returned by a tool application
272 -
273 -exit_failure_operation_failed()
274 -{
275 - if [ $# -gt 0 ]; then
276 - echo "xdg-open: $@" >&2
277 - fi
278 -
279 - exit 4
280 -}
281 -
282 -#------------------------------------------------------------
283 -# Exit script on insufficient permission to read a specified file
284 -
285 -exit_failure_file_permission_read()
286 -{
287 - if [ $# -gt 0 ]; then
288 - echo "xdg-open: $@" >&2
289 - fi
290 -
291 - exit 5
292 -}
293 -
294 -#------------------------------------------------------------
295 -# Exit script on insufficient permission to write a specified file
296 -
297 -exit_failure_file_permission_write()
298 -{
299 - if [ $# -gt 0 ]; then
300 - echo "xdg-open: $@" >&2
301 - fi
302 -
303 - exit 6
304 -}
305 -
306 -check_input_file()
307 -{
308 - if [ ! -e "$1" ]; then
309 - exit_failure_file_missing "file '$1' does not exist"
310 - fi
311 - if [ ! -r "$1" ]; then
312 - exit_failure_file_permission_read "no permission to read file '$1'"
313 - fi
314 -}
315 -
316 -check_vendor_prefix()
317 -{
318 - file_label="$2"
319 - [ -n "$file_label" ] || file_label="filename"
320 - file=`basename "$1"`
321 - case "$file" in
322 - [[:alpha:]]*-*)
323 - return
324 - ;;
325 - esac
326 -
327 - echo "xdg-open: $file_label '$file' does not have a proper vendor prefix" >&2
328 - echo 'A vendor prefix consists of alpha characters ([a-zA-Z]) and is terminated' >&2
329 - echo 'with a dash ("-"). An example '"$file_label"' is '"'example-$file'" >&2
330 - echo "Use --novendor to override or 'xdg-open --manual' for additional info." >&2
331 - exit 1
332 -}
333 -
334 -check_output_file()
335 -{
336 - # if the file exists, check if it is writeable
337 - # if it does not exists, check if we are allowed to write on the directory
338 - if [ -e "$1" ]; then
339 - if [ ! -w "$1" ]; then
340 - exit_failure_file_permission_write "no permission to write to file '$1'"
341 - fi
342 - else
343 - DIR=`dirname "$1"`
344 - if [ ! -w "$DIR" ] || [ ! -x "$DIR" ]; then
345 - exit_failure_file_permission_write "no permission to create file '$1'"
346 - fi
347 - fi
348 -}
349 -
350 -#----------------------------------------
351 -# Checks for shared commands, e.g. --help
352 -
353 -check_common_commands()
354 -{
355 - while [ $# -gt 0 ] ; do
356 - parm="$1"
357 - shift
358 -
359 - case "$parm" in
360 - --help)
361 - usage
362 - echo "Use 'man xdg-open' or 'xdg-open --manual' for additional info."
363 - exit_success
364 - ;;
365 -
366 - --manual)
367 - manualpage
368 - exit_success
369 - ;;
370 -
371 - --version)
372 - echo "xdg-open 1.1.3"
373 - exit_success
374 - ;;
375 - esac
376 - done
377 -}
378 -
379 -check_common_commands "$@"
380 -
381 -[ -z "${XDG_UTILS_DEBUG_LEVEL}" ] && unset XDG_UTILS_DEBUG_LEVEL;
382 -if [ ${XDG_UTILS_DEBUG_LEVEL-0} -lt 1 ]; then
383 - # Be silent
384 - xdg_redirect_output=" > /dev/null 2> /dev/null"
385 -else
386 - # All output to stderr
387 - xdg_redirect_output=" >&2"
388 -fi
389 -
390 -#--------------------------------------
391 -# Checks for known desktop environments
392 -# set variable DE to the desktop environments name, lowercase
393 -
394 -detectDE()
395 -{
396 - # see https://bugs.freedesktop.org/show_bug.cgi?id=34164
397 - unset GREP_OPTIONS
398 -
399 - if [ -n "${XDG_CURRENT_DESKTOP}" ]; then
400 - case "${XDG_CURRENT_DESKTOP}" in
401 - # only recently added to menu-spec, pre-spec X- still in use
402 - Cinnamon|X-Cinnamon)
403 - DE=cinnamon;
404 - ;;
405 - ENLIGHTENMENT)
406 - DE=enlightenment;
407 - ;;
408 - # GNOME, GNOME-Classic:GNOME, or GNOME-Flashback:GNOME
409 - GNOME*)
410 - DE=gnome;
411 - ;;
412 - KDE)
413 - DE=kde;
414 - ;;
415 - # Deepin Desktop Environments
416 - DEEPIN|Deepin|deepin)
417 - DE=dde;
418 - ;;
419 - LXDE)
420 - DE=lxde;
421 - ;;
422 - LXQt)
423 - DE=lxqt;
424 - ;;
425 - MATE)
426 - DE=mate;
427 - ;;
428 - XFCE)
429 - DE=xfce
430 - ;;
431 - X-Generic)
432 - DE=generic
433 - ;;
434 - esac
435 - fi
436 -
437 - if [ x"$DE" = x"" ]; then
438 - # classic fallbacks
439 - if [ x"$KDE_FULL_SESSION" != x"" ]; then DE=kde;
440 - elif [ x"$GNOME_DESKTOP_SESSION_ID" != x"" ]; then DE=gnome;
441 - elif [ x"$MATE_DESKTOP_SESSION_ID" != x"" ]; then DE=mate;
442 - elif `dbus-send --print-reply --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.GetNameOwner string:org.gnome.SessionManager > /dev/null 2>&1` ; then DE=gnome;
443 - elif xprop -root _DT_SAVE_MODE 2> /dev/null | grep ' = \"xfce4\"$' >/dev/null 2>&1; then DE=xfce;
444 - elif xprop -root 2> /dev/null | grep -i '^xfce_desktop_window' >/dev/null 2>&1; then DE=xfce
445 - elif echo $DESKTOP | grep -q '^Enlightenment'; then DE=enlightenment;
446 - elif [ x"$LXQT_SESSION_CONFIG" != x"" ]; then DE=lxqt;
447 - fi
448 - fi
449 -
450 - if [ x"$DE" = x"" ]; then
451 - # fallback to checking $DESKTOP_SESSION
452 - case "$DESKTOP_SESSION" in
453 - gnome)
454 - DE=gnome;
455 - ;;
456 - LXDE|Lubuntu)
457 - DE=lxde;
458 - ;;
459 - MATE)
460 - DE=mate;
461 - ;;
462 - xfce|xfce4|'Xfce Session')
463 - DE=xfce;
464 - ;;
465 - esac
466 - fi
467 -
468 - if [ x"$DE" = x"" ]; then
469 - # fallback to uname output for other platforms
470 - case "$(uname 2>/dev/null)" in
471 - CYGWIN*)
472 - DE=cygwin;
473 - ;;
474 - Darwin)
475 - DE=darwin;
476 - ;;
477 - esac
478 - fi
479 -
480 - if [ x"$DE" = x"gnome" ]; then
481 - # gnome-default-applications-properties is only available in GNOME 2.x
482 - # but not in GNOME 3.x
483 - which gnome-default-applications-properties > /dev/null 2>&1 || DE="gnome3"
484 - fi
485 -
486 - if [ -f "$XDG_RUNTIME_DIR/flatpak-info" ]; then
487 - DE="flatpak"
488 - fi
489 -}
490 -
491 -#----------------------------------------------------------------------------
492 -# kfmclient exec/openURL can give bogus exit value in KDE <= 3.5.4
493 -# It also always returns 1 in KDE 3.4 and earlier
494 -# Simply return 0 in such case
495 -
496 -kfmclient_fix_exit_code()
497 -{
498 - version=`LC_ALL=C.UTF-8 kde-config --version 2>/dev/null | grep '^KDE'`
499 - major=`echo $version | sed 's/KDE.*: \([0-9]\).*/\1/'`
500 - minor=`echo $version | sed 's/KDE.*: [0-9]*\.\([0-9]\).*/\1/'`
501 - release=`echo $version | sed 's/KDE.*: [0-9]*\.[0-9]*\.\([0-9]\).*/\1/'`
502 - test "$major" -gt 3 && return $1
503 - test "$minor" -gt 5 && return $1
504 - test "$release" -gt 4 && return $1
505 - return 0
506 -}
507 -
508 -#----------------------------------------------------------------------------
509 -# Returns true if there is a graphical display attached.
510 -
511 -has_display()
512 -{
513 - if [ -n "$DISPLAY" ] || [ -n "$WAYLAND_DISPLAY" ]; then
514 - return 0
515 - else
516 - return 1
517 - fi
518 -}
519 -
520 -# This handles backslashes but not quote marks.
521 -last_word()
522 -{
523 - read first rest
524 - echo "$rest"
525 -}
526 -
527 -# Get the value of a key in a desktop file's Desktop Entry group.
528 -# Example: Use get_key foo.desktop Exec
529 -# to get the values of the Exec= key for the Desktop Entry group.
530 -get_key()
531 -{
532 - local file="${1}"
533 - local key="${2}"
534 - local desktop_entry=""
535 -
536 - IFS_="${IFS}"
537 - IFS=""
538 - while read line
539 - do
540 - case "$line" in
541 - "[Desktop Entry]")
542 - desktop_entry="y"
543 - ;;
544 - # Reset match flag for other groups
545 - "["*)
546 - desktop_entry=""
547 - ;;
548 - "${key}="*)
549 - # Only match Desktop Entry group
550 - if [ -n "${desktop_entry}" ]
551 - then
552 - echo "${line}" | cut -d= -f 2-
553 - fi
554 - esac
555 - done < "${file}"
556 - IFS="${IFS_}"
557 -}
558 -
559 -# Returns true if argument is a file:// URL or path
560 -is_file_url_or_path()
561 -{
562 - if echo "$1" | grep -q '^file://' \
563 - || ! echo "$1" | egrep -q '^[[:alpha:]+\.\-]+:'; then
564 - return 0
565 - else
566 - return 1
567 - fi
568 -}
569 -
570 -# If argument is a file URL, convert it to a (percent-decoded) path.
571 -# If not, leave it as it is.
572 -file_url_to_path()
573 -{
574 - local file="$1"
575 - if echo "$file" | grep -q '^file:///'; then
576 - file=${file#file://}
577 - file=${file%%#*}
578 - file=$(echo "$file" | sed -r 's/\?.*$//')
579 - local printf=printf
580 - if [ -x /usr/bin/printf ]; then
581 - printf=/usr/bin/printf
582 - fi
583 - file=$($printf "$(echo "$file" | sed -e 's@%\([a-f0-9A-F]\{2\}\)@\\x\1@g')")
584 - fi
585 - echo "$file"
586 -}
587 -
588 -open_cygwin()
589 -{
590 - cygstart "$1"
591 -
592 - if [ $? -eq 0 ]; then
593 - exit_success
594 - else
595 - exit_failure_operation_failed
596 - fi
597 -}
598 -
599 -open_darwin()
600 -{
601 - open "$1"
602 -
603 - if [ $? -eq 0 ]; then
604 - exit_success
605 - else
606 - exit_failure_operation_failed
607 - fi
608 -}
609 -
610 -open_kde()
611 -{
612 - if [ -n "${KDE_SESSION_VERSION}" ]; then
613 - case "${KDE_SESSION_VERSION}" in
614 - 4)
615 - kde-open "$1"
616 - ;;
617 - 5)
618 - kde-open${KDE_SESSION_VERSION} "$1"
619 - ;;
620 - esac
621 - else
622 - kfmclient exec "$1"
623 - kfmclient_fix_exit_code $?
624 - fi
625 -
626 - if [ $? -eq 0 ]; then
627 - exit_success
628 - else
629 - exit_failure_operation_failed
630 - fi
631 -}
632 -
633 -open_dde()
634 -{
635 - if dde-open -version >/dev/null 2>&1; then
636 - dde-open "$1"
637 - else
638 - open_generic "$1"
639 - fi
640 -
641 - if [ $? -eq 0 ]; then
642 - exit_success
643 - else
644 - exit_failure_operation_failed
645 - fi
646 -}
647 -
648 -open_gnome3()
649 -{
650 - if gio help open 2>/dev/null 1>&2; then
651 - gio open "$1"
652 - elif gvfs-open --help 2>/dev/null 1>&2; then
653 - gvfs-open "$1"
654 - else
655 - open_generic "$1"
656 - fi
657 -
658 - if [ $? -eq 0 ]; then
659 - exit_success
660 - else
661 - exit_failure_operation_failed
662 - fi
663 -}
664 -
665 -open_gnome()
666 -{
667 - if gio help open 2>/dev/null 1>&2; then
668 - gio open "$1"
669 - elif gvfs-open --help 2>/dev/null 1>&2; then
670 - gvfs-open "$1"
671 - elif gnome-open --help 2>/dev/null 1>&2; then
672 - gnome-open "$1"
673 - else
674 - open_generic "$1"
675 - fi
676 -
677 - if [ $? -eq 0 ]; then
678 - exit_success
679 - else
680 - exit_failure_operation_failed
681 - fi
682 -}
683 -
684 -open_mate()
685 -{
686 - if gio help open 2>/dev/null 1>&2; then
687 - gio open "$1"
688 - elif gvfs-open --help 2>/dev/null 1>&2; then
689 - gvfs-open "$1"
690 - elif mate-open --help 2>/dev/null 1>&2; then
691 - mate-open "$1"
692 - else
693 - open_generic "$1"
694 - fi
695 -
696 - if [ $? -eq 0 ]; then
697 - exit_success
698 - else
699 - exit_failure_operation_failed
700 - fi
701 -}
702 -
703 -open_xfce()
704 -{
705 - if exo-open --help 2>/dev/null 1>&2; then
706 - exo-open "$1"
707 - elif gio help open 2>/dev/null 1>&2; then
708 - gio open "$1"
709 - elif gvfs-open --help 2>/dev/null 1>&2; then
710 - gvfs-open "$1"
711 - else
712 - open_generic "$1"
713 - fi
714 -
715 - if [ $? -eq 0 ]; then
716 - exit_success
717 - else
718 - exit_failure_operation_failed
719 - fi
720 -}
721 -
722 -open_enlightenment()
723 -{
724 - if enlightenment_open --help 2>/dev/null 1>&2; then
725 - enlightenment_open "$1"
726 - else
727 - open_generic "$1"
728 - fi
729 -
730 - if [ $? -eq 0 ]; then
731 - exit_success
732 - else
733 - exit_failure_operation_failed
734 - fi
735 -}
736 -
737 -open_flatpak()
738 -{
739 - gdbus call --session \
740 - --dest org.freedesktop.portal.Desktop \
741 - --object-path /org/freedesktop/portal/desktop \
742 - --method org.freedesktop.portal.OpenURI.OpenURI \
743 - "" "$1" {}
744 -
745 - if [ $? -eq 0 ]; then
746 - exit_success
747 - else
748 - exit_failure_operation_failed
749 - fi
750 -}
751 -
752 -#-----------------------------------------
753 -# Recursively search .desktop file
754 -
755 -search_desktop_file()
756 -{
757 - local default="$1"
758 - local dir="$2"
759 - local target="$3"
760 -
761 - local file=""
762 - # look for both vendor-app.desktop, vendor/app.desktop
763 - if [ -r "$dir/$default" ]; then
764 - file="$dir/$default"
765 - elif [ -r "$dir/`echo $default | sed -e 's|-|/|'`" ]; then
766 - file="$dir/`echo $default | sed -e 's|-|/|'`"
767 - fi
768 -
769 - if [ -r "$file" ] ; then
770 - command="$(get_key "${file}" "Exec" | first_word)"
771 - command_exec=`which $command 2>/dev/null`
772 - icon="$(get_key "${file}" "Icon")"
773 - # FIXME: Actually LC_MESSAGES should be used as described in
774 - # http://standards.freedesktop.org/desktop-entry-spec/latest/ar01s04.html
775 - localised_name="$(get_key "${file}" "Name")"
776 - set -- $(get_key "${file}" "Exec" | last_word)
777 - # We need to replace any occurrence of "%f", "%F" and
778 - # the like by the target file. We examine each
779 - # argument and append the modified argument to the
780 - # end then shift.
781 - local args=$#
782 - local replaced=0
783 - while [ $args -gt 0 ]; do
784 - case $1 in
785 - %[c])
786 - replaced=1
787 - arg="${localised_name}"
788 - shift
789 - set -- "$@" "$arg"
790 - ;;
791 - %[fFuU])
792 - replaced=1
793 - arg="$target"
794 - shift
795 - set -- "$@" "$arg"
796 - ;;
797 - %[i])
798 - replaced=1
799 - shift
800 - set -- "$@" "--icon" "$icon"
801 - ;;
802 - *)
803 - arg="$1"
804 - shift
805 - set -- "$@" "$arg"
806 - ;;
807 - esac
808 - args=$(( $args - 1 ))
809 - done
810 - [ $replaced -eq 1 ] || set -- "$@" "$target"
811 - "$command_exec" "$@"
812 -
813 - if [ $? -eq 0 ]; then
814 - exit_success
815 - fi
816 - fi
817 -
818 - for d in $dir/*/; do
819 - [ -d "$d" ] && search_desktop_file "$default" "$d" "$target"
820 - done
821 -}
822 -
823 -
824 -open_generic_xdg_mime()
825 -{
826 - filetype="$2"
827 - default=`xdg-mime query default "$filetype"`
828 - if [ -n "$default" ] ; then
829 - xdg_user_dir="$XDG_DATA_HOME"
830 - [ -n "$xdg_user_dir" ] || xdg_user_dir="$HOME/.local/share"
831 -
832 - xdg_system_dirs="$XDG_DATA_DIRS"
833 - [ -n "$xdg_system_dirs" ] || xdg_system_dirs=/usr/local/share/:/usr/share/
834 -
835 -DEBUG 3 "$xdg_user_dir:$xdg_system_dirs"
836 - for x in `echo "$xdg_user_dir:$xdg_system_dirs" | sed 's/:/ /g'`; do
837 - search_desktop_file "$default" "$x/applications/" "$1"
838 - done
839 - fi
840 -}
841 -
842 -open_generic_xdg_file_mime()
843 -{
844 - filetype=`xdg-mime query filetype "$1" | sed "s/;.*//"`
845 - open_generic_xdg_mime "$1" "$filetype"
846 -}
847 -
848 -open_generic_xdg_x_scheme_handler()
849 -{
850 - scheme="`echo $1 | sed -n 's/\(^[[:alnum:]+\.-]*\):.*$/\1/p'`"
851 - if [ -n $scheme ]; then
852 - filetype="x-scheme-handler/$scheme"
853 - open_generic_xdg_mime "$1" "$filetype"
854 - fi
855 -}
856 -
857 -has_single_argument()
858 -{
859 - test $# = 1
860 -}
861 -
862 -open_envvar()
863 -{
864 - local oldifs="$IFS"
865 - local browser browser_with_arg
866 -
867 - IFS=":"
868 - for browser in $BROWSER; do
869 - IFS="$oldifs"
870 -
871 - if [ -z "$browser" ]; then
872 - continue
873 - fi
874 -
875 - if echo "$browser" | grep -q %s; then
876 - # Avoid argument injection.
877 - # See https://bugs.freedesktop.org/show_bug.cgi?id=103807
878 - # URIs don't have IFS characters spaces anyway.
879 - has_single_argument $1 && $(printf "$browser" "$1")
880 - else
881 - $browser "$1"
882 - fi
883 -
884 - if [ $? -eq 0 ]; then
885 - exit_success
886 - fi
887 - done
888 -}
889 -
890 -open_generic()
891 -{
892 - if is_file_url_or_path "$1"; then
893 - local file="$(file_url_to_path "$1")"
894 -
895 - check_input_file "$file"
896 -
897 - if has_display; then
898 - filetype=`xdg-mime query filetype "$file" | sed "s/;.*//"`
899 - open_generic_xdg_mime "$file" "$filetype"
900 - fi
901 -
902 - if which run-mailcap 2>/dev/null 1>&2; then
903 - run-mailcap --action=view "$file"
904 - if [ $? -eq 0 ]; then
905 - exit_success
906 - fi
907 - fi
908 -
909 - if has_display && mimeopen -v 2>/dev/null 1>&2; then
910 - mimeopen -L -n "$file"
911 - if [ $? -eq 0 ]; then
912 - exit_success
913 - fi
914 - fi
915 - fi
916 -
917 - if has_display; then
918 - open_generic_xdg_x_scheme_handler "$1"
919 - fi
920 -
921 - if [ -n "$BROWSER" ]; then
922 - open_envvar "$1"
923 - fi
924 -
925 - # if BROWSER variable is not set, check some well known browsers instead
926 - if [ x"$BROWSER" = x"" ]; then
927 - BROWSER=www-browser:links2:elinks:links:lynx:w3m
928 - if has_display; then
929 - BROWSER=x-www-browser:firefox:iceweasel:seamonkey:mozilla:epiphany:konqueror:chromium:chromium-browser:google-chrome:microsoft-edge:$BROWSER
930 - fi
931 - fi
932 -
933 - open_envvar "$1"
934 -
935 - exit_failure_operation_impossible "no method available for opening '$1'"
936 -}
937 -
938 -open_lxde()
939 -{
940 -
941 - # pcmanfm only knows how to handle file:// urls and filepaths, it seems.
942 - if pcmanfm --help >/dev/null 2>&1 && is_file_url_or_path "$1"; then
943 - local file="$(file_url_to_path "$1")"
944 -
945 - # handle relative paths
946 - if ! echo "$file" | grep -q ^/; then
947 - file="$(pwd)/$file"
948 - fi
949 -
950 - pcmanfm "$file"
951 - else
952 - open_generic "$1"
953 - fi
954 -
955 - if [ $? -eq 0 ]; then
956 - exit_success
957 - else
958 - exit_failure_operation_failed
959 - fi
960 -}
961 -
962 -open_lxqt()
963 -{
964 - open_generic "$1"
965 -}
966 -
967 -[ x"$1" != x"" ] || exit_failure_syntax
968 -
969 -url=
970 -while [ $# -gt 0 ] ; do
971 - parm="$1"
972 - shift
973 -
974 - case "$parm" in
975 - -*)
976 - exit_failure_syntax "unexpected option '$parm'"
977 - ;;
978 -
979 - *)
980 - if [ -n "$url" ] ; then
981 - exit_failure_syntax "unexpected argument '$parm'"
982 - fi
983 - url="$parm"
984 - ;;
985 - esac
986 -done
987 -
988 -if [ -z "${url}" ] ; then
989 - exit_failure_syntax "file or URL argument missing"
990 -fi
991 -
992 -detectDE
993 -
994 -if [ x"$DE" = x"" ]; then
995 - DE=generic
996 -fi
997 -
998 -DEBUG 2 "Selected DE $DE"
999 -
1000 -# sanitize BROWSER (avoid caling ourselves in particular)
1001 -case "${BROWSER}" in
1002 - *:"xdg-open"|"xdg-open":*)
1003 - BROWSER=$(echo $BROWSER | sed -e 's|:xdg-open||g' -e 's|xdg-open:||g')
1004 - ;;
1005 - "xdg-open")
1006 - BROWSER=
1007 - ;;
1008 -esac
1009 -
1010 -case "$DE" in
1011 - kde)
1012 - open_kde "$url"
1013 - ;;
1014 -
1015 - dde)
1016 - open_dde "$url"
1017 - ;;
1018 -
1019 - gnome3|cinnamon)
1020 - open_gnome3 "$url"
1021 - ;;
1022 -
1023 - gnome)
1024 - open_gnome "$url"
1025 - ;;
1026 -
1027 - mate)
1028 - open_mate "$url"
1029 - ;;
1030 -
1031 - xfce)
1032 - open_xfce "$url"
1033 - ;;
1034 -
1035 - lxde)
1036 - open_lxde "$url"
1037 - ;;
1038 -
1039 - lxqt)
1040 - open_lxqt "$url"
1041 - ;;
1042 -
1043 - enlightenment)
1044 - open_enlightenment "$url"
1045 - ;;
1046 -
1047 - cygwin)
1048 - open_cygwin "$url"
1049 - ;;
1050 -
1051 - darwin)
1052 - open_darwin "$url"
1053 - ;;
1054 -
1055 - flatpak)
1056 - open_flatpak "$url"
1057 - ;;
1058 -
1059 - generic)
1060 - open_generic "$url"
1061 - ;;
1062 -
1063 - *)
1064 - exit_failure_operation_impossible "no method available for opening '$url'"
1065 - ;;
1066 -esac
node_modules/playwright-core/package.json deleted
-34
@@ -1,34 +0,0 @@
1 -{
2 - "name": "playwright-core",
3 - "version": "1.60.0",
4 - "description": "A high-level API to automate web browsers",
5 - "repository": {
6 - "type": "git",
7 - "url": "git+https://github.com/microsoft/playwright.git"
8 - },
9 - "homepage": "https://playwright.dev",
10 - "engines": {
11 - "node": ">=18"
12 - },
13 - "author": {
14 - "name": "Microsoft Corporation"
15 - },
16 - "license": "Apache-2.0",
17 - "exports": {
18 - ".": {
19 - "types": "./index.d.ts",
20 - "import": "./index.mjs",
21 - "require": "./index.js",
22 - "default": "./index.js"
23 - },
24 - "./package.json": "./package.json",
25 - "./lib/bootstrap": "./lib/bootstrap.js",
26 - "./lib/coreBundle": "./lib/coreBundle.js",
27 - "./lib/utilsBundle": "./lib/utilsBundle.js",
28 - "./lib/tools/cli-client/program": "./lib/tools/cli-client/program.js"
29 - },
30 - "bin": {
31 - "playwright-core": "cli.js"
32 - },
33 - "types": "types/types.d.ts"
34 -}
node_modules/playwright-core/types/protocol.d.ts deleted
-24565
@@ -1,24565 +0,0 @@
1 -// This is generated from /utils/protocol-types-generator/index.js
2 -type binary = string;
3 -export namespace Protocol {
4 - export namespace Accessibility {
5 - /**
6 - * Unique accessibility node identifier.
7 - */
8 - export type AXNodeId = string;
9 - /**
10 - * Enum of possible property types.
11 - */
12 - export type AXValueType = "boolean"|"tristate"|"booleanOrUndefined"|"idref"|"idrefList"|"integer"|"node"|"nodeList"|"number"|"string"|"computedString"|"token"|"tokenList"|"domRelation"|"role"|"internalRole"|"valueUndefined";
13 - /**
14 - * Enum of possible property sources.
15 - */
16 - export type AXValueSourceType = "attribute"|"implicit"|"style"|"contents"|"placeholder"|"relatedElement";
17 - /**
18 - * Enum of possible native property sources (as a subtype of a particular AXValueSourceType).
19 - */
20 - export type AXValueNativeSourceType = "description"|"figcaption"|"label"|"labelfor"|"labelwrapped"|"legend"|"rubyannotation"|"tablecaption"|"title"|"other";
21 - /**
22 - * A single source for a computed AX property.
23 - */
24 - export interface AXValueSource {
25 - /**
26 - * What type of source this is.
27 - */
28 - type: AXValueSourceType;
29 - /**
30 - * The value of this property source.
31 - */
32 - value?: AXValue;
33 - /**
34 - * The name of the relevant attribute, if any.
35 - */
36 - attribute?: string;
37 - /**
38 - * The value of the relevant attribute, if any.
39 - */
40 - attributeValue?: AXValue;
41 - /**
42 - * Whether this source is superseded by a higher priority source.
43 - */
44 - superseded?: boolean;
45 - /**
46 - * The native markup source for this value, e.g. a `<label>` element.
47 - */
48 - nativeSource?: AXValueNativeSourceType;
49 - /**
50 - * The value, such as a node or node list, of the native source.
51 - */
52 - nativeSourceValue?: AXValue;
53 - /**
54 - * Whether the value for this property is invalid.
55 - */
56 - invalid?: boolean;
57 - /**
58 - * Reason for the value being invalid, if it is.
59 - */
60 - invalidReason?: string;
61 - }
62 - export interface AXRelatedNode {
63 - /**
64 - * The BackendNodeId of the related DOM node.
65 - */
66 - backendDOMNodeId: DOM.BackendNodeId;
67 - /**
68 - * The IDRef value provided, if any.
69 - */
70 - idref?: string;
71 - /**
72 - * The text alternative of this node in the current context.
73 - */
74 - text?: string;
75 - }
76 - export interface AXProperty {
77 - /**
78 - * The name of this property.
79 - */
80 - name: AXPropertyName;
81 - /**
82 - * The value of this property.
83 - */
84 - value: AXValue;
85 - }
86 - /**
87 - * A single computed AX property.
88 - */
89 - export interface AXValue {
90 - /**
91 - * The type of this value.
92 - */
93 - type: AXValueType;
94 - /**
95 - * The computed value of this property.
96 - */
97 - value?: any;
98 - /**
99 - * One or more related nodes, if applicable.
100 - */
101 - relatedNodes?: AXRelatedNode[];
102 - /**
103 - * The sources which contributed to the computation of this property.
104 - */
105 - sources?: AXValueSource[];
106 - }
107 - /**
108 - * Values of AXProperty name:
109 -- from 'busy' to 'roledescription': states which apply to every AX node
110 -- from 'live' to 'root': attributes which apply to nodes in live regions
111 -- from 'autocomplete' to 'valuetext': attributes which apply to widgets
112 -- from 'checked' to 'selected': states which apply to widgets
113 -- from 'activedescendant' to 'owns': relationships between elements other than parent/child/sibling
114 -- from 'activeFullscreenElement' to 'uninteresting': reasons why this noode is hidden
115 - */
116 - export type AXPropertyName = "actions"|"busy"|"disabled"|"editable"|"focusable"|"focused"|"hidden"|"hiddenRoot"|"invalid"|"keyshortcuts"|"settable"|"roledescription"|"live"|"atomic"|"relevant"|"root"|"autocomplete"|"hasPopup"|"level"|"multiselectable"|"orientation"|"multiline"|"readonly"|"required"|"valuemin"|"valuemax"|"valuetext"|"checked"|"expanded"|"modal"|"pressed"|"selected"|"activedescendant"|"controls"|"describedby"|"details"|"errormessage"|"flowto"|"labelledby"|"owns"|"url"|"activeFullscreenElement"|"activeModalDialog"|"activeAriaModalDialog"|"ariaHiddenElement"|"ariaHiddenSubtree"|"emptyAlt"|"emptyText"|"inertElement"|"inertSubtree"|"labelContainer"|"labelFor"|"notRendered"|"notVisible"|"presentationalRole"|"probablyPresentational"|"inactiveCarouselTabContent"|"uninteresting";
117 - /**
118 - * A node in the accessibility tree.
119 - */
120 - export interface AXNode {
121 - /**
122 - * Unique identifier for this node.
123 - */
124 - nodeId: AXNodeId;
125 - /**
126 - * Whether this node is ignored for accessibility
127 - */
128 - ignored: boolean;
129 - /**
130 - * Collection of reasons why this node is hidden.
131 - */
132 - ignoredReasons?: AXProperty[];
133 - /**
134 - * This `Node`'s role, whether explicit or implicit.
135 - */
136 - role?: AXValue;
137 - /**
138 - * This `Node`'s Chrome raw role.
139 - */
140 - chromeRole?: AXValue;
141 - /**
142 - * The accessible name for this `Node`.
143 - */
144 - name?: AXValue;
145 - /**
146 - * The accessible description for this `Node`.
147 - */
148 - description?: AXValue;
149 - /**
150 - * The value for this `Node`.
151 - */
152 - value?: AXValue;
153 - /**
154 - * All other properties
155 - */
156 - properties?: AXProperty[];
157 - /**
158 - * ID for this node's parent.
159 - */
160 - parentId?: AXNodeId;
161 - /**
162 - * IDs for each of this node's child nodes.
163 - */
164 - childIds?: AXNodeId[];
165 - /**
166 - * The backend ID for the associated DOM node, if any.
167 - */
168 - backendDOMNodeId?: DOM.BackendNodeId;
169 - /**
170 - * The frame ID for the frame associated with this nodes document.
171 - */
172 - frameId?: Page.FrameId;
173 - }
174 -
175 - /**
176 - * The loadComplete event mirrors the load complete event sent by the browser to assistive
177 -technology when the web page has finished loading.
178 - */
179 - export type loadCompletePayload = {
180 - /**
181 - * New document root node.
182 - */
183 - root: AXNode;
184 - }
185 - /**
186 - * The nodesUpdated event is sent every time a previously requested node has changed the in tree.
187 - */
188 - export type nodesUpdatedPayload = {
189 - /**
190 - * Updated node data.
191 - */
192 - nodes: AXNode[];
193 - }
194 -
195 - /**
196 - * Disables the accessibility domain.
197 - */
198 - export type disableParameters = {
199 - }
200 - export type disableReturnValue = {
201 - }
202 - /**
203 - * Enables the accessibility domain which causes `AXNodeId`s to remain consistent between method calls.
204 -This turns on accessibility for the page, which can impact performance until accessibility is disabled.
205 - */
206 - export type enableParameters = {
207 - }
208 - export type enableReturnValue = {
209 - }
210 - /**
211 - * Fetches the accessibility node and partial accessibility tree for this DOM node, if it exists.
212 - */
213 - export type getPartialAXTreeParameters = {
214 - /**
215 - * Identifier of the node to get the partial accessibility tree for.
216 - */
217 - nodeId?: DOM.NodeId;
218 - /**
219 - * Identifier of the backend node to get the partial accessibility tree for.
220 - */
221 - backendNodeId?: DOM.BackendNodeId;
222 - /**
223 - * JavaScript object id of the node wrapper to get the partial accessibility tree for.
224 - */
225 - objectId?: Runtime.RemoteObjectId;
226 - /**
227 - * Whether to fetch this node's ancestors, siblings and children. Defaults to true.
228 - */
229 - fetchRelatives?: boolean;
230 - }
231 - export type getPartialAXTreeReturnValue = {
232 - /**
233 - * The `Accessibility.AXNode` for this DOM node, if it exists, plus its ancestors, siblings and
234 -children, if requested.
235 - */
236 - nodes: AXNode[];
237 - }
238 - /**
239 - * Fetches the entire accessibility tree for the root Document
240 - */
241 - export type getFullAXTreeParameters = {
242 - /**
243 - * The maximum depth at which descendants of the root node should be retrieved.
244 -If omitted, the full tree is returned.
245 - */
246 - depth?: number;
247 - /**
248 - * The frame for whose document the AX tree should be retrieved.
249 -If omitted, the root frame is used.
250 - */
251 - frameId?: Page.FrameId;
252 - }
253 - export type getFullAXTreeReturnValue = {
254 - nodes: AXNode[];
255 - }
256 - /**
257 - * Fetches the root node.
258 -Requires `enable()` to have been called previously.
259 - */
260 - export type getRootAXNodeParameters = {
261 - /**
262 - * The frame in whose document the node resides.
263 -If omitted, the root frame is used.
264 - */
265 - frameId?: Page.FrameId;
266 - }
267 - export type getRootAXNodeReturnValue = {
268 - node: AXNode;
269 - }
270 - /**
271 - * Fetches a node and all ancestors up to and including the root.
272 -Requires `enable()` to have been called previously.
273 - */
274 - export type getAXNodeAndAncestorsParameters = {
275 - /**
276 - * Identifier of the node to get.
277 - */
278 - nodeId?: DOM.NodeId;
279 - /**
280 - * Identifier of the backend node to get.
281 - */
282 - backendNodeId?: DOM.BackendNodeId;
283 - /**
284 - * JavaScript object id of the node wrapper to get.
285 - */
286 - objectId?: Runtime.RemoteObjectId;
287 - }
288 - export type getAXNodeAndAncestorsReturnValue = {
289 - nodes: AXNode[];
290 - }
291 - /**
292 - * Fetches a particular accessibility node by AXNodeId.
293 -Requires `enable()` to have been called previously.
294 - */
295 - export type getChildAXNodesParameters = {
296 - id: AXNodeId;
297 - /**
298 - * The frame in whose document the node resides.
299 -If omitted, the root frame is used.
300 - */
301 - frameId?: Page.FrameId;
302 - }
303 - export type getChildAXNodesReturnValue = {
304 - nodes: AXNode[];
305 - }
306 - /**
307 - * Query a DOM node's accessibility subtree for accessible name and role.
308 -This command computes the name and role for all nodes in the subtree, including those that are
309 -ignored for accessibility, and returns those that match the specified name and role. If no DOM
310 -node is specified, or the DOM node does not exist, the command returns an error. If neither
311 -`accessibleName` or `role` is specified, it returns all the accessibility nodes in the subtree.
312 - */
313 - export type queryAXTreeParameters = {
314 - /**
315 - * Identifier of the node for the root to query.
316 - */
317 - nodeId?: DOM.NodeId;
318 - /**
319 - * Identifier of the backend node for the root to query.
320 - */
321 - backendNodeId?: DOM.BackendNodeId;
322 - /**
323 - * JavaScript object id of the node wrapper for the root to query.
324 - */
325 - objectId?: Runtime.RemoteObjectId;
326 - /**
327 - * Find nodes with this computed name.
328 - */
329 - accessibleName?: string;
330 - /**
331 - * Find nodes with this computed role.
332 - */
333 - role?: string;
334 - }
335 - export type queryAXTreeReturnValue = {
336 - /**
337 - * A list of `Accessibility.AXNode` matching the specified attributes,
338 -including nodes that are ignored for accessibility.
339 - */
340 - nodes: AXNode[];
341 - }
342 - }
343 -
344 - export namespace Animation {
345 - /**
346 - * Animation instance.
347 - */
348 - export interface Animation {
349 - /**
350 - * `Animation`'s id.
351 - */
352 - id: string;
353 - /**
354 - * `Animation`'s name.
355 - */
356 - name: string;
357 - /**
358 - * `Animation`'s internal paused state.
359 - */
360 - pausedState: boolean;
361 - /**
362 - * `Animation`'s play state.
363 - */
364 - playState: string;
365 - /**
366 - * `Animation`'s playback rate.
367 - */
368 - playbackRate: number;
369 - /**
370 - * `Animation`'s start time.
371 -Milliseconds for time based animations and
372 -percentage [0 - 100] for scroll driven animations
373 -(i.e. when viewOrScrollTimeline exists).
374 - */
375 - startTime: number;
376 - /**
377 - * `Animation`'s current time.
378 - */
379 - currentTime: number;
380 - /**
381 - * Animation type of `Animation`.
382 - */
383 - type: "CSSTransition"|"CSSAnimation"|"WebAnimation";
384 - /**
385 - * `Animation`'s source animation node.
386 - */
387 - source?: AnimationEffect;
388 - /**
389 - * A unique ID for `Animation` representing the sources that triggered this CSS
390 -animation/transition.
391 - */
392 - cssId?: string;
393 - /**
394 - * View or scroll timeline
395 - */
396 - viewOrScrollTimeline?: ViewOrScrollTimeline;
397 - }
398 - /**
399 - * Timeline instance
400 - */
401 - export interface ViewOrScrollTimeline {
402 - /**
403 - * Scroll container node
404 - */
405 - sourceNodeId?: DOM.BackendNodeId;
406 - /**
407 - * Represents the starting scroll position of the timeline
408 -as a length offset in pixels from scroll origin.
409 - */
410 - startOffset?: number;
411 - /**
412 - * Represents the ending scroll position of the timeline
413 -as a length offset in pixels from scroll origin.
414 - */
415 - endOffset?: number;
416 - /**
417 - * The element whose principal box's visibility in the
418 -scrollport defined the progress of the timeline.
419 -Does not exist for animations with ScrollTimeline
420 - */
421 - subjectNodeId?: DOM.BackendNodeId;
422 - /**
423 - * Orientation of the scroll
424 - */
425 - axis: DOM.ScrollOrientation;
426 - }
427 - /**
428 - * AnimationEffect instance
429 - */
430 - export interface AnimationEffect {
431 - /**
432 - * `AnimationEffect`'s delay.
433 - */
434 - delay: number;
435 - /**
436 - * `AnimationEffect`'s end delay.
437 - */
438 - endDelay: number;
439 - /**
440 - * `AnimationEffect`'s iteration start.
441 - */
442 - iterationStart: number;
443 - /**
444 - * `AnimationEffect`'s iterations. Omitted if the value is infinite.
445 - */
446 - iterations?: number;
447 - /**
448 - * `AnimationEffect`'s iteration duration.
449 -Milliseconds for time based animations and
450 -percentage [0 - 100] for scroll driven animations
451 -(i.e. when viewOrScrollTimeline exists).
452 - */
453 - duration: number;
454 - /**
455 - * `AnimationEffect`'s playback direction.
456 - */
457 - direction: string;
458 - /**
459 - * `AnimationEffect`'s fill mode.
460 - */
461 - fill: string;
462 - /**
463 - * `AnimationEffect`'s target node.
464 - */
465 - backendNodeId?: DOM.BackendNodeId;
466 - /**
467 - * `AnimationEffect`'s keyframes.
468 - */
469 - keyframesRule?: KeyframesRule;
470 - /**
471 - * `AnimationEffect`'s timing function.
472 - */
473 - easing: string;
474 - }
475 - /**
476 - * Keyframes Rule
477 - */
478 - export interface KeyframesRule {
479 - /**
480 - * CSS keyframed animation's name.
481 - */
482 - name?: string;
483 - /**
484 - * List of animation keyframes.
485 - */
486 - keyframes: KeyframeStyle[];
487 - }
488 - /**
489 - * Keyframe Style
490 - */
491 - export interface KeyframeStyle {
492 - /**
493 - * Keyframe's time offset.
494 - */
495 - offset: string;
496 - /**
497 - * `AnimationEffect`'s timing function.
498 - */
499 - easing: string;
500 - }
501 -
502 - /**
503 - * Event for when an animation has been cancelled.
504 - */
505 - export type animationCanceledPayload = {
506 - /**
507 - * Id of the animation that was cancelled.
508 - */
509 - id: string;
510 - }
511 - /**
512 - * Event for each animation that has been created.
513 - */
514 - export type animationCreatedPayload = {
515 - /**
516 - * Id of the animation that was created.
517 - */
518 - id: string;
519 - }
520 - /**
521 - * Event for animation that has been started.
522 - */
523 - export type animationStartedPayload = {
524 - /**
525 - * Animation that was started.
526 - */
527 - animation: Animation;
528 - }
529 - /**
530 - * Event for animation that has been updated.
531 - */
532 - export type animationUpdatedPayload = {
533 - /**
534 - * Animation that was updated.
535 - */
536 - animation: Animation;
537 - }
538 -
539 - /**
540 - * Disables animation domain notifications.
541 - */
542 - export type disableParameters = {
543 - }
544 - export type disableReturnValue = {
545 - }
546 - /**
547 - * Enables animation domain notifications.
548 - */
549 - export type enableParameters = {
550 - }
551 - export type enableReturnValue = {
552 - }
553 - /**
554 - * Returns the current time of the an animation.
555 - */
556 - export type getCurrentTimeParameters = {
557 - /**
558 - * Id of animation.
559 - */
560 - id: string;
561 - }
562 - export type getCurrentTimeReturnValue = {
563 - /**
564 - * Current time of the page.
565 - */
566 - currentTime: number;
567 - }
568 - /**
569 - * Gets the playback rate of the document timeline.
570 - */
571 - export type getPlaybackRateParameters = {
572 - }
573 - export type getPlaybackRateReturnValue = {
574 - /**
575 - * Playback rate for animations on page.
576 - */
577 - playbackRate: number;
578 - }
579 - /**
580 - * Releases a set of animations to no longer be manipulated.
581 - */
582 - export type releaseAnimationsParameters = {
583 - /**
584 - * List of animation ids to seek.
585 - */
586 - animations: string[];
587 - }
588 - export type releaseAnimationsReturnValue = {
589 - }
590 - /**
591 - * Gets the remote object of the Animation.
592 - */
593 - export type resolveAnimationParameters = {
594 - /**
595 - * Animation id.
596 - */
597 - animationId: string;
598 - }
599 - export type resolveAnimationReturnValue = {
600 - /**
601 - * Corresponding remote object.
602 - */
603 - remoteObject: Runtime.RemoteObject;
604 - }
605 - /**
606 - * Seek a set of animations to a particular time within each animation.
607 - */
608 - export type seekAnimationsParameters = {
609 - /**
610 - * List of animation ids to seek.
611 - */
612 - animations: string[];
613 - /**
614 - * Set the current time of each animation.
615 - */
616 - currentTime: number;
617 - }
618 - export type seekAnimationsReturnValue = {
619 - }
620 - /**
621 - * Sets the paused state of a set of animations.
622 - */
623 - export type setPausedParameters = {
624 - /**
625 - * Animations to set the pause state of.
626 - */
627 - animations: string[];
628 - /**
629 - * Paused state to set to.
630 - */
631 - paused: boolean;
632 - }
633 - export type setPausedReturnValue = {
634 - }
635 - /**
636 - * Sets the playback rate of the document timeline.
637 - */
638 - export type setPlaybackRateParameters = {
639 - /**
640 - * Playback rate for animations on page
641 - */
642 - playbackRate: number;
643 - }
644 - export type setPlaybackRateReturnValue = {
645 - }
646 - /**
647 - * Sets the timing of an animation node.
648 - */
649 - export type setTimingParameters = {
650 - /**
651 - * Animation id.
652 - */
653 - animationId: string;
654 - /**
655 - * Duration of the animation.
656 - */
657 - duration: number;
658 - /**
659 - * Delay of the animation.
660 - */
661 - delay: number;
662 - }
663 - export type setTimingReturnValue = {
664 - }
665 - }
666 -
667 - /**
668 - * Audits domain allows investigation of page violations and possible improvements.
669 - */
670 - export namespace Audits {
671 - /**
672 - * Information about a cookie that is affected by an inspector issue.
673 - */
674 - export interface AffectedCookie {
675 - /**
676 - * The following three properties uniquely identify a cookie
677 - */
678 - name: string;
679 - path: string;
680 - domain: string;
681 - }
682 - /**
683 - * Information about a request that is affected by an inspector issue.
684 - */
685 - export interface AffectedRequest {
686 - /**
687 - * The unique request id.
688 - */
689 - requestId?: Network.RequestId;
690 - url: string;
691 - }
692 - /**
693 - * Information about the frame affected by an inspector issue.
694 - */
695 - export interface AffectedFrame {
696 - frameId: Page.FrameId;
697 - }
698 - export type CookieExclusionReason = "ExcludeSameSiteUnspecifiedTreatedAsLax"|"ExcludeSameSiteNoneInsecure"|"ExcludeSameSiteLax"|"ExcludeSameSiteStrict"|"ExcludeDomainNonASCII"|"ExcludeThirdPartyCookieBlockedInFirstPartySet"|"ExcludeThirdPartyPhaseout"|"ExcludePortMismatch"|"ExcludeSchemeMismatch";
699 - export type CookieWarningReason = "WarnSameSiteUnspecifiedCrossSiteContext"|"WarnSameSiteNoneInsecure"|"WarnSameSiteUnspecifiedLaxAllowUnsafe"|"WarnSameSiteStrictLaxDowngradeStrict"|"WarnSameSiteStrictCrossDowngradeStrict"|"WarnSameSiteStrictCrossDowngradeLax"|"WarnSameSiteLaxCrossDowngradeStrict"|"WarnSameSiteLaxCrossDowngradeLax"|"WarnAttributeValueExceedsMaxSize"|"WarnDomainNonASCII"|"WarnThirdPartyPhaseout"|"WarnCrossSiteRedirectDowngradeChangesInclusion"|"WarnDeprecationTrialMetadata"|"WarnThirdPartyCookieHeuristic";
700 - export type CookieOperation = "SetCookie"|"ReadCookie";
701 - /**
702 - * Represents the category of insight that a cookie issue falls under.
703 - */
704 - export type InsightType = "GitHubResource"|"GracePeriod"|"Heuristics";
705 - /**
706 - * Information about the suggested solution to a cookie issue.
707 - */
708 - export interface CookieIssueInsight {
709 - type: InsightType;
710 - /**
711 - * Link to table entry in third-party cookie migration readiness list.
712 - */
713 - tableEntryUrl?: string;
714 - }
715 - /**
716 - * This information is currently necessary, as the front-end has a difficult
717 -time finding a specific cookie. With this, we can convey specific error
718 -information without the cookie.
719 - */
720 - export interface CookieIssueDetails {
721 - /**
722 - * If AffectedCookie is not set then rawCookieLine contains the raw
723 -Set-Cookie header string. This hints at a problem where the
724 -cookie line is syntactically or semantically malformed in a way
725 -that no valid cookie could be created.
726 - */
727 - cookie?: AffectedCookie;
728 - rawCookieLine?: string;
729 - cookieWarningReasons: CookieWarningReason[];
730 - cookieExclusionReasons: CookieExclusionReason[];
731 - /**
732 - * Optionally identifies the site-for-cookies and the cookie url, which
733 -may be used by the front-end as additional context.
734 - */
735 - operation: CookieOperation;
736 - siteForCookies?: string;
737 - cookieUrl?: string;
738 - request?: AffectedRequest;
739 - /**
740 - * The recommended solution to the issue.
741 - */
742 - insight?: CookieIssueInsight;
743 - }
744 - export type PerformanceIssueType = "DocumentCookie";
745 - /**
746 - * Details for a performance issue.
747 - */
748 - export interface PerformanceIssueDetails {
749 - performanceIssueType: PerformanceIssueType;
750 - sourceCodeLocation?: SourceCodeLocation;
751 - }
752 - export type MixedContentResolutionStatus = "MixedContentBlocked"|"MixedContentAutomaticallyUpgraded"|"MixedContentWarning";
753 - export type MixedContentResourceType = "AttributionSrc"|"Audio"|"Beacon"|"CSPReport"|"Download"|"EventSource"|"Favicon"|"Font"|"Form"|"Frame"|"Image"|"Import"|"JSON"|"Manifest"|"Ping"|"PluginData"|"PluginResource"|"Prefetch"|"Resource"|"Script"|"ServiceWorker"|"SharedWorker"|"SpeculationRules"|"Stylesheet"|"Track"|"Video"|"Worker"|"XMLHttpRequest"|"XSLT";
754 - export interface MixedContentIssueDetails {
755 - /**
756 - * The type of resource causing the mixed content issue (css, js, iframe,
757 -form,...). Marked as optional because it is mapped to from
758 -blink::mojom::RequestContextType, which will be replaced
759 -by network::mojom::RequestDestination
760 - */
761 - resourceType?: MixedContentResourceType;
762 - /**
763 - * The way the mixed content issue is being resolved.
764 - */
765 - resolutionStatus: MixedContentResolutionStatus;
766 - /**
767 - * The unsafe http url causing the mixed content issue.
768 - */
769 - insecureURL: string;
770 - /**
771 - * The url responsible for the call to an unsafe url.
772 - */
773 - mainResourceURL: string;
774 - /**
775 - * The mixed content request.
776 -Does not always exist (e.g. for unsafe form submission urls).
777 - */
778 - request?: AffectedRequest;
779 - /**
780 - * Optional because not every mixed content issue is necessarily linked to a frame.
781 - */
782 - frame?: AffectedFrame;
783 - }
784 - /**
785 - * Enum indicating the reason a response has been blocked. These reasons are
786 -refinements of the net error BLOCKED_BY_RESPONSE.
787 - */
788 - export type BlockedByResponseReason = "CoepFrameResourceNeedsCoepHeader"|"CoopSandboxedIFrameCannotNavigateToCoopPage"|"CorpNotSameOrigin"|"CorpNotSameOriginAfterDefaultedToSameOriginByCoep"|"CorpNotSameOriginAfterDefaultedToSameOriginByDip"|"CorpNotSameOriginAfterDefaultedToSameOriginByCoepAndDip"|"CorpNotSameSite"|"SRIMessageSignatureMismatch";
789 - /**
790 - * Details for a request that has been blocked with the BLOCKED_BY_RESPONSE
791 -code. Currently only used for COEP/COOP, but may be extended to include
792 -some CSP errors in the future.
793 - */
794 - export interface BlockedByResponseIssueDetails {
795 - request: AffectedRequest;
796 - parentFrame?: AffectedFrame;
797 - blockedFrame?: AffectedFrame;
798 - reason: BlockedByResponseReason;
799 - }
800 - export type HeavyAdResolutionStatus = "HeavyAdBlocked"|"HeavyAdWarning";
801 - export type HeavyAdReason = "NetworkTotalLimit"|"CpuTotalLimit"|"CpuPeakLimit";
802 - export interface HeavyAdIssueDetails {
803 - /**
804 - * The resolution status, either blocking the content or warning.
805 - */
806 - resolution: HeavyAdResolutionStatus;
807 - /**
808 - * The reason the ad was blocked, total network or cpu or peak cpu.
809 - */
810 - reason: HeavyAdReason;
811 - /**
812 - * The frame that was blocked.
813 - */
814 - frame: AffectedFrame;
815 - }
816 - export type ContentSecurityPolicyViolationType = "kInlineViolation"|"kEvalViolation"|"kURLViolation"|"kSRIViolation"|"kTrustedTypesSinkViolation"|"kTrustedTypesPolicyViolation"|"kWasmEvalViolation";
817 - export interface SourceCodeLocation {
818 - scriptId?: Runtime.ScriptId;
819 - url: string;
820 - lineNumber: number;
821 - columnNumber: number;
822 - }
823 - export interface ContentSecurityPolicyIssueDetails {
824 - /**
825 - * The url not included in allowed sources.
826 - */
827 - blockedURL?: string;
828 - /**
829 - * Specific directive that is violated, causing the CSP issue.
830 - */
831 - violatedDirective: string;
832 - isReportOnly: boolean;
833 - contentSecurityPolicyViolationType: ContentSecurityPolicyViolationType;
834 - frameAncestor?: AffectedFrame;
835 - sourceCodeLocation?: SourceCodeLocation;
836 - violatingNodeId?: DOM.BackendNodeId;
837 - }
838 - export type SharedArrayBufferIssueType = "TransferIssue"|"CreationIssue";
839 - /**
840 - * Details for a issue arising from an SAB being instantiated in, or
841 -transferred to a context that is not cross-origin isolated.
842 - */
843 - export interface SharedArrayBufferIssueDetails {
844 - sourceCodeLocation: SourceCodeLocation;
845 - isWarning: boolean;
846 - type: SharedArrayBufferIssueType;
847 - }
848 - /**
849 - * Details for a CORS related issue, e.g. a warning or error related to
850 -CORS RFC1918 enforcement.
851 - */
852 - export interface CorsIssueDetails {
853 - corsErrorStatus: Network.CorsErrorStatus;
854 - isWarning: boolean;
855 - request: AffectedRequest;
856 - location?: SourceCodeLocation;
857 - initiatorOrigin?: string;
858 - resourceIPAddressSpace?: Network.IPAddressSpace;
859 - clientSecurityState?: Network.ClientSecurityState;
860 - }
861 - export type AttributionReportingIssueType = "PermissionPolicyDisabled"|"UntrustworthyReportingOrigin"|"InsecureContext"|"InvalidHeader"|"InvalidRegisterTriggerHeader"|"SourceAndTriggerHeaders"|"SourceIgnored"|"TriggerIgnored"|"OsSourceIgnored"|"OsTriggerIgnored"|"InvalidRegisterOsSourceHeader"|"InvalidRegisterOsTriggerHeader"|"WebAndOsHeaders"|"NoWebOrOsSupport"|"NavigationRegistrationWithoutTransientUserActivation"|"InvalidInfoHeader"|"NoRegisterSourceHeader"|"NoRegisterTriggerHeader"|"NoRegisterOsSourceHeader"|"NoRegisterOsTriggerHeader"|"NavigationRegistrationUniqueScopeAlreadySet";
862 - export type SharedDictionaryError = "UseErrorCrossOriginNoCorsRequest"|"UseErrorDictionaryLoadFailure"|"UseErrorMatchingDictionaryNotUsed"|"UseErrorUnexpectedContentDictionaryHeader"|"WriteErrorCossOriginNoCorsRequest"|"WriteErrorDisallowedBySettings"|"WriteErrorExpiredResponse"|"WriteErrorFeatureDisabled"|"WriteErrorInsufficientResources"|"WriteErrorInvalidMatchField"|"WriteErrorInvalidStructuredHeader"|"WriteErrorInvalidTTLField"|"WriteErrorNavigationRequest"|"WriteErrorNoMatchField"|"WriteErrorNonIntegerTTLField"|"WriteErrorNonListMatchDestField"|"WriteErrorNonSecureContext"|"WriteErrorNonStringIdField"|"WriteErrorNonStringInMatchDestList"|"WriteErrorNonStringMatchField"|"WriteErrorNonTokenTypeField"|"WriteErrorRequestAborted"|"WriteErrorShuttingDown"|"WriteErrorTooLongIdField"|"WriteErrorUnsupportedType";
863 - export type SRIMessageSignatureError = "MissingSignatureHeader"|"MissingSignatureInputHeader"|"InvalidSignatureHeader"|"InvalidSignatureInputHeader"|"SignatureHeaderValueIsNotByteSequence"|"SignatureHeaderValueIsParameterized"|"SignatureHeaderValueIsIncorrectLength"|"SignatureInputHeaderMissingLabel"|"SignatureInputHeaderValueNotInnerList"|"SignatureInputHeaderValueMissingComponents"|"SignatureInputHeaderInvalidComponentType"|"SignatureInputHeaderInvalidComponentName"|"SignatureInputHeaderInvalidHeaderComponentParameter"|"SignatureInputHeaderInvalidDerivedComponentParameter"|"SignatureInputHeaderKeyIdLength"|"SignatureInputHeaderInvalidParameter"|"SignatureInputHeaderMissingRequiredParameters"|"ValidationFailedSignatureExpired"|"ValidationFailedInvalidLength"|"ValidationFailedSignatureMismatch"|"ValidationFailedIntegrityMismatch";
864 - export type UnencodedDigestError = "MalformedDictionary"|"UnknownAlgorithm"|"IncorrectDigestType"|"IncorrectDigestLength";
865 - export type ConnectionAllowlistError = "InvalidHeader"|"MoreThanOneList"|"ItemNotInnerList"|"InvalidAllowlistItemType"|"ReportingEndpointNotToken"|"InvalidUrlPattern";
866 - /**
867 - * Details for issues around "Attribution Reporting API" usage.
868 -Explainer: https://github.com/WICG/attribution-reporting-api
869 - */
870 - export interface AttributionReportingIssueDetails {
871 - violationType: AttributionReportingIssueType;
872 - request?: AffectedRequest;
873 - violatingNodeId?: DOM.BackendNodeId;
874 - invalidParameter?: string;
875 - }
876 - /**
877 - * Details for issues about documents in Quirks Mode
878 -or Limited Quirks Mode that affects page layouting.
879 - */
880 - export interface QuirksModeIssueDetails {
881 - /**
882 - * If false, it means the document's mode is "quirks"
883 -instead of "limited-quirks".
884 - */
885 - isLimitedQuirksMode: boolean;
886 - documentNodeId: DOM.BackendNodeId;
887 - url: string;
888 - frameId: Page.FrameId;
889 - loaderId: Network.LoaderId;
890 - }
891 - export interface NavigatorUserAgentIssueDetails {
892 - url: string;
893 - location?: SourceCodeLocation;
894 - }
895 - export interface SharedDictionaryIssueDetails {
896 - sharedDictionaryError: SharedDictionaryError;
897 - request: AffectedRequest;
898 - }
899 - export interface SRIMessageSignatureIssueDetails {
900 - error: SRIMessageSignatureError;
901 - signatureBase: string;
902 - integrityAssertions: string[];
903 - request: AffectedRequest;
904 - }
905 - export interface UnencodedDigestIssueDetails {
906 - error: UnencodedDigestError;
907 - request: AffectedRequest;
908 - }
909 - export interface ConnectionAllowlistIssueDetails {
910 - error: ConnectionAllowlistError;
911 - request: AffectedRequest;
912 - }
913 - export type GenericIssueErrorType = "FormLabelForNameError"|"FormDuplicateIdForInputError"|"FormInputWithNoLabelError"|"FormAutocompleteAttributeEmptyError"|"FormEmptyIdAndNameAttributesForInputError"|"FormAriaLabelledByToNonExistingIdError"|"FormInputAssignedAutocompleteValueToIdOrNameAttributeError"|"FormLabelHasNeitherForNorNestedInputError"|"FormLabelForMatchesNonExistingIdError"|"FormInputHasWrongButWellIntendedAutocompleteValueError"|"ResponseWasBlockedByORB"|"NavigationEntryMarkedSkippable"|"AutofillAndManualTextPolicyControlledFeaturesInfo"|"AutofillPolicyControlledFeatureInfo"|"ManualTextPolicyControlledFeatureInfo"|"FormModelContextParameterMissingTitleAndDescription";
914 - /**
915 - * Depending on the concrete errorType, different properties are set.
916 - */
917 - export interface GenericIssueDetails {
918 - /**
919 - * Issues with the same errorType are aggregated in the frontend.
920 - */
921 - errorType: GenericIssueErrorType;
922 - frameId?: Page.FrameId;
923 - violatingNodeId?: DOM.BackendNodeId;
924 - violatingNodeAttribute?: string;
925 - request?: AffectedRequest;
926 - }
927 - /**
928 - * This issue tracks information needed to print a deprecation message.
929 -https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/frame/third_party/blink/renderer/core/frame/deprecation/README.md
930 - */
931 - export interface DeprecationIssueDetails {
932 - affectedFrame?: AffectedFrame;
933 - sourceCodeLocation: SourceCodeLocation;
934 - /**
935 - * One of the deprecation names from third_party/blink/renderer/core/frame/deprecation/deprecation.json5
936 - */
937 - type: string;
938 - }
939 - /**
940 - * This issue warns about sites in the redirect chain of a finished navigation
941 -that may be flagged as trackers and have their state cleared if they don't
942 -receive a user interaction. Note that in this context 'site' means eTLD+1.
943 -For example, if the URL `https://example.test:80/bounce` was in the
944 -redirect chain, the site reported would be `example.test`.
945 - */
946 - export interface BounceTrackingIssueDetails {
947 - trackingSites: string[];
948 - }
949 - /**
950 - * This issue warns about third-party sites that are accessing cookies on the
951 -current page, and have been permitted due to having a global metadata grant.
952 -Note that in this context 'site' means eTLD+1. For example, if the URL
953 -`https://example.test:80/web_page` was accessing cookies, the site reported
954 -would be `example.test`.
955 - */
956 - export interface CookieDeprecationMetadataIssueDetails {
957 - allowedSites: string[];
958 - optOutPercentage: number;
959 - isOptOutTopLevel: boolean;
960 - operation: CookieOperation;
961 - }
962 - export type ClientHintIssueReason = "MetaTagAllowListInvalidOrigin"|"MetaTagModifiedHTML";
963 - export interface FederatedAuthRequestIssueDetails {
964 - federatedAuthRequestIssueReason: FederatedAuthRequestIssueReason;
965 - }
966 - /**
967 - * Represents the failure reason when a federated authentication reason fails.
968 -Should be updated alongside RequestIdTokenStatus in
969 -third_party/blink/public/mojom/devtools/inspector_issue.mojom to include
970 -all cases except for success.
971 - */
972 - export type FederatedAuthRequestIssueReason = "ShouldEmbargo"|"TooManyRequests"|"WellKnownHttpNotFound"|"WellKnownNoResponse"|"WellKnownInvalidResponse"|"WellKnownListEmpty"|"WellKnownInvalidContentType"|"ConfigNotInWellKnown"|"WellKnownTooBig"|"ConfigHttpNotFound"|"ConfigNoResponse"|"ConfigInvalidResponse"|"ConfigInvalidContentType"|"IdpNotPotentiallyTrustworthy"|"DisabledInSettings"|"DisabledInFlags"|"ErrorFetchingSignin"|"InvalidSigninResponse"|"AccountsHttpNotFound"|"AccountsNoResponse"|"AccountsInvalidResponse"|"AccountsListEmpty"|"AccountsInvalidContentType"|"IdTokenHttpNotFound"|"IdTokenNoResponse"|"IdTokenInvalidResponse"|"IdTokenIdpErrorResponse"|"IdTokenCrossSiteIdpErrorResponse"|"IdTokenInvalidRequest"|"IdTokenInvalidContentType"|"ErrorIdToken"|"Canceled"|"RpPageNotVisible"|"SilentMediationFailure"|"NotSignedInWithIdp"|"MissingTransientUserActivation"|"ReplacedByActiveMode"|"RelyingPartyOriginIsOpaque"|"TypeNotMatching"|"UiDismissedNoEmbargo"|"CorsError"|"SuppressedBySegmentationPlatform";
973 - export interface FederatedAuthUserInfoRequestIssueDetails {
974 - federatedAuthUserInfoRequestIssueReason: FederatedAuthUserInfoRequestIssueReason;
975 - }
976 - /**
977 - * Represents the failure reason when a getUserInfo() call fails.
978 -Should be updated alongside FederatedAuthUserInfoRequestResult in
979 -third_party/blink/public/mojom/devtools/inspector_issue.mojom.
980 - */
981 - export type FederatedAuthUserInfoRequestIssueReason = "NotSameOrigin"|"NotIframe"|"NotPotentiallyTrustworthy"|"NoApiPermission"|"NotSignedInWithIdp"|"NoAccountSharingPermission"|"InvalidConfigOrWellKnown"|"InvalidAccountsResponse"|"NoReturningUserFromFetchedAccounts";
982 - /**
983 - * This issue tracks client hints related issues. It's used to deprecate old
984 -features, encourage the use of new ones, and provide general guidance.
985 - */
986 - export interface ClientHintIssueDetails {
987 - sourceCodeLocation: SourceCodeLocation;
988 - clientHintIssueReason: ClientHintIssueReason;
989 - }
990 - export interface FailedRequestInfo {
991 - /**
992 - * The URL that failed to load.
993 - */
994 - url: string;
995 - /**
996 - * The failure message for the failed request.
997 - */
998 - failureMessage: string;
999 - requestId?: Network.RequestId;
1000 - }
1001 - export type PartitioningBlobURLInfo = "BlockedCrossPartitionFetching"|"EnforceNoopenerForNavigation";
1002 - export interface PartitioningBlobURLIssueDetails {
1003 - /**
1004 - * The BlobURL that failed to load.
1005 - */
1006 - url: string;
1007 - /**
1008 - * Additional information about the Partitioning Blob URL issue.
1009 - */
1010 - partitioningBlobURLInfo: PartitioningBlobURLInfo;
1011 - }
1012 - export type ElementAccessibilityIssueReason = "DisallowedSelectChild"|"DisallowedOptGroupChild"|"NonPhrasingContentOptionChild"|"InteractiveContentOptionChild"|"InteractiveContentLegendChild"|"InteractiveContentSummaryDescendant";
1013 - /**
1014 - * This issue warns about errors in the select or summary element content model.
1015 - */
1016 - export interface ElementAccessibilityIssueDetails {
1017 - nodeId: DOM.BackendNodeId;
1018 - elementAccessibilityIssueReason: ElementAccessibilityIssueReason;
1019 - hasDisallowedAttributes: boolean;
1020 - }
1021 - export type StyleSheetLoadingIssueReason = "LateImportRule"|"RequestFailed";
1022 - /**
1023 - * This issue warns when a referenced stylesheet couldn't be loaded.
1024 - */
1025 - export interface StylesheetLoadingIssueDetails {
1026 - /**
1027 - * Source code position that referenced the failing stylesheet.
1028 - */
1029 - sourceCodeLocation: SourceCodeLocation;
1030 - /**
1031 - * Reason why the stylesheet couldn't be loaded.
1032 - */
1033 - styleSheetLoadingIssueReason: StyleSheetLoadingIssueReason;
1034 - /**
1035 - * Contains additional info when the failure was due to a request.
1036 - */
1037 - failedRequestInfo?: FailedRequestInfo;
1038 - }
1039 - export type PropertyRuleIssueReason = "InvalidSyntax"|"InvalidInitialValue"|"InvalidInherits"|"InvalidName";
1040 - /**
1041 - * This issue warns about errors in property rules that lead to property
1042 -registrations being ignored.
1043 - */
1044 - export interface PropertyRuleIssueDetails {
1045 - /**
1046 - * Source code position of the property rule.
1047 - */
1048 - sourceCodeLocation: SourceCodeLocation;
1049 - /**
1050 - * Reason why the property rule was discarded.
1051 - */
1052 - propertyRuleIssueReason: PropertyRuleIssueReason;
1053 - /**
1054 - * The value of the property rule property that failed to parse
1055 - */
1056 - propertyValue?: string;
1057 - }
1058 - export type UserReidentificationIssueType = "BlockedFrameNavigation"|"BlockedSubresource"|"NoisedCanvasReadback";
1059 - /**
1060 - * This issue warns about uses of APIs that may be considered misuse to
1061 -re-identify users.
1062 - */
1063 - export interface UserReidentificationIssueDetails {
1064 - type: UserReidentificationIssueType;
1065 - /**
1066 - * Applies to BlockedFrameNavigation and BlockedSubresource issue types.
1067 - */
1068 - request?: AffectedRequest;
1069 - /**
1070 - * Applies to NoisedCanvasReadback issue type.
1071 - */
1072 - sourceCodeLocation?: SourceCodeLocation;
1073 - }
1074 - export type PermissionElementIssueType = "InvalidType"|"FencedFrameDisallowed"|"CspFrameAncestorsMissing"|"PermissionsPolicyBlocked"|"PaddingRightUnsupported"|"PaddingBottomUnsupported"|"InsetBoxShadowUnsupported"|"RequestInProgress"|"UntrustedEvent"|"RegistrationFailed"|"TypeNotSupported"|"InvalidTypeActivation"|"SecurityChecksFailed"|"ActivationDisabled"|"GeolocationDeprecated"|"InvalidDisplayStyle"|"NonOpaqueColor"|"LowContrast"|"FontSizeTooSmall"|"FontSizeTooLarge"|"InvalidSizeValue";
1075 - /**
1076 - * This issue warns about improper usage of the <permission> element.
1077 - */
1078 - export interface PermissionElementIssueDetails {
1079 - issueType: PermissionElementIssueType;
1080 - /**
1081 - * The value of the type attribute.
1082 - */
1083 - type?: string;
1084 - /**
1085 - * The node ID of the <permission> element.
1086 - */
1087 - nodeId?: DOM.BackendNodeId;
1088 - /**
1089 - * True if the issue is a warning, false if it is an error.
1090 - */
1091 - isWarning?: boolean;
1092 - /**
1093 - * Fields for message construction:
1094 -Used for messages that reference a specific permission name
1095 - */
1096 - permissionName?: string;
1097 - /**
1098 - * Used for messages about occlusion
1099 - */
1100 - occluderNodeInfo?: string;
1101 - /**
1102 - * Used for messages about occluder's parent
1103 - */
1104 - occluderParentNodeInfo?: string;
1105 - /**
1106 - * Used for messages about activation disabled reason
1107 - */
1108 - disableReason?: string;
1109 - }
1110 - /**
1111 - * The issue warns about blocked calls to privacy sensitive APIs via the
1112 -Selective Permissions Intervention.
1113 - */
1114 - export interface SelectivePermissionsInterventionIssueDetails {
1115 - /**
1116 - * Which API was intervened on.
1117 - */
1118 - apiName: string;
1119 - /**
1120 - * Why the ad script using the API is considered an ad.
1121 - */
1122 - adAncestry: Network.AdAncestry;
1123 - /**
1124 - * The stack trace at the time of the intervention.
1125 - */
1126 - stackTrace?: Runtime.StackTrace;
1127 - }
1128 - /**
1129 - * A unique identifier for the type of issue. Each type may use one of the
1130 -optional fields in InspectorIssueDetails to convey more specific
1131 -information about the kind of issue.
1132 - */
1133 - export type InspectorIssueCode = "CookieIssue"|"MixedContentIssue"|"BlockedByResponseIssue"|"HeavyAdIssue"|"ContentSecurityPolicyIssue"|"SharedArrayBufferIssue"|"CorsIssue"|"AttributionReportingIssue"|"QuirksModeIssue"|"PartitioningBlobURLIssue"|"NavigatorUserAgentIssue"|"GenericIssue"|"DeprecationIssue"|"ClientHintIssue"|"FederatedAuthRequestIssue"|"BounceTrackingIssue"|"CookieDeprecationMetadataIssue"|"StylesheetLoadingIssue"|"FederatedAuthUserInfoRequestIssue"|"PropertyRuleIssue"|"SharedDictionaryIssue"|"ElementAccessibilityIssue"|"SRIMessageSignatureIssue"|"UnencodedDigestIssue"|"ConnectionAllowlistIssue"|"UserReidentificationIssue"|"PermissionElementIssue"|"PerformanceIssue"|"SelectivePermissionsInterventionIssue";
1134 - /**
1135 - * This struct holds a list of optional fields with additional information
1136 -specific to the kind of issue. When adding a new issue code, please also
1137 -add a new optional field to this type.
1138 - */
1139 - export interface InspectorIssueDetails {
1140 - cookieIssueDetails?: CookieIssueDetails;
1141 - mixedContentIssueDetails?: MixedContentIssueDetails;
1142 - blockedByResponseIssueDetails?: BlockedByResponseIssueDetails;
1143 - heavyAdIssueDetails?: HeavyAdIssueDetails;
1144 - contentSecurityPolicyIssueDetails?: ContentSecurityPolicyIssueDetails;
1145 - sharedArrayBufferIssueDetails?: SharedArrayBufferIssueDetails;
1146 - corsIssueDetails?: CorsIssueDetails;
1147 - attributionReportingIssueDetails?: AttributionReportingIssueDetails;
1148 - quirksModeIssueDetails?: QuirksModeIssueDetails;
1149 - partitioningBlobURLIssueDetails?: PartitioningBlobURLIssueDetails;
1150 - navigatorUserAgentIssueDetails?: NavigatorUserAgentIssueDetails;
1151 - genericIssueDetails?: GenericIssueDetails;
1152 - deprecationIssueDetails?: DeprecationIssueDetails;
1153 - clientHintIssueDetails?: ClientHintIssueDetails;
1154 - federatedAuthRequestIssueDetails?: FederatedAuthRequestIssueDetails;
1155 - bounceTrackingIssueDetails?: BounceTrackingIssueDetails;
1156 - cookieDeprecationMetadataIssueDetails?: CookieDeprecationMetadataIssueDetails;
1157 - stylesheetLoadingIssueDetails?: StylesheetLoadingIssueDetails;
1158 - propertyRuleIssueDetails?: PropertyRuleIssueDetails;
1159 - federatedAuthUserInfoRequestIssueDetails?: FederatedAuthUserInfoRequestIssueDetails;
1160 - sharedDictionaryIssueDetails?: SharedDictionaryIssueDetails;
1161 - elementAccessibilityIssueDetails?: ElementAccessibilityIssueDetails;
1162 - sriMessageSignatureIssueDetails?: SRIMessageSignatureIssueDetails;
1163 - unencodedDigestIssueDetails?: UnencodedDigestIssueDetails;
1164 - connectionAllowlistIssueDetails?: ConnectionAllowlistIssueDetails;
1165 - userReidentificationIssueDetails?: UserReidentificationIssueDetails;
1166 - permissionElementIssueDetails?: PermissionElementIssueDetails;
1167 - performanceIssueDetails?: PerformanceIssueDetails;
1168 - selectivePermissionsInterventionIssueDetails?: SelectivePermissionsInterventionIssueDetails;
1169 - }
1170 - /**
1171 - * A unique id for a DevTools inspector issue. Allows other entities (e.g.
1172 -exceptions, CDP message, console messages, etc.) to reference an issue.
1173 - */
1174 - export type IssueId = string;
1175 - /**
1176 - * An inspector issue reported from the back-end.
1177 - */
1178 - export interface InspectorIssue {
1179 - code: InspectorIssueCode;
1180 - details: InspectorIssueDetails;
1181 - /**
1182 - * A unique id for this issue. May be omitted if no other entity (e.g.
1183 -exception, CDP message, etc.) is referencing this issue.
1184 - */
1185 - issueId?: IssueId;
1186 - }
1187 -
1188 - export type issueAddedPayload = {
1189 - issue: InspectorIssue;
1190 - }
1191 -
1192 - /**
1193 - * Returns the response body and size if it were re-encoded with the specified settings. Only
1194 -applies to images.
1195 - */
1196 - export type getEncodedResponseParameters = {
1197 - /**
1198 - * Identifier of the network request to get content for.
1199 - */
1200 - requestId: Network.RequestId;
1201 - /**
1202 - * The encoding to use.
1203 - */
1204 - encoding: "webp"|"jpeg"|"png";
1205 - /**
1206 - * The quality of the encoding (0-1). (defaults to 1)
1207 - */
1208 - quality?: number;
1209 - /**
1210 - * Whether to only return the size information (defaults to false).
1211 - */
1212 - sizeOnly?: boolean;
1213 - }
1214 - export type getEncodedResponseReturnValue = {
1215 - /**
1216 - * The encoded body as a base64 string. Omitted if sizeOnly is true.
1217 - */
1218 - body?: binary;
1219 - /**
1220 - * Size before re-encoding.
1221 - */
1222 - originalSize: number;
1223 - /**
1224 - * Size after re-encoding.
1225 - */
1226 - encodedSize: number;
1227 - }
1228 - /**
1229 - * Disables issues domain, prevents further issues from being reported to the client.
1230 - */
1231 - export type disableParameters = {
1232 - }
1233 - export type disableReturnValue = {
1234 - }
1235 - /**
1236 - * Enables issues domain, sends the issues collected so far to the client by means of the
1237 -`issueAdded` event.
1238 - */
1239 - export type enableParameters = {
1240 - }
1241 - export type enableReturnValue = {
1242 - }
1243 - /**
1244 - * Runs the form issues check for the target page. Found issues are reported
1245 -using Audits.issueAdded event.
1246 - */
1247 - export type checkFormsIssuesParameters = {
1248 - }
1249 - export type checkFormsIssuesReturnValue = {
1250 - formIssues: GenericIssueDetails[];
1251 - }
1252 - }
1253 -
1254 - /**
1255 - * Defines commands and events for Autofill.
1256 - */
1257 - export namespace Autofill {
1258 - export interface CreditCard {
1259 - /**
1260 - * 16-digit credit card number.
1261 - */
1262 - number: string;
1263 - /**
1264 - * Name of the credit card owner.
1265 - */
1266 - name: string;
1267 - /**
1268 - * 2-digit expiry month.
1269 - */
1270 - expiryMonth: string;
1271 - /**
1272 - * 4-digit expiry year.
1273 - */
1274 - expiryYear: string;
1275 - /**
1276 - * 3-digit card verification code.
1277 - */
1278 - cvc: string;
1279 - }
1280 - export interface AddressField {
1281 - /**
1282 - * address field name, for example GIVEN_NAME.
1283 -The full list of supported field names:
1284 -https://source.chromium.org/chromium/chromium/src/+/main:components/autofill/core/browser/field_types.cc;l=38
1285 - */
1286 - name: string;
1287 - /**
1288 - * address field value, for example Jon Doe.
1289 - */
1290 - value: string;
1291 - }
1292 - /**
1293 - * A list of address fields.
1294 - */
1295 - export interface AddressFields {
1296 - fields: AddressField[];
1297 - }
1298 - export interface Address {
1299 - /**
1300 - * fields and values defining an address.
1301 - */
1302 - fields: AddressField[];
1303 - }
1304 - /**
1305 - * Defines how an address can be displayed like in chrome://settings/addresses.
1306 -Address UI is a two dimensional array, each inner array is an "address information line", and when rendered in a UI surface should be displayed as such.
1307 -The following address UI for instance:
1308 -[[{name: "GIVE_NAME", value: "Jon"}, {name: "FAMILY_NAME", value: "Doe"}], [{name: "CITY", value: "Munich"}, {name: "ZIP", value: "81456"}]]
1309 -should allow the receiver to render:
1310 -Jon Doe
1311 -Munich 81456
1312 - */
1313 - export interface AddressUI {
1314 - /**
1315 - * A two dimension array containing the representation of values from an address profile.
1316 - */
1317 - addressFields: AddressFields[];
1318 - }
1319 - /**
1320 - * Specified whether a filled field was done so by using the html autocomplete attribute or autofill heuristics.
1321 - */
1322 - export type FillingStrategy = "autocompleteAttribute"|"autofillInferred";
1323 - export interface FilledField {
1324 - /**
1325 - * The type of the field, e.g text, password etc.
1326 - */
1327 - htmlType: string;
1328 - /**
1329 - * the html id
1330 - */
1331 - id: string;
1332 - /**
1333 - * the html name
1334 - */
1335 - name: string;
1336 - /**
1337 - * the field value
1338 - */
1339 - value: string;
1340 - /**
1341 - * The actual field type, e.g FAMILY_NAME
1342 - */
1343 - autofillType: string;
1344 - /**
1345 - * The filling strategy
1346 - */
1347 - fillingStrategy: FillingStrategy;
1348 - /**
1349 - * The frame the field belongs to
1350 - */
1351 - frameId: Page.FrameId;
1352 - /**
1353 - * The form field's DOM node
1354 - */
1355 - fieldId: DOM.BackendNodeId;
1356 - }
1357 -
1358 - /**
1359 - * Emitted when an address form is filled.
1360 - */
1361 - export type addressFormFilledPayload = {
1362 - /**
1363 - * Information about the fields that were filled
1364 - */
1365 - filledFields: FilledField[];
1366 - /**
1367 - * An UI representation of the address used to fill the form.
1368 -Consists of a 2D array where each child represents an address/profile line.
1369 - */
1370 - addressUi: AddressUI;
1371 - }
1372 -
1373 - /**
1374 - * Trigger autofill on a form identified by the fieldId.
1375 -If the field and related form cannot be autofilled, returns an error.
1376 - */
1377 - export type triggerParameters = {
1378 - /**
1379 - * Identifies a field that serves as an anchor for autofill.
1380 - */
1381 - fieldId: DOM.BackendNodeId;
1382 - /**
1383 - * Identifies the frame that field belongs to.
1384 - */
1385 - frameId?: Page.FrameId;
1386 - /**
1387 - * Credit card information to fill out the form. Credit card data is not saved. Mutually exclusive with `address`.
1388 - */
1389 - card?: CreditCard;
1390 - /**
1391 - * Address to fill out the form. Address data is not saved. Mutually exclusive with `card`.
1392 - */
1393 - address?: Address;
1394 - }
1395 - export type triggerReturnValue = {
1396 - }
1397 - /**
1398 - * Set addresses so that developers can verify their forms implementation.
1399 - */
1400 - export type setAddressesParameters = {
1401 - addresses: Address[];
1402 - }
1403 - export type setAddressesReturnValue = {
1404 - }
1405 - /**
1406 - * Disables autofill domain notifications.
1407 - */
1408 - export type disableParameters = {
1409 - }
1410 - export type disableReturnValue = {
1411 - }
1412 - /**
1413 - * Enables autofill domain notifications.
1414 - */
1415 - export type enableParameters = {
1416 - }
1417 - export type enableReturnValue = {
1418 - }
1419 - }
1420 -
1421 - /**
1422 - * Defines events for background web platform features.
1423 - */
1424 - export namespace BackgroundService {
1425 - /**
1426 - * The Background Service that will be associated with the commands/events.
1427 -Every Background Service operates independently, but they share the same
1428 -API.
1429 - */
1430 - export type ServiceName = "backgroundFetch"|"backgroundSync"|"pushMessaging"|"notifications"|"paymentHandler"|"periodicBackgroundSync";
1431 - /**
1432 - * A key-value pair for additional event information to pass along.
1433 - */
1434 - export interface EventMetadata {
1435 - key: string;
1436 - value: string;
1437 - }
1438 - export interface BackgroundServiceEvent {
1439 - /**
1440 - * Timestamp of the event (in seconds).
1441 - */
1442 - timestamp: Network.TimeSinceEpoch;
1443 - /**
1444 - * The origin this event belongs to.
1445 - */
1446 - origin: string;
1447 - /**
1448 - * The Service Worker ID that initiated the event.
1449 - */
1450 - serviceWorkerRegistrationId: ServiceWorker.RegistrationID;
1451 - /**
1452 - * The Background Service this event belongs to.
1453 - */
1454 - service: ServiceName;
1455 - /**
1456 - * A description of the event.
1457 - */
1458 - eventName: string;
1459 - /**
1460 - * An identifier that groups related events together.
1461 - */
1462 - instanceId: string;
1463 - /**
1464 - * A list of event-specific information.
1465 - */
1466 - eventMetadata: EventMetadata[];
1467 - /**
1468 - * Storage key this event belongs to.
1469 - */
1470 - storageKey: string;
1471 - }
1472 -
1473 - /**
1474 - * Called when the recording state for the service has been updated.
1475 - */
1476 - export type recordingStateChangedPayload = {
1477 - isRecording: boolean;
1478 - service: ServiceName;
1479 - }
1480 - /**
1481 - * Called with all existing backgroundServiceEvents when enabled, and all new
1482 -events afterwards if enabled and recording.
1483 - */
1484 - export type backgroundServiceEventReceivedPayload = {
1485 - backgroundServiceEvent: BackgroundServiceEvent;
1486 - }
1487 -
1488 - /**
1489 - * Enables event updates for the service.
1490 - */
1491 - export type startObservingParameters = {
1492 - service: ServiceName;
1493 - }
1494 - export type startObservingReturnValue = {
1495 - }
1496 - /**
1497 - * Disables event updates for the service.
1498 - */
1499 - export type stopObservingParameters = {
1500 - service: ServiceName;
1501 - }
1502 - export type stopObservingReturnValue = {
1503 - }
1504 - /**
1505 - * Set the recording state for the service.
1506 - */
1507 - export type setRecordingParameters = {
1508 - shouldRecord: boolean;
1509 - service: ServiceName;
1510 - }
1511 - export type setRecordingReturnValue = {
1512 - }
1513 - /**
1514 - * Clears all stored data for the service.
1515 - */
1516 - export type clearEventsParameters = {
1517 - service: ServiceName;
1518 - }
1519 - export type clearEventsReturnValue = {
1520 - }
1521 - }
1522 -
1523 - /**
1524 - * This domain allows configuring virtual Bluetooth devices to test
1525 -the web-bluetooth API.
1526 - */
1527 - export namespace BluetoothEmulation {
1528 - /**
1529 - * Indicates the various states of Central.
1530 - */
1531 - export type CentralState = "absent"|"powered-off"|"powered-on";
1532 - /**
1533 - * Indicates the various types of GATT event.
1534 - */
1535 - export type GATTOperationType = "connection"|"discovery";
1536 - /**
1537 - * Indicates the various types of characteristic write.
1538 - */
1539 - export type CharacteristicWriteType = "write-default-deprecated"|"write-with-response"|"write-without-response";
1540 - /**
1541 - * Indicates the various types of characteristic operation.
1542 - */
1543 - export type CharacteristicOperationType = "read"|"write"|"subscribe-to-notifications"|"unsubscribe-from-notifications";
1544 - /**
1545 - * Indicates the various types of descriptor operation.
1546 - */
1547 - export type DescriptorOperationType = "read"|"write";
1548 - /**
1549 - * Stores the manufacturer data
1550 - */
1551 - export interface ManufacturerData {
1552 - /**
1553 - * Company identifier
1554 -https://bitbucket.org/bluetooth-SIG/public/src/main/assigned_numbers/company_identifiers/company_identifiers.yaml
1555 -https://usb.org/developers
1556 - */
1557 - key: number;
1558 - /**
1559 - * Manufacturer-specific data
1560 - */
1561 - data: binary;
1562 - }
1563 - /**
1564 - * Stores the byte data of the advertisement packet sent by a Bluetooth device.
1565 - */
1566 - export interface ScanRecord {
1567 - name?: string;
1568 - uuids?: string[];
1569 - /**
1570 - * Stores the external appearance description of the device.
1571 - */
1572 - appearance?: number;
1573 - /**
1574 - * Stores the transmission power of a broadcasting device.
1575 - */
1576 - txPower?: number;
1577 - /**
1578 - * Key is the company identifier and the value is an array of bytes of
1579 -manufacturer specific data.
1580 - */
1581 - manufacturerData?: ManufacturerData[];
1582 - }
1583 - /**
1584 - * Stores the advertisement packet information that is sent by a Bluetooth device.
1585 - */
1586 - export interface ScanEntry {
1587 - deviceAddress: string;
1588 - rssi: number;
1589 - scanRecord: ScanRecord;
1590 - }
1591 - /**
1592 - * Describes the properties of a characteristic. This follows Bluetooth Core
1593 -Specification BT 4.2 Vol 3 Part G 3.3.1. Characteristic Properties.
1594 - */
1595 - export interface CharacteristicProperties {
1596 - broadcast?: boolean;
1597 - read?: boolean;
1598 - writeWithoutResponse?: boolean;
1599 - write?: boolean;
1600 - notify?: boolean;
1601 - indicate?: boolean;
1602 - authenticatedSignedWrites?: boolean;
1603 - extendedProperties?: boolean;
1604 - }
1605 -
1606 - /**
1607 - * Event for when a GATT operation of |type| to the peripheral with |address|
1608 -happened.
1609 - */
1610 - export type gattOperationReceivedPayload = {
1611 - address: string;
1612 - type: GATTOperationType;
1613 - }
1614 - /**
1615 - * Event for when a characteristic operation of |type| to the characteristic
1616 -respresented by |characteristicId| happened. |data| and |writeType| is
1617 -expected to exist when |type| is write.
1618 - */
1619 - export type characteristicOperationReceivedPayload = {
1620 - characteristicId: string;
1621 - type: CharacteristicOperationType;
1622 - data?: binary;
1623 - writeType?: CharacteristicWriteType;
1624 - }
1625 - /**
1626 - * Event for when a descriptor operation of |type| to the descriptor
1627 -respresented by |descriptorId| happened. |data| is expected to exist when
1628 -|type| is write.
1629 - */
1630 - export type descriptorOperationReceivedPayload = {
1631 - descriptorId: string;
1632 - type: DescriptorOperationType;
1633 - data?: binary;
1634 - }
1635 -
1636 - /**
1637 - * Enable the BluetoothEmulation domain.
1638 - */
1639 - export type enableParameters = {
1640 - /**
1641 - * State of the simulated central.
1642 - */
1643 - state: CentralState;
1644 - /**
1645 - * If the simulated central supports low-energy.
1646 - */
1647 - leSupported: boolean;
1648 - }
1649 - export type enableReturnValue = {
1650 - }
1651 - /**
1652 - * Set the state of the simulated central.
1653 - */
1654 - export type setSimulatedCentralStateParameters = {
1655 - /**
1656 - * State of the simulated central.
1657 - */
1658 - state: CentralState;
1659 - }
1660 - export type setSimulatedCentralStateReturnValue = {
1661 - }
1662 - /**
1663 - * Disable the BluetoothEmulation domain.
1664 - */
1665 - export type disableParameters = {
1666 - }
1667 - export type disableReturnValue = {
1668 - }
1669 - /**
1670 - * Simulates a peripheral with |address|, |name| and |knownServiceUuids|
1671 -that has already been connected to the system.
1672 - */
1673 - export type simulatePreconnectedPeripheralParameters = {
1674 - address: string;
1675 - name: string;
1676 - manufacturerData: ManufacturerData[];
1677 - knownServiceUuids: string[];
1678 - }
1679 - export type simulatePreconnectedPeripheralReturnValue = {
1680 - }
1681 - /**
1682 - * Simulates an advertisement packet described in |entry| being received by
1683 -the central.
1684 - */
1685 - export type simulateAdvertisementParameters = {
1686 - entry: ScanEntry;
1687 - }
1688 - export type simulateAdvertisementReturnValue = {
1689 - }
1690 - /**
1691 - * Simulates the response code from the peripheral with |address| for a
1692 -GATT operation of |type|. The |code| value follows the HCI Error Codes from
1693 -Bluetooth Core Specification Vol 2 Part D 1.3 List Of Error Codes.
1694 - */
1695 - export type simulateGATTOperationResponseParameters = {
1696 - address: string;
1697 - type: GATTOperationType;
1698 - code: number;
1699 - }
1700 - export type simulateGATTOperationResponseReturnValue = {
1701 - }
1702 - /**
1703 - * Simulates the response from the characteristic with |characteristicId| for a
1704 -characteristic operation of |type|. The |code| value follows the Error
1705 -Codes from Bluetooth Core Specification Vol 3 Part F 3.4.1.1 Error Response.
1706 -The |data| is expected to exist when simulating a successful read operation
1707 -response.
1708 - */
1709 - export type simulateCharacteristicOperationResponseParameters = {
1710 - characteristicId: string;
1711 - type: CharacteristicOperationType;
1712 - code: number;
1713 - data?: binary;
1714 - }
1715 - export type simulateCharacteristicOperationResponseReturnValue = {
1716 - }
1717 - /**
1718 - * Simulates the response from the descriptor with |descriptorId| for a
1719 -descriptor operation of |type|. The |code| value follows the Error
1720 -Codes from Bluetooth Core Specification Vol 3 Part F 3.4.1.1 Error Response.
1721 -The |data| is expected to exist when simulating a successful read operation
1722 -response.
1723 - */
1724 - export type simulateDescriptorOperationResponseParameters = {
1725 - descriptorId: string;
1726 - type: DescriptorOperationType;
1727 - code: number;
1728 - data?: binary;
1729 - }
1730 - export type simulateDescriptorOperationResponseReturnValue = {
1731 - }
1732 - /**
1733 - * Adds a service with |serviceUuid| to the peripheral with |address|.
1734 - */
1735 - export type addServiceParameters = {
1736 - address: string;
1737 - serviceUuid: string;
1738 - }
1739 - export type addServiceReturnValue = {
1740 - /**
1741 - * An identifier that uniquely represents this service.
1742 - */
1743 - serviceId: string;
1744 - }
1745 - /**
1746 - * Removes the service respresented by |serviceId| from the simulated central.
1747 - */
1748 - export type removeServiceParameters = {
1749 - serviceId: string;
1750 - }
1751 - export type removeServiceReturnValue = {
1752 - }
1753 - /**
1754 - * Adds a characteristic with |characteristicUuid| and |properties| to the
1755 -service represented by |serviceId|.
1756 - */
1757 - export type addCharacteristicParameters = {
1758 - serviceId: string;
1759 - characteristicUuid: string;
1760 - properties: CharacteristicProperties;
1761 - }
1762 - export type addCharacteristicReturnValue = {
1763 - /**
1764 - * An identifier that uniquely represents this characteristic.
1765 - */
1766 - characteristicId: string;
1767 - }
1768 - /**
1769 - * Removes the characteristic respresented by |characteristicId| from the
1770 -simulated central.
1771 - */
1772 - export type removeCharacteristicParameters = {
1773 - characteristicId: string;
1774 - }
1775 - export type removeCharacteristicReturnValue = {
1776 - }
1777 - /**
1778 - * Adds a descriptor with |descriptorUuid| to the characteristic respresented
1779 -by |characteristicId|.
1780 - */
1781 - export type addDescriptorParameters = {
1782 - characteristicId: string;
1783 - descriptorUuid: string;
1784 - }
1785 - export type addDescriptorReturnValue = {
1786 - /**
1787 - * An identifier that uniquely represents this descriptor.
1788 - */
1789 - descriptorId: string;
1790 - }
1791 - /**
1792 - * Removes the descriptor with |descriptorId| from the simulated central.
1793 - */
1794 - export type removeDescriptorParameters = {
1795 - descriptorId: string;
1796 - }
1797 - export type removeDescriptorReturnValue = {
1798 - }
1799 - /**
1800 - * Simulates a GATT disconnection from the peripheral with |address|.
1801 - */
1802 - export type simulateGATTDisconnectionParameters = {
1803 - address: string;
1804 - }
1805 - export type simulateGATTDisconnectionReturnValue = {
1806 - }
1807 - }
1808 -
1809 - /**
1810 - * The Browser domain defines methods and events for browser managing.
1811 - */
1812 - export namespace Browser {
1813 - export type BrowserContextID = string;
1814 - export type WindowID = number;
1815 - /**
1816 - * The state of the browser window.
1817 - */
1818 - export type WindowState = "normal"|"minimized"|"maximized"|"fullscreen";
1819 - /**
1820 - * Browser window bounds information
1821 - */
1822 - export interface Bounds {
1823 - /**
1824 - * The offset from the left edge of the screen to the window in pixels.
1825 - */
1826 - left?: number;
1827 - /**
1828 - * The offset from the top edge of the screen to the window in pixels.
1829 - */
1830 - top?: number;
1831 - /**
1832 - * The window width in pixels.
1833 - */
1834 - width?: number;
1835 - /**
1836 - * The window height in pixels.
1837 - */
1838 - height?: number;
1839 - /**
1840 - * The window state. Default to normal.
1841 - */
1842 - windowState?: WindowState;
1843 - }
1844 - export type PermissionType = "ar"|"audioCapture"|"automaticFullscreen"|"backgroundFetch"|"backgroundSync"|"cameraPanTiltZoom"|"capturedSurfaceControl"|"clipboardReadWrite"|"clipboardSanitizedWrite"|"displayCapture"|"durableStorage"|"geolocation"|"handTracking"|"idleDetection"|"keyboardLock"|"localFonts"|"localNetwork"|"localNetworkAccess"|"loopbackNetwork"|"midi"|"midiSysex"|"nfc"|"notifications"|"paymentHandler"|"periodicBackgroundSync"|"pointerLock"|"protectedMediaIdentifier"|"sensors"|"smartCard"|"speakerSelection"|"storageAccess"|"topLevelStorageAccess"|"videoCapture"|"vr"|"wakeLockScreen"|"wakeLockSystem"|"webAppInstallation"|"webPrinting"|"windowManagement";
1845 - export type PermissionSetting = "granted"|"denied"|"prompt";
1846 - /**
1847 - * Definition of PermissionDescriptor defined in the Permissions API:
1848 -https://w3c.github.io/permissions/#dom-permissiondescriptor.
1849 - */
1850 - export interface PermissionDescriptor {
1851 - /**
1852 - * Name of permission.
1853 -See https://cs.chromium.org/chromium/src/third_party/blink/renderer/modules/permissions/permission_descriptor.idl for valid permission names.
1854 - */
1855 - name: string;
1856 - /**
1857 - * For "midi" permission, may also specify sysex control.
1858 - */
1859 - sysex?: boolean;
1860 - /**
1861 - * For "push" permission, may specify userVisibleOnly.
1862 -Note that userVisibleOnly = true is the only currently supported type.
1863 - */
1864 - userVisibleOnly?: boolean;
1865 - /**
1866 - * For "clipboard" permission, may specify allowWithoutSanitization.
1867 - */
1868 - allowWithoutSanitization?: boolean;
1869 - /**
1870 - * For "fullscreen" permission, must specify allowWithoutGesture:true.
1871 - */
1872 - allowWithoutGesture?: boolean;
1873 - /**
1874 - * For "camera" permission, may specify panTiltZoom.
1875 - */
1876 - panTiltZoom?: boolean;
1877 - }
1878 - /**
1879 - * Browser command ids used by executeBrowserCommand.
1880 - */
1881 - export type BrowserCommandId = "openTabSearch"|"closeTabSearch"|"openGlic";
1882 - /**
1883 - * Chrome histogram bucket.
1884 - */
1885 - export interface Bucket {
1886 - /**
1887 - * Minimum value (inclusive).
1888 - */
1889 - low: number;
1890 - /**
1891 - * Maximum value (exclusive).
1892 - */
1893 - high: number;
1894 - /**
1895 - * Number of samples.
1896 - */
1897 - count: number;
1898 - }
1899 - /**
1900 - * Chrome histogram.
1901 - */
1902 - export interface Histogram {
1903 - /**
1904 - * Name.
1905 - */
1906 - name: string;
1907 - /**
1908 - * Sum of sample values.
1909 - */
1910 - sum: number;
1911 - /**
1912 - * Total number of samples.
1913 - */
1914 - count: number;
1915 - /**
1916 - * Buckets.
1917 - */
1918 - buckets: Bucket[];
1919 - }
1920 - export type PrivacySandboxAPI = "BiddingAndAuctionServices"|"TrustedKeyValue";
1921 -
1922 - /**
1923 - * Fired when page is about to start a download.
1924 - */
1925 - export type downloadWillBeginPayload = {
1926 - /**
1927 - * Id of the frame that caused the download to begin.
1928 - */
1929 - frameId: Page.FrameId;
1930 - /**
1931 - * Global unique identifier of the download.
1932 - */
1933 - guid: string;
1934 - /**
1935 - * URL of the resource being downloaded.
1936 - */
1937 - url: string;
1938 - /**
1939 - * Suggested file name of the resource (the actual name of the file saved on disk may differ).
1940 - */
1941 - suggestedFilename: string;
1942 - }
1943 - /**
1944 - * Fired when download makes progress. Last call has |done| == true.
1945 - */
1946 - export type downloadProgressPayload = {
1947 - /**
1948 - * Global unique identifier of the download.
1949 - */
1950 - guid: string;
1951 - /**
1952 - * Total expected bytes to download.
1953 - */
1954 - totalBytes: number;
1955 - /**
1956 - * Total bytes received.
1957 - */
1958 - receivedBytes: number;
1959 - /**
1960 - * Download status.
1961 - */
1962 - state: "inProgress"|"completed"|"canceled";
1963 - /**
1964 - * If download is "completed", provides the path of the downloaded file.
1965 -Depending on the platform, it is not guaranteed to be set, nor the file
1966 -is guaranteed to exist.
1967 - */
1968 - filePath?: string;
1969 - }
1970 -
1971 - /**
1972 - * Set permission settings for given embedding and embedded origins.
1973 - */
1974 - export type setPermissionParameters = {
1975 - /**
1976 - * Descriptor of permission to override.
1977 - */
1978 - permission: PermissionDescriptor;
1979 - /**
1980 - * Setting of the permission.
1981 - */
1982 - setting: PermissionSetting;
1983 - /**
1984 - * Embedding origin the permission applies to, all origins if not specified.
1985 - */
1986 - origin?: string;
1987 - /**
1988 - * Embedded origin the permission applies to. It is ignored unless the embedding origin is
1989 -present and valid. If the embedding origin is provided but the embedded origin isn't, the
1990 -embedding origin is used as the embedded origin.
1991 - */
1992 - embeddedOrigin?: string;
1993 - /**
1994 - * Context to override. When omitted, default browser context is used.
1995 - */
1996 - browserContextId?: BrowserContextID;
1997 - }
1998 - export type setPermissionReturnValue = {
1999 - }
2000 - /**
2001 - * Grant specific permissions to the given origin and reject all others. Deprecated. Use
2002 -setPermission instead.
2003 - */
2004 - export type grantPermissionsParameters = {
2005 - permissions: PermissionType[];
2006 - /**
2007 - * Origin the permission applies to, all origins if not specified.
2008 - */
2009 - origin?: string;
2010 - /**
2011 - * BrowserContext to override permissions. When omitted, default browser context is used.
2012 - */
2013 - browserContextId?: BrowserContextID;
2014 - }
2015 - export type grantPermissionsReturnValue = {
2016 - }
2017 - /**
2018 - * Reset all permission management for all origins.
2019 - */
2020 - export type resetPermissionsParameters = {
2021 - /**
2022 - * BrowserContext to reset permissions. When omitted, default browser context is used.
2023 - */
2024 - browserContextId?: BrowserContextID;
2025 - }
2026 - export type resetPermissionsReturnValue = {
2027 - }
2028 - /**
2029 - * Set the behavior when downloading a file.
2030 - */
2031 - export type setDownloadBehaviorParameters = {
2032 - /**
2033 - * Whether to allow all or deny all download requests, or use default Chrome behavior if
2034 -available (otherwise deny). |allowAndName| allows download and names files according to
2035 -their download guids.
2036 - */
2037 - behavior: "deny"|"allow"|"allowAndName"|"default";
2038 - /**
2039 - * BrowserContext to set download behavior. When omitted, default browser context is used.
2040 - */
2041 - browserContextId?: BrowserContextID;
2042 - /**
2043 - * The default path to save downloaded files to. This is required if behavior is set to 'allow'
2044 -or 'allowAndName'.
2045 - */
2046 - downloadPath?: string;
2047 - /**
2048 - * Whether to emit download events (defaults to false).
2049 - */
2050 - eventsEnabled?: boolean;
2051 - }
2052 - export type setDownloadBehaviorReturnValue = {
2053 - }
2054 - /**
2055 - * Cancel a download if in progress
2056 - */
2057 - export type cancelDownloadParameters = {
2058 - /**
2059 - * Global unique identifier of the download.
2060 - */
2061 - guid: string;
2062 - /**
2063 - * BrowserContext to perform the action in. When omitted, default browser context is used.
2064 - */
2065 - browserContextId?: BrowserContextID;
2066 - }
2067 - export type cancelDownloadReturnValue = {
2068 - }
2069 - /**
2070 - * Close browser gracefully.
2071 - */
2072 - export type closeParameters = {
2073 - }
2074 - export type closeReturnValue = {
2075 - }
2076 - /**
2077 - * Crashes browser on the main thread.
2078 - */
2079 - export type crashParameters = {
2080 - }
2081 - export type crashReturnValue = {
2082 - }
2083 - /**
2084 - * Crashes GPU process.
2085 - */
2086 - export type crashGpuProcessParameters = {
2087 - }
2088 - export type crashGpuProcessReturnValue = {
2089 - }
2090 - /**
2091 - * Returns version information.
2092 - */
2093 - export type getVersionParameters = {
2094 - }
2095 - export type getVersionReturnValue = {
2096 - /**
2097 - * Protocol version.
2098 - */
2099 - protocolVersion: string;
2100 - /**
2101 - * Product name.
2102 - */
2103 - product: string;
2104 - /**
2105 - * Product revision.
2106 - */
2107 - revision: string;
2108 - /**
2109 - * User-Agent.
2110 - */
2111 - userAgent: string;
2112 - /**
2113 - * V8 version.
2114 - */
2115 - jsVersion: string;
2116 - }
2117 - /**
2118 - * Returns the command line switches for the browser process if, and only if
2119 ---enable-automation is on the commandline.
2120 - */
2121 - export type getBrowserCommandLineParameters = {
2122 - }
2123 - export type getBrowserCommandLineReturnValue = {
2124 - /**
2125 - * Commandline parameters
2126 - */
2127 - arguments: string[];
2128 - }
2129 - /**
2130 - * Get Chrome histograms.
2131 - */
2132 - export type getHistogramsParameters = {
2133 - /**
2134 - * Requested substring in name. Only histograms which have query as a
2135 -substring in their name are extracted. An empty or absent query returns
2136 -all histograms.
2137 - */
2138 - query?: string;
2139 - /**
2140 - * If true, retrieve delta since last delta call.
2141 - */
2142 - delta?: boolean;
2143 - }
2144 - export type getHistogramsReturnValue = {
2145 - /**
2146 - * Histograms.
2147 - */
2148 - histograms: Histogram[];
2149 - }
2150 - /**
2151 - * Get a Chrome histogram by name.
2152 - */
2153 - export type getHistogramParameters = {
2154 - /**
2155 - * Requested histogram name.
2156 - */
2157 - name: string;
2158 - /**
2159 - * If true, retrieve delta since last delta call.
2160 - */
2161 - delta?: boolean;
2162 - }
2163 - export type getHistogramReturnValue = {
2164 - /**
2165 - * Histogram.
2166 - */
2167 - histogram: Histogram;
2168 - }
2169 - /**
2170 - * Get position and size of the browser window.
2171 - */
2172 - export type getWindowBoundsParameters = {
2173 - /**
2174 - * Browser window id.
2175 - */
2176 - windowId: WindowID;
2177 - }
2178 - export type getWindowBoundsReturnValue = {
2179 - /**
2180 - * Bounds information of the window. When window state is 'minimized', the restored window
2181 -position and size are returned.
2182 - */
2183 - bounds: Bounds;
2184 - }
2185 - /**
2186 - * Get the browser window that contains the devtools target.
2187 - */
2188 - export type getWindowForTargetParameters = {
2189 - /**
2190 - * Devtools agent host id. If called as a part of the session, associated targetId is used.
2191 - */
2192 - targetId?: Target.TargetID;
2193 - }
2194 - export type getWindowForTargetReturnValue = {
2195 - /**
2196 - * Browser window id.
2197 - */
2198 - windowId: WindowID;
2199 - /**
2200 - * Bounds information of the window. When window state is 'minimized', the restored window
2201 -position and size are returned.
2202 - */
2203 - bounds: Bounds;
2204 - }
2205 - /**
2206 - * Set position and/or size of the browser window.
2207 - */
2208 - export type setWindowBoundsParameters = {
2209 - /**
2210 - * Browser window id.
2211 - */
2212 - windowId: WindowID;
2213 - /**
2214 - * New window bounds. The 'minimized', 'maximized' and 'fullscreen' states cannot be combined
2215 -with 'left', 'top', 'width' or 'height'. Leaves unspecified fields unchanged.
2216 - */
2217 - bounds: Bounds;
2218 - }
2219 - export type setWindowBoundsReturnValue = {
2220 - }
2221 - /**
2222 - * Set size of the browser contents resizing browser window as necessary.
2223 - */
2224 - export type setContentsSizeParameters = {
2225 - /**
2226 - * Browser window id.
2227 - */
2228 - windowId: WindowID;
2229 - /**
2230 - * The window contents width in DIP. Assumes current width if omitted.
2231 -Must be specified if 'height' is omitted.
2232 - */
2233 - width?: number;
2234 - /**
2235 - * The window contents height in DIP. Assumes current height if omitted.
2236 -Must be specified if 'width' is omitted.
2237 - */
2238 - height?: number;
2239 - }
2240 - export type setContentsSizeReturnValue = {
2241 - }
2242 - /**
2243 - * Set dock tile details, platform-specific.
2244 - */
2245 - export type setDockTileParameters = {
2246 - badgeLabel?: string;
2247 - /**
2248 - * Png encoded image.
2249 - */
2250 - image?: binary;
2251 - }
2252 - export type setDockTileReturnValue = {
2253 - }
2254 - /**
2255 - * Invoke custom browser commands used by telemetry.
2256 - */
2257 - export type executeBrowserCommandParameters = {
2258 - commandId: BrowserCommandId;
2259 - }
2260 - export type executeBrowserCommandReturnValue = {
2261 - }
2262 - /**
2263 - * Allows a site to use privacy sandbox features that require enrollment
2264 -without the site actually being enrolled. Only supported on page targets.
2265 - */
2266 - export type addPrivacySandboxEnrollmentOverrideParameters = {
2267 - url: string;
2268 - }
2269 - export type addPrivacySandboxEnrollmentOverrideReturnValue = {
2270 - }
2271 - /**
2272 - * Configures encryption keys used with a given privacy sandbox API to talk
2273 -to a trusted coordinator. Since this is intended for test automation only,
2274 -coordinatorOrigin must be a .test domain. No existing coordinator
2275 -configuration for the origin may exist.
2276 - */
2277 - export type addPrivacySandboxCoordinatorKeyConfigParameters = {
2278 - api: PrivacySandboxAPI;
2279 - coordinatorOrigin: string;
2280 - keyConfig: string;
2281 - /**
2282 - * BrowserContext to perform the action in. When omitted, default browser
2283 -context is used.
2284 - */
2285 - browserContextId?: BrowserContextID;
2286 - }
2287 - export type addPrivacySandboxCoordinatorKeyConfigReturnValue = {
2288 - }
2289 - }
2290 -
2291 - /**
2292 - * This domain exposes CSS read/write operations. All CSS objects (stylesheets, rules, and styles)
2293 -have an associated `id` used in subsequent operations on the related object. Each object type has
2294 -a specific `id` structure, and those are not interchangeable between objects of different kinds.
2295 -CSS objects can be loaded using the `get*ForNode()` calls (which accept a DOM node id). A client
2296 -can also keep track of stylesheets via the `styleSheetAdded`/`styleSheetRemoved` events and
2297 -subsequently load the required stylesheet contents using the `getStyleSheet[Text]()` methods.
2298 - */
2299 - export namespace CSS {
2300 - /**
2301 - * Stylesheet type: "injected" for stylesheets injected via extension, "user-agent" for user-agent
2302 -stylesheets, "inspector" for stylesheets created by the inspector (i.e. those holding the "via
2303 -inspector" rules), "regular" for regular stylesheets.
2304 - */
2305 - export type StyleSheetOrigin = "injected"|"user-agent"|"inspector"|"regular";
2306 - /**
2307 - * CSS rule collection for a single pseudo style.
2308 - */
2309 - export interface PseudoElementMatches {
2310 - /**
2311 - * Pseudo element type.
2312 - */
2313 - pseudoType: DOM.PseudoType;
2314 - /**
2315 - * Pseudo element custom ident.
2316 - */
2317 - pseudoIdentifier?: string;
2318 - /**
2319 - * Matches of CSS rules applicable to the pseudo style.
2320 - */
2321 - matches: RuleMatch[];
2322 - }
2323 - /**
2324 - * CSS style coming from animations with the name of the animation.
2325 - */
2326 - export interface CSSAnimationStyle {
2327 - /**
2328 - * The name of the animation.
2329 - */
2330 - name?: string;
2331 - /**
2332 - * The style coming from the animation.
2333 - */
2334 - style: CSSStyle;
2335 - }
2336 - /**
2337 - * Inherited CSS rule collection from ancestor node.
2338 - */
2339 - export interface InheritedStyleEntry {
2340 - /**
2341 - * The ancestor node's inline style, if any, in the style inheritance chain.
2342 - */
2343 - inlineStyle?: CSSStyle;
2344 - /**
2345 - * Matches of CSS rules matching the ancestor node in the style inheritance chain.
2346 - */
2347 - matchedCSSRules: RuleMatch[];
2348 - }
2349 - /**
2350 - * Inherited CSS style collection for animated styles from ancestor node.
2351 - */
2352 - export interface InheritedAnimatedStyleEntry {
2353 - /**
2354 - * Styles coming from the animations of the ancestor, if any, in the style inheritance chain.
2355 - */
2356 - animationStyles?: CSSAnimationStyle[];
2357 - /**
2358 - * The style coming from the transitions of the ancestor, if any, in the style inheritance chain.
2359 - */
2360 - transitionsStyle?: CSSStyle;
2361 - }
2362 - /**
2363 - * Inherited pseudo element matches from pseudos of an ancestor node.
2364 - */
2365 - export interface InheritedPseudoElementMatches {
2366 - /**
2367 - * Matches of pseudo styles from the pseudos of an ancestor node.
2368 - */
2369 - pseudoElements: PseudoElementMatches[];
2370 - }
2371 - /**
2372 - * Match data for a CSS rule.
2373 - */
2374 - export interface RuleMatch {
2375 - /**
2376 - * CSS rule in the match.
2377 - */
2378 - rule: CSSRule;
2379 - /**
2380 - * Matching selector indices in the rule's selectorList selectors (0-based).
2381 - */
2382 - matchingSelectors: number[];
2383 - }
2384 - /**
2385 - * Data for a simple selector (these are delimited by commas in a selector list).
2386 - */
2387 - export interface Value {
2388 - /**
2389 - * Value text.
2390 - */
2391 - text: string;
2392 - /**
2393 - * Value range in the underlying resource (if available).
2394 - */
2395 - range?: SourceRange;
2396 - /**
2397 - * Specificity of the selector.
2398 - */
2399 - specificity?: Specificity;
2400 - }
2401 - /**
2402 - * Specificity:
2403 -https://drafts.csswg.org/selectors/#specificity-rules
2404 - */
2405 - export interface Specificity {
2406 - /**
2407 - * The a component, which represents the number of ID selectors.
2408 - */
2409 - a: number;
2410 - /**
2411 - * The b component, which represents the number of class selectors, attributes selectors, and
2412 -pseudo-classes.
2413 - */
2414 - b: number;
2415 - /**
2416 - * The c component, which represents the number of type selectors and pseudo-elements.
2417 - */
2418 - c: number;
2419 - }
2420 - /**
2421 - * Selector list data.
2422 - */
2423 - export interface SelectorList {
2424 - /**
2425 - * Selectors in the list.
2426 - */
2427 - selectors: Value[];
2428 - /**
2429 - * Rule selector text.
2430 - */
2431 - text: string;
2432 - }
2433 - /**
2434 - * CSS stylesheet metainformation.
2435 - */
2436 - export interface CSSStyleSheetHeader {
2437 - /**
2438 - * The stylesheet identifier.
2439 - */
2440 - styleSheetId: DOM.StyleSheetId;
2441 - /**
2442 - * Owner frame identifier.
2443 - */
2444 - frameId: Page.FrameId;
2445 - /**
2446 - * Stylesheet resource URL. Empty if this is a constructed stylesheet created using
2447 -new CSSStyleSheet() (but non-empty if this is a constructed stylesheet imported
2448 -as a CSS module script).
2449 - */
2450 - sourceURL: string;
2451 - /**
2452 - * URL of source map associated with the stylesheet (if any).
2453 - */
2454 - sourceMapURL?: string;
2455 - /**
2456 - * Stylesheet origin.
2457 - */
2458 - origin: StyleSheetOrigin;
2459 - /**
2460 - * Stylesheet title.
2461 - */
2462 - title: string;
2463 - /**
2464 - * The backend id for the owner node of the stylesheet.
2465 - */
2466 - ownerNode?: DOM.BackendNodeId;
2467 - /**
2468 - * Denotes whether the stylesheet is disabled.
2469 - */
2470 - disabled: boolean;
2471 - /**
2472 - * Whether the sourceURL field value comes from the sourceURL comment.
2473 - */
2474 - hasSourceURL?: boolean;
2475 - /**
2476 - * Whether this stylesheet is created for STYLE tag by parser. This flag is not set for
2477 -document.written STYLE tags.
2478 - */
2479 - isInline: boolean;
2480 - /**
2481 - * Whether this stylesheet is mutable. Inline stylesheets become mutable
2482 -after they have been modified via CSSOM API.
2483 -`<link>` element's stylesheets become mutable only if DevTools modifies them.
2484 -Constructed stylesheets (new CSSStyleSheet()) are mutable immediately after creation.
2485 - */
2486 - isMutable: boolean;
2487 - /**
2488 - * True if this stylesheet is created through new CSSStyleSheet() or imported as a
2489 -CSS module script.
2490 - */
2491 - isConstructed: boolean;
2492 - /**
2493 - * Line offset of the stylesheet within the resource (zero based).
2494 - */
2495 - startLine: number;
2496 - /**
2497 - * Column offset of the stylesheet within the resource (zero based).
2498 - */
2499 - startColumn: number;
2500 - /**
2501 - * Size of the content (in characters).
2502 - */
2503 - length: number;
2504 - /**
2505 - * Line offset of the end of the stylesheet within the resource (zero based).
2506 - */
2507 - endLine: number;
2508 - /**
2509 - * Column offset of the end of the stylesheet within the resource (zero based).
2510 - */
2511 - endColumn: number;
2512 - /**
2513 - * If the style sheet was loaded from a network resource, this indicates when the resource failed to load
2514 - */
2515 - loadingFailed?: boolean;
2516 - }
2517 - /**
2518 - * CSS rule representation.
2519 - */
2520 - export interface CSSRule {
2521 - /**
2522 - * The css style sheet identifier (absent for user agent stylesheet and user-specified
2523 -stylesheet rules) this rule came from.
2524 - */
2525 - styleSheetId?: DOM.StyleSheetId;
2526 - /**
2527 - * Rule selector data.
2528 - */
2529 - selectorList: SelectorList;
2530 - /**
2531 - * Array of selectors from ancestor style rules, sorted by distance from the current rule.
2532 - */
2533 - nestingSelectors?: string[];
2534 - /**
2535 - * Parent stylesheet's origin.
2536 - */
2537 - origin: StyleSheetOrigin;
2538 - /**
2539 - * Associated style declaration.
2540 - */
2541 - style: CSSStyle;
2542 - /**
2543 - * The BackendNodeId of the DOM node that constitutes the origin tree scope of this rule.
2544 - */
2545 - originTreeScopeNodeId?: DOM.BackendNodeId;
2546 - /**
2547 - * Media list array (for rules involving media queries). The array enumerates media queries
2548 -starting with the innermost one, going outwards.
2549 - */
2550 - media?: CSSMedia[];
2551 - /**
2552 - * Container query list array (for rules involving container queries).
2553 -The array enumerates container queries starting with the innermost one, going outwards.
2554 - */
2555 - containerQueries?: CSSContainerQuery[];
2556 - /**
2557 - * @supports CSS at-rule array.
2558 -The array enumerates @supports at-rules starting with the innermost one, going outwards.
2559 - */
2560 - supports?: CSSSupports[];
2561 - /**
2562 - * Cascade layer array. Contains the layer hierarchy that this rule belongs to starting
2563 -with the innermost layer and going outwards.
2564 - */
2565 - layers?: CSSLayer[];
2566 - /**
2567 - * @scope CSS at-rule array.
2568 -The array enumerates @scope at-rules starting with the innermost one, going outwards.
2569 - */
2570 - scopes?: CSSScope[];
2571 - /**
2572 - * The array keeps the types of ancestor CSSRules from the innermost going outwards.
2573 - */
2574 - ruleTypes?: CSSRuleType[];
2575 - /**
2576 - * @starting-style CSS at-rule array.
2577 -The array enumerates @starting-style at-rules starting with the innermost one, going outwards.
2578 - */
2579 - startingStyles?: CSSStartingStyle[];
2580 - /**
2581 - * @navigation CSS at-rule array.
2582 -The array enumerates @navigation at-rules starting with the innermost one, going outwards.
2583 - */
2584 - navigations?: CSSNavigation[];
2585 - }
2586 - /**
2587 - * Enum indicating the type of a CSS rule, used to represent the order of a style rule's ancestors.
2588 -This list only contains rule types that are collected during the ancestor rule collection.
2589 - */
2590 - export type CSSRuleType = "MediaRule"|"SupportsRule"|"ContainerRule"|"LayerRule"|"ScopeRule"|"StyleRule"|"StartingStyleRule"|"NavigationRule";
2591 - /**
2592 - * CSS coverage information.
2593 - */
2594 - export interface RuleUsage {
2595 - /**
2596 - * The css style sheet identifier (absent for user agent stylesheet and user-specified
2597 -stylesheet rules) this rule came from.
2598 - */
2599 - styleSheetId: DOM.StyleSheetId;
2600 - /**
2601 - * Offset of the start of the rule (including selector) from the beginning of the stylesheet.
2602 - */
2603 - startOffset: number;
2604 - /**
2605 - * Offset of the end of the rule body from the beginning of the stylesheet.
2606 - */
2607 - endOffset: number;
2608 - /**
2609 - * Indicates whether the rule was actually used by some element in the page.
2610 - */
2611 - used: boolean;
2612 - }
2613 - /**
2614 - * Text range within a resource. All numbers are zero-based.
2615 - */
2616 - export interface SourceRange {
2617 - /**
2618 - * Start line of range.
2619 - */
2620 - startLine: number;
2621 - /**
2622 - * Start column of range (inclusive).
2623 - */
2624 - startColumn: number;
2625 - /**
2626 - * End line of range
2627 - */
2628 - endLine: number;
2629 - /**
2630 - * End column of range (exclusive).
2631 - */
2632 - endColumn: number;
2633 - }
2634 - export interface ShorthandEntry {
2635 - /**
2636 - * Shorthand name.
2637 - */
2638 - name: string;
2639 - /**
2640 - * Shorthand value.
2641 - */
2642 - value: string;
2643 - /**
2644 - * Whether the property has "!important" annotation (implies `false` if absent).
2645 - */
2646 - important?: boolean;
2647 - }
2648 - export interface CSSComputedStyleProperty {
2649 - /**
2650 - * Computed style property name.
2651 - */
2652 - name: string;
2653 - /**
2654 - * Computed style property value.
2655 - */
2656 - value: string;
2657 - }
2658 - export interface ComputedStyleExtraFields {
2659 - /**
2660 - * Returns whether or not this node is being rendered with base appearance,
2661 -which happens when it has its appearance property set to base/base-select
2662 -or it is in the subtree of an element being rendered with base appearance.
2663 - */
2664 - isAppearanceBase: boolean;
2665 - }
2666 - /**
2667 - * CSS style representation.
2668 - */
2669 - export interface CSSStyle {
2670 - /**
2671 - * The css style sheet identifier (absent for user agent stylesheet and user-specified
2672 -stylesheet rules) this rule came from.
2673 - */
2674 - styleSheetId?: DOM.StyleSheetId;
2675 - /**
2676 - * CSS properties in the style.
2677 - */
2678 - cssProperties: CSSProperty[];
2679 - /**
2680 - * Computed values for all shorthands found in the style.
2681 - */
2682 - shorthandEntries: ShorthandEntry[];
2683 - /**
2684 - * Style declaration text (if available).
2685 - */
2686 - cssText?: string;
2687 - /**
2688 - * Style declaration range in the enclosing stylesheet (if available).
2689 - */
2690 - range?: SourceRange;
2691 - }
2692 - /**
2693 - * CSS property declaration data.
2694 - */
2695 - export interface CSSProperty {
2696 - /**
2697 - * The property name.
2698 - */
2699 - name: string;
2700 - /**
2701 - * The property value.
2702 - */
2703 - value: string;
2704 - /**
2705 - * Whether the property has "!important" annotation (implies `false` if absent).
2706 - */
2707 - important?: boolean;
2708 - /**
2709 - * Whether the property is implicit (implies `false` if absent).
2710 - */
2711 - implicit?: boolean;
2712 - /**
2713 - * The full property text as specified in the style.
2714 - */
2715 - text?: string;
2716 - /**
2717 - * Whether the property is understood by the browser (implies `true` if absent).
2718 - */
2719 - parsedOk?: boolean;
2720 - /**
2721 - * Whether the property is disabled by the user (present for source-based properties only).
2722 - */
2723 - disabled?: boolean;
2724 - /**
2725 - * The entire property range in the enclosing style declaration (if available).
2726 - */
2727 - range?: SourceRange;
2728 - /**
2729 - * Parsed longhand components of this property if it is a shorthand.
2730 -This field will be empty if the given property is not a shorthand.
2731 - */
2732 - longhandProperties?: CSSProperty[];
2733 - }
2734 - /**
2735 - * CSS media rule descriptor.
2736 - */
2737 - export interface CSSMedia {
2738 - /**
2739 - * Media query text.
2740 - */
2741 - text: string;
2742 - /**
2743 - * Source of the media query: "mediaRule" if specified by a @media rule, "importRule" if
2744 -specified by an @import rule, "linkedSheet" if specified by a "media" attribute in a linked
2745 -stylesheet's LINK tag, "inlineSheet" if specified by a "media" attribute in an inline
2746 -stylesheet's STYLE tag.
2747 - */
2748 - source: "mediaRule"|"importRule"|"linkedSheet"|"inlineSheet";
2749 - /**
2750 - * URL of the document containing the media query description.
2751 - */
2752 - sourceURL?: string;
2753 - /**
2754 - * The associated rule (@media or @import) header range in the enclosing stylesheet (if
2755 -available).
2756 - */
2757 - range?: SourceRange;
2758 - /**
2759 - * Identifier of the stylesheet containing this object (if exists).
2760 - */
2761 - styleSheetId?: DOM.StyleSheetId;
2762 - /**
2763 - * Array of media queries.
2764 - */
2765 - mediaList?: MediaQuery[];
2766 - }
2767 - /**
2768 - * Media query descriptor.
2769 - */
2770 - export interface MediaQuery {
2771 - /**
2772 - * Array of media query expressions.
2773 - */
2774 - expressions: MediaQueryExpression[];
2775 - /**
2776 - * Whether the media query condition is satisfied.
2777 - */
2778 - active: boolean;
2779 - }
2780 - /**
2781 - * Media query expression descriptor.
2782 - */
2783 - export interface MediaQueryExpression {
2784 - /**
2785 - * Media query expression value.
2786 - */
2787 - value: number;
2788 - /**
2789 - * Media query expression units.
2790 - */
2791 - unit: string;
2792 - /**
2793 - * Media query expression feature.
2794 - */
2795 - feature: string;
2796 - /**
2797 - * The associated range of the value text in the enclosing stylesheet (if available).
2798 - */
2799 - valueRange?: SourceRange;
2800 - /**
2801 - * Computed length of media query expression (if applicable).
2802 - */
2803 - computedLength?: number;
2804 - }
2805 - /**
2806 - * CSS container query rule descriptor.
2807 - */
2808 - export interface CSSContainerQuery {
2809 - /**
2810 - * Container query text.
2811 - */
2812 - text: string;
2813 - /**
2814 - * The associated rule header range in the enclosing stylesheet (if
2815 -available).
2816 - */
2817 - range?: SourceRange;
2818 - /**
2819 - * Identifier of the stylesheet containing this object (if exists).
2820 - */
2821 - styleSheetId?: DOM.StyleSheetId;
2822 - /**
2823 - * Optional name for the container.
2824 - */
2825 - name?: string;
2826 - /**
2827 - * Optional physical axes queried for the container.
2828 - */
2829 - physicalAxes?: DOM.PhysicalAxes;
2830 - /**
2831 - * Optional logical axes queried for the container.
2832 - */
2833 - logicalAxes?: DOM.LogicalAxes;
2834 - /**
2835 - * true if the query contains scroll-state() queries.
2836 - */
2837 - queriesScrollState?: boolean;
2838 - /**
2839 - * true if the query contains anchored() queries.
2840 - */
2841 - queriesAnchored?: boolean;
2842 - }
2843 - /**
2844 - * CSS Supports at-rule descriptor.
2845 - */
2846 - export interface CSSSupports {
2847 - /**
2848 - * Supports rule text.
2849 - */
2850 - text: string;
2851 - /**
2852 - * Whether the supports condition is satisfied.
2853 - */
2854 - active: boolean;
2855 - /**
2856 - * The associated rule header range in the enclosing stylesheet (if
2857 -available).
2858 - */
2859 - range?: SourceRange;
2860 - /**
2861 - * Identifier of the stylesheet containing this object (if exists).
2862 - */
2863 - styleSheetId?: DOM.StyleSheetId;
2864 - }
2865 - /**
2866 - * CSS Navigation at-rule descriptor.
2867 - */
2868 - export interface CSSNavigation {
2869 - /**
2870 - * Navigation rule text.
2871 - */
2872 - text: string;
2873 - /**
2874 - * Whether the navigation condition is satisfied.
2875 - */
2876 - active?: boolean;
2877 - /**
2878 - * The associated rule header range in the enclosing stylesheet (if
2879 -available).
2880 - */
2881 - range?: SourceRange;
2882 - /**
2883 - * Identifier of the stylesheet containing this object (if exists).
2884 - */
2885 - styleSheetId?: DOM.StyleSheetId;
2886 - }
2887 - /**
2888 - * CSS Scope at-rule descriptor.
2889 - */
2890 - export interface CSSScope {
2891 - /**
2892 - * Scope rule text.
2893 - */
2894 - text: string;
2895 - /**
2896 - * The associated rule header range in the enclosing stylesheet (if
2897 -available).
2898 - */
2899 - range?: SourceRange;
2900 - /**
2901 - * Identifier of the stylesheet containing this object (if exists).
2902 - */
2903 - styleSheetId?: DOM.StyleSheetId;
2904 - }
2905 - /**
2906 - * CSS Layer at-rule descriptor.
2907 - */
2908 - export interface CSSLayer {
2909 - /**
2910 - * Layer name.
2911 - */
2912 - text: string;
2913 - /**
2914 - * The associated rule header range in the enclosing stylesheet (if
2915 -available).
2916 - */
2917 - range?: SourceRange;
2918 - /**
2919 - * Identifier of the stylesheet containing this object (if exists).
2920 - */
2921 - styleSheetId?: DOM.StyleSheetId;
2922 - }
2923 - /**
2924 - * CSS Starting Style at-rule descriptor.
2925 - */
2926 - export interface CSSStartingStyle {
2927 - /**
2928 - * The associated rule header range in the enclosing stylesheet (if
2929 -available).
2930 - */
2931 - range?: SourceRange;
2932 - /**
2933 - * Identifier of the stylesheet containing this object (if exists).
2934 - */
2935 - styleSheetId?: DOM.StyleSheetId;
2936 - }
2937 - /**
2938 - * CSS Layer data.
2939 - */
2940 - export interface CSSLayerData {
2941 - /**
2942 - * Layer name.
2943 - */
2944 - name: string;
2945 - /**
2946 - * Direct sub-layers
2947 - */
2948 - subLayers?: CSSLayerData[];
2949 - /**
2950 - * Layer order. The order determines the order of the layer in the cascade order.
2951 -A higher number has higher priority in the cascade order.
2952 - */
2953 - order: number;
2954 - }
2955 - /**
2956 - * Information about amount of glyphs that were rendered with given font.
2957 - */
2958 - export interface PlatformFontUsage {
2959 - /**
2960 - * Font's family name reported by platform.
2961 - */
2962 - familyName: string;
2963 - /**
2964 - * Font's PostScript name reported by platform.
2965 - */
2966 - postScriptName: string;
2967 - /**
2968 - * Indicates if the font was downloaded or resolved locally.
2969 - */
2970 - isCustomFont: boolean;
2971 - /**
2972 - * Amount of glyphs that were rendered with this font.
2973 - */
2974 - glyphCount: number;
2975 - }
2976 - /**
2977 - * Information about font variation axes for variable fonts
2978 - */
2979 - export interface FontVariationAxis {
2980 - /**
2981 - * The font-variation-setting tag (a.k.a. "axis tag").
2982 - */
2983 - tag: string;
2984 - /**
2985 - * Human-readable variation name in the default language (normally, "en").
2986 - */
2987 - name: string;
2988 - /**
2989 - * The minimum value (inclusive) the font supports for this tag.
2990 - */
2991 - minValue: number;
2992 - /**
2993 - * The maximum value (inclusive) the font supports for this tag.
2994 - */
2995 - maxValue: number;
2996 - /**
2997 - * The default value.
2998 - */
2999 - defaultValue: number;
3000 - }
3001 - /**
3002 - * Properties of a web font: https://www.w3.org/TR/2008/REC-CSS2-20080411/fonts.html#font-descriptions
3003 -and additional information such as platformFontFamily and fontVariationAxes.
3004 - */
3005 - export interface FontFace {
3006 - /**
3007 - * The font-family.
3008 - */
3009 - fontFamily: string;
3010 - /**
3011 - * The font-style.
3012 - */
3013 - fontStyle: string;
3014 - /**
3015 - * The font-variant.
3016 - */
3017 - fontVariant: string;
3018 - /**
3019 - * The font-weight.
3020 - */
3021 - fontWeight: string;
3022 - /**
3023 - * The font-stretch.
3024 - */
3025 - fontStretch: string;
3026 - /**
3027 - * The font-display.
3028 - */
3029 - fontDisplay: string;
3030 - /**
3031 - * The unicode-range.
3032 - */
3033 - unicodeRange: string;
3034 - /**
3035 - * The src.
3036 - */
3037 - src: string;
3038 - /**
3039 - * The resolved platform font family
3040 - */
3041 - platformFontFamily: string;
3042 - /**
3043 - * Available variation settings (a.k.a. "axes").
3044 - */
3045 - fontVariationAxes?: FontVariationAxis[];
3046 - }
3047 - /**
3048 - * CSS try rule representation.
3049 - */
3050 - export interface CSSTryRule {
3051 - /**
3052 - * The css style sheet identifier (absent for user agent stylesheet and user-specified
3053 -stylesheet rules) this rule came from.
3054 - */
3055 - styleSheetId?: DOM.StyleSheetId;
3056 - /**
3057 - * Parent stylesheet's origin.
3058 - */
3059 - origin: StyleSheetOrigin;
3060 - /**
3061 - * Associated style declaration.
3062 - */
3063 - style: CSSStyle;
3064 - }
3065 - /**
3066 - * CSS @position-try rule representation.
3067 - */
3068 - export interface CSSPositionTryRule {
3069 - /**
3070 - * The prelude dashed-ident name
3071 - */
3072 - name: Value;
3073 - /**
3074 - * The css style sheet identifier (absent for user agent stylesheet and user-specified
3075 -stylesheet rules) this rule came from.
3076 - */
3077 - styleSheetId?: DOM.StyleSheetId;
3078 - /**
3079 - * Parent stylesheet's origin.
3080 - */
3081 - origin: StyleSheetOrigin;
3082 - /**
3083 - * Associated style declaration.
3084 - */
3085 - style: CSSStyle;
3086 - active: boolean;
3087 - }
3088 - /**
3089 - * CSS keyframes rule representation.
3090 - */
3091 - export interface CSSKeyframesRule {
3092 - /**
3093 - * Animation name.
3094 - */
3095 - animationName: Value;
3096 - /**
3097 - * List of keyframes.
3098 - */
3099 - keyframes: CSSKeyframeRule[];
3100 - }
3101 - /**
3102 - * Representation of a custom property registration through CSS.registerProperty
3103 - */
3104 - export interface CSSPropertyRegistration {
3105 - propertyName: string;
3106 - initialValue?: Value;
3107 - inherits: boolean;
3108 - syntax: string;
3109 - }
3110 - /**
3111 - * CSS generic @rule representation.
3112 - */
3113 - export interface CSSAtRule {
3114 - /**
3115 - * Type of at-rule.
3116 - */
3117 - type: "font-face"|"font-feature-values"|"font-palette-values";
3118 - /**
3119 - * Subsection of font-feature-values, if this is a subsection.
3120 - */
3121 - subsection?: "swash"|"annotation"|"ornaments"|"stylistic"|"styleset"|"character-variant";
3122 - /**
3123 - * LINT.ThenChange(//third_party/blink/renderer/core/inspector/inspector_style_sheet.cc:FontVariantAlternatesFeatureType,//third_party/blink/renderer/core/inspector/inspector_css_agent.cc:FontVariantAlternatesFeatureType)
3124 -Associated name, if applicable.
3125 - */
3126 - name?: Value;
3127 - /**
3128 - * The css style sheet identifier (absent for user agent stylesheet and user-specified
3129 -stylesheet rules) this rule came from.
3130 - */
3131 - styleSheetId?: DOM.StyleSheetId;
3132 - /**
3133 - * Parent stylesheet's origin.
3134 - */
3135 - origin: StyleSheetOrigin;
3136 - /**
3137 - * Associated style declaration.
3138 - */
3139 - style: CSSStyle;
3140 - }
3141 - /**
3142 - * CSS property at-rule representation.
3143 - */
3144 - export interface CSSPropertyRule {
3145 - /**
3146 - * The css style sheet identifier (absent for user agent stylesheet and user-specified
3147 -stylesheet rules) this rule came from.
3148 - */
3149 - styleSheetId?: DOM.StyleSheetId;
3150 - /**
3151 - * Parent stylesheet's origin.
3152 - */
3153 - origin: StyleSheetOrigin;
3154 - /**
3155 - * Associated property name.
3156 - */
3157 - propertyName: Value;
3158 - /**
3159 - * Associated style declaration.
3160 - */
3161 - style: CSSStyle;
3162 - }
3163 - /**
3164 - * CSS function argument representation.
3165 - */
3166 - export interface CSSFunctionParameter {
3167 - /**
3168 - * The parameter name.
3169 - */
3170 - name: string;
3171 - /**
3172 - * The parameter type.
3173 - */
3174 - type: string;
3175 - }
3176 - /**
3177 - * CSS function conditional block representation.
3178 - */
3179 - export interface CSSFunctionConditionNode {
3180 - /**
3181 - * Media query for this conditional block. Only one type of condition should be set.
3182 - */
3183 - media?: CSSMedia;
3184 - /**
3185 - * Container query for this conditional block. Only one type of condition should be set.
3186 - */
3187 - containerQueries?: CSSContainerQuery;
3188 - /**
3189 - * @supports CSS at-rule condition. Only one type of condition should be set.
3190 - */
3191 - supports?: CSSSupports;
3192 - /**
3193 - * @navigation condition. Only one type of condition should be set.
3194 - */
3195 - navigation?: CSSNavigation;
3196 - /**
3197 - * Block body.
3198 - */
3199 - children: CSSFunctionNode[];
3200 - /**
3201 - * The condition text.
3202 - */
3203 - conditionText: string;
3204 - }
3205 - /**
3206 - * Section of the body of a CSS function rule.
3207 - */
3208 - export interface CSSFunctionNode {
3209 - /**
3210 - * A conditional block. If set, style should not be set.
3211 - */
3212 - condition?: CSSFunctionConditionNode;
3213 - /**
3214 - * Values set by this node. If set, condition should not be set.
3215 - */
3216 - style?: CSSStyle;
3217 - }
3218 - /**
3219 - * CSS function at-rule representation.
3220 - */
3221 - export interface CSSFunctionRule {
3222 - /**
3223 - * Name of the function.
3224 - */
3225 - name: Value;
3226 - /**
3227 - * The css style sheet identifier (absent for user agent stylesheet and user-specified
3228 -stylesheet rules) this rule came from.
3229 - */
3230 - styleSheetId?: DOM.StyleSheetId;
3231 - /**
3232 - * Parent stylesheet's origin.
3233 - */
3234 - origin: StyleSheetOrigin;
3235 - /**
3236 - * List of parameters.
3237 - */
3238 - parameters: CSSFunctionParameter[];
3239 - /**
3240 - * Function body.
3241 - */
3242 - children: CSSFunctionNode[];
3243 - /**
3244 - * The BackendNodeId of the DOM node that constitutes the origin tree scope of this rule.
3245 - */
3246 - originTreeScopeNodeId?: DOM.BackendNodeId;
3247 - }
3248 - /**
3249 - * CSS keyframe rule representation.
3250 - */
3251 - export interface CSSKeyframeRule {
3252 - /**
3253 - * The css style sheet identifier (absent for user agent stylesheet and user-specified
3254 -stylesheet rules) this rule came from.
3255 - */
3256 - styleSheetId?: DOM.StyleSheetId;
3257 - /**
3258 - * Parent stylesheet's origin.
3259 - */
3260 - origin: StyleSheetOrigin;
3261 - /**
3262 - * Associated key text.
3263 - */
3264 - keyText: Value;
3265 - /**
3266 - * Associated style declaration.
3267 - */
3268 - style: CSSStyle;
3269 - }
3270 - /**
3271 - * A descriptor of operation to mutate style declaration text.
3272 - */
3273 - export interface StyleDeclarationEdit {
3274 - /**
3275 - * The css style sheet identifier.
3276 - */
3277 - styleSheetId: DOM.StyleSheetId;
3278 - /**
3279 - * The range of the style text in the enclosing stylesheet.
3280 - */
3281 - range: SourceRange;
3282 - /**
3283 - * New style text.
3284 - */
3285 - text: string;
3286 - }
3287 -
3288 - /**
3289 - * Fires whenever a web font is updated. A non-empty font parameter indicates a successfully loaded
3290 -web font.
3291 - */
3292 - export type fontsUpdatedPayload = {
3293 - /**
3294 - * The web font that has loaded.
3295 - */
3296 - font?: FontFace;
3297 - }
3298 - /**
3299 - * Fires whenever a MediaQuery result changes (for example, after a browser window has been
3300 -resized.) The current implementation considers only viewport-dependent media features.
3301 - */
3302 - export type mediaQueryResultChangedPayload = void;
3303 - /**
3304 - * Fired whenever an active document stylesheet is added.
3305 - */
3306 - export type styleSheetAddedPayload = {
3307 - /**
3308 - * Added stylesheet metainfo.
3309 - */
3310 - header: CSSStyleSheetHeader;
3311 - }
3312 - /**
3313 - * Fired whenever a stylesheet is changed as a result of the client operation.
3314 - */
3315 - export type styleSheetChangedPayload = {
3316 - styleSheetId: DOM.StyleSheetId;
3317 - }
3318 - /**
3319 - * Fired whenever an active document stylesheet is removed.
3320 - */
3321 - export type styleSheetRemovedPayload = {
3322 - /**
3323 - * Identifier of the removed stylesheet.
3324 - */
3325 - styleSheetId: DOM.StyleSheetId;
3326 - }
3327 - export type computedStyleUpdatedPayload = {
3328 - /**
3329 - * The node id that has updated computed styles.
3330 - */
3331 - nodeId: DOM.NodeId;
3332 - }
3333 -
3334 - /**
3335 - * Inserts a new rule with the given `ruleText` in a stylesheet with given `styleSheetId`, at the
3336 -position specified by `location`.
3337 - */
3338 - export type addRuleParameters = {
3339 - /**
3340 - * The css style sheet identifier where a new rule should be inserted.
3341 - */
3342 - styleSheetId: DOM.StyleSheetId;
3343 - /**
3344 - * The text of a new rule.
3345 - */
3346 - ruleText: string;
3347 - /**
3348 - * Text position of a new rule in the target style sheet.
3349 - */
3350 - location: SourceRange;
3351 - /**
3352 - * NodeId for the DOM node in whose context custom property declarations for registered properties should be
3353 -validated. If omitted, declarations in the new rule text can only be validated statically, which may produce
3354 -incorrect results if the declaration contains a var() for example.
3355 - */
3356 - nodeForPropertySyntaxValidation?: DOM.NodeId;
3357 - }
3358 - export type addRuleReturnValue = {
3359 - /**
3360 - * The newly created rule.
3361 - */
3362 - rule: CSSRule;
3363 - }
3364 - /**
3365 - * Returns all class names from specified stylesheet.
3366 - */
3367 - export type collectClassNamesParameters = {
3368 - styleSheetId: DOM.StyleSheetId;
3369 - }
3370 - export type collectClassNamesReturnValue = {
3371 - /**
3372 - * Class name list.
3373 - */
3374 - classNames: string[];
3375 - }
3376 - /**
3377 - * Creates a new special "via-inspector" stylesheet in the frame with given `frameId`.
3378 - */
3379 - export type createStyleSheetParameters = {
3380 - /**
3381 - * Identifier of the frame where "via-inspector" stylesheet should be created.
3382 - */
3383 - frameId: Page.FrameId;
3384 - /**
3385 - * If true, creates a new stylesheet for every call. If false,
3386 -returns a stylesheet previously created by a call with force=false
3387 -for the frame's document if it exists or creates a new stylesheet
3388 -(default: false).
3389 - */
3390 - force?: boolean;
3391 - }
3392 - export type createStyleSheetReturnValue = {
3393 - /**
3394 - * Identifier of the created "via-inspector" stylesheet.
3395 - */
3396 - styleSheetId: DOM.StyleSheetId;
3397 - }
3398 - /**
3399 - * Disables the CSS agent for the given page.
3400 - */
3401 - export type disableParameters = {
3402 - }
3403 - export type disableReturnValue = {
3404 - }
3405 - /**
3406 - * Enables the CSS agent for the given page. Clients should not assume that the CSS agent has been
3407 -enabled until the result of this command is received.
3408 - */
3409 - export type enableParameters = {
3410 - }
3411 - export type enableReturnValue = {
3412 - }
3413 - /**
3414 - * Ensures that the given node will have specified pseudo-classes whenever its style is computed by
3415 -the browser.
3416 - */
3417 - export type forcePseudoStateParameters = {
3418 - /**
3419 - * The element id for which to force the pseudo state.
3420 - */
3421 - nodeId: DOM.NodeId;
3422 - /**
3423 - * Element pseudo classes to force when computing the element's style.
3424 - */
3425 - forcedPseudoClasses: string[];
3426 - }
3427 - export type forcePseudoStateReturnValue = {
3428 - }
3429 - /**
3430 - * Ensures that the given node is in its starting-style state.
3431 - */
3432 - export type forceStartingStyleParameters = {
3433 - /**
3434 - * The element id for which to force the starting-style state.
3435 - */
3436 - nodeId: DOM.NodeId;
3437 - /**
3438 - * Boolean indicating if this is on or off.
3439 - */
3440 - forced: boolean;
3441 - }
3442 - export type forceStartingStyleReturnValue = {
3443 - }
3444 - export type getBackgroundColorsParameters = {
3445 - /**
3446 - * Id of the node to get background colors for.
3447 - */
3448 - nodeId: DOM.NodeId;
3449 - }
3450 - export type getBackgroundColorsReturnValue = {
3451 - /**
3452 - * The range of background colors behind this element, if it contains any visible text. If no
3453 -visible text is present, this will be undefined. In the case of a flat background color,
3454 -this will consist of simply that color. In the case of a gradient, this will consist of each
3455 -of the color stops. For anything more complicated, this will be an empty array. Images will
3456 -be ignored (as if the image had failed to load).
3457 - */
3458 - backgroundColors?: string[];
3459 - /**
3460 - * The computed font size for this node, as a CSS computed value string (e.g. '12px').
3461 - */
3462 - computedFontSize?: string;
3463 - /**
3464 - * The computed font weight for this node, as a CSS computed value string (e.g. 'normal' or
3465 -'100').
3466 - */
3467 - computedFontWeight?: string;
3468 - }
3469 - /**
3470 - * Returns the computed style for a DOM node identified by `nodeId`.
3471 - */
3472 - export type getComputedStyleForNodeParameters = {
3473 - nodeId: DOM.NodeId;
3474 - }
3475 - export type getComputedStyleForNodeReturnValue = {
3476 - /**
3477 - * Computed style for the specified DOM node.
3478 - */
3479 - computedStyle: CSSComputedStyleProperty[];
3480 - /**
3481 - * A list of non-standard "extra fields" which blink stores alongside each
3482 -computed style.
3483 - */
3484 - extraFields: ComputedStyleExtraFields;
3485 - }
3486 - /**
3487 - * Resolve the specified values in the context of the provided element.
3488 -For example, a value of '1em' is evaluated according to the computed
3489 -'font-size' of the element and a value 'calc(1px + 2px)' will be
3490 -resolved to '3px'.
3491 -If the `propertyName` was specified the `values` are resolved as if
3492 -they were property's declaration. If a value cannot be parsed according
3493 -to the provided property syntax, the value is parsed using combined
3494 -syntax as if null `propertyName` was provided. If the value cannot be
3495 -resolved even then, return the provided value without any changes.
3496 -Note: this function currently does not resolve CSS random() function,
3497 -it returns unmodified random() function parts.`
3498 - */
3499 - export type resolveValuesParameters = {
3500 - /**
3501 - * Cascade-dependent keywords (revert/revert-layer) do not work.
3502 - */
3503 - values: string[];
3504 - /**
3505 - * Id of the node in whose context the expression is evaluated
3506 - */
3507 - nodeId: DOM.NodeId;
3508 - /**
3509 - * Only longhands and custom property names are accepted.
3510 - */
3511 - propertyName?: string;
3512 - /**
3513 - * Pseudo element type, only works for pseudo elements that generate
3514 -elements in the tree, such as ::before and ::after.
3515 - */
3516 - pseudoType?: DOM.PseudoType;
3517 - /**
3518 - * Pseudo element custom ident.
3519 - */
3520 - pseudoIdentifier?: string;
3521 - }
3522 - export type resolveValuesReturnValue = {
3523 - results: string[];
3524 - }
3525 - export type getLonghandPropertiesParameters = {
3526 - shorthandName: string;
3527 - value: string;
3528 - }
3529 - export type getLonghandPropertiesReturnValue = {
3530 - longhandProperties: CSSProperty[];
3531 - }
3532 - /**
3533 - * Returns the styles defined inline (explicitly in the "style" attribute and implicitly, using DOM
3534 -attributes) for a DOM node identified by `nodeId`.
3535 - */
3536 - export type getInlineStylesForNodeParameters = {
3537 - nodeId: DOM.NodeId;
3538 - }
3539 - export type getInlineStylesForNodeReturnValue = {
3540 - /**
3541 - * Inline style for the specified DOM node.
3542 - */
3543 - inlineStyle?: CSSStyle;
3544 - /**
3545 - * Attribute-defined element style (e.g. resulting from "width=20 height=100%").
3546 - */
3547 - attributesStyle?: CSSStyle;
3548 - }
3549 - /**
3550 - * Returns the styles coming from animations & transitions
3551 -including the animation & transition styles coming from inheritance chain.
3552 - */
3553 - export type getAnimatedStylesForNodeParameters = {
3554 - nodeId: DOM.NodeId;
3555 - }
3556 - export type getAnimatedStylesForNodeReturnValue = {
3557 - /**
3558 - * Styles coming from animations.
3559 - */
3560 - animationStyles?: CSSAnimationStyle[];
3561 - /**
3562 - * Style coming from transitions.
3563 - */
3564 - transitionsStyle?: CSSStyle;
3565 - /**
3566 - * Inherited style entries for animationsStyle and transitionsStyle from
3567 -the inheritance chain of the element.
3568 - */
3569 - inherited?: InheritedAnimatedStyleEntry[];
3570 - }
3571 - /**
3572 - * Returns requested styles for a DOM node identified by `nodeId`.
3573 - */
3574 - export type getMatchedStylesForNodeParameters = {
3575 - nodeId: DOM.NodeId;
3576 - }
3577 - export type getMatchedStylesForNodeReturnValue = {
3578 - /**
3579 - * Inline style for the specified DOM node.
3580 - */
3581 - inlineStyle?: CSSStyle;
3582 - /**
3583 - * Attribute-defined element style (e.g. resulting from "width=20 height=100%").
3584 - */
3585 - attributesStyle?: CSSStyle;
3586 - /**
3587 - * CSS rules matching this node, from all applicable stylesheets.
3588 - */
3589 - matchedCSSRules?: RuleMatch[];
3590 - /**
3591 - * Pseudo style matches for this node.
3592 - */
3593 - pseudoElements?: PseudoElementMatches[];
3594 - /**
3595 - * A chain of inherited styles (from the immediate node parent up to the DOM tree root).
3596 - */
3597 - inherited?: InheritedStyleEntry[];
3598 - /**
3599 - * A chain of inherited pseudo element styles (from the immediate node parent up to the DOM tree root).
3600 - */
3601 - inheritedPseudoElements?: InheritedPseudoElementMatches[];
3602 - /**
3603 - * A list of CSS keyframed animations matching this node.
3604 - */
3605 - cssKeyframesRules?: CSSKeyframesRule[];
3606 - /**
3607 - * A list of CSS @position-try rules matching this node, based on the position-try-fallbacks property.
3608 - */
3609 - cssPositionTryRules?: CSSPositionTryRule[];
3610 - /**
3611 - * Index of the active fallback in the applied position-try-fallback property,
3612 -will not be set if there is no active position-try fallback.
3613 - */
3614 - activePositionFallbackIndex?: number;
3615 - /**
3616 - * A list of CSS at-property rules matching this node.
3617 - */
3618 - cssPropertyRules?: CSSPropertyRule[];
3619 - /**
3620 - * A list of CSS property registrations matching this node.
3621 - */
3622 - cssPropertyRegistrations?: CSSPropertyRegistration[];
3623 - /**
3624 - * A list of simple @rules matching this node or its pseudo-elements.
3625 - */
3626 - cssAtRules?: CSSAtRule[];
3627 - /**
3628 - * Id of the first parent element that does not have display: contents.
3629 - */
3630 - parentLayoutNodeId?: DOM.NodeId;
3631 - /**
3632 - * A list of CSS at-function rules referenced by styles of this node.
3633 - */
3634 - cssFunctionRules?: CSSFunctionRule[];
3635 - }
3636 - /**
3637 - * Returns the values of the default UA-defined environment variables used in env()
3638 - */
3639 - export type getEnvironmentVariablesParameters = {
3640 - }
3641 - export type getEnvironmentVariablesReturnValue = {
3642 - environmentVariables: { [key: string]: string };
3643 - }
3644 - /**
3645 - * Returns all media queries parsed by the rendering engine.
3646 - */
3647 - export type getMediaQueriesParameters = {
3648 - }
3649 - export type getMediaQueriesReturnValue = {
3650 - medias: CSSMedia[];
3651 - }
3652 - /**
3653 - * Requests information about platform fonts which we used to render child TextNodes in the given
3654 -node.
3655 - */
3656 - export type getPlatformFontsForNodeParameters = {
3657 - nodeId: DOM.NodeId;
3658 - }
3659 - export type getPlatformFontsForNodeReturnValue = {
3660 - /**
3661 - * Usage statistics for every employed platform font.
3662 - */
3663 - fonts: PlatformFontUsage[];
3664 - }
3665 - /**
3666 - * Returns the current textual content for a stylesheet.
3667 - */
3668 - export type getStyleSheetTextParameters = {
3669 - styleSheetId: DOM.StyleSheetId;
3670 - }
3671 - export type getStyleSheetTextReturnValue = {
3672 - /**
3673 - * The stylesheet text.
3674 - */
3675 - text: string;
3676 - }
3677 - /**
3678 - * Returns all layers parsed by the rendering engine for the tree scope of a node.
3679 -Given a DOM element identified by nodeId, getLayersForNode returns the root
3680 -layer for the nearest ancestor document or shadow root. The layer root contains
3681 -the full layer tree for the tree scope and their ordering.
3682 - */
3683 - export type getLayersForNodeParameters = {
3684 - nodeId: DOM.NodeId;
3685 - }
3686 - export type getLayersForNodeReturnValue = {
3687 - rootLayer: CSSLayerData;
3688 - }
3689 - /**
3690 - * Given a CSS selector text and a style sheet ID, getLocationForSelector
3691 -returns an array of locations of the CSS selector in the style sheet.
3692 - */
3693 - export type getLocationForSelectorParameters = {
3694 - styleSheetId: DOM.StyleSheetId;
3695 - selectorText: string;
3696 - }
3697 - export type getLocationForSelectorReturnValue = {
3698 - ranges: SourceRange[];
3699 - }
3700 - /**
3701 - * Starts tracking the given node for the computed style updates
3702 -and whenever the computed style is updated for node, it queues
3703 -a `computedStyleUpdated` event with throttling.
3704 -There can only be 1 node tracked for computed style updates
3705 -so passing a new node id removes tracking from the previous node.
3706 -Pass `undefined` to disable tracking.
3707 - */
3708 - export type trackComputedStyleUpdatesForNodeParameters = {
3709 - nodeId?: DOM.NodeId;
3710 - }
3711 - export type trackComputedStyleUpdatesForNodeReturnValue = {
3712 - }
3713 - /**
3714 - * Starts tracking the given computed styles for updates. The specified array of properties
3715 -replaces the one previously specified. Pass empty array to disable tracking.
3716 -Use takeComputedStyleUpdates to retrieve the list of nodes that had properties modified.
3717 -The changes to computed style properties are only tracked for nodes pushed to the front-end
3718 -by the DOM agent. If no changes to the tracked properties occur after the node has been pushed
3719 -to the front-end, no updates will be issued for the node.
3720 - */
3721 - export type trackComputedStyleUpdatesParameters = {
3722 - propertiesToTrack: CSSComputedStyleProperty[];
3723 - }
3724 - export type trackComputedStyleUpdatesReturnValue = {
3725 - }
3726 - /**
3727 - * Polls the next batch of computed style updates.
3728 - */
3729 - export type takeComputedStyleUpdatesParameters = {
3730 - }
3731 - export type takeComputedStyleUpdatesReturnValue = {
3732 - /**
3733 - * The list of node Ids that have their tracked computed styles updated.
3734 - */
3735 - nodeIds: DOM.NodeId[];
3736 - }
3737 - /**
3738 - * Find a rule with the given active property for the given node and set the new value for this
3739 -property
3740 - */
3741 - export type setEffectivePropertyValueForNodeParameters = {
3742 - /**
3743 - * The element id for which to set property.
3744 - */
3745 - nodeId: DOM.NodeId;
3746 - propertyName: string;
3747 - value: string;
3748 - }
3749 - export type setEffectivePropertyValueForNodeReturnValue = {
3750 - }
3751 - /**
3752 - * Modifies the property rule property name.
3753 - */
3754 - export type setPropertyRulePropertyNameParameters = {
3755 - styleSheetId: DOM.StyleSheetId;
3756 - range: SourceRange;
3757 - propertyName: string;
3758 - }
3759 - export type setPropertyRulePropertyNameReturnValue = {
3760 - /**
3761 - * The resulting key text after modification.
3762 - */
3763 - propertyName: Value;
3764 - }
3765 - /**
3766 - * Modifies the keyframe rule key text.
3767 - */
3768 - export type setKeyframeKeyParameters = {
3769 - styleSheetId: DOM.StyleSheetId;
3770 - range: SourceRange;
3771 - keyText: string;
3772 - }
3773 - export type setKeyframeKeyReturnValue = {
3774 - /**
3775 - * The resulting key text after modification.
3776 - */
3777 - keyText: Value;
3778 - }
3779 - /**
3780 - * Modifies the rule selector.
3781 - */
3782 - export type setMediaTextParameters = {
3783 - styleSheetId: DOM.StyleSheetId;
3784 - range: SourceRange;
3785 - text: string;
3786 - }
3787 - export type setMediaTextReturnValue = {
3788 - /**
3789 - * The resulting CSS media rule after modification.
3790 - */
3791 - media: CSSMedia;
3792 - }
3793 - /**
3794 - * Modifies the expression of a container query.
3795 - */
3796 - export type setContainerQueryTextParameters = {
3797 - styleSheetId: DOM.StyleSheetId;
3798 - range: SourceRange;
3799 - text: string;
3800 - }
3801 - export type setContainerQueryTextReturnValue = {
3802 - /**
3803 - * The resulting CSS container query rule after modification.
3804 - */
3805 - containerQuery: CSSContainerQuery;
3806 - }
3807 - /**
3808 - * Modifies the expression of a supports at-rule.
3809 - */
3810 - export type setSupportsTextParameters = {
3811 - styleSheetId: DOM.StyleSheetId;
3812 - range: SourceRange;
3813 - text: string;
3814 - }
3815 - export type setSupportsTextReturnValue = {
3816 - /**
3817 - * The resulting CSS Supports rule after modification.
3818 - */
3819 - supports: CSSSupports;
3820 - }
3821 - /**
3822 - * Modifies the expression of a navigation at-rule.
3823 - */
3824 - export type setNavigationTextParameters = {
3825 - styleSheetId: DOM.StyleSheetId;
3826 - range: SourceRange;
3827 - text: string;
3828 - }
3829 - export type setNavigationTextReturnValue = {
3830 - /**
3831 - * The resulting CSS Navigation rule after modification.
3832 - */
3833 - navigation: CSSNavigation;
3834 - }
3835 - /**
3836 - * Modifies the expression of a scope at-rule.
3837 - */
3838 - export type setScopeTextParameters = {
3839 - styleSheetId: DOM.StyleSheetId;
3840 - range: SourceRange;
3841 - text: string;
3842 - }
3843 - export type setScopeTextReturnValue = {
3844 - /**
3845 - * The resulting CSS Scope rule after modification.
3846 - */
3847 - scope: CSSScope;
3848 - }
3849 - /**
3850 - * Modifies the rule selector.
3851 - */
3852 - export type setRuleSelectorParameters = {
3853 - styleSheetId: DOM.StyleSheetId;
3854 - range: SourceRange;
3855 - selector: string;
3856 - }
3857 - export type setRuleSelectorReturnValue = {
3858 - /**
3859 - * The resulting selector list after modification.
3860 - */
3861 - selectorList: SelectorList;
3862 - }
3863 - /**
3864 - * Sets the new stylesheet text.
3865 - */
3866 - export type setStyleSheetTextParameters = {
3867 - styleSheetId: DOM.StyleSheetId;
3868 - text: string;
3869 - }
3870 - export type setStyleSheetTextReturnValue = {
3871 - /**
3872 - * URL of source map associated with script (if any).
3873 - */
3874 - sourceMapURL?: string;
3875 - }
3876 - /**
3877 - * Applies specified style edits one after another in the given order.
3878 - */
3879 - export type setStyleTextsParameters = {
3880 - edits: StyleDeclarationEdit[];
3881 - /**
3882 - * NodeId for the DOM node in whose context custom property declarations for registered properties should be
3883 -validated. If omitted, declarations in the new rule text can only be validated statically, which may produce
3884 -incorrect results if the declaration contains a var() for example.
3885 - */
3886 - nodeForPropertySyntaxValidation?: DOM.NodeId;
3887 - }
3888 - export type setStyleTextsReturnValue = {
3889 - /**
3890 - * The resulting styles after modification.
3891 - */
3892 - styles: CSSStyle[];
3893 - }
3894 - /**
3895 - * Enables the selector recording.
3896 - */
3897 - export type startRuleUsageTrackingParameters = {
3898 - }
3899 - export type startRuleUsageTrackingReturnValue = {
3900 - }
3901 - /**
3902 - * Stop tracking rule usage and return the list of rules that were used since last call to
3903 -`takeCoverageDelta` (or since start of coverage instrumentation).
3904 - */
3905 - export type stopRuleUsageTrackingParameters = {
3906 - }
3907 - export type stopRuleUsageTrackingReturnValue = {
3908 - ruleUsage: RuleUsage[];
3909 - }
3910 - /**
3911 - * Obtain list of rules that became used since last call to this method (or since start of coverage
3912 -instrumentation).
3913 - */
3914 - export type takeCoverageDeltaParameters = {
3915 - }
3916 - export type takeCoverageDeltaReturnValue = {
3917 - coverage: RuleUsage[];
3918 - /**
3919 - * Monotonically increasing time, in seconds.
3920 - */
3921 - timestamp: number;
3922 - }
3923 - /**
3924 - * Enables/disables rendering of local CSS fonts (enabled by default).
3925 - */
3926 - export type setLocalFontsEnabledParameters = {
3927 - /**
3928 - * Whether rendering of local fonts is enabled.
3929 - */
3930 - enabled: boolean;
3931 - }
3932 - export type setLocalFontsEnabledReturnValue = {
3933 - }
3934 - }
3935 -
3936 - export namespace CacheStorage {
3937 - /**
3938 - * Unique identifier of the Cache object.
3939 - */
3940 - export type CacheId = string;
3941 - /**
3942 - * type of HTTP response cached
3943 - */
3944 - export type CachedResponseType = "basic"|"cors"|"default"|"error"|"opaqueResponse"|"opaqueRedirect";
3945 - /**
3946 - * Data entry.
3947 - */
3948 - export interface DataEntry {
3949 - /**
3950 - * Request URL.
3951 - */
3952 - requestURL: string;
3953 - /**
3954 - * Request method.
3955 - */
3956 - requestMethod: string;
3957 - /**
3958 - * Request headers
3959 - */
3960 - requestHeaders: Header[];
3961 - /**
3962 - * Number of seconds since epoch.
3963 - */
3964 - responseTime: number;
3965 - /**
3966 - * HTTP response status code.
3967 - */
3968 - responseStatus: number;
3969 - /**
3970 - * HTTP response status text.
3971 - */
3972 - responseStatusText: string;
3973 - /**
3974 - * HTTP response type
3975 - */
3976 - responseType: CachedResponseType;
3977 - /**
3978 - * Response headers
3979 - */
3980 - responseHeaders: Header[];
3981 - }
3982 - /**
3983 - * Cache identifier.
3984 - */
3985 - export interface Cache {
3986 - /**
3987 - * An opaque unique id of the cache.
3988 - */
3989 - cacheId: CacheId;
3990 - /**
3991 - * Security origin of the cache.
3992 - */
3993 - securityOrigin: string;
3994 - /**
3995 - * Storage key of the cache.
3996 - */
3997 - storageKey: string;
3998 - /**
3999 - * Storage bucket of the cache.
4000 - */
4001 - storageBucket?: Storage.StorageBucket;
4002 - /**
4003 - * The name of the cache.
4004 - */
4005 - cacheName: string;
4006 - }
4007 - export interface Header {
4008 - name: string;
4009 - value: string;
4010 - }
4011 - /**
4012 - * Cached response
4013 - */
4014 - export interface CachedResponse {
4015 - /**
4016 - * Entry content, base64-encoded.
4017 - */
4018 - body: binary;
4019 - }
4020 -
4021 -
4022 - /**
4023 - * Deletes a cache.
4024 - */
4025 - export type deleteCacheParameters = {
4026 - /**
4027 - * Id of cache for deletion.
4028 - */
4029 - cacheId: CacheId;
4030 - }
4031 - export type deleteCacheReturnValue = {
4032 - }
4033 - /**
4034 - * Deletes a cache entry.
4035 - */
4036 - export type deleteEntryParameters = {
4037 - /**
4038 - * Id of cache where the entry will be deleted.
4039 - */
4040 - cacheId: CacheId;
4041 - /**
4042 - * URL spec of the request.
4043 - */
4044 - request: string;
4045 - }
4046 - export type deleteEntryReturnValue = {
4047 - }
4048 - /**
4049 - * Requests cache names.
4050 - */
4051 - export type requestCacheNamesParameters = {
4052 - /**
4053 - * At least and at most one of securityOrigin, storageKey, storageBucket must be specified.
4054 -Security origin.
4055 - */
4056 - securityOrigin?: string;
4057 - /**
4058 - * Storage key.
4059 - */
4060 - storageKey?: string;
4061 - /**
4062 - * Storage bucket. If not specified, it uses the default bucket.
4063 - */
4064 - storageBucket?: Storage.StorageBucket;
4065 - }
4066 - export type requestCacheNamesReturnValue = {
4067 - /**
4068 - * Caches for the security origin.
4069 - */
4070 - caches: Cache[];
4071 - }
4072 - /**
4073 - * Fetches cache entry.
4074 - */
4075 - export type requestCachedResponseParameters = {
4076 - /**
4077 - * Id of cache that contains the entry.
4078 - */
4079 - cacheId: CacheId;
4080 - /**
4081 - * URL spec of the request.
4082 - */
4083 - requestURL: string;
4084 - /**
4085 - * headers of the request.
4086 - */
4087 - requestHeaders: Header[];
4088 - }
4089 - export type requestCachedResponseReturnValue = {
4090 - /**
4091 - * Response read from the cache.
4092 - */
4093 - response: CachedResponse;
4094 - }
4095 - /**
4096 - * Requests data from cache.
4097 - */
4098 - export type requestEntriesParameters = {
4099 - /**
4100 - * ID of cache to get entries from.
4101 - */
4102 - cacheId: CacheId;
4103 - /**
4104 - * Number of records to skip.
4105 - */
4106 - skipCount?: number;
4107 - /**
4108 - * Number of records to fetch.
4109 - */
4110 - pageSize?: number;
4111 - /**
4112 - * If present, only return the entries containing this substring in the path
4113 - */
4114 - pathFilter?: string;
4115 - }
4116 - export type requestEntriesReturnValue = {
4117 - /**
4118 - * Array of object store data entries.
4119 - */
4120 - cacheDataEntries: DataEntry[];
4121 - /**
4122 - * Count of returned entries from this storage. If pathFilter is empty, it
4123 -is the count of all entries from this storage.
4124 - */
4125 - returnCount: number;
4126 - }
4127 - }
4128 -
4129 - /**
4130 - * A domain for interacting with Cast, Presentation API, and Remote Playback API
4131 -functionalities.
4132 - */
4133 - export namespace Cast {
4134 - export interface Sink {
4135 - name: string;
4136 - id: string;
4137 - /**
4138 - * Text describing the current session. Present only if there is an active
4139 -session on the sink.
4140 - */
4141 - session?: string;
4142 - }
4143 -
4144 - /**
4145 - * This is fired whenever the list of available sinks changes. A sink is a
4146 -device or a software surface that you can cast to.
4147 - */
4148 - export type sinksUpdatedPayload = {
4149 - sinks: Sink[];
4150 - }
4151 - /**
4152 - * This is fired whenever the outstanding issue/error message changes.
4153 -|issueMessage| is empty if there is no issue.
4154 - */
4155 - export type issueUpdatedPayload = {
4156 - issueMessage: string;
4157 - }
4158 -
4159 - /**
4160 - * Starts observing for sinks that can be used for tab mirroring, and if set,
4161 -sinks compatible with |presentationUrl| as well. When sinks are found, a
4162 -|sinksUpdated| event is fired.
4163 -Also starts observing for issue messages. When an issue is added or removed,
4164 -an |issueUpdated| event is fired.
4165 - */
4166 - export type enableParameters = {
4167 - presentationUrl?: string;
4168 - }
4169 - export type enableReturnValue = {
4170 - }
4171 - /**
4172 - * Stops observing for sinks and issues.
4173 - */
4174 - export type disableParameters = {
4175 - }
4176 - export type disableReturnValue = {
4177 - }
4178 - /**
4179 - * Sets a sink to be used when the web page requests the browser to choose a
4180 -sink via Presentation API, Remote Playback API, or Cast SDK.
4181 - */
4182 - export type setSinkToUseParameters = {
4183 - sinkName: string;
4184 - }
4185 - export type setSinkToUseReturnValue = {
4186 - }
4187 - /**
4188 - * Starts mirroring the desktop to the sink.
4189 - */
4190 - export type startDesktopMirroringParameters = {
4191 - sinkName: string;
4192 - }
4193 - export type startDesktopMirroringReturnValue = {
4194 - }
4195 - /**
4196 - * Starts mirroring the tab to the sink.
4197 - */
4198 - export type startTabMirroringParameters = {
4199 - sinkName: string;
4200 - }
4201 - export type startTabMirroringReturnValue = {
4202 - }
4203 - /**
4204 - * Stops the active Cast session on the sink.
4205 - */
4206 - export type stopCastingParameters = {
4207 - sinkName: string;
4208 - }
4209 - export type stopCastingReturnValue = {
4210 - }
4211 - }
4212 -
4213 - /**
4214 - * This domain exposes the current state of the CrashReportContext API.
4215 - */
4216 - export namespace CrashReportContext {
4217 - /**
4218 - * Key-value pair in CrashReportContext.
4219 - */
4220 - export interface CrashReportContextEntry {
4221 - key: string;
4222 - value: string;
4223 - /**
4224 - * The ID of the frame where the key-value pair was set.
4225 - */
4226 - frameId: Page.FrameId;
4227 - }
4228 -
4229 -
4230 - /**
4231 - * Returns all entries in the CrashReportContext across all frames in the page.
4232 - */
4233 - export type getEntriesParameters = {
4234 - }
4235 - export type getEntriesReturnValue = {
4236 - entries: CrashReportContextEntry[];
4237 - }
4238 - }
4239 -
4240 - /**
4241 - * This domain exposes DOM read/write operations. Each DOM Node is represented with its mirror object
4242 -that has an `id`. This `id` can be used to get additional information on the Node, resolve it into
4243 -the JavaScript object wrapper, etc. It is important that client receives DOM events only for the
4244 -nodes that are known to the client. Backend keeps track of the nodes that were sent to the client
4245 -and never sends the same node twice. It is client's responsibility to collect information about
4246 -the nodes that were sent to the client. Note that `iframe` owner elements will return
4247 -corresponding document elements as their child nodes.
4248 - */
4249 - export namespace DOM {
4250 - /**
4251 - * Unique DOM node identifier.
4252 - */
4253 - export type NodeId = number;
4254 - /**
4255 - * Unique DOM node identifier used to reference a node that may not have been pushed to the
4256 -front-end.
4257 - */
4258 - export type BackendNodeId = number;
4259 - /**
4260 - * Unique identifier for a CSS stylesheet.
4261 - */
4262 - export type StyleSheetId = string;
4263 - /**
4264 - * Backend node with a friendly name.
4265 - */
4266 - export interface BackendNode {
4267 - /**
4268 - * `Node`'s nodeType.
4269 - */
4270 - nodeType: number;
4271 - /**
4272 - * `Node`'s nodeName.
4273 - */
4274 - nodeName: string;
4275 - backendNodeId: BackendNodeId;
4276 - }
4277 - /**
4278 - * Pseudo element type.
4279 - */
4280 - export type PseudoType = "first-line"|"first-letter"|"checkmark"|"before"|"after"|"expand-icon"|"picker-icon"|"interest-hint"|"marker"|"backdrop"|"column"|"selection"|"search-text"|"target-text"|"spelling-error"|"grammar-error"|"highlight"|"first-line-inherited"|"scroll-marker"|"scroll-marker-group"|"scroll-button"|"scrollbar"|"scrollbar-thumb"|"scrollbar-button"|"scrollbar-track"|"scrollbar-track-piece"|"scrollbar-corner"|"resizer"|"input-list-button"|"view-transition"|"view-transition-group"|"view-transition-image-pair"|"view-transition-group-children"|"view-transition-old"|"view-transition-new"|"placeholder"|"file-selector-button"|"details-content"|"picker"|"permission-icon"|"overscroll-area-parent";
4281 - /**
4282 - * Shadow root type.
4283 - */
4284 - export type ShadowRootType = "user-agent"|"open"|"closed";
4285 - /**
4286 - * Document compatibility mode.
4287 - */
4288 - export type CompatibilityMode = "QuirksMode"|"LimitedQuirksMode"|"NoQuirksMode";
4289 - /**
4290 - * ContainerSelector physical axes
4291 - */
4292 - export type PhysicalAxes = "Horizontal"|"Vertical"|"Both";
4293 - /**
4294 - * ContainerSelector logical axes
4295 - */
4296 - export type LogicalAxes = "Inline"|"Block"|"Both";
4297 - /**
4298 - * Physical scroll orientation
4299 - */
4300 - export type ScrollOrientation = "horizontal"|"vertical";
4301 - /**
4302 - * DOM interaction is implemented in terms of mirror objects that represent the actual DOM nodes.
4303 -DOMNode is a base node mirror type.
4304 - */
4305 - export interface Node {
4306 - /**
4307 - * Node identifier that is passed into the rest of the DOM messages as the `nodeId`. Backend
4308 -will only push node with given `id` once. It is aware of all requested nodes and will only
4309 -fire DOM events for nodes known to the client.
4310 - */
4311 - nodeId: NodeId;
4312 - /**
4313 - * The id of the parent node if any.
4314 - */
4315 - parentId?: NodeId;
4316 - /**
4317 - * The BackendNodeId for this node.
4318 - */
4319 - backendNodeId: BackendNodeId;
4320 - /**
4321 - * `Node`'s nodeType.
4322 - */
4323 - nodeType: number;
4324 - /**
4325 - * `Node`'s nodeName.
4326 - */
4327 - nodeName: string;
4328 - /**
4329 - * `Node`'s localName.
4330 - */
4331 - localName: string;
4332 - /**
4333 - * `Node`'s nodeValue.
4334 - */
4335 - nodeValue: string;
4336 - /**
4337 - * Child count for `Container` nodes.
4338 - */
4339 - childNodeCount?: number;
4340 - /**
4341 - * Child nodes of this node when requested with children.
4342 - */
4343 - children?: Node[];
4344 - /**
4345 - * Attributes of the `Element` node in the form of flat array `[name1, value1, name2, value2]`.
4346 - */
4347 - attributes?: string[];
4348 - /**
4349 - * Document URL that `Document` or `FrameOwner` node points to.
4350 - */
4351 - documentURL?: string;
4352 - /**
4353 - * Base URL that `Document` or `FrameOwner` node uses for URL completion.
4354 - */
4355 - baseURL?: string;
4356 - /**
4357 - * `DocumentType`'s publicId.
4358 - */
4359 - publicId?: string;
4360 - /**
4361 - * `DocumentType`'s systemId.
4362 - */
4363 - systemId?: string;
4364 - /**
4365 - * `DocumentType`'s internalSubset.
4366 - */
4367 - internalSubset?: string;
4368 - /**
4369 - * `Document`'s XML version in case of XML documents.
4370 - */
4371 - xmlVersion?: string;
4372 - /**
4373 - * `Attr`'s name.
4374 - */
4375 - name?: string;
4376 - /**
4377 - * `Attr`'s value.
4378 - */
4379 - value?: string;
4380 - /**
4381 - * Pseudo element type for this node.
4382 - */
4383 - pseudoType?: PseudoType;
4384 - /**
4385 - * Pseudo element identifier for this node. Only present if there is a
4386 -valid pseudoType.
4387 - */
4388 - pseudoIdentifier?: string;
4389 - /**
4390 - * Shadow root type.
4391 - */
4392 - shadowRootType?: ShadowRootType;
4393 - /**
4394 - * Frame ID for frame owner elements.
4395 - */
4396 - frameId?: Page.FrameId;
4397 - /**
4398 - * Content document for frame owner elements.
4399 - */
4400 - contentDocument?: Node;
4401 - /**
4402 - * Shadow root list for given element host.
4403 - */
4404 - shadowRoots?: Node[];
4405 - /**
4406 - * Content document fragment for template elements.
4407 - */
4408 - templateContent?: Node;
4409 - /**
4410 - * Pseudo elements associated with this node.
4411 - */
4412 - pseudoElements?: Node[];
4413 - /**
4414 - * Deprecated, as the HTML Imports API has been removed (crbug.com/937746).
4415 -This property used to return the imported document for the HTMLImport links.
4416 -The property is always undefined now.
4417 - */
4418 - importedDocument?: Node;
4419 - /**
4420 - * Distributed nodes for given insertion point.
4421 - */
4422 - distributedNodes?: BackendNode[];
4423 - /**
4424 - * Whether the node is SVG.
4425 - */
4426 - isSVG?: boolean;
4427 - compatibilityMode?: CompatibilityMode;
4428 - assignedSlot?: BackendNode;
4429 - isScrollable?: boolean;
4430 - affectedByStartingStyles?: boolean;
4431 - adoptedStyleSheets?: StyleSheetId[];
4432 - adProvenance?: Network.AdProvenance;
4433 - }
4434 - /**
4435 - * A structure to hold the top-level node of a detached tree and an array of its retained descendants.
4436 - */
4437 - export interface DetachedElementInfo {
4438 - treeNode: Node;
4439 - retainedNodeIds: NodeId[];
4440 - }
4441 - /**
4442 - * A structure holding an RGBA color.
4443 - */
4444 - export interface RGBA {
4445 - /**
4446 - * The red component, in the [0-255] range.
4447 - */
4448 - r: number;
4449 - /**
4450 - * The green component, in the [0-255] range.
4451 - */
4452 - g: number;
4453 - /**
4454 - * The blue component, in the [0-255] range.
4455 - */
4456 - b: number;
4457 - /**
4458 - * The alpha component, in the [0-1] range (default: 1).
4459 - */
4460 - a?: number;
4461 - }
4462 - /**
4463 - * An array of quad vertices, x immediately followed by y for each point, points clock-wise.
4464 - */
4465 - export type Quad = number[];
4466 - /**
4467 - * Box model.
4468 - */
4469 - export interface BoxModel {
4470 - /**
4471 - * Content box
4472 - */
4473 - content: Quad;
4474 - /**
4475 - * Padding box
4476 - */
4477 - padding: Quad;
4478 - /**
4479 - * Border box
4480 - */
4481 - border: Quad;
4482 - /**
4483 - * Margin box
4484 - */
4485 - margin: Quad;
4486 - /**
4487 - * Node width
4488 - */
4489 - width: number;
4490 - /**
4491 - * Node height
4492 - */
4493 - height: number;
4494 - /**
4495 - * Shape outside coordinates
4496 - */
4497 - shapeOutside?: ShapeOutsideInfo;
4498 - }
4499 - /**
4500 - * CSS Shape Outside details.
4501 - */
4502 - export interface ShapeOutsideInfo {
4503 - /**
4504 - * Shape bounds
4505 - */
4506 - bounds: Quad;
4507 - /**
4508 - * Shape coordinate details
4509 - */
4510 - shape: any[];
4511 - /**
4512 - * Margin shape bounds
4513 - */
4514 - marginShape: any[];
4515 - }
4516 - /**
4517 - * Rectangle.
4518 - */
4519 - export interface Rect {
4520 - /**
4521 - * X coordinate
4522 - */
4523 - x: number;
4524 - /**
4525 - * Y coordinate
4526 - */
4527 - y: number;
4528 - /**
4529 - * Rectangle width
4530 - */
4531 - width: number;
4532 - /**
4533 - * Rectangle height
4534 - */
4535 - height: number;
4536 - }
4537 - export interface CSSComputedStyleProperty {
4538 - /**
4539 - * Computed style property name.
4540 - */
4541 - name: string;
4542 - /**
4543 - * Computed style property value.
4544 - */
4545 - value: string;
4546 - }
4547 -
4548 - /**
4549 - * Fired when `Element`'s attribute is modified.
4550 - */
4551 - export type attributeModifiedPayload = {
4552 - /**
4553 - * Id of the node that has changed.
4554 - */
4555 - nodeId: NodeId;
4556 - /**
4557 - * Attribute name.
4558 - */
4559 - name: string;
4560 - /**
4561 - * Attribute value.
4562 - */
4563 - value: string;
4564 - }
4565 - /**
4566 - * Fired when `Element`'s adoptedStyleSheets are modified.
4567 - */
4568 - export type adoptedStyleSheetsModifiedPayload = {
4569 - /**
4570 - * Id of the node that has changed.
4571 - */
4572 - nodeId: NodeId;
4573 - /**
4574 - * New adoptedStyleSheets array.
4575 - */
4576 - adoptedStyleSheets: StyleSheetId[];
4577 - }
4578 - /**
4579 - * Fired when `Element`'s attribute is removed.
4580 - */
4581 - export type attributeRemovedPayload = {
4582 - /**
4583 - * Id of the node that has changed.
4584 - */
4585 - nodeId: NodeId;
4586 - /**
4587 - * A ttribute name.
4588 - */
4589 - name: string;
4590 - }
4591 - /**
4592 - * Mirrors `DOMCharacterDataModified` event.
4593 - */
4594 - export type characterDataModifiedPayload = {
4595 - /**
4596 - * Id of the node that has changed.
4597 - */
4598 - nodeId: NodeId;
4599 - /**
4600 - * New text value.
4601 - */
4602 - characterData: string;
4603 - }
4604 - /**
4605 - * Fired when `Container`'s child node count has changed.
4606 - */
4607 - export type childNodeCountUpdatedPayload = {
4608 - /**
4609 - * Id of the node that has changed.
4610 - */
4611 - nodeId: NodeId;
4612 - /**
4613 - * New node count.
4614 - */
4615 - childNodeCount: number;
4616 - }
4617 - /**
4618 - * Mirrors `DOMNodeInserted` event.
4619 - */
4620 - export type childNodeInsertedPayload = {
4621 - /**
4622 - * Id of the node that has changed.
4623 - */
4624 - parentNodeId: NodeId;
4625 - /**
4626 - * Id of the previous sibling.
4627 - */
4628 - previousNodeId: NodeId;
4629 - /**
4630 - * Inserted node data.
4631 - */
4632 - node: Node;
4633 - }
4634 - /**
4635 - * Mirrors `DOMNodeRemoved` event.
4636 - */
4637 - export type childNodeRemovedPayload = {
4638 - /**
4639 - * Parent id.
4640 - */
4641 - parentNodeId: NodeId;
4642 - /**
4643 - * Id of the node that has been removed.
4644 - */
4645 - nodeId: NodeId;
4646 - }
4647 - /**
4648 - * Called when distribution is changed.
4649 - */
4650 - export type distributedNodesUpdatedPayload = {
4651 - /**
4652 - * Insertion point where distributed nodes were updated.
4653 - */
4654 - insertionPointId: NodeId;
4655 - /**
4656 - * Distributed nodes for given insertion point.
4657 - */
4658 - distributedNodes: BackendNode[];
4659 - }
4660 - /**
4661 - * Fired when `Document` has been totally updated. Node ids are no longer valid.
4662 - */
4663 - export type documentUpdatedPayload = void;
4664 - /**
4665 - * Fired when `Element`'s inline style is modified via a CSS property modification.
4666 - */
4667 - export type inlineStyleInvalidatedPayload = {
4668 - /**
4669 - * Ids of the nodes for which the inline styles have been invalidated.
4670 - */
4671 - nodeIds: NodeId[];
4672 - }
4673 - /**
4674 - * Called when a pseudo element is added to an element.
4675 - */
4676 - export type pseudoElementAddedPayload = {
4677 - /**
4678 - * Pseudo element's parent element id.
4679 - */
4680 - parentId: NodeId;
4681 - /**
4682 - * The added pseudo element.
4683 - */
4684 - pseudoElement: Node;
4685 - }
4686 - /**
4687 - * Called when top layer elements are changed.
4688 - */
4689 - export type topLayerElementsUpdatedPayload = void;
4690 - /**
4691 - * Fired when a node's scrollability state changes.
4692 - */
4693 - export type scrollableFlagUpdatedPayload = {
4694 - /**
4695 - * The id of the node.
4696 - */
4697 - nodeId: DOM.NodeId;
4698 - /**
4699 - * If the node is scrollable.
4700 - */
4701 - isScrollable: boolean;
4702 - }
4703 - /**
4704 - * Fired when a node's ad related state changes.
4705 - */
4706 - export type adRelatedStateUpdatedPayload = {
4707 - /**
4708 - * The id of the node.
4709 - */
4710 - nodeId: DOM.NodeId;
4711 - /**
4712 - * The provenance of the ad related node, if it is ad related.
4713 - */
4714 - adProvenance?: Network.AdProvenance;
4715 - }
4716 - /**
4717 - * Fired when a node's starting styles changes.
4718 - */
4719 - export type affectedByStartingStylesFlagUpdatedPayload = {
4720 - /**
4721 - * The id of the node.
4722 - */
4723 - nodeId: DOM.NodeId;
4724 - /**
4725 - * If the node has starting styles.
4726 - */
4727 - affectedByStartingStyles: boolean;
4728 - }
4729 - /**
4730 - * Called when a pseudo element is removed from an element.
4731 - */
4732 - export type pseudoElementRemovedPayload = {
4733 - /**
4734 - * Pseudo element's parent element id.
4735 - */
4736 - parentId: NodeId;
4737 - /**
4738 - * The removed pseudo element id.
4739 - */
4740 - pseudoElementId: NodeId;
4741 - }
4742 - /**
4743 - * Fired when backend wants to provide client with the missing DOM structure. This happens upon
4744 -most of the calls requesting node ids.
4745 - */
4746 - export type setChildNodesPayload = {
4747 - /**
4748 - * Parent node id to populate with children.
4749 - */
4750 - parentId: NodeId;
4751 - /**
4752 - * Child nodes array.
4753 - */
4754 - nodes: Node[];
4755 - }
4756 - /**
4757 - * Called when shadow root is popped from the element.
4758 - */
4759 - export type shadowRootPoppedPayload = {
4760 - /**
4761 - * Host element id.
4762 - */
4763 - hostId: NodeId;
4764 - /**
4765 - * Shadow root id.
4766 - */
4767 - rootId: NodeId;
4768 - }
4769 - /**
4770 - * Called when shadow root is pushed into the element.
4771 - */
4772 - export type shadowRootPushedPayload = {
4773 - /**
4774 - * Host element id.
4775 - */
4776 - hostId: NodeId;
4777 - /**
4778 - * Shadow root.
4779 - */
4780 - root: Node;
4781 - }
4782 -
4783 - /**
4784 - * Collects class names for the node with given id and all of it's child nodes.
4785 - */
4786 - export type collectClassNamesFromSubtreeParameters = {
4787 - /**
4788 - * Id of the node to collect class names.
4789 - */
4790 - nodeId: NodeId;
4791 - }
4792 - export type collectClassNamesFromSubtreeReturnValue = {
4793 - /**
4794 - * Class name list.
4795 - */
4796 - classNames: string[];
4797 - }
4798 - /**
4799 - * Creates a deep copy of the specified node and places it into the target container before the
4800 -given anchor.
4801 - */
4802 - export type copyToParameters = {
4803 - /**
4804 - * Id of the node to copy.
4805 - */
4806 - nodeId: NodeId;
4807 - /**
4808 - * Id of the element to drop the copy into.
4809 - */
4810 - targetNodeId: NodeId;
4811 - /**
4812 - * Drop the copy before this node (if absent, the copy becomes the last child of
4813 -`targetNodeId`).
4814 - */
4815 - insertBeforeNodeId?: NodeId;
4816 - }
4817 - export type copyToReturnValue = {
4818 - /**
4819 - * Id of the node clone.
4820 - */
4821 - nodeId: NodeId;
4822 - }
4823 - /**
4824 - * Describes node given its id, does not require domain to be enabled. Does not start tracking any
4825 -objects, can be used for automation.
4826 - */
4827 - export type describeNodeParameters = {
4828 - /**
4829 - * Identifier of the node.
4830 - */
4831 - nodeId?: NodeId;
4832 - /**
4833 - * Identifier of the backend node.
4834 - */
4835 - backendNodeId?: BackendNodeId;
4836 - /**
4837 - * JavaScript object id of the node wrapper.
4838 - */
4839 - objectId?: Runtime.RemoteObjectId;
4840 - /**
4841 - * The maximum depth at which children should be retrieved, defaults to 1. Use -1 for the
4842 -entire subtree or provide an integer larger than 0.
4843 - */
4844 - depth?: number;
4845 - /**
4846 - * Whether or not iframes and shadow roots should be traversed when returning the subtree
4847 -(default is false).
4848 - */
4849 - pierce?: boolean;
4850 - }
4851 - export type describeNodeReturnValue = {
4852 - /**
4853 - * Node description.
4854 - */
4855 - node: Node;
4856 - }
4857 - /**
4858 - * Scrolls the specified rect of the given node into view if not already visible.
4859 -Note: exactly one between nodeId, backendNodeId and objectId should be passed
4860 -to identify the node.
4861 - */
4862 - export type scrollIntoViewIfNeededParameters = {
4863 - /**
4864 - * Identifier of the node.
4865 - */
4866 - nodeId?: NodeId;
4867 - /**
4868 - * Identifier of the backend node.
4869 - */
4870 - backendNodeId?: BackendNodeId;
4871 - /**
4872 - * JavaScript object id of the node wrapper.
4873 - */
4874 - objectId?: Runtime.RemoteObjectId;
4875 - /**
4876 - * The rect to be scrolled into view, relative to the node's border box, in CSS pixels.
4877 -When omitted, center of the node will be used, similar to Element.scrollIntoView.
4878 - */
4879 - rect?: Rect;
4880 - }
4881 - export type scrollIntoViewIfNeededReturnValue = {
4882 - }
4883 - /**
4884 - * Disables DOM agent for the given page.
4885 - */
4886 - export type disableParameters = {
4887 - }
4888 - export type disableReturnValue = {
4889 - }
4890 - /**
4891 - * Discards search results from the session with the given id. `getSearchResults` should no longer
4892 -be called for that search.
4893 - */
4894 - export type discardSearchResultsParameters = {
4895 - /**
4896 - * Unique search session identifier.
4897 - */
4898 - searchId: string;
4899 - }
4900 - export type discardSearchResultsReturnValue = {
4901 - }
4902 - /**
4903 - * Enables DOM agent for the given page.
4904 - */
4905 - export type enableParameters = {
4906 - /**
4907 - * Whether to include whitespaces in the children array of returned Nodes.
4908 - */
4909 - includeWhitespace?: "none"|"all";
4910 - }
4911 - export type enableReturnValue = {
4912 - }
4913 - /**
4914 - * Focuses the given element.
4915 - */
4916 - export type focusParameters = {
4917 - /**
4918 - * Identifier of the node.
4919 - */
4920 - nodeId?: NodeId;
4921 - /**
4922 - * Identifier of the backend node.
4923 - */
4924 - backendNodeId?: BackendNodeId;
4925 - /**
4926 - * JavaScript object id of the node wrapper.
4927 - */
4928 - objectId?: Runtime.RemoteObjectId;
4929 - }
4930 - export type focusReturnValue = {
4931 - }
4932 - /**
4933 - * Returns attributes for the specified node.
4934 - */
4935 - export type getAttributesParameters = {
4936 - /**
4937 - * Id of the node to retrieve attributes for.
4938 - */
4939 - nodeId: NodeId;
4940 - }
4941 - export type getAttributesReturnValue = {
4942 - /**
4943 - * An interleaved array of node attribute names and values.
4944 - */
4945 - attributes: string[];
4946 - }
4947 - /**
4948 - * Returns boxes for the given node.
4949 - */
4950 - export type getBoxModelParameters = {
4951 - /**
4952 - * Identifier of the node.
4953 - */
4954 - nodeId?: NodeId;
4955 - /**
4956 - * Identifier of the backend node.
4957 - */
4958 - backendNodeId?: BackendNodeId;
4959 - /**
4960 - * JavaScript object id of the node wrapper.
4961 - */
4962 - objectId?: Runtime.RemoteObjectId;
4963 - }
4964 - export type getBoxModelReturnValue = {
4965 - /**
4966 - * Box model for the node.
4967 - */
4968 - model: BoxModel;
4969 - }
4970 - /**
4971 - * Returns quads that describe node position on the page. This method
4972 -might return multiple quads for inline nodes.
4973 - */
4974 - export type getContentQuadsParameters = {
4975 - /**
4976 - * Identifier of the node.
4977 - */
4978 - nodeId?: NodeId;
4979 - /**
4980 - * Identifier of the backend node.
4981 - */
4982 - backendNodeId?: BackendNodeId;
4983 - /**
4984 - * JavaScript object id of the node wrapper.
4985 - */
4986 - objectId?: Runtime.RemoteObjectId;
4987 - }
4988 - export type getContentQuadsReturnValue = {
4989 - /**
4990 - * Quads that describe node layout relative to viewport.
4991 - */
4992 - quads: Quad[];
4993 - }
4994 - /**
4995 - * Returns the root DOM node (and optionally the subtree) to the caller.
4996 -Implicitly enables the DOM domain events for the current target.
4997 - */
4998 - export type getDocumentParameters = {
4999 - /**

This file is too large to show in full.

node_modules/playwright-core/types/structs.d.ts deleted
-45
@@ -1,45 +0,0 @@
1 -/**
2 - * Copyright (c) Microsoft Corporation.
3 - *
4 - * Licensed under the Apache License, Version 2.0 (the "License");
5 - * you may not use this file except in compliance with the License.
6 - * You may obtain a copy of the License at
7 - *
8 - * http://www.apache.org/licenses/LICENSE-2.0
9 - *
10 - * Unless required by applicable law or agreed to in writing, software
11 - * distributed under the License is distributed on an "AS IS" BASIS,
12 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 - * See the License for the specific language governing permissions and
14 - * limitations under the License.
15 - */
16 -
17 -import { JSHandle, ElementHandle, Frame, Page, BrowserContext } from './types';
18 -
19 -/**
20 - * Can be converted to JSON
21 - */
22 -export type Serializable = any;
23 -/**
24 - * Can be converted to JSON, but may also contain JSHandles.
25 - */
26 -export type EvaluationArgument = {};
27 -
28 -export type NoHandles<Arg> = Arg extends JSHandle ? never : (Arg extends object ? { [Key in keyof Arg]: NoHandles<Arg[Key]> } : Arg);
29 -export type Unboxed<Arg> =
30 - Arg extends ElementHandle<infer T> ? T :
31 - Arg extends JSHandle<infer T> ? T :
32 - Arg extends NoHandles<Arg> ? Arg :
33 - Arg extends [infer A0] ? [Unboxed<A0>] :
34 - Arg extends [infer A0, infer A1] ? [Unboxed<A0>, Unboxed<A1>] :
35 - Arg extends [infer A0, infer A1, infer A2] ? [Unboxed<A0>, Unboxed<A1>, Unboxed<A2>] :
36 - Arg extends [infer A0, infer A1, infer A2, infer A3] ? [Unboxed<A0>, Unboxed<A1>, Unboxed<A2>, Unboxed<A3>] :
37 - Arg extends Array<infer T> ? Array<Unboxed<T>> :
38 - Arg extends object ? { [Key in keyof Arg]: Unboxed<Arg[Key]> } :
39 - Arg;
40 -export type PageFunction0<R> = string | (() => R | Promise<R>);
41 -export type PageFunction<Arg, R> = string | ((arg: Unboxed<Arg>) => R | Promise<R>);
42 -export type PageFunctionOn<On, Arg2, R> = string | ((on: On, arg2: Unboxed<Arg2>) => R | Promise<R>);
43 -export type SmartHandle<T> = [T] extends [Node] ? ElementHandle<T> : JSHandle<T>;
44 -export type ElementHandleForTag<K extends keyof HTMLElementTagNameMap> = ElementHandle<HTMLElementTagNameMap[K]>;
45 -export type BindingSource = { context: BrowserContext, page: Page, frame: Frame };
node_modules/playwright-core/types/types.d.ts deleted
-24518
@@ -1,24518 +0,0 @@
1 -// This file is generated by /utils/generate_types/index.js
2 -/**
3 - * Copyright (c) Microsoft Corporation.
4 - *
5 - * Licensed under the Apache License, Version 2.0 (the "License");
6 - * you may not use this file except in compliance with the License.
7 - * You may obtain a copy of the License at
8 - *
9 - * http://www.apache.org/licenses/LICENSE-2.0
10 - *
11 - * Unless required by applicable law or agreed to in writing, software
12 - * distributed under the License is distributed on an "AS IS" BASIS,
13 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 - * See the License for the specific language governing permissions and
15 - * limitations under the License.
16 - */
17 -import { ChildProcess } from 'child_process';
18 -import { Readable } from 'stream';
19 -import { ReadStream } from 'fs';
20 -import { Protocol } from './protocol';
21 -import { Serializable, EvaluationArgument, PageFunction, PageFunctionOn, SmartHandle, ElementHandleForTag, BindingSource } from './structs';
22 -
23 -// Use the global URLPattern type if available (Node.js 22+, modern browsers),
24 -// otherwise fall back to `never` so it disappears from union types.
25 -type URLPattern = typeof globalThis extends { URLPattern: new (...args: any) => infer T } ? T : never;
26 -
27 -type PageWaitForSelectorOptionsNotHidden = PageWaitForSelectorOptions & {
28 - state?: 'visible'|'attached';
29 -};
30 -type ElementHandleWaitForSelectorOptionsNotHidden = ElementHandleWaitForSelectorOptions & {
31 - state?: 'visible'|'attached';
32 -};
33 -
34 -// @ts-ignore this will be any if zod is not installed
35 -import { ZodTypeAny, z } from 'zod';
36 -// @ts-ignore this will be any if zod is not installed
37 -import * as z3 from 'zod/v3';
38 -type ZodSchema = ZodTypeAny | z3.ZodTypeAny;
39 -type InferZodSchema<T extends ZodSchema> = T extends z3.ZodTypeAny ? z3.infer<T> : T extends ZodTypeAny ? z.infer<T> : never;
40 -
41 -/**
42 - * Page provides methods to interact with a single tab in a [Browser](https://playwright.dev/docs/api/class-browser),
43 - * or an [extension background page](https://developer.chrome.com/extensions/background_pages) in Chromium. One
44 - * [Browser](https://playwright.dev/docs/api/class-browser) instance might have multiple
45 - * [Page](https://playwright.dev/docs/api/class-page) instances.
46 - *
47 - * This example creates a page, navigates it to a URL, and then saves a screenshot:
48 - *
49 - * ```js
50 - * const { webkit } = require('playwright'); // Or 'chromium' or 'firefox'.
51 - *
52 - * (async () => {
53 - * const browser = await webkit.launch();
54 - * const context = await browser.newContext();
55 - * const page = await context.newPage();
56 - * await page.goto('https://example.com');
57 - * await page.screenshot({ path: 'screenshot.png' });
58 - * await browser.close();
59 - * })();
60 - * ```
61 - *
62 - * The Page class emits various events (described below) which can be handled using any of Node's native
63 - * [`EventEmitter`](https://nodejs.org/api/events.html#events_class_eventemitter) methods, such as `on`, `once` or
64 - * `removeListener`.
65 - *
66 - * This example logs a message for a single page `load` event:
67 - *
68 - * ```js
69 - * page.once('load', () => console.log('Page loaded!'));
70 - * ```
71 - *
72 - * To unsubscribe from events use the `removeListener` method:
73 - *
74 - * ```js
75 - * function logRequest(interceptedRequest) {
76 - * console.log('A request was made:', interceptedRequest.url());
77 - * }
78 - * page.on('request', logRequest);
79 - * // Sometime later...
80 - * page.removeListener('request', logRequest);
81 - * ```
82 - *
83 - */
84 -export interface Page {
85 - /**
86 - * Returns the value of the
87 - * [`pageFunction`](https://playwright.dev/docs/api/class-page#page-evaluate-option-expression) invocation.
88 - *
89 - * If the function passed to the
90 - * [page.evaluate(pageFunction[, arg])](https://playwright.dev/docs/api/class-page#page-evaluate) returns a [Promise],
91 - * then [page.evaluate(pageFunction[, arg])](https://playwright.dev/docs/api/class-page#page-evaluate) would wait for
92 - * the promise to resolve and return its value.
93 - *
94 - * If the function passed to the
95 - * [page.evaluate(pageFunction[, arg])](https://playwright.dev/docs/api/class-page#page-evaluate) returns a
96 - * non-[Serializable] value, then
97 - * [page.evaluate(pageFunction[, arg])](https://playwright.dev/docs/api/class-page#page-evaluate) resolves to
98 - * `undefined`. Playwright also supports transferring some additional values that are not serializable by `JSON`:
99 - * `-0`, `NaN`, `Infinity`, `-Infinity`.
100 - *
101 - * **Usage**
102 - *
103 - * Passing argument to [`pageFunction`](https://playwright.dev/docs/api/class-page#page-evaluate-option-expression):
104 - *
105 - * ```js
106 - * const result = await page.evaluate(([x, y]) => {
107 - * return Promise.resolve(x * y);
108 - * }, [7, 8]);
109 - * console.log(result); // prints "56"
110 - * ```
111 - *
112 - * A string can also be passed in instead of a function:
113 - *
114 - * ```js
115 - * console.log(await page.evaluate('1 + 2')); // prints "3"
116 - * const x = 10;
117 - * console.log(await page.evaluate(`1 + ${x}`)); // prints "11"
118 - * ```
119 - *
120 - * [ElementHandle](https://playwright.dev/docs/api/class-elementhandle) instances can be passed as an argument to the
121 - * [page.evaluate(pageFunction[, arg])](https://playwright.dev/docs/api/class-page#page-evaluate):
122 - *
123 - * ```js
124 - * const bodyHandle = await page.evaluate('document.body');
125 - * const html = await page.evaluate<string, HTMLElement>(([body, suffix]) =>
126 - * body.innerHTML + suffix, [bodyHandle, 'hello']
127 - * );
128 - * await bodyHandle.dispose();
129 - * ```
130 - *
131 - * @param pageFunction Function to be evaluated in the page context.
132 - * @param arg Optional argument to pass to
133 - * [`pageFunction`](https://playwright.dev/docs/api/class-page#page-evaluate-option-expression).
134 - */
135 - evaluate<R, Arg>(pageFunction: PageFunction<Arg, R>, arg: Arg): Promise<R>;
136 - /**
137 - * Returns the value of the
138 - * [`pageFunction`](https://playwright.dev/docs/api/class-page#page-evaluate-option-expression) invocation.
139 - *
140 - * If the function passed to the
141 - * [page.evaluate(pageFunction[, arg])](https://playwright.dev/docs/api/class-page#page-evaluate) returns a [Promise],
142 - * then [page.evaluate(pageFunction[, arg])](https://playwright.dev/docs/api/class-page#page-evaluate) would wait for
143 - * the promise to resolve and return its value.
144 - *
145 - * If the function passed to the
146 - * [page.evaluate(pageFunction[, arg])](https://playwright.dev/docs/api/class-page#page-evaluate) returns a
147 - * non-[Serializable] value, then
148 - * [page.evaluate(pageFunction[, arg])](https://playwright.dev/docs/api/class-page#page-evaluate) resolves to
149 - * `undefined`. Playwright also supports transferring some additional values that are not serializable by `JSON`:
150 - * `-0`, `NaN`, `Infinity`, `-Infinity`.
151 - *
152 - * **Usage**
153 - *
154 - * Passing argument to [`pageFunction`](https://playwright.dev/docs/api/class-page#page-evaluate-option-expression):
155 - *
156 - * ```js
157 - * const result = await page.evaluate(([x, y]) => {
158 - * return Promise.resolve(x * y);
159 - * }, [7, 8]);
160 - * console.log(result); // prints "56"
161 - * ```
162 - *
163 - * A string can also be passed in instead of a function:
164 - *
165 - * ```js
166 - * console.log(await page.evaluate('1 + 2')); // prints "3"
167 - * const x = 10;
168 - * console.log(await page.evaluate(`1 + ${x}`)); // prints "11"
169 - * ```
170 - *
171 - * [ElementHandle](https://playwright.dev/docs/api/class-elementhandle) instances can be passed as an argument to the
172 - * [page.evaluate(pageFunction[, arg])](https://playwright.dev/docs/api/class-page#page-evaluate):
173 - *
174 - * ```js
175 - * const bodyHandle = await page.evaluate('document.body');
176 - * const html = await page.evaluate<string, HTMLElement>(([body, suffix]) =>
177 - * body.innerHTML + suffix, [bodyHandle, 'hello']
178 - * );
179 - * await bodyHandle.dispose();
180 - * ```
181 - *
182 - * @param pageFunction Function to be evaluated in the page context.
183 - * @param arg Optional argument to pass to
184 - * [`pageFunction`](https://playwright.dev/docs/api/class-page#page-evaluate-option-expression).
185 - */
186 - evaluate<R>(pageFunction: PageFunction<void, R>, arg?: any): Promise<R>;
187 -
188 - /**
189 - * Returns the value of the
190 - * [`pageFunction`](https://playwright.dev/docs/api/class-page#page-evaluate-handle-option-expression) invocation as a
191 - * [JSHandle](https://playwright.dev/docs/api/class-jshandle).
192 - *
193 - * The only difference between
194 - * [page.evaluate(pageFunction[, arg])](https://playwright.dev/docs/api/class-page#page-evaluate) and
195 - * [page.evaluateHandle(pageFunction[, arg])](https://playwright.dev/docs/api/class-page#page-evaluate-handle) is that
196 - * [page.evaluateHandle(pageFunction[, arg])](https://playwright.dev/docs/api/class-page#page-evaluate-handle) returns
197 - * [JSHandle](https://playwright.dev/docs/api/class-jshandle).
198 - *
199 - * If the function passed to the
200 - * [page.evaluateHandle(pageFunction[, arg])](https://playwright.dev/docs/api/class-page#page-evaluate-handle) returns
201 - * a [Promise], then
202 - * [page.evaluateHandle(pageFunction[, arg])](https://playwright.dev/docs/api/class-page#page-evaluate-handle) would
203 - * wait for the promise to resolve and return its value.
204 - *
205 - * **Usage**
206 - *
207 - * ```js
208 - * // Handle for the window object.
209 - * const aWindowHandle = await page.evaluateHandle(() => Promise.resolve(window));
210 - * ```
211 - *
212 - * A string can also be passed in instead of a function:
213 - *
214 - * ```js
215 - * const aHandle = await page.evaluateHandle('document'); // Handle for the 'document'
216 - * ```
217 - *
218 - * [JSHandle](https://playwright.dev/docs/api/class-jshandle) instances can be passed as an argument to the
219 - * [page.evaluateHandle(pageFunction[, arg])](https://playwright.dev/docs/api/class-page#page-evaluate-handle):
220 - *
221 - * ```js
222 - * const aHandle = await page.evaluateHandle(() => document.body);
223 - * const resultHandle = await page.evaluateHandle(body => body.innerHTML, aHandle);
224 - * console.log(await resultHandle.jsonValue());
225 - * await resultHandle.dispose();
226 - * ```
227 - *
228 - * @param pageFunction Function to be evaluated in the page context.
229 - * @param arg Optional argument to pass to
230 - * [`pageFunction`](https://playwright.dev/docs/api/class-page#page-evaluate-handle-option-expression).
231 - */
232 - evaluateHandle<R, Arg>(pageFunction: PageFunction<Arg, R>, arg: Arg): Promise<SmartHandle<R>>;
233 - /**
234 - * Returns the value of the
235 - * [`pageFunction`](https://playwright.dev/docs/api/class-page#page-evaluate-handle-option-expression) invocation as a
236 - * [JSHandle](https://playwright.dev/docs/api/class-jshandle).
237 - *
238 - * The only difference between
239 - * [page.evaluate(pageFunction[, arg])](https://playwright.dev/docs/api/class-page#page-evaluate) and
240 - * [page.evaluateHandle(pageFunction[, arg])](https://playwright.dev/docs/api/class-page#page-evaluate-handle) is that
241 - * [page.evaluateHandle(pageFunction[, arg])](https://playwright.dev/docs/api/class-page#page-evaluate-handle) returns
242 - * [JSHandle](https://playwright.dev/docs/api/class-jshandle).
243 - *
244 - * If the function passed to the
245 - * [page.evaluateHandle(pageFunction[, arg])](https://playwright.dev/docs/api/class-page#page-evaluate-handle) returns
246 - * a [Promise], then
247 - * [page.evaluateHandle(pageFunction[, arg])](https://playwright.dev/docs/api/class-page#page-evaluate-handle) would
248 - * wait for the promise to resolve and return its value.
249 - *
250 - * **Usage**
251 - *
252 - * ```js
253 - * // Handle for the window object.
254 - * const aWindowHandle = await page.evaluateHandle(() => Promise.resolve(window));
255 - * ```
256 - *
257 - * A string can also be passed in instead of a function:
258 - *
259 - * ```js
260 - * const aHandle = await page.evaluateHandle('document'); // Handle for the 'document'
261 - * ```
262 - *
263 - * [JSHandle](https://playwright.dev/docs/api/class-jshandle) instances can be passed as an argument to the
264 - * [page.evaluateHandle(pageFunction[, arg])](https://playwright.dev/docs/api/class-page#page-evaluate-handle):
265 - *
266 - * ```js
267 - * const aHandle = await page.evaluateHandle(() => document.body);
268 - * const resultHandle = await page.evaluateHandle(body => body.innerHTML, aHandle);
269 - * console.log(await resultHandle.jsonValue());
270 - * await resultHandle.dispose();
271 - * ```
272 - *
273 - * @param pageFunction Function to be evaluated in the page context.
274 - * @param arg Optional argument to pass to
275 - * [`pageFunction`](https://playwright.dev/docs/api/class-page#page-evaluate-handle-option-expression).
276 - */
277 - evaluateHandle<R>(pageFunction: PageFunction<void, R>, arg?: any): Promise<SmartHandle<R>>;
278 -
279 - /**
280 - * Adds a script which would be evaluated in one of the following scenarios:
281 - * - Whenever the page is navigated.
282 - * - Whenever the child frame is attached or navigated. In this case, the script is evaluated in the context of the
283 - * newly attached frame.
284 - *
285 - * The script is evaluated after the document was created but before any of its scripts were run. This is useful to
286 - * amend the JavaScript environment, e.g. to seed `Math.random`.
287 - *
288 - * **Usage**
289 - *
290 - * An example of overriding `Math.random` before the page loads:
291 - *
292 - * ```js
293 - * // preload.js
294 - * Math.random = () => 42;
295 - * ```
296 - *
297 - * ```js
298 - * // In your playwright script, assuming the preload.js file is in same directory
299 - * await page.addInitScript({ path: './preload.js' });
300 - * ```
301 - *
302 - * ```js
303 - * await page.addInitScript(mock => {
304 - * window.mock = mock;
305 - * }, mock);
306 - * ```
307 - *
308 - * **NOTE** The order of evaluation of multiple scripts installed via
309 - * [browserContext.addInitScript(script[, arg])](https://playwright.dev/docs/api/class-browsercontext#browser-context-add-init-script)
310 - * and [page.addInitScript(script[, arg])](https://playwright.dev/docs/api/class-page#page-add-init-script) is not
311 - * defined.
312 - *
313 - * @param script Script to be evaluated in the page.
314 - * @param arg Optional argument to pass to
315 - * [`script`](https://playwright.dev/docs/api/class-page#page-add-init-script-option-script) (only supported when
316 - * passing a function).
317 - */
318 - addInitScript<Arg>(script: PageFunction<Arg, any> | { path?: string, content?: string }, arg?: Arg): Promise<Disposable>;
319 -
320 - /**
321 - * **NOTE** Use locator-based [page.locator(selector[, options])](https://playwright.dev/docs/api/class-page#page-locator)
322 - * instead. Read more about [locators](https://playwright.dev/docs/locators).
323 - *
324 - * The method finds an element matching the specified selector within the page. If no elements match the selector, the
325 - * return value resolves to `null`. To wait for an element on the page, use
326 - * [locator.waitFor([options])](https://playwright.dev/docs/api/class-locator#locator-wait-for).
327 - * @param selector A selector to query for.
328 - * @param options
329 - */
330 - $<K extends keyof HTMLElementTagNameMap>(selector: K, options?: { strict: boolean }): Promise<ElementHandleForTag<K> | null>;
331 - /**
332 - * **NOTE** Use locator-based [page.locator(selector[, options])](https://playwright.dev/docs/api/class-page#page-locator)
333 - * instead. Read more about [locators](https://playwright.dev/docs/locators).
334 - *
335 - * The method finds an element matching the specified selector within the page. If no elements match the selector, the
336 - * return value resolves to `null`. To wait for an element on the page, use
337 - * [locator.waitFor([options])](https://playwright.dev/docs/api/class-locator#locator-wait-for).
338 - * @param selector A selector to query for.
339 - * @param options
340 - */
341 - $(selector: string, options?: { strict: boolean }): Promise<ElementHandle<SVGElement | HTMLElement> | null>;
342 -
343 - /**
344 - * **NOTE** Use locator-based [page.locator(selector[, options])](https://playwright.dev/docs/api/class-page#page-locator)
345 - * instead. Read more about [locators](https://playwright.dev/docs/locators).
346 - *
347 - * The method finds all elements matching the specified selector within the page. If no elements match the selector,
348 - * the return value resolves to `[]`.
349 - * @param selector A selector to query for.
350 - */
351 - $$<K extends keyof HTMLElementTagNameMap>(selector: K): Promise<ElementHandleForTag<K>[]>;
352 - /**
353 - * **NOTE** Use locator-based [page.locator(selector[, options])](https://playwright.dev/docs/api/class-page#page-locator)
354 - * instead. Read more about [locators](https://playwright.dev/docs/locators).
355 - *
356 - * The method finds all elements matching the specified selector within the page. If no elements match the selector,
357 - * the return value resolves to `[]`.
358 - * @param selector A selector to query for.
359 - */
360 - $$(selector: string): Promise<ElementHandle<SVGElement | HTMLElement>[]>;
361 -
362 - /**
363 - * **NOTE** This method does not wait for the element to pass actionability checks and therefore can lead to the flaky tests.
364 - * Use
365 - * [locator.evaluate(pageFunction[, arg, options])](https://playwright.dev/docs/api/class-locator#locator-evaluate),
366 - * other [Locator](https://playwright.dev/docs/api/class-locator) helper methods or web-first assertions instead.
367 - *
368 - * The method finds an element matching the specified selector within the page and passes it as a first argument to
369 - * [`pageFunction`](https://playwright.dev/docs/api/class-page#page-eval-on-selector-option-expression). If no
370 - * elements match the selector, the method throws an error. Returns the value of
371 - * [`pageFunction`](https://playwright.dev/docs/api/class-page#page-eval-on-selector-option-expression).
372 - *
373 - * If [`pageFunction`](https://playwright.dev/docs/api/class-page#page-eval-on-selector-option-expression) returns a
374 - * [Promise], then
375 - * [page.$eval(selector, pageFunction[, arg, options])](https://playwright.dev/docs/api/class-page#page-eval-on-selector)
376 - * would wait for the promise to resolve and return its value.
377 - *
378 - * **Usage**
379 - *
380 - * ```js
381 - * const searchValue = await page.$eval('#search', el => el.value);
382 - * const preloadHref = await page.$eval('link[rel=preload]', el => el.href);
383 - * const html = await page.$eval('.main-container', (e, suffix) => e.outerHTML + suffix, 'hello');
384 - * // In TypeScript, this example requires an explicit type annotation (HTMLLinkElement) on el:
385 - * const preloadHrefTS = await page.$eval('link[rel=preload]', (el: HTMLLinkElement) => el.href);
386 - * ```
387 - *
388 - * @param selector A selector to query for.
389 - * @param pageFunction Function to be evaluated in the page context.
390 - * @param arg Optional argument to pass to
391 - * [`pageFunction`](https://playwright.dev/docs/api/class-page#page-eval-on-selector-option-expression).
392 - * @param options
393 - */
394 - $eval<K extends keyof HTMLElementTagNameMap, R, Arg>(selector: K, pageFunction: PageFunctionOn<HTMLElementTagNameMap[K], Arg, R>, arg: Arg): Promise<R>;
395 - /**
396 - * **NOTE** This method does not wait for the element to pass actionability checks and therefore can lead to the flaky tests.
397 - * Use
398 - * [locator.evaluate(pageFunction[, arg, options])](https://playwright.dev/docs/api/class-locator#locator-evaluate),
399 - * other [Locator](https://playwright.dev/docs/api/class-locator) helper methods or web-first assertions instead.
400 - *
401 - * The method finds an element matching the specified selector within the page and passes it as a first argument to
402 - * [`pageFunction`](https://playwright.dev/docs/api/class-page#page-eval-on-selector-option-expression). If no
403 - * elements match the selector, the method throws an error. Returns the value of
404 - * [`pageFunction`](https://playwright.dev/docs/api/class-page#page-eval-on-selector-option-expression).
405 - *
406 - * If [`pageFunction`](https://playwright.dev/docs/api/class-page#page-eval-on-selector-option-expression) returns a
407 - * [Promise], then
408 - * [page.$eval(selector, pageFunction[, arg, options])](https://playwright.dev/docs/api/class-page#page-eval-on-selector)
409 - * would wait for the promise to resolve and return its value.
410 - *
411 - * **Usage**
412 - *
413 - * ```js
414 - * const searchValue = await page.$eval('#search', el => el.value);
415 - * const preloadHref = await page.$eval('link[rel=preload]', el => el.href);
416 - * const html = await page.$eval('.main-container', (e, suffix) => e.outerHTML + suffix, 'hello');
417 - * // In TypeScript, this example requires an explicit type annotation (HTMLLinkElement) on el:
418 - * const preloadHrefTS = await page.$eval('link[rel=preload]', (el: HTMLLinkElement) => el.href);
419 - * ```
420 - *
421 - * @param selector A selector to query for.
422 - * @param pageFunction Function to be evaluated in the page context.
423 - * @param arg Optional argument to pass to
424 - * [`pageFunction`](https://playwright.dev/docs/api/class-page#page-eval-on-selector-option-expression).
425 - * @param options
426 - */
427 - $eval<R, Arg, E extends SVGElement | HTMLElement = SVGElement | HTMLElement>(selector: string, pageFunction: PageFunctionOn<E, Arg, R>, arg: Arg): Promise<R>;
428 - /**
429 - * **NOTE** This method does not wait for the element to pass actionability checks and therefore can lead to the flaky tests.
430 - * Use
431 - * [locator.evaluate(pageFunction[, arg, options])](https://playwright.dev/docs/api/class-locator#locator-evaluate),
432 - * other [Locator](https://playwright.dev/docs/api/class-locator) helper methods or web-first assertions instead.
433 - *
434 - * The method finds an element matching the specified selector within the page and passes it as a first argument to
435 - * [`pageFunction`](https://playwright.dev/docs/api/class-page#page-eval-on-selector-option-expression). If no
436 - * elements match the selector, the method throws an error. Returns the value of
437 - * [`pageFunction`](https://playwright.dev/docs/api/class-page#page-eval-on-selector-option-expression).
438 - *
439 - * If [`pageFunction`](https://playwright.dev/docs/api/class-page#page-eval-on-selector-option-expression) returns a
440 - * [Promise], then
441 - * [page.$eval(selector, pageFunction[, arg, options])](https://playwright.dev/docs/api/class-page#page-eval-on-selector)
442 - * would wait for the promise to resolve and return its value.
443 - *
444 - * **Usage**
445 - *
446 - * ```js
447 - * const searchValue = await page.$eval('#search', el => el.value);
448 - * const preloadHref = await page.$eval('link[rel=preload]', el => el.href);
449 - * const html = await page.$eval('.main-container', (e, suffix) => e.outerHTML + suffix, 'hello');
450 - * // In TypeScript, this example requires an explicit type annotation (HTMLLinkElement) on el:
451 - * const preloadHrefTS = await page.$eval('link[rel=preload]', (el: HTMLLinkElement) => el.href);
452 - * ```
453 - *
454 - * @param selector A selector to query for.
455 - * @param pageFunction Function to be evaluated in the page context.
456 - * @param arg Optional argument to pass to
457 - * [`pageFunction`](https://playwright.dev/docs/api/class-page#page-eval-on-selector-option-expression).
458 - * @param options
459 - */
460 - $eval<K extends keyof HTMLElementTagNameMap, R>(selector: K, pageFunction: PageFunctionOn<HTMLElementTagNameMap[K], void, R>, arg?: any): Promise<R>;
461 - /**
462 - * **NOTE** This method does not wait for the element to pass actionability checks and therefore can lead to the flaky tests.
463 - * Use
464 - * [locator.evaluate(pageFunction[, arg, options])](https://playwright.dev/docs/api/class-locator#locator-evaluate),
465 - * other [Locator](https://playwright.dev/docs/api/class-locator) helper methods or web-first assertions instead.
466 - *
467 - * The method finds an element matching the specified selector within the page and passes it as a first argument to
468 - * [`pageFunction`](https://playwright.dev/docs/api/class-page#page-eval-on-selector-option-expression). If no
469 - * elements match the selector, the method throws an error. Returns the value of
470 - * [`pageFunction`](https://playwright.dev/docs/api/class-page#page-eval-on-selector-option-expression).
471 - *
472 - * If [`pageFunction`](https://playwright.dev/docs/api/class-page#page-eval-on-selector-option-expression) returns a
473 - * [Promise], then
474 - * [page.$eval(selector, pageFunction[, arg, options])](https://playwright.dev/docs/api/class-page#page-eval-on-selector)
475 - * would wait for the promise to resolve and return its value.
476 - *
477 - * **Usage**
478 - *
479 - * ```js
480 - * const searchValue = await page.$eval('#search', el => el.value);
481 - * const preloadHref = await page.$eval('link[rel=preload]', el => el.href);
482 - * const html = await page.$eval('.main-container', (e, suffix) => e.outerHTML + suffix, 'hello');
483 - * // In TypeScript, this example requires an explicit type annotation (HTMLLinkElement) on el:
484 - * const preloadHrefTS = await page.$eval('link[rel=preload]', (el: HTMLLinkElement) => el.href);
485 - * ```
486 - *
487 - * @param selector A selector to query for.
488 - * @param pageFunction Function to be evaluated in the page context.
489 - * @param arg Optional argument to pass to
490 - * [`pageFunction`](https://playwright.dev/docs/api/class-page#page-eval-on-selector-option-expression).
491 - * @param options
492 - */
493 - $eval<R, E extends SVGElement | HTMLElement = SVGElement | HTMLElement>(selector: string, pageFunction: PageFunctionOn<E, void, R>, arg?: any): Promise<R>;
494 -
495 - /**
496 - * **NOTE** In most cases,
497 - * [locator.evaluateAll(pageFunction[, arg])](https://playwright.dev/docs/api/class-locator#locator-evaluate-all),
498 - * other [Locator](https://playwright.dev/docs/api/class-locator) helper methods and web-first assertions do a better
499 - * job.
500 - *
501 - * The method finds all elements matching the specified selector within the page and passes an array of matched
502 - * elements as a first argument to
503 - * [`pageFunction`](https://playwright.dev/docs/api/class-page#page-eval-on-selector-all-option-expression). Returns
504 - * the result of
505 - * [`pageFunction`](https://playwright.dev/docs/api/class-page#page-eval-on-selector-all-option-expression)
506 - * invocation.
507 - *
508 - * If [`pageFunction`](https://playwright.dev/docs/api/class-page#page-eval-on-selector-all-option-expression) returns
509 - * a [Promise], then
510 - * [page.$$eval(selector, pageFunction[, arg])](https://playwright.dev/docs/api/class-page#page-eval-on-selector-all)
511 - * would wait for the promise to resolve and return its value.
512 - *
513 - * **Usage**
514 - *
515 - * ```js
516 - * const divCounts = await page.$$eval('div', (divs, min) => divs.length >= min, 10);
517 - * ```
518 - *
519 - * @param selector A selector to query for.
520 - * @param pageFunction Function to be evaluated in the page context.
521 - * @param arg Optional argument to pass to
522 - * [`pageFunction`](https://playwright.dev/docs/api/class-page#page-eval-on-selector-all-option-expression).
523 - */
524 - $$eval<K extends keyof HTMLElementTagNameMap, R, Arg>(selector: K, pageFunction: PageFunctionOn<HTMLElementTagNameMap[K][], Arg, R>, arg: Arg): Promise<R>;
525 - /**
526 - * **NOTE** In most cases,
527 - * [locator.evaluateAll(pageFunction[, arg])](https://playwright.dev/docs/api/class-locator#locator-evaluate-all),
528 - * other [Locator](https://playwright.dev/docs/api/class-locator) helper methods and web-first assertions do a better
529 - * job.
530 - *
531 - * The method finds all elements matching the specified selector within the page and passes an array of matched
532 - * elements as a first argument to
533 - * [`pageFunction`](https://playwright.dev/docs/api/class-page#page-eval-on-selector-all-option-expression). Returns
534 - * the result of
535 - * [`pageFunction`](https://playwright.dev/docs/api/class-page#page-eval-on-selector-all-option-expression)
536 - * invocation.
537 - *
538 - * If [`pageFunction`](https://playwright.dev/docs/api/class-page#page-eval-on-selector-all-option-expression) returns
539 - * a [Promise], then
540 - * [page.$$eval(selector, pageFunction[, arg])](https://playwright.dev/docs/api/class-page#page-eval-on-selector-all)
541 - * would wait for the promise to resolve and return its value.
542 - *
543 - * **Usage**
544 - *
545 - * ```js
546 - * const divCounts = await page.$$eval('div', (divs, min) => divs.length >= min, 10);
547 - * ```
548 - *
549 - * @param selector A selector to query for.
550 - * @param pageFunction Function to be evaluated in the page context.
551 - * @param arg Optional argument to pass to
552 - * [`pageFunction`](https://playwright.dev/docs/api/class-page#page-eval-on-selector-all-option-expression).
553 - */
554 - $$eval<R, Arg, E extends SVGElement | HTMLElement = SVGElement | HTMLElement>(selector: string, pageFunction: PageFunctionOn<E[], Arg, R>, arg: Arg): Promise<R>;
555 - /**
556 - * **NOTE** In most cases,
557 - * [locator.evaluateAll(pageFunction[, arg])](https://playwright.dev/docs/api/class-locator#locator-evaluate-all),
558 - * other [Locator](https://playwright.dev/docs/api/class-locator) helper methods and web-first assertions do a better
559 - * job.
560 - *
561 - * The method finds all elements matching the specified selector within the page and passes an array of matched
562 - * elements as a first argument to
563 - * [`pageFunction`](https://playwright.dev/docs/api/class-page#page-eval-on-selector-all-option-expression). Returns
564 - * the result of
565 - * [`pageFunction`](https://playwright.dev/docs/api/class-page#page-eval-on-selector-all-option-expression)
566 - * invocation.
567 - *
568 - * If [`pageFunction`](https://playwright.dev/docs/api/class-page#page-eval-on-selector-all-option-expression) returns
569 - * a [Promise], then
570 - * [page.$$eval(selector, pageFunction[, arg])](https://playwright.dev/docs/api/class-page#page-eval-on-selector-all)
571 - * would wait for the promise to resolve and return its value.
572 - *
573 - * **Usage**
574 - *
575 - * ```js
576 - * const divCounts = await page.$$eval('div', (divs, min) => divs.length >= min, 10);
577 - * ```
578 - *
579 - * @param selector A selector to query for.
580 - * @param pageFunction Function to be evaluated in the page context.
581 - * @param arg Optional argument to pass to
582 - * [`pageFunction`](https://playwright.dev/docs/api/class-page#page-eval-on-selector-all-option-expression).
583 - */
584 - $$eval<K extends keyof HTMLElementTagNameMap, R>(selector: K, pageFunction: PageFunctionOn<HTMLElementTagNameMap[K][], void, R>, arg?: any): Promise<R>;
585 - /**
586 - * **NOTE** In most cases,
587 - * [locator.evaluateAll(pageFunction[, arg])](https://playwright.dev/docs/api/class-locator#locator-evaluate-all),
588 - * other [Locator](https://playwright.dev/docs/api/class-locator) helper methods and web-first assertions do a better
589 - * job.
590 - *
591 - * The method finds all elements matching the specified selector within the page and passes an array of matched
592 - * elements as a first argument to
593 - * [`pageFunction`](https://playwright.dev/docs/api/class-page#page-eval-on-selector-all-option-expression). Returns
594 - * the result of
595 - * [`pageFunction`](https://playwright.dev/docs/api/class-page#page-eval-on-selector-all-option-expression)
596 - * invocation.
597 - *
598 - * If [`pageFunction`](https://playwright.dev/docs/api/class-page#page-eval-on-selector-all-option-expression) returns
599 - * a [Promise], then
600 - * [page.$$eval(selector, pageFunction[, arg])](https://playwright.dev/docs/api/class-page#page-eval-on-selector-all)
601 - * would wait for the promise to resolve and return its value.
602 - *
603 - * **Usage**
604 - *
605 - * ```js
606 - * const divCounts = await page.$$eval('div', (divs, min) => divs.length >= min, 10);
607 - * ```
608 - *
609 - * @param selector A selector to query for.
610 - * @param pageFunction Function to be evaluated in the page context.
611 - * @param arg Optional argument to pass to
612 - * [`pageFunction`](https://playwright.dev/docs/api/class-page#page-eval-on-selector-all-option-expression).
613 - */
614 - $$eval<R, E extends SVGElement | HTMLElement = SVGElement | HTMLElement>(selector: string, pageFunction: PageFunctionOn<E[], void, R>, arg?: any): Promise<R>;
615 -
616 - /**
617 - * Returns when the
618 - * [`pageFunction`](https://playwright.dev/docs/api/class-page#page-wait-for-function-option-expression) returns a
619 - * truthy value. It resolves to a JSHandle of the truthy value.
620 - *
621 - * **Usage**
622 - *
623 - * The
624 - * [page.waitForFunction(pageFunction[, arg, options])](https://playwright.dev/docs/api/class-page#page-wait-for-function)
625 - * can be used to observe viewport size change:
626 - *
627 - * ```js
628 - * const { webkit } = require('playwright'); // Or 'chromium' or 'firefox'.
629 - *
630 - * (async () => {
631 - * const browser = await webkit.launch();
632 - * const page = await browser.newPage();
633 - * const watchDog = page.waitForFunction(() => window.innerWidth < 100);
634 - * await page.setViewportSize({ width: 50, height: 50 });
635 - * await watchDog;
636 - * await browser.close();
637 - * })();
638 - * ```
639 - *
640 - * To pass an argument to the predicate of
641 - * [page.waitForFunction(pageFunction[, arg, options])](https://playwright.dev/docs/api/class-page#page-wait-for-function)
642 - * function:
643 - *
644 - * ```js
645 - * const selector = '.foo';
646 - * await page.waitForFunction(selector => !!document.querySelector(selector), selector);
647 - * ```
648 - *
649 - * @param pageFunction Function to be evaluated in the page context.
650 - * @param arg Optional argument to pass to
651 - * [`pageFunction`](https://playwright.dev/docs/api/class-page#page-wait-for-function-option-expression).
652 - * @param options
653 - */
654 - waitForFunction<R, Arg>(pageFunction: PageFunction<Arg, R>, arg: Arg, options?: PageWaitForFunctionOptions): Promise<SmartHandle<R>>;
655 - /**
656 - * Returns when the
657 - * [`pageFunction`](https://playwright.dev/docs/api/class-page#page-wait-for-function-option-expression) returns a
658 - * truthy value. It resolves to a JSHandle of the truthy value.
659 - *
660 - * **Usage**
661 - *
662 - * The
663 - * [page.waitForFunction(pageFunction[, arg, options])](https://playwright.dev/docs/api/class-page#page-wait-for-function)
664 - * can be used to observe viewport size change:
665 - *
666 - * ```js
667 - * const { webkit } = require('playwright'); // Or 'chromium' or 'firefox'.
668 - *
669 - * (async () => {
670 - * const browser = await webkit.launch();
671 - * const page = await browser.newPage();
672 - * const watchDog = page.waitForFunction(() => window.innerWidth < 100);
673 - * await page.setViewportSize({ width: 50, height: 50 });
674 - * await watchDog;
675 - * await browser.close();
676 - * })();
677 - * ```
678 - *
679 - * To pass an argument to the predicate of
680 - * [page.waitForFunction(pageFunction[, arg, options])](https://playwright.dev/docs/api/class-page#page-wait-for-function)
681 - * function:
682 - *
683 - * ```js
684 - * const selector = '.foo';
685 - * await page.waitForFunction(selector => !!document.querySelector(selector), selector);
686 - * ```
687 - *
688 - * @param pageFunction Function to be evaluated in the page context.
689 - * @param arg Optional argument to pass to
690 - * [`pageFunction`](https://playwright.dev/docs/api/class-page#page-wait-for-function-option-expression).
691 - * @param options
692 - */
693 - waitForFunction<R>(pageFunction: PageFunction<void, R>, arg?: any, options?: PageWaitForFunctionOptions): Promise<SmartHandle<R>>;
694 -
695 - /**
696 - * **NOTE** Use web assertions that assert visibility or a locator-based
697 - * [locator.waitFor([options])](https://playwright.dev/docs/api/class-locator#locator-wait-for) instead. Read more
698 - * about [locators](https://playwright.dev/docs/locators).
699 - *
700 - * Returns when element specified by selector satisfies
701 - * [`state`](https://playwright.dev/docs/api/class-page#page-wait-for-selector-option-state) option. Returns `null` if
702 - * waiting for `hidden` or `detached`.
703 - *
704 - * **NOTE** Playwright automatically waits for element to be ready before performing an action. Using
705 - * [Locator](https://playwright.dev/docs/api/class-locator) objects and web-first assertions makes the code
706 - * wait-for-selector-free.
707 - *
708 - * Wait for the [`selector`](https://playwright.dev/docs/api/class-page#page-wait-for-selector-option-selector) to
709 - * satisfy [`state`](https://playwright.dev/docs/api/class-page#page-wait-for-selector-option-state) option (either
710 - * appear/disappear from dom, or become visible/hidden). If at the moment of calling the method
711 - * [`selector`](https://playwright.dev/docs/api/class-page#page-wait-for-selector-option-selector) already satisfies
712 - * the condition, the method will return immediately. If the selector doesn't satisfy the condition for the
713 - * [`timeout`](https://playwright.dev/docs/api/class-page#page-wait-for-selector-option-timeout) milliseconds, the
714 - * function will throw.
715 - *
716 - * **Usage**
717 - *
718 - * This method works across navigations:
719 - *
720 - * ```js
721 - * const { chromium } = require('playwright'); // Or 'firefox' or 'webkit'.
722 - *
723 - * (async () => {
724 - * const browser = await chromium.launch();
725 - * const page = await browser.newPage();
726 - * for (const currentURL of ['https://google.com', 'https://bbc.com']) {
727 - * await page.goto(currentURL);
728 - * const element = await page.waitForSelector('img');
729 - * console.log('Loaded image: ' + await element.getAttribute('src'));
730 - * }
731 - * await browser.close();
732 - * })();
733 - * ```
734 - *
735 - * @param selector A selector to query for.
736 - * @param options
737 - */
738 - waitForSelector<K extends keyof HTMLElementTagNameMap>(selector: K, options?: PageWaitForSelectorOptionsNotHidden): Promise<ElementHandleForTag<K>>;
739 - /**
740 - * **NOTE** Use web assertions that assert visibility or a locator-based
741 - * [locator.waitFor([options])](https://playwright.dev/docs/api/class-locator#locator-wait-for) instead. Read more
742 - * about [locators](https://playwright.dev/docs/locators).
743 - *
744 - * Returns when element specified by selector satisfies
745 - * [`state`](https://playwright.dev/docs/api/class-page#page-wait-for-selector-option-state) option. Returns `null` if
746 - * waiting for `hidden` or `detached`.
747 - *
748 - * **NOTE** Playwright automatically waits for element to be ready before performing an action. Using
749 - * [Locator](https://playwright.dev/docs/api/class-locator) objects and web-first assertions makes the code
750 - * wait-for-selector-free.
751 - *
752 - * Wait for the [`selector`](https://playwright.dev/docs/api/class-page#page-wait-for-selector-option-selector) to
753 - * satisfy [`state`](https://playwright.dev/docs/api/class-page#page-wait-for-selector-option-state) option (either
754 - * appear/disappear from dom, or become visible/hidden). If at the moment of calling the method
755 - * [`selector`](https://playwright.dev/docs/api/class-page#page-wait-for-selector-option-selector) already satisfies
756 - * the condition, the method will return immediately. If the selector doesn't satisfy the condition for the
757 - * [`timeout`](https://playwright.dev/docs/api/class-page#page-wait-for-selector-option-timeout) milliseconds, the
758 - * function will throw.
759 - *
760 - * **Usage**
761 - *
762 - * This method works across navigations:
763 - *
764 - * ```js
765 - * const { chromium } = require('playwright'); // Or 'firefox' or 'webkit'.
766 - *
767 - * (async () => {
768 - * const browser = await chromium.launch();
769 - * const page = await browser.newPage();
770 - * for (const currentURL of ['https://google.com', 'https://bbc.com']) {
771 - * await page.goto(currentURL);
772 - * const element = await page.waitForSelector('img');
773 - * console.log('Loaded image: ' + await element.getAttribute('src'));
774 - * }
775 - * await browser.close();
776 - * })();
777 - * ```
778 - *
779 - * @param selector A selector to query for.
780 - * @param options
781 - */
782 - waitForSelector(selector: string, options?: PageWaitForSelectorOptionsNotHidden): Promise<ElementHandle<SVGElement | HTMLElement>>;
783 - /**
784 - * **NOTE** Use web assertions that assert visibility or a locator-based
785 - * [locator.waitFor([options])](https://playwright.dev/docs/api/class-locator#locator-wait-for) instead. Read more
786 - * about [locators](https://playwright.dev/docs/locators).
787 - *
788 - * Returns when element specified by selector satisfies
789 - * [`state`](https://playwright.dev/docs/api/class-page#page-wait-for-selector-option-state) option. Returns `null` if
790 - * waiting for `hidden` or `detached`.
791 - *
792 - * **NOTE** Playwright automatically waits for element to be ready before performing an action. Using
793 - * [Locator](https://playwright.dev/docs/api/class-locator) objects and web-first assertions makes the code
794 - * wait-for-selector-free.
795 - *
796 - * Wait for the [`selector`](https://playwright.dev/docs/api/class-page#page-wait-for-selector-option-selector) to
797 - * satisfy [`state`](https://playwright.dev/docs/api/class-page#page-wait-for-selector-option-state) option (either
798 - * appear/disappear from dom, or become visible/hidden). If at the moment of calling the method
799 - * [`selector`](https://playwright.dev/docs/api/class-page#page-wait-for-selector-option-selector) already satisfies
800 - * the condition, the method will return immediately. If the selector doesn't satisfy the condition for the
801 - * [`timeout`](https://playwright.dev/docs/api/class-page#page-wait-for-selector-option-timeout) milliseconds, the
802 - * function will throw.
803 - *
804 - * **Usage**
805 - *
806 - * This method works across navigations:
807 - *
808 - * ```js
809 - * const { chromium } = require('playwright'); // Or 'firefox' or 'webkit'.
810 - *
811 - * (async () => {
812 - * const browser = await chromium.launch();
813 - * const page = await browser.newPage();
814 - * for (const currentURL of ['https://google.com', 'https://bbc.com']) {
815 - * await page.goto(currentURL);
816 - * const element = await page.waitForSelector('img');
817 - * console.log('Loaded image: ' + await element.getAttribute('src'));
818 - * }
819 - * await browser.close();
820 - * })();
821 - * ```
822 - *
823 - * @param selector A selector to query for.
824 - * @param options
825 - */
826 - waitForSelector<K extends keyof HTMLElementTagNameMap>(selector: K, options: PageWaitForSelectorOptions): Promise<ElementHandleForTag<K> | null>;
827 - /**
828 - * **NOTE** Use web assertions that assert visibility or a locator-based
829 - * [locator.waitFor([options])](https://playwright.dev/docs/api/class-locator#locator-wait-for) instead. Read more
830 - * about [locators](https://playwright.dev/docs/locators).
831 - *
832 - * Returns when element specified by selector satisfies
833 - * [`state`](https://playwright.dev/docs/api/class-page#page-wait-for-selector-option-state) option. Returns `null` if
834 - * waiting for `hidden` or `detached`.
835 - *
836 - * **NOTE** Playwright automatically waits for element to be ready before performing an action. Using
837 - * [Locator](https://playwright.dev/docs/api/class-locator) objects and web-first assertions makes the code
838 - * wait-for-selector-free.
839 - *
840 - * Wait for the [`selector`](https://playwright.dev/docs/api/class-page#page-wait-for-selector-option-selector) to
841 - * satisfy [`state`](https://playwright.dev/docs/api/class-page#page-wait-for-selector-option-state) option (either
842 - * appear/disappear from dom, or become visible/hidden). If at the moment of calling the method
843 - * [`selector`](https://playwright.dev/docs/api/class-page#page-wait-for-selector-option-selector) already satisfies
844 - * the condition, the method will return immediately. If the selector doesn't satisfy the condition for the
845 - * [`timeout`](https://playwright.dev/docs/api/class-page#page-wait-for-selector-option-timeout) milliseconds, the
846 - * function will throw.
847 - *
848 - * **Usage**
849 - *
850 - * This method works across navigations:
851 - *
852 - * ```js
853 - * const { chromium } = require('playwright'); // Or 'firefox' or 'webkit'.
854 - *
855 - * (async () => {
856 - * const browser = await chromium.launch();
857 - * const page = await browser.newPage();
858 - * for (const currentURL of ['https://google.com', 'https://bbc.com']) {
859 - * await page.goto(currentURL);
860 - * const element = await page.waitForSelector('img');
861 - * console.log('Loaded image: ' + await element.getAttribute('src'));
862 - * }
863 - * await browser.close();
864 - * })();
865 - * ```
866 - *
867 - * @param selector A selector to query for.
868 - * @param options
869 - */
870 - waitForSelector(selector: string, options: PageWaitForSelectorOptions): Promise<null|ElementHandle<SVGElement | HTMLElement>>;
871 -
872 - /**
873 - * The method adds a function called
874 - * [`name`](https://playwright.dev/docs/api/class-page#page-expose-binding-option-name) on the `window` object of
875 - * every frame in this page. When called, the function executes
876 - * [`callback`](https://playwright.dev/docs/api/class-page#page-expose-binding-option-callback) and returns a
877 - * [Promise] which resolves to the return value of
878 - * [`callback`](https://playwright.dev/docs/api/class-page#page-expose-binding-option-callback). If the
879 - * [`callback`](https://playwright.dev/docs/api/class-page#page-expose-binding-option-callback) returns a [Promise],
880 - * it will be awaited.
881 - *
882 - * The first argument of the
883 - * [`callback`](https://playwright.dev/docs/api/class-page#page-expose-binding-option-callback) function contains
884 - * information about the caller: `{ browserContext: BrowserContext, page: Page, frame: Frame }`.
885 - *
886 - * See
887 - * [browserContext.exposeBinding(name, callback)](https://playwright.dev/docs/api/class-browsercontext#browser-context-expose-binding)
888 - * for the context-wide version.
889 - *
890 - * **NOTE** Functions installed via
891 - * [page.exposeBinding(name, callback)](https://playwright.dev/docs/api/class-page#page-expose-binding) survive
892 - * navigations.
893 - *
894 - * **Usage**
895 - *
896 - * An example of exposing page URL to all frames in a page:
897 - *
898 - * ```js
899 - * const { webkit } = require('playwright'); // Or 'chromium' or 'firefox'.
900 - *
901 - * (async () => {
902 - * const browser = await webkit.launch({ headless: false });
903 - * const context = await browser.newContext();
904 - * const page = await context.newPage();
905 - * await page.exposeBinding('pageURL', ({ page }) => page.url());
906 - * await page.setContent(`
907 - * <script>
908 - * async function onClick() {
909 - * document.querySelector('div').textContent = await window.pageURL();
910 - * }
911 - * </script>
912 - * <button onclick="onClick()">Click me</button>
913 - * <div></div>
914 - * `);
915 - * await page.click('button');
916 - * })();
917 - * ```
918 - *
919 - * @param name Name of the function on the window object.
920 - * @param callback Callback function that will be called in the Playwright's context.
921 - */
922 - exposeBinding(name: string, playwrightBinding: (source: BindingSource, ...args: any[]) => any): Promise<Disposable>;
923 -
924 - /**
925 - * Removes all the listeners of the given type (or all registered listeners if no type given). Allows to wait for
926 - * async listeners to complete or to ignore subsequent errors from these listeners.
927 - *
928 - * **Usage**
929 - *
930 - * ```js
931 - * page.on('request', async request => {
932 - * const response = await request.response();
933 - * const body = await response.body();
934 - * console.log(body.byteLength);
935 - * });
936 - * await page.goto('https://playwright.dev', { waitUntil: 'domcontentloaded' });
937 - * // Waits for all the reported 'request' events to resolve.
938 - * await page.removeAllListeners('request', { behavior: 'wait' });
939 - * ```
940 - *
941 - * @param type
942 - * @param options
943 - */
944 - removeAllListeners(type?: string): this;
945 - /**
946 - * Removes all the listeners of the given type (or all registered listeners if no type given). Allows to wait for
947 - * async listeners to complete or to ignore subsequent errors from these listeners.
948 - *
949 - * **Usage**
950 - *
951 - * ```js
952 - * page.on('request', async request => {
953 - * const response = await request.response();
954 - * const body = await response.body();
955 - * console.log(body.byteLength);
956 - * });
957 - * await page.goto('https://playwright.dev', { waitUntil: 'domcontentloaded' });
958 - * // Waits for all the reported 'request' events to resolve.
959 - * await page.removeAllListeners('request', { behavior: 'wait' });
960 - * ```
961 - *
962 - * @param type
963 - * @param options
964 - */
965 - removeAllListeners(type: string | undefined, options: {
966 - /**
967 - * Specifies whether to wait for already running listeners and what to do if they throw errors:
968 - * - `'default'` - do not wait for current listener calls (if any) to finish, if the listener throws, it may result in unhandled error
969 - * - `'wait'` - wait for current listener calls (if any) to finish
970 - * - `'ignoreErrors'` - do not wait for current listener calls (if any) to finish, all errors thrown by the listeners after removal are silently caught
971 - */
972 - behavior?: 'wait'|'ignoreErrors'|'default'
973 - }): Promise<void>;
974 - /**
975 - * Emitted when the page closes.
976 - */
977 - on(event: 'close', listener: (page: Page) => any): this;
978 -
979 - /**
980 - * Emitted when JavaScript within the page calls one of console API methods, e.g. `console.log` or `console.dir`.
981 - *
982 - * The arguments passed into `console.log` are available on the
983 - * [ConsoleMessage](https://playwright.dev/docs/api/class-consolemessage) event handler argument.
984 - *
985 - * **Usage**
986 - *
987 - * ```js
988 - * page.on('console', async msg => {
989 - * const values = [];
990 - * for (const arg of msg.args())
991 - * values.push(await arg.jsonValue());
992 - * console.log(...values);
993 - * });
994 - * await page.evaluate(() => console.log('hello', 5, { foo: 'bar' }));
995 - * ```
996 - *
997 - */
998 - on(event: 'console', listener: (consoleMessage: ConsoleMessage) => any): this;
999 -
1000 - /**
1001 - * Emitted when the page crashes. Browser pages might crash if they try to allocate too much memory. When the page
1002 - * crashes, ongoing and subsequent operations will throw.
1003 - *
1004 - * The most common way to deal with crashes is to catch an exception:
1005 - *
1006 - * ```js
1007 - * try {
1008 - * // Crash might happen during a click.
1009 - * await page.click('button');
1010 - * // Or while waiting for an event.
1011 - * await page.waitForEvent('popup');
1012 - * } catch (e) {
1013 - * // When the page crashes, exception message contains 'crash'.
1014 - * }
1015 - * ```
1016 - *
1017 - */
1018 - on(event: 'crash', listener: (page: Page) => any): this;
1019 -
1020 - /**
1021 - * Emitted when a JavaScript dialog appears, such as `alert`, `prompt`, `confirm` or `beforeunload`. Listener **must**
1022 - * either [dialog.accept([promptText])](https://playwright.dev/docs/api/class-dialog#dialog-accept) or
1023 - * [dialog.dismiss()](https://playwright.dev/docs/api/class-dialog#dialog-dismiss) the dialog - otherwise the page
1024 - * will [freeze](https://developer.mozilla.org/en-US/docs/Web/JavaScript/EventLoop#never_blocking) waiting for the
1025 - * dialog, and actions like click will never finish.
1026 - *
1027 - * **Usage**
1028 - *
1029 - * ```js
1030 - * page.on('dialog', dialog => dialog.accept());
1031 - * ```
1032 - *
1033 - * **NOTE** When no [page.on('dialog')](https://playwright.dev/docs/api/class-page#page-event-dialog) or
1034 - * [browserContext.on('dialog')](https://playwright.dev/docs/api/class-browsercontext#browser-context-event-dialog)
1035 - * listeners are present, all dialogs are automatically dismissed.
1036 - *
1037 - */
1038 - on(event: 'dialog', listener: (dialog: Dialog) => any): this;
1039 -
1040 - /**
1041 - * Emitted when the JavaScript
1042 - * [`DOMContentLoaded`](https://developer.mozilla.org/en-US/docs/Web/Events/DOMContentLoaded) event is dispatched.
1043 - */
1044 - on(event: 'domcontentloaded', listener: (page: Page) => any): this;
1045 -
1046 - /**
1047 - * Emitted when attachment download started. User can access basic file operations on downloaded content via the
1048 - * passed [Download](https://playwright.dev/docs/api/class-download) instance.
1049 - */
1050 - on(event: 'download', listener: (download: Download) => any): this;
1051 -
1052 - /**
1053 - * Emitted when a file chooser is supposed to appear, such as after clicking the `<input type=file>`. Playwright can
1054 - * respond to it via setting the input files using
1055 - * [fileChooser.setFiles(files[, options])](https://playwright.dev/docs/api/class-filechooser#file-chooser-set-files)
1056 - * that can be uploaded after that.
1057 - *
1058 - * ```js
1059 - * page.on('filechooser', async fileChooser => {
1060 - * await fileChooser.setFiles(path.join(__dirname, '/tmp/myfile.pdf'));
1061 - * });
1062 - * ```
1063 - *
1064 - */
1065 - on(event: 'filechooser', listener: (fileChooser: FileChooser) => any): this;
1066 -
1067 - /**
1068 - * Emitted when a frame is attached.
1069 - */
1070 - on(event: 'frameattached', listener: (frame: Frame) => any): this;
1071 -
1072 - /**
1073 - * Emitted when a frame is detached.
1074 - */
1075 - on(event: 'framedetached', listener: (frame: Frame) => any): this;
1076 -
1077 - /**
1078 - * Emitted when a frame is navigated to a new url.
1079 - */
1080 - on(event: 'framenavigated', listener: (frame: Frame) => any): this;
1081 -
1082 - /**
1083 - * Emitted when the JavaScript [`load`](https://developer.mozilla.org/en-US/docs/Web/Events/load) event is dispatched.
1084 - */
1085 - on(event: 'load', listener: (page: Page) => any): this;
1086 -
1087 - /**
1088 - * Emitted when an uncaught exception happens within the page.
1089 - *
1090 - * ```js
1091 - * // Log all uncaught errors to the terminal
1092 - * page.on('pageerror', exception => {
1093 - * console.log(`Uncaught exception: "${exception}"`);
1094 - * });
1095 - *
1096 - * // Navigate to a page with an exception.
1097 - * await page.goto('data:text/html,<script>throw new Error("Test")</script>');
1098 - * ```
1099 - *
1100 - */
1101 - on(event: 'pageerror', listener: (error: Error) => any): this;
1102 -
1103 - /**
1104 - * Emitted when the page opens a new tab or window. This event is emitted in addition to the
1105 - * [browserContext.on('page')](https://playwright.dev/docs/api/class-browsercontext#browser-context-event-page), but
1106 - * only for popups relevant to this page.
1107 - *
1108 - * The earliest moment that page is available is when it has navigated to the initial url. For example, when opening a
1109 - * popup with `window.open('http://example.com')`, this event will fire when the network request to
1110 - * "http://example.com" is done and its response has started loading in the popup. If you would like to route/listen
1111 - * to this network request, use
1112 - * [browserContext.route(url, handler[, options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-route)
1113 - * and
1114 - * [browserContext.on('request')](https://playwright.dev/docs/api/class-browsercontext#browser-context-event-request)
1115 - * respectively instead of similar methods on the [Page](https://playwright.dev/docs/api/class-page).
1116 - *
1117 - * ```js
1118 - * // Start waiting for popup before clicking. Note no await.
1119 - * const popupPromise = page.waitForEvent('popup');
1120 - * await page.getByText('open the popup').click();
1121 - * const popup = await popupPromise;
1122 - * console.log(await popup.evaluate('location.href'));
1123 - * ```
1124 - *
1125 - * **NOTE** Use
1126 - * [page.waitForLoadState([state, options])](https://playwright.dev/docs/api/class-page#page-wait-for-load-state) to
1127 - * wait until the page gets to a particular state (you should not need it in most cases).
1128 - *
1129 - */
1130 - on(event: 'popup', listener: (page: Page) => any): this;
1131 -
1132 - /**
1133 - * Emitted when a page issues a request. The [request] object is read-only. In order to intercept and mutate requests,
1134 - * see [page.route(url, handler[, options])](https://playwright.dev/docs/api/class-page#page-route) or
1135 - * [browserContext.route(url, handler[, options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-route).
1136 - */
1137 - on(event: 'request', listener: (request: Request) => any): this;
1138 -
1139 - /**
1140 - * Emitted when a request fails, for example by timing out.
1141 - *
1142 - * ```js
1143 - * page.on('requestfailed', request => {
1144 - * console.log(request.url() + ' ' + request.failure().errorText);
1145 - * });
1146 - * ```
1147 - *
1148 - * **NOTE** HTTP Error responses, such as 404 or 503, are still successful responses from HTTP standpoint, so request
1149 - * will complete with
1150 - * [page.on('requestfinished')](https://playwright.dev/docs/api/class-page#page-event-request-finished) event and not
1151 - * with [page.on('requestfailed')](https://playwright.dev/docs/api/class-page#page-event-request-failed). A request
1152 - * will only be considered failed when the client cannot get an HTTP response from the server, e.g. due to network
1153 - * error net::ERR_FAILED.
1154 - *
1155 - */
1156 - on(event: 'requestfailed', listener: (request: Request) => any): this;
1157 -
1158 - /**
1159 - * Emitted when a request finishes successfully after downloading the response body. For a successful response, the
1160 - * sequence of events is `request`, `response` and `requestfinished`.
1161 - */
1162 - on(event: 'requestfinished', listener: (request: Request) => any): this;
1163 -
1164 - /**
1165 - * Emitted when [response] status and headers are received for a request. For a successful response, the sequence of
1166 - * events is `request`, `response` and `requestfinished`.
1167 - */
1168 - on(event: 'response', listener: (response: Response) => any): this;
1169 -
1170 - /**
1171 - * Emitted when [WebSocket](https://playwright.dev/docs/api/class-websocket) request is sent.
1172 - */
1173 - on(event: 'websocket', listener: (webSocket: WebSocket) => any): this;
1174 -
1175 - /**
1176 - * Emitted when a dedicated [WebWorker](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API) is spawned
1177 - * by the page.
1178 - */
1179 - on(event: 'worker', listener: (worker: Worker) => any): this;
1180 -
1181 - /**
1182 - * Adds an event listener that will be automatically removed after it is triggered once. See `addListener` for more information about this event.
1183 - */
1184 - once(event: 'close', listener: (page: Page) => any): this;
1185 -
1186 - /**
1187 - * Adds an event listener that will be automatically removed after it is triggered once. See `addListener` for more information about this event.
1188 - */
1189 - once(event: 'console', listener: (consoleMessage: ConsoleMessage) => any): this;
1190 -
1191 - /**
1192 - * Adds an event listener that will be automatically removed after it is triggered once. See `addListener` for more information about this event.
1193 - */
1194 - once(event: 'crash', listener: (page: Page) => any): this;
1195 -
1196 - /**
1197 - * Adds an event listener that will be automatically removed after it is triggered once. See `addListener` for more information about this event.
1198 - */
1199 - once(event: 'dialog', listener: (dialog: Dialog) => any): this;
1200 -
1201 - /**
1202 - * Adds an event listener that will be automatically removed after it is triggered once. See `addListener` for more information about this event.
1203 - */
1204 - once(event: 'domcontentloaded', listener: (page: Page) => any): this;
1205 -
1206 - /**
1207 - * Adds an event listener that will be automatically removed after it is triggered once. See `addListener` for more information about this event.
1208 - */
1209 - once(event: 'download', listener: (download: Download) => any): this;
1210 -
1211 - /**
1212 - * Adds an event listener that will be automatically removed after it is triggered once. See `addListener` for more information about this event.
1213 - */
1214 - once(event: 'filechooser', listener: (fileChooser: FileChooser) => any): this;
1215 -
1216 - /**
1217 - * Adds an event listener that will be automatically removed after it is triggered once. See `addListener` for more information about this event.
1218 - */
1219 - once(event: 'frameattached', listener: (frame: Frame) => any): this;
1220 -
1221 - /**
1222 - * Adds an event listener that will be automatically removed after it is triggered once. See `addListener` for more information about this event.
1223 - */
1224 - once(event: 'framedetached', listener: (frame: Frame) => any): this;
1225 -
1226 - /**
1227 - * Adds an event listener that will be automatically removed after it is triggered once. See `addListener` for more information about this event.
1228 - */
1229 - once(event: 'framenavigated', listener: (frame: Frame) => any): this;
1230 -
1231 - /**
1232 - * Adds an event listener that will be automatically removed after it is triggered once. See `addListener` for more information about this event.
1233 - */
1234 - once(event: 'load', listener: (page: Page) => any): this;
1235 -
1236 - /**
1237 - * Adds an event listener that will be automatically removed after it is triggered once. See `addListener` for more information about this event.
1238 - */
1239 - once(event: 'pageerror', listener: (error: Error) => any): this;
1240 -
1241 - /**
1242 - * Adds an event listener that will be automatically removed after it is triggered once. See `addListener` for more information about this event.
1243 - */
1244 - once(event: 'popup', listener: (page: Page) => any): this;
1245 -
1246 - /**
1247 - * Adds an event listener that will be automatically removed after it is triggered once. See `addListener` for more information about this event.
1248 - */
1249 - once(event: 'request', listener: (request: Request) => any): this;
1250 -
1251 - /**
1252 - * Adds an event listener that will be automatically removed after it is triggered once. See `addListener` for more information about this event.
1253 - */
1254 - once(event: 'requestfailed', listener: (request: Request) => any): this;
1255 -
1256 - /**
1257 - * Adds an event listener that will be automatically removed after it is triggered once. See `addListener` for more information about this event.
1258 - */
1259 - once(event: 'requestfinished', listener: (request: Request) => any): this;
1260 -
1261 - /**
1262 - * Adds an event listener that will be automatically removed after it is triggered once. See `addListener` for more information about this event.
1263 - */
1264 - once(event: 'response', listener: (response: Response) => any): this;
1265 -
1266 - /**
1267 - * Adds an event listener that will be automatically removed after it is triggered once. See `addListener` for more information about this event.
1268 - */
1269 - once(event: 'websocket', listener: (webSocket: WebSocket) => any): this;
1270 -
1271 - /**
1272 - * Adds an event listener that will be automatically removed after it is triggered once. See `addListener` for more information about this event.
1273 - */
1274 - once(event: 'worker', listener: (worker: Worker) => any): this;
1275 -
1276 - /**
1277 - * Emitted when the page closes.
1278 - */
1279 - addListener(event: 'close', listener: (page: Page) => any): this;
1280 -
1281 - /**
1282 - * Emitted when JavaScript within the page calls one of console API methods, e.g. `console.log` or `console.dir`.
1283 - *
1284 - * The arguments passed into `console.log` are available on the
1285 - * [ConsoleMessage](https://playwright.dev/docs/api/class-consolemessage) event handler argument.
1286 - *
1287 - * **Usage**
1288 - *
1289 - * ```js
1290 - * page.on('console', async msg => {
1291 - * const values = [];
1292 - * for (const arg of msg.args())
1293 - * values.push(await arg.jsonValue());
1294 - * console.log(...values);
1295 - * });
1296 - * await page.evaluate(() => console.log('hello', 5, { foo: 'bar' }));
1297 - * ```
1298 - *
1299 - */
1300 - addListener(event: 'console', listener: (consoleMessage: ConsoleMessage) => any): this;
1301 -
1302 - /**
1303 - * Emitted when the page crashes. Browser pages might crash if they try to allocate too much memory. When the page
1304 - * crashes, ongoing and subsequent operations will throw.
1305 - *
1306 - * The most common way to deal with crashes is to catch an exception:
1307 - *
1308 - * ```js
1309 - * try {
1310 - * // Crash might happen during a click.
1311 - * await page.click('button');
1312 - * // Or while waiting for an event.
1313 - * await page.waitForEvent('popup');
1314 - * } catch (e) {
1315 - * // When the page crashes, exception message contains 'crash'.
1316 - * }
1317 - * ```
1318 - *
1319 - */
1320 - addListener(event: 'crash', listener: (page: Page) => any): this;
1321 -
1322 - /**
1323 - * Emitted when a JavaScript dialog appears, such as `alert`, `prompt`, `confirm` or `beforeunload`. Listener **must**
1324 - * either [dialog.accept([promptText])](https://playwright.dev/docs/api/class-dialog#dialog-accept) or
1325 - * [dialog.dismiss()](https://playwright.dev/docs/api/class-dialog#dialog-dismiss) the dialog - otherwise the page
1326 - * will [freeze](https://developer.mozilla.org/en-US/docs/Web/JavaScript/EventLoop#never_blocking) waiting for the
1327 - * dialog, and actions like click will never finish.
1328 - *
1329 - * **Usage**
1330 - *
1331 - * ```js
1332 - * page.on('dialog', dialog => dialog.accept());
1333 - * ```
1334 - *
1335 - * **NOTE** When no [page.on('dialog')](https://playwright.dev/docs/api/class-page#page-event-dialog) or
1336 - * [browserContext.on('dialog')](https://playwright.dev/docs/api/class-browsercontext#browser-context-event-dialog)
1337 - * listeners are present, all dialogs are automatically dismissed.
1338 - *
1339 - */
1340 - addListener(event: 'dialog', listener: (dialog: Dialog) => any): this;
1341 -
1342 - /**
1343 - * Emitted when the JavaScript
1344 - * [`DOMContentLoaded`](https://developer.mozilla.org/en-US/docs/Web/Events/DOMContentLoaded) event is dispatched.
1345 - */
1346 - addListener(event: 'domcontentloaded', listener: (page: Page) => any): this;
1347 -
1348 - /**
1349 - * Emitted when attachment download started. User can access basic file operations on downloaded content via the
1350 - * passed [Download](https://playwright.dev/docs/api/class-download) instance.
1351 - */
1352 - addListener(event: 'download', listener: (download: Download) => any): this;
1353 -
1354 - /**
1355 - * Emitted when a file chooser is supposed to appear, such as after clicking the `<input type=file>`. Playwright can
1356 - * respond to it via setting the input files using
1357 - * [fileChooser.setFiles(files[, options])](https://playwright.dev/docs/api/class-filechooser#file-chooser-set-files)
1358 - * that can be uploaded after that.
1359 - *
1360 - * ```js
1361 - * page.on('filechooser', async fileChooser => {
1362 - * await fileChooser.setFiles(path.join(__dirname, '/tmp/myfile.pdf'));
1363 - * });
1364 - * ```
1365 - *
1366 - */
1367 - addListener(event: 'filechooser', listener: (fileChooser: FileChooser) => any): this;
1368 -
1369 - /**
1370 - * Emitted when a frame is attached.
1371 - */
1372 - addListener(event: 'frameattached', listener: (frame: Frame) => any): this;
1373 -
1374 - /**
1375 - * Emitted when a frame is detached.
1376 - */
1377 - addListener(event: 'framedetached', listener: (frame: Frame) => any): this;
1378 -
1379 - /**
1380 - * Emitted when a frame is navigated to a new url.
1381 - */
1382 - addListener(event: 'framenavigated', listener: (frame: Frame) => any): this;
1383 -
1384 - /**
1385 - * Emitted when the JavaScript [`load`](https://developer.mozilla.org/en-US/docs/Web/Events/load) event is dispatched.
1386 - */
1387 - addListener(event: 'load', listener: (page: Page) => any): this;
1388 -
1389 - /**
1390 - * Emitted when an uncaught exception happens within the page.
1391 - *
1392 - * ```js
1393 - * // Log all uncaught errors to the terminal
1394 - * page.on('pageerror', exception => {
1395 - * console.log(`Uncaught exception: "${exception}"`);
1396 - * });
1397 - *
1398 - * // Navigate to a page with an exception.
1399 - * await page.goto('data:text/html,<script>throw new Error("Test")</script>');
1400 - * ```
1401 - *
1402 - */
1403 - addListener(event: 'pageerror', listener: (error: Error) => any): this;
1404 -
1405 - /**
1406 - * Emitted when the page opens a new tab or window. This event is emitted in addition to the
1407 - * [browserContext.on('page')](https://playwright.dev/docs/api/class-browsercontext#browser-context-event-page), but
1408 - * only for popups relevant to this page.
1409 - *
1410 - * The earliest moment that page is available is when it has navigated to the initial url. For example, when opening a
1411 - * popup with `window.open('http://example.com')`, this event will fire when the network request to
1412 - * "http://example.com" is done and its response has started loading in the popup. If you would like to route/listen
1413 - * to this network request, use
1414 - * [browserContext.route(url, handler[, options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-route)
1415 - * and
1416 - * [browserContext.on('request')](https://playwright.dev/docs/api/class-browsercontext#browser-context-event-request)
1417 - * respectively instead of similar methods on the [Page](https://playwright.dev/docs/api/class-page).
1418 - *
1419 - * ```js
1420 - * // Start waiting for popup before clicking. Note no await.
1421 - * const popupPromise = page.waitForEvent('popup');
1422 - * await page.getByText('open the popup').click();
1423 - * const popup = await popupPromise;
1424 - * console.log(await popup.evaluate('location.href'));
1425 - * ```
1426 - *
1427 - * **NOTE** Use
1428 - * [page.waitForLoadState([state, options])](https://playwright.dev/docs/api/class-page#page-wait-for-load-state) to
1429 - * wait until the page gets to a particular state (you should not need it in most cases).
1430 - *
1431 - */
1432 - addListener(event: 'popup', listener: (page: Page) => any): this;
1433 -
1434 - /**
1435 - * Emitted when a page issues a request. The [request] object is read-only. In order to intercept and mutate requests,
1436 - * see [page.route(url, handler[, options])](https://playwright.dev/docs/api/class-page#page-route) or
1437 - * [browserContext.route(url, handler[, options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-route).
1438 - */
1439 - addListener(event: 'request', listener: (request: Request) => any): this;
1440 -
1441 - /**
1442 - * Emitted when a request fails, for example by timing out.
1443 - *
1444 - * ```js
1445 - * page.on('requestfailed', request => {
1446 - * console.log(request.url() + ' ' + request.failure().errorText);
1447 - * });
1448 - * ```
1449 - *
1450 - * **NOTE** HTTP Error responses, such as 404 or 503, are still successful responses from HTTP standpoint, so request
1451 - * will complete with
1452 - * [page.on('requestfinished')](https://playwright.dev/docs/api/class-page#page-event-request-finished) event and not
1453 - * with [page.on('requestfailed')](https://playwright.dev/docs/api/class-page#page-event-request-failed). A request
1454 - * will only be considered failed when the client cannot get an HTTP response from the server, e.g. due to network
1455 - * error net::ERR_FAILED.
1456 - *
1457 - */
1458 - addListener(event: 'requestfailed', listener: (request: Request) => any): this;
1459 -
1460 - /**
1461 - * Emitted when a request finishes successfully after downloading the response body. For a successful response, the
1462 - * sequence of events is `request`, `response` and `requestfinished`.
1463 - */
1464 - addListener(event: 'requestfinished', listener: (request: Request) => any): this;
1465 -
1466 - /**
1467 - * Emitted when [response] status and headers are received for a request. For a successful response, the sequence of
1468 - * events is `request`, `response` and `requestfinished`.
1469 - */
1470 - addListener(event: 'response', listener: (response: Response) => any): this;
1471 -
1472 - /**
1473 - * Emitted when [WebSocket](https://playwright.dev/docs/api/class-websocket) request is sent.
1474 - */
1475 - addListener(event: 'websocket', listener: (webSocket: WebSocket) => any): this;
1476 -
1477 - /**
1478 - * Emitted when a dedicated [WebWorker](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API) is spawned
1479 - * by the page.
1480 - */
1481 - addListener(event: 'worker', listener: (worker: Worker) => any): this;
1482 -
1483 - /**
1484 - * Removes an event listener added by `on` or `addListener`.
1485 - */
1486 - removeListener(event: 'close', listener: (page: Page) => any): this;
1487 -
1488 - /**
1489 - * Removes an event listener added by `on` or `addListener`.
1490 - */
1491 - removeListener(event: 'console', listener: (consoleMessage: ConsoleMessage) => any): this;
1492 -
1493 - /**
1494 - * Removes an event listener added by `on` or `addListener`.
1495 - */
1496 - removeListener(event: 'crash', listener: (page: Page) => any): this;
1497 -
1498 - /**
1499 - * Removes an event listener added by `on` or `addListener`.
1500 - */
1501 - removeListener(event: 'dialog', listener: (dialog: Dialog) => any): this;
1502 -
1503 - /**
1504 - * Removes an event listener added by `on` or `addListener`.
1505 - */
1506 - removeListener(event: 'domcontentloaded', listener: (page: Page) => any): this;
1507 -
1508 - /**
1509 - * Removes an event listener added by `on` or `addListener`.
1510 - */
1511 - removeListener(event: 'download', listener: (download: Download) => any): this;
1512 -
1513 - /**
1514 - * Removes an event listener added by `on` or `addListener`.
1515 - */
1516 - removeListener(event: 'filechooser', listener: (fileChooser: FileChooser) => any): this;
1517 -
1518 - /**
1519 - * Removes an event listener added by `on` or `addListener`.
1520 - */
1521 - removeListener(event: 'frameattached', listener: (frame: Frame) => any): this;
1522 -
1523 - /**
1524 - * Removes an event listener added by `on` or `addListener`.
1525 - */
1526 - removeListener(event: 'framedetached', listener: (frame: Frame) => any): this;
1527 -
1528 - /**
1529 - * Removes an event listener added by `on` or `addListener`.
1530 - */
1531 - removeListener(event: 'framenavigated', listener: (frame: Frame) => any): this;
1532 -
1533 - /**
1534 - * Removes an event listener added by `on` or `addListener`.
1535 - */
1536 - removeListener(event: 'load', listener: (page: Page) => any): this;
1537 -
1538 - /**
1539 - * Removes an event listener added by `on` or `addListener`.
1540 - */
1541 - removeListener(event: 'pageerror', listener: (error: Error) => any): this;
1542 -
1543 - /**
1544 - * Removes an event listener added by `on` or `addListener`.
1545 - */
1546 - removeListener(event: 'popup', listener: (page: Page) => any): this;
1547 -
1548 - /**
1549 - * Removes an event listener added by `on` or `addListener`.
1550 - */
1551 - removeListener(event: 'request', listener: (request: Request) => any): this;
1552 -
1553 - /**
1554 - * Removes an event listener added by `on` or `addListener`.
1555 - */
1556 - removeListener(event: 'requestfailed', listener: (request: Request) => any): this;
1557 -
1558 - /**
1559 - * Removes an event listener added by `on` or `addListener`.
1560 - */
1561 - removeListener(event: 'requestfinished', listener: (request: Request) => any): this;
1562 -
1563 - /**
1564 - * Removes an event listener added by `on` or `addListener`.
1565 - */
1566 - removeListener(event: 'response', listener: (response: Response) => any): this;
1567 -
1568 - /**
1569 - * Removes an event listener added by `on` or `addListener`.
1570 - */
1571 - removeListener(event: 'websocket', listener: (webSocket: WebSocket) => any): this;
1572 -
1573 - /**
1574 - * Removes an event listener added by `on` or `addListener`.
1575 - */
1576 - removeListener(event: 'worker', listener: (worker: Worker) => any): this;
1577 -
1578 - /**
1579 - * Removes an event listener added by `on` or `addListener`.
1580 - */
1581 - off(event: 'close', listener: (page: Page) => any): this;
1582 -
1583 - /**
1584 - * Removes an event listener added by `on` or `addListener`.
1585 - */
1586 - off(event: 'console', listener: (consoleMessage: ConsoleMessage) => any): this;
1587 -
1588 - /**
1589 - * Removes an event listener added by `on` or `addListener`.
1590 - */
1591 - off(event: 'crash', listener: (page: Page) => any): this;
1592 -
1593 - /**
1594 - * Removes an event listener added by `on` or `addListener`.
1595 - */
1596 - off(event: 'dialog', listener: (dialog: Dialog) => any): this;
1597 -
1598 - /**
1599 - * Removes an event listener added by `on` or `addListener`.
1600 - */
1601 - off(event: 'domcontentloaded', listener: (page: Page) => any): this;
1602 -
1603 - /**
1604 - * Removes an event listener added by `on` or `addListener`.
1605 - */
1606 - off(event: 'download', listener: (download: Download) => any): this;
1607 -
1608 - /**
1609 - * Removes an event listener added by `on` or `addListener`.
1610 - */
1611 - off(event: 'filechooser', listener: (fileChooser: FileChooser) => any): this;
1612 -
1613 - /**
1614 - * Removes an event listener added by `on` or `addListener`.
1615 - */
1616 - off(event: 'frameattached', listener: (frame: Frame) => any): this;
1617 -
1618 - /**
1619 - * Removes an event listener added by `on` or `addListener`.
1620 - */
1621 - off(event: 'framedetached', listener: (frame: Frame) => any): this;
1622 -
1623 - /**
1624 - * Removes an event listener added by `on` or `addListener`.
1625 - */
1626 - off(event: 'framenavigated', listener: (frame: Frame) => any): this;
1627 -
1628 - /**
1629 - * Removes an event listener added by `on` or `addListener`.
1630 - */
1631 - off(event: 'load', listener: (page: Page) => any): this;
1632 -
1633 - /**
1634 - * Removes an event listener added by `on` or `addListener`.
1635 - */
1636 - off(event: 'pageerror', listener: (error: Error) => any): this;
1637 -
1638 - /**
1639 - * Removes an event listener added by `on` or `addListener`.
1640 - */
1641 - off(event: 'popup', listener: (page: Page) => any): this;
1642 -
1643 - /**
1644 - * Removes an event listener added by `on` or `addListener`.
1645 - */
1646 - off(event: 'request', listener: (request: Request) => any): this;
1647 -
1648 - /**
1649 - * Removes an event listener added by `on` or `addListener`.
1650 - */
1651 - off(event: 'requestfailed', listener: (request: Request) => any): this;
1652 -
1653 - /**
1654 - * Removes an event listener added by `on` or `addListener`.
1655 - */
1656 - off(event: 'requestfinished', listener: (request: Request) => any): this;
1657 -
1658 - /**
1659 - * Removes an event listener added by `on` or `addListener`.
1660 - */
1661 - off(event: 'response', listener: (response: Response) => any): this;
1662 -
1663 - /**
1664 - * Removes an event listener added by `on` or `addListener`.
1665 - */
1666 - off(event: 'websocket', listener: (webSocket: WebSocket) => any): this;
1667 -
1668 - /**
1669 - * Removes an event listener added by `on` or `addListener`.
1670 - */
1671 - off(event: 'worker', listener: (worker: Worker) => any): this;
1672 -
1673 - /**
1674 - * Emitted when the page closes.
1675 - */
1676 - prependListener(event: 'close', listener: (page: Page) => any): this;
1677 -
1678 - /**
1679 - * Emitted when JavaScript within the page calls one of console API methods, e.g. `console.log` or `console.dir`.
1680 - *
1681 - * The arguments passed into `console.log` are available on the
1682 - * [ConsoleMessage](https://playwright.dev/docs/api/class-consolemessage) event handler argument.
1683 - *
1684 - * **Usage**
1685 - *
1686 - * ```js
1687 - * page.on('console', async msg => {
1688 - * const values = [];
1689 - * for (const arg of msg.args())
1690 - * values.push(await arg.jsonValue());
1691 - * console.log(...values);
1692 - * });
1693 - * await page.evaluate(() => console.log('hello', 5, { foo: 'bar' }));
1694 - * ```
1695 - *
1696 - */
1697 - prependListener(event: 'console', listener: (consoleMessage: ConsoleMessage) => any): this;
1698 -
1699 - /**
1700 - * Emitted when the page crashes. Browser pages might crash if they try to allocate too much memory. When the page
1701 - * crashes, ongoing and subsequent operations will throw.
1702 - *
1703 - * The most common way to deal with crashes is to catch an exception:
1704 - *
1705 - * ```js
1706 - * try {
1707 - * // Crash might happen during a click.
1708 - * await page.click('button');
1709 - * // Or while waiting for an event.
1710 - * await page.waitForEvent('popup');
1711 - * } catch (e) {
1712 - * // When the page crashes, exception message contains 'crash'.
1713 - * }
1714 - * ```
1715 - *
1716 - */
1717 - prependListener(event: 'crash', listener: (page: Page) => any): this;
1718 -
1719 - /**
1720 - * Emitted when a JavaScript dialog appears, such as `alert`, `prompt`, `confirm` or `beforeunload`. Listener **must**
1721 - * either [dialog.accept([promptText])](https://playwright.dev/docs/api/class-dialog#dialog-accept) or
1722 - * [dialog.dismiss()](https://playwright.dev/docs/api/class-dialog#dialog-dismiss) the dialog - otherwise the page
1723 - * will [freeze](https://developer.mozilla.org/en-US/docs/Web/JavaScript/EventLoop#never_blocking) waiting for the
1724 - * dialog, and actions like click will never finish.
1725 - *
1726 - * **Usage**
1727 - *
1728 - * ```js
1729 - * page.on('dialog', dialog => dialog.accept());
1730 - * ```
1731 - *
1732 - * **NOTE** When no [page.on('dialog')](https://playwright.dev/docs/api/class-page#page-event-dialog) or
1733 - * [browserContext.on('dialog')](https://playwright.dev/docs/api/class-browsercontext#browser-context-event-dialog)
1734 - * listeners are present, all dialogs are automatically dismissed.
1735 - *
1736 - */
1737 - prependListener(event: 'dialog', listener: (dialog: Dialog) => any): this;
1738 -
1739 - /**
1740 - * Emitted when the JavaScript
1741 - * [`DOMContentLoaded`](https://developer.mozilla.org/en-US/docs/Web/Events/DOMContentLoaded) event is dispatched.
1742 - */
1743 - prependListener(event: 'domcontentloaded', listener: (page: Page) => any): this;
1744 -
1745 - /**
1746 - * Emitted when attachment download started. User can access basic file operations on downloaded content via the
1747 - * passed [Download](https://playwright.dev/docs/api/class-download) instance.
1748 - */
1749 - prependListener(event: 'download', listener: (download: Download) => any): this;
1750 -
1751 - /**
1752 - * Emitted when a file chooser is supposed to appear, such as after clicking the `<input type=file>`. Playwright can
1753 - * respond to it via setting the input files using
1754 - * [fileChooser.setFiles(files[, options])](https://playwright.dev/docs/api/class-filechooser#file-chooser-set-files)
1755 - * that can be uploaded after that.
1756 - *
1757 - * ```js
1758 - * page.on('filechooser', async fileChooser => {
1759 - * await fileChooser.setFiles(path.join(__dirname, '/tmp/myfile.pdf'));
1760 - * });
1761 - * ```
1762 - *
1763 - */
1764 - prependListener(event: 'filechooser', listener: (fileChooser: FileChooser) => any): this;
1765 -
1766 - /**
1767 - * Emitted when a frame is attached.
1768 - */
1769 - prependListener(event: 'frameattached', listener: (frame: Frame) => any): this;
1770 -
1771 - /**
1772 - * Emitted when a frame is detached.
1773 - */
1774 - prependListener(event: 'framedetached', listener: (frame: Frame) => any): this;
1775 -
1776 - /**
1777 - * Emitted when a frame is navigated to a new url.
1778 - */
1779 - prependListener(event: 'framenavigated', listener: (frame: Frame) => any): this;
1780 -
1781 - /**
1782 - * Emitted when the JavaScript [`load`](https://developer.mozilla.org/en-US/docs/Web/Events/load) event is dispatched.
1783 - */
1784 - prependListener(event: 'load', listener: (page: Page) => any): this;
1785 -
1786 - /**
1787 - * Emitted when an uncaught exception happens within the page.
1788 - *
1789 - * ```js
1790 - * // Log all uncaught errors to the terminal
1791 - * page.on('pageerror', exception => {
1792 - * console.log(`Uncaught exception: "${exception}"`);
1793 - * });
1794 - *
1795 - * // Navigate to a page with an exception.
1796 - * await page.goto('data:text/html,<script>throw new Error("Test")</script>');
1797 - * ```
1798 - *
1799 - */
1800 - prependListener(event: 'pageerror', listener: (error: Error) => any): this;
1801 -
1802 - /**
1803 - * Emitted when the page opens a new tab or window. This event is emitted in addition to the
1804 - * [browserContext.on('page')](https://playwright.dev/docs/api/class-browsercontext#browser-context-event-page), but
1805 - * only for popups relevant to this page.
1806 - *
1807 - * The earliest moment that page is available is when it has navigated to the initial url. For example, when opening a
1808 - * popup with `window.open('http://example.com')`, this event will fire when the network request to
1809 - * "http://example.com" is done and its response has started loading in the popup. If you would like to route/listen
1810 - * to this network request, use
1811 - * [browserContext.route(url, handler[, options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-route)
1812 - * and
1813 - * [browserContext.on('request')](https://playwright.dev/docs/api/class-browsercontext#browser-context-event-request)
1814 - * respectively instead of similar methods on the [Page](https://playwright.dev/docs/api/class-page).
1815 - *
1816 - * ```js
1817 - * // Start waiting for popup before clicking. Note no await.
1818 - * const popupPromise = page.waitForEvent('popup');
1819 - * await page.getByText('open the popup').click();
1820 - * const popup = await popupPromise;
1821 - * console.log(await popup.evaluate('location.href'));
1822 - * ```
1823 - *
1824 - * **NOTE** Use
1825 - * [page.waitForLoadState([state, options])](https://playwright.dev/docs/api/class-page#page-wait-for-load-state) to
1826 - * wait until the page gets to a particular state (you should not need it in most cases).
1827 - *
1828 - */
1829 - prependListener(event: 'popup', listener: (page: Page) => any): this;
1830 -
1831 - /**
1832 - * Emitted when a page issues a request. The [request] object is read-only. In order to intercept and mutate requests,
1833 - * see [page.route(url, handler[, options])](https://playwright.dev/docs/api/class-page#page-route) or
1834 - * [browserContext.route(url, handler[, options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-route).
1835 - */
1836 - prependListener(event: 'request', listener: (request: Request) => any): this;
1837 -
1838 - /**
1839 - * Emitted when a request fails, for example by timing out.
1840 - *
1841 - * ```js
1842 - * page.on('requestfailed', request => {
1843 - * console.log(request.url() + ' ' + request.failure().errorText);
1844 - * });
1845 - * ```
1846 - *
1847 - * **NOTE** HTTP Error responses, such as 404 or 503, are still successful responses from HTTP standpoint, so request
1848 - * will complete with
1849 - * [page.on('requestfinished')](https://playwright.dev/docs/api/class-page#page-event-request-finished) event and not
1850 - * with [page.on('requestfailed')](https://playwright.dev/docs/api/class-page#page-event-request-failed). A request
1851 - * will only be considered failed when the client cannot get an HTTP response from the server, e.g. due to network
1852 - * error net::ERR_FAILED.
1853 - *
1854 - */
1855 - prependListener(event: 'requestfailed', listener: (request: Request) => any): this;
1856 -
1857 - /**
1858 - * Emitted when a request finishes successfully after downloading the response body. For a successful response, the
1859 - * sequence of events is `request`, `response` and `requestfinished`.
1860 - */
1861 - prependListener(event: 'requestfinished', listener: (request: Request) => any): this;
1862 -
1863 - /**
1864 - * Emitted when [response] status and headers are received for a request. For a successful response, the sequence of
1865 - * events is `request`, `response` and `requestfinished`.
1866 - */
1867 - prependListener(event: 'response', listener: (response: Response) => any): this;
1868 -
1869 - /**
1870 - * Emitted when [WebSocket](https://playwright.dev/docs/api/class-websocket) request is sent.
1871 - */
1872 - prependListener(event: 'websocket', listener: (webSocket: WebSocket) => any): this;
1873 -
1874 - /**
1875 - * Emitted when a dedicated [WebWorker](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API) is spawned
1876 - * by the page.
1877 - */
1878 - prependListener(event: 'worker', listener: (worker: Worker) => any): this;
1879 -
1880 - /**
1881 - * When testing a web page, sometimes unexpected overlays like a "Sign up" dialog appear and block actions you want to
1882 - * automate, e.g. clicking a button. These overlays don't always show up in the same way or at the same time, making
1883 - * them tricky to handle in automated tests.
1884 - *
1885 - * This method lets you set up a special function, called a handler, that activates when it detects that overlay is
1886 - * visible. The handler's job is to remove the overlay, allowing your test to continue as if the overlay wasn't there.
1887 - *
1888 - * Things to keep in mind:
1889 - * - When an overlay is shown predictably, we recommend explicitly waiting for it in your test and dismissing it as
1890 - * a part of your normal test flow, instead of using
1891 - * [page.addLocatorHandler(locator, handler[, options])](https://playwright.dev/docs/api/class-page#page-add-locator-handler).
1892 - * - Playwright checks for the overlay every time before executing or retrying an action that requires an
1893 - * [actionability check](https://playwright.dev/docs/actionability), or before performing an auto-waiting assertion check. When overlay
1894 - * is visible, Playwright calls the handler first, and then proceeds with the action/assertion. Note that the
1895 - * handler is only called when you perform an action/assertion - if the overlay becomes visible but you don't
1896 - * perform any actions, the handler will not be triggered.
1897 - * - After executing the handler, Playwright will ensure that overlay that triggered the handler is not visible
1898 - * anymore. You can opt-out of this behavior with
1899 - * [`noWaitAfter`](https://playwright.dev/docs/api/class-page#page-add-locator-handler-option-no-wait-after).
1900 - * - The execution time of the handler counts towards the timeout of the action/assertion that executed the handler.
1901 - * If your handler takes too long, it might cause timeouts.
1902 - * - You can register multiple handlers. However, only a single handler will be running at a time. Make sure the
1903 - * actions within a handler don't depend on another handler.
1904 - *
1905 - * **NOTE** Running the handler will alter your page state mid-test. For example it will change the currently focused
1906 - * element and move the mouse. Make sure that actions that run after the handler are self-contained and do not rely on
1907 - * the focus and mouse state being unchanged.
1908 - *
1909 - * For example, consider a test that calls
1910 - * [locator.focus([options])](https://playwright.dev/docs/api/class-locator#locator-focus) followed by
1911 - * [keyboard.press(key[, options])](https://playwright.dev/docs/api/class-keyboard#keyboard-press). If your handler
1912 - * clicks a button between these two actions, the focused element most likely will be wrong, and key press will happen
1913 - * on the unexpected element. Use
1914 - * [locator.press(key[, options])](https://playwright.dev/docs/api/class-locator#locator-press) instead to avoid this
1915 - * problem.
1916 - *
1917 - * Another example is a series of mouse actions, where
1918 - * [mouse.move(x, y[, options])](https://playwright.dev/docs/api/class-mouse#mouse-move) is followed by
1919 - * [mouse.down([options])](https://playwright.dev/docs/api/class-mouse#mouse-down). Again, when the handler runs
1920 - * between these two actions, the mouse position will be wrong during the mouse down. Prefer self-contained actions
1921 - * like [locator.click([options])](https://playwright.dev/docs/api/class-locator#locator-click) that do not rely on
1922 - * the state being unchanged by a handler.
1923 - *
1924 - * **Usage**
1925 - *
1926 - * An example that closes a "Sign up to the newsletter" dialog when it appears:
1927 - *
1928 - * ```js
1929 - * // Setup the handler.
1930 - * await page.addLocatorHandler(page.getByText('Sign up to the newsletter'), async () => {
1931 - * await page.getByRole('button', { name: 'No thanks' }).click();
1932 - * });
1933 - *
1934 - * // Write the test as usual.
1935 - * await page.goto('https://example.com');
1936 - * await page.getByRole('button', { name: 'Start here' }).click();
1937 - * ```
1938 - *
1939 - * An example that skips the "Confirm your security details" page when it is shown:
1940 - *
1941 - * ```js
1942 - * // Setup the handler.
1943 - * await page.addLocatorHandler(page.getByText('Confirm your security details'), async () => {
1944 - * await page.getByRole('button', { name: 'Remind me later' }).click();
1945 - * });
1946 - *
1947 - * // Write the test as usual.
1948 - * await page.goto('https://example.com');
1949 - * await page.getByRole('button', { name: 'Start here' }).click();
1950 - * ```
1951 - *
1952 - * An example with a custom callback on every actionability check. It uses a `<body>` locator that is always visible,
1953 - * so the handler is called before every actionability check. It is important to specify
1954 - * [`noWaitAfter`](https://playwright.dev/docs/api/class-page#page-add-locator-handler-option-no-wait-after), because
1955 - * the handler does not hide the `<body>` element.
1956 - *
1957 - * ```js
1958 - * // Setup the handler.
1959 - * await page.addLocatorHandler(page.locator('body'), async () => {
1960 - * await page.evaluate(() => window.removeObstructionsForTestIfNeeded());
1961 - * }, { noWaitAfter: true });
1962 - *
1963 - * // Write the test as usual.
1964 - * await page.goto('https://example.com');
1965 - * await page.getByRole('button', { name: 'Start here' }).click();
1966 - * ```
1967 - *
1968 - * Handler takes the original locator as an argument. You can also automatically remove the handler after a number of
1969 - * invocations by setting [`times`](https://playwright.dev/docs/api/class-page#page-add-locator-handler-option-times):
1970 - *
1971 - * ```js
1972 - * await page.addLocatorHandler(page.getByLabel('Close'), async locator => {
1973 - * await locator.click();
1974 - * }, { times: 1 });
1975 - * ```
1976 - *
1977 - * @param locator Locator that triggers the handler.
1978 - * @param handler Function that should be run once
1979 - * [`locator`](https://playwright.dev/docs/api/class-page#page-add-locator-handler-option-locator) appears. This
1980 - * function should get rid of the element that blocks actions like click.
1981 - * @param options
1982 - */
1983 - addLocatorHandler(locator: Locator, handler: ((locator: Locator) => Promise<any>), options?: {
1984 - /**
1985 - * By default, after calling the handler Playwright will wait until the overlay becomes hidden, and only then
1986 - * Playwright will continue with the action/assertion that triggered the handler. This option allows to opt-out of
1987 - * this behavior, so that overlay can stay visible after the handler has run.
1988 - */
1989 - noWaitAfter?: boolean;
1990 -
1991 - /**
1992 - * Specifies the maximum number of times this handler should be called. Unlimited by default.
1993 - */
1994 - times?: number;
1995 - }): Promise<void>;
1996 -
1997 - /**
1998 - * Adds a `<script>` tag into the page with the desired url or content. Returns the added tag when the script's onload
1999 - * fires or when the script content was injected into frame.
2000 - * @param options
2001 - */
2002 - addScriptTag(options?: {
2003 - /**
2004 - * Raw JavaScript content to be injected into frame.
2005 - */
2006 - content?: string;
2007 -
2008 - /**
2009 - * Path to the JavaScript file to be injected into frame. If `path` is a relative path, then it is resolved relative
2010 - * to the current working directory.
2011 - */
2012 - path?: string;
2013 -
2014 - /**
2015 - * Script type. Use 'module' in order to load a JavaScript ES6 module. See
2016 - * [script](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script) for more details.
2017 - */
2018 - type?: string;
2019 -
2020 - /**
2021 - * URL of a script to be added.
2022 - */
2023 - url?: string;
2024 - }): Promise<ElementHandle>;
2025 -
2026 - /**
2027 - * Adds a `<link rel="stylesheet">` tag into the page with the desired url or a `<style type="text/css">` tag with the
2028 - * content. Returns the added tag when the stylesheet's onload fires or when the CSS content was injected into frame.
2029 - * @param options
2030 - */
2031 - addStyleTag(options?: {
2032 - /**
2033 - * Raw CSS content to be injected into frame.
2034 - */
2035 - content?: string;
2036 -
2037 - /**
2038 - * Path to the CSS file to be injected into frame. If `path` is a relative path, then it is resolved relative to the
2039 - * current working directory.
2040 - */
2041 - path?: string;
2042 -
2043 - /**
2044 - * URL of the `<link>` tag.
2045 - */
2046 - url?: string;
2047 - }): Promise<ElementHandle>;
2048 -
2049 - /**
2050 - * Captures the aria snapshot of the page. Read more about [aria snapshots](https://playwright.dev/docs/aria-snapshots).
2051 - * @param options
2052 - */
2053 - ariaSnapshot(options?: {
2054 - /**
2055 - * When `true`, appends each element's bounding box as `[box=x,y,width,height]` to the snapshot. Coordinates are
2056 - * relative to the viewport, in CSS pixels, as returned by
2057 - * [`Element.getBoundingClientRect()`](https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect).
2058 - * Defaults to `false`.
2059 - */
2060 - boxes?: boolean;
2061 -
2062 - /**
2063 - * When specified, limits the depth of the snapshot.
2064 - */
2065 - depth?: number;
2066 -
2067 - /**
2068 - * When set to `"ai"`, returns a snapshot optimized for AI consumption: including element references like `[ref=e2]`
2069 - * and snapshots of `<iframe>`s. Defaults to `"default"`.
2070 - */
2071 - mode?: "ai"|"default";
2072 -
2073 - /**
2074 - * Maximum time in milliseconds. Defaults to `0` - no timeout. The default value can be changed via `actionTimeout`
2075 - * option in the config, or by using the
2076 - * [browserContext.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-timeout)
2077 - * or [page.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-timeout) methods.
2078 - */
2079 - timeout?: number;
2080 - }): Promise<string>;
2081 -
2082 - /**
2083 - * Brings page to front (activates tab).
2084 - */
2085 - bringToFront(): Promise<void>;
2086 -
2087 - /**
2088 - * Cancels an ongoing [page.pickLocator()](https://playwright.dev/docs/api/class-page#page-pick-locator) call by
2089 - * deactivating pick locator mode. If no pick locator mode is active, this method is a no-op.
2090 - */
2091 - cancelPickLocator(): Promise<void>;
2092 -
2093 - /**
2094 - * **NOTE** Use locator-based [locator.check([options])](https://playwright.dev/docs/api/class-locator#locator-check) instead.
2095 - * Read more about [locators](https://playwright.dev/docs/locators).
2096 - *
2097 - * This method checks an element matching
2098 - * [`selector`](https://playwright.dev/docs/api/class-page#page-check-option-selector) by performing the following
2099 - * steps:
2100 - * 1. Find an element matching [`selector`](https://playwright.dev/docs/api/class-page#page-check-option-selector).
2101 - * If there is none, wait until a matching element is attached to the DOM.
2102 - * 1. Ensure that matched element is a checkbox or a radio input. If not, this method throws. If the element is
2103 - * already checked, this method returns immediately.
2104 - * 1. Wait for [actionability](https://playwright.dev/docs/actionability) checks on the matched element, unless
2105 - * [`force`](https://playwright.dev/docs/api/class-page#page-check-option-force) option is set. If the element
2106 - * is detached during the checks, the whole action is retried.
2107 - * 1. Scroll the element into view if needed.
2108 - * 1. Use [page.mouse](https://playwright.dev/docs/api/class-page#page-mouse) to click in the center of the
2109 - * element.
2110 - * 1. Ensure that the element is now checked. If not, this method throws.
2111 - *
2112 - * When all steps combined have not finished during the specified
2113 - * [`timeout`](https://playwright.dev/docs/api/class-page#page-check-option-timeout), this method throws a
2114 - * [TimeoutError](https://playwright.dev/docs/api/class-timeouterror). Passing zero timeout disables this.
2115 - * @param selector A selector to search for an element. If there are multiple elements satisfying the selector, the first will be
2116 - * used.
2117 - * @param options
2118 - */
2119 - check(selector: string, options?: {
2120 - /**
2121 - * Whether to bypass the [actionability](https://playwright.dev/docs/actionability) checks. Defaults to `false`.
2122 - */
2123 - force?: boolean;
2124 -
2125 - /**
2126 - * This option has no effect.
2127 - * @deprecated This option has no effect.
2128 - */
2129 - noWaitAfter?: boolean;
2130 -
2131 - /**
2132 - * A point to use relative to the top-left corner of element padding box. If not specified, uses some visible point of
2133 - * the element.
2134 - */
2135 - position?: {
2136 - x: number;
2137 -
2138 - y: number;
2139 - };
2140 -
2141 - /**
2142 - * When true, the call requires selector to resolve to a single element. If given selector resolves to more than one
2143 - * element, the call throws an exception.
2144 - */
2145 - strict?: boolean;
2146 -
2147 - /**
2148 - * Maximum time in milliseconds. Defaults to `0` - no timeout. The default value can be changed via `actionTimeout`
2149 - * option in the config, or by using the
2150 - * [browserContext.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-timeout)
2151 - * or [page.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-timeout) methods.
2152 - */
2153 - timeout?: number;
2154 -
2155 - /**
2156 - * When set, this method only performs the [actionability](https://playwright.dev/docs/actionability) checks and skips the action. Defaults
2157 - * to `false`. Useful to wait until the element is ready for the action without performing it.
2158 - */
2159 - trial?: boolean;
2160 - }): Promise<void>;
2161 -
2162 - /**
2163 - * Clears all stored console messages from this page. Subsequent calls to
2164 - * [page.consoleMessages([options])](https://playwright.dev/docs/api/class-page#page-console-messages) will only
2165 - * return messages logged after the clear.
2166 - */
2167 - clearConsoleMessages(): Promise<void>;
2168 -
2169 - /**
2170 - * Clears all stored page errors from this page. Subsequent calls to
2171 - * [page.pageErrors([options])](https://playwright.dev/docs/api/class-page#page-page-errors) will only return errors
2172 - * thrown after the clear.
2173 - */
2174 - clearPageErrors(): Promise<void>;
2175 -
2176 - /**
2177 - * **NOTE** Use locator-based [locator.click([options])](https://playwright.dev/docs/api/class-locator#locator-click) instead.
2178 - * Read more about [locators](https://playwright.dev/docs/locators).
2179 - *
2180 - * This method clicks an element matching
2181 - * [`selector`](https://playwright.dev/docs/api/class-page#page-click-option-selector) by performing the following
2182 - * steps:
2183 - * 1. Find an element matching [`selector`](https://playwright.dev/docs/api/class-page#page-click-option-selector).
2184 - * If there is none, wait until a matching element is attached to the DOM.
2185 - * 1. Wait for [actionability](https://playwright.dev/docs/actionability) checks on the matched element, unless
2186 - * [`force`](https://playwright.dev/docs/api/class-page#page-click-option-force) option is set. If the element
2187 - * is detached during the checks, the whole action is retried.
2188 - * 1. Scroll the element into view if needed.
2189 - * 1. Use [page.mouse](https://playwright.dev/docs/api/class-page#page-mouse) to click in the center of the
2190 - * element, or the specified
2191 - * [`position`](https://playwright.dev/docs/api/class-page#page-click-option-position).
2192 - * 1. Wait for initiated navigations to either succeed or fail, unless
2193 - * [`noWaitAfter`](https://playwright.dev/docs/api/class-page#page-click-option-no-wait-after) option is set.
2194 - *
2195 - * When all steps combined have not finished during the specified
2196 - * [`timeout`](https://playwright.dev/docs/api/class-page#page-click-option-timeout), this method throws a
2197 - * [TimeoutError](https://playwright.dev/docs/api/class-timeouterror). Passing zero timeout disables this.
2198 - * @param selector A selector to search for an element. If there are multiple elements satisfying the selector, the first will be
2199 - * used.
2200 - * @param options
2201 - */
2202 - click(selector: string, options?: {
2203 - /**
2204 - * Defaults to `left`.
2205 - */
2206 - button?: "left"|"right"|"middle";
2207 -
2208 - /**
2209 - * defaults to 1. See [UIEvent.detail].
2210 - */
2211 - clickCount?: number;
2212 -
2213 - /**
2214 - * Time to wait between `mousedown` and `mouseup` in milliseconds. Defaults to 0.
2215 - */
2216 - delay?: number;
2217 -
2218 - /**
2219 - * Whether to bypass the [actionability](https://playwright.dev/docs/actionability) checks. Defaults to `false`.
2220 - */
2221 - force?: boolean;
2222 -
2223 - /**
2224 - * Modifier keys to press. Ensures that only these modifiers are pressed during the operation, and then restores
2225 - * current modifiers back. If not specified, currently pressed modifiers are used. "ControlOrMeta" resolves to
2226 - * "Control" on Windows and Linux and to "Meta" on macOS.
2227 - */
2228 - modifiers?: Array<"Alt"|"Control"|"ControlOrMeta"|"Meta"|"Shift">;
2229 -
2230 - /**
2231 - * Actions that initiate navigations are waiting for these navigations to happen and for pages to start loading. You
2232 - * can opt out of waiting via setting this flag. You would only need this option in the exceptional cases such as
2233 - * navigating to inaccessible pages. Defaults to `false`.
2234 - * @deprecated This option will default to `true` in the future.
2235 - */
2236 - noWaitAfter?: boolean;
2237 -
2238 - /**
2239 - * A point to use relative to the top-left corner of element padding box. If not specified, uses some visible point of
2240 - * the element.
2241 - */
2242 - position?: {
2243 - x: number;
2244 -
2245 - y: number;
2246 - };
2247 -
2248 - /**
2249 - * When true, the call requires selector to resolve to a single element. If given selector resolves to more than one
2250 - * element, the call throws an exception.
2251 - */
2252 - strict?: boolean;
2253 -
2254 - /**
2255 - * Maximum time in milliseconds. Defaults to `0` - no timeout. The default value can be changed via `actionTimeout`
2256 - * option in the config, or by using the
2257 - * [browserContext.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-timeout)
2258 - * or [page.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-timeout) methods.
2259 - */
2260 - timeout?: number;
2261 -
2262 - /**
2263 - * When set, this method only performs the [actionability](https://playwright.dev/docs/actionability) checks and skips the action. Defaults
2264 - * to `false`. Useful to wait until the element is ready for the action without performing it. Note that keyboard
2265 - * `modifiers` will be pressed regardless of `trial` to allow testing elements which are only visible when those keys
2266 - * are pressed.
2267 - */
2268 - trial?: boolean;
2269 - }): Promise<void>;
2270 -
2271 - /**
2272 - * If [`runBeforeUnload`](https://playwright.dev/docs/api/class-page#page-close-option-run-before-unload) is `false`,
2273 - * does not run any unload handlers and waits for the page to be closed. If
2274 - * [`runBeforeUnload`](https://playwright.dev/docs/api/class-page#page-close-option-run-before-unload) is `true` the
2275 - * method will run unload handlers, but will **not** wait for the page to close.
2276 - *
2277 - * By default, `page.close()` **does not** run `beforeunload` handlers.
2278 - *
2279 - * **NOTE** if [`runBeforeUnload`](https://playwright.dev/docs/api/class-page#page-close-option-run-before-unload) is
2280 - * passed as true, a `beforeunload` dialog might be summoned and should be handled manually via
2281 - * [page.on('dialog')](https://playwright.dev/docs/api/class-page#page-event-dialog) event.
2282 - *
2283 - * @param options
2284 - */
2285 - close(options?: {
2286 - /**
2287 - * The reason to be reported to the operations interrupted by the page closure.
2288 - */
2289 - reason?: string;
2290 -
2291 - /**
2292 - * Defaults to `false`. Whether to run the
2293 - * [before unload](https://developer.mozilla.org/en-US/docs/Web/Events/beforeunload) page handlers.
2294 - */
2295 - runBeforeUnload?: boolean;
2296 - }): Promise<void>;
2297 -
2298 - /**
2299 - * Returns up to (currently) 200 last console messages from this page. See
2300 - * [page.on('console')](https://playwright.dev/docs/api/class-page#page-event-console) for more details.
2301 - * @param options
2302 - */
2303 - consoleMessages(options?: {
2304 - /**
2305 - * Controls which messages are returned:
2306 - */
2307 - filter?: "all"|"since-navigation";
2308 - }): Promise<Array<ConsoleMessage>>;
2309 -
2310 - /**
2311 - * Gets the full HTML contents of the page, including the doctype.
2312 - */
2313 - content(): Promise<string>;
2314 -
2315 - /**
2316 - * Get the browser context that the page belongs to.
2317 - */
2318 - context(): BrowserContext;
2319 -
2320 - /**
2321 - * **NOTE** Use locator-based [locator.dblclick([options])](https://playwright.dev/docs/api/class-locator#locator-dblclick)
2322 - * instead. Read more about [locators](https://playwright.dev/docs/locators).
2323 - *
2324 - * This method double clicks an element matching
2325 - * [`selector`](https://playwright.dev/docs/api/class-page#page-dblclick-option-selector) by performing the following
2326 - * steps:
2327 - * 1. Find an element matching
2328 - * [`selector`](https://playwright.dev/docs/api/class-page#page-dblclick-option-selector). If there is none,
2329 - * wait until a matching element is attached to the DOM.
2330 - * 1. Wait for [actionability](https://playwright.dev/docs/actionability) checks on the matched element, unless
2331 - * [`force`](https://playwright.dev/docs/api/class-page#page-dblclick-option-force) option is set. If the
2332 - * element is detached during the checks, the whole action is retried.
2333 - * 1. Scroll the element into view if needed.
2334 - * 1. Use [page.mouse](https://playwright.dev/docs/api/class-page#page-mouse) to double click in the center of the
2335 - * element, or the specified
2336 - * [`position`](https://playwright.dev/docs/api/class-page#page-dblclick-option-position).
2337 - *
2338 - * When all steps combined have not finished during the specified
2339 - * [`timeout`](https://playwright.dev/docs/api/class-page#page-dblclick-option-timeout), this method throws a
2340 - * [TimeoutError](https://playwright.dev/docs/api/class-timeouterror). Passing zero timeout disables this.
2341 - *
2342 - * **NOTE** `page.dblclick()` dispatches two `click` events and a single `dblclick` event.
2343 - *
2344 - * @param selector A selector to search for an element. If there are multiple elements satisfying the selector, the first will be
2345 - * used.
2346 - * @param options
2347 - */
2348 - dblclick(selector: string, options?: {
2349 - /**
2350 - * Defaults to `left`.
2351 - */
2352 - button?: "left"|"right"|"middle";
2353 -
2354 - /**
2355 - * Time to wait between `mousedown` and `mouseup` in milliseconds. Defaults to 0.
2356 - */
2357 - delay?: number;
2358 -
2359 - /**
2360 - * Whether to bypass the [actionability](https://playwright.dev/docs/actionability) checks. Defaults to `false`.
2361 - */
2362 - force?: boolean;
2363 -
2364 - /**
2365 - * Modifier keys to press. Ensures that only these modifiers are pressed during the operation, and then restores
2366 - * current modifiers back. If not specified, currently pressed modifiers are used. "ControlOrMeta" resolves to
2367 - * "Control" on Windows and Linux and to "Meta" on macOS.
2368 - */
2369 - modifiers?: Array<"Alt"|"Control"|"ControlOrMeta"|"Meta"|"Shift">;
2370 -
2371 - /**
2372 - * This option has no effect.
2373 - * @deprecated This option has no effect.
2374 - */
2375 - noWaitAfter?: boolean;
2376 -
2377 - /**
2378 - * A point to use relative to the top-left corner of element padding box. If not specified, uses some visible point of
2379 - * the element.
2380 - */
2381 - position?: {
2382 - x: number;
2383 -
2384 - y: number;
2385 - };
2386 -
2387 - /**
2388 - * When true, the call requires selector to resolve to a single element. If given selector resolves to more than one
2389 - * element, the call throws an exception.
2390 - */
2391 - strict?: boolean;
2392 -
2393 - /**
2394 - * Maximum time in milliseconds. Defaults to `0` - no timeout. The default value can be changed via `actionTimeout`
2395 - * option in the config, or by using the
2396 - * [browserContext.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-timeout)
2397 - * or [page.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-timeout) methods.
2398 - */
2399 - timeout?: number;
2400 -
2401 - /**
2402 - * When set, this method only performs the [actionability](https://playwright.dev/docs/actionability) checks and skips the action. Defaults
2403 - * to `false`. Useful to wait until the element is ready for the action without performing it. Note that keyboard
2404 - * `modifiers` will be pressed regardless of `trial` to allow testing elements which are only visible when those keys
2405 - * are pressed.
2406 - */
2407 - trial?: boolean;
2408 - }): Promise<void>;
2409 -
2410 - /**
2411 - * **NOTE** Use locator-based
2412 - * [locator.dispatchEvent(type[, eventInit, options])](https://playwright.dev/docs/api/class-locator#locator-dispatch-event)
2413 - * instead. Read more about [locators](https://playwright.dev/docs/locators).
2414 - *
2415 - * The snippet below dispatches the `click` event on the element. Regardless of the visibility state of the element,
2416 - * `click` is dispatched. This is equivalent to calling
2417 - * [element.click()](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/click).
2418 - *
2419 - * **Usage**
2420 - *
2421 - * ```js
2422 - * await page.dispatchEvent('button#submit', 'click');
2423 - * ```
2424 - *
2425 - * Under the hood, it creates an instance of an event based on the given
2426 - * [`type`](https://playwright.dev/docs/api/class-page#page-dispatch-event-option-type), initializes it with
2427 - * [`eventInit`](https://playwright.dev/docs/api/class-page#page-dispatch-event-option-event-init) properties and
2428 - * dispatches it on the element. Events are `composed`, `cancelable` and bubble by default.
2429 - *
2430 - * Since [`eventInit`](https://playwright.dev/docs/api/class-page#page-dispatch-event-option-event-init) is
2431 - * event-specific, please refer to the events documentation for the lists of initial properties:
2432 - * - [DeviceMotionEvent](https://developer.mozilla.org/en-US/docs/Web/API/DeviceMotionEvent/DeviceMotionEvent)
2433 - * - [DeviceOrientationEvent](https://developer.mozilla.org/en-US/docs/Web/API/DeviceOrientationEvent/DeviceOrientationEvent)
2434 - * - [DragEvent](https://developer.mozilla.org/en-US/docs/Web/API/DragEvent/DragEvent)
2435 - * - [Event](https://developer.mozilla.org/en-US/docs/Web/API/Event/Event)
2436 - * - [FocusEvent](https://developer.mozilla.org/en-US/docs/Web/API/FocusEvent/FocusEvent)
2437 - * - [KeyboardEvent](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/KeyboardEvent)
2438 - * - [MouseEvent](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/MouseEvent)
2439 - * - [PointerEvent](https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/PointerEvent)
2440 - * - [TouchEvent](https://developer.mozilla.org/en-US/docs/Web/API/TouchEvent/TouchEvent)
2441 - * - [WheelEvent](https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent/WheelEvent)
2442 - *
2443 - * You can also specify `JSHandle` as the property value if you want live objects to be passed into the event:
2444 - *
2445 - * ```js
2446 - * // Note you can only create DataTransfer in Chromium and Firefox
2447 - * const dataTransfer = await page.evaluateHandle(() => new DataTransfer());
2448 - * await page.dispatchEvent('#source', 'dragstart', { dataTransfer });
2449 - * ```
2450 - *
2451 - * @param selector A selector to search for an element. If there are multiple elements satisfying the selector, the first will be
2452 - * used.
2453 - * @param type DOM event type: `"click"`, `"dragstart"`, etc.
2454 - * @param eventInit Optional event-specific initialization properties.
2455 - * @param options
2456 - */
2457 - dispatchEvent(selector: string, type: string, eventInit?: EvaluationArgument, options?: {
2458 - /**
2459 - * When true, the call requires selector to resolve to a single element. If given selector resolves to more than one
2460 - * element, the call throws an exception.
2461 - */
2462 - strict?: boolean;
2463 -
2464 - /**
2465 - * Maximum time in milliseconds. Defaults to `0` - no timeout. The default value can be changed via `actionTimeout`
2466 - * option in the config, or by using the
2467 - * [browserContext.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-timeout)
2468 - * or [page.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-timeout) methods.
2469 - */
2470 - timeout?: number;
2471 - }): Promise<void>;
2472 -
2473 - /**
2474 - * This method drags the source element to the target element. It will first move to the source element, perform a
2475 - * `mousedown`, then move to the target element and perform a `mouseup`.
2476 - *
2477 - * **Usage**
2478 - *
2479 - * ```js
2480 - * await page.dragAndDrop('#source', '#target');
2481 - * // or specify exact positions relative to the top-left corners of the elements:
2482 - * await page.dragAndDrop('#source', '#target', {
2483 - * sourcePosition: { x: 34, y: 7 },
2484 - * targetPosition: { x: 10, y: 20 },
2485 - * });
2486 - * ```
2487 - *
2488 - * @param source A selector to search for an element to drag. If there are multiple elements satisfying the selector, the first will
2489 - * be used.
2490 - * @param target A selector to search for an element to drop onto. If there are multiple elements satisfying the selector, the first
2491 - * will be used.
2492 - * @param options
2493 - */
2494 - dragAndDrop(source: string, target: string, options?: {
2495 - /**
2496 - * Whether to bypass the [actionability](https://playwright.dev/docs/actionability) checks. Defaults to `false`.
2497 - */
2498 - force?: boolean;
2499 -
2500 - /**
2501 - * This option has no effect.
2502 - * @deprecated This option has no effect.
2503 - */
2504 - noWaitAfter?: boolean;
2505 -
2506 - /**
2507 - * Clicks on the source element at this point relative to the top-left corner of the element's padding box. If not
2508 - * specified, some visible point of the element is used.
2509 - */
2510 - sourcePosition?: {
2511 - x: number;
2512 -
2513 - y: number;
2514 - };
2515 -
2516 - /**
2517 - * Defaults to 1. Sends `n` interpolated `mousemove` events to represent travel between the `mousedown` and `mouseup`
2518 - * of the drag. When set to 1, emits a single `mousemove` event at the destination location.
2519 - */
2520 - steps?: number;
2521 -
2522 - /**
2523 - * When true, the call requires selector to resolve to a single element. If given selector resolves to more than one
2524 - * element, the call throws an exception.
2525 - */
2526 - strict?: boolean;
2527 -
2528 - /**
2529 - * Drops on the target element at this point relative to the top-left corner of the element's padding box. If not
2530 - * specified, some visible point of the element is used.
2531 - */
2532 - targetPosition?: {
2533 - x: number;
2534 -
2535 - y: number;
2536 - };
2537 -
2538 - /**
2539 - * Maximum time in milliseconds. Defaults to `0` - no timeout. The default value can be changed via `actionTimeout`
2540 - * option in the config, or by using the
2541 - * [browserContext.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-timeout)
2542 - * or [page.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-timeout) methods.
2543 - */
2544 - timeout?: number;
2545 -
2546 - /**
2547 - * When set, this method only performs the [actionability](https://playwright.dev/docs/actionability) checks and skips the action. Defaults
2548 - * to `false`. Useful to wait until the element is ready for the action without performing it.
2549 - */
2550 - trial?: boolean;
2551 - }): Promise<void>;
2552 -
2553 - /**
2554 - * This method changes the `CSS media type` through the `media` argument, and/or the `'prefers-colors-scheme'` media
2555 - * feature, using the `colorScheme` argument.
2556 - *
2557 - * **Usage**
2558 - *
2559 - * ```js
2560 - * await page.evaluate(() => matchMedia('screen').matches);
2561 - * // → true
2562 - * await page.evaluate(() => matchMedia('print').matches);
2563 - * // → false
2564 - *
2565 - * await page.emulateMedia({ media: 'print' });
2566 - * await page.evaluate(() => matchMedia('screen').matches);
2567 - * // → false
2568 - * await page.evaluate(() => matchMedia('print').matches);
2569 - * // → true
2570 - *
2571 - * await page.emulateMedia({});
2572 - * await page.evaluate(() => matchMedia('screen').matches);
2573 - * // → true
2574 - * await page.evaluate(() => matchMedia('print').matches);
2575 - * // → false
2576 - * ```
2577 - *
2578 - * ```js
2579 - * await page.emulateMedia({ colorScheme: 'dark' });
2580 - * await page.evaluate(() => matchMedia('(prefers-color-scheme: dark)').matches);
2581 - * // → true
2582 - * await page.evaluate(() => matchMedia('(prefers-color-scheme: light)').matches);
2583 - * // → false
2584 - * ```
2585 - *
2586 - * @param options
2587 - */
2588 - emulateMedia(options?: {
2589 - /**
2590 - * Emulates [prefers-colors-scheme](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme)
2591 - * media feature, supported values are `'light'` and `'dark'`. Passing `null` disables color scheme emulation.
2592 - * `'no-preference'` is deprecated.
2593 - */
2594 - colorScheme?: null|"light"|"dark"|"no-preference";
2595 -
2596 - /**
2597 - * Emulates `'prefers-contrast'` media feature, supported values are `'no-preference'`, `'more'`. Passing `null`
2598 - * disables contrast emulation.
2599 - */
2600 - contrast?: null|"no-preference"|"more";
2601 -
2602 - /**
2603 - * Emulates `'forced-colors'` media feature, supported values are `'active'` and `'none'`. Passing `null` disables
2604 - * forced colors emulation.
2605 - */
2606 - forcedColors?: null|"active"|"none";
2607 -
2608 - /**
2609 - * Changes the CSS media type of the page. The only allowed values are `'screen'`, `'print'` and `null`. Passing
2610 - * `null` disables CSS media emulation.
2611 - */
2612 - media?: null|"screen"|"print";
2613 -
2614 - /**
2615 - * Emulates `'prefers-reduced-motion'` media feature, supported values are `'reduce'`, `'no-preference'`. Passing
2616 - * `null` disables reduced motion emulation.
2617 - */
2618 - reducedMotion?: null|"reduce"|"no-preference";
2619 - }): Promise<void>;
2620 -
2621 - /**
2622 - * The method adds a function called
2623 - * [`name`](https://playwright.dev/docs/api/class-page#page-expose-function-option-name) on the `window` object of
2624 - * every frame in the page. When called, the function executes
2625 - * [`callback`](https://playwright.dev/docs/api/class-page#page-expose-function-option-callback) and returns a
2626 - * [Promise] which resolves to the return value of
2627 - * [`callback`](https://playwright.dev/docs/api/class-page#page-expose-function-option-callback).
2628 - *
2629 - * If the [`callback`](https://playwright.dev/docs/api/class-page#page-expose-function-option-callback) returns a
2630 - * [Promise], it will be awaited.
2631 - *
2632 - * See
2633 - * [browserContext.exposeFunction(name, callback)](https://playwright.dev/docs/api/class-browsercontext#browser-context-expose-function)
2634 - * for context-wide exposed function.
2635 - *
2636 - * **NOTE** Functions installed via
2637 - * [page.exposeFunction(name, callback)](https://playwright.dev/docs/api/class-page#page-expose-function) survive
2638 - * navigations.
2639 - *
2640 - * **Usage**
2641 - *
2642 - * An example of adding a `sha256` function to the page:
2643 - *
2644 - * ```js
2645 - * const { webkit } = require('playwright'); // Or 'chromium' or 'firefox'.
2646 - * const crypto = require('crypto');
2647 - *
2648 - * (async () => {
2649 - * const browser = await webkit.launch({ headless: false });
2650 - * const page = await browser.newPage();
2651 - * await page.exposeFunction('sha256', text =>
2652 - * crypto.createHash('sha256').update(text).digest('hex'),
2653 - * );
2654 - * await page.setContent(`
2655 - * <script>
2656 - * async function onClick() {
2657 - * document.querySelector('div').textContent = await window.sha256('PLAYWRIGHT');
2658 - * }
2659 - * </script>
2660 - * <button onclick="onClick()">Click me</button>
2661 - * <div></div>
2662 - * `);
2663 - * await page.click('button');
2664 - * })();
2665 - * ```
2666 - *
2667 - * @param name Name of the function on the window object
2668 - * @param callback Callback function which will be called in Playwright's context.
2669 - */
2670 - exposeFunction(name: string, callback: Function): Promise<Disposable>;
2671 -
2672 - /**
2673 - * **NOTE** Use locator-based [locator.fill(value[, options])](https://playwright.dev/docs/api/class-locator#locator-fill)
2674 - * instead. Read more about [locators](https://playwright.dev/docs/locators).
2675 - *
2676 - * This method waits for an element matching
2677 - * [`selector`](https://playwright.dev/docs/api/class-page#page-fill-option-selector), waits for
2678 - * [actionability](https://playwright.dev/docs/actionability) checks, focuses the element, fills it and triggers an `input` event after
2679 - * filling. Note that you can pass an empty string to clear the input field.
2680 - *
2681 - * If the target element is not an `<input>`, `<textarea>` or `[contenteditable]` element, this method throws an
2682 - * error. However, if the element is inside the `<label>` element that has an associated
2683 - * [control](https://developer.mozilla.org/en-US/docs/Web/API/HTMLLabelElement/control), the control will be filled
2684 - * instead.
2685 - *
2686 - * To send fine-grained keyboard events, use
2687 - * [locator.pressSequentially(text[, options])](https://playwright.dev/docs/api/class-locator#locator-press-sequentially).
2688 - * @param selector A selector to search for an element. If there are multiple elements satisfying the selector, the first will be
2689 - * used.
2690 - * @param value Value to fill for the `<input>`, `<textarea>` or `[contenteditable]` element.
2691 - * @param options
2692 - */
2693 - fill(selector: string, value: string, options?: {
2694 - /**
2695 - * Whether to bypass the [actionability](https://playwright.dev/docs/actionability) checks. Defaults to `false`.
2696 - */
2697 - force?: boolean;
2698 -
2699 - /**
2700 - * This option has no effect.
2701 - * @deprecated This option has no effect.
2702 - */
2703 - noWaitAfter?: boolean;
2704 -
2705 - /**
2706 - * When true, the call requires selector to resolve to a single element. If given selector resolves to more than one
2707 - * element, the call throws an exception.
2708 - */
2709 - strict?: boolean;
2710 -
2711 - /**
2712 - * Maximum time in milliseconds. Defaults to `0` - no timeout. The default value can be changed via `actionTimeout`
2713 - * option in the config, or by using the
2714 - * [browserContext.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-timeout)
2715 - * or [page.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-timeout) methods.
2716 - */
2717 - timeout?: number;
2718 - }): Promise<void>;
2719 -
2720 - /**
2721 - * **NOTE** Use locator-based [locator.focus([options])](https://playwright.dev/docs/api/class-locator#locator-focus) instead.
2722 - * Read more about [locators](https://playwright.dev/docs/locators).
2723 - *
2724 - * This method fetches an element with
2725 - * [`selector`](https://playwright.dev/docs/api/class-page#page-focus-option-selector) and focuses it. If there's no
2726 - * element matching [`selector`](https://playwright.dev/docs/api/class-page#page-focus-option-selector), the method
2727 - * waits until a matching element appears in the DOM.
2728 - * @param selector A selector to search for an element. If there are multiple elements satisfying the selector, the first will be
2729 - * used.
2730 - * @param options
2731 - */
2732 - focus(selector: string, options?: {
2733 - /**
2734 - * When true, the call requires selector to resolve to a single element. If given selector resolves to more than one
2735 - * element, the call throws an exception.
2736 - */
2737 - strict?: boolean;
2738 -
2739 - /**
2740 - * Maximum time in milliseconds. Defaults to `0` - no timeout. The default value can be changed via `actionTimeout`
2741 - * option in the config, or by using the
2742 - * [browserContext.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-timeout)
2743 - * or [page.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-timeout) methods.
2744 - */
2745 - timeout?: number;
2746 - }): Promise<void>;
2747 -
2748 - /**
2749 - * Returns frame matching the specified criteria. Either `name` or `url` must be specified.
2750 - *
2751 - * **Usage**
2752 - *
2753 - * ```js
2754 - * const frame = page.frame('frame-name');
2755 - * ```
2756 - *
2757 - * ```js
2758 - * const frame = page.frame({ url: /.*domain.*\/ });
2759 - * ```
2760 - *
2761 - * @param frameSelector Frame name or other frame lookup options.
2762 - */
2763 - frame(frameSelector: string|{
2764 - /**
2765 - * Frame name specified in the `iframe`'s `name` attribute. Optional.
2766 - */
2767 - name?: string;
2768 -
2769 - /**
2770 - * A glob pattern, regex pattern, URL pattern, or predicate receiving frame's `url` as a [URL] object. Optional.
2771 - */
2772 - url?: string|RegExp|URLPattern|((url: URL) => boolean);
2773 - }): null|Frame;
2774 -
2775 - /**
2776 - * When working with iframes, you can create a frame locator that will enter the iframe and allow selecting elements
2777 - * in that iframe.
2778 - *
2779 - * **Usage**
2780 - *
2781 - * Following snippet locates element with text "Submit" in the iframe with id `my-frame`, like `<iframe
2782 - * id="my-frame">`:
2783 - *
2784 - * ```js
2785 - * const locator = page.frameLocator('#my-iframe').getByText('Submit');
2786 - * await locator.click();
2787 - * ```
2788 - *
2789 - * @param selector A selector to use when resolving DOM element.
2790 - */
2791 - frameLocator(selector: string): FrameLocator;
2792 -
2793 - /**
2794 - * An array of all frames attached to the page.
2795 - */
2796 - frames(): Array<Frame>;
2797 -
2798 - /**
2799 - * **NOTE** Use locator-based
2800 - * [locator.getAttribute(name[, options])](https://playwright.dev/docs/api/class-locator#locator-get-attribute)
2801 - * instead. Read more about [locators](https://playwright.dev/docs/locators).
2802 - *
2803 - * Returns element attribute value.
2804 - * @param selector A selector to search for an element. If there are multiple elements satisfying the selector, the first will be
2805 - * used.
2806 - * @param name Attribute name to get the value for.
2807 - * @param options
2808 - */
2809 - getAttribute(selector: string, name: string, options?: {
2810 - /**
2811 - * When true, the call requires selector to resolve to a single element. If given selector resolves to more than one
2812 - * element, the call throws an exception.
2813 - */
2814 - strict?: boolean;
2815 -
2816 - /**
2817 - * Maximum time in milliseconds. Defaults to `0` - no timeout. The default value can be changed via `actionTimeout`
2818 - * option in the config, or by using the
2819 - * [browserContext.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-timeout)
2820 - * or [page.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-timeout) methods.
2821 - */
2822 - timeout?: number;
2823 - }): Promise<null|string>;
2824 -
2825 - /**
2826 - * Allows locating elements by their alt text.
2827 - *
2828 - * **Usage**
2829 - *
2830 - * For example, this method will find the image by alt text "Playwright logo":
2831 - *
2832 - * ```html
2833 - * <img alt='Playwright logo'>
2834 - * ```
2835 - *
2836 - * ```js
2837 - * await page.getByAltText('Playwright logo').click();
2838 - * ```
2839 - *
2840 - * @param text Text to locate the element for.
2841 - * @param options
2842 - */
2843 - getByAltText(text: string|RegExp, options?: {
2844 - /**
2845 - * Whether to find an exact match: case-sensitive and whole-string. Default to false. Ignored when locating by a
2846 - * regular expression. Note that exact match still trims whitespace.
2847 - */
2848 - exact?: boolean;
2849 - }): Locator;
2850 -
2851 - /**
2852 - * Allows locating input elements by the text of the associated `<label>` or `aria-labelledby` element, or by the
2853 - * `aria-label` attribute.
2854 - *
2855 - * **Usage**
2856 - *
2857 - * For example, this method will find inputs by label "Username" and "Password" in the following DOM:
2858 - *
2859 - * ```html
2860 - * <input aria-label="Username">
2861 - * <label for="password-input">Password:</label>
2862 - * <input id="password-input">
2863 - * ```
2864 - *
2865 - * ```js
2866 - * await page.getByLabel('Username').fill('john');
2867 - * await page.getByLabel('Password').fill('secret');
2868 - * ```
2869 - *
2870 - * @param text Text to locate the element for.
2871 - * @param options
2872 - */
2873 - getByLabel(text: string|RegExp, options?: {
2874 - /**
2875 - * Whether to find an exact match: case-sensitive and whole-string. Default to false. Ignored when locating by a
2876 - * regular expression. Note that exact match still trims whitespace.
2877 - */
2878 - exact?: boolean;
2879 - }): Locator;
2880 -
2881 - /**
2882 - * Allows locating input elements by the placeholder text.
2883 - *
2884 - * **Usage**
2885 - *
2886 - * For example, consider the following DOM structure.
2887 - *
2888 - * ```html
2889 - * <input type="email" placeholder="name@example.com" />
2890 - * ```
2891 - *
2892 - * You can fill the input after locating it by the placeholder text:
2893 - *
2894 - * ```js
2895 - * await page
2896 - * .getByPlaceholder('name@example.com')
2897 - * .fill('playwright@microsoft.com');
2898 - * ```
2899 - *
2900 - * @param text Text to locate the element for.
2901 - * @param options
2902 - */
2903 - getByPlaceholder(text: string|RegExp, options?: {
2904 - /**
2905 - * Whether to find an exact match: case-sensitive and whole-string. Default to false. Ignored when locating by a
2906 - * regular expression. Note that exact match still trims whitespace.
2907 - */
2908 - exact?: boolean;
2909 - }): Locator;
2910 -
2911 - /**
2912 - * Allows locating elements by their [ARIA role](https://www.w3.org/TR/wai-aria-1.2/#roles),
2913 - * [ARIA attributes](https://www.w3.org/TR/wai-aria-1.2/#aria-attributes) and
2914 - * [accessible name](https://w3c.github.io/accname/#dfn-accessible-name).
2915 - *
2916 - * **Usage**
2917 - *
2918 - * Consider the following DOM structure.
2919 - *
2920 - * ```html
2921 - * <h3>Sign up</h3>
2922 - * <label>
2923 - * <input type="checkbox" /> Subscribe
2924 - * </label>
2925 - * <br/>
2926 - * <button>Submit</button>
2927 - * ```
2928 - *
2929 - * You can locate each element by its implicit role:
2930 - *
2931 - * ```js
2932 - * await expect(page.getByRole('heading', { name: 'Sign up' })).toBeVisible();
2933 - *
2934 - * await page.getByRole('checkbox', { name: 'Subscribe' }).check();
2935 - *
2936 - * await page.getByRole('button', { name: /submit/i }).click();
2937 - * ```
2938 - *
2939 - * **Details**
2940 - *
2941 - * Role selector **does not replace** accessibility audits and conformance tests, but rather gives early feedback
2942 - * about the ARIA guidelines.
2943 - *
2944 - * Many html elements have an implicitly [defined role](https://w3c.github.io/html-aam/#html-element-role-mappings)
2945 - * that is recognized by the role selector. You can find all the
2946 - * [supported roles here](https://www.w3.org/TR/wai-aria-1.2/#role_definitions). ARIA guidelines **do not recommend**
2947 - * duplicating implicit roles and attributes by setting `role` and/or `aria-*` attributes to default values.
2948 - * @param role Required aria role.
2949 - * @param options
2950 - */
2951 - getByRole(role: "alert"|"alertdialog"|"application"|"article"|"banner"|"blockquote"|"button"|"caption"|"cell"|"checkbox"|"code"|"columnheader"|"combobox"|"complementary"|"contentinfo"|"definition"|"deletion"|"dialog"|"directory"|"document"|"emphasis"|"feed"|"figure"|"form"|"generic"|"grid"|"gridcell"|"group"|"heading"|"img"|"insertion"|"link"|"list"|"listbox"|"listitem"|"log"|"main"|"marquee"|"math"|"meter"|"menu"|"menubar"|"menuitem"|"menuitemcheckbox"|"menuitemradio"|"navigation"|"none"|"note"|"option"|"paragraph"|"presentation"|"progressbar"|"radio"|"radiogroup"|"region"|"row"|"rowgroup"|"rowheader"|"scrollbar"|"search"|"searchbox"|"separator"|"slider"|"spinbutton"|"status"|"strong"|"subscript"|"superscript"|"switch"|"tab"|"table"|"tablist"|"tabpanel"|"term"|"textbox"|"time"|"timer"|"toolbar"|"tooltip"|"tree"|"treegrid"|"treeitem", options?: {
2952 - /**
2953 - * An attribute that is usually set by `aria-checked` or native `<input type=checkbox>` controls.
2954 - *
2955 - * Learn more about [`aria-checked`](https://www.w3.org/TR/wai-aria-1.2/#aria-checked).
2956 - */
2957 - checked?: boolean;
2958 -
2959 - /**
2960 - * Option to match the [accessible description](https://w3c.github.io/accname/#dfn-accessible-description). By
2961 - * default, matching is case-insensitive and searches for a substring, use
2962 - * [`exact`](https://playwright.dev/docs/api/class-page#page-get-by-role-option-exact) to control this behavior.
2963 - *
2964 - * Learn more about [accessible description](https://w3c.github.io/accname/#dfn-accessible-description).
2965 - */
2966 - description?: string|RegExp;
2967 -
2968 - /**
2969 - * An attribute that is usually set by `aria-disabled` or `disabled`.
2970 - *
2971 - * **NOTE** Unlike most other attributes, `disabled` is inherited through the DOM hierarchy. Learn more about
2972 - * [`aria-disabled`](https://www.w3.org/TR/wai-aria-1.2/#aria-disabled).
2973 - *
2974 - */
2975 - disabled?: boolean;
2976 -
2977 - /**
2978 - * Whether [`name`](https://playwright.dev/docs/api/class-page#page-get-by-role-option-name) and
2979 - * [`description`](https://playwright.dev/docs/api/class-page#page-get-by-role-option-description) are matched
2980 - * exactly: case-sensitive and whole-string. Defaults to false. Ignored when the value is a regular expression. Note
2981 - * that exact match still trims whitespace.
2982 - */
2983 - exact?: boolean;
2984 -
2985 - /**
2986 - * An attribute that is usually set by `aria-expanded`.
2987 - *
2988 - * Learn more about [`aria-expanded`](https://www.w3.org/TR/wai-aria-1.2/#aria-expanded).
2989 - */
2990 - expanded?: boolean;
2991 -
2992 - /**
2993 - * Option that controls whether hidden elements are matched. By default, only non-hidden elements, as
2994 - * [defined by ARIA](https://www.w3.org/TR/wai-aria-1.2/#tree_exclusion), are matched by role selector.
2995 - *
2996 - * Learn more about [`aria-hidden`](https://www.w3.org/TR/wai-aria-1.2/#aria-hidden).
2997 - */
2998 - includeHidden?: boolean;
2999 -
3000 - /**
3001 - * A number attribute that is usually present for roles `heading`, `listitem`, `row`, `treeitem`, with default values
3002 - * for `<h1>-<h6>` elements.
3003 - *
3004 - * Learn more about [`aria-level`](https://www.w3.org/TR/wai-aria-1.2/#aria-level).
3005 - */
3006 - level?: number;
3007 -
3008 - /**
3009 - * Option to match the [accessible name](https://w3c.github.io/accname/#dfn-accessible-name). By default, matching is
3010 - * case-insensitive and searches for a substring, use
3011 - * [`exact`](https://playwright.dev/docs/api/class-page#page-get-by-role-option-exact) to control this behavior.
3012 - *
3013 - * Learn more about [accessible name](https://w3c.github.io/accname/#dfn-accessible-name).
3014 - */
3015 - name?: string|RegExp;
3016 -
3017 - /**
3018 - * An attribute that is usually set by `aria-pressed`.
3019 - *
3020 - * Learn more about [`aria-pressed`](https://www.w3.org/TR/wai-aria-1.2/#aria-pressed).
3021 - */
3022 - pressed?: boolean;
3023 -
3024 - /**
3025 - * An attribute that is usually set by `aria-selected`.
3026 - *
3027 - * Learn more about [`aria-selected`](https://www.w3.org/TR/wai-aria-1.2/#aria-selected).
3028 - */
3029 - selected?: boolean;
3030 - }): Locator;
3031 -
3032 - /**
3033 - * Locate element by the test id.
3034 - *
3035 - * **Usage**
3036 - *
3037 - * Consider the following DOM structure.
3038 - *
3039 - * ```html
3040 - * <button data-testid="directions">Itinéraire</button>
3041 - * ```
3042 - *
3043 - * You can locate the element by its test id:
3044 - *
3045 - * ```js
3046 - * await page.getByTestId('directions').click();
3047 - * ```
3048 - *
3049 - * **Details**
3050 - *
3051 - * By default, the `data-testid` attribute is used as a test id. Use
3052 - * [selectors.setTestIdAttribute(attributeName)](https://playwright.dev/docs/api/class-selectors#selectors-set-test-id-attribute)
3053 - * to configure a different test id attribute if necessary.
3054 - *
3055 - * ```js
3056 - * // Set custom test id attribute from @playwright/test config:
3057 - * import { defineConfig } from '@playwright/test';
3058 - *
3059 - * export default defineConfig({
3060 - * use: {
3061 - * testIdAttribute: 'data-pw'
3062 - * },
3063 - * });
3064 - * ```
3065 - *
3066 - * @param testId Id to locate the element by.
3067 - */
3068 - getByTestId(testId: string|RegExp): Locator;
3069 -
3070 - /**
3071 - * Allows locating elements that contain given text.
3072 - *
3073 - * See also [locator.filter([options])](https://playwright.dev/docs/api/class-locator#locator-filter) that allows to
3074 - * match by another criteria, like an accessible role, and then filter by the text content.
3075 - *
3076 - * **Usage**
3077 - *
3078 - * Consider the following DOM structure:
3079 - *
3080 - * ```html
3081 - * <div>Hello <span>world</span></div>
3082 - * <div>Hello</div>
3083 - * ```
3084 - *
3085 - * You can locate by text substring, exact string, or a regular expression:
3086 - *
3087 - * ```js
3088 - * // Matches <span>
3089 - * page.getByText('world');
3090 - *
3091 - * // Matches first <div>
3092 - * page.getByText('Hello world');
3093 - *
3094 - * // Matches second <div>
3095 - * page.getByText('Hello', { exact: true });
3096 - *
3097 - * // Matches both <div>s
3098 - * page.getByText(/Hello/);
3099 - *
3100 - * // Matches second <div>
3101 - * page.getByText(/^hello$/i);
3102 - * ```
3103 - *
3104 - * **Details**
3105 - *
3106 - * Matching by text always normalizes whitespace, even with exact match. For example, it turns multiple spaces into
3107 - * one, turns line breaks into spaces and ignores leading and trailing whitespace.
3108 - *
3109 - * Input elements of the type `button` and `submit` are matched by their `value` instead of the text content. For
3110 - * example, locating by text `"Log in"` matches `<input type=button value="Log in">`.
3111 - * @param text Text to locate the element for.
3112 - * @param options
3113 - */
3114 - getByText(text: string|RegExp, options?: {
3115 - /**
3116 - * Whether to find an exact match: case-sensitive and whole-string. Default to false. Ignored when locating by a
3117 - * regular expression. Note that exact match still trims whitespace.
3118 - */
3119 - exact?: boolean;
3120 - }): Locator;
3121 -
3122 - /**
3123 - * Allows locating elements by their title attribute.
3124 - *
3125 - * **Usage**
3126 - *
3127 - * Consider the following DOM structure.
3128 - *
3129 - * ```html
3130 - * <span title='Issues count'>25 issues</span>
3131 - * ```
3132 - *
3133 - * You can check the issues count after locating it by the title text:
3134 - *
3135 - * ```js
3136 - * await expect(page.getByTitle('Issues count')).toHaveText('25 issues');
3137 - * ```
3138 - *
3139 - * @param text Text to locate the element for.
3140 - * @param options
3141 - */
3142 - getByTitle(text: string|RegExp, options?: {
3143 - /**
3144 - * Whether to find an exact match: case-sensitive and whole-string. Default to false. Ignored when locating by a
3145 - * regular expression. Note that exact match still trims whitespace.
3146 - */
3147 - exact?: boolean;
3148 - }): Locator;
3149 -
3150 - /**
3151 - * Returns the main resource response. In case of multiple redirects, the navigation will resolve with the response of
3152 - * the last redirect. If cannot go back, returns `null`.
3153 - *
3154 - * Navigate to the previous page in history.
3155 - * @param options
3156 - */
3157 - goBack(options?: {
3158 - /**
3159 - * Maximum operation time in milliseconds. Defaults to `0` - no timeout. The default value can be changed via
3160 - * `navigationTimeout` option in the config, or by using the
3161 - * [browserContext.setDefaultNavigationTimeout(timeout)](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-navigation-timeout),
3162 - * [browserContext.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-timeout),
3163 - * [page.setDefaultNavigationTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-navigation-timeout)
3164 - * or [page.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-timeout) methods.
3165 - */
3166 - timeout?: number;
3167 -
3168 - /**
3169 - * When to consider operation succeeded, defaults to `load`. Events can be either:
3170 - * - `'domcontentloaded'` - consider operation to be finished when the `DOMContentLoaded` event is fired.
3171 - * - `'load'` - consider operation to be finished when the `load` event is fired.
3172 - * - `'networkidle'` - **DISCOURAGED** consider operation to be finished when there are no network connections for
3173 - * at least `500` ms. Don't use this method for testing, rely on web assertions to assess readiness instead.
3174 - * - `'commit'` - consider operation to be finished when network response is received and the document started
3175 - * loading.
3176 - */
3177 - waitUntil?: "load"|"domcontentloaded"|"networkidle"|"commit";
3178 - }): Promise<null|Response>;
3179 -
3180 - /**
3181 - * Returns the main resource response. In case of multiple redirects, the navigation will resolve with the response of
3182 - * the last redirect. If cannot go forward, returns `null`.
3183 - *
3184 - * Navigate to the next page in history.
3185 - * @param options
3186 - */
3187 - goForward(options?: {
3188 - /**
3189 - * Maximum operation time in milliseconds. Defaults to `0` - no timeout. The default value can be changed via
3190 - * `navigationTimeout` option in the config, or by using the
3191 - * [browserContext.setDefaultNavigationTimeout(timeout)](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-navigation-timeout),
3192 - * [browserContext.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-timeout),
3193 - * [page.setDefaultNavigationTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-navigation-timeout)
3194 - * or [page.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-timeout) methods.
3195 - */
3196 - timeout?: number;
3197 -
3198 - /**
3199 - * When to consider operation succeeded, defaults to `load`. Events can be either:
3200 - * - `'domcontentloaded'` - consider operation to be finished when the `DOMContentLoaded` event is fired.
3201 - * - `'load'` - consider operation to be finished when the `load` event is fired.
3202 - * - `'networkidle'` - **DISCOURAGED** consider operation to be finished when there are no network connections for
3203 - * at least `500` ms. Don't use this method for testing, rely on web assertions to assess readiness instead.
3204 - * - `'commit'` - consider operation to be finished when network response is received and the document started
3205 - * loading.
3206 - */
3207 - waitUntil?: "load"|"domcontentloaded"|"networkidle"|"commit";
3208 - }): Promise<null|Response>;
3209 -
3210 - /**
3211 - * Returns the main resource response. In case of multiple redirects, the navigation will resolve with the first
3212 - * non-redirect response.
3213 - *
3214 - * The method will throw an error if:
3215 - * - there's an SSL error (e.g. in case of self-signed certificates).
3216 - * - target URL is invalid.
3217 - * - the [`timeout`](https://playwright.dev/docs/api/class-page#page-goto-option-timeout) is exceeded during
3218 - * navigation.
3219 - * - the remote server does not respond or is unreachable.
3220 - * - the main resource failed to load.
3221 - *
3222 - * The method will not throw an error when any valid HTTP status code is returned by the remote server, including 404
3223 - * "Not Found" and 500 "Internal Server Error". The status code for such responses can be retrieved by calling
3224 - * [response.status()](https://playwright.dev/docs/api/class-response#response-status).
3225 - *
3226 - * **NOTE** The method either throws an error or returns a main resource response. The only exceptions are navigation
3227 - * to `about:blank` or navigation to the same URL with a different hash, which would succeed and return `null`.
3228 - *
3229 - * **NOTE** Headless mode doesn't support navigation to a PDF document. See the
3230 - * [upstream issue](https://bugs.chromium.org/p/chromium/issues/detail?id=761295).
3231 - *
3232 - * @param url URL to navigate page to. The url should include scheme, e.g. `https://`. When a
3233 - * [`baseURL`](https://playwright.dev/docs/api/class-browser#browser-new-context-option-base-url) via the context
3234 - * options was provided and the passed URL is a path, it gets merged via the
3235 - * [`new URL()`](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor.
3236 - * @param options
3237 - */
3238 - goto(url: string, options?: {
3239 - /**
3240 - * Referer header value. If provided it will take preference over the referer header value set by
3241 - * [page.setExtraHTTPHeaders(headers)](https://playwright.dev/docs/api/class-page#page-set-extra-http-headers).
3242 - */
3243 - referer?: string;
3244 -
3245 - /**
3246 - * Maximum operation time in milliseconds. Defaults to `0` - no timeout. The default value can be changed via
3247 - * `navigationTimeout` option in the config, or by using the
3248 - * [browserContext.setDefaultNavigationTimeout(timeout)](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-navigation-timeout),
3249 - * [browserContext.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-timeout),
3250 - * [page.setDefaultNavigationTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-navigation-timeout)
3251 - * or [page.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-timeout) methods.
3252 - */
3253 - timeout?: number;
3254 -
3255 - /**
3256 - * When to consider operation succeeded, defaults to `load`. Events can be either:
3257 - * - `'domcontentloaded'` - consider operation to be finished when the `DOMContentLoaded` event is fired.
3258 - * - `'load'` - consider operation to be finished when the `load` event is fired.
3259 - * - `'networkidle'` - **DISCOURAGED** consider operation to be finished when there are no network connections for
3260 - * at least `500` ms. Don't use this method for testing, rely on web assertions to assess readiness instead.
3261 - * - `'commit'` - consider operation to be finished when network response is received and the document started
3262 - * loading.
3263 - */
3264 - waitUntil?: "load"|"domcontentloaded"|"networkidle"|"commit";
3265 - }): Promise<null|Response>;
3266 -
3267 - /**
3268 - * Hide all locator highlight overlays previously added by
3269 - * [locator.highlight([options])](https://playwright.dev/docs/api/class-locator#locator-highlight) on this page.
3270 - */
3271 - hideHighlight(): Promise<void>;
3272 -
3273 - /**
3274 - * **NOTE** Use locator-based [locator.hover([options])](https://playwright.dev/docs/api/class-locator#locator-hover) instead.
3275 - * Read more about [locators](https://playwright.dev/docs/locators).
3276 - *
3277 - * This method hovers over an element matching
3278 - * [`selector`](https://playwright.dev/docs/api/class-page#page-hover-option-selector) by performing the following
3279 - * steps:
3280 - * 1. Find an element matching [`selector`](https://playwright.dev/docs/api/class-page#page-hover-option-selector).
3281 - * If there is none, wait until a matching element is attached to the DOM.
3282 - * 1. Wait for [actionability](https://playwright.dev/docs/actionability) checks on the matched element, unless
3283 - * [`force`](https://playwright.dev/docs/api/class-page#page-hover-option-force) option is set. If the element
3284 - * is detached during the checks, the whole action is retried.
3285 - * 1. Scroll the element into view if needed.
3286 - * 1. Use [page.mouse](https://playwright.dev/docs/api/class-page#page-mouse) to hover over the center of the
3287 - * element, or the specified
3288 - * [`position`](https://playwright.dev/docs/api/class-page#page-hover-option-position).
3289 - *
3290 - * When all steps combined have not finished during the specified
3291 - * [`timeout`](https://playwright.dev/docs/api/class-page#page-hover-option-timeout), this method throws a
3292 - * [TimeoutError](https://playwright.dev/docs/api/class-timeouterror). Passing zero timeout disables this.
3293 - * @param selector A selector to search for an element. If there are multiple elements satisfying the selector, the first will be
3294 - * used.
3295 - * @param options
3296 - */
3297 - hover(selector: string, options?: {
3298 - /**
3299 - * Whether to bypass the [actionability](https://playwright.dev/docs/actionability) checks. Defaults to `false`.
3300 - */
3301 - force?: boolean;
3302 -
3303 - /**
3304 - * Modifier keys to press. Ensures that only these modifiers are pressed during the operation, and then restores
3305 - * current modifiers back. If not specified, currently pressed modifiers are used. "ControlOrMeta" resolves to
3306 - * "Control" on Windows and Linux and to "Meta" on macOS.
3307 - */
3308 - modifiers?: Array<"Alt"|"Control"|"ControlOrMeta"|"Meta"|"Shift">;
3309 -
3310 - /**
3311 - * This option has no effect.
3312 - * @deprecated This option has no effect.
3313 - */
3314 - noWaitAfter?: boolean;
3315 -
3316 - /**
3317 - * A point to use relative to the top-left corner of element padding box. If not specified, uses some visible point of
3318 - * the element.
3319 - */
3320 - position?: {
3321 - x: number;
3322 -
3323 - y: number;
3324 - };
3325 -
3326 - /**
3327 - * When true, the call requires selector to resolve to a single element. If given selector resolves to more than one
3328 - * element, the call throws an exception.
3329 - */
3330 - strict?: boolean;
3331 -
3332 - /**
3333 - * Maximum time in milliseconds. Defaults to `0` - no timeout. The default value can be changed via `actionTimeout`
3334 - * option in the config, or by using the
3335 - * [browserContext.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-timeout)
3336 - * or [page.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-timeout) methods.
3337 - */
3338 - timeout?: number;
3339 -
3340 - /**
3341 - * When set, this method only performs the [actionability](https://playwright.dev/docs/actionability) checks and skips the action. Defaults
3342 - * to `false`. Useful to wait until the element is ready for the action without performing it. Note that keyboard
3343 - * `modifiers` will be pressed regardless of `trial` to allow testing elements which are only visible when those keys
3344 - * are pressed.
3345 - */
3346 - trial?: boolean;
3347 - }): Promise<void>;
3348 -
3349 - /**
3350 - * **NOTE** Use locator-based [locator.innerHTML([options])](https://playwright.dev/docs/api/class-locator#locator-inner-html)
3351 - * instead. Read more about [locators](https://playwright.dev/docs/locators).
3352 - *
3353 - * Returns `element.innerHTML`.
3354 - * @param selector A selector to search for an element. If there are multiple elements satisfying the selector, the first will be
3355 - * used.
3356 - * @param options
3357 - */
3358 - innerHTML(selector: string, options?: {
3359 - /**
3360 - * When true, the call requires selector to resolve to a single element. If given selector resolves to more than one
3361 - * element, the call throws an exception.
3362 - */
3363 - strict?: boolean;
3364 -
3365 - /**
3366 - * Maximum time in milliseconds. Defaults to `0` - no timeout. The default value can be changed via `actionTimeout`
3367 - * option in the config, or by using the
3368 - * [browserContext.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-timeout)
3369 - * or [page.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-timeout) methods.
3370 - */
3371 - timeout?: number;
3372 - }): Promise<string>;
3373 -
3374 - /**
3375 - * **NOTE** Use locator-based [locator.innerText([options])](https://playwright.dev/docs/api/class-locator#locator-inner-text)
3376 - * instead. Read more about [locators](https://playwright.dev/docs/locators).
3377 - *
3378 - * Returns `element.innerText`.
3379 - * @param selector A selector to search for an element. If there are multiple elements satisfying the selector, the first will be
3380 - * used.
3381 - * @param options
3382 - */
3383 - innerText(selector: string, options?: {
3384 - /**
3385 - * When true, the call requires selector to resolve to a single element. If given selector resolves to more than one
3386 - * element, the call throws an exception.
3387 - */
3388 - strict?: boolean;
3389 -
3390 - /**
3391 - * Maximum time in milliseconds. Defaults to `0` - no timeout. The default value can be changed via `actionTimeout`
3392 - * option in the config, or by using the
3393 - * [browserContext.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-timeout)
3394 - * or [page.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-timeout) methods.
3395 - */
3396 - timeout?: number;
3397 - }): Promise<string>;
3398 -
3399 - /**
3400 - * **NOTE** Use locator-based
3401 - * [locator.inputValue([options])](https://playwright.dev/docs/api/class-locator#locator-input-value) instead. Read
3402 - * more about [locators](https://playwright.dev/docs/locators).
3403 - *
3404 - * Returns `input.value` for the selected `<input>` or `<textarea>` or `<select>` element.
3405 - *
3406 - * Throws for non-input elements. However, if the element is inside the `<label>` element that has an associated
3407 - * [control](https://developer.mozilla.org/en-US/docs/Web/API/HTMLLabelElement/control), returns the value of the
3408 - * control.
3409 - * @param selector A selector to search for an element. If there are multiple elements satisfying the selector, the first will be
3410 - * used.
3411 - * @param options
3412 - */
3413 - inputValue(selector: string, options?: {
3414 - /**
3415 - * When true, the call requires selector to resolve to a single element. If given selector resolves to more than one
3416 - * element, the call throws an exception.
3417 - */
3418 - strict?: boolean;
3419 -
3420 - /**
3421 - * Maximum time in milliseconds. Defaults to `0` - no timeout. The default value can be changed via `actionTimeout`
3422 - * option in the config, or by using the
3423 - * [browserContext.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-timeout)
3424 - * or [page.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-timeout) methods.
3425 - */
3426 - timeout?: number;
3427 - }): Promise<string>;
3428 -
3429 - /**
3430 - * **NOTE** Use locator-based [locator.isChecked([options])](https://playwright.dev/docs/api/class-locator#locator-is-checked)
3431 - * instead. Read more about [locators](https://playwright.dev/docs/locators).
3432 - *
3433 - * Returns whether the element is checked. Throws if the element is not a checkbox or radio input.
3434 - * @param selector A selector to search for an element. If there are multiple elements satisfying the selector, the first will be
3435 - * used.
3436 - * @param options
3437 - */
3438 - isChecked(selector: string, options?: {
3439 - /**
3440 - * When true, the call requires selector to resolve to a single element. If given selector resolves to more than one
3441 - * element, the call throws an exception.
3442 - */
3443 - strict?: boolean;
3444 -
3445 - /**
3446 - * Maximum time in milliseconds. Defaults to `0` - no timeout. The default value can be changed via `actionTimeout`
3447 - * option in the config, or by using the
3448 - * [browserContext.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-timeout)
3449 - * or [page.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-timeout) methods.
3450 - */
3451 - timeout?: number;
3452 - }): Promise<boolean>;
3453 -
3454 - /**
3455 - * Indicates that the page has been closed.
3456 - */
3457 - isClosed(): boolean;
3458 -
3459 - /**
3460 - * **NOTE** Use locator-based
3461 - * [locator.isDisabled([options])](https://playwright.dev/docs/api/class-locator#locator-is-disabled) instead. Read
3462 - * more about [locators](https://playwright.dev/docs/locators).
3463 - *
3464 - * Returns whether the element is disabled, the opposite of [enabled](https://playwright.dev/docs/actionability#enabled).
3465 - * @param selector A selector to search for an element. If there are multiple elements satisfying the selector, the first will be
3466 - * used.
3467 - * @param options
3468 - */
3469 - isDisabled(selector: string, options?: {
3470 - /**
3471 - * When true, the call requires selector to resolve to a single element. If given selector resolves to more than one
3472 - * element, the call throws an exception.
3473 - */
3474 - strict?: boolean;
3475 -
3476 - /**
3477 - * Maximum time in milliseconds. Defaults to `0` - no timeout. The default value can be changed via `actionTimeout`
3478 - * option in the config, or by using the
3479 - * [browserContext.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-timeout)
3480 - * or [page.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-timeout) methods.
3481 - */
3482 - timeout?: number;
3483 - }): Promise<boolean>;
3484 -
3485 - /**
3486 - * **NOTE** Use locator-based
3487 - * [locator.isEditable([options])](https://playwright.dev/docs/api/class-locator#locator-is-editable) instead. Read
3488 - * more about [locators](https://playwright.dev/docs/locators).
3489 - *
3490 - * Returns whether the element is [editable](https://playwright.dev/docs/actionability#editable).
3491 - * @param selector A selector to search for an element. If there are multiple elements satisfying the selector, the first will be
3492 - * used.
3493 - * @param options
3494 - */
3495 - isEditable(selector: string, options?: {
3496 - /**
3497 - * When true, the call requires selector to resolve to a single element. If given selector resolves to more than one
3498 - * element, the call throws an exception.
3499 - */
3500 - strict?: boolean;
3501 -
3502 - /**
3503 - * Maximum time in milliseconds. Defaults to `0` - no timeout. The default value can be changed via `actionTimeout`
3504 - * option in the config, or by using the
3505 - * [browserContext.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-timeout)
3506 - * or [page.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-timeout) methods.
3507 - */
3508 - timeout?: number;
3509 - }): Promise<boolean>;
3510 -
3511 - /**
3512 - * **NOTE** Use locator-based [locator.isEnabled([options])](https://playwright.dev/docs/api/class-locator#locator-is-enabled)
3513 - * instead. Read more about [locators](https://playwright.dev/docs/locators).
3514 - *
3515 - * Returns whether the element is [enabled](https://playwright.dev/docs/actionability#enabled).
3516 - * @param selector A selector to search for an element. If there are multiple elements satisfying the selector, the first will be
3517 - * used.
3518 - * @param options
3519 - */
3520 - isEnabled(selector: string, options?: {
3521 - /**
3522 - * When true, the call requires selector to resolve to a single element. If given selector resolves to more than one
3523 - * element, the call throws an exception.
3524 - */
3525 - strict?: boolean;
3526 -
3527 - /**
3528 - * Maximum time in milliseconds. Defaults to `0` - no timeout. The default value can be changed via `actionTimeout`
3529 - * option in the config, or by using the
3530 - * [browserContext.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-timeout)
3531 - * or [page.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-timeout) methods.
3532 - */
3533 - timeout?: number;
3534 - }): Promise<boolean>;
3535 -
3536 - /**
3537 - * **NOTE** Use locator-based [locator.isHidden([options])](https://playwright.dev/docs/api/class-locator#locator-is-hidden)
3538 - * instead. Read more about [locators](https://playwright.dev/docs/locators).
3539 - *
3540 - * Returns whether the element is hidden, the opposite of [visible](https://playwright.dev/docs/actionability#visible).
3541 - * [`selector`](https://playwright.dev/docs/api/class-page#page-is-hidden-option-selector) that does not match any
3542 - * elements is considered hidden.
3543 - * @param selector A selector to search for an element. If there are multiple elements satisfying the selector, the first will be
3544 - * used.
3545 - * @param options
3546 - */
3547 - isHidden(selector: string, options?: {
3548 - /**
3549 - * When true, the call requires selector to resolve to a single element. If given selector resolves to more than one
3550 - * element, the call throws an exception.
3551 - */
3552 - strict?: boolean;
3553 -
3554 - /**
3555 - * @deprecated This option is ignored.
3556 - * [page.isHidden(selector[, options])](https://playwright.dev/docs/api/class-page#page-is-hidden) does not wait for
3557 - * the element to become hidden and returns immediately.
3558 - */
3559 - timeout?: number;
3560 - }): Promise<boolean>;
3561 -
3562 - /**
3563 - * **NOTE** Use locator-based [locator.isVisible([options])](https://playwright.dev/docs/api/class-locator#locator-is-visible)
3564 - * instead. Read more about [locators](https://playwright.dev/docs/locators).
3565 - *
3566 - * Returns whether the element is [visible](https://playwright.dev/docs/actionability#visible).
3567 - * [`selector`](https://playwright.dev/docs/api/class-page#page-is-visible-option-selector) that does not match any
3568 - * elements is considered not visible.
3569 - * @param selector A selector to search for an element. If there are multiple elements satisfying the selector, the first will be
3570 - * used.
3571 - * @param options
3572 - */
3573 - isVisible(selector: string, options?: {
3574 - /**
3575 - * When true, the call requires selector to resolve to a single element. If given selector resolves to more than one
3576 - * element, the call throws an exception.
3577 - */
3578 - strict?: boolean;
3579 -
3580 - /**
3581 - * @deprecated This option is ignored.
3582 - * [page.isVisible(selector[, options])](https://playwright.dev/docs/api/class-page#page-is-visible) does not wait for
3583 - * the element to become visible and returns immediately.
3584 - */
3585 - timeout?: number;
3586 - }): Promise<boolean>;
3587 -
3588 - /**
3589 - * The method returns an element locator that can be used to perform actions on this page / frame. Locator is resolved
3590 - * to the element immediately before performing an action, so a series of actions on the same locator can in fact be
3591 - * performed on different DOM elements. That would happen if the DOM structure between those actions has changed.
3592 - *
3593 - * [Learn more about locators](https://playwright.dev/docs/locators).
3594 - * @param selector A selector to use when resolving DOM element.
3595 - * @param options
3596 - */
3597 - locator(selector: string, options?: {
3598 - /**
3599 - * Narrows down the results of the method to those which contain elements matching this relative locator. For example,
3600 - * `article` that has `text=Playwright` matches `<article><div>Playwright</div></article>`.
3601 - *
3602 - * Inner locator **must be relative** to the outer locator and is queried starting with the outer locator match, not
3603 - * the document root. For example, you can find `content` that has `div` in
3604 - * `<article><content><div>Playwright</div></content></article>`. However, looking for `content` that has `article
3605 - * div` will fail, because the inner locator must be relative and should not use any elements outside the `content`.
3606 - *
3607 - * Note that outer and inner locators must belong to the same frame. Inner locator must not contain
3608 - * [FrameLocator](https://playwright.dev/docs/api/class-framelocator)s.
3609 - */
3610 - has?: Locator;
3611 -
3612 - /**
3613 - * Matches elements that do not contain an element that matches an inner locator. Inner locator is queried against the
3614 - * outer one. For example, `article` that does not have `div` matches `<article><span>Playwright</span></article>`.
3615 - *
3616 - * Note that outer and inner locators must belong to the same frame. Inner locator must not contain
3617 - * [FrameLocator](https://playwright.dev/docs/api/class-framelocator)s.
3618 - */
3619 - hasNot?: Locator;
3620 -
3621 - /**
3622 - * Matches elements that do not contain specified text somewhere inside, possibly in a child or a descendant element.
3623 - * When passed a [string], matching is case-insensitive and searches for a substring.
3624 - */
3625 - hasNotText?: string|RegExp;
3626 -
3627 - /**
3628 - * Matches elements containing specified text somewhere inside, possibly in a child or a descendant element. When
3629 - * passed a [string], matching is case-insensitive and searches for a substring. For example, `"Playwright"` matches
3630 - * `<article><div>Playwright</div></article>`.
3631 - */
3632 - hasText?: string|RegExp;
3633 - }): Locator;
3634 -
3635 - /**
3636 - * The page's main frame. Page is guaranteed to have a main frame which persists during navigations.
3637 - */
3638 - mainFrame(): Frame;
3639 -
3640 - /**
3641 - * Returns the opener for popup pages and `null` for others. If the opener has been closed already the returns `null`.
3642 - */
3643 - opener(): Promise<null|Page>;
3644 -
3645 - /**
3646 - * Returns up to (currently) 200 last page errors from this page. See
3647 - * [page.on('pageerror')](https://playwright.dev/docs/api/class-page#page-event-page-error) for more details.
3648 - * @param options
3649 - */
3650 - pageErrors(options?: {
3651 - /**
3652 - * Controls which errors are returned:
3653 - */
3654 - filter?: "all"|"since-navigation";
3655 - }): Promise<Array<Error>>;
3656 -
3657 - /**
3658 - * Pauses script execution. Playwright will stop executing the script and wait for the user to either press the
3659 - * 'Resume' button in the page overlay or to call `playwright.resume()` in the DevTools console.
3660 - *
3661 - * User can inspect selectors or perform manual steps while paused. Resume will continue running the original script
3662 - * from the place it was paused.
3663 - *
3664 - * **NOTE** This method requires Playwright to be started in a headed mode, with a falsy
3665 - * [`headless`](https://playwright.dev/docs/api/class-browsertype#browser-type-launch-option-headless) option.
3666 - *
3667 - */
3668 - pause(): Promise<void>;
3669 -
3670 - /**
3671 - * Returns the PDF buffer.
3672 - *
3673 - * `page.pdf()` generates a pdf of the page with `print` css media. To generate a pdf with `screen` media, call
3674 - * [page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) before calling
3675 - * `page.pdf()`:
3676 - *
3677 - * **NOTE** By default, `page.pdf()` generates a pdf with modified colors for printing. Use the
3678 - * [`-webkit-print-color-adjust`](https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-print-color-adjust)
3679 - * property to force rendering of exact colors.
3680 - *
3681 - * **Usage**
3682 - *
3683 - * ```js
3684 - * // Generates a PDF with 'screen' media type.
3685 - * await page.emulateMedia({ media: 'screen' });
3686 - * await page.pdf({ path: 'page.pdf' });
3687 - * ```
3688 - *
3689 - * The [`width`](https://playwright.dev/docs/api/class-page#page-pdf-option-width),
3690 - * [`height`](https://playwright.dev/docs/api/class-page#page-pdf-option-height), and
3691 - * [`margin`](https://playwright.dev/docs/api/class-page#page-pdf-option-margin) options accept values labeled with
3692 - * units. Unlabeled values are treated as pixels.
3693 - *
3694 - * A few examples:
3695 - * - `page.pdf({width: 100})` - prints with width set to 100 pixels
3696 - * - `page.pdf({width: '100px'})` - prints with width set to 100 pixels
3697 - * - `page.pdf({width: '10cm'})` - prints with width set to 10 centimeters.
3698 - *
3699 - * All possible units are:
3700 - * - `px` - pixel
3701 - * - `in` - inch
3702 - * - `cm` - centimeter
3703 - * - `mm` - millimeter
3704 - *
3705 - * The [`format`](https://playwright.dev/docs/api/class-page#page-pdf-option-format) options are:
3706 - * - `Letter`: 8.5in x 11in
3707 - * - `Legal`: 8.5in x 14in
3708 - * - `Tabloid`: 11in x 17in
3709 - * - `Ledger`: 17in x 11in
3710 - * - `A0`: 33.1in x 46.8in
3711 - * - `A1`: 23.4in x 33.1in
3712 - * - `A2`: 16.54in x 23.4in
3713 - * - `A3`: 11.7in x 16.54in
3714 - * - `A4`: 8.27in x 11.7in
3715 - * - `A5`: 5.83in x 8.27in
3716 - * - `A6`: 4.13in x 5.83in
3717 - *
3718 - * **NOTE** [`headerTemplate`](https://playwright.dev/docs/api/class-page#page-pdf-option-header-template) and
3719 - * [`footerTemplate`](https://playwright.dev/docs/api/class-page#page-pdf-option-footer-template) markup have the
3720 - * following limitations: > 1. Script tags inside templates are not evaluated. > 2. Page styles are not visible inside
3721 - * templates.
3722 - *
3723 - * @param options
3724 - */
3725 - pdf(options?: {
3726 - /**
3727 - * Display header and footer. Defaults to `false`.
3728 - */
3729 - displayHeaderFooter?: boolean;
3730 -
3731 - /**
3732 - * HTML template for the print footer. Should use the same format as the
3733 - * [`headerTemplate`](https://playwright.dev/docs/api/class-page#page-pdf-option-header-template).
3734 - */
3735 - footerTemplate?: string;
3736 -
3737 - /**
3738 - * Paper format. If set, takes priority over
3739 - * [`width`](https://playwright.dev/docs/api/class-page#page-pdf-option-width) or
3740 - * [`height`](https://playwright.dev/docs/api/class-page#page-pdf-option-height) options. Defaults to 'Letter'.
3741 - */
3742 - format?: string;
3743 -
3744 - /**
3745 - * HTML template for the print header. Should be valid HTML markup with following classes used to inject printing
3746 - * values into them:
3747 - * - `'date'` formatted print date
3748 - * - `'title'` document title
3749 - * - `'url'` document location
3750 - * - `'pageNumber'` current page number
3751 - * - `'totalPages'` total pages in the document
3752 - */
3753 - headerTemplate?: string;
3754 -
3755 - /**
3756 - * Paper height, accepts values labeled with units.
3757 - */
3758 - height?: string|number;
3759 -
3760 - /**
3761 - * Paper orientation. Defaults to `false`.
3762 - */
3763 - landscape?: boolean;
3764 -
3765 - /**
3766 - * Paper margins, defaults to none.
3767 - */
3768 - margin?: {
3769 - /**
3770 - * Top margin, accepts values labeled with units. Defaults to `0`.
3771 - */
3772 - top?: string|number;
3773 -
3774 - /**
3775 - * Right margin, accepts values labeled with units. Defaults to `0`.
3776 - */
3777 - right?: string|number;
3778 -
3779 - /**
3780 - * Bottom margin, accepts values labeled with units. Defaults to `0`.
3781 - */
3782 - bottom?: string|number;
3783 -
3784 - /**
3785 - * Left margin, accepts values labeled with units. Defaults to `0`.
3786 - */
3787 - left?: string|number;
3788 - };
3789 -
3790 - /**
3791 - * Whether or not to embed the document outline into the PDF. Defaults to `false`.
3792 - */
3793 - outline?: boolean;
3794 -
3795 - /**
3796 - * Paper ranges to print, e.g., '1-5, 8, 11-13'. Defaults to the empty string, which means print all pages.
3797 - */
3798 - pageRanges?: string;
3799 -
3800 - /**
3801 - * The file path to save the PDF to. If [`path`](https://playwright.dev/docs/api/class-page#page-pdf-option-path) is a
3802 - * relative path, then it is resolved relative to the current working directory. If no path is provided, the PDF won't
3803 - * be saved to the disk.
3804 - */
3805 - path?: string;
3806 -
3807 - /**
3808 - * Give any CSS `@page` size declared in the page priority over what is declared in
3809 - * [`width`](https://playwright.dev/docs/api/class-page#page-pdf-option-width) and
3810 - * [`height`](https://playwright.dev/docs/api/class-page#page-pdf-option-height) or
3811 - * [`format`](https://playwright.dev/docs/api/class-page#page-pdf-option-format) options. Defaults to `false`, which
3812 - * will scale the content to fit the paper size.
3813 - */
3814 - preferCSSPageSize?: boolean;
3815 -
3816 - /**
3817 - * Print background graphics. Defaults to `false`.
3818 - */
3819 - printBackground?: boolean;
3820 -
3821 - /**
3822 - * Scale of the webpage rendering. Defaults to `1`. Scale amount must be between 0.1 and 2.
3823 - */
3824 - scale?: number;
3825 -
3826 - /**
3827 - * Whether or not to generate tagged (accessible) PDF. Defaults to `false`.
3828 - */
3829 - tagged?: boolean;
3830 -
3831 - /**
3832 - * Paper width, accepts values labeled with units.
3833 - */
3834 - width?: string|number;
3835 - }): Promise<Buffer>;
3836 -
3837 - /**
3838 - * Enters pick locator mode where hovering over page elements highlights them and shows the corresponding locator.
3839 - * Once the user clicks an element, the mode is deactivated and the
3840 - * [Locator](https://playwright.dev/docs/api/class-locator) for the picked element is returned.
3841 - *
3842 - * **Usage**
3843 - *
3844 - * ```js
3845 - * const locator = await page.pickLocator();
3846 - * console.log(locator);
3847 - * ```
3848 - *
3849 - */
3850 - pickLocator(): Promise<Locator>;
3851 -
3852 - /**
3853 - * **NOTE** Use locator-based [locator.press(key[, options])](https://playwright.dev/docs/api/class-locator#locator-press)
3854 - * instead. Read more about [locators](https://playwright.dev/docs/locators).
3855 - *
3856 - * Focuses the element, and then uses
3857 - * [keyboard.down(key)](https://playwright.dev/docs/api/class-keyboard#keyboard-down) and
3858 - * [keyboard.up(key)](https://playwright.dev/docs/api/class-keyboard#keyboard-up).
3859 - *
3860 - * [`key`](https://playwright.dev/docs/api/class-page#page-press-option-key) can specify the intended
3861 - * [keyboardEvent.key](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key) value or a single character
3862 - * to generate the text for. A superset of the
3863 - * [`key`](https://playwright.dev/docs/api/class-page#page-press-option-key) values can be found
3864 - * [here](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values). Examples of the keys are:
3865 - *
3866 - * `F1` - `F12`, `Digit0`- `Digit9`, `KeyA`- `KeyZ`, `Backquote`, `Minus`, `Equal`, `Backslash`, `Backspace`, `Tab`,
3867 - * `Delete`, `Escape`, `ArrowDown`, `End`, `Enter`, `Home`, `Insert`, `PageDown`, `PageUp`, `ArrowRight`, `ArrowUp`,
3868 - * etc.
3869 - *
3870 - * Following modification shortcuts are also supported: `Shift`, `Control`, `Alt`, `Meta`, `ShiftLeft`,
3871 - * `ControlOrMeta`. `ControlOrMeta` resolves to `Control` on Windows and Linux and to `Meta` on macOS.
3872 - *
3873 - * Holding down `Shift` will type the text that corresponds to the
3874 - * [`key`](https://playwright.dev/docs/api/class-page#page-press-option-key) in the upper case.
3875 - *
3876 - * If [`key`](https://playwright.dev/docs/api/class-page#page-press-option-key) is a single character, it is
3877 - * case-sensitive, so the values `a` and `A` will generate different respective texts.
3878 - *
3879 - * Shortcuts such as `key: "Control+o"`, `key: "Control++` or `key: "Control+Shift+T"` are supported as well. When
3880 - * specified with the modifier, modifier is pressed and being held while the subsequent key is being pressed.
3881 - *
3882 - * **Usage**
3883 - *
3884 - * ```js
3885 - * const page = await browser.newPage();
3886 - * await page.goto('https://keycode.info');
3887 - * await page.press('body', 'A');
3888 - * await page.screenshot({ path: 'A.png' });
3889 - * await page.press('body', 'ArrowLeft');
3890 - * await page.screenshot({ path: 'ArrowLeft.png' });
3891 - * await page.press('body', 'Shift+O');
3892 - * await page.screenshot({ path: 'O.png' });
3893 - * await browser.close();
3894 - * ```
3895 - *
3896 - * @param selector A selector to search for an element. If there are multiple elements satisfying the selector, the first will be
3897 - * used.
3898 - * @param key Name of the key to press or a character to generate, such as `ArrowLeft` or `a`.
3899 - * @param options
3900 - */
3901 - press(selector: string, key: string, options?: {
3902 - /**
3903 - * Time to wait between `keydown` and `keyup` in milliseconds. Defaults to 0.
3904 - */
3905 - delay?: number;
3906 -
3907 - /**
3908 - * Actions that initiate navigations are waiting for these navigations to happen and for pages to start loading. You
3909 - * can opt out of waiting via setting this flag. You would only need this option in the exceptional cases such as
3910 - * navigating to inaccessible pages. Defaults to `false`.
3911 - * @deprecated This option will default to `true` in the future.
3912 - */
3913 - noWaitAfter?: boolean;
3914 -
3915 - /**
3916 - * When true, the call requires selector to resolve to a single element. If given selector resolves to more than one
3917 - * element, the call throws an exception.
3918 - */
3919 - strict?: boolean;
3920 -
3921 - /**
3922 - * Maximum time in milliseconds. Defaults to `0` - no timeout. The default value can be changed via `actionTimeout`
3923 - * option in the config, or by using the
3924 - * [browserContext.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-timeout)
3925 - * or [page.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-timeout) methods.
3926 - */
3927 - timeout?: number;
3928 - }): Promise<void>;
3929 -
3930 - /**
3931 - * This method reloads the current page, in the same way as if the user had triggered a browser refresh. Returns the
3932 - * main resource response. In case of multiple redirects, the navigation will resolve with the response of the last
3933 - * redirect.
3934 - * @param options
3935 - */
3936 - reload(options?: {
3937 - /**
3938 - * Maximum operation time in milliseconds. Defaults to `0` - no timeout. The default value can be changed via
3939 - * `navigationTimeout` option in the config, or by using the
3940 - * [browserContext.setDefaultNavigationTimeout(timeout)](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-navigation-timeout),
3941 - * [browserContext.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-timeout),
3942 - * [page.setDefaultNavigationTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-navigation-timeout)
3943 - * or [page.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-timeout) methods.
3944 - */
3945 - timeout?: number;
3946 -
3947 - /**
3948 - * When to consider operation succeeded, defaults to `load`. Events can be either:
3949 - * - `'domcontentloaded'` - consider operation to be finished when the `DOMContentLoaded` event is fired.
3950 - * - `'load'` - consider operation to be finished when the `load` event is fired.
3951 - * - `'networkidle'` - **DISCOURAGED** consider operation to be finished when there are no network connections for
3952 - * at least `500` ms. Don't use this method for testing, rely on web assertions to assess readiness instead.
3953 - * - `'commit'` - consider operation to be finished when network response is received and the document started
3954 - * loading.
3955 - */
3956 - waitUntil?: "load"|"domcontentloaded"|"networkidle"|"commit";
3957 - }): Promise<null|Response>;
3958 -
3959 - /**
3960 - * Removes all locator handlers added by
3961 - * [page.addLocatorHandler(locator, handler[, options])](https://playwright.dev/docs/api/class-page#page-add-locator-handler)
3962 - * for a specific locator.
3963 - * @param locator Locator passed to
3964 - * [page.addLocatorHandler(locator, handler[, options])](https://playwright.dev/docs/api/class-page#page-add-locator-handler).
3965 - */
3966 - removeLocatorHandler(locator: Locator): Promise<void>;
3967 -
3968 - /**
3969 - * Request the page to perform garbage collection. Note that there is no guarantee that all unreachable objects will
3970 - * be collected.
3971 - *
3972 - * This is useful to help detect memory leaks. For example, if your page has a large object `'suspect'` that might be
3973 - * leaked, you can check that it does not leak by using a
3974 - * [`WeakRef`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakRef).
3975 - *
3976 - * ```js
3977 - * // 1. In your page, save a WeakRef for the "suspect".
3978 - * await page.evaluate(() => globalThis.suspectWeakRef = new WeakRef(suspect));
3979 - * // 2. Request garbage collection.
3980 - * await page.requestGC();
3981 - * // 3. Check that weak ref does not deref to the original object.
3982 - * expect(await page.evaluate(() => !globalThis.suspectWeakRef.deref())).toBe(true);
3983 - * ```
3984 - *
3985 - */
3986 - requestGC(): Promise<void>;
3987 -
3988 - /**
3989 - * Returns up to (currently) 100 last network request from this page. See
3990 - * [page.on('request')](https://playwright.dev/docs/api/class-page#page-event-request) for more details.
3991 - *
3992 - * Returned requests should be accessed immediately, otherwise they might be collected to prevent unbounded memory
3993 - * growth as new requests come in. Once collected, retrieving most information about the request is impossible.
3994 - *
3995 - * Note that requests reported through the
3996 - * [page.on('request')](https://playwright.dev/docs/api/class-page#page-event-request) request are not collected, so
3997 - * there is a trade off between efficient memory usage with
3998 - * [page.requests()](https://playwright.dev/docs/api/class-page#page-requests) and the amount of available information
3999 - * reported through [page.on('request')](https://playwright.dev/docs/api/class-page#page-event-request).
4000 - */
4001 - requests(): Promise<Array<Request>>;
4002 -
4003 - /**
4004 - * Routing provides the capability to modify network requests that are made by a page.
4005 - *
4006 - * Once routing is enabled, every request matching the url pattern will stall unless it's continued, fulfilled or
4007 - * aborted.
4008 - *
4009 - * **NOTE** The handler will only be called for the first url if the response is a redirect.
4010 - *
4011 - * **NOTE** [page.route(url, handler[, options])](https://playwright.dev/docs/api/class-page#page-route) will not
4012 - * intercept requests intercepted by Service Worker. See [this](https://github.com/microsoft/playwright/issues/1090)
4013 - * issue. We recommend disabling Service Workers when using request interception by setting
4014 - * [`serviceWorkers`](https://playwright.dev/docs/api/class-browser#browser-new-context-option-service-workers) to
4015 - * `'block'`.
4016 - *
4017 - * **NOTE** [page.route(url, handler[, options])](https://playwright.dev/docs/api/class-page#page-route) will not
4018 - * intercept the first request of a popup page. Use
4019 - * [browserContext.route(url, handler[, options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-route)
4020 - * instead.
4021 - *
4022 - * **Usage**
4023 - *
4024 - * An example of a naive handler that aborts all image requests:
4025 - *
4026 - * ```js
4027 - * const page = await browser.newPage();
4028 - * await page.route('**\/*.{png,jpg,jpeg}', route => route.abort());
4029 - * await page.goto('https://example.com');
4030 - * await browser.close();
4031 - * ```
4032 - *
4033 - * or the same snippet using a regex pattern instead:
4034 - *
4035 - * ```js
4036 - * const page = await browser.newPage();
4037 - * await page.route(/(\.png$)|(\.jpg$)/, route => route.abort());
4038 - * await page.goto('https://example.com');
4039 - * await browser.close();
4040 - * ```
4041 - *
4042 - * It is possible to examine the request to decide the route action. For example, mocking all requests that contain
4043 - * some post data, and leaving all other requests as is:
4044 - *
4045 - * ```js
4046 - * await page.route('/api/**', async route => {
4047 - * if (route.request().postData().includes('my-string'))
4048 - * await route.fulfill({ body: 'mocked-data' });
4049 - * else
4050 - * await route.continue();
4051 - * });
4052 - * ```
4053 - *
4054 - * If a request matches multiple registered routes, the most recently registered route takes precedence.
4055 - *
4056 - * Page routes take precedence over browser context routes (set up with
4057 - * [browserContext.route(url, handler[, options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-route))
4058 - * when request matches both handlers.
4059 - *
4060 - * To remove a route with its handler you can use
4061 - * [page.unroute(url[, handler])](https://playwright.dev/docs/api/class-page#page-unroute).
4062 - *
4063 - * **NOTE** Enabling routing disables http cache.
4064 - *
4065 - * @param url A glob pattern, regex pattern, URL pattern, or predicate that receives a [URL] to match during routing. If
4066 - * [`baseURL`](https://playwright.dev/docs/api/class-browser#browser-new-context-option-base-url) is set in the
4067 - * context options and the provided URL is a string that does not start with `*`, it is resolved using the
4068 - * [`new URL()`](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor.
4069 - * @param handler handler function to route the request.
4070 - * @param options
4071 - */
4072 - route(url: string|RegExp|URLPattern|((url: URL) => boolean), handler: ((route: Route, request: Request) => Promise<any>|any), options?: {
4073 - /**
4074 - * How often a route should be used. By default it will be used every time.
4075 - */
4076 - times?: number;
4077 - }): Promise<Disposable>;
4078 -
4079 - /**
4080 - * If specified the network requests that are made in the page will be served from the HAR file. Read more about
4081 - * [Replaying from HAR](https://playwright.dev/docs/mock#replaying-from-har).
4082 - *
4083 - * Playwright will not serve requests intercepted by Service Worker from the HAR file. See
4084 - * [this](https://github.com/microsoft/playwright/issues/1090) issue. We recommend disabling Service Workers when
4085 - * using request interception by setting
4086 - * [`serviceWorkers`](https://playwright.dev/docs/api/class-browser#browser-new-context-option-service-workers) to
4087 - * `'block'`.
4088 - * @param har Path to a [HAR](http://www.softwareishard.com/blog/har-12-spec) file with prerecorded network data. If `path` is a
4089 - * relative path, then it is resolved relative to the current working directory.
4090 - * @param options
4091 - */
4092 - routeFromHAR(har: string, options?: {
4093 - /**
4094 - * - If set to 'abort' any request not found in the HAR file will be aborted.
4095 - * - If set to 'fallback' missing requests will be sent to the network.
4096 - *
4097 - * Defaults to abort.
4098 - */
4099 - notFound?: "abort"|"fallback";
4100 -
4101 - /**
4102 - * If specified, updates the given HAR with the actual network information instead of serving from file. The file is
4103 - * written to disk when
4104 - * [browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) is
4105 - * called.
4106 - */
4107 - update?: boolean;
4108 -
4109 - /**
4110 - * Optional setting to control resource content management. If `attach` is specified, resources are persisted as
4111 - * separate files or entries in the ZIP archive. If `embed` is specified, content is stored inline the HAR file.
4112 - */
4113 - updateContent?: "embed"|"attach";
4114 -
4115 - /**
4116 - * When set to `minimal`, only record information necessary for routing from HAR. This omits sizes, timing, page,
4117 - * cookies, security and other types of HAR information that are not used when replaying from HAR. Defaults to
4118 - * `minimal`.
4119 - */
4120 - updateMode?: "full"|"minimal";
4121 -
4122 - /**
4123 - * A glob pattern, regular expression or predicate to match the request URL. Only requests with URL matching the
4124 - * pattern will be served from the HAR file. If not specified, all requests are served from the HAR file.
4125 - */
4126 - url?: string|RegExp;
4127 - }): Promise<void>;
4128 -
4129 - /**
4130 - * This method allows to modify websocket connections that are made by the page.
4131 - *
4132 - * Note that only `WebSocket`s created after this method was called will be routed. It is recommended to call this
4133 - * method before navigating the page.
4134 - *
4135 - * **Usage**
4136 - *
4137 - * Below is an example of a simple mock that responds to a single message. See
4138 - * [WebSocketRoute](https://playwright.dev/docs/api/class-websocketroute) for more details and examples.
4139 - *
4140 - * ```js
4141 - * await page.routeWebSocket('/ws', ws => {
4142 - * ws.onMessage(message => {
4143 - * if (message === 'request')
4144 - * ws.send('response');
4145 - * });
4146 - * });
4147 - * ```
4148 - *
4149 - * @param url Only WebSockets with the url matching this pattern will be routed. A string pattern can be relative to the
4150 - * [`baseURL`](https://playwright.dev/docs/api/class-browser#browser-new-context-option-base-url) context option.
4151 - * @param handler Handler function to route the WebSocket.
4152 - */
4153 - routeWebSocket(url: string|RegExp|URLPattern|((url: URL) => boolean), handler: ((websocketroute: WebSocketRoute) => Promise<any>|any)): Promise<void>;
4154 -
4155 - /**
4156 - * Returns the buffer with the captured screenshot.
4157 - * @param options
4158 - */
4159 - screenshot(options?: PageScreenshotOptions): Promise<Buffer>;
4160 -
4161 - /**
4162 - * **NOTE** Use locator-based
4163 - * [locator.selectOption(values[, options])](https://playwright.dev/docs/api/class-locator#locator-select-option)
4164 - * instead. Read more about [locators](https://playwright.dev/docs/locators).
4165 - *
4166 - * This method waits for an element matching
4167 - * [`selector`](https://playwright.dev/docs/api/class-page#page-select-option-option-selector), waits for
4168 - * [actionability](https://playwright.dev/docs/actionability) checks, waits until all specified options are present in the `<select>`
4169 - * element and selects these options.
4170 - *
4171 - * If the target element is not a `<select>` element, this method throws an error. However, if the element is inside
4172 - * the `<label>` element that has an associated
4173 - * [control](https://developer.mozilla.org/en-US/docs/Web/API/HTMLLabelElement/control), the control will be used
4174 - * instead.
4175 - *
4176 - * Returns the array of option values that have been successfully selected.
4177 - *
4178 - * Triggers a `change` and `input` event once all the provided options have been selected.
4179 - *
4180 - * **Usage**
4181 - *
4182 - * ```js
4183 - * // Single selection matching the value or label
4184 - * page.selectOption('select#colors', 'blue');
4185 - *
4186 - * // single selection matching the label
4187 - * page.selectOption('select#colors', { label: 'Blue' });
4188 - *
4189 - * // multiple selection
4190 - * page.selectOption('select#colors', ['red', 'green', 'blue']);
4191 - *
4192 - * ```
4193 - *
4194 - * @param selector A selector to search for an element. If there are multiple elements satisfying the selector, the first will be
4195 - * used.
4196 - * @param values Options to select. If the `<select>` has the `multiple` attribute, all matching options are selected, otherwise
4197 - * only the first option matching one of the passed options is selected. String values are matching both values and
4198 - * labels. Option is considered matching if all specified properties match.
4199 - * @param options
4200 - */
4201 - selectOption(selector: string, values: null|string|ElementHandle|ReadonlyArray<string>|{
4202 - /**
4203 - * Matches by `option.value`. Optional.
4204 - */
4205 - value?: string;
4206 -
4207 - /**
4208 - * Matches by `option.label`. Optional.
4209 - */
4210 - label?: string;
4211 -
4212 - /**
4213 - * Matches by the index. Optional.
4214 - */
4215 - index?: number;
4216 - }|ReadonlyArray<ElementHandle>|ReadonlyArray<{
4217 - /**
4218 - * Matches by `option.value`. Optional.
4219 - */
4220 - value?: string;
4221 -
4222 - /**
4223 - * Matches by `option.label`. Optional.
4224 - */
4225 - label?: string;
4226 -
4227 - /**
4228 - * Matches by the index. Optional.
4229 - */
4230 - index?: number;
4231 - }>, options?: {
4232 - /**
4233 - * Whether to bypass the [actionability](https://playwright.dev/docs/actionability) checks. Defaults to `false`.
4234 - */
4235 - force?: boolean;
4236 -
4237 - /**
4238 - * This option has no effect.
4239 - * @deprecated This option has no effect.
4240 - */
4241 - noWaitAfter?: boolean;
4242 -
4243 - /**
4244 - * When true, the call requires selector to resolve to a single element. If given selector resolves to more than one
4245 - * element, the call throws an exception.
4246 - */
4247 - strict?: boolean;
4248 -
4249 - /**
4250 - * Maximum time in milliseconds. Defaults to `0` - no timeout. The default value can be changed via `actionTimeout`
4251 - * option in the config, or by using the
4252 - * [browserContext.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-timeout)
4253 - * or [page.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-timeout) methods.
4254 - */
4255 - timeout?: number;
4256 - }): Promise<Array<string>>;
4257 -
4258 - /**
4259 - * **NOTE** Use locator-based
4260 - * [locator.setChecked(checked[, options])](https://playwright.dev/docs/api/class-locator#locator-set-checked)
4261 - * instead. Read more about [locators](https://playwright.dev/docs/locators).
4262 - *
4263 - * This method checks or unchecks an element matching
4264 - * [`selector`](https://playwright.dev/docs/api/class-page#page-set-checked-option-selector) by performing the
4265 - * following steps:
4266 - * 1. Find an element matching
4267 - * [`selector`](https://playwright.dev/docs/api/class-page#page-set-checked-option-selector). If there is none,
4268 - * wait until a matching element is attached to the DOM.
4269 - * 1. Ensure that matched element is a checkbox or a radio input. If not, this method throws.
4270 - * 1. If the element already has the right checked state, this method returns immediately.
4271 - * 1. Wait for [actionability](https://playwright.dev/docs/actionability) checks on the matched element, unless
4272 - * [`force`](https://playwright.dev/docs/api/class-page#page-set-checked-option-force) option is set. If the
4273 - * element is detached during the checks, the whole action is retried.
4274 - * 1. Scroll the element into view if needed.
4275 - * 1. Use [page.mouse](https://playwright.dev/docs/api/class-page#page-mouse) to click in the center of the
4276 - * element.
4277 - * 1. Ensure that the element is now checked or unchecked. If not, this method throws.
4278 - *
4279 - * When all steps combined have not finished during the specified
4280 - * [`timeout`](https://playwright.dev/docs/api/class-page#page-set-checked-option-timeout), this method throws a
4281 - * [TimeoutError](https://playwright.dev/docs/api/class-timeouterror). Passing zero timeout disables this.
4282 - * @param selector A selector to search for an element. If there are multiple elements satisfying the selector, the first will be
4283 - * used.
4284 - * @param checked Whether to check or uncheck the checkbox.
4285 - * @param options
4286 - */
4287 - setChecked(selector: string, checked: boolean, options?: {
4288 - /**
4289 - * Whether to bypass the [actionability](https://playwright.dev/docs/actionability) checks. Defaults to `false`.
4290 - */
4291 - force?: boolean;
4292 -
4293 - /**
4294 - * This option has no effect.
4295 - * @deprecated This option has no effect.
4296 - */
4297 - noWaitAfter?: boolean;
4298 -
4299 - /**
4300 - * A point to use relative to the top-left corner of element padding box. If not specified, uses some visible point of
4301 - * the element.
4302 - */
4303 - position?: {
4304 - x: number;
4305 -
4306 - y: number;
4307 - };
4308 -
4309 - /**
4310 - * When true, the call requires selector to resolve to a single element. If given selector resolves to more than one
4311 - * element, the call throws an exception.
4312 - */
4313 - strict?: boolean;
4314 -
4315 - /**
4316 - * Maximum time in milliseconds. Defaults to `0` - no timeout. The default value can be changed via `actionTimeout`
4317 - * option in the config, or by using the
4318 - * [browserContext.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-timeout)
4319 - * or [page.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-timeout) methods.
4320 - */
4321 - timeout?: number;
4322 -
4323 - /**
4324 - * When set, this method only performs the [actionability](https://playwright.dev/docs/actionability) checks and skips the action. Defaults
4325 - * to `false`. Useful to wait until the element is ready for the action without performing it.
4326 - */
4327 - trial?: boolean;
4328 - }): Promise<void>;
4329 -
4330 - /**
4331 - * This method internally calls [document.write()](https://developer.mozilla.org/en-US/docs/Web/API/Document/write),
4332 - * inheriting all its specific characteristics and behaviors.
4333 - * @param html HTML markup to assign to the page.
4334 - * @param options
4335 - */
4336 - setContent(html: string, options?: {
4337 - /**
4338 - * Maximum operation time in milliseconds. Defaults to `0` - no timeout. The default value can be changed via
4339 - * `navigationTimeout` option in the config, or by using the
4340 - * [browserContext.setDefaultNavigationTimeout(timeout)](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-navigation-timeout),
4341 - * [browserContext.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-timeout),
4342 - * [page.setDefaultNavigationTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-navigation-timeout)
4343 - * or [page.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-timeout) methods.
4344 - */
4345 - timeout?: number;
4346 -
4347 - /**
4348 - * When to consider operation succeeded, defaults to `load`. Events can be either:
4349 - * - `'domcontentloaded'` - consider operation to be finished when the `DOMContentLoaded` event is fired.
4350 - * - `'load'` - consider operation to be finished when the `load` event is fired.
4351 - * - `'networkidle'` - **DISCOURAGED** consider operation to be finished when there are no network connections for
4352 - * at least `500` ms. Don't use this method for testing, rely on web assertions to assess readiness instead.
4353 - * - `'commit'` - consider operation to be finished when network response is received and the document started
4354 - * loading.
4355 - */
4356 - waitUntil?: "load"|"domcontentloaded"|"networkidle"|"commit";
4357 - }): Promise<void>;
4358 -
4359 - /**
4360 - * This setting will change the default maximum navigation time for the following methods and related shortcuts:
4361 - * - [page.goBack([options])](https://playwright.dev/docs/api/class-page#page-go-back)
4362 - * - [page.goForward([options])](https://playwright.dev/docs/api/class-page#page-go-forward)
4363 - * - [page.goto(url[, options])](https://playwright.dev/docs/api/class-page#page-goto)
4364 - * - [page.reload([options])](https://playwright.dev/docs/api/class-page#page-reload)
4365 - * - [page.setContent(html[, options])](https://playwright.dev/docs/api/class-page#page-set-content)
4366 - * - [page.waitForNavigation([options])](https://playwright.dev/docs/api/class-page#page-wait-for-navigation)
4367 - * - [page.waitForURL(url[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-url)
4368 - *
4369 - * **NOTE**
4370 - * [page.setDefaultNavigationTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-navigation-timeout)
4371 - * takes priority over
4372 - * [page.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-timeout),
4373 - * [browserContext.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-timeout)
4374 - * and
4375 - * [browserContext.setDefaultNavigationTimeout(timeout)](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-navigation-timeout).
4376 - *
4377 - * @param timeout Maximum navigation time in milliseconds
4378 - */
4379 - setDefaultNavigationTimeout(timeout: number): void;
4380 -
4381 - /**
4382 - * This setting will change the default maximum time for all the methods accepting
4383 - * [`timeout`](https://playwright.dev/docs/api/class-page#page-set-default-timeout-option-timeout) option.
4384 - *
4385 - * **NOTE**
4386 - * [page.setDefaultNavigationTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-navigation-timeout)
4387 - * takes priority over
4388 - * [page.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-timeout).
4389 - *
4390 - * @param timeout Maximum time in milliseconds. Pass `0` to disable timeout.
4391 - */
4392 - setDefaultTimeout(timeout: number): void;
4393 -
4394 - /**
4395 - * The extra HTTP headers will be sent with every request the page initiates.
4396 - *
4397 - * **NOTE**
4398 - * [page.setExtraHTTPHeaders(headers)](https://playwright.dev/docs/api/class-page#page-set-extra-http-headers) does
4399 - * not guarantee the order of headers in the outgoing requests.
4400 - *
4401 - * @param headers An object containing additional HTTP headers to be sent with every request. All header values must be strings.
4402 - */
4403 - setExtraHTTPHeaders(headers: { [key: string]: string; }): Promise<void>;
4404 -
4405 - /**
4406 - * **NOTE** Use locator-based
4407 - * [locator.setInputFiles(files[, options])](https://playwright.dev/docs/api/class-locator#locator-set-input-files)
4408 - * instead. Read more about [locators](https://playwright.dev/docs/locators).
4409 - *
4410 - * Sets the value of the file input to these file paths or files. If some of the `filePaths` are relative paths, then
4411 - * they are resolved relative to the current working directory. For empty array, clears the selected files. For inputs
4412 - * with a `[webkitdirectory]` attribute, only a single directory path is supported.
4413 - *
4414 - * This method expects [`selector`](https://playwright.dev/docs/api/class-page#page-set-input-files-option-selector)
4415 - * to point to an [input element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input). However, if the
4416 - * element is inside the `<label>` element that has an associated
4417 - * [control](https://developer.mozilla.org/en-US/docs/Web/API/HTMLLabelElement/control), targets the control instead.
4418 - * @param selector A selector to search for an element. If there are multiple elements satisfying the selector, the first will be
4419 - * used.
4420 - * @param files
4421 - * @param options
4422 - */
4423 - setInputFiles(selector: string, files: string|ReadonlyArray<string>|{
4424 - /**
4425 - * File name
4426 - */
4427 - name: string;
4428 -
4429 - /**
4430 - * File type
4431 - */
4432 - mimeType: string;
4433 -
4434 - /**
4435 - * File content
4436 - */
4437 - buffer: Buffer;
4438 - }|ReadonlyArray<{
4439 - /**
4440 - * File name
4441 - */
4442 - name: string;
4443 -
4444 - /**
4445 - * File type
4446 - */
4447 - mimeType: string;
4448 -
4449 - /**
4450 - * File content
4451 - */
4452 - buffer: Buffer;
4453 - }>, options?: {
4454 - /**
4455 - * This option has no effect.
4456 - * @deprecated This option has no effect.
4457 - */
4458 - noWaitAfter?: boolean;
4459 -
4460 - /**
4461 - * When true, the call requires selector to resolve to a single element. If given selector resolves to more than one
4462 - * element, the call throws an exception.
4463 - */
4464 - strict?: boolean;
4465 -
4466 - /**
4467 - * Maximum time in milliseconds. Defaults to `0` - no timeout. The default value can be changed via `actionTimeout`
4468 - * option in the config, or by using the
4469 - * [browserContext.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-timeout)
4470 - * or [page.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-timeout) methods.
4471 - */
4472 - timeout?: number;
4473 - }): Promise<void>;
4474 -
4475 - /**
4476 - * In the case of multiple pages in a single browser, each page can have its own viewport size. However,
4477 - * [browser.newContext([options])](https://playwright.dev/docs/api/class-browser#browser-new-context) allows to set
4478 - * viewport size (and more) for all pages in the context at once.
4479 - *
4480 - * [page.setViewportSize(viewportSize)](https://playwright.dev/docs/api/class-page#page-set-viewport-size) will resize
4481 - * the page. A lot of websites don't expect phones to change size, so you should set the viewport size before
4482 - * navigating to the page.
4483 - * [page.setViewportSize(viewportSize)](https://playwright.dev/docs/api/class-page#page-set-viewport-size) will also
4484 - * reset `screen` size, use
4485 - * [browser.newContext([options])](https://playwright.dev/docs/api/class-browser#browser-new-context) with `screen`
4486 - * and `viewport` parameters if you need better control of these properties.
4487 - *
4488 - * **Usage**
4489 - *
4490 - * ```js
4491 - * const page = await browser.newPage();
4492 - * await page.setViewportSize({
4493 - * width: 640,
4494 - * height: 480,
4495 - * });
4496 - * await page.goto('https://example.com');
4497 - * ```
4498 - *
4499 - * @param viewportSize
4500 - */
4501 - setViewportSize(viewportSize: {
4502 - /**
4503 - * page width in pixels.
4504 - */
4505 - width: number;
4506 -
4507 - /**
4508 - * page height in pixels.
4509 - */
4510 - height: number;
4511 - }): Promise<void>;
4512 -
4513 - /**
4514 - * **NOTE** Use locator-based [locator.tap([options])](https://playwright.dev/docs/api/class-locator#locator-tap) instead. Read
4515 - * more about [locators](https://playwright.dev/docs/locators).
4516 - *
4517 - * This method taps an element matching
4518 - * [`selector`](https://playwright.dev/docs/api/class-page#page-tap-option-selector) by performing the following
4519 - * steps:
4520 - * 1. Find an element matching [`selector`](https://playwright.dev/docs/api/class-page#page-tap-option-selector).
4521 - * If there is none, wait until a matching element is attached to the DOM.
4522 - * 1. Wait for [actionability](https://playwright.dev/docs/actionability) checks on the matched element, unless
4523 - * [`force`](https://playwright.dev/docs/api/class-page#page-tap-option-force) option is set. If the element is
4524 - * detached during the checks, the whole action is retried.
4525 - * 1. Scroll the element into view if needed.
4526 - * 1. Use [page.touchscreen](https://playwright.dev/docs/api/class-page#page-touchscreen) to tap the center of the
4527 - * element, or the specified [`position`](https://playwright.dev/docs/api/class-page#page-tap-option-position).
4528 - *
4529 - * When all steps combined have not finished during the specified
4530 - * [`timeout`](https://playwright.dev/docs/api/class-page#page-tap-option-timeout), this method throws a
4531 - * [TimeoutError](https://playwright.dev/docs/api/class-timeouterror). Passing zero timeout disables this.
4532 - *
4533 - * **NOTE** [page.tap(selector[, options])](https://playwright.dev/docs/api/class-page#page-tap) the method will throw
4534 - * if [`hasTouch`](https://playwright.dev/docs/api/class-browser#browser-new-context-option-has-touch) option of the
4535 - * browser context is false.
4536 - *
4537 - * @param selector A selector to search for an element. If there are multiple elements satisfying the selector, the first will be
4538 - * used.
4539 - * @param options
4540 - */
4541 - tap(selector: string, options?: {
4542 - /**
4543 - * Whether to bypass the [actionability](https://playwright.dev/docs/actionability) checks. Defaults to `false`.
4544 - */
4545 - force?: boolean;
4546 -
4547 - /**
4548 - * Modifier keys to press. Ensures that only these modifiers are pressed during the operation, and then restores
4549 - * current modifiers back. If not specified, currently pressed modifiers are used. "ControlOrMeta" resolves to
4550 - * "Control" on Windows and Linux and to "Meta" on macOS.
4551 - */
4552 - modifiers?: Array<"Alt"|"Control"|"ControlOrMeta"|"Meta"|"Shift">;
4553 -
4554 - /**
4555 - * This option has no effect.
4556 - * @deprecated This option has no effect.
4557 - */
4558 - noWaitAfter?: boolean;
4559 -
4560 - /**
4561 - * A point to use relative to the top-left corner of element padding box. If not specified, uses some visible point of
4562 - * the element.
4563 - */
4564 - position?: {
4565 - x: number;
4566 -
4567 - y: number;
4568 - };
4569 -
4570 - /**
4571 - * When true, the call requires selector to resolve to a single element. If given selector resolves to more than one
4572 - * element, the call throws an exception.
4573 - */
4574 - strict?: boolean;
4575 -
4576 - /**
4577 - * Maximum time in milliseconds. Defaults to `0` - no timeout. The default value can be changed via `actionTimeout`
4578 - * option in the config, or by using the
4579 - * [browserContext.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-timeout)
4580 - * or [page.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-timeout) methods.
4581 - */
4582 - timeout?: number;
4583 -
4584 - /**
4585 - * When set, this method only performs the [actionability](https://playwright.dev/docs/actionability) checks and skips the action. Defaults
4586 - * to `false`. Useful to wait until the element is ready for the action without performing it. Note that keyboard
4587 - * `modifiers` will be pressed regardless of `trial` to allow testing elements which are only visible when those keys
4588 - * are pressed.
4589 - */
4590 - trial?: boolean;
4591 - }): Promise<void>;
4592 -
4593 - /**
4594 - * **NOTE** Use locator-based
4595 - * [locator.textContent([options])](https://playwright.dev/docs/api/class-locator#locator-text-content) instead. Read
4596 - * more about [locators](https://playwright.dev/docs/locators).
4597 - *
4598 - * Returns `element.textContent`.
4599 - * @param selector A selector to search for an element. If there are multiple elements satisfying the selector, the first will be
4600 - * used.
4601 - * @param options
4602 - */
4603 - textContent(selector: string, options?: {
4604 - /**
4605 - * When true, the call requires selector to resolve to a single element. If given selector resolves to more than one
4606 - * element, the call throws an exception.
4607 - */
4608 - strict?: boolean;
4609 -
4610 - /**
4611 - * Maximum time in milliseconds. Defaults to `0` - no timeout. The default value can be changed via `actionTimeout`
4612 - * option in the config, or by using the
4613 - * [browserContext.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-timeout)
4614 - * or [page.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-timeout) methods.
4615 - */
4616 - timeout?: number;
4617 - }): Promise<null|string>;
4618 -
4619 - /**
4620 - * Returns the page's title.
4621 - */
4622 - title(): Promise<string>;
4623 -
4624 - /**
4625 - * Sends a `keydown`, `keypress`/`input`, and `keyup` event for each character in the text. `page.type` can be used to
4626 - * send fine-grained keyboard events. To fill values in form fields, use
4627 - * [page.fill(selector, value[, options])](https://playwright.dev/docs/api/class-page#page-fill).
4628 - *
4629 - * To press a special key, like `Control` or `ArrowDown`, use
4630 - * [keyboard.press(key[, options])](https://playwright.dev/docs/api/class-keyboard#keyboard-press).
4631 - *
4632 - * **Usage**
4633 - * @deprecated In most cases, you should use
4634 - * [locator.fill(value[, options])](https://playwright.dev/docs/api/class-locator#locator-fill) instead. You only need
4635 - * to press keys one by one if there is special keyboard handling on the page - in this case use
4636 - * [locator.pressSequentially(text[, options])](https://playwright.dev/docs/api/class-locator#locator-press-sequentially).
4637 - * @param selector A selector to search for an element. If there are multiple elements satisfying the selector, the first will be
4638 - * used.
4639 - * @param text A text to type into a focused element.
4640 - * @param options
4641 - */
4642 - type(selector: string, text: string, options?: {
4643 - /**
4644 - * Time to wait between key presses in milliseconds. Defaults to 0.
4645 - */
4646 - delay?: number;
4647 -
4648 - /**
4649 - * This option has no effect.
4650 - * @deprecated This option has no effect.
4651 - */
4652 - noWaitAfter?: boolean;
4653 -
4654 - /**
4655 - * When true, the call requires selector to resolve to a single element. If given selector resolves to more than one
4656 - * element, the call throws an exception.
4657 - */
4658 - strict?: boolean;
4659 -
4660 - /**
4661 - * Maximum time in milliseconds. Defaults to `0` - no timeout. The default value can be changed via `actionTimeout`
4662 - * option in the config, or by using the
4663 - * [browserContext.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-timeout)
4664 - * or [page.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-timeout) methods.
4665 - */
4666 - timeout?: number;
4667 - }): Promise<void>;
4668 -
4669 - /**
4670 - * **NOTE** Use locator-based [locator.uncheck([options])](https://playwright.dev/docs/api/class-locator#locator-uncheck)
4671 - * instead. Read more about [locators](https://playwright.dev/docs/locators).
4672 - *
4673 - * This method unchecks an element matching
4674 - * [`selector`](https://playwright.dev/docs/api/class-page#page-uncheck-option-selector) by performing the following
4675 - * steps:
4676 - * 1. Find an element matching
4677 - * [`selector`](https://playwright.dev/docs/api/class-page#page-uncheck-option-selector). If there is none, wait
4678 - * until a matching element is attached to the DOM.
4679 - * 1. Ensure that matched element is a checkbox or a radio input. If not, this method throws. If the element is
4680 - * already unchecked, this method returns immediately.
4681 - * 1. Wait for [actionability](https://playwright.dev/docs/actionability) checks on the matched element, unless
4682 - * [`force`](https://playwright.dev/docs/api/class-page#page-uncheck-option-force) option is set. If the element
4683 - * is detached during the checks, the whole action is retried.
4684 - * 1. Scroll the element into view if needed.
4685 - * 1. Use [page.mouse](https://playwright.dev/docs/api/class-page#page-mouse) to click in the center of the
4686 - * element.
4687 - * 1. Ensure that the element is now unchecked. If not, this method throws.
4688 - *
4689 - * When all steps combined have not finished during the specified
4690 - * [`timeout`](https://playwright.dev/docs/api/class-page#page-uncheck-option-timeout), this method throws a
4691 - * [TimeoutError](https://playwright.dev/docs/api/class-timeouterror). Passing zero timeout disables this.
4692 - * @param selector A selector to search for an element. If there are multiple elements satisfying the selector, the first will be
4693 - * used.
4694 - * @param options
4695 - */
4696 - uncheck(selector: string, options?: {
4697 - /**
4698 - * Whether to bypass the [actionability](https://playwright.dev/docs/actionability) checks. Defaults to `false`.
4699 - */
4700 - force?: boolean;
4701 -
4702 - /**
4703 - * This option has no effect.
4704 - * @deprecated This option has no effect.
4705 - */
4706 - noWaitAfter?: boolean;
4707 -
4708 - /**
4709 - * A point to use relative to the top-left corner of element padding box. If not specified, uses some visible point of
4710 - * the element.
4711 - */
4712 - position?: {
4713 - x: number;
4714 -
4715 - y: number;
4716 - };
4717 -
4718 - /**
4719 - * When true, the call requires selector to resolve to a single element. If given selector resolves to more than one
4720 - * element, the call throws an exception.
4721 - */
4722 - strict?: boolean;
4723 -
4724 - /**
4725 - * Maximum time in milliseconds. Defaults to `0` - no timeout. The default value can be changed via `actionTimeout`
4726 - * option in the config, or by using the
4727 - * [browserContext.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-timeout)
4728 - * or [page.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-timeout) methods.
4729 - */
4730 - timeout?: number;
4731 -
4732 - /**
4733 - * When set, this method only performs the [actionability](https://playwright.dev/docs/actionability) checks and skips the action. Defaults
4734 - * to `false`. Useful to wait until the element is ready for the action without performing it.
4735 - */
4736 - trial?: boolean;
4737 - }): Promise<void>;
4738 -
4739 - /**
4740 - * Removes a route created with
4741 - * [page.route(url, handler[, options])](https://playwright.dev/docs/api/class-page#page-route). When
4742 - * [`handler`](https://playwright.dev/docs/api/class-page#page-unroute-option-handler) is not specified, removes all
4743 - * routes for the [`url`](https://playwright.dev/docs/api/class-page#page-unroute-option-url).
4744 - * @param url A glob pattern, regex pattern, URL pattern, or predicate receiving [URL] to match while routing.
4745 - * @param handler Optional handler function to route the request.
4746 - */
4747 - unroute(url: string|RegExp|URLPattern|((url: URL) => boolean), handler?: ((route: Route, request: Request) => Promise<any>|any)): Promise<void>;
4748 -
4749 - /**
4750 - * Removes all routes created with
4751 - * [page.route(url, handler[, options])](https://playwright.dev/docs/api/class-page#page-route) and
4752 - * [page.routeFromHAR(har[, options])](https://playwright.dev/docs/api/class-page#page-route-from-har).
4753 - * @param options
4754 - */
4755 - unrouteAll(options?: {
4756 - /**
4757 - * Specifies whether to wait for already running handlers and what to do if they throw errors:
4758 - * - `'default'` - do not wait for current handler calls (if any) to finish, if unrouted handler throws, it may
4759 - * result in unhandled error
4760 - * - `'wait'` - wait for current handler calls (if any) to finish
4761 - * - `'ignoreErrors'` - do not wait for current handler calls (if any) to finish, all errors thrown by the handlers
4762 - * after unrouting are silently caught
4763 - */
4764 - behavior?: "wait"|"ignoreErrors"|"default";
4765 - }): Promise<void>;
4766 -
4767 - url(): string;
4768 -
4769 - /**
4770 - * Video object associated with this page. Can be used to access the video file when using the `recordVideo` context
4771 - * option.
4772 - */
4773 - video(): null|Video;
4774 -
4775 - viewportSize(): null|{
4776 - /**
4777 - * page width in pixels.
4778 - */
4779 - width: number;
4780 -
4781 - /**
4782 - * page height in pixels.
4783 - */
4784 - height: number;
4785 - };
4786 -
4787 - /**
4788 - * Emitted when the page closes.
4789 - */
4790 - waitForEvent(event: 'close', optionsOrPredicate?: { predicate?: (page: Page) => boolean | Promise<boolean>, timeout?: number } | ((page: Page) => boolean | Promise<boolean>)): Promise<Page>;
4791 -
4792 - /**
4793 - * Emitted when JavaScript within the page calls one of console API methods, e.g. `console.log` or `console.dir`.
4794 - *
4795 - * The arguments passed into `console.log` are available on the
4796 - * [ConsoleMessage](https://playwright.dev/docs/api/class-consolemessage) event handler argument.
4797 - *
4798 - * **Usage**
4799 - *
4800 - * ```js
4801 - * page.on('console', async msg => {
4802 - * const values = [];
4803 - * for (const arg of msg.args())
4804 - * values.push(await arg.jsonValue());
4805 - * console.log(...values);
4806 - * });
4807 - * await page.evaluate(() => console.log('hello', 5, { foo: 'bar' }));
4808 - * ```
4809 - *
4810 - */
4811 - waitForEvent(event: 'console', optionsOrPredicate?: { predicate?: (consoleMessage: ConsoleMessage) => boolean | Promise<boolean>, timeout?: number } | ((consoleMessage: ConsoleMessage) => boolean | Promise<boolean>)): Promise<ConsoleMessage>;
4812 -
4813 - /**
4814 - * Emitted when the page crashes. Browser pages might crash if they try to allocate too much memory. When the page
4815 - * crashes, ongoing and subsequent operations will throw.
4816 - *
4817 - * The most common way to deal with crashes is to catch an exception:
4818 - *
4819 - * ```js
4820 - * try {
4821 - * // Crash might happen during a click.
4822 - * await page.click('button');
4823 - * // Or while waiting for an event.
4824 - * await page.waitForEvent('popup');
4825 - * } catch (e) {
4826 - * // When the page crashes, exception message contains 'crash'.
4827 - * }
4828 - * ```
4829 - *
4830 - */
4831 - waitForEvent(event: 'crash', optionsOrPredicate?: { predicate?: (page: Page) => boolean | Promise<boolean>, timeout?: number } | ((page: Page) => boolean | Promise<boolean>)): Promise<Page>;
4832 -
4833 - /**
4834 - * Emitted when a JavaScript dialog appears, such as `alert`, `prompt`, `confirm` or `beforeunload`. Listener **must**
4835 - * either [dialog.accept([promptText])](https://playwright.dev/docs/api/class-dialog#dialog-accept) or
4836 - * [dialog.dismiss()](https://playwright.dev/docs/api/class-dialog#dialog-dismiss) the dialog - otherwise the page
4837 - * will [freeze](https://developer.mozilla.org/en-US/docs/Web/JavaScript/EventLoop#never_blocking) waiting for the
4838 - * dialog, and actions like click will never finish.
4839 - *
4840 - * **Usage**
4841 - *
4842 - * ```js
4843 - * page.on('dialog', dialog => dialog.accept());
4844 - * ```
4845 - *
4846 - * **NOTE** When no [page.on('dialog')](https://playwright.dev/docs/api/class-page#page-event-dialog) or
4847 - * [browserContext.on('dialog')](https://playwright.dev/docs/api/class-browsercontext#browser-context-event-dialog)
4848 - * listeners are present, all dialogs are automatically dismissed.
4849 - *
4850 - */
4851 - waitForEvent(event: 'dialog', optionsOrPredicate?: { predicate?: (dialog: Dialog) => boolean | Promise<boolean>, timeout?: number } | ((dialog: Dialog) => boolean | Promise<boolean>)): Promise<Dialog>;
4852 -
4853 - /**
4854 - * Emitted when the JavaScript
4855 - * [`DOMContentLoaded`](https://developer.mozilla.org/en-US/docs/Web/Events/DOMContentLoaded) event is dispatched.
4856 - */
4857 - waitForEvent(event: 'domcontentloaded', optionsOrPredicate?: { predicate?: (page: Page) => boolean | Promise<boolean>, timeout?: number } | ((page: Page) => boolean | Promise<boolean>)): Promise<Page>;
4858 -
4859 - /**
4860 - * Emitted when attachment download started. User can access basic file operations on downloaded content via the
4861 - * passed [Download](https://playwright.dev/docs/api/class-download) instance.
4862 - */
4863 - waitForEvent(event: 'download', optionsOrPredicate?: { predicate?: (download: Download) => boolean | Promise<boolean>, timeout?: number } | ((download: Download) => boolean | Promise<boolean>)): Promise<Download>;
4864 -
4865 - /**
4866 - * Emitted when a file chooser is supposed to appear, such as after clicking the `<input type=file>`. Playwright can
4867 - * respond to it via setting the input files using
4868 - * [fileChooser.setFiles(files[, options])](https://playwright.dev/docs/api/class-filechooser#file-chooser-set-files)
4869 - * that can be uploaded after that.
4870 - *
4871 - * ```js
4872 - * page.on('filechooser', async fileChooser => {
4873 - * await fileChooser.setFiles(path.join(__dirname, '/tmp/myfile.pdf'));
4874 - * });
4875 - * ```
4876 - *
4877 - */
4878 - waitForEvent(event: 'filechooser', optionsOrPredicate?: { predicate?: (fileChooser: FileChooser) => boolean | Promise<boolean>, timeout?: number } | ((fileChooser: FileChooser) => boolean | Promise<boolean>)): Promise<FileChooser>;
4879 -
4880 - /**
4881 - * Emitted when a frame is attached.
4882 - */
4883 - waitForEvent(event: 'frameattached', optionsOrPredicate?: { predicate?: (frame: Frame) => boolean | Promise<boolean>, timeout?: number } | ((frame: Frame) => boolean | Promise<boolean>)): Promise<Frame>;
4884 -
4885 - /**
4886 - * Emitted when a frame is detached.
4887 - */
4888 - waitForEvent(event: 'framedetached', optionsOrPredicate?: { predicate?: (frame: Frame) => boolean | Promise<boolean>, timeout?: number } | ((frame: Frame) => boolean | Promise<boolean>)): Promise<Frame>;
4889 -
4890 - /**
4891 - * Emitted when a frame is navigated to a new url.
4892 - */
4893 - waitForEvent(event: 'framenavigated', optionsOrPredicate?: { predicate?: (frame: Frame) => boolean | Promise<boolean>, timeout?: number } | ((frame: Frame) => boolean | Promise<boolean>)): Promise<Frame>;
4894 -
4895 - /**
4896 - * Emitted when the JavaScript [`load`](https://developer.mozilla.org/en-US/docs/Web/Events/load) event is dispatched.
4897 - */
4898 - waitForEvent(event: 'load', optionsOrPredicate?: { predicate?: (page: Page) => boolean | Promise<boolean>, timeout?: number } | ((page: Page) => boolean | Promise<boolean>)): Promise<Page>;
4899 -
4900 - /**
4901 - * Emitted when an uncaught exception happens within the page.
4902 - *
4903 - * ```js
4904 - * // Log all uncaught errors to the terminal
4905 - * page.on('pageerror', exception => {
4906 - * console.log(`Uncaught exception: "${exception}"`);
4907 - * });
4908 - *
4909 - * // Navigate to a page with an exception.
4910 - * await page.goto('data:text/html,<script>throw new Error("Test")</script>');
4911 - * ```
4912 - *
4913 - */
4914 - waitForEvent(event: 'pageerror', optionsOrPredicate?: { predicate?: (error: Error) => boolean | Promise<boolean>, timeout?: number } | ((error: Error) => boolean | Promise<boolean>)): Promise<Error>;
4915 -
4916 - /**
4917 - * Emitted when the page opens a new tab or window. This event is emitted in addition to the
4918 - * [browserContext.on('page')](https://playwright.dev/docs/api/class-browsercontext#browser-context-event-page), but
4919 - * only for popups relevant to this page.
4920 - *
4921 - * The earliest moment that page is available is when it has navigated to the initial url. For example, when opening a
4922 - * popup with `window.open('http://example.com')`, this event will fire when the network request to
4923 - * "http://example.com" is done and its response has started loading in the popup. If you would like to route/listen
4924 - * to this network request, use
4925 - * [browserContext.route(url, handler[, options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-route)
4926 - * and
4927 - * [browserContext.on('request')](https://playwright.dev/docs/api/class-browsercontext#browser-context-event-request)
4928 - * respectively instead of similar methods on the [Page](https://playwright.dev/docs/api/class-page).
4929 - *
4930 - * ```js
4931 - * // Start waiting for popup before clicking. Note no await.
4932 - * const popupPromise = page.waitForEvent('popup');
4933 - * await page.getByText('open the popup').click();
4934 - * const popup = await popupPromise;
4935 - * console.log(await popup.evaluate('location.href'));
4936 - * ```
4937 - *
4938 - * **NOTE** Use
4939 - * [page.waitForLoadState([state, options])](https://playwright.dev/docs/api/class-page#page-wait-for-load-state) to
4940 - * wait until the page gets to a particular state (you should not need it in most cases).
4941 - *
4942 - */
4943 - waitForEvent(event: 'popup', optionsOrPredicate?: { predicate?: (page: Page) => boolean | Promise<boolean>, timeout?: number } | ((page: Page) => boolean | Promise<boolean>)): Promise<Page>;
4944 -
4945 - /**
4946 - * Emitted when a page issues a request. The [request] object is read-only. In order to intercept and mutate requests,
4947 - * see [page.route(url, handler[, options])](https://playwright.dev/docs/api/class-page#page-route) or
4948 - * [browserContext.route(url, handler[, options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-route).
4949 - */
4950 - waitForEvent(event: 'request', optionsOrPredicate?: { predicate?: (request: Request) => boolean | Promise<boolean>, timeout?: number } | ((request: Request) => boolean | Promise<boolean>)): Promise<Request>;
4951 -
4952 - /**
4953 - * Emitted when a request fails, for example by timing out.
4954 - *
4955 - * ```js
4956 - * page.on('requestfailed', request => {
4957 - * console.log(request.url() + ' ' + request.failure().errorText);
4958 - * });
4959 - * ```
4960 - *
4961 - * **NOTE** HTTP Error responses, such as 404 or 503, are still successful responses from HTTP standpoint, so request
4962 - * will complete with
4963 - * [page.on('requestfinished')](https://playwright.dev/docs/api/class-page#page-event-request-finished) event and not
4964 - * with [page.on('requestfailed')](https://playwright.dev/docs/api/class-page#page-event-request-failed). A request
4965 - * will only be considered failed when the client cannot get an HTTP response from the server, e.g. due to network
4966 - * error net::ERR_FAILED.
4967 - *
4968 - */
4969 - waitForEvent(event: 'requestfailed', optionsOrPredicate?: { predicate?: (request: Request) => boolean | Promise<boolean>, timeout?: number } | ((request: Request) => boolean | Promise<boolean>)): Promise<Request>;
4970 -
4971 - /**
4972 - * Emitted when a request finishes successfully after downloading the response body. For a successful response, the
4973 - * sequence of events is `request`, `response` and `requestfinished`.
4974 - */
4975 - waitForEvent(event: 'requestfinished', optionsOrPredicate?: { predicate?: (request: Request) => boolean | Promise<boolean>, timeout?: number } | ((request: Request) => boolean | Promise<boolean>)): Promise<Request>;
4976 -
4977 - /**
4978 - * Emitted when [response] status and headers are received for a request. For a successful response, the sequence of
4979 - * events is `request`, `response` and `requestfinished`.
4980 - */
4981 - waitForEvent(event: 'response', optionsOrPredicate?: { predicate?: (response: Response) => boolean | Promise<boolean>, timeout?: number } | ((response: Response) => boolean | Promise<boolean>)): Promise<Response>;
4982 -
4983 - /**
4984 - * Emitted when [WebSocket](https://playwright.dev/docs/api/class-websocket) request is sent.
4985 - */
4986 - waitForEvent(event: 'websocket', optionsOrPredicate?: { predicate?: (webSocket: WebSocket) => boolean | Promise<boolean>, timeout?: number } | ((webSocket: WebSocket) => boolean | Promise<boolean>)): Promise<WebSocket>;
4987 -
4988 - /**
4989 - * Emitted when a dedicated [WebWorker](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API) is spawned
4990 - * by the page.
4991 - */
4992 - waitForEvent(event: 'worker', optionsOrPredicate?: { predicate?: (worker: Worker) => boolean | Promise<boolean>, timeout?: number } | ((worker: Worker) => boolean | Promise<boolean>)): Promise<Worker>;
4993 -
4994 -
4995 - /**
4996 - * Returns when the required load state has been reached.
4997 - *
4998 - * This resolves when the page reaches a required load state, `load` by default. The navigation must have been
4999 - * committed when this method is called. If current document has already reached the required state, resolves

This file is too large to show in full.

node_modules/playwright/LICENSE deleted
-202
@@ -1,202 +0,0 @@
1 - Apache License
2 - Version 2.0, January 2004
3 - http://www.apache.org/licenses/
4 -
5 - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6 -
7 - 1. Definitions.
8 -
9 - "License" shall mean the terms and conditions for use, reproduction,
10 - and distribution as defined by Sections 1 through 9 of this document.
11 -
12 - "Licensor" shall mean the copyright owner or entity authorized by
13 - the copyright owner that is granting the License.
14 -
15 - "Legal Entity" shall mean the union of the acting entity and all
16 - other entities that control, are controlled by, or are under common
17 - control with that entity. For the purposes of this definition,
18 - "control" means (i) the power, direct or indirect, to cause the
19 - direction or management of such entity, whether by contract or
20 - otherwise, or (ii) ownership of fifty percent (50%) or more of the
21 - outstanding shares, or (iii) beneficial ownership of such entity.
22 -
23 - "You" (or "Your") shall mean an individual or Legal Entity
24 - exercising permissions granted by this License.
25 -
26 - "Source" form shall mean the preferred form for making modifications,
27 - including but not limited to software source code, documentation
28 - source, and configuration files.
29 -
30 - "Object" form shall mean any form resulting from mechanical
31 - transformation or translation of a Source form, including but
32 - not limited to compiled object code, generated documentation,
33 - and conversions to other media types.
34 -
35 - "Work" shall mean the work of authorship, whether in Source or
36 - Object form, made available under the License, as indicated by a
37 - copyright notice that is included in or attached to the work
38 - (an example is provided in the Appendix below).
39 -
40 - "Derivative Works" shall mean any work, whether in Source or Object
41 - form, that is based on (or derived from) the Work and for which the
42 - editorial revisions, annotations, elaborations, or other modifications
43 - represent, as a whole, an original work of authorship. For the purposes
44 - of this License, Derivative Works shall not include works that remain
45 - separable from, or merely link (or bind by name) to the interfaces of,
46 - the Work and Derivative Works thereof.
47 -
48 - "Contribution" shall mean any work of authorship, including
49 - the original version of the Work and any modifications or additions
50 - to that Work or Derivative Works thereof, that is intentionally
51 - submitted to Licensor for inclusion in the Work by the copyright owner
52 - or by an individual or Legal Entity authorized to submit on behalf of
53 - the copyright owner. For the purposes of this definition, "submitted"
54 - means any form of electronic, verbal, or written communication sent
55 - to the Licensor or its representatives, including but not limited to
56 - communication on electronic mailing lists, source code control systems,
57 - and issue tracking systems that are managed by, or on behalf of, the
58 - Licensor for the purpose of discussing and improving the Work, but
59 - excluding communication that is conspicuously marked or otherwise
60 - designated in writing by the copyright owner as "Not a Contribution."
61 -
62 - "Contributor" shall mean Licensor and any individual or Legal Entity
63 - on behalf of whom a Contribution has been received by Licensor and
64 - subsequently incorporated within the Work.
65 -
66 - 2. Grant of Copyright License. Subject to the terms and conditions of
67 - this License, each Contributor hereby grants to You a perpetual,
68 - worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69 - copyright license to reproduce, prepare Derivative Works of,
70 - publicly display, publicly perform, sublicense, and distribute the
71 - Work and such Derivative Works in Source or Object form.
72 -
73 - 3. Grant of Patent License. Subject to the terms and conditions of
74 - this License, each Contributor hereby grants to You a perpetual,
75 - worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76 - (except as stated in this section) patent license to make, have made,
77 - use, offer to sell, sell, import, and otherwise transfer the Work,
78 - where such license applies only to those patent claims licensable
79 - by such Contributor that are necessarily infringed by their
80 - Contribution(s) alone or by combination of their Contribution(s)
81 - with the Work to which such Contribution(s) was submitted. If You
82 - institute patent litigation against any entity (including a
83 - cross-claim or counterclaim in a lawsuit) alleging that the Work
84 - or a Contribution incorporated within the Work constitutes direct
85 - or contributory patent infringement, then any patent licenses
86 - granted to You under this License for that Work shall terminate
87 - as of the date such litigation is filed.
88 -
89 - 4. Redistribution. You may reproduce and distribute copies of the
90 - Work or Derivative Works thereof in any medium, with or without
91 - modifications, and in Source or Object form, provided that You
92 - meet the following conditions:
93 -
94 - (a) You must give any other recipients of the Work or
95 - Derivative Works a copy of this License; and
96 -
97 - (b) You must cause any modified files to carry prominent notices
98 - stating that You changed the files; and
99 -
100 - (c) You must retain, in the Source form of any Derivative Works
101 - that You distribute, all copyright, patent, trademark, and
102 - attribution notices from the Source form of the Work,
103 - excluding those notices that do not pertain to any part of
104 - the Derivative Works; and
105 -
106 - (d) If the Work includes a "NOTICE" text file as part of its
107 - distribution, then any Derivative Works that You distribute must
108 - include a readable copy of the attribution notices contained
109 - within such NOTICE file, excluding those notices that do not
110 - pertain to any part of the Derivative Works, in at least one
111 - of the following places: within a NOTICE text file distributed
112 - as part of the Derivative Works; within the Source form or
113 - documentation, if provided along with the Derivative Works; or,
114 - within a display generated by the Derivative Works, if and
115 - wherever such third-party notices normally appear. The contents
116 - of the NOTICE file are for informational purposes only and
117 - do not modify the License. You may add Your own attribution
118 - notices within Derivative Works that You distribute, alongside
119 - or as an addendum to the NOTICE text from the Work, provided
120 - that such additional attribution notices cannot be construed
121 - as modifying the License.
122 -
123 - You may add Your own copyright statement to Your modifications and
124 - may provide additional or different license terms and conditions
125 - for use, reproduction, or distribution of Your modifications, or
126 - for any such Derivative Works as a whole, provided Your use,
127 - reproduction, and distribution of the Work otherwise complies with
128 - the conditions stated in this License.
129 -
130 - 5. Submission of Contributions. Unless You explicitly state otherwise,
131 - any Contribution intentionally submitted for inclusion in the Work
132 - by You to the Licensor shall be under the terms and conditions of
133 - this License, without any additional terms or conditions.
134 - Notwithstanding the above, nothing herein shall supersede or modify
135 - the terms of any separate license agreement you may have executed
136 - with Licensor regarding such Contributions.
137 -
138 - 6. Trademarks. This License does not grant permission to use the trade
139 - names, trademarks, service marks, or product names of the Licensor,
140 - except as required for reasonable and customary use in describing the
141 - origin of the Work and reproducing the content of the NOTICE file.
142 -
143 - 7. Disclaimer of Warranty. Unless required by applicable law or
144 - agreed to in writing, Licensor provides the Work (and each
145 - Contributor provides its Contributions) on an "AS IS" BASIS,
146 - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147 - implied, including, without limitation, any warranties or conditions
148 - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149 - PARTICULAR PURPOSE. You are solely responsible for determining the
150 - appropriateness of using or redistributing the Work and assume any
151 - risks associated with Your exercise of permissions under this License.
152 -
153 - 8. Limitation of Liability. In no event and under no legal theory,
154 - whether in tort (including negligence), contract, or otherwise,
155 - unless required by applicable law (such as deliberate and grossly
156 - negligent acts) or agreed to in writing, shall any Contributor be
157 - liable to You for damages, including any direct, indirect, special,
158 - incidental, or consequential damages of any character arising as a
159 - result of this License or out of the use or inability to use the
160 - Work (including but not limited to damages for loss of goodwill,
161 - work stoppage, computer failure or malfunction, or any and all
162 - other commercial damages or losses), even if such Contributor
163 - has been advised of the possibility of such damages.
164 -
165 - 9. Accepting Warranty or Additional Liability. While redistributing
166 - the Work or Derivative Works thereof, You may choose to offer,
167 - and charge a fee for, acceptance of support, warranty, indemnity,
168 - or other liability obligations and/or rights consistent with this
169 - License. However, in accepting such obligations, You may act only
170 - on Your own behalf and on Your sole responsibility, not on behalf
171 - of any other Contributor, and only if You agree to indemnify,
172 - defend, and hold each Contributor harmless for any liability
173 - incurred by, or claims asserted against, such Contributor by reason
174 - of your accepting any such warranty or additional liability.
175 -
176 - END OF TERMS AND CONDITIONS
177 -
178 - APPENDIX: How to apply the Apache License to your work.
179 -
180 - To apply the Apache License to your work, attach the following
181 - boilerplate notice, with the fields enclosed by brackets "[]"
182 - replaced with your own identifying information. (Don't include
183 - the brackets!) The text should be enclosed in the appropriate
184 - comment syntax for the file format. We also recommend that a
185 - file or class name and description of purpose be included on the
186 - same "printed page" as the copyright notice for easier
187 - identification within third-party archives.
188 -
189 - Portions Copyright (c) Microsoft Corporation.
190 - Portions Copyright 2017 Google Inc.
191 -
192 - Licensed under the Apache License, Version 2.0 (the "License");
193 - you may not use this file except in compliance with the License.
194 - You may obtain a copy of the License at
195 -
196 - http://www.apache.org/licenses/LICENSE-2.0
197 -
198 - Unless required by applicable law or agreed to in writing, software
199 - distributed under the License is distributed on an "AS IS" BASIS,
200 - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201 - See the License for the specific language governing permissions and
202 - limitations under the License.
node_modules/playwright/NOTICE deleted
-5
@@ -1,5 +0,0 @@
1 -Playwright
2 -Copyright (c) Microsoft Corporation
3 -
4 -This software contains code derived from the Puppeteer project (https://github.com/puppeteer/puppeteer),
5 -available under the Apache 2.0 license (https://github.com/puppeteer/puppeteer/blob/master/LICENSE).
node_modules/playwright/README.md deleted
-318
@@ -1,318 +0,0 @@
1 -# 🎭 Playwright
2 -
3 -[![npm version](https://img.shields.io/npm/v/playwright.svg)](https://www.npmjs.com/package/playwright) <!-- GEN:chromium-version-badge -->[![Chromium version](https://img.shields.io/badge/chromium-148.0.7778.96-blue.svg?logo=google-chrome)](https://www.chromium.org/Home)<!-- GEN:stop --> <!-- GEN:firefox-version-badge -->[![Firefox version](https://img.shields.io/badge/firefox-150.0.2-blue.svg?logo=firefoxbrowser)](https://www.mozilla.org/en-US/firefox/new/)<!-- GEN:stop --> <!-- GEN:webkit-version-badge -->[![WebKit version](https://img.shields.io/badge/webkit-26.4-blue.svg?logo=safari)](https://webkit.org/)<!-- GEN:stop --> [![Join Discord](https://img.shields.io/badge/join-discord-informational)](https://aka.ms/playwright/discord)
4 -
5 -## [Documentation](https://playwright.dev) | [API reference](https://playwright.dev/docs/api/class-playwright)
6 -
7 -Playwright is a framework for web automation and testing. It drives Chromium, Firefox, and WebKit with a single API — in your tests, in your scripts, and as a tool for AI agents.
8 -
9 -## Get Started
10 -
11 -Choose the path that fits your workflow:
12 -
13 -| | Best for | Install |
14 -|---|---|---|
15 -| **[Playwright Test](#playwright-test)** | End-to-end testing | `npm init playwright@latest` |
16 -| **[Playwright CLI](#playwright-cli)** | Coding agents (Claude Code, Copilot) | `npm i -g @playwright/cli@latest` |
17 -| **[Playwright MCP](#playwright-mcp)** | AI agents and LLM-driven automation | `npx @playwright/mcp@latest` |
18 -| **[Playwright Library](#playwright-library)** | Browser automation scripts | `npm i playwright` |
19 -| **[VS Code Extension](#vs-code-extension)** | Test authoring and debugging in VS Code | [Install from Marketplace](https://marketplace.visualstudio.com/items?itemName=ms-playwright.playwright) |
20 -
21 ----
22 -
23 -## Playwright Test
24 -
25 -Playwright Test is a full-featured test runner built for end-to-end testing. It runs tests across Chromium, Firefox, and WebKit with full browser isolation, auto-waiting, and web-first assertions.
26 -
27 -### Install
28 -
29 -```bash
30 -npm init playwright@latest
31 -```
32 -
33 -Or add manually:
34 -
35 -```bash
36 -npm i -D @playwright/test
37 -npx playwright install
38 -```
39 -
40 -### Write a test
41 -
42 -```TypeScript
43 -import { test, expect } from '@playwright/test';
44 -
45 -test('has title', async ({ page }) => {
46 - await page.goto('https://playwright.dev/');
47 - await expect(page).toHaveTitle(/Playwright/);
48 -});
49 -
50 -test('get started link', async ({ page }) => {
51 - await page.goto('https://playwright.dev/');
52 - await page.getByRole('link', { name: 'Get started' }).click();
53 - await expect(page.getByRole('heading', { name: 'Installation' })).toBeVisible();
54 -});
55 -```
56 -
57 -### Run tests
58 -
59 -```bash
60 -npx playwright test
61 -```
62 -
63 -Tests run in parallel across all configured browsers, in headless mode by default. Each test gets a fresh browser context — full isolation with near-zero overhead.
64 -
65 -### Key capabilities
66 -
67 -**Auto-wait and web-first assertions.** No artificial timeouts. Playwright waits for elements to be actionable, and assertions automatically retry until conditions are met.
68 -
69 -**Locators.** Find elements with resilient locators that mirror how users see the page:
70 -
71 -```TypeScript
72 -page.getByRole('button', { name: 'Submit' })
73 -page.getByLabel('Email')
74 -page.getByPlaceholder('Search...')
75 -page.getByTestId('login-form')
76 -```
77 -
78 -**Test isolation.** Each test runs in its own browser context — equivalent to a fresh browser profile. Save authentication state once and reuse it across tests:
79 -
80 -```TypeScript
81 -// Save state after login
82 -await page.context().storageState({ path: 'auth.json' });
83 -
84 -// Reuse in other tests
85 -test.use({ storageState: 'auth.json' });
86 -```
87 -
88 -**Tracing.** Capture execution traces, screenshots, and videos on failure. Inspect every action, DOM snapshot, network request, and console message in the [Trace Viewer](https://playwright.dev/docs/trace-viewer):
89 -
90 -```TypeScript
91 -// playwright.config.ts
92 -export default defineConfig({
93 - use: {
94 - trace: 'on-first-retry',
95 - },
96 -});
97 -```
98 -
99 -```bash
100 -npx playwright show-trace trace.zip
101 -```
102 -
103 -<!-- TODO: screenshot of trace viewer -->
104 -
105 -**Parallelism.** Tests run in parallel by default across all configured browsers.
106 -
107 -[Full testing documentation](https://playwright.dev/docs/intro)
108 -
109 ----
110 -
111 -## Playwright CLI
112 -
113 -[Playwright CLI](https://github.com/microsoft/playwright-cli) is a command-line interface for browser automation designed for coding agents. It's more token-efficient than MCP — commands avoid loading large tool schemas and accessibility trees into the model context.
114 -
115 -### Install
116 -
117 -```bash
118 -npm install -g @playwright/cli@latest
119 -```
120 -
121 -Optionally install skills for richer agent integration:
122 -
123 -```bash
124 -playwright-cli install --skills
125 -```
126 -
127 -### Usage
128 -
129 -Point your coding agent at a task:
130 -
131 -```
132 -Test the "add todo" flow on https://demo.playwright.dev/todomvc using playwright-cli.
133 -Take screenshots for all successful and failing scenarios.
134 -```
135 -
136 -Or run commands directly:
137 -
138 -```bash
139 -playwright-cli open https://demo.playwright.dev/todomvc/ --headed
140 -playwright-cli type "Buy groceries"
141 -playwright-cli press Enter
142 -playwright-cli screenshot
143 -```
144 -
145 -### Session monitoring
146 -
147 -Use `playwright-cli show` to open a visual dashboard with live screencast previews of all running browser sessions. Click any session to zoom in and take remote control.
148 -
149 -```bash
150 -playwright-cli show
151 -```
152 -
153 -<!-- TODO: screenshot of playwright-cli show dashboard -->
154 -
155 -[Full CLI documentation](https://playwright.dev/docs/cli-agent) | [GitHub](https://github.com/microsoft/playwright-cli)
156 -
157 ----
158 -
159 -## Playwright MCP
160 -
161 -The [Playwright MCP server](https://github.com/microsoft/playwright-mcp) gives AI agents full browser control through the [Model Context Protocol](https://modelcontextprotocol.io). Agents interact with pages using structured accessibility snapshots — no vision models or screenshots required.
162 -
163 -### Setup
164 -
165 -Add to your MCP client (VS Code, Cursor, Claude Desktop, Windsurf, etc.):
166 -
167 -```json
168 -{
169 - "mcpServers": {
170 - "playwright": {
171 - "command": "npx",
172 - "args": ["@playwright/mcp@latest"]
173 - }
174 - }
175 -}
176 -```
177 -
178 -**One-click install for VS Code:**
179 -
180 -[<img src="https://img.shields.io/badge/VS_Code-VS_Code?style=flat-square&label=Install%20MCP%20Server&color=0098FF" alt="Install in VS Code" />](https://insiders.vscode.dev/redirect?url=vscode%3Amcp%2Finstall%3F%257B%2522name%2522%253A%2522playwright%2522%252C%2522command%2522%253A%2522npx%2522%252C%2522args%2522%253A%255B%2522%2540playwright%252Fmcp%2540latest%2522%255D%257D)
181 -
182 -**For Claude Code:**
183 -
184 -```bash
185 -claude mcp add playwright npx @playwright/mcp@latest
186 -```
187 -
188 -### How it works
189 -
190 -Ask your AI assistant to interact with any web page:
191 -
192 -```
193 -Navigate to https://demo.playwright.dev/todomvc and add a few todo items.
194 -```
195 -
196 -The agent sees the page as a structured accessibility tree:
197 -
198 -```
199 -- heading "todos" [level=1]
200 -- textbox "What needs to be done?" [ref=e5]
201 -- listitem:
202 - - checkbox "Toggle Todo" [ref=e10]
203 - - text: "Buy groceries"
204 -```
205 -
206 -It uses element refs like `e5` and `e10` to click, type, and interact — deterministically and without visual ambiguity. Tools cover navigation, form filling, screenshots, network mocking, storage management, and more.
207 -
208 -[Full MCP documentation](https://playwright.dev/docs/mcp) | [GitHub](https://github.com/microsoft/playwright-mcp)
209 -
210 ----
211 -
212 -## Playwright Library
213 -
214 -Use `playwright` as a library for browser automation scripts — web scraping, PDF generation, screenshot capture, and any workflow that needs programmatic browser control without a test runner.
215 -
216 -### Install
217 -
218 -```bash
219 -npm i playwright
220 -```
221 -
222 -### Examples
223 -
224 -**Take a screenshot:**
225 -
226 -```TypeScript
227 -import { chromium } from 'playwright';
228 -
229 -const browser = await chromium.launch();
230 -const page = await browser.newPage();
231 -await page.goto('https://playwright.dev/');
232 -await page.screenshot({ path: 'screenshot.png' });
233 -await browser.close();
234 -```
235 -
236 -**Generate a PDF:**
237 -
238 -```TypeScript
239 -import { chromium } from 'playwright';
240 -
241 -const browser = await chromium.launch();
242 -const page = await browser.newPage();
243 -await page.goto('https://playwright.dev/');
244 -await page.pdf({ path: 'page.pdf', format: 'A4' });
245 -await browser.close();
246 -```
247 -
248 -**Emulate a mobile device:**
249 -
250 -```TypeScript
251 -import { chromium, devices } from 'playwright';
252 -
253 -const browser = await chromium.launch();
254 -const context = await browser.newContext(devices['iPhone 15']);
255 -const page = await context.newPage();
256 -await page.goto('https://playwright.dev/');
257 -await page.screenshot({ path: 'mobile.png' });
258 -await browser.close();
259 -```
260 -
261 -**Intercept network requests:**
262 -
263 -```TypeScript
264 -import { chromium } from 'playwright';
265 -
266 -const browser = await chromium.launch();
267 -const page = await browser.newPage();
268 -await page.route('**/*.{png,jpg,jpeg}', route => route.abort());
269 -await page.goto('https://playwright.dev/');
270 -await browser.close();
271 -```
272 -
273 -[Library documentation](https://playwright.dev/docs/library) | [API reference](https://playwright.dev/docs/api/class-playwright)
274 -
275 ----
276 -
277 -## VS Code Extension
278 -
279 -The [Playwright VS Code extension](https://marketplace.visualstudio.com/items?itemName=ms-playwright.playwright) brings test running, debugging, and code generation directly into your editor.
280 -
281 -<!-- TODO: hero screenshot of VS Code with Playwright sidebar -->
282 -
283 -**Run and debug tests** from the editor with a single click. Set breakpoints, inspect variables, and step through test execution with a live browser view.
284 -
285 -**Generate tests with CodeGen.** Click "Record new" to open a browser — navigate and interact with your app while Playwright writes the test code for you.
286 -
287 -**Pick locators.** Hover over any element in the browser to see the best available locator, then click to copy it to your clipboard.
288 -
289 -**Trace Viewer integration.** Enable "Show Trace Viewer" in the sidebar to get a full execution trace after each test run — DOM snapshots, network requests, console logs, and screenshots at every step.
290 -
291 -[Install the extension](https://marketplace.visualstudio.com/items?itemName=ms-playwright.playwright) | [VS Code guide](https://playwright.dev/docs/getting-started-vscode)
292 -
293 ----
294 -
295 -## Cross-Browser Support
296 -
297 -| | Linux | macOS | Windows |
298 -| :--- | :---: | :---: | :---: |
299 -| Chromium<sup>1</sup> <!-- GEN:chromium-version -->148.0.7778.96<!-- GEN:stop --> | :white_check_mark: | :white_check_mark: | :white_check_mark: |
300 -| WebKit <!-- GEN:webkit-version -->26.4<!-- GEN:stop --> | :white_check_mark: | :white_check_mark: | :white_check_mark: |
301 -| Firefox <!-- GEN:firefox-version -->150.0.2<!-- GEN:stop --> | :white_check_mark: | :white_check_mark: | :white_check_mark: |
302 -
303 -Headless and headed execution on all platforms. <sup>1</sup> Uses [Chrome for Testing](https://developer.chrome.com/blog/chrome-for-testing) by default.
304 -
305 -## Other Languages
306 -
307 -Playwright is also available for [Python](https://playwright.dev/python/docs/intro), [.NET](https://playwright.dev/dotnet/docs/intro), and [Java](https://playwright.dev/java/docs/intro).
308 -
309 -## Resources
310 -
311 -* [Documentation](https://playwright.dev)
312 -* [API reference](https://playwright.dev/docs/api/class-playwright)
313 -* [MCP server](https://github.com/microsoft/playwright-mcp)
314 -* [CLI for coding agents](https://github.com/microsoft/playwright-cli)
315 -* [VS Code extension](https://github.com/microsoft/playwright-vscode)
316 -* [Contribution guide](CONTRIBUTING.md)
317 -* [Changelog](https://github.com/microsoft/playwright/releases)
318 -* [Discord](https://aka.ms/playwright/discord)
node_modules/playwright/ThirdPartyNotices.txt deleted
-14
@@ -1,14 +0,0 @@
1 -microsoft/playwright
2 -
3 -THIRD-PARTY SOFTWARE NOTICES AND INFORMATION
4 -
5 -This package bundles third-party software inside individual files under
6 -`lib/`. Each bundled output has a sidecar `<bundle>.js.LICENSE` file next
7 -to it listing every npm package whose source was inlined into that
8 -bundle, together with the full license text for each.
9 -
10 -For example:
11 -- lib/common/index.js.LICENSE
12 -- lib/matchers/expect.js.LICENSE
13 -
14 -This project incorporates components from the projects listed below. The original copyright notices and the licenses under which Microsoft received such components are set forth below. Microsoft reserves all rights not expressly granted herein, whether by implication, estoppel or otherwise.
node_modules/playwright/cli.js deleted
-19
@@ -1,19 +0,0 @@
1 -#!/usr/bin/env node
2 -/**
3 - * Copyright (c) Microsoft Corporation.
4 - *
5 - * Licensed under the Apache License, Version 2.0 (the "License");
6 - * you may not use this file except in compliance with the License.
7 - * You may obtain a copy of the License at
8 - *
9 - * http://www.apache.org/licenses/LICENSE-2.0
10 - *
11 - * Unless required by applicable law or agreed to in writing, software
12 - * distributed under the License is distributed on an "AS IS" BASIS,
13 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 - * See the License for the specific language governing permissions and
15 - * limitations under the License.
16 - */
17 -
18 -const { program } = require('./lib/program');
19 -program.parse(process.argv);
node_modules/playwright/index.d.ts deleted
-17
@@ -1,17 +0,0 @@
1 -/**
2 - * Copyright (c) Microsoft Corporation.
3 - *
4 - * Licensed under the Apache License, Version 2.0 (the "License");
5 - * you may not use this file except in compliance with the License.
6 - * You may obtain a copy of the License at
7 - *
8 - * http://www.apache.org/licenses/LICENSE-2.0
9 - *
10 - * Unless required by applicable law or agreed to in writing, software
11 - * distributed under the License is distributed on an "AS IS" BASIS,
12 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 - * See the License for the specific language governing permissions and
14 - * limitations under the License.
15 - */
16 -
17 -export * from 'playwright-core';
node_modules/playwright/index.js deleted
-17
@@ -1,17 +0,0 @@
1 -/**
2 - * Copyright (c) Microsoft Corporation.
3 - *
4 - * Licensed under the Apache License, Version 2.0 (the "License");
5 - * you may not use this file except in compliance with the License.
6 - * You may obtain a copy of the License at
7 - *
8 - * http://www.apache.org/licenses/LICENSE-2.0
9 - *
10 - * Unless required by applicable law or agreed to in writing, software
11 - * distributed under the License is distributed on an "AS IS" BASIS,
12 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 - * See the License for the specific language governing permissions and
14 - * limitations under the License.
15 - */
16 -
17 -module.exports = require('playwright-core');
node_modules/playwright/index.mjs deleted
-18
@@ -1,18 +0,0 @@
1 -/**
2 - * Copyright (c) Microsoft Corporation.
3 - *
4 - * Licensed under the Apache License, Version 2.0 (the "License");
5 - * you may not use this file except in compliance with the License.
6 - * You may obtain a copy of the License at
7 - *
8 - * http://www.apache.org/licenses/LICENSE-2.0
9 - *
10 - * Unless required by applicable law or agreed to in writing, software
11 - * distributed under the License is distributed on an "AS IS" BASIS,
12 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 - * See the License for the specific language governing permissions and
14 - * limitations under the License.
15 - */
16 -export * from 'playwright-core';
17 -import playwright from 'playwright-core';
18 -export default playwright;
node_modules/playwright/jsx-runtime.js deleted
-42
@@ -1,42 +0,0 @@
1 -/**
2 - * Copyright (c) Microsoft Corporation.
3 - *
4 - * Licensed under the Apache License, Version 2.0 (the "License");
5 - * you may not use this file except in compliance with the License.
6 - * You may obtain a copy of the License at
7 - *
8 - * http://www.apache.org/licenses/LICENSE-2.0
9 - *
10 - * Unless required by applicable law or agreed to in writing, software
11 - * distributed under the License is distributed on an "AS IS" BASIS,
12 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 - * See the License for the specific language governing permissions and
14 - * limitations under the License.
15 - */
16 -
17 -function jsx(type, props, key) {
18 - return {
19 - __pw_type: 'jsx',
20 - type,
21 - props,
22 - key,
23 - };
24 -}
25 -
26 -function jsxs(type, props, key) {
27 - return {
28 - __pw_type: 'jsx',
29 - type,
30 - props,
31 - key,
32 - };
33 -}
34 -
35 -// this is used in <></> notation
36 -const Fragment = { __pw_jsx_fragment: true };
37 -
38 -module.exports = {
39 - Fragment,
40 - jsx,
41 - jsxs,
42 -};
node_modules/playwright/jsx-runtime.mjs deleted
-21
@@ -1,21 +0,0 @@
1 -/**
2 - * Copyright (c) Microsoft Corporation.
3 - *
4 - * Licensed under the Apache License, Version 2.0 (the "License");
5 - * you may not use this file except in compliance with the License.
6 - * You may obtain a copy of the License at
7 - *
8 - * http://www.apache.org/licenses/LICENSE-2.0
9 - *
10 - * Unless required by applicable law or agreed to in writing, software
11 - * distributed under the License is distributed on an "AS IS" BASIS,
12 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 - * See the License for the specific language governing permissions and
14 - * limitations under the License.
15 - */
16 -
17 -import jsxRuntime from './jsx-runtime.js';
18 -
19 -export const jsx = jsxRuntime.jsx;
20 -export const jsxs = jsxRuntime.jsxs;
21 -export const Fragment = jsxRuntime.Fragment;
node_modules/playwright/lib/agents/agentParser.js deleted
-89
@@ -1,89 +0,0 @@
1 -"use strict";
2 -var __create = Object.create;
3 -var __defProp = Object.defineProperty;
4 -var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5 -var __getOwnPropNames = Object.getOwnPropertyNames;
6 -var __getProtoOf = Object.getPrototypeOf;
7 -var __hasOwnProp = Object.prototype.hasOwnProperty;
8 -var __export = (target, all) => {
9 - for (var name in all)
10 - __defProp(target, name, { get: all[name], enumerable: true });
11 -};
12 -var __copyProps = (to, from, except, desc) => {
13 - if (from && typeof from === "object" || typeof from === "function") {
14 - for (let key of __getOwnPropNames(from))
15 - if (!__hasOwnProp.call(to, key) && key !== except)
16 - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17 - }
18 - return to;
19 -};
20 -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21 - // If the importer is in node compatibility mode or this is not an ESM
22 - // file that has been converted to a CommonJS file using a Babel-
23 - // compatible transform (i.e. "__esModule" has not been set), then set
24 - // "default" to the CommonJS "module.exports" for node compatibility.
25 - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26 - mod
27 -));
28 -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29 -var agentParser_exports = {};
30 -__export(agentParser_exports, {
31 - parseAgentSpec: () => parseAgentSpec
32 -});
33 -module.exports = __toCommonJS(agentParser_exports);
34 -var import_fs = __toESM(require("fs"));
35 -const yaml = require("playwright-core/lib/utilsBundle").yaml;
36 -async function parseAgentSpec(filePath) {
37 - const source = await import_fs.default.promises.readFile(filePath, "utf-8");
38 - const { header, content } = extractYamlAndContent(source);
39 - const { instructions, examples } = extractInstructionsAndExamples(content);
40 - return {
41 - ...header,
42 - instructions,
43 - examples
44 - };
45 -}
46 -function extractYamlAndContent(markdown) {
47 - const lines = markdown.split("\n");
48 - if (lines[0] !== "---")
49 - throw new Error("Markdown file must start with YAML front matter (---)");
50 - let yamlEndIndex = -1;
51 - for (let i = 1; i < lines.length; i++) {
52 - if (lines[i] === "---") {
53 - yamlEndIndex = i;
54 - break;
55 - }
56 - }
57 - if (yamlEndIndex === -1)
58 - throw new Error("YAML front matter must be closed with ---");
59 - const yamlLines = lines.slice(1, yamlEndIndex);
60 - const yamlRaw = yamlLines.join("\n");
61 - const contentLines = lines.slice(yamlEndIndex + 1);
62 - const content = contentLines.join("\n");
63 - let header;
64 - try {
65 - header = yaml.parse(yamlRaw);
66 - } catch (error) {
67 - throw new Error(`Failed to parse YAML header: ${error.message}`);
68 - }
69 - if (!header.name)
70 - throw new Error('YAML header must contain a "name" field');
71 - if (!header.description)
72 - throw new Error('YAML header must contain a "description" field');
73 - return { header, content };
74 -}
75 -function extractInstructionsAndExamples(content) {
76 - const examples = [];
77 - const instructions = content.split("<example>")[0].trim();
78 - const exampleRegex = /<example>([\s\S]*?)<\/example>/g;
79 - let match;
80 - while ((match = exampleRegex.exec(content)) !== null) {
81 - const example = match[1].trim();
82 - examples.push(example.replace(/[\n]/g, " ").replace(/ +/g, " "));
83 - }
84 - return { instructions, examples };
85 -}
86 -// Annotate the CommonJS export names for ESM import in node:
87 -0 && (module.exports = {
88 - parseAgentSpec
89 -});
node_modules/playwright/lib/agents/copilot-setup-steps.yml deleted
-34
@@ -1,34 +0,0 @@
1 -name: "Copilot Setup Steps"
2 -
3 -on:
4 - workflow_dispatch:
5 - push:
6 - paths:
7 - - .github/workflows/copilot-setup-steps.yml
8 - pull_request:
9 - paths:
10 - - .github/workflows/copilot-setup-steps.yml
11 -
12 -jobs:
13 - copilot-setup-steps:
14 - runs-on: ubuntu-latest
15 -
16 - permissions:
17 - contents: read
18 -
19 - steps:
20 - - uses: actions/checkout@v4
21 -
22 - - uses: actions/setup-node@v4
23 - with:
24 - node-version: lts/*
25 -
26 - - name: Install dependencies
27 - run: npm ci
28 -
29 - - name: Install Playwright Browsers
30 - run: npx playwright install --with-deps
31 -
32 - # Customize this step as needed
33 - - name: Build application
34 - run: npx run build
node_modules/playwright/lib/agents/generateAgents.js deleted
-347
@@ -1,347 +0,0 @@
1 -"use strict";
2 -var __create = Object.create;
3 -var __defProp = Object.defineProperty;
4 -var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5 -var __getOwnPropNames = Object.getOwnPropertyNames;
6 -var __getProtoOf = Object.getPrototypeOf;
7 -var __hasOwnProp = Object.prototype.hasOwnProperty;
8 -var __export = (target, all) => {
9 - for (var name in all)
10 - __defProp(target, name, { get: all[name], enumerable: true });
11 -};
12 -var __copyProps = (to, from, except, desc) => {
13 - if (from && typeof from === "object" || typeof from === "function") {
14 - for (let key of __getOwnPropNames(from))
15 - if (!__hasOwnProp.call(to, key) && key !== except)
16 - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17 - }
18 - return to;
19 -};
20 -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21 - // If the importer is in node compatibility mode or this is not an ESM
22 - // file that has been converted to a CommonJS file using a Babel-
23 - // compatible transform (i.e. "__esModule" has not been set), then set
24 - // "default" to the CommonJS "module.exports" for node compatibility.
25 - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26 - mod
27 -));
28 -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29 -var generateAgents_exports = {};
30 -__export(generateAgents_exports, {
31 - ClaudeGenerator: () => ClaudeGenerator,
32 - CopilotGenerator: () => CopilotGenerator,
33 - OpencodeGenerator: () => OpencodeGenerator,
34 - VSCodeGenerator: () => VSCodeGenerator
35 -});
36 -module.exports = __toCommonJS(generateAgents_exports);
37 -var import_fs = __toESM(require("fs"));
38 -var import_path = __toESM(require("path"));
39 -var import_seed = require("../mcp/test/seed");
40 -var import_agentParser = require("./agentParser");
41 -const colors = require("playwright-core/lib/utilsBundle").colors;
42 -const yaml = require("playwright-core/lib/utilsBundle").yaml;
43 -const { mkdirIfNeeded } = require("playwright-core/lib/coreBundle").utils;
44 -async function loadAgentSpecs() {
45 - const files = await import_fs.default.promises.readdir(__dirname);
46 - return Promise.all(files.filter((file) => file.endsWith(".agent.md")).map((file) => (0, import_agentParser.parseAgentSpec)(import_path.default.join(__dirname, file))));
47 -}
48 -class ClaudeGenerator {
49 - static async init(fullConfig, projectName, prompts) {
50 - await initRepo(fullConfig, projectName, {
51 - promptsFolder: prompts ? ".claude/prompts" : void 0
52 - });
53 - const agents = await loadAgentSpecs();
54 - await import_fs.default.promises.mkdir(".claude/agents", { recursive: true });
55 - for (const agent of agents)
56 - await writeFile(`.claude/agents/${agent.name}.md`, ClaudeGenerator.agentSpec(agent), "\u{1F916}", "agent definition");
57 - const mcpServer = process.platform === "win32" ? { command: "cmd", args: ["/c", "npx", "playwright", "run-test-mcp-server"] } : { command: "npx", args: ["playwright", "run-test-mcp-server"] };
58 - await writeFile(".mcp.json", JSON.stringify({
59 - mcpServers: {
60 - "playwright-test": mcpServer
61 - }
62 - }, null, 2), "\u{1F527}", "mcp configuration");
63 - initRepoDone();
64 - }
65 - static agentSpec(agent) {
66 - const claudeToolMap = /* @__PURE__ */ new Map([
67 - ["search", ["Glob", "Grep", "Read", "LS"]],
68 - ["edit", ["Edit", "MultiEdit", "Write"]]
69 - ]);
70 - function asClaudeTool(tool) {
71 - const [first, second] = tool.split("/");
72 - if (!second)
73 - return (claudeToolMap.get(first) || [first]).join(", ");
74 - return `mcp__${first}__${second}`;
75 - }
76 - const examples = agent.examples.length ? ` Examples: ${agent.examples.map((example) => `<example>${example}</example>`).join("")}` : "";
77 - const lines = [];
78 - const header = {
79 - name: agent.name,
80 - description: agent.description + examples,
81 - tools: agent.tools.map((tool) => asClaudeTool(tool)).join(", "),
82 - model: agent.model,
83 - color: agent.color
84 - };
85 - lines.push(`---`);
86 - lines.push(yaml.stringify(header, { lineWidth: 1e5 }) + `---`);
87 - lines.push("");
88 - lines.push(agent.instructions);
89 - return lines.join("\n");
90 - }
91 -}
92 -class OpencodeGenerator {
93 - static async init(fullConfig, projectName, prompts) {
94 - await initRepo(fullConfig, projectName, {
95 - defaultAgentName: "Build",
96 - promptsFolder: prompts ? ".opencode/prompts" : void 0
97 - });
98 - const agents = await loadAgentSpecs();
99 - for (const agent of agents) {
100 - const prompt = [agent.instructions];
101 - prompt.push("");
102 - prompt.push(...agent.examples.map((example) => `<example>${example}</example>`));
103 - await writeFile(`.opencode/prompts/${agent.name}.md`, prompt.join("\n"), "\u{1F916}", "agent definition");
104 - }
105 - await writeFile("opencode.json", OpencodeGenerator.configuration(agents), "\u{1F527}", "opencode configuration");
106 - initRepoDone();
107 - }
108 - static configuration(agents) {
109 - const opencodeToolMap = /* @__PURE__ */ new Map([
110 - ["search", ["ls", "glob", "grep", "read"]],
111 - ["edit", ["edit", "write"]]
112 - ]);
113 - const asOpencodeTool = (tools, tool) => {
114 - const [first, second] = tool.split("/");
115 - if (!second) {
116 - for (const tool2 of opencodeToolMap.get(first) || [first])
117 - tools[tool2] = true;
118 - } else {
119 - tools[`${first}*${second}`] = true;
120 - }
121 - };
122 - const result = {};
123 - result["$schema"] = "https://opencode.ai/config.json";
124 - result["mcp"] = {};
125 - result["tools"] = {
126 - "playwright*": false
127 - };
128 - result["agent"] = {};
129 - for (const agent of agents) {
130 - const tools = {};
131 - result["agent"][agent.name] = {
132 - description: agent.description,
133 - mode: "subagent",
134 - prompt: `{file:.opencode/prompts/${agent.name}.md}`,
135 - tools
136 - };
137 - for (const tool of agent.tools)
138 - asOpencodeTool(tools, tool);
139 - }
140 - result["mcp"]["playwright-test"] = {
141 - type: "local",
142 - command: ["npx", "playwright", "run-test-mcp-server"],
143 - enabled: true
144 - };
145 - return JSON.stringify(result, null, 2);
146 - }
147 -}
148 -class CopilotGenerator {
149 - static async init(fullConfig, projectName, prompts) {
150 - await initRepo(fullConfig, projectName, {
151 - defaultAgentName: "agent",
152 - promptsFolder: prompts ? ".github/prompts" : void 0,
153 - promptSuffix: "prompt"
154 - });
155 - const agents = await loadAgentSpecs();
156 - await import_fs.default.promises.mkdir(".github/agents", { recursive: true });
157 - for (const agent of agents)
158 - await writeFile(`.github/agents/${agent.name}.agent.md`, CopilotGenerator.agentSpec(agent), "\u{1F916}", "agent definition");
159 - await deleteFile(`.github/chatmodes/ \u{1F3AD} planner.chatmode.md`, "legacy planner chatmode");
160 - await deleteFile(`.github/chatmodes/\u{1F3AD} generator.chatmode.md`, "legacy generator chatmode");
161 - await deleteFile(`.github/chatmodes/\u{1F3AD} healer.chatmode.md`, "legacy healer chatmode");
162 - await deleteFile(`.github/agents/ \u{1F3AD} planner.agent.md`, "legacy planner agent");
163 - await deleteFile(`.github/agents/\u{1F3AD} generator.agent.md`, "legacy generator agent");
164 - await deleteFile(`.github/agents/\u{1F3AD} healer.agent.md`, "legacy healer agent");
165 - await VSCodeGenerator.appendToMCPJson();
166 - const mcpConfig = { mcpServers: CopilotGenerator.mcpServers };
167 - if (!import_fs.default.existsSync(".github/copilot-setup-steps.yml")) {
168 - const yaml2 = import_fs.default.readFileSync(import_path.default.join(__dirname, "copilot-setup-steps.yml"), "utf-8");
169 - await writeFile(".github/workflows/copilot-setup-steps.yml", yaml2, "\u{1F527}", "GitHub Copilot setup steps");
170 - }
171 - console.log("");
172 - console.log("");
173 - console.log(" \u{1F527} TODO: GitHub > Settings > Copilot > Coding agent > MCP configuration");
174 - console.log("------------------------------------------------------------------");
175 - console.log(JSON.stringify(mcpConfig, null, 2));
176 - console.log("------------------------------------------------------------------");
177 - initRepoDone();
178 - }
179 - static agentSpec(agent) {
180 - const examples = agent.examples.length ? ` Examples: ${agent.examples.map((example) => `<example>${example}</example>`).join("")}` : "";
181 - const lines = [];
182 - const header = {
183 - "name": agent.name,
184 - "description": agent.description + examples,
185 - "tools": agent.tools,
186 - "model": "Claude Sonnet 4.6",
187 - "mcp-servers": CopilotGenerator.mcpServers
188 - };
189 - lines.push(`---`);
190 - lines.push(yaml.stringify(header, { lineWidth: 1e5 }) + `---`);
191 - lines.push("");
192 - lines.push(agent.instructions);
193 - lines.push("");
194 - return lines.join("\n");
195 - }
196 - static {
197 - this.mcpServers = {
198 - "playwright-test": {
199 - "type": "stdio",
200 - "command": "npx",
201 - "args": [
202 - "playwright",
203 - "run-test-mcp-server"
204 - ],
205 - "tools": ["*"]
206 - }
207 - };
208 - }
209 -}
210 -class VSCodeGenerator {
211 - static async init(fullConfig, projectName) {
212 - await initRepo(fullConfig, projectName, {
213 - promptsFolder: void 0
214 - });
215 - const agents = await loadAgentSpecs();
216 - const nameMap = /* @__PURE__ */ new Map([
217 - ["playwright-test-planner", " \u{1F3AD} planner"],
218 - ["playwright-test-generator", "\u{1F3AD} generator"],
219 - ["playwright-test-healer", "\u{1F3AD} healer"]
220 - ]);
221 - await import_fs.default.promises.mkdir(".github/chatmodes", { recursive: true });
222 - for (const agent of agents)
223 - await writeFile(`.github/chatmodes/${nameMap.get(agent.name)}.chatmode.md`, VSCodeGenerator.agentSpec(agent), "\u{1F916}", "chatmode definition");
224 - await VSCodeGenerator.appendToMCPJson();
225 - initRepoDone();
226 - }
227 - static async appendToMCPJson() {
228 - await import_fs.default.promises.mkdir(".vscode", { recursive: true });
229 - const mcpJsonPath = ".vscode/mcp.json";
230 - let mcpJson = {
231 - servers: {},
232 - inputs: []
233 - };
234 - try {
235 - mcpJson = JSON.parse(import_fs.default.readFileSync(mcpJsonPath, "utf8"));
236 - } catch {
237 - }
238 - if (!mcpJson.servers)
239 - mcpJson.servers = {};
240 - mcpJson.servers["playwright-test"] = {
241 - type: "stdio",
242 - command: "npx",
243 - args: ["playwright", "run-test-mcp-server"]
244 - };
245 - await writeFile(mcpJsonPath, JSON.stringify(mcpJson, null, 2), "\u{1F527}", "mcp configuration");
246 - }
247 - static agentSpec(agent) {
248 - const vscodeToolMap = /* @__PURE__ */ new Map([
249 - ["search", ["search/listDirectory", "search/fileSearch", "search/textSearch"]],
250 - ["read", ["search/readFile"]],
251 - ["edit", ["edit/editFiles"]],
252 - ["write", ["edit/createFile", "edit/createDirectory"]]
253 - ]);
254 - const vscodeToolsOrder = ["edit/createFile", "edit/createDirectory", "edit/editFiles", "search/fileSearch", "search/textSearch", "search/listDirectory", "search/readFile"];
255 - const vscodeMcpName = "playwright-test";
256 - function asVscodeTool(tool) {
257 - const [first, second] = tool.split("/");
258 - if (second)
259 - return `${vscodeMcpName}/${second}`;
260 - return vscodeToolMap.get(first) || first;
261 - }
262 - const tools = agent.tools.map(asVscodeTool).flat().sort((a, b) => {
263 - const indexA = vscodeToolsOrder.indexOf(a);
264 - const indexB = vscodeToolsOrder.indexOf(b);
265 - if (indexA === -1 && indexB === -1)
266 - return a.localeCompare(b);
267 - if (indexA === -1)
268 - return 1;
269 - if (indexB === -1)
270 - return -1;
271 - return indexA - indexB;
272 - }).map((tool) => `'${tool}'`).join(", ");
273 - const lines = [];
274 - lines.push(`---`);
275 - lines.push(`description: ${agent.description}.`);
276 - lines.push(`tools: [${tools}]`);
277 - lines.push(`---`);
278 - lines.push("");
279 - lines.push(agent.instructions);
280 - for (const example of agent.examples)
281 - lines.push(`<example>${example}</example>`);
282 - lines.push("");
283 - return lines.join("\n");
284 - }
285 -}
286 -async function writeFile(filePath, content, icon, description) {
287 - console.log(` ${icon} ${import_path.default.relative(process.cwd(), filePath)} ${colors.dim("- " + description)}`);
288 - await mkdirIfNeeded(filePath);
289 - await import_fs.default.promises.writeFile(filePath, content, "utf-8");
290 -}
291 -async function deleteFile(filePath, description) {
292 - try {
293 - if (!import_fs.default.existsSync(filePath))
294 - return;
295 - } catch {
296 - return;
297 - }
298 - console.log(` \u2702\uFE0F ${import_path.default.relative(process.cwd(), filePath)} ${colors.dim("- " + description)}`);
299 - await import_fs.default.promises.unlink(filePath);
300 -}
301 -async function initRepo(fullConfig, projectName, options) {
302 - const project = (0, import_seed.seedProject)(fullConfig, projectName);
303 - console.log(` \u{1F3AD} Using project "${project.project.name}" as a primary project`);
304 - if (!import_fs.default.existsSync("specs")) {
305 - await import_fs.default.promises.mkdir("specs");
306 - await writeFile(import_path.default.join("specs", "README.md"), `# Specs
307 -
308 -This is a directory for test plans.
309 -`, "\u{1F4DD}", "directory for test plans");
310 - }
311 - let seedFile = await (0, import_seed.findSeedFile)(project);
312 - if (!seedFile) {
313 - seedFile = (0, import_seed.defaultSeedFile)(project);
314 - await writeFile(seedFile, import_seed.seedFileContent, "\u{1F331}", "default environment seed file");
315 - }
316 - if (options.promptsFolder) {
317 - await import_fs.default.promises.mkdir(options.promptsFolder, { recursive: true });
318 - for (const promptFile of await import_fs.default.promises.readdir(__dirname)) {
319 - if (!promptFile.endsWith(".prompt.md"))
320 - continue;
321 - const shortName = promptFile.replace(".prompt.md", "");
322 - const fileName = options.promptSuffix ? `${shortName}.${options.promptSuffix}.md` : `${shortName}.md`;
323 - const content = await loadPrompt(promptFile, {
324 - defaultAgentName: "default",
325 - ...options,
326 - seedFile: import_path.default.relative(process.cwd(), seedFile)
327 - });
328 - await writeFile(import_path.default.join(options.promptsFolder, fileName), content, "\u{1F4DD}", "prompt template");
329 - }
330 - }
331 -}
332 -function initRepoDone() {
333 - console.log(" \u2705 Done.");
334 -}
335 -async function loadPrompt(file, params) {
336 - const content = await import_fs.default.promises.readFile(import_path.default.join(__dirname, file), "utf-8");
337 - return Object.entries(params).reduce((acc, [key, value]) => {
338 - return acc.replace(new RegExp(`\\\${${key}}`, "g"), value);
339 - }, content);
340 -}
341 -// Annotate the CommonJS export names for ESM import in node:
342 -0 && (module.exports = {
343 - ClaudeGenerator,
344 - CopilotGenerator,
345 - OpencodeGenerator,
346 - VSCodeGenerator
347 -});
node_modules/playwright/lib/agents/playwright-test-coverage.prompt.md deleted
-31
@@ -1,31 +0,0 @@
1 ----
2 -agent: ${defaultAgentName}
3 -description: Produce test coverage
4 ----
5 -
6 -Parameters:
7 -- Task: the task to perform
8 -- Seed file (optional): the seed file to use, defaults to `${seedFile}`
9 -- Test plan file (optional): the test plan file to write, under `specs/` folder.
10 -
11 -1. Call #playwright-test-planner subagent with prompt:
12 -
13 -<plan>
14 - <task-text><!-- the task --></task-text>
15 - <seed-file><!-- path to seed file --></seed-file>
16 - <plan-file><!-- path to test plan file to generate --></plan-file>
17 -</plan>
18 -
19 -2. For each test case from the test plan file (1.1, 1.2, ...), one after another, not in parallel, call #playwright-test-generator subagent with prompt:
20 -
21 -<generate>
22 - <test-suite><!-- Verbatim name of the test spec group w/o ordinal like "Multiplication tests" --></test-suite>
23 - <test-name><!-- Name of the test case without the ordinal like "should add two numbers" --></test-name>
24 - <test-file><!-- Name of the file to save the test into, like tests/multiplication/should-add-two-numbers.spec.ts --></test-file>
25 - <seed-file><!-- Seed file path from test plan --></seed-file>
26 - <body><!-- Test case content including steps and expectations --></body>
27 -</generate>
28 -
29 -3. Call #playwright-test-healer subagent with prompt:
30 -
31 -<heal>Run all tests and fix the failing ones one after another.</heal>
node_modules/playwright/lib/agents/playwright-test-generate.prompt.md deleted
-8
@@ -1,8 +0,0 @@
1 ----
2 -agent: playwright-test-generator
3 -description: Generate test plan
4 ----
5 -
6 -Generate tests for the test plan's bullet 1.1 Add item to card.
7 -
8 -Test plan: `specs/coverage.plan.md`
node_modules/playwright/lib/agents/playwright-test-generator.agent.md deleted
-88
@@ -1,88 +0,0 @@
1 ----
2 -name: playwright-test-generator
3 -description: Use this agent when you need to create automated browser tests using Playwright
4 -model: sonnet
5 -color: blue
6 -tools:
7 - - search
8 - - playwright-test/browser_click
9 - - playwright-test/browser_drag
10 - - playwright-test/browser_evaluate
11 - - playwright-test/browser_file_upload
12 - - playwright-test/browser_handle_dialog
13 - - playwright-test/browser_hover
14 - - playwright-test/browser_navigate
15 - - playwright-test/browser_press_key
16 - - playwright-test/browser_select_option
17 - - playwright-test/browser_snapshot
18 - - playwright-test/browser_type
19 - - playwright-test/browser_verify_element_visible
20 - - playwright-test/browser_verify_list_visible
21 - - playwright-test/browser_verify_text_visible
22 - - playwright-test/browser_verify_value
23 - - playwright-test/browser_wait_for
24 - - playwright-test/generator_read_log
25 - - playwright-test/generator_setup_page
26 - - playwright-test/generator_write_test
27 ----
28 -
29 -You are a Playwright Test Generator, an expert in browser automation and end-to-end testing.
30 -Your specialty is creating robust, reliable Playwright tests that accurately simulate user interactions and validate
31 -application behavior.
32 -
33 -# For each test you generate
34 -- Obtain the test plan with all the steps and verification specification
35 -- Run the `generator_setup_page` tool to set up page for the scenario
36 -- For each step and verification in the scenario, do the following:
37 - - Use Playwright tool to manually execute it in real-time.
38 - - Use the step description as the intent for each Playwright tool call.
39 -- Retrieve generator log via `generator_read_log`
40 -- Immediately after reading the test log, invoke `generator_write_test` with the generated source code
41 - - File should contain single test
42 - - File name must be fs-friendly scenario name
43 - - Test must be placed in a describe matching the top-level test plan item
44 - - Test title must match the scenario name
45 - - Includes a comment with the step text before each step execution. Do not duplicate comments if step requires
46 - multiple actions.
47 - - Always use best practices from the log when generating tests.
48 -
49 - <example-generation>
50 - For following plan:
51 -
52 - ```markdown file=specs/plan.md
53 - ### 1. Adding New Todos
54 - **Seed:** `tests/seed.spec.ts`
55 -
56 - #### 1.1 Add Valid Todo
57 - **Steps:**
58 - 1. Click in the "What needs to be done?" input field
59 -
60 - #### 1.2 Add Multiple Todos
61 - ...
62 - ```
63 -
64 - Following file is generated:
65 -
66 - ```ts file=add-valid-todo.spec.ts
67 - // spec: specs/plan.md
68 - // seed: tests/seed.spec.ts
69 -
70 - test.describe('Adding New Todos', () => {
71 - test('Add Valid Todo', async { page } => {
72 - // 1. Click in the "What needs to be done?" input field
73 - await page.click(...);
74 -
75 - ...
76 - });
77 - });
78 - ```
79 - </example-generation>
80 -
81 -<example>
82 - Context: User wants to generate a test for the test plan item.
83 - <test-suite><!-- Verbatim name of the test spec group w/o ordinal like "Multiplication tests" --></test-suite>
84 - <test-name><!-- Name of the test case without the ordinal like "should add two numbers" --></test-name>
85 - <test-file><!-- Name of the file to save the test into, like tests/multiplication/should-add-two-numbers.spec.ts --></test-file>
86 - <seed-file><!-- Seed file path from test plan --></seed-file>
87 - <body><!-- Test case content including steps and expectations --></body>
88 -</example>
node_modules/playwright/lib/agents/playwright-test-heal.prompt.md deleted
-6
@@ -1,6 +0,0 @@
1 ----
2 -agent: playwright-test-healer
3 -description: Fix tests
4 ----
5 -
6 -Run all my tests and fix the failing ones.
node_modules/playwright/lib/agents/playwright-test-healer.agent.md deleted
-56
@@ -1,56 +0,0 @@
1 ----
2 -name: playwright-test-healer
3 -description: Use this agent when you need to debug and fix failing Playwright tests
4 -model: sonnet
5 -color: red
6 -tools:
7 - - search
8 - - edit
9 - - playwright-test/browser_console_messages
10 - - playwright-test/browser_evaluate
11 - - playwright-test/browser_generate_locator
12 - - playwright-test/browser_network_request
13 - - playwright-test/browser_network_requests
14 - - playwright-test/browser_snapshot
15 - - playwright-test/test_debug
16 - - playwright-test/test_list
17 - - playwright-test/test_run
18 ----
19 -
20 -You are the Playwright Test Healer, an expert test automation engineer specializing in debugging and
21 -resolving Playwright test failures. Your mission is to systematically identify, diagnose, and fix
22 -broken Playwright tests using a methodical approach.
23 -
24 -Your workflow:
25 -1. **Initial Execution**: Run all tests using `test_run` tool to identify failing tests
26 -2. **Debug failed tests**: For each failing test run `test_debug`.
27 -3. **Error Investigation**: When the test pauses on errors, use available Playwright MCP tools to:
28 - - Examine the error details
29 - - Capture page snapshot to understand the context
30 - - Analyze selectors, timing issues, or assertion failures
31 -4. **Root Cause Analysis**: Determine the underlying cause of the failure by examining:
32 - - Element selectors that may have changed
33 - - Timing and synchronization issues
34 - - Data dependencies or test environment problems
35 - - Application changes that broke test assumptions
36 -5. **Code Remediation**: Edit the test code to address identified issues, focusing on:
37 - - Updating selectors to match current application state
38 - - Fixing assertions and expected values
39 - - Improving test reliability and maintainability
40 - - For inherently dynamic data, utilize regular expressions to produce resilient locators
41 -6. **Verification**: Restart the test after each fix to validate the changes
42 -7. **Iteration**: Repeat the investigation and fixing process until the test passes cleanly
43 -
44 -Key principles:
45 -- Be systematic and thorough in your debugging approach
46 -- Document your findings and reasoning for each fix
47 -- Prefer robust, maintainable solutions over quick hacks
48 -- Use Playwright best practices for reliable test automation
49 -- If multiple errors exist, fix them one at a time and retest
50 -- Provide clear explanations of what was broken and how you fixed it
51 -- You will continue this process until the test runs successfully without any failures or errors.
52 -- If the error persists and you have high level of confidence that the test is correct, mark this test as test.fixme()
53 - so that it is skipped during the execution. Add a comment before the failing step explaining what is happening instead
54 - of the expected behavior.
55 -- Do not ask user questions, you are not interactive tool, do the most reasonable thing possible to pass the test.
56 -- Never wait for networkidle or use other discouraged or deprecated apis
node_modules/playwright/lib/agents/playwright-test-plan.prompt.md deleted
-9
@@ -1,9 +0,0 @@
1 ----
2 -agent: playwright-test-planner
3 -description: Create test plan
4 ----
5 -
6 -Create test plan for "add to cart" functionality of my app.
7 -
8 -- Seed file: `${seedFile}`
9 -- Test plan: `specs/coverage.plan.md`
node_modules/playwright/lib/agents/playwright-test-planner.agent.md deleted
-74
@@ -1,74 +0,0 @@
1 ----
2 -name: playwright-test-planner
3 -description: Use this agent when you need to create comprehensive test plan for a web application or website
4 -model: sonnet
5 -color: green
6 -tools:
7 - - search
8 - - playwright-test/browser_click
9 - - playwright-test/browser_close
10 - - playwright-test/browser_console_messages
11 - - playwright-test/browser_drag
12 - - playwright-test/browser_evaluate
13 - - playwright-test/browser_file_upload
14 - - playwright-test/browser_handle_dialog
15 - - playwright-test/browser_hover
16 - - playwright-test/browser_navigate
17 - - playwright-test/browser_navigate_back
18 - - playwright-test/browser_network_request
19 - - playwright-test/browser_network_requests
20 - - playwright-test/browser_press_key
21 - - playwright-test/browser_run_code_unsafe
22 - - playwright-test/browser_select_option
23 - - playwright-test/browser_snapshot
24 - - playwright-test/browser_take_screenshot
25 - - playwright-test/browser_type
26 - - playwright-test/browser_wait_for
27 - - playwright-test/planner_setup_page
28 - - playwright-test/planner_save_plan
29 ----
30 -
31 -You are an expert web test planner with extensive experience in quality assurance, user experience testing, and test
32 -scenario design. Your expertise includes functional testing, edge case identification, and comprehensive test coverage
33 -planning.
34 -
35 -You will:
36 -
37 -1. **Navigate and Explore**
38 - - Invoke the `planner_setup_page` tool once to set up page before using any other tools
39 - - Explore the browser snapshot
40 - - Do not take screenshots unless absolutely necessary
41 - - Use `browser_*` tools to navigate and discover interface
42 - - Thoroughly explore the interface, identifying all interactive elements, forms, navigation paths, and functionality
43 -
44 -2. **Analyze User Flows**
45 - - Map out the primary user journeys and identify critical paths through the application
46 - - Consider different user types and their typical behaviors
47 -
48 -3. **Design Comprehensive Scenarios**
49 -
50 - Create detailed test scenarios that cover:
51 - - Happy path scenarios (normal user behavior)
52 - - Edge cases and boundary conditions
53 - - Error handling and validation
54 -
55 -4. **Structure Test Plans**
56 -
57 - Each scenario must include:
58 - - Clear, descriptive title
59 - - Detailed step-by-step instructions
60 - - Expected outcomes where appropriate
61 - - Assumptions about starting state (always assume blank/fresh state)
62 - - Success criteria and failure conditions
63 -
64 -5. **Create Documentation**
65 -
66 - Submit your test plan using `planner_save_plan` tool.
67 -
68 -**Quality Standards**:
69 -- Write steps that are specific enough for any tester to follow
70 -- Include negative testing scenarios
71 -- Ensure scenarios are independent and can be run in any order
72 -
73 -**Output Format**: Always save the complete test plan as a markdown file with clear headings, numbered steps, and
74 -professional formatting suitable for sharing with development and QA teams.
node_modules/playwright/lib/cli/reportActions.js deleted
-78
@@ -1,78 +0,0 @@
1 -"use strict";
2 -var __create = Object.create;
3 -var __defProp = Object.defineProperty;
4 -var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5 -var __getOwnPropNames = Object.getOwnPropertyNames;
6 -var __getProtoOf = Object.getPrototypeOf;
7 -var __hasOwnProp = Object.prototype.hasOwnProperty;
8 -var __export = (target, all) => {
9 - for (var name in all)
10 - __defProp(target, name, { get: all[name], enumerable: true });
11 -};
12 -var __copyProps = (to, from, except, desc) => {
13 - if (from && typeof from === "object" || typeof from === "function") {
14 - for (let key of __getOwnPropNames(from))
15 - if (!__hasOwnProp.call(to, key) && key !== except)
16 - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17 - }
18 - return to;
19 -};
20 -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21 - // If the importer is in node compatibility mode or this is not an ESM
22 - // file that has been converted to a CommonJS file using a Babel-
23 - // compatible transform (i.e. "__esModule" has not been set), then set
24 - // "default" to the CommonJS "module.exports" for node compatibility.
25 - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26 - mod
27 -));
28 -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29 -var reportActions_exports = {};
30 -__export(reportActions_exports, {
31 - mergeReports: () => mergeReports,
32 - showReport: () => showReport
33 -});
34 -module.exports = __toCommonJS(reportActions_exports);
35 -var import_fs = __toESM(require("fs"));
36 -var import_path = __toESM(require("path"));
37 -var import_common = require("../common");
38 -var import_runner = require("../runner");
39 -const { gracefullyProcessExitDoNotHang } = require("playwright-core/lib/coreBundle").utils;
40 -async function showReport(report, host, port) {
41 - await import_runner.html.showHTMLReport(report, host, port);
42 -}
43 -async function mergeReports(reportDir, opts) {
44 - const configFile = opts.config;
45 - const config = configFile ? await import_common.configLoader.loadConfigFromFile(configFile) : await import_common.configLoader.loadEmptyConfigForMergeReports();
46 - const dir = import_path.default.resolve(process.cwd(), reportDir || "");
47 - const dirStat = await import_fs.default.promises.stat(dir).catch((e) => null);
48 - if (!dirStat)
49 - throw new Error("Directory does not exist: " + dir);
50 - if (!dirStat.isDirectory())
51 - throw new Error(`"${dir}" is not a directory`);
52 - let reporterDescriptions = resolveReporterOption(opts.reporter);
53 - if (!reporterDescriptions && configFile)
54 - reporterDescriptions = config.config.reporter;
55 - if (!reporterDescriptions)
56 - reporterDescriptions = [[import_common.config.defaultReporter]];
57 - const rootDirOverride = configFile ? config.config.rootDir : void 0;
58 - await import_runner.merge.createMergedReport(config, dir, reporterDescriptions, rootDirOverride);
59 - gracefullyProcessExitDoNotHang(0);
60 -}
61 -function resolveReporterOption(reporter) {
62 - if (!reporter || !reporter.length)
63 - return void 0;
64 - return reporter.split(",").map((r) => [resolveReporter(r)]);
65 -}
66 -function resolveReporter(id) {
67 - if (import_common.builtInReporters.includes(id))
68 - return id;
69 - const localPath = import_path.default.resolve(process.cwd(), id);
70 - if (import_fs.default.existsSync(localPath))
71 - return localPath;
72 - return require.resolve(id, { paths: [process.cwd()] });
73 -}
74 -// Annotate the CommonJS export names for ESM import in node:
75 -0 && (module.exports = {
76 - mergeReports,
77 - showReport
78 -});
node_modules/playwright/lib/cli/testActions.js deleted
-211
@@ -1,211 +0,0 @@
1 -"use strict";
2 -var __create = Object.create;
3 -var __defProp = Object.defineProperty;
4 -var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5 -var __getOwnPropNames = Object.getOwnPropertyNames;
6 -var __getProtoOf = Object.getPrototypeOf;
7 -var __hasOwnProp = Object.prototype.hasOwnProperty;
8 -var __export = (target, all) => {
9 - for (var name in all)
10 - __defProp(target, name, { get: all[name], enumerable: true });
11 -};
12 -var __copyProps = (to, from, except, desc) => {
13 - if (from && typeof from === "object" || typeof from === "function") {
14 - for (let key of __getOwnPropNames(from))
15 - if (!__hasOwnProp.call(to, key) && key !== except)
16 - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17 - }
18 - return to;
19 -};
20 -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21 - // If the importer is in node compatibility mode or this is not an ESM
22 - // file that has been converted to a CommonJS file using a Babel-
23 - // compatible transform (i.e. "__esModule" has not been set), then set
24 - // "default" to the CommonJS "module.exports" for node compatibility.
25 - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26 - mod
27 -));
28 -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29 -var testActions_exports = {};
30 -__export(testActions_exports, {
31 - clearCache: () => clearCache,
32 - runTestServerAction: () => runTestServerAction,
33 - runTests: () => runTests
34 -});
35 -module.exports = __toCommonJS(testActions_exports);
36 -var import_fs = __toESM(require("fs"));
37 -var import_path = __toESM(require("path"));
38 -var import_common = require("../common");
39 -var import_runner = require("../runner");
40 -const { gracefullyProcessExitDoNotHang } = require("playwright-core/lib/coreBundle").utils;
41 -const { startProfiling, stopProfiling } = require("playwright-core/lib/coreBundle").utils;
42 -async function runTests(args, opts) {
43 - await startProfiling();
44 - const cliOverrides = overridesFromOptions(opts);
45 - const config = await import_common.configLoader.loadConfigFromFile(opts.config, cliOverrides, opts.deps === false);
46 - const options = {
47 - locations: args.length ? args : void 0,
48 - grep: opts.grep,
49 - grepInvert: opts.grepInvert,
50 - onlyChanged: opts.onlyChanged === true ? "HEAD" : opts.onlyChanged,
51 - listMode: !!opts.list,
52 - projectFilter: opts.project || void 0,
53 - passWithNoTests: !!opts.passWithNoTests,
54 - lastFailed: !!opts.lastFailed,
55 - testList: opts.testList ? import_path.default.resolve(process.cwd(), opts.testList) : void 0,
56 - testListInvert: opts.testListInvert ? import_path.default.resolve(process.cwd(), opts.testListInvert) : void 0,
57 - shardWeights: resolveShardWeightsOption()
58 - };
59 - import_runner.projectUtils.filterProjects(config.projects, options.projectFilter);
60 - if (opts.ui || opts.uiHost || opts.uiPort) {
61 - if (opts.onlyChanged)
62 - throw new Error(`--only-changed is not supported in UI mode. If you'd like that to change, see https://github.com/microsoft/playwright/issues/15075 for more details.`);
63 - const status2 = await import_runner.testServer.runUIMode(opts.config, cliOverrides, {
64 - host: opts.uiHost,
65 - port: opts.uiPort ? +opts.uiPort : void 0,
66 - args,
67 - grep: opts.grep,
68 - grepInvert: opts.grepInvert,
69 - project: opts.project || void 0,
70 - reporter: Array.isArray(opts.reporter) ? opts.reporter : opts.reporter ? [opts.reporter] : void 0
71 - });
72 - await stopProfiling("runner");
73 - const exitCode2 = status2 === "interrupted" ? 130 : status2 === "passed" ? 0 : 1;
74 - gracefullyProcessExitDoNotHang(exitCode2);
75 - return;
76 - }
77 - if (process.env.PWTEST_WATCH) {
78 - if (opts.onlyChanged)
79 - throw new Error(`--only-changed is not supported in watch mode. If you'd like that to change, file an issue and let us know about your usecase for it.`);
80 - const status2 = await import_runner.watchMode.runWatchModeLoop(
81 - import_common.configLoader.resolveConfigLocation(opts.config),
82 - {
83 - projects: opts.project,
84 - files: args,
85 - grep: opts.grep
86 - }
87 - );
88 - await stopProfiling("runner");
89 - const exitCode2 = status2 === "interrupted" ? 130 : status2 === "passed" ? 0 : 1;
90 - gracefullyProcessExitDoNotHang(exitCode2);
91 - return;
92 - }
93 - const status = await import_runner.testRunner.runAllTestsWithConfig(config, options);
94 - await stopProfiling("runner");
95 - const exitCode = status === "interrupted" ? 130 : status === "passed" ? 0 : 1;
96 - gracefullyProcessExitDoNotHang(exitCode);
97 -}
98 -async function runTestServerAction(opts) {
99 - const host = opts.host;
100 - const port = opts.port ? +opts.port : void 0;
101 - const status = await import_runner.testServer.runTestServer(opts.config, {}, { host, port });
102 - const exitCode = status === "interrupted" ? 130 : status === "passed" ? 0 : 1;
103 - gracefullyProcessExitDoNotHang(exitCode);
104 -}
105 -async function clearCache(opts) {
106 - const runner = new import_runner.testRunner.TestRunner(import_common.configLoader.resolveConfigLocation(opts.config), {});
107 - const { status } = await runner.clearCache(import_runner.runnerReporters.createErrorCollectingReporter(import_runner.base.terminalScreen));
108 - const exitCode = status === "interrupted" ? 130 : status === "passed" ? 0 : 1;
109 - gracefullyProcessExitDoNotHang(exitCode);
110 -}
111 -function overridesFromOptions(options) {
112 - if (options.ui) {
113 - options.debug = void 0;
114 - options.trace = void 0;
115 - }
116 - const overrides = {
117 - debug: options.debug,
118 - failOnFlakyTests: options.failOnFlakyTests ? true : void 0,
119 - forbidOnly: options.forbidOnly ? true : void 0,
120 - fullyParallel: options.fullyParallel ? true : void 0,
121 - globalTimeout: options.globalTimeout ? parseInt(options.globalTimeout, 10) : void 0,
122 - maxFailures: options.x ? 1 : options.maxFailures ? parseInt(options.maxFailures, 10) : void 0,
123 - outputDir: options.output ? import_path.default.resolve(process.cwd(), options.output) : void 0,
124 - pause: !!process.env.PWPAUSE,
125 - quiet: options.quiet ? options.quiet : void 0,
126 - repeatEach: options.repeatEach ? parseInt(options.repeatEach, 10) : void 0,
127 - retries: options.retries ? parseInt(options.retries, 10) : void 0,
128 - reporter: resolveReporterOption(options.reporter),
129 - shard: resolveShardOption(options.shard),
130 - timeout: options.timeout ? parseInt(options.timeout, 10) : void 0,
131 - tsconfig: options.tsconfig ? import_path.default.resolve(process.cwd(), options.tsconfig) : void 0,
132 - ignoreSnapshots: options.ignoreSnapshots ? !!options.ignoreSnapshots : void 0,
133 - updateSnapshots: options.updateSnapshots,
134 - updateSourceMethod: options.updateSourceMethod,
135 - use: {
136 - trace: options.trace
137 - },
138 - workers: options.workers
139 - };
140 - if (options.browser) {
141 - const browserOpt = options.browser.toLowerCase();
142 - if (!["all", "chromium", "firefox", "webkit"].includes(browserOpt))
143 - throw new Error(`Unsupported browser "${options.browser}", must be one of "all", "chromium", "firefox" or "webkit"`);
144 - const browserNames = browserOpt === "all" ? ["chromium", "firefox", "webkit"] : [browserOpt];
145 - overrides.projects = browserNames.map((browserName) => {
146 - return {
147 - name: browserName,
148 - use: { browserName }
149 - };
150 - });
151 - }
152 - if (options.headed)
153 - overrides.use.headless = false;
154 - if (options.debug === "inspector") {
155 - overrides.use.headless = false;
156 - process.env.PWDEBUG = "1";
157 - }
158 - if (overrides.tsconfig && !import_fs.default.existsSync(overrides.tsconfig))
159 - throw new Error(`--tsconfig "${options.tsconfig}" does not exist`);
160 - return overrides;
161 -}
162 -function resolveReporterOption(reporter) {
163 - if (!reporter || !reporter.length)
164 - return void 0;
165 - return reporter.split(",").map((r) => [resolveReporter(r)]);
166 -}
167 -function resolveShardOption(shard) {
168 - if (!shard)
169 - return void 0;
170 - const shardPair = shard.split("/");
171 - if (shardPair.length !== 2) {
172 - throw new Error(
173 - `--shard "${shard}", expected format is "current/all", 1-based, for example "3/5".`
174 - );
175 - }
176 - const current = parseInt(shardPair[0], 10);
177 - const total = parseInt(shardPair[1], 10);
178 - if (isNaN(total) || total < 1)
179 - throw new Error(`--shard "${shard}" total must be a positive number`);
180 - if (isNaN(current) || current < 1 || current > total) {
181 - throw new Error(
182 - `--shard "${shard}" current must be a positive number, not greater than shard total`
183 - );
184 - }
185 - return { current, total };
186 -}
187 -function resolveShardWeightsOption() {
188 - const shardWeights = process.env.PWTEST_SHARD_WEIGHTS;
189 - if (!shardWeights)
190 - return void 0;
191 - return shardWeights.split(":").map((w) => {
192 - const weight = parseInt(w, 10);
193 - if (isNaN(weight) || weight < 0)
194 - throw new Error(`PWTEST_SHARD_WEIGHTS="${shardWeights}" weights must be non-negative numbers`);
195 - return weight;
196 - });
197 -}
198 -function resolveReporter(id) {
199 - if (import_common.builtInReporters.includes(id))
200 - return id;
201 - const localPath = import_path.default.resolve(process.cwd(), id);
202 - if (import_fs.default.existsSync(localPath))
203 - return localPath;
204 - return require.resolve(id, { paths: [process.cwd()] });
205 -}
206 -// Annotate the CommonJS export names for ESM import in node:
207 -0 && (module.exports = {
208 - clearCache,
209 - runTestServerAction,
210 - runTests
211 -});
node_modules/playwright/lib/common/index.js deleted
-2898
@@ -1,2898 +0,0 @@
1 -"use strict";
2 -var __create = Object.create;
3 -var __defProp = Object.defineProperty;
4 -var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5 -var __getOwnPropNames = Object.getOwnPropertyNames;
6 -var __getProtoOf = Object.getPrototypeOf;
7 -var __hasOwnProp = Object.prototype.hasOwnProperty;
8 -var __export = (target, all) => {
9 - for (var name in all)
10 - __defProp(target, name, { get: all[name], enumerable: true });
11 -};
12 -var __copyProps = (to, from, except, desc) => {
13 - if (from && typeof from === "object" || typeof from === "function") {
14 - for (let key of __getOwnPropNames(from))
15 - if (!__hasOwnProp.call(to, key) && key !== except)
16 - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17 - }
18 - return to;
19 -};
20 -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21 - // If the importer is in node compatibility mode or this is not an ESM
22 - // file that has been converted to a CommonJS file using a Babel-
23 - // compatible transform (i.e. "__esModule" has not been set), then set
24 - // "default" to the CommonJS "module.exports" for node compatibility.
25 - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26 - mod
27 -));
28 -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29 -
30 -// packages/playwright/src/common/index.ts
31 -var index_exports = {};
32 -__export(index_exports, {
33 - FullConfigInternal: () => FullConfigInternal,
34 - ProcessRunner: () => ProcessRunner,
35 - builtInReporters: () => builtInReporters,
36 - cc: () => compilationCache_exports,
37 - config: () => config_exports,
38 - configLoader: () => configLoader_exports,
39 - defineConfig: () => defineConfig,
40 - esm: () => esmLoaderHost_exports,
41 - fixtures: () => fixtures_exports,
42 - ipc: () => ipc_exports,
43 - mergeTests: () => mergeTests,
44 - poolBuilder: () => poolBuilder_exports,
45 - processRunner: () => process_exports,
46 - startProcessRunner: () => startProcessRunner,
47 - suiteUtils: () => suiteUtils_exports,
48 - test: () => test_exports,
49 - testLoader: () => testLoader_exports,
50 - testType: () => testType_exports,
51 - transform: () => transform_exports
52 -});
53 -module.exports = __toCommonJS(index_exports);
54 -
55 -// packages/playwright/src/transform/compilationCache.ts
56 -var compilationCache_exports = {};
57 -__export(compilationCache_exports, {
58 - addToCompilationCache: () => addToCompilationCache,
59 - affectedTestFiles: () => affectedTestFiles,
60 - belongsToNodeModules: () => belongsToNodeModules,
61 - cacheDir: () => cacheDir,
62 - collectAffectedTestFiles: () => collectAffectedTestFiles,
63 - currentFileDepsCollector: () => currentFileDepsCollector,
64 - dependenciesForTestFile: () => dependenciesForTestFile,
65 - fileDependenciesForTest: () => fileDependenciesForTest,
66 - getFromCompilationCache: () => getFromCompilationCache,
67 - getUserData: () => getUserData,
68 - installSourceMapSupport: () => installSourceMapSupport,
69 - internalDependenciesForTestFile: () => internalDependenciesForTestFile,
70 - serializeCompilationCache: () => serializeCompilationCache,
71 - setExternalDependencies: () => setExternalDependencies,
72 - startCollectingFileDeps: () => startCollectingFileDeps,
73 - stopCollectingFileDeps: () => stopCollectingFileDeps
74 -});
75 -var import_fs = __toESM(require("fs"));
76 -var import_os = __toESM(require("os"));
77 -var import_path = __toESM(require("path"));
78 -var import_globals = require("../globals");
79 -var import_package = require("../package");
80 -var sourceMapSupport = require("playwright-core/lib/utilsBundle").sourceMapSupport;
81 -var { calculateSha1 } = require("playwright-core/lib/coreBundle").utils;
82 -var { isUnderTest } = require("playwright-core/lib/coreBundle").utils;
83 -var cacheDir = process.env.PWTEST_CACHE_DIR || (() => {
84 - if (process.platform === "win32")
85 - return import_path.default.join(import_os.default.tmpdir(), `playwright-transform-cache`);
86 - return import_path.default.join(import_os.default.tmpdir(), `playwright-transform-cache-` + process.geteuid?.());
87 -})();
88 -var sourceMaps = /* @__PURE__ */ new Map();
89 -var memoryCache = /* @__PURE__ */ new Map();
90 -var fileDependencies = /* @__PURE__ */ new Map();
91 -var externalDependencies = /* @__PURE__ */ new Map();
92 -var devSourceInfix = import_path.default.sep + "playwright" + import_path.default.sep + "packages" + import_path.default.sep;
93 -function installSourceMapSupport() {
94 - Error.stackTraceLimit = 200;
95 - sourceMapSupport.install({
96 - environment: "node",
97 - handleUncaughtExceptions: false,
98 - retrieveSourceMap(source) {
99 - if (!process.env.PWDEBUGIMPL && isUnderTest() && source.includes(devSourceInfix))
100 - return { map: identitySourceMap(source), url: source };
101 - if (!sourceMaps.has(source))
102 - return null;
103 - const sourceMapPath = sourceMaps.get(source);
104 - try {
105 - return {
106 - map: JSON.parse(import_fs.default.readFileSync(sourceMapPath, "utf-8")),
107 - url: source
108 - };
109 - } catch {
110 - return null;
111 - }
112 - }
113 - });
114 -}
115 -function identitySourceMap(source) {
116 - const lineCount = import_fs.default.readFileSync(source, "utf8").split("\n").length;
117 - return {
118 - version: 3,
119 - sources: [source],
120 - mappings: lineCount ? "AAAA" + ";AACA".repeat(lineCount - 1) : ""
121 - };
122 -}
123 -function _innerAddToCompilationCacheAndSerialize(filename, entry) {
124 - sourceMaps.set(entry.moduleUrl || filename, entry.sourceMapPath);
125 - memoryCache.set(filename, entry);
126 - return {
127 - sourceMaps: [[entry.moduleUrl || filename, entry.sourceMapPath]],
128 - memoryCache: [[filename, entry]],
129 - fileDependencies: [],
130 - externalDependencies: []
131 - };
132 -}
133 -function getFromCompilationCache(filename, contentHash, moduleUrl) {
134 - const cache = memoryCache.get(filename);
135 - if (cache?.codePath) {
136 - try {
137 - return { cachedCode: import_fs.default.readFileSync(cache.codePath, "utf-8") };
138 - } catch {
139 - }
140 - }
141 - const filePathHash = calculateFilePathHash(filename);
142 - const hashPrefix = filePathHash + "_" + contentHash.substring(0, 7);
143 - const cacheFolderName = filePathHash.substring(0, 2);
144 - const cachePath = calculateCachePath(filename, cacheFolderName, hashPrefix);
145 - const codePath = cachePath + ".js";
146 - const sourceMapPath = cachePath + ".map";
147 - const dataPath = cachePath + ".data";
148 - try {
149 - const cachedCode = import_fs.default.readFileSync(codePath, "utf8");
150 - const serializedCache = _innerAddToCompilationCacheAndSerialize(filename, { codePath, sourceMapPath, dataPath, moduleUrl });
151 - return { cachedCode, serializedCache };
152 - } catch {
153 - }
154 - return {
155 - addToCache: (code, map, data) => {
156 - if ((0, import_globals.isWorkerProcess)())
157 - return {};
158 - clearOldCacheEntries(cacheFolderName, filePathHash);
159 - import_fs.default.mkdirSync(import_path.default.dirname(cachePath), { recursive: true });
160 - if (map)
161 - import_fs.default.writeFileSync(sourceMapPath, JSON.stringify(map), "utf8");
162 - if (data.size)
163 - import_fs.default.writeFileSync(dataPath, JSON.stringify(Object.fromEntries(data.entries()), void 0, 2), "utf8");
164 - import_fs.default.writeFileSync(codePath, code, "utf8");
165 - const serializedCache = _innerAddToCompilationCacheAndSerialize(filename, { codePath, sourceMapPath, dataPath, moduleUrl });
166 - return { serializedCache };
167 - }
168 - };
169 -}
170 -function serializeCompilationCache() {
171 - return {
172 - sourceMaps: [...sourceMaps.entries()],
173 - memoryCache: [...memoryCache.entries()],
174 - fileDependencies: [...fileDependencies.entries()].map(([filename, deps]) => [filename, [...deps]]),
175 - externalDependencies: [...externalDependencies.entries()].map(([filename, deps]) => [filename, [...deps]])
176 - };
177 -}
178 -function addToCompilationCache(payload) {
179 - for (const entry of payload.sourceMaps)
180 - sourceMaps.set(entry[0], entry[1]);
181 - for (const entry of payload.memoryCache)
182 - memoryCache.set(entry[0], entry[1]);
183 - for (const entry of payload.fileDependencies) {
184 - const existing = fileDependencies.get(entry[0]) || [];
185 - fileDependencies.set(entry[0], /* @__PURE__ */ new Set([...entry[1], ...existing]));
186 - }
187 - for (const entry of payload.externalDependencies) {
188 - const existing = externalDependencies.get(entry[0]) || [];
189 - externalDependencies.set(entry[0], /* @__PURE__ */ new Set([...entry[1], ...existing]));
190 - }
191 -}
192 -function calculateFilePathHash(filePath) {
193 - return calculateSha1(filePath).substring(0, 10);
194 -}
195 -function calculateCachePath(filePath, cacheFolderName, hashPrefix) {
196 - const fileName2 = hashPrefix + "_" + import_path.default.basename(filePath, import_path.default.extname(filePath)).replace(/\W/g, "");
197 - return import_path.default.join(cacheDir, cacheFolderName, fileName2);
198 -}
199 -function clearOldCacheEntries(cacheFolderName, filePathHash) {
200 - const cachePath = import_path.default.join(cacheDir, cacheFolderName);
201 - try {
202 - const cachedRelevantFiles = import_fs.default.readdirSync(cachePath).filter((file2) => file2.startsWith(filePathHash));
203 - for (const file2 of cachedRelevantFiles)
204 - import_fs.default.rmSync(import_path.default.join(cachePath, file2), { force: true });
205 - } catch {
206 - }
207 -}
208 -var depsCollector2;
209 -function startCollectingFileDeps() {
210 - depsCollector2 = /* @__PURE__ */ new Set();
211 -}
212 -function stopCollectingFileDeps(filename) {
213 - if (!depsCollector2)
214 - return;
215 - depsCollector2.delete(filename);
216 - for (const dep of depsCollector2) {
217 - if (belongsToNodeModules(dep))
218 - depsCollector2.delete(dep);
219 - }
220 - fileDependencies.set(filename, depsCollector2);
221 - depsCollector2 = void 0;
222 -}
223 -function currentFileDepsCollector() {
224 - return depsCollector2;
225 -}
226 -function setExternalDependencies(filename, deps) {
227 - const depsSet = new Set(deps.filter((dep) => !belongsToNodeModules(dep) && dep !== filename));
228 - externalDependencies.set(filename, depsSet);
229 -}
230 -function fileDependenciesForTest() {
231 - return Object.fromEntries([...fileDependencies.entries()].map((entry) => [import_path.default.basename(entry[0]), [...entry[1]].map((f) => import_path.default.basename(f)).sort()]));
232 -}
233 -function collectAffectedTestFiles(changedFile, testFileCollector) {
234 - const isTestFile = (file2) => fileDependencies.has(file2);
235 - if (isTestFile(changedFile))
236 - testFileCollector.add(changedFile);
237 - for (const [testFile, deps] of fileDependencies) {
238 - if (deps.has(changedFile))
239 - testFileCollector.add(testFile);
240 - }
241 - for (const [importingFile, depsOfImportingFile] of externalDependencies) {
242 - if (depsOfImportingFile.has(changedFile)) {
243 - if (isTestFile(importingFile))
244 - testFileCollector.add(importingFile);
245 - for (const [testFile, depsOfTestFile] of fileDependencies) {
246 - if (depsOfTestFile.has(importingFile))
247 - testFileCollector.add(testFile);
248 - }
249 - }
250 - }
251 -}
252 -function affectedTestFiles(changes) {
253 - const result2 = /* @__PURE__ */ new Set();
254 - for (const change of changes)
255 - collectAffectedTestFiles(change, result2);
256 - return [...result2];
257 -}
258 -function internalDependenciesForTestFile(filename) {
259 - return fileDependencies.get(filename);
260 -}
261 -function dependenciesForTestFile(filename) {
262 - const result2 = /* @__PURE__ */ new Set();
263 - for (const testDependency of fileDependencies.get(filename) || []) {
264 - result2.add(testDependency);
265 - for (const externalDependency of externalDependencies.get(testDependency) || [])
266 - result2.add(externalDependency);
267 - }
268 - for (const dep of externalDependencies.get(filename) || [])
269 - result2.add(dep);
270 - return result2;
271 -}
272 -var kPlaywrightInternalPrefix = import_package.packageRoot;
273 -function belongsToNodeModules(file2) {
274 - if (file2.includes(`${import_path.default.sep}node_modules${import_path.default.sep}`))
275 - return true;
276 - if (file2.startsWith(kPlaywrightInternalPrefix) && (file2.endsWith(".js") || file2.endsWith(".mjs")))
277 - return true;
278 - return false;
279 -}
280 -async function getUserData(pluginName) {
281 - const result2 = /* @__PURE__ */ new Map();
282 - for (const [fileName2, cache] of memoryCache) {
283 - if (!cache.dataPath)
284 - continue;
285 - if (!import_fs.default.existsSync(cache.dataPath))
286 - continue;
287 - const data = JSON.parse(await import_fs.default.promises.readFile(cache.dataPath, "utf8"));
288 - if (data[pluginName])
289 - result2.set(fileName2, data[pluginName]);
290 - }
291 - return result2;
292 -}
293 -
294 -// packages/playwright/src/common/config.ts
295 -var config_exports = {};
296 -__export(config_exports, {
297 - FullConfigInternal: () => FullConfigInternal,
298 - FullProjectInternal: () => FullProjectInternal,
299 - builtInReporters: () => builtInReporters,
300 - defaultGrep: () => defaultGrep,
301 - defaultReporter: () => defaultReporter,
302 - defaultTimeout: () => defaultTimeout,
303 - getProjectId: () => getProjectId,
304 - toReporters: () => toReporters
305 -});
306 -var import_fs3 = __toESM(require("fs"));
307 -var import_os2 = __toESM(require("os"));
308 -var import_path3 = __toESM(require("path"));
309 -var import_package2 = require("../package");
310 -
311 -// packages/playwright/src/util.ts
312 -var import_fs2 = __toESM(require("fs"));
313 -var import_path2 = __toESM(require("path"));
314 -var import_url = __toESM(require("url"));
315 -var import_util = __toESM(require("util"));
316 -var debug = require("playwright-core/lib/utilsBundle").debug;
317 -var mime = require("playwright-core/lib/utilsBundle").mime;
318 -var minimatch = require("playwright-core/lib/utilsBundle").minimatch;
319 -var { calculateSha1: calculateSha12 } = require("playwright-core/lib/coreBundle").utils;
320 -var { sanitizeForFilePath } = require("playwright-core/lib/coreBundle").utils;
321 -var { isRegExp } = require("playwright-core/lib/coreBundle").iso;
322 -var { parseStackFrame, stringifyStackFrames } = require("playwright-core/lib/coreBundle").iso;
323 -var { ansiRegex, isString, stripAnsiEscapes } = require("playwright-core/lib/coreBundle").iso;
324 -var PLAYWRIGHT_TEST_PATH = import_path2.default.join(__dirname, "..");
325 -var PLAYWRIGHT_CORE_PATH = import_path2.default.dirname(require.resolve("playwright-core/package.json"));
326 -function filterStackTrace(e) {
327 - const name = e.name ? e.name + ": " : "";
328 - const cause = e.cause instanceof Error ? filterStackTrace(e.cause) : void 0;
329 - if (process.env.PWDEBUGIMPL)
330 - return { message: name + e.message, stack: e.stack || "", cause };
331 - const stackLines = stringifyStackFrames(filteredStackTrace(e.stack?.split("\n") || []));
332 - return {
333 - message: name + e.message,
334 - stack: `${name}${e.message}${stackLines.map((line) => "\n" + line).join("")}`,
335 - cause
336 - };
337 -}
338 -function filterStackFile(file2) {
339 - if (process.env.PWDEBUGIMPL)
340 - return true;
341 - if (file2.startsWith(PLAYWRIGHT_TEST_PATH))
342 - return false;
343 - if (file2.startsWith(PLAYWRIGHT_CORE_PATH))
344 - return false;
345 - return true;
346 -}
347 -function filteredStackTrace(rawStack) {
348 - const frames = [];
349 - for (const line of rawStack) {
350 - const frame = parseStackFrame(line, import_path2.default.sep, !!process.env.PWDEBUGIMPL);
351 - if (!frame || !frame.file)
352 - continue;
353 - if (!filterStackFile(frame.file))
354 - continue;
355 - frames.push(frame);
356 - }
357 - return frames;
358 -}
359 -function serializeError(error) {
360 - if (error instanceof Error)
361 - return filterStackTrace(error);
362 - return {
363 - value: import_util.default.inspect(error)
364 - };
365 -}
366 -function parseLocationArg(arg) {
367 - const match = /^(.*?):(\d+):?(\d+)?$/.exec(arg);
368 - return {
369 - file: match ? match[1] : arg,
370 - line: match ? parseInt(match[2], 10) : null,
371 - column: match?.[3] ? parseInt(match[3], 10) : null
372 - };
373 -}
374 -function createFileMatcher(patterns) {
375 - const reList = [];
376 - const filePatterns = [];
377 - for (const pattern of Array.isArray(patterns) ? patterns : [patterns]) {
378 - if (isRegExp(pattern)) {
379 - reList.push(pattern);
380 - } else {
381 - if (!pattern.startsWith("**/"))
382 - filePatterns.push("**/" + pattern);
383 - else
384 - filePatterns.push(pattern);
385 - }
386 - }
387 - return (filePath) => {
388 - for (const re of reList) {
389 - re.lastIndex = 0;
390 - if (re.test(filePath))
391 - return true;
392 - }
393 - if (import_path2.default.sep === "\\") {
394 - const fileURL = import_url.default.pathToFileURL(filePath).href;
395 - for (const re of reList) {
396 - re.lastIndex = 0;
397 - if (re.test(fileURL))
398 - return true;
399 - }
400 - }
401 - for (const pattern of filePatterns) {
402 - if (minimatch(filePath, pattern, { nocase: true, dot: true }))
403 - return true;
404 - }
405 - return false;
406 - };
407 -}
408 -function mergeObjects(a, b, c) {
409 - const result2 = { ...a };
410 - for (const x of [b, c].filter(Boolean)) {
411 - for (const [name, value] of Object.entries(x)) {
412 - if (!Object.is(value, void 0))
413 - result2[name] = value;
414 - }
415 - }
416 - return result2;
417 -}
418 -function forceRegExp(pattern) {
419 - const match = pattern.match(/^\/(.*)\/([gi]*)$/);
420 - if (match)
421 - return new RegExp(match[1], match[2]);
422 - return new RegExp(pattern, "gi");
423 -}
424 -function relativeFilePath(file2) {
425 - if (!import_path2.default.isAbsolute(file2))
426 - return file2;
427 - return import_path2.default.relative(process.cwd(), file2);
428 -}
429 -function formatLocation(location) {
430 - return relativeFilePath(location.file) + ":" + location.line + ":" + location.column;
431 -}
432 -function errorWithFile(file2, message) {
433 - return new Error(`${relativeFilePath(file2)}: ${message}`);
434 -}
435 -var debugTest = debug("pw:test");
436 -var folderToPackageJsonPath = /* @__PURE__ */ new Map();
437 -function getPackageJsonPath(folderPath) {
438 - const cached = folderToPackageJsonPath.get(folderPath);
439 - if (cached !== void 0)
440 - return cached;
441 - const packageJsonPath = import_path2.default.join(folderPath, "package.json");
442 - if (import_fs2.default.existsSync(packageJsonPath)) {
443 - folderToPackageJsonPath.set(folderPath, packageJsonPath);
444 - return packageJsonPath;
445 - }
446 - const parentFolder = import_path2.default.dirname(folderPath);
447 - if (folderPath === parentFolder) {
448 - folderToPackageJsonPath.set(folderPath, "");
449 - return "";
450 - }
451 - const result2 = getPackageJsonPath(parentFolder);
452 - folderToPackageJsonPath.set(folderPath, result2);
453 - return result2;
454 -}
455 -function fileIsModule(file2) {
456 - if (file2.endsWith(".mjs") || file2.endsWith(".mts"))
457 - return true;
458 - if (file2.endsWith(".cjs") || file2.endsWith(".cts"))
459 - return false;
460 - const folder = import_path2.default.dirname(file2);
461 - return folderIsModule(folder);
462 -}
463 -function folderIsModule(folder) {
464 - const packageJsonPath = getPackageJsonPath(folder);
465 - if (!packageJsonPath)
466 - return false;
467 - return require(packageJsonPath).type === "module";
468 -}
469 -var packageJsonMainFieldCache = /* @__PURE__ */ new Map();
470 -function getMainFieldFromPackageJson(packageJsonPath) {
471 - if (!packageJsonMainFieldCache.has(packageJsonPath)) {
472 - let mainField;
473 - try {
474 - mainField = JSON.parse(import_fs2.default.readFileSync(packageJsonPath, "utf8")).main;
475 - } catch {
476 - }
477 - packageJsonMainFieldCache.set(packageJsonPath, mainField);
478 - }
479 - return packageJsonMainFieldCache.get(packageJsonPath);
480 -}
481 -var kExtLookups = /* @__PURE__ */ new Map([
482 - [".js", [".jsx", ".ts", ".tsx"]],
483 - [".jsx", [".tsx"]],
484 - [".cjs", [".cts"]],
485 - [".mjs", [".mts"]],
486 - ["", [".js", ".ts", ".jsx", ".tsx", ".cjs", ".mjs", ".cts", ".mts"]]
487 -]);
488 -function resolveImportSpecifierExtension(resolved) {
489 - if (fileExists(resolved))
490 - return resolved;
491 - for (const [ext, others] of kExtLookups) {
492 - if (!resolved.endsWith(ext))
493 - continue;
494 - for (const other of others) {
495 - const modified = resolved.substring(0, resolved.length - ext.length) + other;
496 - if (fileExists(modified))
497 - return modified;
498 - }
499 - break;
500 - }
501 -}
502 -function resolveImportSpecifierAfterMapping(resolved, afterPathMapping) {
503 - const resolvedFile = resolveImportSpecifierExtension(resolved);
504 - if (resolvedFile)
505 - return resolvedFile;
506 - if (dirExists(resolved)) {
507 - const packageJsonPath = import_path2.default.join(resolved, "package.json");
508 - if (afterPathMapping) {
509 - const mainField = getMainFieldFromPackageJson(packageJsonPath);
510 - const mainFieldResolved = mainField ? resolveImportSpecifierExtension(import_path2.default.resolve(resolved, mainField)) : void 0;
511 - return mainFieldResolved || resolveImportSpecifierExtension(import_path2.default.join(resolved, "index"));
512 - }
513 - if (fileExists(packageJsonPath))
514 - return resolved;
515 - const dirImport = import_path2.default.join(resolved, "index");
516 - return resolveImportSpecifierExtension(dirImport);
517 - }
518 -}
519 -function fileExists(resolved) {
520 - return import_fs2.default.statSync(resolved, { throwIfNoEntry: false })?.isFile();
521 -}
522 -function dirExists(resolved) {
523 - return import_fs2.default.statSync(resolved, { throwIfNoEntry: false })?.isDirectory();
524 -}
525 -function takeFirst(...args) {
526 - for (const arg of args) {
527 - if (arg !== void 0)
528 - return arg;
529 - }
530 - return void 0;
531 -}
532 -
533 -// packages/playwright/src/common/config.ts
534 -var defaultTimeout = 3e4;
535 -var FullConfigInternal = class {
536 - constructor(location, userConfig, configCLIOverrides, metadata) {
537 - this.projects = [];
538 - this.defineConfigWasUsed = false;
539 - this.globalSetups = [];
540 - this.globalTeardowns = [];
541 - if (configCLIOverrides.projects && userConfig.projects)
542 - throw new Error(`Cannot use --browser option when configuration file defines projects. Specify browserName in the projects instead.`);
543 - const { resolvedConfigFile, configDir } = location;
544 - const packageJsonPath = getPackageJsonPath(configDir);
545 - const packageJsonDir = packageJsonPath ? import_path3.default.dirname(packageJsonPath) : process.cwd();
546 - this.configDir = configDir;
547 - this.configCLIOverrides = configCLIOverrides;
548 - const privateConfiguration = userConfig["@playwright/test"];
549 - this.plugins = (privateConfiguration?.plugins || []).map((p) => ({ factory: p }));
550 - this.singleTSConfigPath = pathResolve(configDir, userConfig.tsconfig);
551 - this.captureGitInfo = userConfig.captureGitInfo;
552 - this.failOnFlakyTests = takeFirst(configCLIOverrides.failOnFlakyTests, userConfig.failOnFlakyTests, false);
553 - this.globalSetups = (Array.isArray(userConfig.globalSetup) ? userConfig.globalSetup : [userConfig.globalSetup]).map((s) => resolveScript(s, configDir)).filter((script) => script !== void 0);
554 - this.globalTeardowns = (Array.isArray(userConfig.globalTeardown) ? userConfig.globalTeardown : [userConfig.globalTeardown]).map((s) => resolveScript(s, configDir)).filter((script) => script !== void 0);
555 - userConfig.metadata = userConfig.metadata || {};
556 - const globalTags = Array.isArray(userConfig.tag) ? userConfig.tag : userConfig.tag ? [userConfig.tag] : [];
557 - for (const tag of globalTags) {
558 - if (tag[0] !== "@")
559 - throw new Error(`Tag must start with "@" symbol, got "${tag}" instead.`);
560 - }
561 - this.config = {
562 - configFile: resolvedConfigFile,
563 - rootDir: pathResolve(configDir, userConfig.testDir) || configDir,
564 - forbidOnly: takeFirst(configCLIOverrides.forbidOnly, userConfig.forbidOnly, false),
565 - fullyParallel: takeFirst(configCLIOverrides.fullyParallel, userConfig.fullyParallel, false),
566 - globalSetup: this.globalSetups[0] ?? null,
567 - globalTeardown: this.globalTeardowns[0] ?? null,
568 - globalTimeout: takeFirst(configCLIOverrides.debug ? 0 : void 0, configCLIOverrides.globalTimeout, userConfig.globalTimeout, 0),
569 - grep: takeFirst(userConfig.grep, defaultGrep),
570 - grepInvert: takeFirst(userConfig.grepInvert, null),
571 - maxFailures: takeFirst(configCLIOverrides.debug ? 1 : void 0, configCLIOverrides.maxFailures, userConfig.maxFailures, 0),
572 - metadata: metadata ?? userConfig.metadata,
573 - preserveOutput: takeFirst(userConfig.preserveOutput, "always"),
574 - projects: [],
575 - quiet: takeFirst(configCLIOverrides.quiet, userConfig.quiet, false),
576 - reporter: takeFirst(configCLIOverrides.reporter, resolveReporters(userConfig.reporter, configDir), [[defaultReporter]]),
577 - reportSlowTests: takeFirst(userConfig.reportSlowTests, {
578 - max: 5,
579 - threshold: 3e5
580 - /* 5 minutes */
581 - }),
582 - shard: takeFirst(configCLIOverrides.shard, userConfig.shard, null),
583 - tags: globalTags,
584 - updateSnapshots: takeFirst(configCLIOverrides.updateSnapshots, userConfig.updateSnapshots, "missing"),
585 - updateSourceMethod: takeFirst(configCLIOverrides.updateSourceMethod, userConfig.updateSourceMethod, "patch"),
586 - version: import_package2.packageJSON.version,
587 - workers: resolveWorkers(takeFirst(configCLIOverrides.debug || configCLIOverrides.pause ? 1 : void 0, configCLIOverrides.workers, userConfig.workers, "50%")),
588 - webServer: null
589 - };
590 - for (const key in userConfig) {
591 - if (key.startsWith("@"))
592 - this.config[key] = userConfig[key];
593 - }
594 - this.config[configInternalSymbol] = this;
595 - const webServers = takeFirst(userConfig.webServer, null);
596 - if (Array.isArray(webServers)) {
597 - this.config.webServer = null;
598 - this.webServers = webServers;
599 - } else if (webServers) {
600 - this.config.webServer = webServers;
601 - this.webServers = [webServers];
602 - } else {
603 - this.webServers = [];
604 - }
605 - const projectConfigs = configCLIOverrides.projects || userConfig.projects || [{ ...userConfig, workers: void 0 }];
606 - this.projects = projectConfigs.map((p) => new FullProjectInternal(configDir, userConfig, this, p, this.configCLIOverrides, packageJsonDir));
607 - resolveProjectDependencies(this.projects);
608 - this._assignUniqueProjectIds(this.projects);
609 - this.config.projects = this.projects.map((p) => p.project);
610 - }
611 - _assignUniqueProjectIds(projects) {
612 - const usedNames = /* @__PURE__ */ new Set();
613 - for (const p of projects) {
614 - const name = p.project.name || "";
615 - for (let i = 0; i < projects.length; ++i) {
616 - const candidate = name + (i ? i : "");
617 - if (usedNames.has(candidate))
618 - continue;
619 - p.id = candidate;
620 - p.project.__projectId = p.id;
621 - usedNames.add(candidate);
622 - break;
623 - }
624 - }
625 - }
626 -};
627 -var FullProjectInternal = class {
628 - constructor(configDir, config, fullConfig, projectConfig, configCLIOverrides, packageJsonDir) {
629 - this.id = "";
630 - this.deps = [];
631 - this.fullConfig = fullConfig;
632 - const testDir = takeFirst(pathResolve(configDir, projectConfig.testDir), pathResolve(configDir, config.testDir), fullConfig.configDir);
633 - this.snapshotPathTemplate = takeFirst(projectConfig.snapshotPathTemplate, config.snapshotPathTemplate);
634 - this.project = {
635 - grep: takeFirst(projectConfig.grep, config.grep, defaultGrep),
636 - grepInvert: takeFirst(projectConfig.grepInvert, config.grepInvert, null),
637 - outputDir: takeFirst(configCLIOverrides.outputDir, pathResolve(configDir, projectConfig.outputDir), pathResolve(configDir, config.outputDir), import_path3.default.join(packageJsonDir, "test-results")),
638 - // Note: we either apply the cli override for repeatEach or not, depending on whether the
639 - // project is top-level vs dependency. See collectProjectsAndTestFiles in loadUtils.
640 - repeatEach: takeFirst(projectConfig.repeatEach, config.repeatEach, 1),
641 - retries: takeFirst(configCLIOverrides.retries, projectConfig.retries, config.retries, 0),
642 - metadata: takeFirst(projectConfig.metadata, config.metadata, {}),
643 - name: takeFirst(projectConfig.name, config.name, ""),
644 - testDir,
645 - snapshotDir: takeFirst(pathResolve(configDir, projectConfig.snapshotDir), pathResolve(configDir, config.snapshotDir), testDir),
646 - testIgnore: takeFirst(projectConfig.testIgnore, config.testIgnore, []),
647 - testMatch: takeFirst(projectConfig.testMatch, config.testMatch, "**/*.@(spec|test).?(c|m)[jt]s?(x)"),
648 - timeout: takeFirst(configCLIOverrides.debug === "inspector" ? 0 : void 0, configCLIOverrides.timeout, projectConfig.timeout, config.timeout, defaultTimeout),
649 - use: mergeObjects(config.use, projectConfig.use, configCLIOverrides.use),
650 - dependencies: projectConfig.dependencies || [],
651 - teardown: projectConfig.teardown,
652 - ignoreSnapshots: takeFirst(configCLIOverrides.ignoreSnapshots, projectConfig.ignoreSnapshots, config.ignoreSnapshots, false)
653 - };
654 - this.fullyParallel = takeFirst(configCLIOverrides.fullyParallel, projectConfig.fullyParallel, config.fullyParallel, void 0);
655 - this.expect = takeFirst(projectConfig.expect, config.expect, {});
656 - if (this.expect.toHaveScreenshot?.stylePath) {
657 - const stylePaths = Array.isArray(this.expect.toHaveScreenshot.stylePath) ? this.expect.toHaveScreenshot.stylePath : [this.expect.toHaveScreenshot.stylePath];
658 - this.expect.toHaveScreenshot.stylePath = stylePaths.map((stylePath) => import_path3.default.resolve(configDir, stylePath));
659 - }
660 - this.respectGitIgnore = takeFirst(projectConfig.respectGitIgnore, config.respectGitIgnore, !projectConfig.testDir && !config.testDir);
661 - this.workers = projectConfig.workers ? resolveWorkers(projectConfig.workers) : void 0;
662 - if (configCLIOverrides.debug && this.workers)
663 - this.workers = 1;
664 - }
665 -};
666 -function pathResolve(baseDir, relative) {
667 - if (!relative)
668 - return void 0;
669 - return import_path3.default.resolve(baseDir, relative);
670 -}
671 -function resolveReporters(reporters, rootDir) {
672 - return toReporters(reporters)?.map(([id, arg]) => {
673 - if (builtInReporters.includes(id))
674 - return [id, arg];
675 - return [require.resolve(id, { paths: [rootDir] }), arg];
676 - });
677 -}
678 -function resolveWorkers(workers) {
679 - if (typeof workers === "string") {
680 - if (workers.endsWith("%")) {
681 - const cpus = import_os2.default.cpus().length;
682 - return Math.max(1, Math.floor(cpus * (parseInt(workers, 10) / 100)));
683 - }
684 - const parsedWorkers = parseInt(workers, 10);
685 - if (isNaN(parsedWorkers))
686 - throw new Error(`Workers ${workers} must be a number or percentage.`);
687 - if (parsedWorkers < 1)
688 - throw new Error(`Workers must be a positive number, received ${parsedWorkers}.`);
689 - return parsedWorkers;
690 - }
691 - if (workers < 1)
692 - throw new Error(`Workers must be a positive number, received ${workers}.`);
693 - return workers;
694 -}
695 -function resolveProjectDependencies(projects) {
696 - const teardownSet = /* @__PURE__ */ new Set();
697 - for (const project of projects) {
698 - for (const dependencyName of project.project.dependencies) {
699 - const dependencies = projects.filter((p) => p.project.name === dependencyName);
700 - if (!dependencies.length)
701 - throw new Error(`Project '${project.project.name}' depends on unknown project '${dependencyName}'`);
702 - if (dependencies.length > 1)
703 - throw new Error(`Project dependencies should have unique names, reading ${dependencyName}`);
704 - project.deps.push(...dependencies);
705 - }
706 - if (project.project.teardown) {
707 - const teardowns = projects.filter((p) => p.project.name === project.project.teardown);
708 - if (!teardowns.length)
709 - throw new Error(`Project '${project.project.name}' has unknown teardown project '${project.project.teardown}'`);
710 - if (teardowns.length > 1)
711 - throw new Error(`Project teardowns should have unique names, reading ${project.project.teardown}`);
712 - const teardown = teardowns[0];
713 - project.teardown = teardown;
714 - teardownSet.add(teardown);
715 - }
716 - }
717 - for (const teardown of teardownSet) {
718 - if (teardown.deps.length)
719 - throw new Error(`Teardown project ${teardown.project.name} must not have dependencies`);
720 - }
721 - for (const project of projects) {
722 - for (const dep of project.deps) {
723 - if (teardownSet.has(dep))
724 - throw new Error(`Project ${project.project.name} must not depend on a teardown project ${dep.project.name}`);
725 - }
726 - }
727 -}
728 -function toReporters(reporters) {
729 - if (!reporters)
730 - return;
731 - if (typeof reporters === "string")
732 - return [[reporters]];
733 - return reporters;
734 -}
735 -var builtInReporters = ["list", "line", "dot", "json", "junit", "null", "github", "html", "blob"];
736 -function resolveScript(id, rootDir) {
737 - if (!id)
738 - return void 0;
739 - const localPath = import_path3.default.resolve(rootDir, id);
740 - if (import_fs3.default.existsSync(localPath))
741 - return localPath;
742 - return require.resolve(id, { paths: [rootDir] });
743 -}
744 -var defaultGrep = /.*/;
745 -var defaultReporter = process.env.CI ? "dot" : "list";
746 -var configInternalSymbol = Symbol("configInternalSymbol");
747 -function getProjectId(project) {
748 - return project.__projectId;
749 -}
750 -
751 -// packages/playwright/src/common/configLoader.ts
752 -var configLoader_exports = {};
753 -__export(configLoader_exports, {
754 - defineConfig: () => defineConfig,
755 - deserializeConfig: () => deserializeConfig,
756 - loadConfig: () => loadConfig,
757 - loadConfigFromFile: () => loadConfigFromFile,
758 - loadEmptyConfigForMergeReports: () => loadEmptyConfigForMergeReports,
759 - resolveConfigLocation: () => resolveConfigLocation
760 -});
761 -var import_fs6 = __toESM(require("fs"));
762 -var import_path7 = __toESM(require("path"));
763 -
764 -// packages/playwright/src/transform/transform.ts
765 -var transform_exports = {};
766 -__export(transform_exports, {
767 - requireOrImport: () => requireOrImport,
768 - resolveHook: () => resolveHook,
769 - setSingleTSConfig: () => setSingleTSConfig,
770 - setTransformConfig: () => setTransformConfig,
771 - setTransformData: () => setTransformData,
772 - shouldTransform: () => shouldTransform,
773 - singleTSConfig: () => singleTSConfig,
774 - transformConfig: () => transformConfig,
775 - transformHook: () => transformHook,
776 - wrapFunctionWithLocation: () => wrapFunctionWithLocation
777 -});
778 -var import_fs5 = __toESM(require("fs"));
779 -var import_module2 = __toESM(require("module"));
780 -var import_path6 = __toESM(require("path"));
781 -var import_url2 = __toESM(require("url"));
782 -var import_crypto = __toESM(require("crypto"));
783 -
784 -// packages/playwright/src/transform/tsconfig-loader.ts
785 -var import_path4 = __toESM(require("path"));
786 -var import_fs4 = __toESM(require("fs"));
787 -var json5 = require("playwright-core/lib/utilsBundle").json5;
788 -function loadTsConfig(configPath) {
789 - try {
790 - const references = [];
791 - const config = innerLoadTsConfig(configPath, references);
792 - return [config, ...references];
793 - } catch (e) {
794 - throw new Error(`Failed to load tsconfig file at ${configPath}:
795 -${e.message}`);
796 - }
797 -}
798 -function resolveConfigFile(baseConfigFile, referencedConfigFile) {
799 - if (!referencedConfigFile.endsWith(".json"))
800 - referencedConfigFile += ".json";
801 - const currentDir = import_path4.default.dirname(baseConfigFile);
802 - let resolvedConfigFile = import_path4.default.resolve(currentDir, referencedConfigFile);
803 - if (referencedConfigFile.includes("/") && referencedConfigFile.includes(".") && !import_fs4.default.existsSync(resolvedConfigFile))
804 - resolvedConfigFile = import_path4.default.join(currentDir, "node_modules", referencedConfigFile);
805 - return resolvedConfigFile;
806 -}
807 -function innerLoadTsConfig(configFilePath, references, visited = /* @__PURE__ */ new Map()) {
808 - if (visited.has(configFilePath))
809 - return visited.get(configFilePath);
810 - let result2 = {
811 - tsConfigPath: configFilePath
812 - };
813 - visited.set(configFilePath, result2);
814 - if (!import_fs4.default.existsSync(configFilePath))
815 - return result2;
816 - const configString = import_fs4.default.readFileSync(configFilePath, "utf-8");
817 - const cleanedJson = StripBom(configString);
818 - const parsedConfig = json5.parse(cleanedJson);
819 - const extendsArray = Array.isArray(parsedConfig.extends) ? parsedConfig.extends : parsedConfig.extends ? [parsedConfig.extends] : [];
820 - for (const extendedConfig of extendsArray) {
821 - const extendedConfigPath = resolveConfigFile(configFilePath, extendedConfig);
822 - const base = innerLoadTsConfig(extendedConfigPath, references, visited);
823 - Object.assign(result2, base, { tsConfigPath: configFilePath });
824 - }
825 - if (parsedConfig.compilerOptions?.allowJs !== void 0)
826 - result2.allowJs = parsedConfig.compilerOptions.allowJs;
827 - if (parsedConfig.compilerOptions?.paths !== void 0) {
828 - result2.paths = {
829 - mapping: parsedConfig.compilerOptions.paths,
830 - pathsBasePath: import_path4.default.dirname(configFilePath)
831 - };
832 - }
833 - if (parsedConfig.compilerOptions?.baseUrl !== void 0) {
834 - result2.absoluteBaseUrl = import_path4.default.resolve(import_path4.default.dirname(configFilePath), parsedConfig.compilerOptions.baseUrl);
835 - }
836 - for (const ref of parsedConfig.references || [])
837 - references.push(innerLoadTsConfig(resolveConfigFile(configFilePath, ref.path), references, visited));
838 - if (import_path4.default.basename(configFilePath) === "jsconfig.json" && result2.allowJs === void 0)
839 - result2.allowJs = true;
840 - return result2;
841 -}
842 -function StripBom(string) {
843 - if (typeof string !== "string") {
844 - throw new TypeError(`Expected a string, got ${typeof string}`);
845 - }
846 - if (string.charCodeAt(0) === 65279) {
847 - return string.slice(1);
848 - }
849 - return string;
850 -}
851 -
852 -// packages/playwright/src/transform/transform.ts
853 -var import_package3 = require("../package");
854 -
855 -// packages/playwright/src/transform/pirates.ts
856 -var import_module = __toESM(require("module"));
857 -var import_path5 = __toESM(require("path"));
858 -function addHook(transformHook2, shouldTransform2, extensions) {
859 - const extensionsToOverwrite = extensions.filter((e) => e !== ".cjs");
860 - const allSupportedExtensions = new Set(extensions);
861 - const loaders = import_module.default._extensions;
862 - const jsLoader = loaders[".js"];
863 - for (const extension of extensionsToOverwrite) {
864 - let newLoader2 = function(mod, filename, ...loaderArgs) {
865 - if (allSupportedExtensions.has(import_path5.default.extname(filename)) && shouldTransform2(filename)) {
866 - let newCompile2 = function(code, file2, ...ignoredArgs) {
867 - mod._compile = oldCompile;
868 - return oldCompile.call(this, transformHook2(code, filename), file2);
869 - };
870 - var newCompile = newCompile2;
871 - const oldCompile = mod._compile;
872 - mod._compile = newCompile2;
873 - }
874 - originalLoader.call(this, mod, filename, ...loaderArgs);
875 - };
876 - var newLoader = newLoader2;
877 - const originalLoader = loaders[extension] || jsLoader;
878 - loaders[extension] = newLoader2;
879 - }
880 -}
881 -
882 -// packages/playwright/src/transform/transform.ts
883 -var sourceMapSupport2 = require("playwright-core/lib/utilsBundle").sourceMapSupport;
884 -var version = import_package3.packageJSON.version;
885 -var cachedTSConfigs = /* @__PURE__ */ new Map();
886 -var _transformConfig = {
887 - babelPlugins: [],
888 - external: []
889 -};
890 -var _externalMatcher = () => false;
891 -function setTransformConfig(config) {
892 - _transformConfig = config;
893 - _externalMatcher = createFileMatcher(_transformConfig.external);
894 -}
895 -function transformConfig() {
896 - return _transformConfig;
897 -}
898 -var _singleTSConfigPath;
899 -var _singleTSConfig;
900 -function setSingleTSConfig(value) {
901 - _singleTSConfigPath = value;
902 -}
903 -function singleTSConfig() {
904 - return _singleTSConfigPath;
905 -}
906 -function validateTsConfig(tsconfig) {
907 - const pathsBase = tsconfig.absoluteBaseUrl ?? tsconfig.paths?.pathsBasePath;
908 - const pathsFallback = tsconfig.absoluteBaseUrl ? [{ key: "*", values: ["*"] }] : [];
909 - return {
910 - allowJs: !!tsconfig.allowJs,
911 - pathsBase,
912 - paths: Object.entries(tsconfig.paths?.mapping || {}).map(([key, values]) => ({ key, values })).concat(pathsFallback)
913 - };
914 -}
915 -function loadAndValidateTsconfigsForFile(file2) {
916 - if (_singleTSConfigPath && !_singleTSConfig)
917 - _singleTSConfig = loadTsConfig(_singleTSConfigPath).map(validateTsConfig);
918 - if (_singleTSConfig)
919 - return _singleTSConfig;
920 - return loadAndValidateTsconfigsForFolder(import_path6.default.dirname(file2));
921 -}
922 -function loadAndValidateTsconfigsForFolder(folder) {
923 - const foldersWithConfig = [];
924 - let currentFolder = import_path6.default.resolve(folder);
925 - let result2;
926 - while (true) {
927 - const cached = cachedTSConfigs.get(currentFolder);
928 - if (cached) {
929 - result2 = cached;
930 - break;
931 - }
932 - foldersWithConfig.push(currentFolder);
933 - for (const name of ["tsconfig.json", "jsconfig.json"]) {
934 - const configPath = import_path6.default.join(currentFolder, name);
935 - if (import_fs5.default.existsSync(configPath)) {
936 - const loaded = loadTsConfig(configPath);
937 - result2 = loaded.map(validateTsConfig);
938 - break;
939 - }
940 - }
941 - if (result2)
942 - break;
943 - const parentFolder = import_path6.default.resolve(currentFolder, "../");
944 - if (currentFolder === parentFolder)
945 - break;
946 - currentFolder = parentFolder;
947 - }
948 - result2 = result2 || [];
949 - for (const folder2 of foldersWithConfig)
950 - cachedTSConfigs.set(folder2, result2);
951 - return result2;
952 -}
953 -var pathSeparator = process.platform === "win32" ? ";" : ":";
954 -var builtins = new Set(import_module2.default.builtinModules);
955 -function resolveHook(filename, specifier) {
956 - if (specifier.startsWith("node:") || builtins.has(specifier))
957 - return;
958 - if (!shouldTransform(filename))
959 - return;
960 - if (isRelativeSpecifier(specifier))
961 - return resolveImportSpecifierAfterMapping(import_path6.default.resolve(import_path6.default.dirname(filename), specifier), false);
962 - const isTypeScript = filename.endsWith(".ts") || filename.endsWith(".tsx");
963 - const tsconfigs = loadAndValidateTsconfigsForFile(filename);
964 - for (const tsconfig of tsconfigs) {
965 - if (!isTypeScript && !tsconfig.allowJs)
966 - continue;
967 - let longestPrefixLength = -1;
968 - let pathMatchedByLongestPrefix;
969 - for (const { key, values } of tsconfig.paths) {
970 - let matchedPartOfSpecifier = specifier;
971 - const [keyPrefix, keySuffix] = key.split("*");
972 - if (key.includes("*")) {
973 - if (keyPrefix) {
974 - if (!specifier.startsWith(keyPrefix))
975 - continue;
976 - matchedPartOfSpecifier = matchedPartOfSpecifier.substring(keyPrefix.length, matchedPartOfSpecifier.length);
977 - }
978 - if (keySuffix) {
979 - if (!specifier.endsWith(keySuffix))
980 - continue;
981 - matchedPartOfSpecifier = matchedPartOfSpecifier.substring(0, matchedPartOfSpecifier.length - keySuffix.length);
982 - }
983 - } else {
984 - if (specifier !== key)
985 - continue;
986 - matchedPartOfSpecifier = specifier;
987 - }
988 - if (keyPrefix.length <= longestPrefixLength)
989 - continue;
990 - for (const value of values) {
991 - let candidate = value;
992 - if (value.includes("*"))
993 - candidate = candidate.replace("*", matchedPartOfSpecifier);
994 - candidate = import_path6.default.resolve(tsconfig.pathsBase, candidate);
995 - const existing = resolveImportSpecifierAfterMapping(candidate, true);
996 - if (existing) {
997 - longestPrefixLength = keyPrefix.length;
998 - pathMatchedByLongestPrefix = existing;
999 - }
1000 - }
1001 - }
1002 - if (pathMatchedByLongestPrefix)
1003 - return pathMatchedByLongestPrefix;
1004 - }
1005 - if (import_path6.default.isAbsolute(specifier)) {
1006 - return resolveImportSpecifierAfterMapping(specifier, false);
1007 - }
1008 -}
1009 -function shouldTransform(filename) {
1010 - if (_externalMatcher(filename))
1011 - return false;
1012 - return !belongsToNodeModules(filename);
1013 -}
1014 -var transformData;
1015 -function setTransformData(pluginName, value) {
1016 - transformData.set(pluginName, value);
1017 -}
1018 -function transformHook(originalCode, filename, moduleUrl) {
1019 - const hasPreprocessor = process.env.PW_TEST_SOURCE_TRANSFORM && process.env.PW_TEST_SOURCE_TRANSFORM_SCOPE && process.env.PW_TEST_SOURCE_TRANSFORM_SCOPE.split(pathSeparator).some((f) => filename.startsWith(f));
1020 - const pluginsPrologue = _transformConfig.babelPlugins;
1021 - const pluginsEpilogue = hasPreprocessor ? [[process.env.PW_TEST_SOURCE_TRANSFORM]] : [];
1022 - const hash = calculateHash(originalCode, filename, !!moduleUrl, pluginsPrologue, pluginsEpilogue);
1023 - const { cachedCode, addToCache, serializedCache } = getFromCompilationCache(filename, hash, moduleUrl);
1024 - if (cachedCode !== void 0)
1025 - return { code: cachedCode, serializedCache };
1026 - process.env.BROWSERSLIST_IGNORE_OLD_DATA = "true";
1027 - const { babelTransform } = require((0, import_package3.libPath)("transform", "babelBundle"));
1028 - transformData = /* @__PURE__ */ new Map();
1029 - const setTransformDataForPlugin = (key, value) => transformData.set(key, value);
1030 - const wrappedPrologue = pluginsPrologue.map(([name, opts]) => [
1031 - name,
1032 - { ...opts || {}, setTransformData: setTransformDataForPlugin }
1033 - ]);
1034 - const babelResult = babelTransform(originalCode, filename, !!moduleUrl, wrappedPrologue, pluginsEpilogue, _transformConfig.jsxImportSource);
1035 - if (!babelResult?.code)
1036 - return { code: originalCode, serializedCache };
1037 - const { code, map } = babelResult;
1038 - const added = addToCache(code, map, transformData);
1039 - return { code, serializedCache: added.serializedCache };
1040 -}
1041 -function calculateHash(content, filePath, isModule2, pluginsPrologue, pluginsEpilogue) {
1042 - const hash = import_crypto.default.createHash("sha1").update(isModule2 ? "esm" : "no_esm").update(content).update(filePath).update(version).update(pluginsPrologue.map((p) => p[0]).join(",")).update(pluginsEpilogue.map((p) => p[0]).join(",")).digest("hex");
1043 - return hash;
1044 -}
1045 -async function requireOrImport(file) {
1046 - installTransformIfNeeded();
1047 - const isModule = fileIsModule(file);
1048 - if (isModule) {
1049 - const fileName = import_url2.default.pathToFileURL(file);
1050 - const esmImport = () => eval(`import(${JSON.stringify(fileName)})`);
1051 - await eval(`import(${JSON.stringify(fileName + ".esm.preflight")})`).catch((error) => debugTest("Failed to load preflight for " + file + ", source maps may be missing for errors thrown during loading.", error)).finally(nextTask);
1052 - return await esmImport().finally(nextTask);
1053 - }
1054 - const result = require(file);
1055 - const depsCollector = currentFileDepsCollector();
1056 - if (depsCollector) {
1057 - const module2 = require.cache[file];
1058 - if (module2)
1059 - collectCJSDependencies(module2, depsCollector);
1060 - }
1061 - return result;
1062 -}
1063 -var transformInstalled = false;
1064 -function installTransformIfNeeded() {
1065 - if (transformInstalled)
1066 - return;
1067 - transformInstalled = true;
1068 - installSourceMapSupport();
1069 - const originalResolveFilename = import_module2.default._resolveFilename;
1070 - function resolveFilename(specifier, parent, ...rest) {
1071 - if (parent) {
1072 - const resolved = resolveHook(parent.filename, specifier);
1073 - if (resolved !== void 0)
1074 - specifier = resolved;
1075 - }
1076 - return originalResolveFilename.call(this, specifier, parent, ...rest);
1077 - }
1078 - import_module2.default._resolveFilename = resolveFilename;
1079 - addHook((code, filename) => {
1080 - return transformHook(code, filename).code;
1081 - }, shouldTransform, [".ts", ".tsx", ".js", ".jsx", ".mjs", ".mts", ".cjs", ".cts"]);
1082 -}
1083 -var collectCJSDependencies = (module2, dependencies) => {
1084 - module2.children.forEach((child) => {
1085 - if (!belongsToNodeModules(child.filename) && !dependencies.has(child.filename)) {
1086 - dependencies.add(child.filename);
1087 - collectCJSDependencies(child, dependencies);
1088 - }
1089 - });
1090 -};
1091 -function wrapFunctionWithLocation(func) {
1092 - return (...args) => {
1093 - const oldPrepareStackTrace = Error.prepareStackTrace;
1094 - Error.prepareStackTrace = (error, stackFrames) => {
1095 - const frame = sourceMapSupport2.wrapCallSite(stackFrames[1]);
1096 - const fileName2 = frame.getFileName();
1097 - const file2 = fileName2 && fileName2.startsWith("file://") ? import_url2.default.fileURLToPath(fileName2) : fileName2;
1098 - return {
1099 - file: file2,
1100 - line: frame.getLineNumber(),
1101 - column: frame.getColumnNumber()
1102 - };
1103 - };
1104 - const oldStackTraceLimit = Error.stackTraceLimit;
1105 - Error.stackTraceLimit = 2;
1106 - const obj = {};
1107 - Error.captureStackTrace(obj);
1108 - const location = obj.stack;
1109 - Error.stackTraceLimit = oldStackTraceLimit;
1110 - Error.prepareStackTrace = oldPrepareStackTrace;
1111 - return func(location, ...args);
1112 - };
1113 -}
1114 -function isRelativeSpecifier(specifier) {
1115 - return specifier === "." || specifier === ".." || specifier.startsWith("./") || specifier.startsWith("../");
1116 -}
1117 -async function nextTask() {
1118 - return new Promise((resolve) => setTimeout(resolve, 0));
1119 -}
1120 -
1121 -// packages/playwright/src/common/esmLoaderHost.ts
1122 -var esmLoaderHost_exports = {};
1123 -__export(esmLoaderHost_exports, {
1124 - configureESMLoader: () => configureESMLoader,
1125 - configureESMLoaderTransformConfig: () => configureESMLoaderTransformConfig,
1126 - incorporateCompilationCache: () => incorporateCompilationCache,
1127 - registerESMLoader: () => registerESMLoader,
1128 - startCollectingFileDeps: () => startCollectingFileDeps2,
1129 - stopCollectingFileDeps: () => stopCollectingFileDeps2
1130 -});
1131 -var import_url3 = __toESM(require("url"));
1132 -
1133 -// packages/playwright/src/transform/portTransport.ts
1134 -var PortTransport = class {
1135 - constructor(port, handler) {
1136 - this._lastId = 0;
1137 - this._callbacks = /* @__PURE__ */ new Map();
1138 - this._port = port;
1139 - port.addEventListener("message", async (event) => {
1140 - const message = event.data;
1141 - const { id, ackId, method, params, result: result2 } = message;
1142 - if (ackId) {
1143 - const callback = this._callbacks.get(ackId);
1144 - this._callbacks.delete(ackId);
1145 - this._resetRef();
1146 - callback?.(result2);
1147 - return;
1148 - }
1149 - const handlerResult = await handler(method, params);
1150 - if (id)
1151 - this._port.postMessage({ ackId: id, result: handlerResult });
1152 - });
1153 - this._resetRef();
1154 - }
1155 - post(method, params) {
1156 - this._port.postMessage({ method, params });
1157 - }
1158 - async send(method, params) {
1159 - return await new Promise((f) => {
1160 - const id = ++this._lastId;
1161 - this._callbacks.set(id, f);
1162 - this._resetRef();
1163 - this._port.postMessage({ id, method, params });
1164 - });
1165 - }
1166 - _resetRef() {
1167 - if (this._callbacks.size) {
1168 - this._port.ref();
1169 - } else {
1170 - this._port.unref();
1171 - }
1172 - }
1173 -};
1174 -
1175 -// packages/playwright/src/common/esmLoaderHost.ts
1176 -var loaderChannel;
1177 -function registerESMLoader() {
1178 - if (process.env.PW_DISABLE_TS_ESM)
1179 - return true;
1180 - if ("Bun" in globalThis)
1181 - return true;
1182 - if (loaderChannel)
1183 - return true;
1184 - const register = require("node:module").register;
1185 - if (!register)
1186 - return false;
1187 - const { port1, port2 } = new MessageChannel();
1188 - register(import_url3.default.pathToFileURL(require.resolve("../transform/esmLoader.js")), {
1189 - data: { port: port2 },
1190 - transferList: [port2]
1191 - });
1192 - loaderChannel = createPortTransport(port1);
1193 - return true;
1194 -}
1195 -function createPortTransport(port) {
1196 - return new PortTransport(port, async (method, params) => {
1197 - if (method === "pushToCompilationCache")
1198 - addToCompilationCache(params.cache);
1199 - });
1200 -}
1201 -async function startCollectingFileDeps2() {
1202 - if (!loaderChannel)
1203 - return;
1204 - await loaderChannel.send("startCollectingFileDeps", {});
1205 -}
1206 -async function stopCollectingFileDeps2(file2) {
1207 - if (!loaderChannel)
1208 - return;
1209 - await loaderChannel.send("stopCollectingFileDeps", { file: file2 });
1210 -}
1211 -async function incorporateCompilationCache() {
1212 - if (!loaderChannel)
1213 - return;
1214 - const result2 = await loaderChannel.send("getCompilationCache", {});
1215 - addToCompilationCache(result2.cache);
1216 -}
1217 -async function configureESMLoader() {
1218 - if (!loaderChannel)
1219 - return;
1220 - await loaderChannel.send("setSingleTSConfig", { tsconfig: singleTSConfig() });
1221 - await loaderChannel.send("addToCompilationCache", { cache: serializeCompilationCache() });
1222 -}
1223 -async function configureESMLoaderTransformConfig() {
1224 - if (!loaderChannel)
1225 - return;
1226 - await loaderChannel.send("setSingleTSConfig", { tsconfig: singleTSConfig() });
1227 - await loaderChannel.send("setTransformConfig", { config: transformConfig() });
1228 -}
1229 -
1230 -// packages/playwright/src/common/configLoader.ts
1231 -var { isRegExp: isRegExp2 } = require("playwright-core/lib/coreBundle").iso;
1232 -var kDefineConfigWasUsed = Symbol("defineConfigWasUsed");
1233 -var defineConfig = (...configs) => {
1234 - let result2 = configs[0];
1235 - for (let i = 1; i < configs.length; ++i) {
1236 - const config = configs[i];
1237 - const prevProjects = result2.projects;
1238 - result2 = {
1239 - ...result2,
1240 - ...config,
1241 - expect: {
1242 - ...result2.expect,
1243 - ...config.expect
1244 - },
1245 - use: {
1246 - ...result2.use,
1247 - ...config.use
1248 - },
1249 - build: {
1250 - ...result2.build,
1251 - ...config.build
1252 - },
1253 - webServer: [
1254 - ...Array.isArray(result2.webServer) ? result2.webServer : result2.webServer ? [result2.webServer] : [],
1255 - ...Array.isArray(config.webServer) ? config.webServer : config.webServer ? [config.webServer] : []
1256 - ]
1257 - };
1258 - if (!result2.projects && !config.projects)
1259 - continue;
1260 - const projectOverrides = /* @__PURE__ */ new Map();
1261 - for (const project of config.projects || [])
1262 - projectOverrides.set(project.name, project);
1263 - const projects = [];
1264 - for (const project of prevProjects || []) {
1265 - const projectOverride = projectOverrides.get(project.name);
1266 - if (projectOverride) {
1267 - projects.push({
1268 - ...project,
1269 - ...projectOverride,
1270 - use: {
1271 - ...project.use,
1272 - ...projectOverride.use
1273 - }
1274 - });
1275 - projectOverrides.delete(project.name);
1276 - } else {
1277 - projects.push(project);
1278 - }
1279 - }
1280 - projects.push(...projectOverrides.values());
1281 - result2.projects = projects;
1282 - }
1283 - result2[kDefineConfigWasUsed] = true;
1284 - return result2;
1285 -};
1286 -async function deserializeConfig(data) {
1287 - if (data.compilationCache)
1288 - addToCompilationCache(data.compilationCache);
1289 - return await loadConfig(data.location, data.configCLIOverrides, void 0, data.metadata ? JSON.parse(data.metadata) : void 0);
1290 -}
1291 -async function loadUserConfig(location) {
1292 - let object = location.resolvedConfigFile ? await requireOrImport(location.resolvedConfigFile) : {};
1293 - if (object && typeof object === "object" && "default" in object)
1294 - object = object["default"];
1295 - return object;
1296 -}
1297 -async function loadConfig(location, overrides, ignoreProjectDependencies = false, metadata) {
1298 - if (!registerESMLoader()) {
1299 - if (location.resolvedConfigFile && fileIsModule(location.resolvedConfigFile))
1300 - throw errorWithFile(location.resolvedConfigFile, `Playwright requires Node.js 18.19 or higher to load esm modules. Please update your version of Node.js.`);
1301 - }
1302 - setSingleTSConfig(overrides?.tsconfig);
1303 - await configureESMLoader();
1304 - const userConfig = await loadUserConfig(location);
1305 - validateConfig(location.resolvedConfigFile || "<default config>", userConfig);
1306 - const fullConfig = new FullConfigInternal(location, userConfig, overrides || {}, metadata);
1307 - fullConfig.defineConfigWasUsed = !!userConfig[kDefineConfigWasUsed];
1308 - if (ignoreProjectDependencies) {
1309 - for (const project of fullConfig.projects) {
1310 - project.deps = [];
1311 - project.teardown = void 0;
1312 - }
1313 - }
1314 - const babelPlugins = userConfig["@playwright/test"]?.babelPlugins || [];
1315 - const external = userConfig.build?.external || [];
1316 - const jsxImportSource = import_path7.default.dirname(require.resolve("playwright"));
1317 - setTransformConfig({ babelPlugins, external, jsxImportSource });
1318 - if (!overrides?.tsconfig)
1319 - setSingleTSConfig(fullConfig?.singleTSConfigPath);
1320 - await configureESMLoaderTransformConfig();
1321 - return fullConfig;
1322 -}
1323 -function validateConfig(file2, config) {
1324 - if (typeof config !== "object" || !config)
1325 - throw errorWithFile(file2, `Configuration file must export a single object`);
1326 - validateProject(file2, config, "config");
1327 - if ("forbidOnly" in config && config.forbidOnly !== void 0) {
1328 - if (typeof config.forbidOnly !== "boolean")
1329 - throw errorWithFile(file2, `config.forbidOnly must be a boolean`);
1330 - }
1331 - if ("globalSetup" in config && config.globalSetup !== void 0) {
1332 - if (Array.isArray(config.globalSetup)) {
1333 - config.globalSetup.forEach((item, index) => {
1334 - if (typeof item !== "string")
1335 - throw errorWithFile(file2, `config.globalSetup[${index}] must be a string`);
1336 - });
1337 - } else if (typeof config.globalSetup !== "string") {
1338 - throw errorWithFile(file2, `config.globalSetup must be a string`);
1339 - }
1340 - }
1341 - if ("globalTeardown" in config && config.globalTeardown !== void 0) {
1342 - if (Array.isArray(config.globalTeardown)) {
1343 - config.globalTeardown.forEach((item, index) => {
1344 - if (typeof item !== "string")
1345 - throw errorWithFile(file2, `config.globalTeardown[${index}] must be a string`);
1346 - });
1347 - } else if (typeof config.globalTeardown !== "string") {
1348 - throw errorWithFile(file2, `config.globalTeardown must be a string`);
1349 - }
1350 - }
1351 - if ("globalTimeout" in config && config.globalTimeout !== void 0) {
1352 - if (typeof config.globalTimeout !== "number" || config.globalTimeout < 0)
1353 - throw errorWithFile(file2, `config.globalTimeout must be a non-negative number`);
1354 - }
1355 - if ("grep" in config && config.grep !== void 0) {
1356 - if (Array.isArray(config.grep)) {
1357 - config.grep.forEach((item, index) => {
1358 - if (!isRegExp2(item))
1359 - throw errorWithFile(file2, `config.grep[${index}] must be a RegExp`);
1360 - });
1361 - } else if (!isRegExp2(config.grep)) {
1362 - throw errorWithFile(file2, `config.grep must be a RegExp`);
1363 - }
1364 - }
1365 - if ("grepInvert" in config && config.grepInvert !== void 0) {
1366 - if (Array.isArray(config.grepInvert)) {
1367 - config.grepInvert.forEach((item, index) => {
1368 - if (!isRegExp2(item))
1369 - throw errorWithFile(file2, `config.grepInvert[${index}] must be a RegExp`);
1370 - });
1371 - } else if (!isRegExp2(config.grepInvert)) {
1372 - throw errorWithFile(file2, `config.grepInvert must be a RegExp`);
1373 - }
1374 - }
1375 - if ("maxFailures" in config && config.maxFailures !== void 0) {
1376 - if (typeof config.maxFailures !== "number" || config.maxFailures < 0)
1377 - throw errorWithFile(file2, `config.maxFailures must be a non-negative number`);
1378 - }
1379 - if ("preserveOutput" in config && config.preserveOutput !== void 0) {
1380 - if (typeof config.preserveOutput !== "string" || !["always", "never", "failures-only"].includes(config.preserveOutput))
1381 - throw errorWithFile(file2, `config.preserveOutput must be one of "always", "never" or "failures-only"`);
1382 - }
1383 - if ("projects" in config && config.projects !== void 0) {
1384 - if (!Array.isArray(config.projects))
1385 - throw errorWithFile(file2, `config.projects must be an array`);
1386 - config.projects.forEach((project, index) => {
1387 - validateProject(file2, project, `config.projects[${index}]`);
1388 - });
1389 - }
1390 - if ("quiet" in config && config.quiet !== void 0) {
1391 - if (typeof config.quiet !== "boolean")
1392 - throw errorWithFile(file2, `config.quiet must be a boolean`);
1393 - }
1394 - if ("reporter" in config && config.reporter !== void 0) {
1395 - if (Array.isArray(config.reporter)) {
1396 - config.reporter.forEach((item, index) => {
1397 - if (!Array.isArray(item) || item.length <= 0 || item.length > 2 || typeof item[0] !== "string")
1398 - throw errorWithFile(file2, `config.reporter[${index}] must be a tuple [name, optionalArgument]`);
1399 - });
1400 - } else if (typeof config.reporter !== "string") {
1401 - throw errorWithFile(file2, `config.reporter must be a string`);
1402 - }
1403 - }
1404 - if ("reportSlowTests" in config && config.reportSlowTests !== void 0 && config.reportSlowTests !== null) {
1405 - if (!config.reportSlowTests || typeof config.reportSlowTests !== "object")
1406 - throw errorWithFile(file2, `config.reportSlowTests must be an object`);
1407 - if (!("max" in config.reportSlowTests) || typeof config.reportSlowTests.max !== "number" || config.reportSlowTests.max < 0)
1408 - throw errorWithFile(file2, `config.reportSlowTests.max must be a non-negative number`);
1409 - if (!("threshold" in config.reportSlowTests) || typeof config.reportSlowTests.threshold !== "number" || config.reportSlowTests.threshold < 0)
1410 - throw errorWithFile(file2, `config.reportSlowTests.threshold must be a non-negative number`);
1411 - }
1412 - if ("shard" in config && config.shard !== void 0 && config.shard !== null) {
1413 - if (!config.shard || typeof config.shard !== "object")
1414 - throw errorWithFile(file2, `config.shard must be an object`);
1415 - if (!("total" in config.shard) || typeof config.shard.total !== "number" || config.shard.total < 1)
1416 - throw errorWithFile(file2, `config.shard.total must be a positive number`);
1417 - if (!("current" in config.shard) || typeof config.shard.current !== "number" || config.shard.current < 1 || config.shard.current > config.shard.total)
1418 - throw errorWithFile(file2, `config.shard.current must be a positive number, not greater than config.shard.total`);
1419 - }
1420 - if ("updateSnapshots" in config && config.updateSnapshots !== void 0) {
1421 - if (typeof config.updateSnapshots !== "string" || !["all", "changed", "missing", "none"].includes(config.updateSnapshots))
1422 - throw errorWithFile(file2, `config.updateSnapshots must be one of "all", "changed", "missing" or "none"`);
1423 - }
1424 - if ("tsconfig" in config && config.tsconfig !== void 0) {
1425 - if (typeof config.tsconfig !== "string")
1426 - throw errorWithFile(file2, `config.tsconfig must be a string`);
1427 - if (!import_fs6.default.existsSync(import_path7.default.resolve(file2, "..", config.tsconfig)))
1428 - throw errorWithFile(file2, `config.tsconfig does not exist`);
1429 - }
1430 -}
1431 -function validateProject(file2, project, title) {
1432 - if (typeof project !== "object" || !project)
1433 - throw errorWithFile(file2, `${title} must be an object`);
1434 - if ("name" in project && project.name !== void 0) {
1435 - if (typeof project.name !== "string")
1436 - throw errorWithFile(file2, `${title}.name must be a string`);
1437 - }
1438 - if ("outputDir" in project && project.outputDir !== void 0) {
1439 - if (typeof project.outputDir !== "string")
1440 - throw errorWithFile(file2, `${title}.outputDir must be a string`);
1441 - }
1442 - if ("repeatEach" in project && project.repeatEach !== void 0) {
1443 - if (typeof project.repeatEach !== "number" || project.repeatEach < 0)
1444 - throw errorWithFile(file2, `${title}.repeatEach must be a non-negative number`);
1445 - }
1446 - if ("retries" in project && project.retries !== void 0) {
1447 - if (typeof project.retries !== "number" || project.retries < 0)
1448 - throw errorWithFile(file2, `${title}.retries must be a non-negative number`);
1449 - }
1450 - if ("testDir" in project && project.testDir !== void 0) {
1451 - if (typeof project.testDir !== "string")
1452 - throw errorWithFile(file2, `${title}.testDir must be a string`);
1453 - }
1454 - for (const prop of ["testIgnore", "testMatch"]) {
1455 - if (prop in project && project[prop] !== void 0) {
1456 - const value = project[prop];
1457 - if (Array.isArray(value)) {
1458 - value.forEach((item, index) => {
1459 - if (typeof item !== "string" && !isRegExp2(item))
1460 - throw errorWithFile(file2, `${title}.${prop}[${index}] must be a string or a RegExp`);
1461 - });
1462 - } else if (typeof value !== "string" && !isRegExp2(value)) {
1463 - throw errorWithFile(file2, `${title}.${prop} must be a string or a RegExp`);
1464 - }
1465 - }
1466 - }
1467 - if ("timeout" in project && project.timeout !== void 0) {
1468 - if (typeof project.timeout !== "number" || project.timeout < 0)
1469 - throw errorWithFile(file2, `${title}.timeout must be a non-negative number`);
1470 - }
1471 - if ("use" in project && project.use !== void 0) {
1472 - if (!project.use || typeof project.use !== "object")
1473 - throw errorWithFile(file2, `${title}.use must be an object`);
1474 - }
1475 - if ("ignoreSnapshots" in project && project.ignoreSnapshots !== void 0) {
1476 - if (typeof project.ignoreSnapshots !== "boolean")
1477 - throw errorWithFile(file2, `${title}.ignoreSnapshots must be a boolean`);
1478 - }
1479 - if ("workers" in project && project.workers !== void 0) {
1480 - if (typeof project.workers === "number" && project.workers <= 0)
1481 - throw errorWithFile(file2, `${title}.workers must be a positive number`);
1482 - else if (typeof project.workers === "string" && !project.workers.endsWith("%"))
1483 - throw errorWithFile(file2, `${title}.workers must be a number or percentage`);
1484 - }
1485 -}
1486 -function resolveConfigLocation(configFile) {
1487 - const configFileOrDirectory = configFile ? import_path7.default.resolve(process.cwd(), configFile) : process.cwd();
1488 - const resolvedConfigFile = resolveConfigFile2(configFileOrDirectory);
1489 - return {
1490 - resolvedConfigFile,
1491 - configDir: resolvedConfigFile ? import_path7.default.dirname(resolvedConfigFile) : configFileOrDirectory
1492 - };
1493 -}
1494 -function resolveConfigFile2(configFileOrDirectory) {
1495 - const resolveConfig = (configFile) => {
1496 - if (import_fs6.default.existsSync(configFile))
1497 - return configFile;
1498 - };
1499 - const resolveConfigFileFromDirectory = (directory) => {
1500 - for (const ext of [".ts", ".js", ".mts", ".mjs", ".cts", ".cjs"]) {
1501 - const configFile = resolveConfig(import_path7.default.resolve(directory, "playwright.config" + ext));
1502 - if (configFile)
1503 - return configFile;
1504 - }
1505 - };
1506 - if (!import_fs6.default.existsSync(configFileOrDirectory))
1507 - throw new Error(`${configFileOrDirectory} does not exist`);
1508 - if (import_fs6.default.statSync(configFileOrDirectory).isDirectory()) {
1509 - const configFile = resolveConfigFileFromDirectory(configFileOrDirectory);
1510 - if (configFile)
1511 - return configFile;
1512 - return void 0;
1513 - }
1514 - return configFileOrDirectory;
1515 -}
1516 -async function loadConfigFromFile(configFile, overrides, ignoreDeps) {
1517 - return await loadConfig(resolveConfigLocation(configFile), overrides, ignoreDeps);
1518 -}
1519 -async function loadEmptyConfigForMergeReports() {
1520 - return await loadConfig({ configDir: process.cwd() });
1521 -}
1522 -
1523 -// packages/playwright/src/common/fixtures.ts
1524 -var fixtures_exports = {};
1525 -__export(fixtures_exports, {
1526 - FixturePool: () => FixturePool,
1527 - fixtureParameterNames: () => fixtureParameterNames,
1528 - formatPotentiallyInternalLocation: () => formatPotentiallyInternalLocation,
1529 - inheritFixtureNames: () => inheritFixtureNames
1530 -});
1531 -var import_crypto2 = __toESM(require("crypto"));
1532 -var kScopeOrder = ["test", "worker"];
1533 -function isFixtureTuple(value) {
1534 - return Array.isArray(value) && typeof value[1] === "object";
1535 -}
1536 -function isFixtureOption(value) {
1537 - return isFixtureTuple(value) && !!value[1].option;
1538 -}
1539 -var FixturePool = class {
1540 - constructor(fixturesList, onLoadError, parentPool, disallowWorkerFixtures, optionOverrides) {
1541 - this._registrations = new Map(parentPool ? parentPool._registrations : []);
1542 - this._onLoadError = onLoadError;
1543 - const allOverrides = optionOverrides?.overrides ?? {};
1544 - const overrideKeys = new Set(Object.keys(allOverrides));
1545 - for (const list of fixturesList) {
1546 - this._appendFixtureList(list, !!disallowWorkerFixtures, false);
1547 - const selectedOverrides = {};
1548 - for (const [key, value] of Object.entries(list.fixtures)) {
1549 - if (isFixtureOption(value) && overrideKeys.has(key))
1550 - selectedOverrides[key] = [allOverrides[key], value[1]];
1551 - }
1552 - if (Object.entries(selectedOverrides).length)
1553 - this._appendFixtureList({ fixtures: selectedOverrides, location: optionOverrides.location }, !!disallowWorkerFixtures, true);
1554 - }
1555 - if (optionOverrides) {
1556 - for (const key of overrideKeys) {
1557 - const registration = this._registrations.get(key);
1558 - if (registration && !registration.option)
1559 - this._addLoadError(`Fixture "${key}" cannot be overridden in the configuration "use" section. Only fixtures registered with { option: true } can be set in the config.`, optionOverrides.location);
1560 - }
1561 - }
1562 - this.digest = this.validate();
1563 - }
1564 - _appendFixtureList(list, disallowWorkerFixtures, isOptionsOverride) {
1565 - const { fixtures, location } = list;
1566 - for (const entry of Object.entries(fixtures)) {
1567 - const name = entry[0];
1568 - let value = entry[1];
1569 - let options;
1570 - if (isFixtureTuple(value)) {
1571 - options = {
1572 - auto: value[1].auto ?? false,
1573 - scope: value[1].scope || "test",
1574 - option: !!value[1].option,
1575 - timeout: value[1].timeout,
1576 - customTitle: value[1].title,
1577 - box: value[1].box
1578 - };
1579 - value = value[0];
1580 - }
1581 - let fn = value;
1582 - const previous = this._registrations.get(name);
1583 - if (previous && options) {
1584 - if (previous.scope !== options.scope) {
1585 - this._addLoadError(`Fixture "${name}" has already been registered as a { scope: '${previous.scope}' } fixture defined in ${formatLocation(previous.location)}.`, location);
1586 - continue;
1587 - }
1588 - if (previous.auto !== options.auto) {
1589 - this._addLoadError(`Fixture "${name}" has already been registered as a { auto: '${previous.scope}' } fixture defined in ${formatLocation(previous.location)}.`, location);
1590 - continue;
1591 - }
1592 - } else if (previous) {
1593 - options = { auto: previous.auto, scope: previous.scope, option: previous.option, timeout: previous.timeout, customTitle: previous.customTitle };
1594 - } else if (!options) {
1595 - options = { auto: false, scope: "test", option: false, timeout: void 0 };
1596 - }
1597 - if (!kScopeOrder.includes(options.scope)) {
1598 - this._addLoadError(`Fixture "${name}" has unknown { scope: '${options.scope}' }.`, location);
1599 - continue;
1600 - }
1601 - if (options.scope === "worker" && disallowWorkerFixtures) {
1602 - this._addLoadError(`Cannot use({ ${name} }) in a describe group, because it forces a new worker.
1603 -Make it top-level in the test file or put in the configuration file.`, location);
1604 - continue;
1605 - }
1606 - if (fn === void 0 && options.option && previous) {
1607 - let original = previous;
1608 - while (!original.optionOverride && original.super)
1609 - original = original.super;
1610 - fn = original.fn;
1611 - }
1612 - const deps = fixtureParameterNames(fn, location, (e) => this._onLoadError(e));
1613 - const registration = { id: "", name, location, scope: options.scope, fn, auto: options.auto, option: options.option, timeout: options.timeout, customTitle: options.customTitle, box: options.box, deps, super: previous, optionOverride: isOptionsOverride };
1614 - registrationId(registration);
1615 - this._registrations.set(name, registration);
1616 - }
1617 - }
1618 - validate() {
1619 - const markers = /* @__PURE__ */ new Map();
1620 - const stack = [];
1621 - let hasDependencyErrors = false;
1622 - const addDependencyError = (message, location) => {
1623 - hasDependencyErrors = true;
1624 - this._addLoadError(message, location);
1625 - };
1626 - const visit = (registration, boxedOnly) => {
1627 - markers.set(registration, "visiting");
1628 - stack.push(registration);
1629 - for (const name of registration.deps) {
1630 - const dep = this.resolve(name, registration);
1631 - if (!dep) {
1632 - if (name === registration.name)
1633 - addDependencyError(`Fixture "${registration.name}" references itself, but does not have a base implementation.`, registration.location);
1634 - else
1635 - addDependencyError(`Fixture "${registration.name}" has unknown parameter "${name}".`, registration.location);
1636 - continue;
1637 - }
1638 - if (kScopeOrder.indexOf(registration.scope) > kScopeOrder.indexOf(dep.scope)) {
1639 - addDependencyError(`${registration.scope} fixture "${registration.name}" cannot depend on a ${dep.scope} fixture "${name}" defined in ${formatPotentiallyInternalLocation(dep.location)}.`, registration.location);
1640 - continue;
1641 - }
1642 - if (!markers.has(dep)) {
1643 - visit(dep, boxedOnly);
1644 - } else if (markers.get(dep) === "visiting") {
1645 - const index = stack.indexOf(dep);
1646 - const allRegs = stack.slice(index, stack.length);
1647 - const filteredRegs = allRegs.filter((r) => !r.box);
1648 - const regs = boxedOnly ? filteredRegs : allRegs;
1649 - const names2 = regs.map((r) => `"${r.name}"`);
1650 - addDependencyError(`Fixtures ${names2.join(" -> ")} -> "${dep.name}" form a dependency cycle: ${regs.map((r) => formatPotentiallyInternalLocation(r.location)).join(" -> ")} -> ${formatPotentiallyInternalLocation(dep.location)}`, dep.location);
1651 - continue;
1652 - }
1653 - }
1654 - markers.set(registration, "visited");
1655 - stack.pop();
1656 - };
1657 - const names = Array.from(this._registrations.keys()).sort();
1658 - for (const name of names) {
1659 - const registration = this._registrations.get(name);
1660 - if (!registration.box)
1661 - visit(registration, true);
1662 - }
1663 - if (!hasDependencyErrors) {
1664 - for (const name of names) {
1665 - const registration = this._registrations.get(name);
1666 - if (registration.box)
1667 - visit(registration, false);
1668 - }
1669 - }
1670 - const hash = import_crypto2.default.createHash("sha1");
1671 - for (const name of names) {
1672 - const registration = this._registrations.get(name);
1673 - if (registration.scope === "worker")
1674 - hash.update(registration.id + ";");
1675 - }
1676 - return hash.digest("hex");
1677 - }
1678 - validateFunction(fn, prefix, location) {
1679 - for (const name of fixtureParameterNames(fn, location, (e) => this._onLoadError(e))) {
1680 - const registration = this._registrations.get(name);
1681 - if (!registration)
1682 - this._addLoadError(`${prefix} has unknown parameter "${name}".`, location);
1683 - }
1684 - }
1685 - resolve(name, forFixture) {
1686 - if (name === forFixture?.name)
1687 - return forFixture.super;
1688 - return this._registrations.get(name);
1689 - }
1690 - autoFixtures() {
1691 - return [...this._registrations.values()].filter((r) => r.auto !== false);
1692 - }
1693 - _addLoadError(message, location) {
1694 - this._onLoadError({ message, location });
1695 - }
1696 -};
1697 -var signatureSymbol = Symbol("signature");
1698 -function formatPotentiallyInternalLocation(location) {
1699 - const isUserFixture = location && filterStackFile(location.file);
1700 - return isUserFixture ? formatLocation(location) : "<builtin>";
1701 -}
1702 -function fixtureParameterNames(fn, location, onError) {
1703 - if (typeof fn !== "function")
1704 - return [];
1705 - if (!fn[signatureSymbol])
1706 - fn[signatureSymbol] = innerFixtureParameterNames(fn, location, onError);
1707 - return fn[signatureSymbol];
1708 -}
1709 -function inheritFixtureNames(from, to) {
1710 - to[signatureSymbol] = from[signatureSymbol];
1711 -}
1712 -function innerFixtureParameterNames(fn, location, onError) {
1713 - const text = filterOutComments(fn.toString());
1714 - const match = text.match(/(?:async)?(?:\s+function)?[^(]*\(([^)]*)/);
1715 - if (!match)
1716 - return [];
1717 - const trimmedParams = match[1].trim();
1718 - if (!trimmedParams)
1719 - return [];
1720 - const [firstParam] = splitByComma(trimmedParams);
1721 - if (firstParam[0] !== "{" || firstParam[firstParam.length - 1] !== "}") {
1722 - onError({ message: "First argument must use the object destructuring pattern: " + firstParam, location });
1723 - return [];
1724 - }
1725 - const props = splitByComma(firstParam.substring(1, firstParam.length - 1)).map((prop) => {
1726 - const colon = prop.indexOf(":");
1727 - return colon === -1 ? prop.trim() : prop.substring(0, colon).trim();
1728 - });
1729 - const restProperty = props.find((prop) => prop.startsWith("..."));
1730 - if (restProperty) {
1731 - onError({ message: `Rest property "${restProperty}" is not supported. List all used fixtures explicitly, separated by comma.`, location });
1732 - return [];
1733 - }
1734 - return props;
1735 -}
1736 -function filterOutComments(s) {
1737 - const result2 = [];
1738 - let commentState = "none";
1739 - for (let i = 0; i < s.length; ++i) {
1740 - if (commentState === "singleline") {
1741 - if (s[i] === "\n")
1742 - commentState = "none";
1743 - } else if (commentState === "multiline") {
1744 - if (s[i - 1] === "*" && s[i] === "/")
1745 - commentState = "none";
1746 - } else if (commentState === "none") {
1747 - if (s[i] === "/" && s[i + 1] === "/") {
1748 - commentState = "singleline";
1749 - } else if (s[i] === "/" && s[i + 1] === "*") {
1750 - commentState = "multiline";
1751 - i += 2;
1752 - } else {
1753 - result2.push(s[i]);
1754 - }
1755 - }
1756 - }
1757 - return result2.join("");
1758 -}
1759 -function splitByComma(s) {
1760 - const result2 = [];
1761 - const stack = [];
1762 - let start = 0;
1763 - for (let i = 0; i < s.length; i++) {
1764 - if (s[i] === "{" || s[i] === "[") {
1765 - stack.push(s[i] === "{" ? "}" : "]");
1766 - } else if (s[i] === stack[stack.length - 1]) {
1767 - stack.pop();
1768 - } else if (!stack.length && s[i] === ",") {
1769 - const token = s.substring(start, i).trim();
1770 - if (token)
1771 - result2.push(token);
1772 - start = i + 1;
1773 - }
1774 - }
1775 - const lastToken = s.substring(start).trim();
1776 - if (lastToken)
1777 - result2.push(lastToken);
1778 - return result2;
1779 -}
1780 -var registrationIdMap = /* @__PURE__ */ new Map();
1781 -var lastId = 0;
1782 -function registrationId(registration) {
1783 - if (registration.id)
1784 - return registration.id;
1785 - const key = registration.name + "@@@" + (registration.super ? registrationId(registration.super) : "");
1786 - let map = registrationIdMap.get(key);
1787 - if (!map) {
1788 - map = /* @__PURE__ */ new Map();
1789 - registrationIdMap.set(key, map);
1790 - }
1791 - if (!map.has(registration.fn))
1792 - map.set(registration.fn, String(lastId++));
1793 - registration.id = map.get(registration.fn);
1794 - return registration.id;
1795 -}
1796 -
1797 -// packages/playwright/src/common/ipc.ts
1798 -var ipc_exports = {};
1799 -__export(ipc_exports, {
1800 - serializeConfig: () => serializeConfig,
1801 - stdioChunkToParams: () => stdioChunkToParams,
1802 - toTestInfoErrorPayload: () => toTestInfoErrorPayload
1803 -});
1804 -var import_util6 = __toESM(require("util"));
1805 -function serializeConfig(config, passCompilationCache) {
1806 - const result2 = {
1807 - location: { configDir: config.configDir, resolvedConfigFile: config.config.configFile },
1808 - configCLIOverrides: config.configCLIOverrides,
1809 - compilationCache: passCompilationCache ? serializeCompilationCache() : void 0
1810 - };
1811 - try {
1812 - result2.metadata = JSON.stringify(config.config.metadata);
1813 - } catch (error) {
1814 - }
1815 - return result2;
1816 -}
1817 -function stdioChunkToParams(chunk) {
1818 - if (chunk instanceof Uint8Array)
1819 - return { buffer: Buffer.from(chunk).toString("base64") };
1820 - if (typeof chunk !== "string")
1821 - return { text: import_util6.default.inspect(chunk) };
1822 - return { text: chunk };
1823 -}
1824 -function toTestInfoErrorPayload(error) {
1825 - const result2 = {};
1826 - if (error.message !== void 0)
1827 - result2.message = error.message;
1828 - if (error.stack !== void 0)
1829 - result2.stack = error.stack;
1830 - if (error.value !== void 0)
1831 - result2.value = error.value;
1832 - if (error.cause !== void 0)
1833 - result2.cause = toTestInfoErrorPayload(error.cause);
1834 - return result2;
1835 -}
1836 -
1837 -// packages/playwright/src/common/poolBuilder.ts
1838 -var poolBuilder_exports = {};
1839 -__export(poolBuilder_exports, {
1840 - PoolBuilder: () => PoolBuilder
1841 -});
1842 -var PoolBuilder = class _PoolBuilder {
1843 - constructor(type, project) {
1844 - this._testTypePools = /* @__PURE__ */ new Map();
1845 - this._type = type;
1846 - this._project = project;
1847 - }
1848 - static createForLoader() {
1849 - return new _PoolBuilder("loader");
1850 - }
1851 - static createForWorker(project) {
1852 - return new _PoolBuilder("worker", project);
1853 - }
1854 - buildPools(suite, testErrors) {
1855 - suite.forEachTest((test) => {
1856 - const pool = this._buildPoolForTest(test, testErrors);
1857 - if (this._type === "loader")
1858 - test._poolDigest = pool.digest;
1859 - if (this._type === "worker")
1860 - test._pool = pool;
1861 - });
1862 - }
1863 - _buildPoolForTest(test, testErrors) {
1864 - let pool = this._buildTestTypePool(test._testType, testErrors);
1865 - const parents = [];
1866 - for (let parent = test.parent; parent; parent = parent.parent)
1867 - parents.push(parent);
1868 - parents.reverse();
1869 - for (const parent of parents) {
1870 - if (parent._use.length)
1871 - pool = new FixturePool(parent._use, (e) => this._handleLoadError(e, testErrors), pool, parent._type === "describe");
1872 - for (const hook of parent._hooks)
1873 - pool.validateFunction(hook.fn, hook.type + " hook", hook.location);
1874 - for (const modifier of parent._modifiers)
1875 - pool.validateFunction(modifier.fn, modifier.type + " modifier", modifier.location);
1876 - }
1877 - pool.validateFunction(test.fn, "Test", test.location);
1878 - return pool;
1879 - }
1880 - _buildTestTypePool(testType, testErrors) {
1881 - if (!this._testTypePools.has(testType)) {
1882 - const optionOverrides = {
1883 - overrides: this._project?.project?.use ?? {},
1884 - location: { file: `project#${this._project?.id}`, line: 1, column: 1 }
1885 - };
1886 - const pool = new FixturePool(testType.fixtures, (e) => this._handleLoadError(e, testErrors), void 0, void 0, optionOverrides);
1887 - this._testTypePools.set(testType, pool);
1888 - }
1889 - return this._testTypePools.get(testType);
1890 - }
1891 - _handleLoadError(e, testErrors) {
1892 - if (testErrors)
1893 - testErrors.push(e);
1894 - else
1895 - throw new Error(`${formatLocation(e.location)}: ${e.message}`);
1896 - }
1897 -};
1898 -
1899 -// packages/playwright/src/common/process.ts
1900 -var process_exports = {};
1901 -__export(process_exports, {
1902 - ProcessRunner: () => ProcessRunner,
1903 - startProcessRunner: () => startProcessRunner
1904 -});
1905 -var import_bootstrap = require("playwright-core/lib/bootstrap");
1906 -var { ManualPromise } = require("playwright-core/lib/coreBundle").iso;
1907 -var { setTimeOrigin } = require("playwright-core/lib/coreBundle").iso;
1908 -var { startProfiling, stopProfiling } = require("playwright-core/lib/coreBundle").utils;
1909 -var ProcessRunner = class {
1910 - async gracefullyClose() {
1911 - }
1912 - dispatchEvent(method, params) {
1913 - const response = { method, params };
1914 - sendMessageToParent({ method: "__dispatch__", params: response });
1915 - }
1916 - async sendRequest(method, params) {
1917 - return await sendRequestToParent(method, params);
1918 - }
1919 - async sendMessageNoReply(method, params) {
1920 - void sendRequestToParent(method, params).catch(() => {
1921 - });
1922 - }
1923 -};
1924 -var gracefullyCloseCalled = false;
1925 -var forceExitInitiated = false;
1926 -var processRunner;
1927 -var processName;
1928 -var startingEnv = { ...process.env };
1929 -function startProcessRunner(create) {
1930 - sendMessageToParent({ method: "ready" });
1931 - process.on("disconnect", () => gracefullyCloseAndExit(true));
1932 - process.on("SIGINT", () => {
1933 - });
1934 - process.on("SIGTERM", () => {
1935 - });
1936 - process.on("message", async (message) => {
1937 - if (message.method === "__init__") {
1938 - const { processParams, runnerParams } = message.params;
1939 - void startProfiling();
1940 - setTimeOrigin(processParams.timeOrigin);
1941 - processRunner = create(runnerParams);
1942 - processName = processParams.processName;
1943 - return;
1944 - }
1945 - if (message.method === "__stop__") {
1946 - const keys = /* @__PURE__ */ new Set([...Object.keys(process.env), ...Object.keys(startingEnv)]);
1947 - const producedEnv = [...keys].filter((key) => startingEnv[key] !== process.env[key]).map((key) => [key, process.env[key] ?? null]);
1948 - sendMessageToParent({ method: "__env_produced__", params: producedEnv });
1949 - await gracefullyCloseAndExit(false);
1950 - return;
1951 - }
1952 - if (message.method === "__dispatch__") {
1953 - const { id, method, params } = message.params;
1954 - try {
1955 - const result2 = await processRunner[method](params);
1956 - const response = { id, result: result2 };
1957 - sendMessageToParent({ method: "__dispatch__", params: response });
1958 - } catch (e) {
1959 - const response = { id, error: serializeError(e) };
1960 - sendMessageToParent({ method: "__dispatch__", params: response });
1961 - }
1962 - }
1963 - if (message.method === "__response__")
1964 - handleResponseFromParent(message.params);
1965 - });
1966 -}
1967 -var kForceExitTimeout = +(process.env.PWTEST_FORCE_EXIT_TIMEOUT || 3e4);
1968 -async function gracefullyCloseAndExit(forceExit) {
1969 - if (forceExit && !forceExitInitiated) {
1970 - forceExitInitiated = true;
1971 - setTimeout(() => process.exit(0), kForceExitTimeout);
1972 - }
1973 - if (!gracefullyCloseCalled) {
1974 - gracefullyCloseCalled = true;
1975 - await processRunner?.gracefullyClose().catch(() => {
1976 - });
1977 - if (processName)
1978 - await stopProfiling(processName).catch(() => {
1979 - });
1980 - process.exit(0);
1981 - }
1982 -}
1983 -function sendMessageToParent(message) {
1984 - try {
1985 - process.send(message);
1986 - } catch (e) {
1987 - try {
1988 - JSON.stringify(message);
1989 - } catch {
1990 - throw e;
1991 - }
1992 - }
1993 -}
1994 -var lastId2 = 0;
1995 -var requestCallbacks = /* @__PURE__ */ new Map();
1996 -async function sendRequestToParent(method, params) {
1997 - const id = ++lastId2;
1998 - sendMessageToParent({ method: "__request__", params: { id, method, params } });
1999 - const promise = new ManualPromise();
2000 - requestCallbacks.set(id, promise);
2001 - return promise;
2002 -}
2003 -function handleResponseFromParent(response) {
2004 - const promise = requestCallbacks.get(response.id);
2005 - if (!promise)
2006 - return;
2007 - requestCallbacks.delete(response.id);
2008 - if (response.error)
2009 - promise.reject(new Error(response.error.message));
2010 - else
2011 - promise.resolve(response.result);
2012 -}
2013 -
2014 -// packages/playwright/src/common/suiteUtils.ts
2015 -var suiteUtils_exports = {};
2016 -__export(suiteUtils_exports, {
2017 - applyRepeatEachIndex: () => applyRepeatEachIndex,
2018 - bindFileSuiteToProject: () => bindFileSuiteToProject,
2019 - createFiltersFromArguments: () => createFiltersFromArguments,
2020 - filterOnly: () => filterOnly,
2021 - filterTestsRemoveEmptySuites: () => filterTestsRemoveEmptySuites
2022 -});
2023 -var import_path8 = __toESM(require("path"));
2024 -var { calculateSha1: calculateSha13 } = require("playwright-core/lib/coreBundle").utils;
2025 -var { toPosixPath } = require("playwright-core/lib/coreBundle").utils;
2026 -function filterTestsRemoveEmptySuites(suite, filter) {
2027 - const filteredSuites = suite.suites.filter((child) => filterTestsRemoveEmptySuites(child, filter));
2028 - const filteredTests = suite.tests.filter(filter);
2029 - const entries = /* @__PURE__ */ new Set([...filteredSuites, ...filteredTests]);
2030 - suite._entries = suite._entries.filter((e) => entries.has(e));
2031 - return !!suite._entries.length;
2032 -}
2033 -function bindFileSuiteToProject(project, suite) {
2034 - const relativeFile = import_path8.default.relative(project.project.testDir, suite.location.file);
2035 - const fileId = calculateSha13(toPosixPath(relativeFile)).slice(0, 20);
2036 - const result2 = suite._deepClone();
2037 - result2._fileId = fileId;
2038 - result2.forEachTest((test, suite2) => {
2039 - suite2._fileId = fileId;
2040 - const [file2, ...titles] = test.titlePath();
2041 - const testIdExpression = `[project=${project.id}]${toPosixPath(file2)}${titles.join("")}`;
2042 - const testId = fileId + "-" + calculateSha13(testIdExpression).slice(0, 20);
2043 - test.id = testId;
2044 - test._projectId = project.id;
2045 - let inheritedRetries;
2046 - let inheritedTimeout;
2047 - for (let parentSuite = suite2; parentSuite; parentSuite = parentSuite.parent) {
2048 - if (parentSuite._staticAnnotations.length)
2049 - test.annotations.unshift(...parentSuite._staticAnnotations);
2050 - if (inheritedRetries === void 0 && parentSuite._retries !== void 0)
2051 - inheritedRetries = parentSuite._retries;
2052 - if (inheritedTimeout === void 0 && parentSuite._timeout !== void 0)
2053 - inheritedTimeout = parentSuite._timeout;
2054 - }
2055 - test.retries = inheritedRetries ?? project.project.retries;
2056 - test.timeout = inheritedTimeout ?? project.project.timeout;
2057 - if (test.annotations.some((a) => a.type === "skip" || a.type === "fixme"))
2058 - test.expectedStatus = "skipped";
2059 - if (test._poolDigest)
2060 - test._workerHash = `${project.id}-${test._poolDigest}-0`;
2061 - });
2062 - return result2;
2063 -}
2064 -function applyRepeatEachIndex(project, fileSuite, repeatEachIndex) {
2065 - fileSuite.forEachTest((test, suite) => {
2066 - if (repeatEachIndex) {
2067 - const [file2, ...titles] = test.titlePath();
2068 - const testIdExpression = `[project=${project.id}]${toPosixPath(file2)}${titles.join("")} (repeat:${repeatEachIndex})`;
2069 - const testId = suite._fileId + "-" + calculateSha13(testIdExpression).slice(0, 20);
2070 - test.id = testId;
2071 - test.repeatEachIndex = repeatEachIndex;
2072 - if (test._poolDigest)
2073 - test._workerHash = `${project.id}-${test._poolDigest}-${repeatEachIndex}`;
2074 - }
2075 - });
2076 -}
2077 -function filterOnly(suite) {
2078 - if (!suite._getOnlyItems().length)
2079 - return;
2080 - const suiteFilter = (suite2) => suite2._only;
2081 - const testFilter = (test) => test._only;
2082 - return filterSuiteWithOnlySemantics(suite, suiteFilter, testFilter);
2083 -}
2084 -function filterSuiteWithOnlySemantics(suite, suiteFilter, testFilter) {
2085 - const onlySuites = suite.suites.filter((child) => filterSuiteWithOnlySemantics(child, suiteFilter, testFilter) || suiteFilter(child));
2086 - const onlyTests = suite.tests.filter(testFilter);
2087 - const onlyEntries = /* @__PURE__ */ new Set([...onlySuites, ...onlyTests]);
2088 - if (onlyEntries.size) {
2089 - suite._entries = suite._entries.filter((e) => onlyEntries.has(e));
2090 - return true;
2091 - }
2092 - return false;
2093 -}
2094 -function createFiltersFromArguments(args) {
2095 - const matchers = args.map((arg) => {
2096 - const parsed = parseLocationArg(arg);
2097 - const fileMatcher = createFileMatcher(forceRegExp(parsed.file));
2098 - const locationMatcher2 = (file2, line, column) => fileMatcher(file2) && (parsed.line === line || parsed.line === null) && (parsed.column === column || parsed.column === null);
2099 - return { fileMatcher, locationMatcher: locationMatcher2 };
2100 - });
2101 - const fileFilter = (file2) => matchers.some((m) => m.fileMatcher(file2));
2102 - const locationMatcher = (file2, line, column) => matchers.some((m) => m.locationMatcher(file2, line, column));
2103 - const testFilter = (test) => {
2104 - for (let suite = test.parent; suite; suite = suite.parent) {
2105 - if (suite.location && locationMatcher(suite.location.file, suite.location.line, suite.location.column))
2106 - return true;
2107 - }
2108 - return locationMatcher(test.location.file, test.location.line, test.location.column);
2109 - };
2110 - return { fileFilter, testFilter };
2111 -}
2112 -
2113 -// packages/playwright/src/common/test.ts
2114 -var test_exports = {};
2115 -__export(test_exports, {
2116 - Suite: () => Suite,
2117 - TestCase: () => TestCase
2118 -});
2119 -
2120 -// packages/playwright/src/common/testType.ts
2121 -var testType_exports = {};
2122 -__export(testType_exports, {
2123 - TestTypeImpl: () => TestTypeImpl,
2124 - mergeTests: () => mergeTests,
2125 - rootTestType: () => rootTestType
2126 -});
2127 -var import_globals2 = require("../globals");
2128 -var import_expect = require("../matchers/expect");
2129 -
2130 -// packages/playwright/src/common/validators.ts
2131 -var { validate } = require("playwright-core/lib/coreBundle").iso;
2132 -var testAnnotationSchema = {
2133 - type: "object",
2134 - properties: {
2135 - type: { type: "string" },
2136 - description: { type: "string" }
2137 - },
2138 - required: ["type"]
2139 -};
2140 -var testDetailsSchema = {
2141 - type: "object",
2142 - properties: {
2143 - tag: {
2144 - oneOf: [
2145 - { type: "string", pattern: "^@", patternError: "Tag must start with '@'" },
2146 - { type: "array", items: { type: "string", pattern: "^@", patternError: "Tag must start with '@'" } }
2147 - ]
2148 - },
2149 - annotation: {
2150 - oneOf: [
2151 - testAnnotationSchema,
2152 - { type: "array", items: testAnnotationSchema }
2153 - ]
2154 - }
2155 - }
2156 -};
2157 -function validateTestDetails(details, location) {
2158 - const errors = validate(details, testDetailsSchema, "details");
2159 - if (errors.length)
2160 - throw new Error(errors.join("\n"));
2161 - const obj = details;
2162 - const tag = obj.tag;
2163 - const tags = tag === void 0 ? [] : typeof tag === "string" ? [tag] : tag;
2164 - const annotation = obj.annotation;
2165 - const annotations = annotation === void 0 ? [] : Array.isArray(annotation) ? annotation : [annotation];
2166 - return {
2167 - annotations: annotations.map((a) => ({ ...a, location })),
2168 - tags,
2169 - location
2170 - };
2171 -}
2172 -
2173 -// packages/playwright/src/common/testType.ts
2174 -var { monotonicTime } = require("playwright-core/lib/coreBundle").iso;
2175 -var { raceAgainstDeadline } = require("playwright-core/lib/coreBundle").iso;
2176 -var { getPackageManagerExecCommand } = require("playwright-core/lib/coreBundle").utils;
2177 -var { currentZone } = require("playwright-core/lib/coreBundle").utils;
2178 -var testTypeSymbol = Symbol("testType");
2179 -var TestTypeImpl = class _TestTypeImpl {
2180 - constructor(fixtures) {
2181 - this.fixtures = fixtures;
2182 - const test = wrapFunctionWithLocation(this._createTest.bind(this, "default"));
2183 - test[testTypeSymbol] = this;
2184 - test.expect = import_expect.expect;
2185 - test.only = wrapFunctionWithLocation(this._createTest.bind(this, "only"));
2186 - test.describe = wrapFunctionWithLocation(this._describe.bind(this, "default"));
2187 - test.describe.only = wrapFunctionWithLocation(this._describe.bind(this, "only"));
2188 - test.describe.configure = wrapFunctionWithLocation(this._configure.bind(this));
2189 - test.describe.fixme = wrapFunctionWithLocation(this._describe.bind(this, "fixme"));
2190 - test.describe.parallel = wrapFunctionWithLocation(this._describe.bind(this, "parallel"));
2191 - test.describe.parallel.only = wrapFunctionWithLocation(this._describe.bind(this, "parallel.only"));
2192 - test.describe.serial = wrapFunctionWithLocation(this._describe.bind(this, "serial"));
2193 - test.describe.serial.only = wrapFunctionWithLocation(this._describe.bind(this, "serial.only"));
2194 - test.describe.skip = wrapFunctionWithLocation(this._describe.bind(this, "skip"));
2195 - test.beforeEach = wrapFunctionWithLocation(this._hook.bind(this, "beforeEach"));
2196 - test.afterEach = wrapFunctionWithLocation(this._hook.bind(this, "afterEach"));
2197 - test.beforeAll = wrapFunctionWithLocation(this._hook.bind(this, "beforeAll"));
2198 - test.afterAll = wrapFunctionWithLocation(this._hook.bind(this, "afterAll"));
2199 - test.skip = wrapFunctionWithLocation(this._modifier.bind(this, "skip"));
2200 - test.fixme = wrapFunctionWithLocation(this._modifier.bind(this, "fixme"));
2201 - test.fail = wrapFunctionWithLocation(this._modifier.bind(this, "fail"));
2202 - test.abort = wrapFunctionWithLocation(this._abort.bind(this));
2203 - test.fail.only = wrapFunctionWithLocation(this._createTest.bind(this, "fail.only"));
2204 - test.slow = wrapFunctionWithLocation(this._modifier.bind(this, "slow"));
2205 - test.setTimeout = wrapFunctionWithLocation(this._setTimeout.bind(this));
2206 - test.step = this._step.bind(this, "pass");
2207 - test.step.skip = this._step.bind(this, "skip");
2208 - test.use = wrapFunctionWithLocation(this._use.bind(this));
2209 - test.extend = wrapFunctionWithLocation(this._extend.bind(this));
2210 - test.info = () => {
2211 - const result2 = (0, import_globals2.currentTestInfo)();
2212 - if (!result2)
2213 - throw new Error("test.info() can only be called while test is running");
2214 - return result2;
2215 - };
2216 - this.test = test;
2217 - }
2218 - _currentSuite(location, title) {
2219 - const suite = (0, import_globals2.currentlyLoadingFileSuite)();
2220 - if (!suite) {
2221 - throw new Error([
2222 - `Playwright Test did not expect ${title} to be called here.`,
2223 - `Most common reasons include:`,
2224 - `- You are calling ${title} in a configuration file.`,
2225 - `- You are calling ${title} in a file that is imported by the configuration file.`,
2226 - `- You have two different versions of @playwright/test. This usually happens`,
2227 - ` when one of the dependencies in your package.json depends on @playwright/test.`
2228 - ].join("\n"));
2229 - }
2230 - return suite;
2231 - }
2232 - _createTest(type, location, title, fnOrDetails, fn) {
2233 - throwIfRunningInsideJest();
2234 - const suite = this._currentSuite(location, "test()");
2235 - if (!suite)
2236 - return;
2237 - let details;
2238 - let body;
2239 - if (typeof fnOrDetails === "function") {
2240 - body = fnOrDetails;
2241 - details = {};
2242 - } else {
2243 - body = fn;
2244 - details = fnOrDetails;
2245 - }
2246 - const validatedDetails = validateTestDetails(details, location);
2247 - const test = new TestCase(title, body, this, location);
2248 - test._requireFile = suite._requireFile;
2249 - test.annotations.push(...validatedDetails.annotations);
2250 - test._tags.push(...validatedDetails.tags);
2251 - suite._addTest(test);
2252 - if (type === "only" || type === "fail.only")
2253 - test._only = true;
2254 - if (type === "skip" || type === "fixme" || type === "fail")
2255 - test.annotations.push({ type, location });
2256 - else if (type === "fail.only")
2257 - test.annotations.push({ type: "fail", location });
2258 - }
2259 - _describe(type, location, titleOrFn, fnOrDetails, fn) {
2260 - throwIfRunningInsideJest();
2261 - const suite = this._currentSuite(location, "test.describe()");
2262 - if (!suite)
2263 - return;
2264 - let title;
2265 - let body;
2266 - let details;
2267 - if (typeof titleOrFn === "function") {
2268 - title = "";
2269 - details = {};
2270 - body = titleOrFn;
2271 - } else if (typeof fnOrDetails === "function") {
2272 - title = titleOrFn;
2273 - details = {};
2274 - body = fnOrDetails;
2275 - } else {
2276 - title = titleOrFn;
2277 - details = fnOrDetails;
2278 - body = fn;
2279 - }
2280 - const validatedDetails = validateTestDetails(details, location);
2281 - const child = new Suite(title, "describe");
2282 - child._requireFile = suite._requireFile;
2283 - child.location = location;
2284 - child._staticAnnotations.push(...validatedDetails.annotations);
2285 - child._tags.push(...validatedDetails.tags);
2286 - suite._addSuite(child);
2287 - if (type === "only" || type === "serial.only" || type === "parallel.only")
2288 - child._only = true;
2289 - if (type === "serial" || type === "serial.only")
2290 - child._parallelMode = "serial";
2291 - if (type === "parallel" || type === "parallel.only")
2292 - child._parallelMode = "parallel";
2293 - if (type === "skip" || type === "fixme")
2294 - child._staticAnnotations.push({ type, location });
2295 - for (let parent = suite; parent; parent = parent.parent) {
2296 - if (parent._parallelMode === "serial" && child._parallelMode === "parallel")
2297 - throw new Error("describe.parallel cannot be nested inside describe.serial");
2298 - if (parent._parallelMode === "default" && child._parallelMode === "parallel")
2299 - throw new Error("describe.parallel cannot be nested inside describe with default mode");
2300 - }
2301 - (0, import_globals2.setCurrentlyLoadingFileSuite)(child);
2302 - body();
2303 - (0, import_globals2.setCurrentlyLoadingFileSuite)(suite);
2304 - }
2305 - _hook(name, location, title, fn) {
2306 - const suite = this._currentSuite(location, `test.${name}()`);
2307 - if (!suite)
2308 - return;
2309 - if (typeof title === "function") {
2310 - fn = title;
2311 - title = `${name} hook`;
2312 - }
2313 - suite._hooks.push({ type: name, fn, title, location });
2314 - }
2315 - _configure(location, options) {
2316 - throwIfRunningInsideJest();
2317 - const suite = this._currentSuite(location, `test.describe.configure()`);
2318 - if (!suite)
2319 - return;
2320 - if (options.timeout !== void 0)
2321 - suite._timeout = options.timeout;
2322 - if (options.retries !== void 0)
2323 - suite._retries = options.retries;
2324 - if (options.mode !== void 0) {
2325 - if (suite._parallelMode !== "none")
2326 - throw new Error(`"${suite._parallelMode}" mode is already assigned for the enclosing scope.`);
2327 - suite._parallelMode = options.mode;
2328 - for (let parent = suite.parent; parent; parent = parent.parent) {
2329 - if (parent._parallelMode === "serial" && suite._parallelMode === "parallel")
2330 - throw new Error("describe with parallel mode cannot be nested inside describe with serial mode");
2331 - if (parent._parallelMode === "default" && suite._parallelMode === "parallel")
2332 - throw new Error("describe with parallel mode cannot be nested inside describe with default mode");
2333 - }
2334 - }
2335 - }
2336 - _modifier(type, location, ...modifierArgs) {
2337 - const suite = (0, import_globals2.currentlyLoadingFileSuite)();
2338 - if (suite) {
2339 - if (typeof modifierArgs[0] === "string" && typeof modifierArgs[1] === "function" && (type === "skip" || type === "fixme" || type === "fail")) {
2340 - this._createTest(type, location, modifierArgs[0], modifierArgs[1]);
2341 - return;
2342 - }
2343 - if (typeof modifierArgs[0] === "string" && typeof modifierArgs[1] === "object" && typeof modifierArgs[2] === "function" && (type === "skip" || type === "fixme" || type === "fail")) {
2344 - this._createTest(type, location, modifierArgs[0], modifierArgs[1], modifierArgs[2]);
2345 - return;
2346 - }
2347 - if (typeof modifierArgs[0] === "function") {
2348 - suite._modifiers.push({ type, fn: modifierArgs[0], location, description: modifierArgs[1] });
2349 - } else {
2350 - if (modifierArgs.length >= 1 && !modifierArgs[0])
2351 - return;
2352 - const description = modifierArgs[1];
2353 - suite._staticAnnotations.push({ type, description, location });
2354 - }
2355 - return;
2356 - }
2357 - const testInfo = (0, import_globals2.currentTestInfo)();
2358 - if (!testInfo)
2359 - throw new Error(`test.${type}() can only be called inside test, describe block or fixture`);
2360 - if (typeof modifierArgs[0] === "function")
2361 - throw new Error(`test.${type}() with a function can only be called inside describe block`);
2362 - testInfo._modifier(type, location, modifierArgs);
2363 - }
2364 - _abort(location, message) {
2365 - const testInfo = (0, import_globals2.currentTestInfo)();
2366 - if (!testInfo)
2367 - throw new Error(`test.abort() can only be called inside a test or fixture`);
2368 - testInfo._abort(location, message);
2369 - }
2370 - _setTimeout(location, timeout) {
2371 - const suite = (0, import_globals2.currentlyLoadingFileSuite)();
2372 - if (suite) {
2373 - suite._timeout = timeout;
2374 - return;
2375 - }
2376 - const testInfo = (0, import_globals2.currentTestInfo)();
2377 - if (!testInfo)
2378 - throw new Error(`test.setTimeout() can only be called from a test`);
2379 - testInfo.setTimeout(timeout);
2380 - }
2381 - _use(location, fixtures) {
2382 - const suite = this._currentSuite(location, `test.use()`);
2383 - if (!suite)
2384 - return;
2385 - suite._use.push({ fixtures, location });
2386 - }
2387 - async _step(expectation, title, body, options = {}) {
2388 - const testInfo = (0, import_globals2.currentTestInfo)();
2389 - if (!testInfo)
2390 - throw new Error(`test.step() can only be called from a test`);
2391 - await testInfo._onUserStepBegin?.(title);
2392 - const step = testInfo._addStep({ category: "test.step", title, location: options.location, box: options.box });
2393 - return await currentZone().with("stepZone", step).run(async () => {
2394 - try {
2395 - let result2 = void 0;
2396 - result2 = await raceAgainstDeadline(async () => {
2397 - try {
2398 - return await step.info._runStepBody(expectation === "skip", body, step.location);
2399 - } catch (e) {
2400 - if (result2?.timedOut)
2401 - testInfo._failWithError(e);
2402 - throw e;
2403 - }
2404 - }, options.timeout ? monotonicTime() + options.timeout : 0);
2405 - if (result2.timedOut)
2406 - throw new TimeoutError(`Step timeout of ${options.timeout}ms exceeded.`);
2407 - step.complete({});
2408 - return result2.result;
2409 - } catch (error) {
2410 - step.complete({ error });
2411 - throw error;
2412 - } finally {
2413 - await testInfo._onUserStepEnd?.();
2414 - }
2415 - });
2416 - }
2417 - _extend(location, fixtures) {
2418 - if (fixtures[testTypeSymbol])
2419 - throw new Error(`test.extend() accepts fixtures object, not a test object.
2420 -Did you mean to call mergeTests()?`);
2421 - const fixturesWithLocation = { fixtures, location };
2422 - return new _TestTypeImpl([...this.fixtures, fixturesWithLocation]).test;
2423 - }
2424 -};
2425 -function throwIfRunningInsideJest() {
2426 - if (process.env.JEST_WORKER_ID) {
2427 - const packageManagerCommand = getPackageManagerExecCommand();
2428 - throw new Error(
2429 - `Playwright Test needs to be invoked via '${packageManagerCommand} playwright test' and excluded from Jest test runs.
2430 -Creating one directory for Playwright tests and one for Jest is the recommended way of doing it.
2431 -See https://playwright.dev/docs/intro for more information about Playwright Test.`
2432 - );
2433 - }
2434 -}
2435 -var rootTestType = new TestTypeImpl([]);
2436 -function mergeTests(...tests) {
2437 - let result2 = rootTestType;
2438 - for (const t of tests) {
2439 - const testTypeImpl = t[testTypeSymbol];
2440 - if (!testTypeImpl)
2441 - throw new Error(`mergeTests() accepts "test" functions as parameters.
2442 -Did you mean to call test.extend() with fixtures instead?`);
2443 - const newFixtures = testTypeImpl.fixtures.filter((theirs) => !result2.fixtures.find((ours) => ours.fixtures === theirs.fixtures));
2444 - result2 = new TestTypeImpl([...result2.fixtures, ...newFixtures]);
2445 - }
2446 - return result2.test;
2447 -}
2448 -var TimeoutError = class extends Error {
2449 - constructor(message) {
2450 - super(message);
2451 - this.name = "TimeoutError";
2452 - }
2453 -};
2454 -
2455 -// packages/playwright/src/isomorphic/teleReceiver.ts
2456 -var baseFullConfig = {
2457 - forbidOnly: false,
2458 - fullyParallel: false,
2459 - globalSetup: null,
2460 - globalTeardown: null,
2461 - globalTimeout: 0,
2462 - grep: /.*/,
2463 - grepInvert: null,
2464 - maxFailures: 0,
2465 - metadata: {},
2466 - preserveOutput: "always",
2467 - projects: [],
2468 - reporter: [[process.env.CI ? "dot" : "list"]],
2469 - reportSlowTests: {
2470 - max: 5,
2471 - threshold: 3e5
2472 - /* 5 minutes */
2473 - },
2474 - configFile: "",
2475 - rootDir: "",
2476 - quiet: false,
2477 - shard: null,
2478 - tags: [],
2479 - updateSnapshots: "missing",
2480 - updateSourceMethod: "patch",
2481 - version: "",
2482 - workers: 0,
2483 - webServer: null
2484 -};
2485 -function computeTestCaseOutcome(test) {
2486 - let skipped = 0;
2487 - let didNotRun = 0;
2488 - let expected = 0;
2489 - let interrupted = 0;
2490 - let unexpected = 0;
2491 - for (const result2 of test.results) {
2492 - if (result2.status === "interrupted") {
2493 - ++interrupted;
2494 - } else if (result2.status === "skipped" && test.expectedStatus === "skipped") {
2495 - ++skipped;
2496 - } else if (result2.status === "skipped") {
2497 - ++didNotRun;
2498 - } else if (result2.status === test.expectedStatus) {
2499 - ++expected;
2500 - } else {
2501 - ++unexpected;
2502 - }
2503 - }
2504 - if (expected === 0 && unexpected === 0)
2505 - return "skipped";
2506 - if (unexpected === 0)
2507 - return "expected";
2508 - if (expected === 0 && skipped === 0)
2509 - return "unexpected";
2510 - return "flaky";
2511 -}
2512 -
2513 -// packages/playwright/src/common/test.ts
2514 -var Base = class {
2515 - constructor(title) {
2516 - this._only = false;
2517 - this._requireFile = "";
2518 - this.title = title;
2519 - }
2520 -};
2521 -var Suite = class _Suite extends Base {
2522 - constructor(title, type) {
2523 - super(title);
2524 - this._use = [];
2525 - this._entries = [];
2526 - this._hooks = [];
2527 - // Annotations known statically before running the test, e.g. `test.describe.skip()` or `test.describe({ annotation }, body)`.
2528 - this._staticAnnotations = [];
2529 - // Explicitly declared tags that are not a part of the title.
2530 - this._tags = [];
2531 - this._modifiers = [];
2532 - this._parallelMode = "none";
2533 - this._type = type;
2534 - }
2535 - get type() {
2536 - return this._type;
2537 - }
2538 - entries() {
2539 - return this._entries;
2540 - }
2541 - get suites() {
2542 - return this._entries.filter((entry) => entry instanceof _Suite);
2543 - }
2544 - get tests() {
2545 - return this._entries.filter((entry) => entry instanceof TestCase);
2546 - }
2547 - _addTest(test) {
2548 - test.parent = this;
2549 - this._entries.push(test);
2550 - }
2551 - _addSuite(suite) {
2552 - suite.parent = this;
2553 - this._entries.push(suite);
2554 - }
2555 - _prependSuite(suite) {
2556 - suite.parent = this;
2557 - this._entries.unshift(suite);
2558 - }
2559 - allTests() {
2560 - const result2 = [];
2561 - const visit = (suite) => {
2562 - for (const entry of suite._entries) {
2563 - if (entry instanceof _Suite)
2564 - visit(entry);
2565 - else
2566 - result2.push(entry);
2567 - }
2568 - };
2569 - visit(this);
2570 - return result2;
2571 - }
2572 - _hasTests() {
2573 - let result2 = false;
2574 - const visit = (suite) => {
2575 - for (const entry of suite._entries) {
2576 - if (result2)
2577 - return;
2578 - if (entry instanceof _Suite)
2579 - visit(entry);
2580 - else
2581 - result2 = true;
2582 - }
2583 - };
2584 - visit(this);
2585 - return result2;
2586 - }
2587 - titlePath() {
2588 - const titlePath = this.parent ? this.parent.titlePath() : [];
2589 - if (this.title || this._type !== "describe")
2590 - titlePath.push(this.title);
2591 - return titlePath;
2592 - }
2593 - _collectGrepTitlePath(path10) {
2594 - if (this.parent)
2595 - this.parent._collectGrepTitlePath(path10);
2596 - if (this.title || this._type !== "describe")
2597 - path10.push(this.title);
2598 - path10.push(...this._tags);
2599 - }
2600 - _collectTagTitlePath(path10) {
2601 - this.parent?._collectTagTitlePath(path10);
2602 - if (this._type === "describe")
2603 - path10.push(this.title);
2604 - path10.push(...this._tags);
2605 - }
2606 - _getOnlyItems() {
2607 - const items = [];
2608 - if (this._only)
2609 - items.push(this);
2610 - for (const suite of this.suites)
2611 - items.push(...suite._getOnlyItems());
2612 - items.push(...this.tests.filter((test) => test._only));
2613 - return items;
2614 - }
2615 - _deepClone() {
2616 - const suite = this._clone();
2617 - for (const entry of this._entries) {
2618 - if (entry instanceof _Suite)
2619 - suite._addSuite(entry._deepClone());
2620 - else
2621 - suite._addTest(entry._clone());
2622 - }
2623 - return suite;
2624 - }
2625 - _deepSerialize() {
2626 - const suite = this._serialize();
2627 - suite.entries = [];
2628 - for (const entry of this._entries) {
2629 - if (entry instanceof _Suite)
2630 - suite.entries.push(entry._deepSerialize());
2631 - else
2632 - suite.entries.push(entry._serialize());
2633 - }
2634 - return suite;
2635 - }
2636 - static _deepParse(data) {
2637 - const suite = _Suite._parse(data);
2638 - for (const entry of data.entries) {
2639 - if (entry.kind === "suite")
2640 - suite._addSuite(_Suite._deepParse(entry));
2641 - else
2642 - suite._addTest(TestCase._parse(entry));
2643 - }
2644 - return suite;
2645 - }
2646 - forEachTest(visitor) {
2647 - for (const entry of this._entries) {
2648 - if (entry instanceof _Suite)
2649 - entry.forEachTest(visitor);
2650 - else
2651 - visitor(entry, this);
2652 - }
2653 - }
2654 - _serialize() {
2655 - return {
2656 - kind: "suite",
2657 - title: this.title,
2658 - type: this._type,
2659 - location: this.location,
2660 - only: this._only,
2661 - requireFile: this._requireFile,
2662 - timeout: this._timeout,
2663 - retries: this._retries,
2664 - staticAnnotations: this._staticAnnotations.slice(),
2665 - tags: this._tags.slice(),
2666 - modifiers: this._modifiers.slice(),
2667 - parallelMode: this._parallelMode,
2668 - hooks: this._hooks.map((h) => ({ type: h.type, location: h.location, title: h.title })),
2669 - fileId: this._fileId
2670 - };
2671 - }
2672 - static _parse(data) {
2673 - const suite = new _Suite(data.title, data.type);
2674 - suite.location = data.location;
2675 - suite._only = data.only;
2676 - suite._requireFile = data.requireFile;
2677 - suite._timeout = data.timeout;
2678 - suite._retries = data.retries;
2679 - suite._staticAnnotations = data.staticAnnotations;
2680 - suite._tags = data.tags;
2681 - suite._modifiers = data.modifiers;
2682 - suite._parallelMode = data.parallelMode;
2683 - suite._hooks = data.hooks.map((h) => ({ type: h.type, location: h.location, title: h.title, fn: () => {
2684 - } }));
2685 - suite._fileId = data.fileId;
2686 - return suite;
2687 - }
2688 - _clone() {
2689 - const data = this._serialize();
2690 - const suite = _Suite._parse(data);
2691 - suite._use = this._use.slice();
2692 - suite._hooks = this._hooks.slice();
2693 - suite._fullProject = this._fullProject;
2694 - return suite;
2695 - }
2696 - project() {
2697 - return this._fullProject?.project || this.parent?.project();
2698 - }
2699 -};
2700 -var TestCase = class _TestCase extends Base {
2701 - constructor(title, fn, testType, location) {
2702 - super(title);
2703 - this.results = [];
2704 - this.type = "test";
2705 - this.expectedStatus = "passed";
2706 - this.timeout = 0;
2707 - this.annotations = [];
2708 - this.retries = 0;
2709 - this.repeatEachIndex = 0;
2710 - this.id = "";
2711 - this._poolDigest = "";
2712 - this._workerHash = "";
2713 - this._projectId = "";
2714 - // Explicitly declared tags that are not a part of the title.
2715 - this._tags = [];
2716 - this.fn = fn;
2717 - this._testType = testType;
2718 - this.location = location;
2719 - }
2720 - titlePath() {
2721 - const titlePath = this.parent ? this.parent.titlePath() : [];
2722 - titlePath.push(this.title);
2723 - return titlePath;
2724 - }
2725 - outcome() {
2726 - return computeTestCaseOutcome(this);
2727 - }
2728 - ok() {
2729 - const status = this.outcome();
2730 - return status === "expected" || status === "flaky" || status === "skipped";
2731 - }
2732 - get tags() {
2733 - const path10 = [];
2734 - this.parent._collectTagTitlePath(path10);
2735 - path10.push(this.title);
2736 - const titleTags = path10.join(" ").match(/@[\S]+/g) || [];
2737 - return [
2738 - ...titleTags,
2739 - ...this._tags
2740 - ];
2741 - }
2742 - _serialize() {
2743 - return {
2744 - kind: "test",
2745 - id: this.id,
2746 - title: this.title,
2747 - retries: this.retries,
2748 - timeout: this.timeout,
2749 - expectedStatus: this.expectedStatus,
2750 - location: this.location,
2751 - only: this._only,
2752 - requireFile: this._requireFile,
2753 - poolDigest: this._poolDigest,
2754 - workerHash: this._workerHash,
2755 - annotations: this.annotations.slice(),
2756 - tags: this._tags.slice(),
2757 - projectId: this._projectId
2758 - };
2759 - }
2760 - static _parse(data) {
2761 - const test = new _TestCase(data.title, () => {
2762 - }, rootTestType, data.location);
2763 - test.id = data.id;
2764 - test.retries = data.retries;
2765 - test.timeout = data.timeout;
2766 - test.expectedStatus = data.expectedStatus;
2767 - test._only = data.only;
2768 - test._requireFile = data.requireFile;
2769 - test._poolDigest = data.poolDigest;
2770 - test._workerHash = data.workerHash;
2771 - test.annotations = data.annotations;
2772 - test._tags = data.tags;
2773 - test._projectId = data.projectId;
2774 - return test;
2775 - }
2776 - _clone() {
2777 - const data = this._serialize();
2778 - const test = _TestCase._parse(data);
2779 - test._testType = this._testType;
2780 - test.fn = this.fn;
2781 - return test;
2782 - }
2783 - _appendTestResult() {
2784 - const result2 = {
2785 - retry: this.results.length,
2786 - parallelIndex: -1,
2787 - workerIndex: -1,
2788 - duration: 0,
2789 - startTime: /* @__PURE__ */ new Date(),
2790 - stdout: [],
2791 - stderr: [],
2792 - attachments: [],
2793 - status: "skipped",
2794 - steps: [],
2795 - errors: [],
2796 - annotations: []
2797 - };
2798 - this.results.push(result2);
2799 - return result2;
2800 - }
2801 - _grepBaseTitlePath() {
2802 - const path10 = [];
2803 - this.parent._collectGrepTitlePath(path10);
2804 - path10.push(this.title);
2805 - return path10;
2806 - }
2807 - _grepTitleWithTags() {
2808 - const path10 = this._grepBaseTitlePath();
2809 - path10.push(...this._tags);
2810 - return path10.join(" ");
2811 - }
2812 -};
2813 -
2814 -// packages/playwright/src/common/testLoader.ts
2815 -var testLoader_exports = {};
2816 -__export(testLoader_exports, {
2817 - defaultTimeout: () => defaultTimeout2,
2818 - loadTestFile: () => loadTestFile
2819 -});
2820 -var import_path9 = __toESM(require("path"));
2821 -var import_util10 = __toESM(require("util"));
2822 -var import_globals3 = require("../globals");
2823 -var defaultTimeout2 = 3e4;
2824 -var cachedFileSuites = /* @__PURE__ */ new Map();
2825 -async function loadTestFile(file2, config, testErrors) {
2826 - if (cachedFileSuites.has(file2))
2827 - return cachedFileSuites.get(file2);
2828 - const suite = new Suite(import_path9.default.relative(config.config.rootDir, file2) || import_path9.default.basename(file2), "file");
2829 - suite._requireFile = file2;
2830 - suite.location = { file: file2, line: 0, column: 0 };
2831 - suite._tags = [...config.config.tags];
2832 - (0, import_globals3.setCurrentlyLoadingFileSuite)(suite);
2833 - if (!(0, import_globals3.isWorkerProcess)()) {
2834 - startCollectingFileDeps();
2835 - await startCollectingFileDeps2();
2836 - }
2837 - try {
2838 - await requireOrImport(file2);
2839 - cachedFileSuites.set(file2, suite);
2840 - } catch (e) {
2841 - if (!testErrors)
2842 - throw e;
2843 - testErrors.push(serializeLoadError(file2, e));
2844 - } finally {
2845 - (0, import_globals3.setCurrentlyLoadingFileSuite)(void 0);
2846 - if (!(0, import_globals3.isWorkerProcess)()) {
2847 - stopCollectingFileDeps(file2);
2848 - await stopCollectingFileDeps2(file2);
2849 - }
2850 - }
2851 - {
2852 - const files = /* @__PURE__ */ new Set();
2853 - suite.allTests().map((t) => files.add(t.location.file));
2854 - if (files.size === 1) {
2855 - const mappedFile = files.values().next().value;
2856 - if (suite.location.file !== mappedFile) {
2857 - if (import_path9.default.extname(mappedFile) !== import_path9.default.extname(suite.location.file))
2858 - suite.location.file = mappedFile;
2859 - }
2860 - }
2861 - }
2862 - return suite;
2863 -}
2864 -function serializeLoadError(file2, error) {
2865 - if (error instanceof Error) {
2866 - const result2 = filterStackTrace(error);
2867 - const loc = error.loc;
2868 - result2.location = loc ? {
2869 - file: file2,
2870 - line: loc.line || 0,
2871 - column: loc.column || 0
2872 - } : void 0;
2873 - return result2;
2874 - }
2875 - return { value: import_util10.default.inspect(error) };
2876 -}
2877 -// Annotate the CommonJS export names for ESM import in node:
2878 -0 && (module.exports = {
2879 - FullConfigInternal,
2880 - ProcessRunner,
2881 - builtInReporters,
2882 - cc,
2883 - config,
2884 - configLoader,
2885 - defineConfig,
2886 - esm,
2887 - fixtures,
2888 - ipc,
2889 - mergeTests,
2890 - poolBuilder,
2891 - processRunner,
2892 - startProcessRunner,
2893 - suiteUtils,
2894 - test,
2895 - testLoader,
2896 - testType,
2897 - transform
2898 -});
node_modules/playwright/lib/common/index.js.txt deleted
-35
@@ -1,35 +0,0 @@
1 -# packages/playwright/lib/common/index.js
2 -# total: 111.2 KB
3 -
4 -## Inlined (20)
5 - 11.6 KB packages/playwright/src/common/config.ts
6 - 13.7 KB packages/playwright/src/common/configLoader.ts
7 - 2.1 KB packages/playwright/src/common/esmLoaderHost.ts
8 - 10.9 KB packages/playwright/src/common/fixtures.ts
9 - 0.8 KB packages/playwright/src/common/index.ts
10 - 1.3 KB packages/playwright/src/common/ipc.ts
11 - 2.1 KB packages/playwright/src/common/poolBuilder.ts
12 - 3.7 KB packages/playwright/src/common/process.ts
13 - 4.7 KB packages/playwright/src/common/suiteUtils.ts
14 - 7.9 KB packages/playwright/src/common/test.ts
15 - 2.1 KB packages/playwright/src/common/testLoader.ts
16 - 12.5 KB packages/playwright/src/common/testType.ts
17 - 1.2 KB packages/playwright/src/common/validators.ts
18 - 1.3 KB packages/playwright/src/isomorphic/teleReceiver.ts
19 - 9.6 KB packages/playwright/src/transform/compilationCache.ts
20 - 1.1 KB packages/playwright/src/transform/pirates.ts
21 - 1.1 KB packages/playwright/src/transform/portTransport.ts
22 - 10.2 KB packages/playwright/src/transform/transform.ts
23 - 2.9 KB packages/playwright/src/transform/tsconfig-loader.ts
24 - 7.5 KB packages/playwright/src/util.ts
25 -
26 -## External (9)
27 - ../globals
28 - ../matchers/expect
29 - ../package
30 - ../transform/esmLoader.js
31 - playwright
32 - playwright-core/lib/bootstrap
33 - playwright-core/lib/coreBundle
34 - playwright-core/lib/utilsBundle
35 - playwright-core/package.json
node_modules/playwright/lib/errorContext.js deleted
-130
@@ -1,130 +0,0 @@
1 -"use strict";
2 -var __create = Object.create;
3 -var __defProp = Object.defineProperty;
4 -var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5 -var __getOwnPropNames = Object.getOwnPropertyNames;
6 -var __getProtoOf = Object.getPrototypeOf;
7 -var __hasOwnProp = Object.prototype.hasOwnProperty;
8 -var __export = (target, all) => {
9 - for (var name in all)
10 - __defProp(target, name, { get: all[name], enumerable: true });
11 -};
12 -var __copyProps = (to, from, except, desc) => {
13 - if (from && typeof from === "object" || typeof from === "function") {
14 - for (let key of __getOwnPropNames(from))
15 - if (!__hasOwnProp.call(to, key) && key !== except)
16 - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17 - }
18 - return to;
19 -};
20 -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21 - // If the importer is in node compatibility mode or this is not an ESM
22 - // file that has been converted to a CommonJS file using a Babel-
23 - // compatible transform (i.e. "__esModule" has not been set), then set
24 - // "default" to the CommonJS "module.exports" for node compatibility.
25 - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26 - mod
27 -));
28 -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29 -var errorContext_exports = {};
30 -__export(errorContext_exports, {
31 - buildErrorContext: () => buildErrorContext
32 -});
33 -module.exports = __toCommonJS(errorContext_exports);
34 -var import_fs = __toESM(require("fs"));
35 -var import_path = __toESM(require("path"));
36 -var import_util = require("./util");
37 -const { parseErrorStack } = require("playwright-core/lib/coreBundle").iso;
38 -const { stripAnsiEscapes } = require("playwright-core/lib/coreBundle").iso;
39 -const fixTestInstructions = `# Instructions
40 -
41 -- Following Playwright test failed.
42 -- Explain why, be concise, respect Playwright best practices.
43 -- Provide a snippet of code with the fix, if possible.
44 -`;
45 -function buildErrorContext(options) {
46 - const { titlePath, location, errors, pageSnapshot } = options;
47 - const meaningfulErrors = errors.filter((e) => !!e.message);
48 - if (!meaningfulErrors.length && !pageSnapshot)
49 - return void 0;
50 - const lines = [
51 - fixTestInstructions,
52 - "# Test info",
53 - "",
54 - `- Name: ${titlePath.join(" >> ")}`,
55 - `- Location: ${(0, import_util.relativeFilePath)(location.file)}:${location.line}:${location.column}`
56 - ];
57 - if (meaningfulErrors.length) {
58 - lines.push("", "# Error details");
59 - for (const error of meaningfulErrors) {
60 - lines.push(
61 - "",
62 - "```",
63 - stripAnsiEscapes(error.message || ""),
64 - "```"
65 - );
66 - if (error.errorContext) {
67 - lines.push(
68 - "",
69 - "```yaml",
70 - error.errorContext,
71 - "```"
72 - );
73 - }
74 - }
75 - }
76 - if (pageSnapshot) {
77 - lines.push(
78 - "",
79 - "# Page snapshot",
80 - "",
81 - "```yaml",
82 - pageSnapshot,
83 - "```"
84 - );
85 - }
86 - const lastError = meaningfulErrors[meaningfulErrors.length - 1];
87 - const codeFrame = lastError ? buildCodeFrame(lastError, location) : void 0;
88 - if (codeFrame) {
89 - lines.push(
90 - "",
91 - "# Test source",
92 - "",
93 - "```ts",
94 - codeFrame,
95 - "```"
96 - );
97 - }
98 - return lines.join("\n");
99 -}
100 -function buildCodeFrame(error, testLocation) {
101 - const stack = error.stack;
102 - if (!stack)
103 - return void 0;
104 - const parsed = parseErrorStack(stack, import_path.default.sep);
105 - const errorLocation = parsed.location;
106 - if (!errorLocation)
107 - return void 0;
108 - let source;
109 - try {
110 - source = import_fs.default.readFileSync(errorLocation.file, "utf8");
111 - } catch {
112 - return void 0;
113 - }
114 - const sourceLines = source.split("\n");
115 - const linesAbove = 100;
116 - const linesBelow = 100;
117 - const start = Math.max(0, errorLocation.line - linesAbove - 1);
118 - const end = Math.min(sourceLines.length, errorLocation.line + linesBelow);
119 - const scope = sourceLines.slice(start, end);
120 - const lineNumberWidth = String(end).length;
121 - const message = stripAnsiEscapes(error.message || "").split("\n")[0] || void 0;
122 - const frame = scope.map((line, index) => `${start + index + 1 === errorLocation.line ? "> " : " "}${(start + index + 1).toString().padEnd(lineNumberWidth, " ")} | ${line}`);
123 - if (message)
124 - frame.splice(errorLocation.line - start, 0, `${" ".repeat(lineNumberWidth + 2)} | ${" ".repeat(Math.max(0, errorLocation.column - 2))} ^ ${message}`);
125 - return frame.join("\n");
126 -}
127 -// Annotate the CommonJS export names for ESM import in node:
128 -0 && (module.exports = {
129 - buildErrorContext
130 -});
node_modules/playwright/lib/globals.js deleted
-58
@@ -1,58 +0,0 @@
1 -"use strict";
2 -var __defProp = Object.defineProperty;
3 -var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4 -var __getOwnPropNames = Object.getOwnPropertyNames;
5 -var __hasOwnProp = Object.prototype.hasOwnProperty;
6 -var __export = (target, all) => {
7 - for (var name in all)
8 - __defProp(target, name, { get: all[name], enumerable: true });
9 -};
10 -var __copyProps = (to, from, except, desc) => {
11 - if (from && typeof from === "object" || typeof from === "function") {
12 - for (let key of __getOwnPropNames(from))
13 - if (!__hasOwnProp.call(to, key) && key !== except)
14 - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15 - }
16 - return to;
17 -};
18 -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19 -var globals_exports = {};
20 -__export(globals_exports, {
21 - currentTestInfo: () => currentTestInfo,
22 - currentlyLoadingFileSuite: () => currentlyLoadingFileSuite,
23 - isWorkerProcess: () => isWorkerProcess,
24 - setCurrentTestInfo: () => setCurrentTestInfo,
25 - setCurrentlyLoadingFileSuite: () => setCurrentlyLoadingFileSuite,
26 - setIsWorkerProcess: () => setIsWorkerProcess
27 -});
28 -module.exports = __toCommonJS(globals_exports);
29 -let currentTestInfoValue = null;
30 -function setCurrentTestInfo(testInfo) {
31 - currentTestInfoValue = testInfo;
32 -}
33 -function currentTestInfo() {
34 - return currentTestInfoValue;
35 -}
36 -let currentFileSuite;
37 -function setCurrentlyLoadingFileSuite(suite) {
38 - currentFileSuite = suite;
39 -}
40 -function currentlyLoadingFileSuite() {
41 - return currentFileSuite;
42 -}
43 -let _isWorkerProcess = false;
44 -function setIsWorkerProcess() {
45 - _isWorkerProcess = true;
46 -}
47 -function isWorkerProcess() {
48 - return _isWorkerProcess;
49 -}
50 -// Annotate the CommonJS export names for ESM import in node:
51 -0 && (module.exports = {
52 - currentTestInfo,
53 - currentlyLoadingFileSuite,
54 - isWorkerProcess,
55 - setCurrentTestInfo,
56 - setCurrentlyLoadingFileSuite,
57 - setIsWorkerProcess
58 -});
node_modules/playwright/lib/index.js deleted
-779
@@ -1,779 +0,0 @@
1 -"use strict";
2 -var __create = Object.create;
3 -var __defProp = Object.defineProperty;
4 -var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5 -var __getOwnPropNames = Object.getOwnPropertyNames;
6 -var __getProtoOf = Object.getPrototypeOf;
7 -var __hasOwnProp = Object.prototype.hasOwnProperty;
8 -var __export = (target, all) => {
9 - for (var name in all)
10 - __defProp(target, name, { get: all[name], enumerable: true });
11 -};
12 -var __copyProps = (to, from, except, desc) => {
13 - if (from && typeof from === "object" || typeof from === "function") {
14 - for (let key of __getOwnPropNames(from))
15 - if (!__hasOwnProp.call(to, key) && key !== except)
16 - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17 - }
18 - return to;
19 -};
20 -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21 - // If the importer is in node compatibility mode or this is not an ESM
22 - // file that has been converted to a CommonJS file using a Babel-
23 - // compatible transform (i.e. "__esModule" has not been set), then set
24 - // "default" to the CommonJS "module.exports" for node compatibility.
25 - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26 - mod
27 -));
28 -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29 -var index_exports = {};
30 -__export(index_exports, {
31 - _baseTest: () => _baseTest,
32 - _utilityTest: () => _utilityTest,
33 - defineConfig: () => import_common2.defineConfig,
34 - expect: () => import_expect.expect,
35 - mergeExpects: () => import_expect2.mergeExpects,
36 - mergeTests: () => import_common2.mergeTests,
37 - test: () => test
38 -});
39 -module.exports = __toCommonJS(index_exports);
40 -var import_fs = __toESM(require("fs"));
41 -var import_path = __toESM(require("path"));
42 -var playwrightLibrary = __toESM(require("playwright-core"));
43 -var import_errorContext = require("./errorContext");
44 -var import_common = require("./common");
45 -var globals = __toESM(require("./globals"));
46 -var import_package = require("./package");
47 -var import_browserBackend = require("./mcp/test/browserBackend");
48 -var import_expect = require("./matchers/expect");
49 -var import_common2 = require("./common");
50 -var import_expect2 = require("./matchers/expect");
51 -const { asLocatorDescription } = require("playwright-core/lib/coreBundle").iso;
52 -const { getActionGroup, renderTitleForCall } = require("playwright-core/lib/coreBundle").iso;
53 -const { escapeHTML } = require("playwright-core/lib/coreBundle").iso;
54 -const { jsonStringifyForceASCII } = require("playwright-core/lib/coreBundle").utils;
55 -const { createGuid } = require("playwright-core/lib/coreBundle").utils;
56 -const { debugMode } = require("playwright-core/lib/coreBundle").utils;
57 -const { setBoxedStackPrefixes } = require("playwright-core/lib/coreBundle").utils;
58 -const { currentZone } = require("playwright-core/lib/coreBundle").utils;
59 -const _baseTest = import_common.testType.rootTestType.test;
60 -setBoxedStackPrefixes([import_package.packageRoot]);
61 -if (process["__pw_initiator__"]) {
62 - const originalStackTraceLimit = Error.stackTraceLimit;
63 - Error.stackTraceLimit = 200;
64 - try {
65 - throw new Error("Requiring @playwright/test second time, \nFirst:\n" + process["__pw_initiator__"] + "\n\nSecond: ");
66 - } finally {
67 - Error.stackTraceLimit = originalStackTraceLimit;
68 - }
69 -} else {
70 - process["__pw_initiator__"] = new Error().stack;
71 -}
72 -const utilityFixtures = {
73 - playwright: [async ({}, use) => {
74 - await use(require("playwright-core"));
75 - }, { scope: "worker", box: true }],
76 - screenshot: ["off", { scope: "worker", option: true, box: true }],
77 - trace: ["off", { scope: "worker", option: true, box: true }],
78 - testIdAttribute: ["data-testid", { option: true, box: true }],
79 - _combinedContextOptions: [{}, { box: true }],
80 - _setupArtifacts: [async ({ playwright, screenshot, _combinedContextOptions }, use, testInfo) => {
81 - testInfo.setTimeout(testInfo.project.timeout);
82 - const artifactsRecorder = new ArtifactsRecorder(playwright, tracing().artifactsDir(), screenshot);
83 - await artifactsRecorder.willStartTest(testInfo);
84 - const tracingGroupSteps = [];
85 - const pausedContexts = /* @__PURE__ */ new Set();
86 - const csiListener = {
87 - onApiCallBegin: (data, channel) => {
88 - const testInfo2 = globals.currentTestInfo();
89 - if (!testInfo2 || data.apiName.includes("setTestIdAttribute") || data.apiName === "tracing.groupEnd")
90 - return;
91 - const zone = currentZone().data("stepZone");
92 - const isExpectCall = data.apiName === "locator._expect" || data.apiName === "frame._expect" || data.apiName === "page._expectScreenshot";
93 - if (zone && zone.category === "expect" && isExpectCall) {
94 - if (zone.apiName)
95 - data.apiName = zone.apiName;
96 - if (zone.shortTitle || zone.title)
97 - data.title = zone.shortTitle ?? zone.title;
98 - data.stepId = zone.stepId;
99 - return;
100 - }
101 - const step = testInfo2._addStep({
102 - location: data.frames[0],
103 - category: "pw:api",
104 - title: renderTitle(channel.type, channel.method, channel.params, data.title),
105 - apiName: data.apiName,
106 - params: channel.params,
107 - group: getActionGroup({ type: channel.type, method: channel.method })
108 - }, tracingGroupSteps[tracingGroupSteps.length - 1]);
109 - data.userData = step;
110 - data.stepId = step.stepId;
111 - if (data.apiName === "tracing.group")
112 - tracingGroupSteps.push(step);
113 - },
114 - onApiCallEnd: (data) => {
115 - if (data.apiName === "tracing.group")
116 - return;
117 - if (data.apiName === "tracing.groupEnd") {
118 - const step2 = tracingGroupSteps.pop();
119 - step2?.complete({ error: data.error });
120 - return;
121 - }
122 - const step = data.userData;
123 - step?.complete({ error: data.error });
124 - },
125 - onWillPause: ({ keepTestTimeout }) => {
126 - if (!keepTestTimeout)
127 - globals.currentTestInfo()?._setIgnoreTimeouts(true);
128 - },
129 - runBeforeCreateBrowserContext: async (options) => {
130 - for (const [key, value] of Object.entries(_combinedContextOptions)) {
131 - if (!(key in options))
132 - options[key] = value;
133 - }
134 - },
135 - runBeforeCreateRequestContext: async (options) => {
136 - for (const [key, value] of Object.entries(_combinedContextOptions)) {
137 - if (!(key in options))
138 - options[key] = value;
139 - }
140 - },
141 - runAfterCreateBrowserContext: async (context) => {
142 - context.debugger.on("pausedstatechanged", () => {
143 - const paused = !!context.debugger.pausedDetails();
144 - if (pausedContexts.has(context) && !paused) {
145 - pausedContexts.delete(context);
146 - testInfo._setIgnoreTimeouts(false);
147 - } else if (!pausedContexts.has(context) && paused) {
148 - pausedContexts.add(context);
149 - testInfo._setIgnoreTimeouts(true);
150 - }
151 - });
152 - await artifactsRecorder.didCreateBrowserContext(context);
153 - const currentTestInfo = globals.currentTestInfo();
154 - if (currentTestInfo) {
155 - attachConnectedHeaderIfNeeded(currentTestInfo, context.browser());
156 - currentTestInfo._onCustomMessageCallback = (0, import_browserBackend.createCustomMessageHandler)(currentTestInfo, context);
157 - await (0, import_browserBackend.runDaemonForContext)(currentTestInfo, context);
158 - }
159 - },
160 - runAfterCreateRequestContext: async (context) => {
161 - await artifactsRecorder.didCreateRequestContext(context);
162 - },
163 - runBeforeCloseBrowserContext: async (context) => {
164 - await artifactsRecorder.willCloseBrowserContext(context);
165 - },
166 - runBeforeCloseRequestContext: async (context) => {
167 - await artifactsRecorder.willCloseRequestContext(context);
168 - }
169 - };
170 - const clientInstrumentation = playwright._instrumentation;
171 - clientInstrumentation.addListener(csiListener);
172 - await use();
173 - clientInstrumentation.removeListener(csiListener);
174 - await artifactsRecorder.didFinishTest();
175 - }, { auto: "all-hooks-included", title: "trace recording", box: true, timeout: 0 }],
176 - request: async ({ playwright }, use) => {
177 - const request = await playwright.request.newContext();
178 - await use(request);
179 - const hook = test.info()._currentHookType();
180 - if (hook === "beforeAll") {
181 - await request.dispose({ reason: [
182 - `Fixture { request } from beforeAll cannot be reused in a test.`,
183 - ` - Recommended fix: use a separate { request } in the test.`,
184 - ` - Alternatively, manually create APIRequestContext in beforeAll and dispose it in afterAll.`,
185 - `See https://playwright.dev/docs/api-testing#sending-api-requests-from-ui-tests for more details.`
186 - ].join("\n") });
187 - } else {
188 - await request.dispose();
189 - }
190 - }
191 -};
192 -const _utilityTest = _baseTest.extend(utilityFixtures);
193 -const playwrightFixtures = {
194 - defaultBrowserType: ["chromium", { scope: "worker", option: true, box: true }],
195 - browserName: [({ defaultBrowserType }, use) => use(defaultBrowserType), { scope: "worker", option: true, box: true }],
196 - headless: [({ launchOptions }, use) => use(launchOptions.headless ?? true), { scope: "worker", option: true, box: true }],
197 - channel: [({ launchOptions }, use) => use(launchOptions.channel), { scope: "worker", option: true, box: true }],
198 - launchOptions: [{}, { scope: "worker", option: true, box: true }],
199 - connectOptions: [async ({ _optionConnectOptions }, use) => {
200 - await use(connectOptionsFromEnv() || _optionConnectOptions);
201 - }, { scope: "worker", option: true, box: true }],
202 - video: ["off", { scope: "worker", option: true, box: true }],
203 - _browserOptions: [async ({ playwright, headless, channel, launchOptions }, use) => {
204 - const options = {
205 - handleSIGINT: false,
206 - ...launchOptions,
207 - tracesDir: tracing().tracesDir(),
208 - artifactsDir: tracing().artifactsDir()
209 - };
210 - if (headless !== void 0)
211 - options.headless = headless;
212 - if (channel !== void 0)
213 - options.channel = channel;
214 - playwright._defaultLaunchOptions = options;
215 - await use(options);
216 - playwright._defaultLaunchOptions = void 0;
217 - }, { scope: "worker", auto: true, box: true }],
218 - browser: [async ({ playwright, browserName, _browserOptions, connectOptions }, use, workerInfo) => {
219 - if (!["chromium", "firefox", "webkit"].includes(browserName))
220 - throw new Error(`Unexpected browserName "${browserName}", must be one of "chromium", "firefox" or "webkit"`);
221 - if (connectOptions) {
222 - const browser2 = await playwright[browserName].connect(connectOptions.wsEndpoint, {
223 - ...connectOptions,
224 - exposeNetwork: connectOptions.exposeNetwork,
225 - headers: {
226 - // HTTP headers are ASCII only (not UTF-8).
227 - "x-playwright-launch-options": jsonStringifyForceASCII(_browserOptions),
228 - ...connectOptions.headers
229 - }
230 - });
231 - await use(browser2);
232 - await browser2.close({ reason: "Test ended." });
233 - return;
234 - }
235 - const browser = await playwright[browserName].launch();
236 - if (process.env.PLAYWRIGHT_DASHBOARD)
237 - await browser.bind(`worker-${workerInfo.parallelIndex}`);
238 - await use(browser);
239 - await browser.close({ reason: "Test ended." });
240 - }, { scope: "worker", timeout: 0 }],
241 - acceptDownloads: [({ contextOptions }, use) => use(contextOptions.acceptDownloads ?? true), { option: true, box: true }],
242 - bypassCSP: [({ contextOptions }, use) => use(contextOptions.bypassCSP ?? false), { option: true, box: true }],
243 - colorScheme: [({ contextOptions }, use) => use(contextOptions.colorScheme === void 0 ? "light" : contextOptions.colorScheme), { option: true, box: true }],
244 - deviceScaleFactor: [({ contextOptions }, use) => use(contextOptions.deviceScaleFactor), { option: true, box: true }],
245 - extraHTTPHeaders: [({ contextOptions }, use) => use(contextOptions.extraHTTPHeaders), { option: true, box: true }],
246 - geolocation: [({ contextOptions }, use) => use(contextOptions.geolocation), { option: true, box: true }],
247 - hasTouch: [({ contextOptions }, use) => use(contextOptions.hasTouch ?? false), { option: true, box: true }],
248 - httpCredentials: [({ contextOptions }, use) => use(contextOptions.httpCredentials), { option: true, box: true }],
249 - ignoreHTTPSErrors: [({ contextOptions }, use) => use(contextOptions.ignoreHTTPSErrors ?? false), { option: true, box: true }],
250 - isMobile: [({ contextOptions }, use) => use(contextOptions.isMobile ?? false), { option: true, box: true }],
251 - javaScriptEnabled: [({ contextOptions }, use) => use(contextOptions.javaScriptEnabled ?? true), { option: true, box: true }],
252 - locale: [({ contextOptions }, use) => use(contextOptions.locale ?? "en-US"), { option: true, box: true }],
253 - offline: [({ contextOptions }, use) => use(contextOptions.offline ?? false), { option: true, box: true }],
254 - permissions: [({ contextOptions }, use) => use(contextOptions.permissions), { option: true, box: true }],
255 - proxy: [({ contextOptions }, use) => use(contextOptions.proxy), { option: true, box: true }],
256 - storageState: [({ contextOptions }, use) => use(contextOptions.storageState), { option: true, box: true }],
257 - clientCertificates: [({ contextOptions }, use) => use(contextOptions.clientCertificates), { option: true, box: true }],
258 - timezoneId: [({ contextOptions }, use) => use(contextOptions.timezoneId), { option: true, box: true }],
259 - userAgent: [({ contextOptions }, use) => use(contextOptions.userAgent), { option: true, box: true }],
260 - viewport: [({ contextOptions }, use) => use(contextOptions.viewport === void 0 ? { width: 1280, height: 720 } : contextOptions.viewport), { option: true, box: true }],
261 - actionTimeout: [0, { option: true, box: true }],
262 - navigationTimeout: [0, { option: true, box: true }],
263 - baseURL: [async ({}, use) => {
264 - await use(process.env.PLAYWRIGHT_TEST_BASE_URL);
265 - }, { option: true, box: true }],
266 - serviceWorkers: [({ contextOptions }, use) => use(contextOptions.serviceWorkers ?? "allow"), { option: true, box: true }],
267 - contextOptions: [{}, { option: true, box: true }],
268 - _combinedContextOptions: [async ({
269 - acceptDownloads,
270 - bypassCSP,
271 - clientCertificates,
272 - colorScheme,
273 - deviceScaleFactor,
274 - extraHTTPHeaders,
275 - hasTouch,
276 - geolocation,
277 - httpCredentials,
278 - ignoreHTTPSErrors,
279 - isMobile,
280 - javaScriptEnabled,
281 - locale,
282 - offline,
283 - permissions,
284 - proxy,
285 - storageState,
286 - viewport,
287 - timezoneId,
288 - userAgent,
289 - baseURL,
290 - contextOptions,
291 - serviceWorkers
292 - }, use, testInfo) => {
293 - const options = {};
294 - if (acceptDownloads !== void 0)
295 - options.acceptDownloads = acceptDownloads;
296 - if (bypassCSP !== void 0)
297 - options.bypassCSP = bypassCSP;
298 - if (colorScheme !== void 0)
299 - options.colorScheme = colorScheme;
300 - if (deviceScaleFactor !== void 0)
301 - options.deviceScaleFactor = deviceScaleFactor;
302 - if (extraHTTPHeaders !== void 0)
303 - options.extraHTTPHeaders = extraHTTPHeaders;
304 - if (geolocation !== void 0)
305 - options.geolocation = geolocation;
306 - if (hasTouch !== void 0)
307 - options.hasTouch = hasTouch;
308 - if (httpCredentials !== void 0)
309 - options.httpCredentials = httpCredentials;
310 - if (ignoreHTTPSErrors !== void 0)
311 - options.ignoreHTTPSErrors = ignoreHTTPSErrors;
312 - if (isMobile !== void 0)
313 - options.isMobile = isMobile;
314 - if (javaScriptEnabled !== void 0)
315 - options.javaScriptEnabled = javaScriptEnabled;
316 - if (locale !== void 0)
317 - options.locale = locale;
318 - if (offline !== void 0)
319 - options.offline = offline;
320 - if (permissions !== void 0)
321 - options.permissions = permissions;
322 - if (proxy !== void 0)
323 - options.proxy = proxy;
324 - if (storageState !== void 0)
325 - options.storageState = storageState;
326 - if (clientCertificates?.length)
327 - options.clientCertificates = resolveClientCerticates(clientCertificates);
328 - if (timezoneId !== void 0)
329 - options.timezoneId = timezoneId;
330 - if (userAgent !== void 0)
331 - options.userAgent = userAgent;
332 - if (viewport !== void 0)
333 - options.viewport = viewport;
334 - if (baseURL !== void 0)
335 - options.baseURL = baseURL;
336 - if (serviceWorkers !== void 0)
337 - options.serviceWorkers = serviceWorkers;
338 - await use({
339 - ...contextOptions,
340 - ...options
341 - });
342 - }, { scope: "test", box: true }],
343 - _setupContextOptions: [async ({ playwright, actionTimeout, navigationTimeout, testIdAttribute }, use, _testInfo) => {
344 - const testInfo = _testInfo;
345 - if (testIdAttribute)
346 - playwrightLibrary.selectors.setTestIdAttribute(testIdAttribute);
347 - testInfo.snapshotSuffix = process.platform;
348 - testInfo._onCustomMessageCallback = () => Promise.reject(new Error("Only tests that use default Playwright context or page fixture support test_debug"));
349 - if (debugMode() === "inspector")
350 - testInfo._setIgnoreTimeouts(true);
351 - playwright._defaultContextTimeout = actionTimeout || 0;
352 - playwright._defaultContextNavigationTimeout = navigationTimeout || 0;
353 - await use();
354 - playwright._defaultContextTimeout = void 0;
355 - playwright._defaultContextNavigationTimeout = void 0;
356 - }, { auto: "all-hooks-included", title: "context configuration", box: true }],
357 - _contextFactory: [async ({
358 - browser,
359 - video,
360 - _reuseContext,
361 - _combinedContextOptions
362 - /** mitigate dep-via-auto lack of traceability */
363 - }, use, testInfo) => {
364 - const testInfoImpl = testInfo;
365 - const videoMode = normalizeVideoMode(video);
366 - const captureVideo = shouldCaptureVideo(videoMode, testInfo) && !_reuseContext;
367 - const contexts = /* @__PURE__ */ new Map();
368 - let counter = 0;
369 - await use(async (options) => {
370 - const hook = testInfoImpl._currentHookType();
371 - if (hook === "beforeAll" || hook === "afterAll") {
372 - throw new Error([
373 - `"context" and "page" fixtures are not supported in "${hook}" since they are created on a per-test basis.`,
374 - `If you would like to reuse a single page between tests, create context manually with browser.newContext(). See https://aka.ms/playwright/reuse-page for details.`,
375 - `If you would like to configure your page before each test, do that in beforeEach hook instead.`
376 - ].join("\n"));
377 - }
378 - const show = typeof video === "string" ? void 0 : video.show;
379 - const videoOptions = captureVideo ? {
380 - recordVideo: {
381 - dir: tracing().artifactsDir(),
382 - size: typeof video === "string" ? void 0 : video.size,
383 - showActions: show?.actions
384 - }
385 - } : {};
386 - const context = await browser.newContext({ ...videoOptions, ...options });
387 - if (process.env.PW_CLOCK === "frozen") {
388 - await context._wrapApiCall(async () => {
389 - await context.clock.install({ time: 0 });
390 - await context.clock.pauseAt(1e3);
391 - }, { internal: true });
392 - } else if (process.env.PW_CLOCK === "realtime") {
393 - await context._wrapApiCall(async () => {
394 - await context.clock.install({ time: 0 });
395 - }, { internal: true });
396 - }
397 - let closed = false;
398 - const close = async () => {
399 - if (closed)
400 - return;
401 - closed = true;
402 - const closeReason = testInfo.status === "timedOut" ? "Test timeout of " + testInfo.timeout + "ms exceeded." : "Test ended.";
403 - await context.close({ reason: closeReason });
404 - const testFailed = testInfo.status !== testInfo.expectedStatus;
405 - const preserveVideo = captureVideo && (videoMode === "on" || testFailed && videoMode === "retain-on-failure" || videoMode === "on-first-retry" && testInfo.retry === 1);
406 - if (preserveVideo) {
407 - const { pagesWithVideo: pagesForVideo } = contexts.get(context);
408 - const videos = pagesForVideo.map((p) => p.video()).filter((video2) => !!video2);
409 - await Promise.all(videos.map(async (v) => {
410 - try {
411 - const savedPath = testInfo.outputPath(`video${counter ? "-" + counter : ""}.webm`);
412 - ++counter;
413 - await v.saveAs(savedPath);
414 - testInfo.attachments.push({ name: "video", path: savedPath, contentType: "video/webm" });
415 - } catch (e) {
416 - }
417 - }));
418 - }
419 - };
420 - const contextData = { close, pagesWithVideo: [] };
421 - if (captureVideo)
422 - context.on("page", (page) => contextData.pagesWithVideo.push(page));
423 - contexts.set(context, contextData);
424 - return { context, close };
425 - });
426 - await Promise.all([...contexts.values()].map((data) => data.close()));
427 - }, { scope: "test", title: "context", box: true }],
428 - _optionContextReuseMode: ["none", { scope: "worker", option: true, box: true }],
429 - _optionConnectOptions: [void 0, { scope: "worker", option: true, box: true }],
430 - _reuseContext: [async ({ video, _optionContextReuseMode }, use) => {
431 - let mode = _optionContextReuseMode;
432 - if (process.env.PW_TEST_REUSE_CONTEXT)
433 - mode = "when-possible";
434 - const reuse = mode === "when-possible" && normalizeVideoMode(video) === "off";
435 - await use(reuse);
436 - }, { scope: "worker", title: "context", box: true }],
437 - context: async ({ browser, video, _reuseContext, _contextFactory }, use, testInfoPublic) => {
438 - const browserImpl = browser;
439 - const testInfo = testInfoPublic;
440 - const show = typeof video === "string" ? void 0 : video.show;
441 - attachConnectedHeaderIfNeeded(testInfo, browserImpl);
442 - if (!_reuseContext) {
443 - const { context: context2, close } = await _contextFactory();
444 - await installScreencastTitleUpdater(testInfo, context2, show?.test);
445 - await use(context2);
446 - await close();
447 - return;
448 - }
449 - const context = await browserImpl._wrapApiCall(() => browserImpl._newContextForReuse(), { internal: true });
450 - await installScreencastTitleUpdater(testInfo, context, show?.test);
451 - await use(context);
452 - const closeReason = testInfo.status === "timedOut" ? "Test timeout of " + testInfo.timeout + "ms exceeded." : "Test ended.";
453 - await browserImpl._wrapApiCall(() => browserImpl._disconnectFromReusedContext(closeReason), { internal: true });
454 - },
455 - page: async ({ context, _reuseContext }, use) => {
456 - if (!_reuseContext) {
457 - await use(await context.newPage());
458 - return;
459 - }
460 - let [page] = context.pages();
461 - if (!page)
462 - page = await context.newPage();
463 - await use(page);
464 - }
465 -};
466 -function normalizeVideoMode(video) {
467 - if (!video)
468 - return "off";
469 - let videoMode = typeof video === "string" ? video : video.mode;
470 - if (videoMode === "retry-with-video")
471 - videoMode = "on-first-retry";
472 - return videoMode;
473 -}
474 -function shouldCaptureVideo(videoMode, testInfo) {
475 - return videoMode === "on" || videoMode === "retain-on-failure" || videoMode === "on-first-retry" && testInfo.retry === 1;
476 -}
477 -function normalizeScreenshotMode(screenshot) {
478 - if (!screenshot)
479 - return "off";
480 - return typeof screenshot === "string" ? screenshot : screenshot.mode;
481 -}
482 -function attachConnectedHeaderIfNeeded(testInfo, browser) {
483 - const connectHeaders = browser?._connection.headers;
484 - if (!connectHeaders)
485 - return;
486 - for (const header of connectHeaders) {
487 - if (header.name !== "x-playwright-attachment")
488 - continue;
489 - const [name, value] = header.value.split("=");
490 - if (!name || !value)
491 - continue;
492 - if (testInfo.attachments.some((attachment) => attachment.name === name))
493 - continue;
494 - testInfo.attachments.push({ name, contentType: "text/plain", body: Buffer.from(value) });
495 - }
496 -}
497 -function resolveFileToConfig(file) {
498 - const config2 = test.info().config.configFile;
499 - if (!config2 || !file)
500 - return file;
501 - if (import_path.default.isAbsolute(file))
502 - return file;
503 - return import_path.default.resolve(import_path.default.dirname(config2), file);
504 -}
505 -function resolveClientCerticates(clientCertificates) {
506 - for (const cert of clientCertificates) {
507 - cert.certPath = resolveFileToConfig(cert.certPath);
508 - cert.keyPath = resolveFileToConfig(cert.keyPath);
509 - cert.pfxPath = resolveFileToConfig(cert.pfxPath);
510 - }
511 - return clientCertificates;
512 -}
513 -const kTracingStarted = Symbol("kTracingStarted");
514 -function connectOptionsFromEnv() {
515 - const wsEndpoint = process.env.PW_TEST_CONNECT_WS_ENDPOINT;
516 - if (!wsEndpoint)
517 - return void 0;
518 - const headers = process.env.PW_TEST_CONNECT_HEADERS ? JSON.parse(process.env.PW_TEST_CONNECT_HEADERS) : void 0;
519 - return {
520 - wsEndpoint,
521 - headers,
522 - exposeNetwork: process.env.PW_TEST_CONNECT_EXPOSE_NETWORK
523 - };
524 -}
525 -class SnapshotRecorder {
526 - constructor(_artifactsRecorder, _mode, _name, _contentType, _extension, _doSnapshot) {
527 - this._artifactsRecorder = _artifactsRecorder;
528 - this._mode = _mode;
529 - this._name = _name;
530 - this._contentType = _contentType;
531 - this._extension = _extension;
532 - this._doSnapshot = _doSnapshot;
533 - this._ordinal = 0;
534 - this._temporary = [];
535 - }
536 - fixOrdinal() {
537 - this._ordinal = this.testInfo.attachments.filter((a) => a.name === this._name).length;
538 - }
539 - shouldCaptureUponFinish() {
540 - return this._mode === "on" || this._mode === "only-on-failure" && this.testInfo._isFailure() || this._mode === "on-first-failure" && this.testInfo._isFailure() && this.testInfo.retry === 0;
541 - }
542 - async maybeCapture() {
543 - if (!this.shouldCaptureUponFinish())
544 - return;
545 - await Promise.all(this._artifactsRecorder._playwright._allPages().map((page) => this._snapshotPage(page, false)));
546 - }
547 - async persistTemporary() {
548 - if (this.shouldCaptureUponFinish()) {
549 - await Promise.all(this._temporary.map(async (file) => {
550 - try {
551 - const path2 = this._createAttachmentPath();
552 - await import_fs.default.promises.rename(file, path2);
553 - this._attach(path2);
554 - } catch {
555 - }
556 - }));
557 - }
558 - }
559 - async captureTemporary(context) {
560 - if (this._mode === "on" || this._mode === "only-on-failure" || this._mode === "on-first-failure" && this.testInfo.retry === 0)
561 - await Promise.all(context.pages().map((page) => this._snapshotPage(page, true)));
562 - }
563 - _attach(screenshotPath) {
564 - this.testInfo.attachments.push({ name: this._name, path: screenshotPath, contentType: this._contentType });
565 - }
566 - _createAttachmentPath() {
567 - const testFailed = this.testInfo._isFailure();
568 - const index = this._ordinal + 1;
569 - ++this._ordinal;
570 - const path2 = this.testInfo.outputPath(`test-${testFailed ? "failed" : "finished"}-${index}${this._extension}`);
571 - return path2;
572 - }
573 - _createTemporaryArtifact(...name) {
574 - const file = import_path.default.join(this._artifactsRecorder._artifactsDir, ...name);
575 - return file;
576 - }
577 - async _snapshotPage(page, temporary) {
578 - if (page[this.testInfo._uniqueSymbol])
579 - return;
580 - page[this.testInfo._uniqueSymbol] = true;
581 - try {
582 - const path2 = temporary ? this._createTemporaryArtifact(createGuid() + this._extension) : this._createAttachmentPath();
583 - await this._doSnapshot(page, path2);
584 - if (temporary)
585 - this._temporary.push(path2);
586 - else
587 - this._attach(path2);
588 - } catch {
589 - }
590 - }
591 - get testInfo() {
592 - return this._artifactsRecorder._testInfo;
593 - }
594 -}
595 -class ArtifactsRecorder {
596 - constructor(playwright, artifactsDir, screenshot) {
597 - this._playwright = playwright;
598 - this._artifactsDir = artifactsDir;
599 - const screenshotOptions = typeof screenshot === "string" ? void 0 : screenshot;
600 - this._startedCollectingArtifacts = Symbol("startedCollectingArtifacts");
601 - this._screenshotRecorder = new SnapshotRecorder(this, normalizeScreenshotMode(screenshot), "screenshot", "image/png", ".png", async (page, path2) => {
602 - await page._wrapApiCall(async () => {
603 - await page.screenshot({ ...screenshotOptions, timeout: 5e3, path: path2, caret: "initial" });
604 - }, { internal: true });
605 - });
606 - }
607 - async willStartTest(testInfo) {
608 - this._testInfo = testInfo;
609 - testInfo._onDidFinishTestFunctionCallbacks.add(() => this.didFinishTestFunction());
610 - this._screenshotRecorder.fixOrdinal();
611 - await Promise.all(this._playwright._allContexts().map((context) => this.didCreateBrowserContext(context)));
612 - const existingApiRequests = Array.from(this._playwright.request._contexts);
613 - await Promise.all(existingApiRequests.map((c) => this.didCreateRequestContext(c)));
614 - }
615 - async didCreateBrowserContext(context) {
616 - await this._startTraceChunkOnContextCreation(context, context.tracing);
617 - }
618 - async willCloseBrowserContext(context) {
619 - await this._stopTracing(context, context.tracing);
620 - await this._screenshotRecorder.captureTemporary(context);
621 - await this._takePageSnapshot(context);
622 - }
623 - async _takePageSnapshot(context) {
624 - if (process.env.PLAYWRIGHT_NO_COPY_PROMPT)
625 - return;
626 - if (this._testInfo.errors.length === 0)
627 - return;
628 - if (this._testInfo.errors.some((e) => e.errorContext))
629 - return;
630 - if (this._pageSnapshot)
631 - return;
632 - const page = context.pages()[0];
633 - if (!page)
634 - return;
635 - try {
636 - await page._wrapApiCall(async () => {
637 - this._pageSnapshot = await page.ariaSnapshot({ mode: "ai", timeout: 5e3 });
638 - }, { internal: true });
639 - } catch {
640 - }
641 - }
642 - async didCreateRequestContext(context) {
643 - await this._startTraceChunkOnContextCreation(context, context.tracing);
644 - }
645 - async willCloseRequestContext(context) {
646 - await this._stopTracing(context, context.tracing);
647 - }
648 - async didFinishTestFunction() {
649 - await this._screenshotRecorder.maybeCapture();
650 - }
651 - async didFinishTest() {
652 - await this.didFinishTestFunction();
653 - const leftoverContexts = this._playwright._allContexts();
654 - const leftoverApiRequests = Array.from(this._playwright.request._contexts);
655 - await Promise.all(leftoverContexts.map(async (context2) => {
656 - await this._stopTracing(context2, context2.tracing);
657 - }).concat(leftoverApiRequests.map(async (context2) => {
658 - await this._stopTracing(context2, context2.tracing);
659 - })));
660 - await this._screenshotRecorder.persistTemporary();
661 - const context = leftoverContexts[0];
662 - if (context)
663 - await this._takePageSnapshot(context);
664 - if (this._testInfo.errors.length > 0) {
665 - const hasMatcherAriaSnapshot = this._testInfo.errors.some((e) => e.errorContext);
666 - const errorContextContent = (0, import_errorContext.buildErrorContext)({
667 - titlePath: this._testInfo.titlePath,
668 - location: { file: this._testInfo.file, line: this._testInfo.line, column: this._testInfo.column },
669 - errors: this._testInfo.errors,
670 - pageSnapshot: hasMatcherAriaSnapshot ? void 0 : this._pageSnapshot
671 - });
672 - if (errorContextContent) {
673 - const filePath = this._testInfo.outputPath("error-context.md");
674 - await import_fs.default.promises.writeFile(filePath, errorContextContent, "utf8");
675 - this._testInfo._attach({
676 - name: "error-context",
677 - contentType: "text/markdown",
678 - path: filePath
679 - }, void 0);
680 - }
681 - }
682 - }
683 - async _startTraceChunkOnContextCreation(channelOwner, tracing2) {
684 - await channelOwner._wrapApiCall(async () => {
685 - const options = this._testInfo._tracing.traceOptions();
686 - if (options) {
687 - const title = this._testInfo._tracing.traceTitle();
688 - const name = this._testInfo._tracing.generateNextTraceRecordingName();
689 - if (!tracing2[kTracingStarted]) {
690 - await tracing2.start({ ...options, title, name });
691 - tracing2[kTracingStarted] = true;
692 - } else {
693 - await tracing2.startChunk({ title, name });
694 - }
695 - } else {
696 - if (tracing2[kTracingStarted]) {
697 - tracing2[kTracingStarted] = false;
698 - await tracing2.stop();
699 - }
700 - }
701 - }, { internal: true });
702 - }
703 - async _stopTracing(channelOwner, tracing2) {
704 - await channelOwner._wrapApiCall(async () => {
705 - if (tracing2[this._startedCollectingArtifacts])
706 - return;
707 - tracing2[this._startedCollectingArtifacts] = true;
708 - if (this._testInfo._tracing.traceOptions() && tracing2[kTracingStarted])
709 - await tracing2.stopChunk({ path: this._testInfo._tracing.maybeGenerateNextTraceRecordingPath() });
710 - }, { internal: true });
711 - }
712 -}
713 -async function installScreencastTitleUpdater(testInfo, context, testAnnotate) {
714 - if (!testAnnotate)
715 - return;
716 - const testTitle = testAnnotate.level === "file" ? [testInfo.titlePath[0]] : testInfo.titlePath;
717 - const stepStack = [];
718 - const overlays = /* @__PURE__ */ new Map();
719 - const position = testAnnotate.position ?? "top-left";
720 - const fontSize = testAnnotate.fontSize ?? 14;
721 - const level = testAnnotate.level ?? "step";
722 - const updateOverlay = async () => {
723 - const parts = level === "step" ? [...testTitle, ...stepStack] : testTitle;
724 - const html = createTestOverlay(parts, position, fontSize);
725 - for (const page of context.pages()) {
726 - await overlays.get(page)?.dispose();
727 - overlays.delete(page);
728 - const disposable = await page.screencast.showOverlay(html);
729 - overlays.set(page, disposable);
730 - }
731 - };
732 - testInfo._onUserStepBegin = async (title) => {
733 - stepStack.push(title);
734 - await updateOverlay();
735 - };
736 - testInfo._onUserStepEnd = async () => {
737 - stepStack.pop();
738 - await updateOverlay();
739 - };
740 - context.on("page", async () => {
741 - void updateOverlay();
742 - });
743 - await updateOverlay();
744 -}
745 -function createTestOverlay(parts, position, fontSize) {
746 - const positionStyles = {
747 - "top-left": "top: 6px; left: 6px;",
748 - "top": "top: 6px; left: 50%; transform: translateX(-50%);",
749 - "top-right": "top: 6px; right: 6px;",
750 - "bottom-left": "bottom: 6px; left: 6px;",
751 - "bottom": "bottom: 6px; left: 50%; transform: translateX(-50%);",
752 - "bottom-right": "bottom: 6px; right: 6px;"
753 - };
754 - const posStyle = positionStyles[position] ?? positionStyles["top-left"];
755 - return `<div style="white-space: nowrap; font-size: ${fontSize}px; padding: 3px 6px; background: rgba(0,0,0,0.5); color: white; border-radius: 4px; position: absolute; ${posStyle}">
756 - ${parts.map((p) => `<div>${escapeHTML(p)}</div>`).join("")}
757 - </div>`;
758 -}
759 -function renderTitle(type, method, params, title) {
760 - const prefix = renderTitleForCall({ title, type, method, params });
761 - let selector;
762 - if (params?.["selector"] && typeof params.selector === "string")
763 - selector = asLocatorDescription("javascript", params.selector);
764 - return prefix + (selector ? ` ${selector}` : "");
765 -}
766 -function tracing() {
767 - return test.info()._tracing;
768 -}
769 -const test = _utilityTest.extend(playwrightFixtures);
770 -// Annotate the CommonJS export names for ESM import in node:
771 -0 && (module.exports = {
772 - _baseTest,
773 - _utilityTest,
774 - defineConfig,
775 - expect,
776 - mergeExpects,
777 - mergeTests,
778 - test
779 -});
node_modules/playwright/lib/isomorphic.js deleted
-260
@@ -1,260 +0,0 @@
1 -"use strict";
2 -var __defProp = Object.defineProperty;
3 -var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4 -var __getOwnPropNames = Object.getOwnPropertyNames;
5 -var __hasOwnProp = Object.prototype.hasOwnProperty;
6 -var __export = (target, all) => {
7 - for (var name in all)
8 - __defProp(target, name, { get: all[name], enumerable: true });
9 -};
10 -var __copyProps = (to, from, except, desc) => {
11 - if (from && typeof from === "object" || typeof from === "function") {
12 - for (let key of __getOwnPropNames(from))
13 - if (!__hasOwnProp.call(to, key) && key !== except)
14 - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15 - }
16 - return to;
17 -};
18 -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19 -
20 -// packages/playwright/src/isomorphic/index.ts
21 -var index_exports = {};
22 -__export(index_exports, {
23 - TestServerConnection: () => TestServerConnection,
24 - TestServerConnectionClosedError: () => TestServerConnectionClosedError,
25 - WebSocketTestServerTransport: () => WebSocketTestServerTransport
26 -});
27 -module.exports = __toCommonJS(index_exports);
28 -
29 -// packages/playwright/src/isomorphic/events.ts
30 -var Disposable;
31 -((Disposable2) => {
32 - function disposeAll(disposables) {
33 - for (const disposable of disposables.splice(0))
34 - disposable.dispose();
35 - }
36 - Disposable2.disposeAll = disposeAll;
37 -})(Disposable || (Disposable = {}));
38 -var EventEmitter = class {
39 - constructor() {
40 - this._listeners = /* @__PURE__ */ new Set();
41 - this.event = (listener, disposables) => {
42 - this._listeners.add(listener);
43 - let disposed = false;
44 - const self = this;
45 - const result = {
46 - dispose() {
47 - if (!disposed) {
48 - disposed = true;
49 - self._listeners.delete(listener);
50 - }
51 - }
52 - };
53 - if (disposables)
54 - disposables.push(result);
55 - return result;
56 - };
57 - }
58 - fire(event) {
59 - const dispatch = !this._deliveryQueue;
60 - if (!this._deliveryQueue)
61 - this._deliveryQueue = [];
62 - for (const listener of this._listeners)
63 - this._deliveryQueue.push({ listener, event });
64 - if (!dispatch)
65 - return;
66 - for (let index = 0; index < this._deliveryQueue.length; index++) {
67 - const { listener, event: event2 } = this._deliveryQueue[index];
68 - listener.call(null, event2);
69 - }
70 - this._deliveryQueue = void 0;
71 - }
72 - dispose() {
73 - this._listeners.clear();
74 - if (this._deliveryQueue)
75 - this._deliveryQueue = [];
76 - }
77 -};
78 -
79 -// packages/playwright/src/isomorphic/testServerConnection.ts
80 -var TestServerConnectionClosedError = class extends Error {
81 -};
82 -var WebSocketTestServerTransport = class {
83 - constructor(url) {
84 - this._ws = new WebSocket(url);
85 - }
86 - onmessage(listener) {
87 - this._ws.addEventListener("message", (event) => listener(event.data.toString()));
88 - }
89 - onopen(listener) {
90 - this._ws.addEventListener("open", listener);
91 - }
92 - onerror(listener) {
93 - this._ws.addEventListener("error", listener);
94 - }
95 - onclose(listener) {
96 - this._ws.addEventListener("close", listener);
97 - }
98 - send(data) {
99 - this._ws.send(data);
100 - }
101 - close() {
102 - this._ws.close();
103 - }
104 -};
105 -var TestServerConnection = class {
106 - constructor(transport) {
107 - this._onCloseEmitter = new EventEmitter();
108 - this._onReportEmitter = new EventEmitter();
109 - this._onStdioEmitter = new EventEmitter();
110 - this._onTestFilesChangedEmitter = new EventEmitter();
111 - this._onLoadTraceRequestedEmitter = new EventEmitter();
112 - this._onTestPausedEmitter = new EventEmitter();
113 - this._lastId = 0;
114 - this._callbacks = /* @__PURE__ */ new Map();
115 - this._isClosed = false;
116 - this.onClose = this._onCloseEmitter.event;
117 - this.onReport = this._onReportEmitter.event;
118 - this.onStdio = this._onStdioEmitter.event;
119 - this.onTestFilesChanged = this._onTestFilesChangedEmitter.event;
120 - this.onLoadTraceRequested = this._onLoadTraceRequestedEmitter.event;
121 - this.onTestPaused = this._onTestPausedEmitter.event;
122 - this._transport = transport;
123 - this._transport.onmessage((data) => {
124 - const message = JSON.parse(data);
125 - const { id, result, error, method, params } = message;
126 - if (id) {
127 - const callback = this._callbacks.get(id);
128 - if (!callback)
129 - return;
130 - this._callbacks.delete(id);
131 - if (error)
132 - callback.reject(new Error(error));
133 - else
134 - callback.resolve(result);
135 - } else {
136 - this._dispatchEvent(method, params);
137 - }
138 - });
139 - const pingInterval = setInterval(() => this._sendMessage("ping").catch(() => {
140 - }), 3e4);
141 - this._connectedPromise = new Promise((f, r) => {
142 - this._transport.onopen(f);
143 - this._transport.onerror(r);
144 - });
145 - this._transport.onclose(() => {
146 - this._isClosed = true;
147 - this._onCloseEmitter.fire();
148 - clearInterval(pingInterval);
149 - for (const callback of this._callbacks.values())
150 - callback.reject(callback.error);
151 - this._callbacks.clear();
152 - });
153 - }
154 - isClosed() {
155 - return this._isClosed;
156 - }
157 - async _sendMessage(method, params) {
158 - const logForTest = globalThis.__logForTest;
159 - logForTest?.({ method, params });
160 - await this._connectedPromise;
161 - const id = ++this._lastId;
162 - const message = { id, method, params };
163 - const error = new TestServerConnectionClosedError(`${method}: test server connection closed`);
164 - this._transport.send(JSON.stringify(message));
165 - return new Promise((resolve, reject) => {
166 - this._callbacks.set(id, { resolve, reject, error });
167 - });
168 - }
169 - _sendMessageNoReply(method, params) {
170 - this._sendMessage(method, params).catch(() => {
171 - });
172 - }
173 - _dispatchEvent(method, params) {
174 - if (method === "report")
175 - this._onReportEmitter.fire(params);
176 - else if (method === "stdio")
177 - this._onStdioEmitter.fire(params);
178 - else if (method === "testFilesChanged")
179 - this._onTestFilesChangedEmitter.fire(params);
180 - else if (method === "loadTraceRequested")
181 - this._onLoadTraceRequestedEmitter.fire(params);
182 - else if (method === "testPaused")
183 - this._onTestPausedEmitter.fire(params);
184 - }
185 - async initialize(params) {
186 - await this._sendMessage("initialize", params);
187 - }
188 - async ping(params) {
189 - await this._sendMessage("ping", params);
190 - }
191 - async pingNoReply(params) {
192 - this._sendMessageNoReply("ping", params);
193 - }
194 - async watch(params) {
195 - await this._sendMessage("watch", params);
196 - }
197 - watchNoReply(params) {
198 - this._sendMessageNoReply("watch", params);
199 - }
200 - async open(params) {
201 - await this._sendMessage("open", params);
202 - }
203 - openNoReply(params) {
204 - this._sendMessageNoReply("open", params);
205 - }
206 - async resizeTerminal(params) {
207 - await this._sendMessage("resizeTerminal", params);
208 - }
209 - resizeTerminalNoReply(params) {
210 - this._sendMessageNoReply("resizeTerminal", params);
211 - }
212 - async checkBrowsers(params) {
213 - return await this._sendMessage("checkBrowsers", params);
214 - }
215 - async installBrowsers(params) {
216 - await this._sendMessage("installBrowsers", params);
217 - }
218 - async runGlobalSetup(params) {
219 - return await this._sendMessage("runGlobalSetup", params);
220 - }
221 - async runGlobalTeardown(params) {
222 - return await this._sendMessage("runGlobalTeardown", params);
223 - }
224 - async clearCache(params) {
225 - return await this._sendMessage("clearCache", params);
226 - }
227 - async listFiles(params) {
228 - return await this._sendMessage("listFiles", params);
229 - }
230 - async listTests(params) {
231 - return await this._sendMessage("listTests", params);
232 - }
233 - async runTests(params) {
234 - return await this._sendMessage("runTests", params);
235 - }
236 - async findRelatedTestFiles(params) {
237 - return await this._sendMessage("findRelatedTestFiles", params);
238 - }
239 - async stopTests(params) {
240 - await this._sendMessage("stopTests", params);
241 - }
242 - stopTestsNoReply(params) {
243 - this._sendMessageNoReply("stopTests", params);
244 - }
245 - async closeGracefully(params) {
246 - await this._sendMessage("closeGracefully", params);
247 - }
248 - close() {
249 - try {
250 - this._transport.close();
251 - } catch {
252 - }
253 - }
254 -};
255 -// Annotate the CommonJS export names for ESM import in node:
256 -0 && (module.exports = {
257 - TestServerConnection,
258 - TestServerConnectionClosedError,
259 - WebSocketTestServerTransport
260 -});
node_modules/playwright/lib/isomorphic.js.txt deleted
-9
@@ -1,9 +0,0 @@
1 -# packages/playwright/lib/isomorphic.js
2 -# total: 8.0 KB
3 -
4 -## Inlined (3)
5 - 1.3 KB packages/playwright/src/isomorphic/events.ts
6 - 0.3 KB packages/playwright/src/isomorphic/index.ts
7 - 5.3 KB packages/playwright/src/isomorphic/testServerConnection.ts
8 -
9 -## External (0)
node_modules/playwright/lib/loader/loaderProcessEntry.js deleted
-34
@@ -1,34 +0,0 @@
1 -"use strict";
2 -
3 -// packages/playwright/src/loader/loaderProcessEntry.ts
4 -var import_common2 = require("../common");
5 -
6 -// packages/playwright/src/loader/loaderMain.ts
7 -var import_common = require("../common");
8 -var LoaderMain = class extends import_common.ProcessRunner {
9 - constructor(serializedConfig) {
10 - super();
11 - this._poolBuilder = import_common.poolBuilder.PoolBuilder.createForLoader();
12 - this._serializedConfig = serializedConfig;
13 - }
14 - _config() {
15 - if (!this._configPromise)
16 - this._configPromise = import_common.configLoader.deserializeConfig(this._serializedConfig);
17 - return this._configPromise;
18 - }
19 - async loadTestFile(params) {
20 - const testErrors = [];
21 - const config = await this._config();
22 - const fileSuite = await import_common.testLoader.loadTestFile(params.file, config, testErrors);
23 - this._poolBuilder.buildPools(fileSuite);
24 - return { fileSuite: fileSuite._deepSerialize(), testErrors };
25 - }
26 - async getCompilationCacheFromLoader() {
27 - await import_common.esm.incorporateCompilationCache();
28 - return import_common.cc.serializeCompilationCache();
29 - }
30 -};
31 -var create = (config) => new LoaderMain(config);
32 -
33 -// packages/playwright/src/loader/loaderProcessEntry.ts
34 -(0, import_common2.startProcessRunner)(create);
node_modules/playwright/lib/loader/loaderProcessEntry.js.txt deleted
-9
@@ -1,9 +0,0 @@
1 -# packages/playwright/lib/loader/loaderProcessEntry.js
2 -# total: 1.2 KB
3 -
4 -## Inlined (2)
5 - 1.0 KB packages/playwright/src/loader/loaderMain.ts
6 - 0.1 KB packages/playwright/src/loader/loaderProcessEntry.ts
7 -
8 -## External (1)
9 - ../common
node_modules/playwright/lib/matchers/expect.js deleted
-13050
@@ -1,13050 +0,0 @@
1 -"use strict";
2 -var __create = Object.create;
3 -var __defProp = Object.defineProperty;
4 -var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5 -var __getOwnPropNames = Object.getOwnPropertyNames;
6 -var __getProtoOf = Object.getPrototypeOf;
7 -var __hasOwnProp = Object.prototype.hasOwnProperty;
8 -var __commonJS = (cb, mod) => function __require() {
9 - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
10 -};
11 -var __export = (target, all) => {
12 - for (var name in all)
13 - __defProp(target, name, { get: all[name], enumerable: true });
14 -};
15 -var __copyProps = (to, from, except, desc) => {
16 - if (from && typeof from === "object" || typeof from === "function") {
17 - for (let key of __getOwnPropNames(from))
18 - if (!__hasOwnProp.call(to, key) && key !== except)
19 - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
20 - }
21 - return to;
22 -};
23 -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
24 - // If the importer is in node compatibility mode or this is not an ESM
25 - // file that has been converted to a CommonJS file using a Babel-
26 - // compatible transform (i.e. "__esModule" has not been set), then set
27 - // "default" to the CommonJS "module.exports" for node compatibility.
28 - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
29 - mod
30 -));
31 -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
32 -
33 -// node_modules/@jest/get-type/build/index.js
34 -var require_build = __commonJS({
35 - "node_modules/@jest/get-type/build/index.js"(exports2, module2) {
36 - (() => {
37 - "use strict";
38 - var __webpack_exports__ = {};
39 - (() => {
40 - var exports3 = __webpack_exports__;
41 - Object.defineProperty(exports3, "__esModule", {
42 - value: true
43 - });
44 - exports3.getType = getType2;
45 - exports3.isPrimitive = void 0;
46 - function getType2(value) {
47 - if (value === void 0) {
48 - return "undefined";
49 - } else if (value === null) {
50 - return "null";
51 - } else if (Array.isArray(value)) {
52 - return "array";
53 - } else if (typeof value === "boolean") {
54 - return "boolean";
55 - } else if (typeof value === "function") {
56 - return "function";
57 - } else if (typeof value === "number") {
58 - return "number";
59 - } else if (typeof value === "string") {
60 - return "string";
61 - } else if (typeof value === "bigint") {
62 - return "bigint";
63 - } else if (typeof value === "object") {
64 - if (value.constructor === RegExp) {
65 - return "regexp";
66 - } else if (value.constructor === Map) {
67 - return "map";
68 - } else if (value.constructor === Set) {
69 - return "set";
70 - } else if (value.constructor === Date) {
71 - return "date";
72 - }
73 - return "object";
74 - } else if (typeof value === "symbol") {
75 - return "symbol";
76 - }
77 - throw new Error(`value of unknown type: ${value}`);
78 - }
79 - const isPrimitive2 = (value) => Object(value) !== value;
80 - exports3.isPrimitive = isPrimitive2;
81 - })();
82 - module2.exports = __webpack_exports__;
83 - })();
84 - }
85 -});
86 -
87 -// node_modules/@jest/expect-utils/build/index.js
88 -var require_build2 = __commonJS({
89 - "node_modules/@jest/expect-utils/build/index.js"(exports2, module2) {
90 - (() => {
91 - "use strict";
92 - var __webpack_modules__ = {
93 - /***/
94 - "./src/immutableUtils.ts": (
95 - /***/
96 - ((__unused_webpack_module, exports3) => {
97 - Object.defineProperty(exports3, "__esModule", {
98 - value: true
99 - });
100 - exports3.isImmutableList = isImmutableList;
101 - exports3.isImmutableOrderedKeyed = isImmutableOrderedKeyed;
102 - exports3.isImmutableOrderedSet = isImmutableOrderedSet;
103 - exports3.isImmutableRecord = isImmutableRecord;
104 - exports3.isImmutableUnorderedKeyed = isImmutableUnorderedKeyed;
105 - exports3.isImmutableUnorderedSet = isImmutableUnorderedSet;
106 - const IS_KEYED_SENTINEL = "@@__IMMUTABLE_KEYED__@@";
107 - const IS_SET_SENTINEL = "@@__IMMUTABLE_SET__@@";
108 - const IS_LIST_SENTINEL = "@@__IMMUTABLE_LIST__@@";
109 - const IS_ORDERED_SENTINEL = "@@__IMMUTABLE_ORDERED__@@";
110 - const IS_RECORD_SYMBOL = "@@__IMMUTABLE_RECORD__@@";
111 - function isObjectLiteral(source) {
112 - return source != null && typeof source === "object" && !Array.isArray(source);
113 - }
114 - function isImmutableUnorderedKeyed(source) {
115 - return Boolean(source && isObjectLiteral(source) && source[IS_KEYED_SENTINEL] && !source[IS_ORDERED_SENTINEL]);
116 - }
117 - function isImmutableUnorderedSet(source) {
118 - return Boolean(source && isObjectLiteral(source) && source[IS_SET_SENTINEL] && !source[IS_ORDERED_SENTINEL]);
119 - }
120 - function isImmutableList(source) {
121 - return Boolean(source && isObjectLiteral(source) && source[IS_LIST_SENTINEL]);
122 - }
123 - function isImmutableOrderedKeyed(source) {
124 - return Boolean(source && isObjectLiteral(source) && source[IS_KEYED_SENTINEL] && source[IS_ORDERED_SENTINEL]);
125 - }
126 - function isImmutableOrderedSet(source) {
127 - return Boolean(source && isObjectLiteral(source) && source[IS_SET_SENTINEL] && source[IS_ORDERED_SENTINEL]);
128 - }
129 - function isImmutableRecord(source) {
130 - return Boolean(source && isObjectLiteral(source) && source[IS_RECORD_SYMBOL]);
131 - }
132 - })
133 - ),
134 - /***/
135 - "./src/index.ts": (
136 - /***/
137 - ((__unused_webpack_module, exports3, __webpack_require__2) => {
138 - Object.defineProperty(exports3, "__esModule", {
139 - value: true
140 - });
141 - var _exportNames = {
142 - equals: true,
143 - isA: true
144 - };
145 - Object.defineProperty(exports3, "equals", {
146 - enumerable: true,
147 - get: function() {
148 - return _jasmineUtils.equals;
149 - }
150 - });
151 - Object.defineProperty(exports3, "isA", {
152 - enumerable: true,
153 - get: function() {
154 - return _jasmineUtils.isA;
155 - }
156 - });
157 - var _jasmineUtils = __webpack_require__2("./src/jasmineUtils.ts");
158 - var _utils = __webpack_require__2("./src/utils.ts");
159 - Object.keys(_utils).forEach(function(key) {
160 - if (key === "default" || key === "__esModule") return;
161 - if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
162 - if (key in exports3 && exports3[key] === _utils[key]) return;
163 - Object.defineProperty(exports3, key, {
164 - enumerable: true,
165 - get: function() {
166 - return _utils[key];
167 - }
168 - });
169 - });
170 - })
171 - ),
172 - /***/
173 - "./src/jasmineUtils.ts": (
174 - /***/
175 - ((__unused_webpack_module, exports3) => {
176 - Object.defineProperty(exports3, "__esModule", {
177 - value: true
178 - });
179 - exports3.equals = void 0;
180 - exports3.isA = isA2;
181 - const equals2 = (a, b, customTesters, strictCheck) => {
182 - customTesters = customTesters || [];
183 - return eq(a, b, [], [], customTesters, strictCheck);
184 - };
185 - exports3.equals = equals2;
186 - function isAsymmetric(obj) {
187 - return !!obj && isA2("Function", obj.asymmetricMatch);
188 - }
189 - function asymmetricMatch(a, b) {
190 - const asymmetricA = isAsymmetric(a);
191 - const asymmetricB = isAsymmetric(b);
192 - if (asymmetricA && asymmetricB) {
193 - return void 0;
194 - }
195 - if (asymmetricA) {
196 - return a.asymmetricMatch(b);
197 - }
198 - if (asymmetricB) {
199 - return b.asymmetricMatch(a);
200 - }
201 - }
202 - function eq(a, b, aStack, bStack, customTesters, strictCheck) {
203 - let result = true;
204 - const asymmetricResult = asymmetricMatch(a, b);
205 - if (asymmetricResult !== void 0) {
206 - return asymmetricResult;
207 - }
208 - const testerContext = {
209 - equals: equals2
210 - };
211 - for (const item of customTesters) {
212 - const customTesterResult = item.call(testerContext, a, b, customTesters);
213 - if (customTesterResult !== void 0) {
214 - return customTesterResult;
215 - }
216 - }
217 - if (a instanceof Error && b instanceof Error) {
218 - return a.message === b.message;
219 - }
220 - if (Object.is(a, b)) {
221 - return true;
222 - }
223 - if (a === null || b === null) {
224 - return false;
225 - }
226 - const className = Object.prototype.toString.call(a);
227 - if (className !== Object.prototype.toString.call(b)) {
228 - return false;
229 - }
230 - switch (className) {
231 - case "[object Boolean]":
232 - case "[object String]":
233 - case "[object Number]":
234 - if (typeof a !== typeof b) {
235 - return false;
236 - } else if (typeof a !== "object" && typeof b !== "object") {
237 - return false;
238 - } else {
239 - return Object.is(a.valueOf(), b.valueOf());
240 - }
241 - case "[object Date]":
242 - return +a === +b;
243 - // RegExps are compared by their source patterns and flags.
244 - case "[object RegExp]":
245 - return a.source === b.source && a.flags === b.flags;
246 - // URLs are compared by their href property which contains the entire url string.
247 - case "[object URL]":
248 - return a.href === b.href;
249 - }
250 - if (typeof a !== "object" || typeof b !== "object") {
251 - return false;
252 - }
253 - if (isDomNode(a) && isDomNode(b)) {
254 - return a.isEqualNode(b);
255 - }
256 - let length = aStack.length;
257 - while (length--) {
258 - if (aStack[length] === a) {
259 - return bStack[length] === b;
260 - } else if (bStack[length] === b) {
261 - return false;
262 - }
263 - }
264 - aStack.push(a);
265 - bStack.push(b);
266 - if (strictCheck && className === "[object Array]" && a.length !== b.length) {
267 - return false;
268 - }
269 - const aKeys = keys(a, hasKey);
270 - let key;
271 - const bKeys = keys(b, hasKey);
272 - if (!strictCheck) {
273 - for (let index = 0; index !== bKeys.length; ++index) {
274 - key = bKeys[index];
275 - if ((isAsymmetric(b[key]) || b[key] === void 0) && !hasKey(a, key)) {
276 - aKeys.push(key);
277 - }
278 - }
279 - for (let index = 0; index !== aKeys.length; ++index) {
280 - key = aKeys[index];
281 - if ((isAsymmetric(a[key]) || a[key] === void 0) && !hasKey(b, key)) {
282 - bKeys.push(key);
283 - }
284 - }
285 - }
286 - let size = aKeys.length;
287 - if (bKeys.length !== size) {
288 - return false;
289 - }
290 - while (size--) {
291 - key = aKeys[size];
292 - if (strictCheck) result = hasKey(b, key) && eq(a[key], b[key], aStack, bStack, customTesters, strictCheck);
293 - else result = (hasKey(b, key) || isAsymmetric(a[key]) || a[key] === void 0) && eq(a[key], b[key], aStack, bStack, customTesters, strictCheck);
294 - if (!result) {
295 - return false;
296 - }
297 - }
298 - aStack.pop();
299 - bStack.pop();
300 - return result;
301 - }
302 - function keys(obj, hasKey2) {
303 - const keys2 = [];
304 - for (const key in obj) {
305 - if (hasKey2(obj, key)) {
306 - keys2.push(key);
307 - }
308 - }
309 - return [...keys2, ...Object.getOwnPropertySymbols(obj).filter((symbol) => Object.getOwnPropertyDescriptor(obj, symbol).enumerable)];
310 - }
311 - function hasKey(obj, key) {
312 - return Object.prototype.hasOwnProperty.call(obj, key);
313 - }
314 - function isA2(typeName, value) {
315 - return Object.prototype.toString.apply(value) === `[object ${typeName}]`;
316 - }
317 - function isDomNode(obj) {
318 - return obj !== null && typeof obj === "object" && typeof obj.nodeType === "number" && typeof obj.nodeName === "string" && typeof obj.isEqualNode === "function";
319 - }
320 - })
321 - ),
322 - /***/
323 - "./src/utils.ts": (
324 - /***/
325 - ((__unused_webpack_module, exports3, __webpack_require__2) => {
326 - Object.defineProperty(exports3, "__esModule", {
327 - value: true
328 - });
329 - exports3.arrayBufferEquality = void 0;
330 - exports3.emptyObject = emptyObject2;
331 - exports3.typeEquality = exports3.subsetEquality = exports3.sparseArrayEquality = exports3.pathAsArray = exports3.partition = exports3.iterableEquality = exports3.isOneline = exports3.isError = exports3.getPath = exports3.getObjectSubset = exports3.getObjectKeys = void 0;
332 - var _getType = require_build();
333 - var _immutableUtils = __webpack_require__2("./src/immutableUtils.ts");
334 - var _jasmineUtils = __webpack_require__2("./src/jasmineUtils.ts");
335 - var Symbol2 = globalThis["jest-symbol-do-not-touch"] || globalThis.Symbol;
336 - const hasPropertyInObject = (object, key) => {
337 - const shouldTerminate = !object || typeof object !== "object" || object === Object.prototype;
338 - if (shouldTerminate) {
339 - return false;
340 - }
341 - return Object.prototype.hasOwnProperty.call(object, key) || hasPropertyInObject(Object.getPrototypeOf(object), key);
342 - };
343 - const getObjectKeys2 = (object) => {
344 - return [...Object.keys(object), ...Object.getOwnPropertySymbols(object).filter((s) => Object.getOwnPropertyDescriptor(object, s)?.enumerable)];
345 - };
346 - exports3.getObjectKeys = getObjectKeys2;
347 - const getPath2 = (object, propertyPath) => {
348 - if (!Array.isArray(propertyPath)) {
349 - propertyPath = pathAsArray2(propertyPath);
350 - }
351 - if (propertyPath.length > 0) {
352 - const lastProp = propertyPath.length === 1;
353 - const prop = propertyPath[0];
354 - const newObject = object[prop];
355 - if (!lastProp && (newObject === null || newObject === void 0)) {
356 - return {
357 - hasEndProp: false,
358 - lastTraversedObject: object,
359 - traversedPath: []
360 - };
361 - }
362 - const result = getPath2(newObject, propertyPath.slice(1));
363 - if (result.lastTraversedObject === null) {
364 - result.lastTraversedObject = object;
365 - }
366 - result.traversedPath.unshift(prop);
367 - if (lastProp) {
368 - result.endPropIsDefined = !(0, _getType.isPrimitive)(object) && prop in object;
369 - result.hasEndProp = newObject !== void 0 || result.endPropIsDefined;
370 - if (!result.hasEndProp) {
371 - result.traversedPath.shift();
372 - }
373 - }
374 - return result;
375 - }
376 - return {
377 - lastTraversedObject: null,
378 - traversedPath: [],
379 - value: object
380 - };
381 - };
382 - exports3.getPath = getPath2;
383 - const getObjectSubset2 = (object, subset, customTesters = [], seenReferences = /* @__PURE__ */ new WeakMap()) => {
384 - if (Array.isArray(object)) {
385 - if (Array.isArray(subset) && subset.length === object.length) {
386 - return subset.map((sub, i) => getObjectSubset2(object[i], sub, customTesters));
387 - }
388 - } else if (object instanceof Date) {
389 - return object;
390 - } else if (isObject2(object) && isObject2(subset)) {
391 - if ((0, _jasmineUtils.equals)(object, subset, [...customTesters, iterableEquality2, subsetEquality2])) {
392 - return subset;
393 - }
394 - const trimmed = {};
395 - seenReferences.set(object, trimmed);
396 - for (const key of getObjectKeys2(object).filter((key2) => hasPropertyInObject(subset, key2))) {
397 - trimmed[key] = seenReferences.has(object[key]) ? seenReferences.get(object[key]) : getObjectSubset2(object[key], subset[key], customTesters, seenReferences);
398 - }
399 - if (getObjectKeys2(trimmed).length > 0) {
400 - return trimmed;
401 - }
402 - }
403 - return object;
404 - };
405 - exports3.getObjectSubset = getObjectSubset2;
406 - const IteratorSymbol = Symbol2.iterator;
407 - const hasIterator = (object) => !!(object != null && object[IteratorSymbol]);
408 - const iterableEquality2 = (a, b, customTesters = [], aStack = [], bStack = []) => {
409 - if (typeof a !== "object" || typeof b !== "object" || Array.isArray(a) || Array.isArray(b) || ArrayBuffer.isView(a) || ArrayBuffer.isView(b) || !hasIterator(a) || !hasIterator(b)) {
410 - return void 0;
411 - }
412 - if (a.constructor !== b.constructor) {
413 - return false;
414 - }
415 - let length = aStack.length;
416 - while (length--) {
417 - if (aStack[length] === a) {
418 - return bStack[length] === b;
419 - }
420 - }
421 - aStack.push(a);
422 - bStack.push(b);
423 - const iterableEqualityWithStack = (a2, b2) => iterableEquality2(a2, b2, [...filteredCustomTesters], [...aStack], [...bStack]);
424 - const filteredCustomTesters = [...customTesters.filter((t) => t !== iterableEquality2), iterableEqualityWithStack];
425 - if (a.size !== void 0) {
426 - if (a.size !== b.size) {
427 - return false;
428 - } else if ((0, _jasmineUtils.isA)("Set", a) || (0, _immutableUtils.isImmutableUnorderedSet)(a)) {
429 - let allFound = true;
430 - for (const aValue of a) {
431 - if (!b.has(aValue)) {
432 - let has = false;
433 - for (const bValue of b) {
434 - const isEqual = (0, _jasmineUtils.equals)(aValue, bValue, filteredCustomTesters);
435 - if (isEqual === true) {
436 - has = true;
437 - }
438 - }
439 - if (has === false) {
440 - allFound = false;
441 - break;
442 - }
443 - }
444 - }
445 - aStack.pop();
446 - bStack.pop();
447 - return allFound;
448 - } else if ((0, _jasmineUtils.isA)("Map", a) || (0, _immutableUtils.isImmutableUnorderedKeyed)(a)) {
449 - let allFound = true;
450 - for (const aEntry of a) {
451 - if (!b.has(aEntry[0]) || !(0, _jasmineUtils.equals)(aEntry[1], b.get(aEntry[0]), filteredCustomTesters)) {
452 - let has = false;
453 - for (const bEntry of b) {
454 - const matchedKey = (0, _jasmineUtils.equals)(aEntry[0], bEntry[0], filteredCustomTesters);
455 - let matchedValue = false;
456 - if (matchedKey === true) {
457 - matchedValue = (0, _jasmineUtils.equals)(aEntry[1], bEntry[1], filteredCustomTesters);
458 - }
459 - if (matchedValue === true) {
460 - has = true;
461 - }
462 - }
463 - if (has === false) {
464 - allFound = false;
465 - break;
466 - }
467 - }
468 - }
469 - aStack.pop();
470 - bStack.pop();
471 - return allFound;
472 - }
473 - }
474 - const bIterator = b[IteratorSymbol]();
475 - for (const aValue of a) {
476 - const nextB = bIterator.next();
477 - if (nextB.done || !(0, _jasmineUtils.equals)(aValue, nextB.value, filteredCustomTesters)) {
478 - return false;
479 - }
480 - }
481 - if (!bIterator.next().done) {
482 - return false;
483 - }
484 - if (!(0, _immutableUtils.isImmutableList)(a) && !(0, _immutableUtils.isImmutableOrderedKeyed)(a) && !(0, _immutableUtils.isImmutableOrderedSet)(a) && !(0, _immutableUtils.isImmutableRecord)(a)) {
485 - const aEntries = entries(a);
486 - const bEntries = entries(b);
487 - if (!(0, _jasmineUtils.equals)(aEntries, bEntries)) {
488 - return false;
489 - }
490 - }
491 - aStack.pop();
492 - bStack.pop();
493 - return true;
494 - };
495 - exports3.iterableEquality = iterableEquality2;
496 - const entries = (obj) => {
497 - if (!isObject2(obj)) return [];
498 - const symbolProperties = Object.getOwnPropertySymbols(obj).filter((key) => key !== Symbol2.iterator).map((key) => [key, obj[key]]);
499 - return [...symbolProperties, ...Object.entries(obj)];
500 - };
501 - const isObject2 = (a) => a !== null && typeof a === "object";
502 - const isObjectWithKeys = (a) => isObject2(a) && !(a instanceof Error) && !Array.isArray(a) && !(a instanceof Date) && !(a instanceof Set) && !(a instanceof Map);
503 - const subsetEquality2 = (object, subset, customTesters = []) => {
504 - const filteredCustomTesters = customTesters.filter((t) => t !== subsetEquality2);
505 - const subsetEqualityWithContext = (seenReferences = /* @__PURE__ */ new WeakMap()) => (object2, subset2) => {
506 - if (!isObjectWithKeys(subset2)) {
507 - return void 0;
508 - }
509 - if (seenReferences.has(subset2)) return void 0;
510 - seenReferences.set(subset2, true);
511 - const matchResult = getObjectKeys2(subset2).every((key) => {
512 - if (isObjectWithKeys(subset2[key])) {
513 - if (seenReferences.has(subset2[key])) {
514 - return (0, _jasmineUtils.equals)(object2[key], subset2[key], filteredCustomTesters);
515 - }
516 - }
517 - const result = object2 != null && hasPropertyInObject(object2, key) && (0, _jasmineUtils.equals)(object2[key], subset2[key], [...filteredCustomTesters, subsetEqualityWithContext(seenReferences)]);
518 - seenReferences.delete(subset2[key]);
519 - return result;
520 - });
521 - seenReferences.delete(subset2);
522 - return matchResult;
523 - };
524 - return subsetEqualityWithContext()(object, subset);
525 - };
526 - exports3.subsetEquality = subsetEquality2;
527 - const typeEquality2 = (a, b) => {
528 - if (a == null || b == null || a.constructor === b.constructor || // Since Jest globals are different from Node globals,
529 - // constructors are different even between arrays when comparing properties of mock objects.
530 - // Both of them should be able to compare correctly when they are array-to-array.
531 - // https://github.com/jestjs/jest/issues/2549
532 - Array.isArray(a) && Array.isArray(b)) {
533 - return void 0;
534 - }
535 - return false;
536 - };
537 - exports3.typeEquality = typeEquality2;
538 - const arrayBufferEquality2 = (a, b) => {
539 - let dataViewA = a;
540 - let dataViewB = b;
541 - if (isArrayBuffer(a) && isArrayBuffer(b)) {
542 - dataViewA = new DataView(a);
543 - dataViewB = new DataView(b);
544 - } else if (ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {
545 - dataViewA = new DataView(a.buffer, a.byteOffset, a.byteLength);
546 - dataViewB = new DataView(b.buffer, b.byteOffset, b.byteLength);
547 - }
548 - if (!(dataViewA instanceof DataView && dataViewB instanceof DataView)) {
549 - return void 0;
550 - }
551 - if (dataViewA.byteLength !== dataViewB.byteLength) {
552 - return false;
553 - }
554 - for (let i = 0; i < dataViewA.byteLength; i++) {
555 - if (dataViewA.getUint8(i) !== dataViewB.getUint8(i)) {
556 - return false;
557 - }
558 - }
559 - return true;
560 - };
561 - exports3.arrayBufferEquality = arrayBufferEquality2;
562 - function isArrayBuffer(obj) {
563 - return Object.prototype.toString.call(obj) === "[object ArrayBuffer]";
564 - }
565 - const sparseArrayEquality2 = (a, b, customTesters = []) => {
566 - if (!Array.isArray(a) || !Array.isArray(b)) {
567 - return void 0;
568 - }
569 - const aKeys = Object.keys(a);
570 - const bKeys = Object.keys(b);
571 - return (0, _jasmineUtils.equals)(a, b, customTesters.filter((t) => t !== sparseArrayEquality2), true) && (0, _jasmineUtils.equals)(aKeys, bKeys);
572 - };
573 - exports3.sparseArrayEquality = sparseArrayEquality2;
574 - const partition2 = (items, predicate) => {
575 - const result = [[], []];
576 - for (const item of items) result[predicate(item) ? 0 : 1].push(item);
577 - return result;
578 - };
579 - exports3.partition = partition2;
580 - const pathAsArray2 = (propertyPath) => {
581 - const properties = [];
582 - if (propertyPath === "") {
583 - properties.push("");
584 - return properties;
585 - }
586 - const pattern = new RegExp("[^.[\\]]+|(?=(?:\\.)(?:\\.|$))", "g");
587 - if (propertyPath[0] === ".") {
588 - properties.push("");
589 - }
590 - propertyPath.replaceAll(pattern, (match) => {
591 - properties.push(match);
592 - return match;
593 - });
594 - return properties;
595 - };
596 - exports3.pathAsArray = pathAsArray2;
597 - const isError2 = (value) => {
598 - switch (Object.prototype.toString.call(value)) {
599 - case "[object Error]":
600 - case "[object Exception]":
601 - case "[object DOMException]":
602 - return true;
603 - default:
604 - return value instanceof Error;
605 - }
606 - };
607 - exports3.isError = isError2;
608 - function emptyObject2(obj) {
609 - return obj && typeof obj === "object" ? Object.keys(obj).length === 0 : false;
610 - }
611 - const MULTILINE_REGEXP = /[\n\r]/;
612 - const isOneline2 = (expected, received) => typeof expected === "string" && typeof received === "string" && (!MULTILINE_REGEXP.test(expected) || !MULTILINE_REGEXP.test(received));
613 - exports3.isOneline = isOneline2;
614 - })
615 - )
616 - /******/
617 - };
618 - var __webpack_module_cache__ = {};
619 - function __webpack_require__(moduleId) {
620 - var cachedModule = __webpack_module_cache__[moduleId];
621 - if (cachedModule !== void 0) {
622 - return cachedModule.exports;
623 - }
624 - var module3 = __webpack_module_cache__[moduleId] = {
625 - /******/
626 - // no module.id needed
627 - /******/
628 - // no module.loaded needed
629 - /******/
630 - exports: {}
631 - /******/
632 - };
633 - __webpack_modules__[moduleId](module3, module3.exports, __webpack_require__);
634 - return module3.exports;
635 - }
636 - var __webpack_exports__ = __webpack_require__("./src/index.ts");
637 - module2.exports = __webpack_exports__;
638 - })();
639 - }
640 -});
641 -
642 -// node_modules/pretty-format/node_modules/react-is/cjs/react-is.production.min.js
643 -var require_react_is_production_min = __commonJS({
644 - "node_modules/pretty-format/node_modules/react-is/cjs/react-is.production.min.js"(exports2) {
645 - "use strict";
646 - var b = Symbol.for("react.element");
647 - var c = Symbol.for("react.portal");
648 - var d = Symbol.for("react.fragment");
649 - var e = Symbol.for("react.strict_mode");
650 - var f = Symbol.for("react.profiler");
651 - var g = Symbol.for("react.provider");
652 - var h = Symbol.for("react.context");
653 - var k = Symbol.for("react.server_context");
654 - var l = Symbol.for("react.forward_ref");
655 - var m = Symbol.for("react.suspense");
656 - var n = Symbol.for("react.suspense_list");
657 - var p = Symbol.for("react.memo");
658 - var q = Symbol.for("react.lazy");
659 - var t = Symbol.for("react.offscreen");
660 - var u;
661 - u = Symbol.for("react.module.reference");
662 - function v(a) {
663 - if ("object" === typeof a && null !== a) {
664 - var r = a.$$typeof;
665 - switch (r) {
666 - case b:
667 - switch (a = a.type, a) {
668 - case d:
669 - case f:
670 - case e:
671 - case m:
672 - case n:
673 - return a;
674 - default:
675 - switch (a = a && a.$$typeof, a) {
676 - case k:
677 - case h:
678 - case l:
679 - case q:
680 - case p:
681 - case g:
682 - return a;
683 - default:
684 - return r;
685 - }
686 - }
687 - case c:
688 - return r;
689 - }
690 - }
691 - }
692 - exports2.ContextConsumer = h;
693 - exports2.ContextProvider = g;
694 - exports2.Element = b;
695 - exports2.ForwardRef = l;
696 - exports2.Fragment = d;
697 - exports2.Lazy = q;
698 - exports2.Memo = p;
699 - exports2.Portal = c;
700 - exports2.Profiler = f;
701 - exports2.StrictMode = e;
702 - exports2.Suspense = m;
703 - exports2.SuspenseList = n;
704 - exports2.isAsyncMode = function() {
705 - return false;
706 - };
707 - exports2.isConcurrentMode = function() {
708 - return false;
709 - };
710 - exports2.isContextConsumer = function(a) {
711 - return v(a) === h;
712 - };
713 - exports2.isContextProvider = function(a) {
714 - return v(a) === g;
715 - };
716 - exports2.isElement = function(a) {
717 - return "object" === typeof a && null !== a && a.$$typeof === b;
718 - };
719 - exports2.isForwardRef = function(a) {
720 - return v(a) === l;
721 - };
722 - exports2.isFragment = function(a) {
723 - return v(a) === d;
724 - };
725 - exports2.isLazy = function(a) {
726 - return v(a) === q;
727 - };
728 - exports2.isMemo = function(a) {
729 - return v(a) === p;
730 - };
731 - exports2.isPortal = function(a) {
732 - return v(a) === c;
733 - };
734 - exports2.isProfiler = function(a) {
735 - return v(a) === f;
736 - };
737 - exports2.isStrictMode = function(a) {
738 - return v(a) === e;
739 - };
740 - exports2.isSuspense = function(a) {
741 - return v(a) === m;
742 - };
743 - exports2.isSuspenseList = function(a) {
744 - return v(a) === n;
745 - };
746 - exports2.isValidElementType = function(a) {
747 - return "string" === typeof a || "function" === typeof a || a === d || a === f || a === e || a === m || a === n || a === t || "object" === typeof a && null !== a && (a.$$typeof === q || a.$$typeof === p || a.$$typeof === g || a.$$typeof === h || a.$$typeof === l || a.$$typeof === u || void 0 !== a.getModuleId) ? true : false;
748 - };
749 - exports2.typeOf = v;
750 - }
751 -});
752 -
753 -// node_modules/pretty-format/node_modules/react-is/cjs/react-is.development.js
754 -var require_react_is_development = __commonJS({
755 - "node_modules/pretty-format/node_modules/react-is/cjs/react-is.development.js"(exports2) {
756 - "use strict";
757 - if (process.env.NODE_ENV !== "production") {
758 - (function() {
759 - "use strict";
760 - var REACT_ELEMENT_TYPE = Symbol.for("react.element");
761 - var REACT_PORTAL_TYPE = Symbol.for("react.portal");
762 - var REACT_FRAGMENT_TYPE = Symbol.for("react.fragment");
763 - var REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode");
764 - var REACT_PROFILER_TYPE = Symbol.for("react.profiler");
765 - var REACT_PROVIDER_TYPE = Symbol.for("react.provider");
766 - var REACT_CONTEXT_TYPE = Symbol.for("react.context");
767 - var REACT_SERVER_CONTEXT_TYPE = Symbol.for("react.server_context");
768 - var REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref");
769 - var REACT_SUSPENSE_TYPE = Symbol.for("react.suspense");
770 - var REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list");
771 - var REACT_MEMO_TYPE = Symbol.for("react.memo");
772 - var REACT_LAZY_TYPE = Symbol.for("react.lazy");
773 - var REACT_OFFSCREEN_TYPE = Symbol.for("react.offscreen");
774 - var enableScopeAPI = false;
775 - var enableCacheElement = false;
776 - var enableTransitionTracing = false;
777 - var enableLegacyHidden = false;
778 - var enableDebugTracing = false;
779 - var REACT_MODULE_REFERENCE;
780 - {
781 - REACT_MODULE_REFERENCE = Symbol.for("react.module.reference");
782 - }
783 - function isValidElementType(type) {
784 - if (typeof type === "string" || typeof type === "function") {
785 - return true;
786 - }
787 - if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing) {
788 - return true;
789 - }
790 - if (typeof type === "object" && type !== null) {
791 - if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object
792 - // types supported by any Flight configuration anywhere since
793 - // we don't know which Flight build this will end up being used
794 - // with.
795 - type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== void 0) {
796 - return true;
797 - }
798 - }
799 - return false;
800 - }
801 - function typeOf(object) {
802 - if (typeof object === "object" && object !== null) {
803 - var $$typeof = object.$$typeof;
804 - switch ($$typeof) {
805 - case REACT_ELEMENT_TYPE:
806 - var type = object.type;
807 - switch (type) {
808 - case REACT_FRAGMENT_TYPE:
809 - case REACT_PROFILER_TYPE:
810 - case REACT_STRICT_MODE_TYPE:
811 - case REACT_SUSPENSE_TYPE:
812 - case REACT_SUSPENSE_LIST_TYPE:
813 - return type;
814 - default:
815 - var $$typeofType = type && type.$$typeof;
816 - switch ($$typeofType) {
817 - case REACT_SERVER_CONTEXT_TYPE:
818 - case REACT_CONTEXT_TYPE:
819 - case REACT_FORWARD_REF_TYPE:
820 - case REACT_LAZY_TYPE:
821 - case REACT_MEMO_TYPE:
822 - case REACT_PROVIDER_TYPE:
823 - return $$typeofType;
824 - default:
825 - return $$typeof;
826 - }
827 - }
828 - case REACT_PORTAL_TYPE:
829 - return $$typeof;
830 - }
831 - }
832 - return void 0;
833 - }
834 - var ContextConsumer = REACT_CONTEXT_TYPE;
835 - var ContextProvider = REACT_PROVIDER_TYPE;
836 - var Element = REACT_ELEMENT_TYPE;
837 - var ForwardRef = REACT_FORWARD_REF_TYPE;
838 - var Fragment = REACT_FRAGMENT_TYPE;
839 - var Lazy = REACT_LAZY_TYPE;
840 - var Memo = REACT_MEMO_TYPE;
841 - var Portal = REACT_PORTAL_TYPE;
842 - var Profiler = REACT_PROFILER_TYPE;
843 - var StrictMode = REACT_STRICT_MODE_TYPE;
844 - var Suspense = REACT_SUSPENSE_TYPE;
845 - var SuspenseList = REACT_SUSPENSE_LIST_TYPE;
846 - var hasWarnedAboutDeprecatedIsAsyncMode = false;
847 - var hasWarnedAboutDeprecatedIsConcurrentMode = false;
848 - function isAsyncMode(object) {
849 - {
850 - if (!hasWarnedAboutDeprecatedIsAsyncMode) {
851 - hasWarnedAboutDeprecatedIsAsyncMode = true;
852 - console["warn"]("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 18+.");
853 - }
854 - }
855 - return false;
856 - }
857 - function isConcurrentMode(object) {
858 - {
859 - if (!hasWarnedAboutDeprecatedIsConcurrentMode) {
860 - hasWarnedAboutDeprecatedIsConcurrentMode = true;
861 - console["warn"]("The ReactIs.isConcurrentMode() alias has been deprecated, and will be removed in React 18+.");
862 - }
863 - }
864 - return false;
865 - }
866 - function isContextConsumer(object) {
867 - return typeOf(object) === REACT_CONTEXT_TYPE;
868 - }
869 - function isContextProvider(object) {
870 - return typeOf(object) === REACT_PROVIDER_TYPE;
871 - }
872 - function isElement(object) {
873 - return typeof object === "object" && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
874 - }
875 - function isForwardRef(object) {
876 - return typeOf(object) === REACT_FORWARD_REF_TYPE;
877 - }
878 - function isFragment(object) {
879 - return typeOf(object) === REACT_FRAGMENT_TYPE;
880 - }
881 - function isLazy(object) {
882 - return typeOf(object) === REACT_LAZY_TYPE;
883 - }
884 - function isMemo(object) {
885 - return typeOf(object) === REACT_MEMO_TYPE;
886 - }
887 - function isPortal(object) {
888 - return typeOf(object) === REACT_PORTAL_TYPE;
889 - }
890 - function isProfiler(object) {
891 - return typeOf(object) === REACT_PROFILER_TYPE;
892 - }
893 - function isStrictMode(object) {
894 - return typeOf(object) === REACT_STRICT_MODE_TYPE;
895 - }
896 - function isSuspense(object) {
897 - return typeOf(object) === REACT_SUSPENSE_TYPE;
898 - }
899 - function isSuspenseList(object) {
900 - return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;
901 - }
902 - exports2.ContextConsumer = ContextConsumer;
903 - exports2.ContextProvider = ContextProvider;
904 - exports2.Element = Element;
905 - exports2.ForwardRef = ForwardRef;
906 - exports2.Fragment = Fragment;
907 - exports2.Lazy = Lazy;
908 - exports2.Memo = Memo;
909 - exports2.Portal = Portal;
910 - exports2.Profiler = Profiler;
911 - exports2.StrictMode = StrictMode;
912 - exports2.Suspense = Suspense;
913 - exports2.SuspenseList = SuspenseList;
914 - exports2.isAsyncMode = isAsyncMode;
915 - exports2.isConcurrentMode = isConcurrentMode;
916 - exports2.isContextConsumer = isContextConsumer;
917 - exports2.isContextProvider = isContextProvider;
918 - exports2.isElement = isElement;
919 - exports2.isForwardRef = isForwardRef;
920 - exports2.isFragment = isFragment;
921 - exports2.isLazy = isLazy;
922 - exports2.isMemo = isMemo;
923 - exports2.isPortal = isPortal;
924 - exports2.isProfiler = isProfiler;
925 - exports2.isStrictMode = isStrictMode;
926 - exports2.isSuspense = isSuspense;
927 - exports2.isSuspenseList = isSuspenseList;
928 - exports2.isValidElementType = isValidElementType;
929 - exports2.typeOf = typeOf;
930 - })();
931 - }
932 - }
933 -});
934 -
935 -// node_modules/pretty-format/node_modules/react-is/index.js
936 -var require_react_is = __commonJS({
937 - "node_modules/pretty-format/node_modules/react-is/index.js"(exports2, module2) {
938 - "use strict";
939 - if (process.env.NODE_ENV === "production") {
940 - module2.exports = require_react_is_production_min();
941 - } else {
942 - module2.exports = require_react_is_development();
943 - }
944 - }
945 -});
946 -
947 -// node_modules/pretty-format/node_modules/ansi-styles/index.js
948 -var require_ansi_styles = __commonJS({
949 - "node_modules/pretty-format/node_modules/ansi-styles/index.js"(exports2, module2) {
950 - "use strict";
951 - var ANSI_BACKGROUND_OFFSET = 10;
952 - var wrapAnsi256 = (offset = 0) => (code) => `\x1B[${38 + offset};5;${code}m`;
953 - var wrapAnsi16m = (offset = 0) => (red, green, blue) => `\x1B[${38 + offset};2;${red};${green};${blue}m`;
954 - function assembleStyles() {
955 - const codes = /* @__PURE__ */ new Map();
956 - const styles = {
957 - modifier: {
958 - reset: [0, 0],
959 - // 21 isn't widely supported and 22 does the same thing
960 - bold: [1, 22],
961 - dim: [2, 22],
962 - italic: [3, 23],
963 - underline: [4, 24],
964 - overline: [53, 55],
965 - inverse: [7, 27],
966 - hidden: [8, 28],
967 - strikethrough: [9, 29]
968 - },
969 - color: {
970 - black: [30, 39],
971 - red: [31, 39],
972 - green: [32, 39],
973 - yellow: [33, 39],
974 - blue: [34, 39],
975 - magenta: [35, 39],
976 - cyan: [36, 39],
977 - white: [37, 39],
978 - // Bright color
979 - blackBright: [90, 39],
980 - redBright: [91, 39],
981 - greenBright: [92, 39],
982 - yellowBright: [93, 39],
983 - blueBright: [94, 39],
984 - magentaBright: [95, 39],
985 - cyanBright: [96, 39],
986 - whiteBright: [97, 39]
987 - },
988 - bgColor: {
989 - bgBlack: [40, 49],
990 - bgRed: [41, 49],
991 - bgGreen: [42, 49],
992 - bgYellow: [43, 49],
993 - bgBlue: [44, 49],
994 - bgMagenta: [45, 49],
995 - bgCyan: [46, 49],
996 - bgWhite: [47, 49],
997 - // Bright color
998 - bgBlackBright: [100, 49],
999 - bgRedBright: [101, 49],
1000 - bgGreenBright: [102, 49],
1001 - bgYellowBright: [103, 49],
1002 - bgBlueBright: [104, 49],
1003 - bgMagentaBright: [105, 49],
1004 - bgCyanBright: [106, 49],
1005 - bgWhiteBright: [107, 49]
1006 - }
1007 - };
1008 - styles.color.gray = styles.color.blackBright;
1009 - styles.bgColor.bgGray = styles.bgColor.bgBlackBright;
1010 - styles.color.grey = styles.color.blackBright;
1011 - styles.bgColor.bgGrey = styles.bgColor.bgBlackBright;
1012 - for (const [groupName, group] of Object.entries(styles)) {
1013 - for (const [styleName, style] of Object.entries(group)) {
1014 - styles[styleName] = {
1015 - open: `\x1B[${style[0]}m`,
1016 - close: `\x1B[${style[1]}m`
1017 - };
1018 - group[styleName] = styles[styleName];
1019 - codes.set(style[0], style[1]);
1020 - }
1021 - Object.defineProperty(styles, groupName, {
1022 - value: group,
1023 - enumerable: false
1024 - });
1025 - }
1026 - Object.defineProperty(styles, "codes", {
1027 - value: codes,
1028 - enumerable: false
1029 - });
1030 - styles.color.close = "\x1B[39m";
1031 - styles.bgColor.close = "\x1B[49m";
1032 - styles.color.ansi256 = wrapAnsi256();
1033 - styles.color.ansi16m = wrapAnsi16m();
1034 - styles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);
1035 - styles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);
1036 - Object.defineProperties(styles, {
1037 - rgbToAnsi256: {
1038 - value: (red, green, blue) => {
1039 - if (red === green && green === blue) {
1040 - if (red < 8) {
1041 - return 16;
1042 - }
1043 - if (red > 248) {
1044 - return 231;
1045 - }
1046 - return Math.round((red - 8) / 247 * 24) + 232;
1047 - }
1048 - return 16 + 36 * Math.round(red / 255 * 5) + 6 * Math.round(green / 255 * 5) + Math.round(blue / 255 * 5);
1049 - },
1050 - enumerable: false
1051 - },
1052 - hexToRgb: {
1053 - value: (hex) => {
1054 - const matches = /(?<colorString>[a-f\d]{6}|[a-f\d]{3})/i.exec(hex.toString(16));
1055 - if (!matches) {
1056 - return [0, 0, 0];
1057 - }
1058 - let { colorString } = matches.groups;
1059 - if (colorString.length === 3) {
1060 - colorString = colorString.split("").map((character) => character + character).join("");
1061 - }
1062 - const integer = Number.parseInt(colorString, 16);
1063 - return [
1064 - integer >> 16 & 255,
1065 - integer >> 8 & 255,
1066 - integer & 255
1067 - ];
1068 - },
1069 - enumerable: false
1070 - },
1071 - hexToAnsi256: {
1072 - value: (hex) => styles.rgbToAnsi256(...styles.hexToRgb(hex)),
1073 - enumerable: false
1074 - }
1075 - });
1076 - return styles;
1077 - }
1078 - Object.defineProperty(module2, "exports", {
1079 - enumerable: true,
1080 - get: assembleStyles
1081 - });
1082 - }
1083 -});
1084 -
1085 -// node_modules/pretty-format/build/index.js
1086 -var require_build3 = __commonJS({
1087 - "node_modules/pretty-format/build/index.js"(exports2, module2) {
1088 - (() => {
1089 - "use strict";
1090 - var __webpack_modules__ = {
1091 - /***/
1092 - "./src/collections.ts": (
1093 - /***/
1094 - ((__unused_webpack_module, exports3) => {
1095 - Object.defineProperty(exports3, "__esModule", {
1096 - value: true
1097 - });
1098 - exports3.printIteratorEntries = printIteratorEntries;
1099 - exports3.printIteratorValues = printIteratorValues;
1100 - exports3.printListItems = printListItems;
1101 - exports3.printObjectProperties = printObjectProperties;
1102 - const getKeysOfEnumerableProperties = (object, compareKeys) => {
1103 - const rawKeys = Object.keys(object);
1104 - const keys = compareKeys === null ? rawKeys : rawKeys.sort(compareKeys);
1105 - if (Object.getOwnPropertySymbols) {
1106 - for (const symbol of Object.getOwnPropertySymbols(object)) {
1107 - if (Object.getOwnPropertyDescriptor(object, symbol).enumerable) {
1108 - keys.push(symbol);
1109 - }
1110 - }
1111 - }
1112 - return keys;
1113 - };
1114 - function printIteratorEntries(iterator, config, indentation, depth, refs, printer, separator = ": ") {
1115 - let result = "";
1116 - let width = 0;
1117 - let current = iterator.next();
1118 - if (!current.done) {
1119 - result += config.spacingOuter;
1120 - const indentationNext = indentation + config.indent;
1121 - while (!current.done) {
1122 - result += indentationNext;
1123 - if (width++ === config.maxWidth) {
1124 - result += "\u2026";
1125 - break;
1126 - }
1127 - const name = printer(current.value[0], config, indentationNext, depth, refs);
1128 - const value = printer(current.value[1], config, indentationNext, depth, refs);
1129 - result += name + separator + value;
1130 - current = iterator.next();
1131 - if (!current.done) {
1132 - result += `,${config.spacingInner}`;
1133 - } else if (!config.min) {
1134 - result += ",";
1135 - }
1136 - }
1137 - result += config.spacingOuter + indentation;
1138 - }
1139 - return result;
1140 - }
1141 - function printIteratorValues(iterator, config, indentation, depth, refs, printer) {
1142 - let result = "";
1143 - let width = 0;
1144 - let current = iterator.next();
1145 - if (!current.done) {
1146 - result += config.spacingOuter;
1147 - const indentationNext = indentation + config.indent;
1148 - while (!current.done) {
1149 - result += indentationNext;
1150 - if (width++ === config.maxWidth) {
1151 - result += "\u2026";
1152 - break;
1153 - }
1154 - result += printer(current.value, config, indentationNext, depth, refs);
1155 - current = iterator.next();
1156 - if (!current.done) {
1157 - result += `,${config.spacingInner}`;
1158 - } else if (!config.min) {
1159 - result += ",";
1160 - }
1161 - }
1162 - result += config.spacingOuter + indentation;
1163 - }
1164 - return result;
1165 - }
1166 - function printListItems(list, config, indentation, depth, refs, printer) {
1167 - let result = "";
1168 - list = list instanceof ArrayBuffer ? new DataView(list) : list;
1169 - const isDataView = (l) => l instanceof DataView;
1170 - const length = isDataView(list) ? list.byteLength : list.length;
1171 - if (length > 0) {
1172 - result += config.spacingOuter;
1173 - const indentationNext = indentation + config.indent;
1174 - for (let i = 0; i < length; i++) {
1175 - result += indentationNext;
1176 - if (i === config.maxWidth) {
1177 - result += "\u2026";
1178 - break;
1179 - }
1180 - if (isDataView(list) || i in list) {
1181 - result += printer(isDataView(list) ? list.getInt8(i) : list[i], config, indentationNext, depth, refs);
1182 - }
1183 - if (i < length - 1) {
1184 - result += `,${config.spacingInner}`;
1185 - } else if (!config.min) {
1186 - result += ",";
1187 - }
1188 - }
1189 - result += config.spacingOuter + indentation;
1190 - }
1191 - return result;
1192 - }
1193 - function printObjectProperties(val, config, indentation, depth, refs, printer) {
1194 - let result = "";
1195 - const keys = getKeysOfEnumerableProperties(val, config.compareKeys);
1196 - if (keys.length > 0) {
1197 - result += config.spacingOuter;
1198 - const indentationNext = indentation + config.indent;
1199 - for (let i = 0; i < keys.length; i++) {
1200 - const key = keys[i];
1201 - const name = printer(key, config, indentationNext, depth, refs);
1202 - const value = printer(val[key], config, indentationNext, depth, refs);
1203 - result += `${indentationNext + name}: ${value}`;
1204 - if (i < keys.length - 1) {
1205 - result += `,${config.spacingInner}`;
1206 - } else if (!config.min) {
1207 - result += ",";
1208 - }
1209 - }
1210 - result += config.spacingOuter + indentation;
1211 - }
1212 - return result;
1213 - }
1214 - })
1215 - ),
1216 - /***/
1217 - "./src/plugins/AsymmetricMatcher.ts": (
1218 - /***/
1219 - ((__unused_webpack_module, exports3, __webpack_require__2) => {
1220 - Object.defineProperty(exports3, "__esModule", {
1221 - value: true
1222 - });
1223 - exports3.test = exports3.serialize = exports3["default"] = void 0;
1224 - var _collections = __webpack_require__2("./src/collections.ts");
1225 - var Symbol2 = globalThis["jest-symbol-do-not-touch"] || globalThis.Symbol;
1226 - const asymmetricMatcher = typeof Symbol2 === "function" && Symbol2.for ? Symbol2.for("jest.asymmetricMatcher") : 1267621;
1227 - const SPACE = " ";
1228 - const serialize = (val, config, indentation, depth, refs, printer) => {
1229 - const stringedValue = val.toString();
1230 - if (stringedValue === "ArrayContaining" || stringedValue === "ArrayNotContaining") {
1231 - if (++depth > config.maxDepth) {
1232 - return `[${stringedValue}]`;
1233 - }
1234 - return `${stringedValue + SPACE}[${(0, _collections.printListItems)(val.sample, config, indentation, depth, refs, printer)}]`;
1235 - }
1236 - if (stringedValue === "ObjectContaining" || stringedValue === "ObjectNotContaining") {
1237 - if (++depth > config.maxDepth) {
1238 - return `[${stringedValue}]`;
1239 - }
1240 - return `${stringedValue + SPACE}{${(0, _collections.printObjectProperties)(val.sample, config, indentation, depth, refs, printer)}}`;
1241 - }
1242 - if (stringedValue === "StringMatching" || stringedValue === "StringNotMatching") {
1243 - return stringedValue + SPACE + printer(val.sample, config, indentation, depth, refs);
1244 - }
1245 - if (stringedValue === "StringContaining" || stringedValue === "StringNotContaining") {
1246 - return stringedValue + SPACE + printer(val.sample, config, indentation, depth, refs);
1247 - }
1248 - if (stringedValue === "ArrayOf" || stringedValue === "NotArrayOf") {
1249 - if (++depth > config.maxDepth) {
1250 - return `[${stringedValue}]`;
1251 - }
1252 - return `${stringedValue + SPACE}${printer(val.sample, config, indentation, depth, refs)}`;
1253 - }
1254 - if (typeof val.toAsymmetricMatcher !== "function") {
1255 - throw new TypeError(`Asymmetric matcher ${val.constructor.name} does not implement toAsymmetricMatcher()`);
1256 - }
1257 - return val.toAsymmetricMatcher();
1258 - };
1259 - exports3.serialize = serialize;
1260 - const test = (val) => val && val.$$typeof === asymmetricMatcher;
1261 - exports3.test = test;
1262 - const plugin = {
1263 - serialize,
1264 - test
1265 - };
1266 - var _default = exports3["default"] = plugin;
1267 - })
1268 - ),
1269 - /***/
1270 - "./src/plugins/DOMCollection.ts": (
1271 - /***/
1272 - ((__unused_webpack_module, exports3, __webpack_require__2) => {
1273 - Object.defineProperty(exports3, "__esModule", {
1274 - value: true
1275 - });
1276 - exports3.test = exports3.serialize = exports3["default"] = void 0;
1277 - var _collections = __webpack_require__2("./src/collections.ts");
1278 - const SPACE = " ";
1279 - const OBJECT_NAMES = /* @__PURE__ */ new Set(["DOMStringMap", "NamedNodeMap"]);
1280 - const ARRAY_REGEXP = /^(HTML\w*Collection|NodeList)$/;
1281 - const testName = (name) => OBJECT_NAMES.has(name) || ARRAY_REGEXP.test(name);
1282 - const test = (val) => val && val.constructor && !!val.constructor.name && testName(val.constructor.name);
1283 - exports3.test = test;
1284 - const isNamedNodeMap = (collection) => collection.constructor.name === "NamedNodeMap";
1285 - const serialize = (collection, config, indentation, depth, refs, printer) => {
1286 - const name = collection.constructor.name;
1287 - if (++depth > config.maxDepth) {
1288 - return `[${name}]`;
1289 - }
1290 - return (config.min ? "" : name + SPACE) + (OBJECT_NAMES.has(name) ? `{${(0, _collections.printObjectProperties)(isNamedNodeMap(collection) ? [...collection].reduce((props, attribute) => {
1291 - props[attribute.name] = attribute.value;
1292 - return props;
1293 - }, {}) : {
1294 - ...collection
1295 - }, config, indentation, depth, refs, printer)}}` : `[${(0, _collections.printListItems)([...collection], config, indentation, depth, refs, printer)}]`);
1296 - };
1297 - exports3.serialize = serialize;
1298 - const plugin = {
1299 - serialize,
1300 - test
1301 - };
1302 - var _default = exports3["default"] = plugin;
1303 - })
1304 - ),
1305 - /***/
1306 - "./src/plugins/DOMElement.ts": (
1307 - /***/
1308 - ((__unused_webpack_module, exports3, __webpack_require__2) => {
1309 - Object.defineProperty(exports3, "__esModule", {
1310 - value: true
1311 - });
1312 - exports3.test = exports3.serialize = exports3["default"] = void 0;
1313 - var _markup = __webpack_require__2("./src/plugins/lib/markup.ts");
1314 - const ELEMENT_NODE = 1;
1315 - const TEXT_NODE = 3;
1316 - const COMMENT_NODE = 8;
1317 - const FRAGMENT_NODE = 11;
1318 - const ELEMENT_REGEXP = /^((HTML|SVG)\w*)?Element$/;
1319 - const testHasAttribute = (val) => {
1320 - try {
1321 - return typeof val.hasAttribute === "function" && val.hasAttribute("is");
1322 - } catch {
1323 - return false;
1324 - }
1325 - };
1326 - const isCustomElement = (val) => {
1327 - const tagName = val?.tagName;
1328 - return typeof tagName === "string" && tagName.includes("-") || testHasAttribute(val);
1329 - };
1330 - const testNode = (val) => {
1331 - const constructorName = val.constructor.name;
1332 - const {
1333 - nodeType
1334 - } = val;
1335 - return nodeType === ELEMENT_NODE && (ELEMENT_REGEXP.test(constructorName) || isCustomElement(val)) || nodeType === TEXT_NODE && constructorName === "Text" || nodeType === COMMENT_NODE && constructorName === "Comment" || nodeType === FRAGMENT_NODE && constructorName === "DocumentFragment";
1336 - };
1337 - const test = (val) => (val?.constructor?.name || isCustomElement(val)) && testNode(val);
1338 - exports3.test = test;
1339 - function nodeIsText(node) {
1340 - return node.nodeType === TEXT_NODE;
1341 - }
1342 - function nodeIsComment(node) {
1343 - return node.nodeType === COMMENT_NODE;
1344 - }
1345 - function nodeIsFragment(node) {
1346 - return node.nodeType === FRAGMENT_NODE;
1347 - }
1348 - const serialize = (node, config, indentation, depth, refs, printer) => {
1349 - if (nodeIsText(node)) {
1350 - return (0, _markup.printText)(node.data, config);
1351 - }
1352 - if (nodeIsComment(node)) {
1353 - return (0, _markup.printComment)(node.data, config);
1354 - }
1355 - const type = nodeIsFragment(node) ? "DocumentFragment" : node.tagName.toLowerCase();
1356 - if (++depth > config.maxDepth) {
1357 - return (0, _markup.printElementAsLeaf)(type, config);
1358 - }
1359 - return (0, _markup.printElement)(type, (0, _markup.printProps)(nodeIsFragment(node) ? [] : Array.from(node.attributes, (attr) => attr.name).sort(), nodeIsFragment(node) ? {} : [...node.attributes].reduce((props, attribute) => {
1360 - props[attribute.name] = attribute.value;
1361 - return props;
1362 - }, {}), config, indentation + config.indent, depth, refs, printer), (0, _markup.printChildren)(Array.prototype.slice.call(node.childNodes || node.children), config, indentation + config.indent, depth, refs, printer), config, indentation);
1363 - };
1364 - exports3.serialize = serialize;
1365 - const plugin = {
1366 - serialize,
1367 - test
1368 - };
1369 - var _default = exports3["default"] = plugin;
1370 - })
1371 - ),
1372 - /***/
1373 - "./src/plugins/Immutable.ts": (
1374 - /***/
1375 - ((__unused_webpack_module, exports3, __webpack_require__2) => {
1376 - Object.defineProperty(exports3, "__esModule", {
1377 - value: true
1378 - });
1379 - exports3.test = exports3.serialize = exports3["default"] = void 0;
1380 - var _collections = __webpack_require__2("./src/collections.ts");
1381 - const IS_ITERABLE_SENTINEL = "@@__IMMUTABLE_ITERABLE__@@";
1382 - const IS_LIST_SENTINEL = "@@__IMMUTABLE_LIST__@@";
1383 - const IS_KEYED_SENTINEL = "@@__IMMUTABLE_KEYED__@@";
1384 - const IS_MAP_SENTINEL = "@@__IMMUTABLE_MAP__@@";
1385 - const IS_ORDERED_SENTINEL = "@@__IMMUTABLE_ORDERED__@@";
1386 - const IS_RECORD_SENTINEL = "@@__IMMUTABLE_RECORD__@@";
1387 - const IS_SEQ_SENTINEL = "@@__IMMUTABLE_SEQ__@@";
1388 - const IS_SET_SENTINEL = "@@__IMMUTABLE_SET__@@";
1389 - const IS_STACK_SENTINEL = "@@__IMMUTABLE_STACK__@@";
1390 - const getImmutableName = (name) => `Immutable.${name}`;
1391 - const printAsLeaf = (name) => `[${name}]`;
1392 - const SPACE = " ";
1393 - const LAZY = "\u2026";
1394 - const printImmutableEntries = (val, config, indentation, depth, refs, printer, type) => ++depth > config.maxDepth ? printAsLeaf(getImmutableName(type)) : `${getImmutableName(type) + SPACE}{${(0, _collections.printIteratorEntries)(val.entries(), config, indentation, depth, refs, printer)}}`;
1395 - function getRecordEntries(val) {
1396 - let i = 0;
1397 - return {
1398 - next() {
1399 - if (i < val._keys.length) {
1400 - const key = val._keys[i++];
1401 - return {
1402 - done: false,
1403 - value: [key, val.get(key)]
1404 - };
1405 - }
1406 - return {
1407 - done: true,
1408 - value: void 0
1409 - };
1410 - }
1411 - };
1412 - }
1413 - const printImmutableRecord = (val, config, indentation, depth, refs, printer) => {
1414 - const name = getImmutableName(val._name || "Record");
1415 - return ++depth > config.maxDepth ? printAsLeaf(name) : `${name + SPACE}{${(0, _collections.printIteratorEntries)(getRecordEntries(val), config, indentation, depth, refs, printer)}}`;
1416 - };
1417 - const printImmutableSeq = (val, config, indentation, depth, refs, printer) => {
1418 - const name = getImmutableName("Seq");
1419 - if (++depth > config.maxDepth) {
1420 - return printAsLeaf(name);
1421 - }
1422 - if (val[IS_KEYED_SENTINEL]) {
1423 - return `${name + SPACE}{${// from Immutable collection of entries or from ECMAScript object
1424 - val._iter || val._object ? (0, _collections.printIteratorEntries)(val.entries(), config, indentation, depth, refs, printer) : LAZY}}`;
1425 - }
1426 - return `${name + SPACE}[${val._iter || // from Immutable collection of values
1427 - val._array || // from ECMAScript array
1428 - val._collection || // from ECMAScript collection in immutable v4
1429 - val._iterable ? (0, _collections.printIteratorValues)(val.values(), config, indentation, depth, refs, printer) : LAZY}]`;
1430 - };
1431 - const printImmutableValues = (val, config, indentation, depth, refs, printer, type) => ++depth > config.maxDepth ? printAsLeaf(getImmutableName(type)) : `${getImmutableName(type) + SPACE}[${(0, _collections.printIteratorValues)(val.values(), config, indentation, depth, refs, printer)}]`;
1432 - const serialize = (val, config, indentation, depth, refs, printer) => {
1433 - if (val[IS_MAP_SENTINEL]) {
1434 - return printImmutableEntries(val, config, indentation, depth, refs, printer, val[IS_ORDERED_SENTINEL] ? "OrderedMap" : "Map");
1435 - }
1436 - if (val[IS_LIST_SENTINEL]) {
1437 - return printImmutableValues(val, config, indentation, depth, refs, printer, "List");
1438 - }
1439 - if (val[IS_SET_SENTINEL]) {
1440 - return printImmutableValues(val, config, indentation, depth, refs, printer, val[IS_ORDERED_SENTINEL] ? "OrderedSet" : "Set");
1441 - }
1442 - if (val[IS_STACK_SENTINEL]) {
1443 - return printImmutableValues(val, config, indentation, depth, refs, printer, "Stack");
1444 - }
1445 - if (val[IS_SEQ_SENTINEL]) {
1446 - return printImmutableSeq(val, config, indentation, depth, refs, printer);
1447 - }
1448 - return printImmutableRecord(val, config, indentation, depth, refs, printer);
1449 - };
1450 - exports3.serialize = serialize;
1451 - const test = (val) => val && (val[IS_ITERABLE_SENTINEL] === true || val[IS_RECORD_SENTINEL] === true);
1452 - exports3.test = test;
1453 - const plugin = {
1454 - serialize,
1455 - test
1456 - };
1457 - var _default = exports3["default"] = plugin;
1458 - })
1459 - ),
1460 - /***/
1461 - "./src/plugins/ReactElement.ts": (
1462 - /***/
1463 - ((__unused_webpack_module, exports3, __webpack_require__2) => {
1464 - Object.defineProperty(exports3, "__esModule", {
1465 - value: true
1466 - });
1467 - exports3.test = exports3.serialize = exports3["default"] = void 0;
1468 - var ReactIs = _interopRequireWildcard(require_react_is());
1469 - var _markup = __webpack_require__2("./src/plugins/lib/markup.ts");
1470 - function _interopRequireWildcard(e, t) {
1471 - if ("function" == typeof WeakMap) var r = /* @__PURE__ */ new WeakMap(), n = /* @__PURE__ */ new WeakMap();
1472 - return (_interopRequireWildcard = function(e2, t2) {
1473 - if (!t2 && e2 && e2.__esModule) return e2;
1474 - var o, i, f = { __proto__: null, default: e2 };
1475 - if (null === e2 || "object" != typeof e2 && "function" != typeof e2) return f;
1476 - if (o = t2 ? n : r) {
1477 - if (o.has(e2)) return o.get(e2);
1478 - o.set(e2, f);
1479 - }
1480 - for (const t3 in e2) "default" !== t3 && {}.hasOwnProperty.call(e2, t3) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e2, t3)) && (i.get || i.set) ? o(f, t3, i) : f[t3] = e2[t3]);
1481 - return f;
1482 - })(e, t);
1483 - }
1484 - const getChildren = (arg, children = []) => {
1485 - if (Array.isArray(arg)) {
1486 - for (const item of arg) {
1487 - getChildren(item, children);
1488 - }
1489 - } else if (arg != null && arg !== false && arg !== "") {
1490 - children.push(arg);
1491 - }
1492 - return children;
1493 - };
1494 - const getType2 = (element) => {
1495 - const type = element.type;
1496 - if (typeof type === "string") {
1497 - return type;
1498 - }
1499 - if (typeof type === "function") {
1500 - return type.displayName || type.name || "Unknown";
1501 - }
1502 - if (ReactIs.isFragment(element)) {
1503 - return "React.Fragment";
1504 - }
1505 - if (ReactIs.isSuspense(element)) {
1506 - return "React.Suspense";
1507 - }
1508 - if (typeof type === "object" && type !== null) {
1509 - if (ReactIs.isContextProvider(element)) {
1510 - return "Context.Provider";
1511 - }
1512 - if (ReactIs.isContextConsumer(element)) {
1513 - return "Context.Consumer";
1514 - }
1515 - if (ReactIs.isForwardRef(element)) {
1516 - if (type.displayName) {
1517 - return type.displayName;
1518 - }
1519 - const functionName = type.render.displayName || type.render.name || "";
1520 - return functionName === "" ? "ForwardRef" : `ForwardRef(${functionName})`;
1521 - }
1522 - if (ReactIs.isMemo(element)) {
1523 - const functionName = type.displayName || type.type.displayName || type.type.name || "";
1524 - return functionName === "" ? "Memo" : `Memo(${functionName})`;
1525 - }
1526 - }
1527 - return "UNDEFINED";
1528 - };
1529 - const getPropKeys = (element) => {
1530 - const {
1531 - props
1532 - } = element;
1533 - return Object.keys(props).filter((key) => key !== "children" && props[key] !== void 0).sort();
1534 - };
1535 - const serialize = (element, config, indentation, depth, refs, printer) => ++depth > config.maxDepth ? (0, _markup.printElementAsLeaf)(getType2(element), config) : (0, _markup.printElement)(getType2(element), (0, _markup.printProps)(getPropKeys(element), element.props, config, indentation + config.indent, depth, refs, printer), (0, _markup.printChildren)(getChildren(element.props.children), config, indentation + config.indent, depth, refs, printer), config, indentation);
1536 - exports3.serialize = serialize;
1537 - const test = (val) => val != null && ReactIs.isElement(val);
1538 - exports3.test = test;
1539 - const plugin = {
1540 - serialize,
1541 - test
1542 - };
1543 - var _default = exports3["default"] = plugin;
1544 - })
1545 - ),
1546 - /***/
1547 - "./src/plugins/ReactTestComponent.ts": (
1548 - /***/
1549 - ((__unused_webpack_module, exports3, __webpack_require__2) => {
1550 - Object.defineProperty(exports3, "__esModule", {
1551 - value: true
1552 - });
1553 - exports3.test = exports3.serialize = exports3["default"] = void 0;
1554 - var _markup = __webpack_require__2("./src/plugins/lib/markup.ts");
1555 - var Symbol2 = globalThis["jest-symbol-do-not-touch"] || globalThis.Symbol;
1556 - const testSymbol = typeof Symbol2 === "function" && Symbol2.for ? Symbol2.for("react.test.json") : 245830487;
1557 - const getPropKeys = (object) => {
1558 - const {
1559 - props
1560 - } = object;
1561 - return props ? Object.keys(props).filter((key) => props[key] !== void 0).sort() : [];
1562 - };
1563 - const serialize = (object, config, indentation, depth, refs, printer) => ++depth > config.maxDepth ? (0, _markup.printElementAsLeaf)(object.type, config) : (0, _markup.printElement)(object.type, object.props ? (0, _markup.printProps)(getPropKeys(object), object.props, config, indentation + config.indent, depth, refs, printer) : "", object.children ? (0, _markup.printChildren)(object.children, config, indentation + config.indent, depth, refs, printer) : "", config, indentation);
1564 - exports3.serialize = serialize;
1565 - const test = (val) => val && val.$$typeof === testSymbol;
1566 - exports3.test = test;
1567 - const plugin = {
1568 - serialize,
1569 - test
1570 - };
1571 - var _default = exports3["default"] = plugin;
1572 - })
1573 - ),
1574 - /***/
1575 - "./src/plugins/lib/escapeHTML.ts": (
1576 - /***/
1577 - ((__unused_webpack_module, exports3) => {
1578 - Object.defineProperty(exports3, "__esModule", {
1579 - value: true
1580 - });
1581 - exports3["default"] = escapeHTML;
1582 - function escapeHTML(str) {
1583 - return str.replaceAll("<", "&lt;").replaceAll(">", "&gt;");
1584 - }
1585 - })
1586 - ),
1587 - /***/
1588 - "./src/plugins/lib/markup.ts": (
1589 - /***/
1590 - ((__unused_webpack_module, exports3, __webpack_require__2) => {
1591 - Object.defineProperty(exports3, "__esModule", {
1592 - value: true
1593 - });
1594 - exports3.printText = exports3.printProps = exports3.printElementAsLeaf = exports3.printElement = exports3.printComment = exports3.printChildren = void 0;
1595 - var _escapeHTML = _interopRequireDefault(__webpack_require__2("./src/plugins/lib/escapeHTML.ts"));
1596 - function _interopRequireDefault(e) {
1597 - return e && e.__esModule ? e : { default: e };
1598 - }
1599 - const printProps = (keys, props, config, indentation, depth, refs, printer) => {
1600 - const indentationNext = indentation + config.indent;
1601 - const colors3 = config.colors;
1602 - return keys.map((key) => {
1603 - const value = props[key];
1604 - let printed = printer(value, config, indentationNext, depth, refs);
1605 - if (typeof value !== "string") {
1606 - if (printed.includes("\n")) {
1607 - printed = config.spacingOuter + indentationNext + printed + config.spacingOuter + indentation;
1608 - }
1609 - printed = `{${printed}}`;
1610 - }
1611 - return `${config.spacingInner + indentation + colors3.prop.open + key + colors3.prop.close}=${colors3.value.open}${printed}${colors3.value.close}`;
1612 - }).join("");
1613 - };
1614 - exports3.printProps = printProps;
1615 - const printChildren = (children, config, indentation, depth, refs, printer) => children.map((child) => config.spacingOuter + indentation + (typeof child === "string" ? printText(child, config) : printer(child, config, indentation, depth, refs))).join("");
1616 - exports3.printChildren = printChildren;
1617 - const printText = (text, config) => {
1618 - const contentColor = config.colors.content;
1619 - return contentColor.open + (0, _escapeHTML.default)(text) + contentColor.close;
1620 - };
1621 - exports3.printText = printText;
1622 - const printComment = (comment, config) => {
1623 - const commentColor = config.colors.comment;
1624 - return `${commentColor.open}<!--${(0, _escapeHTML.default)(comment)}-->${commentColor.close}`;
1625 - };
1626 - exports3.printComment = printComment;
1627 - const printElement = (type, printedProps, printedChildren, config, indentation) => {
1628 - const tagColor = config.colors.tag;
1629 - return `${tagColor.open}<${type}${printedProps && tagColor.close + printedProps + config.spacingOuter + indentation + tagColor.open}${printedChildren ? `>${tagColor.close}${printedChildren}${config.spacingOuter}${indentation}${tagColor.open}</${type}` : `${printedProps && !config.min ? "" : " "}/`}>${tagColor.close}`;
1630 - };
1631 - exports3.printElement = printElement;
1632 - const printElementAsLeaf = (type, config) => {
1633 - const tagColor = config.colors.tag;
1634 - return `${tagColor.open}<${type}${tagColor.close} \u2026${tagColor.open} />${tagColor.close}`;
1635 - };
1636 - exports3.printElementAsLeaf = printElementAsLeaf;
1637 - })
1638 - )
1639 - /******/
1640 - };
1641 - var __webpack_module_cache__ = {};
1642 - function __webpack_require__(moduleId) {
1643 - var cachedModule = __webpack_module_cache__[moduleId];
1644 - if (cachedModule !== void 0) {
1645 - return cachedModule.exports;
1646 - }
1647 - var module3 = __webpack_module_cache__[moduleId] = {
1648 - /******/
1649 - // no module.id needed
1650 - /******/
1651 - // no module.loaded needed
1652 - /******/
1653 - exports: {}
1654 - /******/
1655 - };
1656 - __webpack_modules__[moduleId](module3, module3.exports, __webpack_require__);
1657 - return module3.exports;
1658 - }
1659 - var __webpack_exports__ = {};
1660 - (() => {
1661 - var exports3 = __webpack_exports__;
1662 - Object.defineProperty(exports3, "__esModule", {
1663 - value: true
1664 - });
1665 - exports3["default"] = exports3.DEFAULT_OPTIONS = void 0;
1666 - exports3.format = format;
1667 - exports3.plugins = void 0;
1668 - var _ansiStyles = _interopRequireDefault(require_ansi_styles());
1669 - var _collections = __webpack_require__("./src/collections.ts");
1670 - var _AsymmetricMatcher = _interopRequireDefault(__webpack_require__("./src/plugins/AsymmetricMatcher.ts"));
1671 - var _DOMCollection = _interopRequireDefault(__webpack_require__("./src/plugins/DOMCollection.ts"));
1672 - var _DOMElement = _interopRequireDefault(__webpack_require__("./src/plugins/DOMElement.ts"));
1673 - var _Immutable = _interopRequireDefault(__webpack_require__("./src/plugins/Immutable.ts"));
1674 - var _ReactElement = _interopRequireDefault(__webpack_require__("./src/plugins/ReactElement.ts"));
1675 - var _ReactTestComponent = _interopRequireDefault(__webpack_require__("./src/plugins/ReactTestComponent.ts"));
1676 - function _interopRequireDefault(e) {
1677 - return e && e.__esModule ? e : { default: e };
1678 - }
1679 - const src_toString = Object.prototype.toString;
1680 - const toISOString = Date.prototype.toISOString;
1681 - const errorToString = Error.prototype.toString;
1682 - const regExpToString = RegExp.prototype.toString;
1683 - const getConstructorName = (val) => typeof val.constructor === "function" && val.constructor.name || "Object";
1684 - const isWindow = (val) => (
1685 - // eslint-disable-next-line unicorn/prefer-global-this
1686 - typeof window !== "undefined" && val === window
1687 - );
1688 - const SYMBOL_REGEXP = /^Symbol\((.*)\)(.*)$/;
1689 - const NEWLINE_REGEXP = /\n/gi;
1690 - class PrettyFormatPluginError extends Error {
1691 - constructor(message, stack) {
1692 - super(message);
1693 - this.stack = stack;
1694 - this.name = this.constructor.name;
1695 - }
1696 - }
1697 - function isToStringedArrayType(toStringed) {
1698 - return toStringed === "[object Array]" || toStringed === "[object ArrayBuffer]" || toStringed === "[object DataView]" || toStringed === "[object Float32Array]" || toStringed === "[object Float64Array]" || toStringed === "[object Int8Array]" || toStringed === "[object Int16Array]" || toStringed === "[object Int32Array]" || toStringed === "[object Uint8Array]" || toStringed === "[object Uint8ClampedArray]" || toStringed === "[object Uint16Array]" || toStringed === "[object Uint32Array]";
1699 - }
1700 - function printNumber(val) {
1701 - return Object.is(val, -0) ? "-0" : String(val);
1702 - }
1703 - function printBigInt(val) {
1704 - return String(`${val}n`);
1705 - }
1706 - function printFunction(val, printFunctionName) {
1707 - if (!printFunctionName) {
1708 - return "[Function]";
1709 - }
1710 - return `[Function ${val.name || "anonymous"}]`;
1711 - }
1712 - function printSymbol(val) {
1713 - return String(val).replace(SYMBOL_REGEXP, "Symbol($1)");
1714 - }
1715 - function printError(val) {
1716 - return `[${errorToString.call(val)}]`;
1717 - }
1718 - function printBasicValue(val, printFunctionName, escapeRegex, escapeString) {
1719 - if (val === true || val === false) {
1720 - return `${val}`;
1721 - }
1722 - if (val === void 0) {
1723 - return "undefined";
1724 - }
1725 - if (val === null) {
1726 - return "null";
1727 - }
1728 - const typeOf = typeof val;
1729 - if (typeOf === "number") {
1730 - return printNumber(val);
1731 - }
1732 - if (typeOf === "bigint") {
1733 - return printBigInt(val);
1734 - }
1735 - if (typeOf === "string") {
1736 - if (escapeString) {
1737 - return `"${val.replaceAll(/"|\\/g, "\\$&")}"`;
1738 - }
1739 - return `"${val}"`;
1740 - }
1741 - if (typeOf === "function") {
1742 - return printFunction(val, printFunctionName);
1743 - }
1744 - if (typeOf === "symbol") {
1745 - return printSymbol(val);
1746 - }
1747 - const toStringed = src_toString.call(val);
1748 - if (toStringed === "[object Promise]") {
1749 - return "Promise {}";
1750 - }
1751 - if (toStringed === "[object WeakMap]") {
1752 - return "WeakMap {}";
1753 - }
1754 - if (toStringed === "[object WeakSet]") {
1755 - return "WeakSet {}";
1756 - }
1757 - if (toStringed === "[object Function]" || toStringed === "[object GeneratorFunction]") {
1758 - return printFunction(val, printFunctionName);
1759 - }
1760 - if (toStringed === "[object Symbol]") {
1761 - return printSymbol(val);
1762 - }
1763 - if (toStringed === "[object Date]") {
1764 - return Number.isNaN(+val) ? "Date { NaN }" : toISOString.call(val);
1765 - }
1766 - if (toStringed === "[object Error]") {
1767 - return printError(val);
1768 - }
1769 - if (toStringed === "[object RegExp]") {
1770 - if (escapeRegex) {
1771 - return regExpToString.call(val).replaceAll(/[$()*+.?[\\\]^{|}]/g, "\\$&");
1772 - }
1773 - return regExpToString.call(val);
1774 - }
1775 - if (val instanceof Error) {
1776 - return printError(val);
1777 - }
1778 - return null;
1779 - }
1780 - function printComplexValue(val, config, indentation, depth, refs, hasCalledToJSON) {
1781 - if (refs.includes(val)) {
1782 - return "[Circular]";
1783 - }
1784 - refs = [...refs];
1785 - refs.push(val);
1786 - const hitMaxDepth = ++depth > config.maxDepth;
1787 - const min = config.min;
1788 - if (config.callToJSON && !hitMaxDepth && val.toJSON && typeof val.toJSON === "function" && !hasCalledToJSON) {
1789 - return printer(val.toJSON(), config, indentation, depth, refs, true);
1790 - }
1791 - const toStringed = src_toString.call(val);
1792 - if (toStringed === "[object Arguments]") {
1793 - return hitMaxDepth ? "[Arguments]" : `${min ? "" : "Arguments "}[${(0, _collections.printListItems)(val, config, indentation, depth, refs, printer)}]`;
1794 - }
1795 - if (isToStringedArrayType(toStringed)) {
1796 - return hitMaxDepth ? `[${val.constructor.name}]` : `${min ? "" : !config.printBasicPrototype && val.constructor.name === "Array" ? "" : `${val.constructor.name} `}[${(0, _collections.printListItems)(val, config, indentation, depth, refs, printer)}]`;
1797 - }
1798 - if (toStringed === "[object Map]") {
1799 - return hitMaxDepth ? "[Map]" : `Map {${(0, _collections.printIteratorEntries)(val.entries(), config, indentation, depth, refs, printer, " => ")}}`;
1800 - }
1801 - if (toStringed === "[object Set]") {
1802 - return hitMaxDepth ? "[Set]" : `Set {${(0, _collections.printIteratorValues)(val.values(), config, indentation, depth, refs, printer)}}`;
1803 - }
1804 - return hitMaxDepth || isWindow(val) ? `[${getConstructorName(val)}]` : `${min ? "" : !config.printBasicPrototype && getConstructorName(val) === "Object" ? "" : `${getConstructorName(val)} `}{${(0, _collections.printObjectProperties)(val, config, indentation, depth, refs, printer)}}`;
1805 - }
1806 - function isNewPlugin(plugin) {
1807 - return plugin.serialize != null;
1808 - }
1809 - function printPlugin(plugin, val, config, indentation, depth, refs) {
1810 - let printed;
1811 - try {
1812 - printed = isNewPlugin(plugin) ? plugin.serialize(val, config, indentation, depth, refs, printer) : plugin.print(val, (valChild) => printer(valChild, config, indentation, depth, refs), (str) => {
1813 - const indentationNext = indentation + config.indent;
1814 - return indentationNext + str.replaceAll(NEWLINE_REGEXP, `
1815 -${indentationNext}`);
1816 - }, {
1817 - edgeSpacing: config.spacingOuter,
1818 - min: config.min,
1819 - spacing: config.spacingInner
1820 - }, config.colors);
1821 - } catch (error) {
1822 - throw new PrettyFormatPluginError(error.message, error.stack);
1823 - }
1824 - if (typeof printed !== "string") {
1825 - throw new TypeError(`pretty-format: Plugin must return type "string" but instead returned "${typeof printed}".`);
1826 - }
1827 - return printed;
1828 - }
1829 - function findPlugin(plugins2, val) {
1830 - for (const plugin of plugins2) {
1831 - try {
1832 - if (plugin.test(val)) {
1833 - return plugin;
1834 - }
1835 - } catch (error) {
1836 - throw new PrettyFormatPluginError(error.message, error.stack);
1837 - }
1838 - }
1839 - return null;
1840 - }
1841 - function printer(val, config, indentation, depth, refs, hasCalledToJSON) {
1842 - const plugin = findPlugin(config.plugins, val);
1843 - if (plugin !== null) {
1844 - return printPlugin(plugin, val, config, indentation, depth, refs);
1845 - }
1846 - const basicResult = printBasicValue(val, config.printFunctionName, config.escapeRegex, config.escapeString);
1847 - if (basicResult !== null) {
1848 - return basicResult;
1849 - }
1850 - return printComplexValue(val, config, indentation, depth, refs, hasCalledToJSON);
1851 - }
1852 - const DEFAULT_THEME = {
1853 - comment: "gray",
1854 - content: "reset",
1855 - prop: "yellow",
1856 - tag: "cyan",
1857 - value: "green"
1858 - };
1859 - const DEFAULT_THEME_KEYS = Object.keys(DEFAULT_THEME);
1860 - const toOptionsSubtype = (options) => options;
1861 - const DEFAULT_OPTIONS = exports3.DEFAULT_OPTIONS = toOptionsSubtype({
1862 - callToJSON: true,
1863 - compareKeys: void 0,
1864 - escapeRegex: false,
1865 - escapeString: true,
1866 - highlight: false,
1867 - indent: 2,
1868 - maxDepth: Number.POSITIVE_INFINITY,
1869 - maxWidth: Number.POSITIVE_INFINITY,
1870 - min: false,
1871 - plugins: [],
1872 - printBasicPrototype: true,
1873 - printFunctionName: true,
1874 - theme: DEFAULT_THEME
1875 - });
1876 - function validateOptions(options) {
1877 - for (const key of Object.keys(options)) {
1878 - if (!Object.prototype.hasOwnProperty.call(DEFAULT_OPTIONS, key)) {
1879 - throw new Error(`pretty-format: Unknown option "${key}".`);
1880 - }
1881 - }
1882 - if (options.min && options.indent !== void 0 && options.indent !== 0) {
1883 - throw new Error('pretty-format: Options "min" and "indent" cannot be used together.');
1884 - }
1885 - if (options.theme !== void 0) {
1886 - if (options.theme === null) {
1887 - throw new Error('pretty-format: Option "theme" must not be null.');
1888 - }
1889 - if (typeof options.theme !== "object") {
1890 - throw new TypeError(`pretty-format: Option "theme" must be of type "object" but instead received "${typeof options.theme}".`);
1891 - }
1892 - }
1893 - }
1894 - const getColorsHighlight = (options) => DEFAULT_THEME_KEYS.reduce((colors3, key) => {
1895 - const value = options.theme && options.theme[key] !== void 0 ? options.theme[key] : DEFAULT_THEME[key];
1896 - const color = value && _ansiStyles.default[value];
1897 - if (color && typeof color.close === "string" && typeof color.open === "string") {
1898 - colors3[key] = color;
1899 - } else {
1900 - throw new Error(`pretty-format: Option "theme" has a key "${key}" whose value "${value}" is undefined in ansi-styles.`);
1901 - }
1902 - return colors3;
1903 - }, /* @__PURE__ */ Object.create(null));
1904 - const getColorsEmpty = () => DEFAULT_THEME_KEYS.reduce((colors3, key) => {
1905 - colors3[key] = {
1906 - close: "",
1907 - open: ""
1908 - };
1909 - return colors3;
1910 - }, /* @__PURE__ */ Object.create(null));
1911 - const getPrintFunctionName = (options) => options?.printFunctionName ?? DEFAULT_OPTIONS.printFunctionName;
1912 - const getEscapeRegex = (options) => options?.escapeRegex ?? DEFAULT_OPTIONS.escapeRegex;
1913 - const getEscapeString = (options) => options?.escapeString ?? DEFAULT_OPTIONS.escapeString;
1914 - const getConfig = (options) => ({
1915 - callToJSON: options?.callToJSON ?? DEFAULT_OPTIONS.callToJSON,
1916 - colors: options?.highlight ? getColorsHighlight(options) : getColorsEmpty(),
1917 - compareKeys: typeof options?.compareKeys === "function" || options?.compareKeys === null ? options.compareKeys : DEFAULT_OPTIONS.compareKeys,
1918 - escapeRegex: getEscapeRegex(options),
1919 - escapeString: getEscapeString(options),
1920 - indent: options?.min ? "" : createIndent(options?.indent ?? DEFAULT_OPTIONS.indent),
1921 - maxDepth: options?.maxDepth ?? DEFAULT_OPTIONS.maxDepth,
1922 - maxWidth: options?.maxWidth ?? DEFAULT_OPTIONS.maxWidth,
1923 - min: options?.min ?? DEFAULT_OPTIONS.min,
1924 - plugins: options?.plugins ?? DEFAULT_OPTIONS.plugins,
1925 - printBasicPrototype: options?.printBasicPrototype ?? true,
1926 - printFunctionName: getPrintFunctionName(options),
1927 - spacingInner: options?.min ? " " : "\n",
1928 - spacingOuter: options?.min ? "" : "\n"
1929 - });
1930 - function createIndent(indent3) {
1931 - return Array.from({
1932 - length: indent3 + 1
1933 - }).join(" ");
1934 - }
1935 - function format(val, options) {
1936 - if (options) {
1937 - validateOptions(options);
1938 - if (options.plugins) {
1939 - const plugin = findPlugin(options.plugins, val);
1940 - if (plugin !== null) {
1941 - return printPlugin(plugin, val, getConfig(options), "", 0, []);
1942 - }
1943 - }
1944 - }
1945 - const basicResult = printBasicValue(val, getPrintFunctionName(options), getEscapeRegex(options), getEscapeString(options));
1946 - if (basicResult !== null) {
1947 - return basicResult;
1948 - }
1949 - return printComplexValue(val, getConfig(options), "", 0, []);
1950 - }
1951 - const plugins = exports3.plugins = {
1952 - AsymmetricMatcher: _AsymmetricMatcher.default,
1953 - DOMCollection: _DOMCollection.default,
1954 - DOMElement: _DOMElement.default,
1955 - Immutable: _Immutable.default,
1956 - ReactElement: _ReactElement.default,
1957 - ReactTestComponent: _ReactTestComponent.default
1958 - };
1959 - var _default = exports3["default"] = format;
1960 - })();
1961 - module2.exports = __webpack_exports__;
1962 - })();
1963 - }
1964 -});
1965 -
1966 -// node_modules/color-name/index.js
1967 -var require_color_name = __commonJS({
1968 - "node_modules/color-name/index.js"(exports2, module2) {
1969 - "use strict";
1970 - module2.exports = {
1971 - "aliceblue": [240, 248, 255],
1972 - "antiquewhite": [250, 235, 215],
1973 - "aqua": [0, 255, 255],
1974 - "aquamarine": [127, 255, 212],
1975 - "azure": [240, 255, 255],
1976 - "beige": [245, 245, 220],
1977 - "bisque": [255, 228, 196],
1978 - "black": [0, 0, 0],
1979 - "blanchedalmond": [255, 235, 205],
1980 - "blue": [0, 0, 255],
1981 - "blueviolet": [138, 43, 226],
1982 - "brown": [165, 42, 42],
1983 - "burlywood": [222, 184, 135],
1984 - "cadetblue": [95, 158, 160],
1985 - "chartreuse": [127, 255, 0],
1986 - "chocolate": [210, 105, 30],
1987 - "coral": [255, 127, 80],
1988 - "cornflowerblue": [100, 149, 237],
1989 - "cornsilk": [255, 248, 220],
1990 - "crimson": [220, 20, 60],
1991 - "cyan": [0, 255, 255],
1992 - "darkblue": [0, 0, 139],
1993 - "darkcyan": [0, 139, 139],
1994 - "darkgoldenrod": [184, 134, 11],
1995 - "darkgray": [169, 169, 169],
1996 - "darkgreen": [0, 100, 0],
1997 - "darkgrey": [169, 169, 169],
1998 - "darkkhaki": [189, 183, 107],
1999 - "darkmagenta": [139, 0, 139],
2000 - "darkolivegreen": [85, 107, 47],
2001 - "darkorange": [255, 140, 0],
2002 - "darkorchid": [153, 50, 204],
2003 - "darkred": [139, 0, 0],
2004 - "darksalmon": [233, 150, 122],
2005 - "darkseagreen": [143, 188, 143],
2006 - "darkslateblue": [72, 61, 139],
2007 - "darkslategray": [47, 79, 79],
2008 - "darkslategrey": [47, 79, 79],
2009 - "darkturquoise": [0, 206, 209],
2010 - "darkviolet": [148, 0, 211],
2011 - "deeppink": [255, 20, 147],
2012 - "deepskyblue": [0, 191, 255],
2013 - "dimgray": [105, 105, 105],
2014 - "dimgrey": [105, 105, 105],
2015 - "dodgerblue": [30, 144, 255],
2016 - "firebrick": [178, 34, 34],
2017 - "floralwhite": [255, 250, 240],
2018 - "forestgreen": [34, 139, 34],
2019 - "fuchsia": [255, 0, 255],
2020 - "gainsboro": [220, 220, 220],
2021 - "ghostwhite": [248, 248, 255],
2022 - "gold": [255, 215, 0],
2023 - "goldenrod": [218, 165, 32],
2024 - "gray": [128, 128, 128],
2025 - "green": [0, 128, 0],
2026 - "greenyellow": [173, 255, 47],
2027 - "grey": [128, 128, 128],
2028 - "honeydew": [240, 255, 240],
2029 - "hotpink": [255, 105, 180],
2030 - "indianred": [205, 92, 92],
2031 - "indigo": [75, 0, 130],
2032 - "ivory": [255, 255, 240],
2033 - "khaki": [240, 230, 140],
2034 - "lavender": [230, 230, 250],
2035 - "lavenderblush": [255, 240, 245],
2036 - "lawngreen": [124, 252, 0],
2037 - "lemonchiffon": [255, 250, 205],
2038 - "lightblue": [173, 216, 230],
2039 - "lightcoral": [240, 128, 128],
2040 - "lightcyan": [224, 255, 255],
2041 - "lightgoldenrodyellow": [250, 250, 210],
2042 - "lightgray": [211, 211, 211],
2043 - "lightgreen": [144, 238, 144],
2044 - "lightgrey": [211, 211, 211],
2045 - "lightpink": [255, 182, 193],
2046 - "lightsalmon": [255, 160, 122],
2047 - "lightseagreen": [32, 178, 170],
2048 - "lightskyblue": [135, 206, 250],
2049 - "lightslategray": [119, 136, 153],
2050 - "lightslategrey": [119, 136, 153],
2051 - "lightsteelblue": [176, 196, 222],
2052 - "lightyellow": [255, 255, 224],
2053 - "lime": [0, 255, 0],
2054 - "limegreen": [50, 205, 50],
2055 - "linen": [250, 240, 230],
2056 - "magenta": [255, 0, 255],
2057 - "maroon": [128, 0, 0],
2058 - "mediumaquamarine": [102, 205, 170],
2059 - "mediumblue": [0, 0, 205],
2060 - "mediumorchid": [186, 85, 211],
2061 - "mediumpurple": [147, 112, 219],
2062 - "mediumseagreen": [60, 179, 113],
2063 - "mediumslateblue": [123, 104, 238],
2064 - "mediumspringgreen": [0, 250, 154],
2065 - "mediumturquoise": [72, 209, 204],
2066 - "mediumvioletred": [199, 21, 133],
2067 - "midnightblue": [25, 25, 112],
2068 - "mintcream": [245, 255, 250],
2069 - "mistyrose": [255, 228, 225],
2070 - "moccasin": [255, 228, 181],
2071 - "navajowhite": [255, 222, 173],
2072 - "navy": [0, 0, 128],
2073 - "oldlace": [253, 245, 230],
2074 - "olive": [128, 128, 0],
2075 - "olivedrab": [107, 142, 35],
2076 - "orange": [255, 165, 0],
2077 - "orangered": [255, 69, 0],
2078 - "orchid": [218, 112, 214],
2079 - "palegoldenrod": [238, 232, 170],
2080 - "palegreen": [152, 251, 152],
2081 - "paleturquoise": [175, 238, 238],
2082 - "palevioletred": [219, 112, 147],
2083 - "papayawhip": [255, 239, 213],
2084 - "peachpuff": [255, 218, 185],
2085 - "peru": [205, 133, 63],
2086 - "pink": [255, 192, 203],
2087 - "plum": [221, 160, 221],
2088 - "powderblue": [176, 224, 230],
2089 - "purple": [128, 0, 128],
2090 - "rebeccapurple": [102, 51, 153],
2091 - "red": [255, 0, 0],
2092 - "rosybrown": [188, 143, 143],
2093 - "royalblue": [65, 105, 225],
2094 - "saddlebrown": [139, 69, 19],
2095 - "salmon": [250, 128, 114],
2096 - "sandybrown": [244, 164, 96],
2097 - "seagreen": [46, 139, 87],
2098 - "seashell": [255, 245, 238],
2099 - "sienna": [160, 82, 45],
2100 - "silver": [192, 192, 192],
2101 - "skyblue": [135, 206, 235],
2102 - "slateblue": [106, 90, 205],
2103 - "slategray": [112, 128, 144],
2104 - "slategrey": [112, 128, 144],
2105 - "snow": [255, 250, 250],
2106 - "springgreen": [0, 255, 127],
2107 - "steelblue": [70, 130, 180],
2108 - "tan": [210, 180, 140],
2109 - "teal": [0, 128, 128],
2110 - "thistle": [216, 191, 216],
2111 - "tomato": [255, 99, 71],
2112 - "turquoise": [64, 224, 208],
2113 - "violet": [238, 130, 238],
2114 - "wheat": [245, 222, 179],
2115 - "white": [255, 255, 255],
2116 - "whitesmoke": [245, 245, 245],
2117 - "yellow": [255, 255, 0],
2118 - "yellowgreen": [154, 205, 50]
2119 - };
2120 - }
2121 -});
2122 -
2123 -// node_modules/color-convert/conversions.js
2124 -var require_conversions = __commonJS({
2125 - "node_modules/color-convert/conversions.js"(exports2, module2) {
2126 - var cssKeywords = require_color_name();
2127 - var reverseKeywords = {};
2128 - for (const key of Object.keys(cssKeywords)) {
2129 - reverseKeywords[cssKeywords[key]] = key;
2130 - }
2131 - var convert = {
2132 - rgb: { channels: 3, labels: "rgb" },
2133 - hsl: { channels: 3, labels: "hsl" },
2134 - hsv: { channels: 3, labels: "hsv" },
2135 - hwb: { channels: 3, labels: "hwb" },
2136 - cmyk: { channels: 4, labels: "cmyk" },
2137 - xyz: { channels: 3, labels: "xyz" },
2138 - lab: { channels: 3, labels: "lab" },
2139 - lch: { channels: 3, labels: "lch" },
2140 - hex: { channels: 1, labels: ["hex"] },
2141 - keyword: { channels: 1, labels: ["keyword"] },
2142 - ansi16: { channels: 1, labels: ["ansi16"] },
2143 - ansi256: { channels: 1, labels: ["ansi256"] },
2144 - hcg: { channels: 3, labels: ["h", "c", "g"] },
2145 - apple: { channels: 3, labels: ["r16", "g16", "b16"] },
2146 - gray: { channels: 1, labels: ["gray"] }
2147 - };
2148 - module2.exports = convert;
2149 - for (const model of Object.keys(convert)) {
2150 - if (!("channels" in convert[model])) {
2151 - throw new Error("missing channels property: " + model);
2152 - }
2153 - if (!("labels" in convert[model])) {
2154 - throw new Error("missing channel labels property: " + model);
2155 - }
2156 - if (convert[model].labels.length !== convert[model].channels) {
2157 - throw new Error("channel and label counts mismatch: " + model);
2158 - }
2159 - const { channels, labels } = convert[model];
2160 - delete convert[model].channels;
2161 - delete convert[model].labels;
2162 - Object.defineProperty(convert[model], "channels", { value: channels });
2163 - Object.defineProperty(convert[model], "labels", { value: labels });
2164 - }
2165 - convert.rgb.hsl = function(rgb) {
2166 - const r = rgb[0] / 255;
2167 - const g = rgb[1] / 255;
2168 - const b = rgb[2] / 255;
2169 - const min = Math.min(r, g, b);
2170 - const max = Math.max(r, g, b);
2171 - const delta = max - min;
2172 - let h;
2173 - let s;
2174 - if (max === min) {
2175 - h = 0;
2176 - } else if (r === max) {
2177 - h = (g - b) / delta;
2178 - } else if (g === max) {
2179 - h = 2 + (b - r) / delta;
2180 - } else if (b === max) {
2181 - h = 4 + (r - g) / delta;
2182 - }
2183 - h = Math.min(h * 60, 360);
2184 - if (h < 0) {
2185 - h += 360;
2186 - }
2187 - const l = (min + max) / 2;
2188 - if (max === min) {
2189 - s = 0;
2190 - } else if (l <= 0.5) {
2191 - s = delta / (max + min);
2192 - } else {
2193 - s = delta / (2 - max - min);
2194 - }
2195 - return [h, s * 100, l * 100];
2196 - };
2197 - convert.rgb.hsv = function(rgb) {
2198 - let rdif;
2199 - let gdif;
2200 - let bdif;
2201 - let h;
2202 - let s;
2203 - const r = rgb[0] / 255;
2204 - const g = rgb[1] / 255;
2205 - const b = rgb[2] / 255;
2206 - const v = Math.max(r, g, b);
2207 - const diff2 = v - Math.min(r, g, b);
2208 - const diffc = function(c) {
2209 - return (v - c) / 6 / diff2 + 1 / 2;
2210 - };
2211 - if (diff2 === 0) {
2212 - h = 0;
2213 - s = 0;
2214 - } else {
2215 - s = diff2 / v;
2216 - rdif = diffc(r);
2217 - gdif = diffc(g);
2218 - bdif = diffc(b);
2219 - if (r === v) {
2220 - h = bdif - gdif;
2221 - } else if (g === v) {
2222 - h = 1 / 3 + rdif - bdif;
2223 - } else if (b === v) {
2224 - h = 2 / 3 + gdif - rdif;
2225 - }
2226 - if (h < 0) {
2227 - h += 1;
2228 - } else if (h > 1) {
2229 - h -= 1;
2230 - }
2231 - }
2232 - return [
2233 - h * 360,
2234 - s * 100,
2235 - v * 100
2236 - ];
2237 - };
2238 - convert.rgb.hwb = function(rgb) {
2239 - const r = rgb[0];
2240 - const g = rgb[1];
2241 - let b = rgb[2];
2242 - const h = convert.rgb.hsl(rgb)[0];
2243 - const w = 1 / 255 * Math.min(r, Math.min(g, b));
2244 - b = 1 - 1 / 255 * Math.max(r, Math.max(g, b));
2245 - return [h, w * 100, b * 100];
2246 - };
2247 - convert.rgb.cmyk = function(rgb) {
2248 - const r = rgb[0] / 255;
2249 - const g = rgb[1] / 255;
2250 - const b = rgb[2] / 255;
2251 - const k = Math.min(1 - r, 1 - g, 1 - b);
2252 - const c = (1 - r - k) / (1 - k) || 0;
2253 - const m = (1 - g - k) / (1 - k) || 0;
2254 - const y = (1 - b - k) / (1 - k) || 0;
2255 - return [c * 100, m * 100, y * 100, k * 100];
2256 - };
2257 - function comparativeDistance(x, y) {
2258 - return (x[0] - y[0]) ** 2 + (x[1] - y[1]) ** 2 + (x[2] - y[2]) ** 2;
2259 - }
2260 - convert.rgb.keyword = function(rgb) {
2261 - const reversed = reverseKeywords[rgb];
2262 - if (reversed) {
2263 - return reversed;
2264 - }
2265 - let currentClosestDistance = Infinity;
2266 - let currentClosestKeyword;
2267 - for (const keyword of Object.keys(cssKeywords)) {
2268 - const value = cssKeywords[keyword];
2269 - const distance = comparativeDistance(rgb, value);
2270 - if (distance < currentClosestDistance) {
2271 - currentClosestDistance = distance;
2272 - currentClosestKeyword = keyword;
2273 - }
2274 - }
2275 - return currentClosestKeyword;
2276 - };
2277 - convert.keyword.rgb = function(keyword) {
2278 - return cssKeywords[keyword];
2279 - };
2280 - convert.rgb.xyz = function(rgb) {
2281 - let r = rgb[0] / 255;
2282 - let g = rgb[1] / 255;
2283 - let b = rgb[2] / 255;
2284 - r = r > 0.04045 ? ((r + 0.055) / 1.055) ** 2.4 : r / 12.92;
2285 - g = g > 0.04045 ? ((g + 0.055) / 1.055) ** 2.4 : g / 12.92;
2286 - b = b > 0.04045 ? ((b + 0.055) / 1.055) ** 2.4 : b / 12.92;
2287 - const x = r * 0.4124 + g * 0.3576 + b * 0.1805;
2288 - const y = r * 0.2126 + g * 0.7152 + b * 0.0722;
2289 - const z = r * 0.0193 + g * 0.1192 + b * 0.9505;
2290 - return [x * 100, y * 100, z * 100];
2291 - };
2292 - convert.rgb.lab = function(rgb) {
2293 - const xyz = convert.rgb.xyz(rgb);
2294 - let x = xyz[0];
2295 - let y = xyz[1];
2296 - let z = xyz[2];
2297 - x /= 95.047;
2298 - y /= 100;
2299 - z /= 108.883;
2300 - x = x > 8856e-6 ? x ** (1 / 3) : 7.787 * x + 16 / 116;
2301 - y = y > 8856e-6 ? y ** (1 / 3) : 7.787 * y + 16 / 116;
2302 - z = z > 8856e-6 ? z ** (1 / 3) : 7.787 * z + 16 / 116;
2303 - const l = 116 * y - 16;
2304 - const a = 500 * (x - y);
2305 - const b = 200 * (y - z);
2306 - return [l, a, b];
2307 - };
2308 - convert.hsl.rgb = function(hsl) {
2309 - const h = hsl[0] / 360;
2310 - const s = hsl[1] / 100;
2311 - const l = hsl[2] / 100;
2312 - let t2;
2313 - let t3;
2314 - let val;
2315 - if (s === 0) {
2316 - val = l * 255;
2317 - return [val, val, val];
2318 - }
2319 - if (l < 0.5) {
2320 - t2 = l * (1 + s);
2321 - } else {
2322 - t2 = l + s - l * s;
2323 - }
2324 - const t1 = 2 * l - t2;
2325 - const rgb = [0, 0, 0];
2326 - for (let i = 0; i < 3; i++) {
2327 - t3 = h + 1 / 3 * -(i - 1);
2328 - if (t3 < 0) {
2329 - t3++;
2330 - }
2331 - if (t3 > 1) {
2332 - t3--;
2333 - }
2334 - if (6 * t3 < 1) {
2335 - val = t1 + (t2 - t1) * 6 * t3;
2336 - } else if (2 * t3 < 1) {
2337 - val = t2;
2338 - } else if (3 * t3 < 2) {
2339 - val = t1 + (t2 - t1) * (2 / 3 - t3) * 6;
2340 - } else {
2341 - val = t1;
2342 - }
2343 - rgb[i] = val * 255;
2344 - }
2345 - return rgb;
2346 - };
2347 - convert.hsl.hsv = function(hsl) {
2348 - const h = hsl[0];
2349 - let s = hsl[1] / 100;
2350 - let l = hsl[2] / 100;
2351 - let smin = s;
2352 - const lmin = Math.max(l, 0.01);
2353 - l *= 2;
2354 - s *= l <= 1 ? l : 2 - l;
2355 - smin *= lmin <= 1 ? lmin : 2 - lmin;
2356 - const v = (l + s) / 2;
2357 - const sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s);
2358 - return [h, sv * 100, v * 100];
2359 - };
2360 - convert.hsv.rgb = function(hsv) {
2361 - const h = hsv[0] / 60;
2362 - const s = hsv[1] / 100;
2363 - let v = hsv[2] / 100;
2364 - const hi = Math.floor(h) % 6;
2365 - const f = h - Math.floor(h);
2366 - const p = 255 * v * (1 - s);
2367 - const q = 255 * v * (1 - s * f);
2368 - const t = 255 * v * (1 - s * (1 - f));
2369 - v *= 255;
2370 - switch (hi) {
2371 - case 0:
2372 - return [v, t, p];
2373 - case 1:
2374 - return [q, v, p];
2375 - case 2:
2376 - return [p, v, t];
2377 - case 3:
2378 - return [p, q, v];
2379 - case 4:
2380 - return [t, p, v];
2381 - case 5:
2382 - return [v, p, q];
2383 - }
2384 - };
2385 - convert.hsv.hsl = function(hsv) {
2386 - const h = hsv[0];
2387 - const s = hsv[1] / 100;
2388 - const v = hsv[2] / 100;
2389 - const vmin = Math.max(v, 0.01);
2390 - let sl;
2391 - let l;
2392 - l = (2 - s) * v;
2393 - const lmin = (2 - s) * vmin;
2394 - sl = s * vmin;
2395 - sl /= lmin <= 1 ? lmin : 2 - lmin;
2396 - sl = sl || 0;
2397 - l /= 2;
2398 - return [h, sl * 100, l * 100];
2399 - };
2400 - convert.hwb.rgb = function(hwb) {
2401 - const h = hwb[0] / 360;
2402 - let wh = hwb[1] / 100;
2403 - let bl = hwb[2] / 100;
2404 - const ratio = wh + bl;
2405 - let f;
2406 - if (ratio > 1) {
2407 - wh /= ratio;
2408 - bl /= ratio;
2409 - }
2410 - const i = Math.floor(6 * h);
2411 - const v = 1 - bl;
2412 - f = 6 * h - i;
2413 - if ((i & 1) !== 0) {
2414 - f = 1 - f;
2415 - }
2416 - const n = wh + f * (v - wh);
2417 - let r;
2418 - let g;
2419 - let b;
2420 - switch (i) {
2421 - default:
2422 - case 6:
2423 - case 0:
2424 - r = v;
2425 - g = n;
2426 - b = wh;
2427 - break;
2428 - case 1:
2429 - r = n;
2430 - g = v;
2431 - b = wh;
2432 - break;
2433 - case 2:
2434 - r = wh;
2435 - g = v;
2436 - b = n;
2437 - break;
2438 - case 3:
2439 - r = wh;
2440 - g = n;
2441 - b = v;
2442 - break;
2443 - case 4:
2444 - r = n;
2445 - g = wh;
2446 - b = v;
2447 - break;
2448 - case 5:
2449 - r = v;
2450 - g = wh;
2451 - b = n;
2452 - break;
2453 - }
2454 - return [r * 255, g * 255, b * 255];
2455 - };
2456 - convert.cmyk.rgb = function(cmyk) {
2457 - const c = cmyk[0] / 100;
2458 - const m = cmyk[1] / 100;
2459 - const y = cmyk[2] / 100;
2460 - const k = cmyk[3] / 100;
2461 - const r = 1 - Math.min(1, c * (1 - k) + k);
2462 - const g = 1 - Math.min(1, m * (1 - k) + k);
2463 - const b = 1 - Math.min(1, y * (1 - k) + k);
2464 - return [r * 255, g * 255, b * 255];
2465 - };
2466 - convert.xyz.rgb = function(xyz) {
2467 - const x = xyz[0] / 100;
2468 - const y = xyz[1] / 100;
2469 - const z = xyz[2] / 100;
2470 - let r;
2471 - let g;
2472 - let b;
2473 - r = x * 3.2406 + y * -1.5372 + z * -0.4986;
2474 - g = x * -0.9689 + y * 1.8758 + z * 0.0415;
2475 - b = x * 0.0557 + y * -0.204 + z * 1.057;
2476 - r = r > 31308e-7 ? 1.055 * r ** (1 / 2.4) - 0.055 : r * 12.92;
2477 - g = g > 31308e-7 ? 1.055 * g ** (1 / 2.4) - 0.055 : g * 12.92;
2478 - b = b > 31308e-7 ? 1.055 * b ** (1 / 2.4) - 0.055 : b * 12.92;
2479 - r = Math.min(Math.max(0, r), 1);
2480 - g = Math.min(Math.max(0, g), 1);
2481 - b = Math.min(Math.max(0, b), 1);
2482 - return [r * 255, g * 255, b * 255];
2483 - };
2484 - convert.xyz.lab = function(xyz) {
2485 - let x = xyz[0];
2486 - let y = xyz[1];
2487 - let z = xyz[2];
2488 - x /= 95.047;
2489 - y /= 100;
2490 - z /= 108.883;
2491 - x = x > 8856e-6 ? x ** (1 / 3) : 7.787 * x + 16 / 116;
2492 - y = y > 8856e-6 ? y ** (1 / 3) : 7.787 * y + 16 / 116;
2493 - z = z > 8856e-6 ? z ** (1 / 3) : 7.787 * z + 16 / 116;
2494 - const l = 116 * y - 16;
2495 - const a = 500 * (x - y);
2496 - const b = 200 * (y - z);
2497 - return [l, a, b];
2498 - };
2499 - convert.lab.xyz = function(lab) {
2500 - const l = lab[0];
2501 - const a = lab[1];
2502 - const b = lab[2];
2503 - let x;
2504 - let y;
2505 - let z;
2506 - y = (l + 16) / 116;
2507 - x = a / 500 + y;
2508 - z = y - b / 200;
2509 - const y2 = y ** 3;
2510 - const x2 = x ** 3;
2511 - const z2 = z ** 3;
2512 - y = y2 > 8856e-6 ? y2 : (y - 16 / 116) / 7.787;
2513 - x = x2 > 8856e-6 ? x2 : (x - 16 / 116) / 7.787;
2514 - z = z2 > 8856e-6 ? z2 : (z - 16 / 116) / 7.787;
2515 - x *= 95.047;
2516 - y *= 100;
2517 - z *= 108.883;
2518 - return [x, y, z];
2519 - };
2520 - convert.lab.lch = function(lab) {
2521 - const l = lab[0];
2522 - const a = lab[1];
2523 - const b = lab[2];
2524 - let h;
2525 - const hr = Math.atan2(b, a);
2526 - h = hr * 360 / 2 / Math.PI;
2527 - if (h < 0) {
2528 - h += 360;
2529 - }
2530 - const c = Math.sqrt(a * a + b * b);
2531 - return [l, c, h];
2532 - };
2533 - convert.lch.lab = function(lch) {
2534 - const l = lch[0];
2535 - const c = lch[1];
2536 - const h = lch[2];
2537 - const hr = h / 360 * 2 * Math.PI;
2538 - const a = c * Math.cos(hr);
2539 - const b = c * Math.sin(hr);
2540 - return [l, a, b];
2541 - };
2542 - convert.rgb.ansi16 = function(args, saturation = null) {
2543 - const [r, g, b] = args;
2544 - let value = saturation === null ? convert.rgb.hsv(args)[2] : saturation;
2545 - value = Math.round(value / 50);
2546 - if (value === 0) {
2547 - return 30;
2548 - }
2549 - let ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255));
2550 - if (value === 2) {
2551 - ansi += 60;
2552 - }
2553 - return ansi;
2554 - };
2555 - convert.hsv.ansi16 = function(args) {
2556 - return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);
2557 - };
2558 - convert.rgb.ansi256 = function(args) {
2559 - const r = args[0];
2560 - const g = args[1];
2561 - const b = args[2];
2562 - if (r === g && g === b) {
2563 - if (r < 8) {
2564 - return 16;
2565 - }
2566 - if (r > 248) {
2567 - return 231;
2568 - }
2569 - return Math.round((r - 8) / 247 * 24) + 232;
2570 - }
2571 - const ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5);
2572 - return ansi;
2573 - };
2574 - convert.ansi16.rgb = function(args) {
2575 - let color = args % 10;
2576 - if (color === 0 || color === 7) {
2577 - if (args > 50) {
2578 - color += 3.5;
2579 - }
2580 - color = color / 10.5 * 255;
2581 - return [color, color, color];
2582 - }
2583 - const mult = (~~(args > 50) + 1) * 0.5;
2584 - const r = (color & 1) * mult * 255;
2585 - const g = (color >> 1 & 1) * mult * 255;
2586 - const b = (color >> 2 & 1) * mult * 255;
2587 - return [r, g, b];
2588 - };
2589 - convert.ansi256.rgb = function(args) {
2590 - if (args >= 232) {
2591 - const c = (args - 232) * 10 + 8;
2592 - return [c, c, c];
2593 - }
2594 - args -= 16;
2595 - let rem;
2596 - const r = Math.floor(args / 36) / 5 * 255;
2597 - const g = Math.floor((rem = args % 36) / 6) / 5 * 255;
2598 - const b = rem % 6 / 5 * 255;
2599 - return [r, g, b];
2600 - };
2601 - convert.rgb.hex = function(args) {
2602 - const integer = ((Math.round(args[0]) & 255) << 16) + ((Math.round(args[1]) & 255) << 8) + (Math.round(args[2]) & 255);
2603 - const string = integer.toString(16).toUpperCase();
2604 - return "000000".substring(string.length) + string;
2605 - };
2606 - convert.hex.rgb = function(args) {
2607 - const match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);
2608 - if (!match) {
2609 - return [0, 0, 0];
2610 - }
2611 - let colorString = match[0];
2612 - if (match[0].length === 3) {
2613 - colorString = colorString.split("").map((char) => {
2614 - return char + char;
2615 - }).join("");
2616 - }
2617 - const integer = parseInt(colorString, 16);
2618 - const r = integer >> 16 & 255;
2619 - const g = integer >> 8 & 255;
2620 - const b = integer & 255;
2621 - return [r, g, b];
2622 - };
2623 - convert.rgb.hcg = function(rgb) {
2624 - const r = rgb[0] / 255;
2625 - const g = rgb[1] / 255;
2626 - const b = rgb[2] / 255;
2627 - const max = Math.max(Math.max(r, g), b);
2628 - const min = Math.min(Math.min(r, g), b);
2629 - const chroma = max - min;
2630 - let grayscale;
2631 - let hue;
2632 - if (chroma < 1) {
2633 - grayscale = min / (1 - chroma);
2634 - } else {
2635 - grayscale = 0;
2636 - }
2637 - if (chroma <= 0) {
2638 - hue = 0;
2639 - } else if (max === r) {
2640 - hue = (g - b) / chroma % 6;
2641 - } else if (max === g) {
2642 - hue = 2 + (b - r) / chroma;
2643 - } else {
2644 - hue = 4 + (r - g) / chroma;
2645 - }
2646 - hue /= 6;
2647 - hue %= 1;
2648 - return [hue * 360, chroma * 100, grayscale * 100];
2649 - };
2650 - convert.hsl.hcg = function(hsl) {
2651 - const s = hsl[1] / 100;
2652 - const l = hsl[2] / 100;
2653 - const c = l < 0.5 ? 2 * s * l : 2 * s * (1 - l);
2654 - let f = 0;
2655 - if (c < 1) {
2656 - f = (l - 0.5 * c) / (1 - c);
2657 - }
2658 - return [hsl[0], c * 100, f * 100];
2659 - };
2660 - convert.hsv.hcg = function(hsv) {
2661 - const s = hsv[1] / 100;
2662 - const v = hsv[2] / 100;
2663 - const c = s * v;
2664 - let f = 0;
2665 - if (c < 1) {
2666 - f = (v - c) / (1 - c);
2667 - }
2668 - return [hsv[0], c * 100, f * 100];
2669 - };
2670 - convert.hcg.rgb = function(hcg) {
2671 - const h = hcg[0] / 360;
2672 - const c = hcg[1] / 100;
2673 - const g = hcg[2] / 100;
2674 - if (c === 0) {
2675 - return [g * 255, g * 255, g * 255];
2676 - }
2677 - const pure = [0, 0, 0];
2678 - const hi = h % 1 * 6;
2679 - const v = hi % 1;
2680 - const w = 1 - v;
2681 - let mg = 0;
2682 - switch (Math.floor(hi)) {
2683 - case 0:
2684 - pure[0] = 1;
2685 - pure[1] = v;
2686 - pure[2] = 0;
2687 - break;
2688 - case 1:
2689 - pure[0] = w;
2690 - pure[1] = 1;
2691 - pure[2] = 0;
2692 - break;
2693 - case 2:
2694 - pure[0] = 0;
2695 - pure[1] = 1;
2696 - pure[2] = v;
2697 - break;
2698 - case 3:
2699 - pure[0] = 0;
2700 - pure[1] = w;
2701 - pure[2] = 1;
2702 - break;
2703 - case 4:
2704 - pure[0] = v;
2705 - pure[1] = 0;
2706 - pure[2] = 1;
2707 - break;
2708 - default:
2709 - pure[0] = 1;
2710 - pure[1] = 0;
2711 - pure[2] = w;
2712 - }
2713 - mg = (1 - c) * g;
2714 - return [
2715 - (c * pure[0] + mg) * 255,
2716 - (c * pure[1] + mg) * 255,
2717 - (c * pure[2] + mg) * 255
2718 - ];
2719 - };
2720 - convert.hcg.hsv = function(hcg) {
2721 - const c = hcg[1] / 100;
2722 - const g = hcg[2] / 100;
2723 - const v = c + g * (1 - c);
2724 - let f = 0;
2725 - if (v > 0) {
2726 - f = c / v;
2727 - }
2728 - return [hcg[0], f * 100, v * 100];
2729 - };
2730 - convert.hcg.hsl = function(hcg) {
2731 - const c = hcg[1] / 100;
2732 - const g = hcg[2] / 100;
2733 - const l = g * (1 - c) + 0.5 * c;
2734 - let s = 0;
2735 - if (l > 0 && l < 0.5) {
2736 - s = c / (2 * l);
2737 - } else if (l >= 0.5 && l < 1) {
2738 - s = c / (2 * (1 - l));
2739 - }
2740 - return [hcg[0], s * 100, l * 100];
2741 - };
2742 - convert.hcg.hwb = function(hcg) {
2743 - const c = hcg[1] / 100;
2744 - const g = hcg[2] / 100;
2745 - const v = c + g * (1 - c);
2746 - return [hcg[0], (v - c) * 100, (1 - v) * 100];
2747 - };
2748 - convert.hwb.hcg = function(hwb) {
2749 - const w = hwb[1] / 100;
2750 - const b = hwb[2] / 100;
2751 - const v = 1 - b;
2752 - const c = v - w;
2753 - let g = 0;
2754 - if (c < 1) {
2755 - g = (v - c) / (1 - c);
2756 - }
2757 - return [hwb[0], c * 100, g * 100];
2758 - };
2759 - convert.apple.rgb = function(apple) {
2760 - return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255];
2761 - };
2762 - convert.rgb.apple = function(rgb) {
2763 - return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535];
2764 - };
2765 - convert.gray.rgb = function(args) {
2766 - return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];
2767 - };
2768 - convert.gray.hsl = function(args) {
2769 - return [0, 0, args[0]];
2770 - };
2771 - convert.gray.hsv = convert.gray.hsl;
2772 - convert.gray.hwb = function(gray) {
2773 - return [0, 100, gray[0]];
2774 - };
2775 - convert.gray.cmyk = function(gray) {
2776 - return [0, 0, 0, gray[0]];
2777 - };
2778 - convert.gray.lab = function(gray) {
2779 - return [gray[0], 0, 0];
2780 - };
2781 - convert.gray.hex = function(gray) {
2782 - const val = Math.round(gray[0] / 100 * 255) & 255;
2783 - const integer = (val << 16) + (val << 8) + val;
2784 - const string = integer.toString(16).toUpperCase();
2785 - return "000000".substring(string.length) + string;
2786 - };
2787 - convert.rgb.gray = function(rgb) {
2788 - const val = (rgb[0] + rgb[1] + rgb[2]) / 3;
2789 - return [val / 255 * 100];
2790 - };
2791 - }
2792 -});
2793 -
2794 -// node_modules/color-convert/route.js
2795 -var require_route = __commonJS({
2796 - "node_modules/color-convert/route.js"(exports2, module2) {
2797 - var conversions = require_conversions();
2798 - function buildGraph() {
2799 - const graph = {};
2800 - const models = Object.keys(conversions);
2801 - for (let len = models.length, i = 0; i < len; i++) {
2802 - graph[models[i]] = {
2803 - // http://jsperf.com/1-vs-infinity
2804 - // micro-opt, but this is simple.
2805 - distance: -1,
2806 - parent: null
2807 - };
2808 - }
2809 - return graph;
2810 - }
2811 - function deriveBFS(fromModel) {
2812 - const graph = buildGraph();
2813 - const queue = [fromModel];
2814 - graph[fromModel].distance = 0;
2815 - while (queue.length) {
2816 - const current = queue.pop();
2817 - const adjacents = Object.keys(conversions[current]);
2818 - for (let len = adjacents.length, i = 0; i < len; i++) {
2819 - const adjacent = adjacents[i];
2820 - const node = graph[adjacent];
2821 - if (node.distance === -1) {
2822 - node.distance = graph[current].distance + 1;
2823 - node.parent = current;
2824 - queue.unshift(adjacent);
2825 - }
2826 - }
2827 - }
2828 - return graph;
2829 - }
2830 - function link(from, to) {
2831 - return function(args) {
2832 - return to(from(args));
2833 - };
2834 - }
2835 - function wrapConversion(toModel, graph) {
2836 - const path4 = [graph[toModel].parent, toModel];
2837 - let fn = conversions[graph[toModel].parent][toModel];
2838 - let cur = graph[toModel].parent;
2839 - while (graph[cur].parent) {
2840 - path4.unshift(graph[cur].parent);
2841 - fn = link(conversions[graph[cur].parent][cur], fn);
2842 - cur = graph[cur].parent;
2843 - }
2844 - fn.conversion = path4;
2845 - return fn;
2846 - }
2847 - module2.exports = function(fromModel) {
2848 - const graph = deriveBFS(fromModel);
2849 - const conversion = {};
2850 - const models = Object.keys(graph);
2851 - for (let len = models.length, i = 0; i < len; i++) {
2852 - const toModel = models[i];
2853 - const node = graph[toModel];
2854 - if (node.parent === null) {
2855 - continue;
2856 - }
2857 - conversion[toModel] = wrapConversion(toModel, graph);
2858 - }
2859 - return conversion;
2860 - };
2861 - }
2862 -});
2863 -
2864 -// node_modules/color-convert/index.js
2865 -var require_color_convert = __commonJS({
2866 - "node_modules/color-convert/index.js"(exports2, module2) {
2867 - var conversions = require_conversions();
2868 - var route = require_route();
2869 - var convert = {};
2870 - var models = Object.keys(conversions);
2871 - function wrapRaw(fn) {
2872 - const wrappedFn = function(...args) {
2873 - const arg0 = args[0];
2874 - if (arg0 === void 0 || arg0 === null) {
2875 - return arg0;
2876 - }
2877 - if (arg0.length > 1) {
2878 - args = arg0;
2879 - }
2880 - return fn(args);
2881 - };
2882 - if ("conversion" in fn) {
2883 - wrappedFn.conversion = fn.conversion;
2884 - }
2885 - return wrappedFn;
2886 - }
2887 - function wrapRounded(fn) {
2888 - const wrappedFn = function(...args) {
2889 - const arg0 = args[0];
2890 - if (arg0 === void 0 || arg0 === null) {
2891 - return arg0;
2892 - }
2893 - if (arg0.length > 1) {
2894 - args = arg0;
2895 - }
2896 - const result = fn(args);
2897 - if (typeof result === "object") {
2898 - for (let len = result.length, i = 0; i < len; i++) {
2899 - result[i] = Math.round(result[i]);
2900 - }
2901 - }
2902 - return result;
2903 - };
2904 - if ("conversion" in fn) {
2905 - wrappedFn.conversion = fn.conversion;
2906 - }
2907 - return wrappedFn;
2908 - }
2909 - models.forEach((fromModel) => {
2910 - convert[fromModel] = {};
2911 - Object.defineProperty(convert[fromModel], "channels", { value: conversions[fromModel].channels });
2912 - Object.defineProperty(convert[fromModel], "labels", { value: conversions[fromModel].labels });
2913 - const routes = route(fromModel);
2914 - const routeModels = Object.keys(routes);
2915 - routeModels.forEach((toModel) => {
2916 - const fn = routes[toModel];
2917 - convert[fromModel][toModel] = wrapRounded(fn);
2918 - convert[fromModel][toModel].raw = wrapRaw(fn);
2919 - });
2920 - });
2921 - module2.exports = convert;
2922 - }
2923 -});
2924 -
2925 -// node_modules/ansi-styles/index.js
2926 -var require_ansi_styles2 = __commonJS({
2927 - "node_modules/ansi-styles/index.js"(exports2, module2) {
2928 - "use strict";
2929 - var wrapAnsi16 = (fn, offset) => (...args) => {
2930 - const code = fn(...args);
2931 - return `\x1B[${code + offset}m`;
2932 - };
2933 - var wrapAnsi256 = (fn, offset) => (...args) => {
2934 - const code = fn(...args);
2935 - return `\x1B[${38 + offset};5;${code}m`;
2936 - };
2937 - var wrapAnsi16m = (fn, offset) => (...args) => {
2938 - const rgb = fn(...args);
2939 - return `\x1B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`;
2940 - };
2941 - var ansi2ansi = (n) => n;
2942 - var rgb2rgb = (r, g, b) => [r, g, b];
2943 - var setLazyProperty = (object, property, get) => {
2944 - Object.defineProperty(object, property, {
2945 - get: () => {
2946 - const value = get();
2947 - Object.defineProperty(object, property, {
2948 - value,
2949 - enumerable: true,
2950 - configurable: true
2951 - });
2952 - return value;
2953 - },
2954 - enumerable: true,
2955 - configurable: true
2956 - });
2957 - };
2958 - var colorConvert;
2959 - var makeDynamicStyles = (wrap, targetSpace, identity, isBackground) => {
2960 - if (colorConvert === void 0) {
2961 - colorConvert = require_color_convert();
2962 - }
2963 - const offset = isBackground ? 10 : 0;
2964 - const styles = {};
2965 - for (const [sourceSpace, suite] of Object.entries(colorConvert)) {
2966 - const name = sourceSpace === "ansi16" ? "ansi" : sourceSpace;
2967 - if (sourceSpace === targetSpace) {
2968 - styles[name] = wrap(identity, offset);
2969 - } else if (typeof suite === "object") {
2970 - styles[name] = wrap(suite[targetSpace], offset);
2971 - }
2972 - }
2973 - return styles;
2974 - };
2975 - function assembleStyles() {
2976 - const codes = /* @__PURE__ */ new Map();
2977 - const styles = {
2978 - modifier: {
2979 - reset: [0, 0],
2980 - // 21 isn't widely supported and 22 does the same thing
2981 - bold: [1, 22],
2982 - dim: [2, 22],
2983 - italic: [3, 23],
2984 - underline: [4, 24],
2985 - inverse: [7, 27],
2986 - hidden: [8, 28],
2987 - strikethrough: [9, 29]
2988 - },
2989 - color: {
2990 - black: [30, 39],
2991 - red: [31, 39],
2992 - green: [32, 39],
2993 - yellow: [33, 39],
2994 - blue: [34, 39],
2995 - magenta: [35, 39],
2996 - cyan: [36, 39],
2997 - white: [37, 39],
2998 - // Bright color
2999 - blackBright: [90, 39],
3000 - redBright: [91, 39],
3001 - greenBright: [92, 39],
3002 - yellowBright: [93, 39],
3003 - blueBright: [94, 39],
3004 - magentaBright: [95, 39],
3005 - cyanBright: [96, 39],
3006 - whiteBright: [97, 39]
3007 - },
3008 - bgColor: {
3009 - bgBlack: [40, 49],
3010 - bgRed: [41, 49],
3011 - bgGreen: [42, 49],
3012 - bgYellow: [43, 49],
3013 - bgBlue: [44, 49],
3014 - bgMagenta: [45, 49],
3015 - bgCyan: [46, 49],
3016 - bgWhite: [47, 49],
3017 - // Bright color
3018 - bgBlackBright: [100, 49],
3019 - bgRedBright: [101, 49],
3020 - bgGreenBright: [102, 49],
3021 - bgYellowBright: [103, 49],
3022 - bgBlueBright: [104, 49],
3023 - bgMagentaBright: [105, 49],
3024 - bgCyanBright: [106, 49],
3025 - bgWhiteBright: [107, 49]
3026 - }
3027 - };
3028 - styles.color.gray = styles.color.blackBright;
3029 - styles.bgColor.bgGray = styles.bgColor.bgBlackBright;
3030 - styles.color.grey = styles.color.blackBright;
3031 - styles.bgColor.bgGrey = styles.bgColor.bgBlackBright;
3032 - for (const [groupName, group] of Object.entries(styles)) {
3033 - for (const [styleName, style] of Object.entries(group)) {
3034 - styles[styleName] = {
3035 - open: `\x1B[${style[0]}m`,
3036 - close: `\x1B[${style[1]}m`
3037 - };
3038 - group[styleName] = styles[styleName];
3039 - codes.set(style[0], style[1]);
3040 - }
3041 - Object.defineProperty(styles, groupName, {
3042 - value: group,
3043 - enumerable: false
3044 - });
3045 - }
3046 - Object.defineProperty(styles, "codes", {
3047 - value: codes,
3048 - enumerable: false
3049 - });
3050 - styles.color.close = "\x1B[39m";
3051 - styles.bgColor.close = "\x1B[49m";
3052 - setLazyProperty(styles.color, "ansi", () => makeDynamicStyles(wrapAnsi16, "ansi16", ansi2ansi, false));
3053 - setLazyProperty(styles.color, "ansi256", () => makeDynamicStyles(wrapAnsi256, "ansi256", ansi2ansi, false));
3054 - setLazyProperty(styles.color, "ansi16m", () => makeDynamicStyles(wrapAnsi16m, "rgb", rgb2rgb, false));
3055 - setLazyProperty(styles.bgColor, "ansi", () => makeDynamicStyles(wrapAnsi16, "ansi16", ansi2ansi, true));
3056 - setLazyProperty(styles.bgColor, "ansi256", () => makeDynamicStyles(wrapAnsi256, "ansi256", ansi2ansi, true));
3057 - setLazyProperty(styles.bgColor, "ansi16m", () => makeDynamicStyles(wrapAnsi16m, "rgb", rgb2rgb, true));
3058 - return styles;
3059 - }
3060 - Object.defineProperty(module2, "exports", {
3061 - enumerable: true,
3062 - get: assembleStyles
3063 - });
3064 - }
3065 -});
3066 -
3067 -// node_modules/has-flag/index.js
3068 -var require_has_flag = __commonJS({
3069 - "node_modules/has-flag/index.js"(exports2, module2) {
3070 - "use strict";
3071 - module2.exports = (flag, argv = process.argv) => {
3072 - const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
3073 - const position = argv.indexOf(prefix + flag);
3074 - const terminatorPosition = argv.indexOf("--");
3075 - return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
3076 - };
3077 - }
3078 -});
3079 -
3080 -// node_modules/chalk/node_modules/supports-color/index.js
3081 -var require_supports_color = __commonJS({
3082 - "node_modules/chalk/node_modules/supports-color/index.js"(exports2, module2) {
3083 - "use strict";
3084 - var os = require("os");
3085 - var tty = require("tty");
3086 - var hasFlag = require_has_flag();
3087 - var { env } = process;
3088 - var forceColor;
3089 - if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
3090 - forceColor = 0;
3091 - } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
3092 - forceColor = 1;
3093 - }
3094 - if ("FORCE_COLOR" in env) {
3095 - if (env.FORCE_COLOR === "true") {
3096 - forceColor = 1;
3097 - } else if (env.FORCE_COLOR === "false") {
3098 - forceColor = 0;
3099 - } else {
3100 - forceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3);
3101 - }
3102 - }
3103 - function translateLevel(level) {
3104 - if (level === 0) {
3105 - return false;
3106 - }
3107 - return {
3108 - level,
3109 - hasBasic: true,
3110 - has256: level >= 2,
3111 - has16m: level >= 3
3112 - };
3113 - }
3114 - function supportsColor(haveStream, streamIsTTY) {
3115 - if (forceColor === 0) {
3116 - return 0;
3117 - }
3118 - if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
3119 - return 3;
3120 - }
3121 - if (hasFlag("color=256")) {
3122 - return 2;
3123 - }
3124 - if (haveStream && !streamIsTTY && forceColor === void 0) {
3125 - return 0;
3126 - }
3127 - const min = forceColor || 0;
3128 - if (env.TERM === "dumb") {
3129 - return min;
3130 - }
3131 - if (process.platform === "win32") {
3132 - const osRelease = os.release().split(".");
3133 - if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
3134 - return Number(osRelease[2]) >= 14931 ? 3 : 2;
3135 - }
3136 - return 1;
3137 - }
3138 - if ("CI" in env) {
3139 - if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "GITHUB_ACTIONS", "BUILDKITE"].some((sign) => sign in env) || env.CI_NAME === "codeship") {
3140 - return 1;
3141 - }
3142 - return min;
3143 - }
3144 - if ("TEAMCITY_VERSION" in env) {
3145 - return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
3146 - }
3147 - if (env.COLORTERM === "truecolor") {
3148 - return 3;
3149 - }
3150 - if ("TERM_PROGRAM" in env) {
3151 - const version = parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
3152 - switch (env.TERM_PROGRAM) {
3153 - case "iTerm.app":
3154 - return version >= 3 ? 3 : 2;
3155 - case "Apple_Terminal":
3156 - return 2;
3157 - }
3158 - }
3159 - if (/-256(color)?$/i.test(env.TERM)) {
3160 - return 2;
3161 - }
3162 - if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
3163 - return 1;
3164 - }
3165 - if ("COLORTERM" in env) {
3166 - return 1;
3167 - }
3168 - return min;
3169 - }
3170 - function getSupportLevel(stream) {
3171 - const level = supportsColor(stream, stream && stream.isTTY);
3172 - return translateLevel(level);
3173 - }
3174 - module2.exports = {
3175 - supportsColor: getSupportLevel,
3176 - stdout: translateLevel(supportsColor(true, tty.isatty(1))),
3177 - stderr: translateLevel(supportsColor(true, tty.isatty(2)))
3178 - };
3179 - }
3180 -});
3181 -
3182 -// node_modules/chalk/source/util.js
3183 -var require_util = __commonJS({
3184 - "node_modules/chalk/source/util.js"(exports2, module2) {
3185 - "use strict";
3186 - var stringReplaceAll = (string, substring, replacer) => {
3187 - let index = string.indexOf(substring);
3188 - if (index === -1) {
3189 - return string;
3190 - }
3191 - const substringLength = substring.length;
3192 - let endIndex = 0;
3193 - let returnValue = "";
3194 - do {
3195 - returnValue += string.substr(endIndex, index - endIndex) + substring + replacer;
3196 - endIndex = index + substringLength;
3197 - index = string.indexOf(substring, endIndex);
3198 - } while (index !== -1);
3199 - returnValue += string.substr(endIndex);
3200 - return returnValue;
3201 - };
3202 - var stringEncaseCRLFWithFirstIndex = (string, prefix, postfix, index) => {
3203 - let endIndex = 0;
3204 - let returnValue = "";
3205 - do {
3206 - const gotCR = string[index - 1] === "\r";
3207 - returnValue += string.substr(endIndex, (gotCR ? index - 1 : index) - endIndex) + prefix + (gotCR ? "\r\n" : "\n") + postfix;
3208 - endIndex = index + 1;
3209 - index = string.indexOf("\n", endIndex);
3210 - } while (index !== -1);
3211 - returnValue += string.substr(endIndex);
3212 - return returnValue;
3213 - };
3214 - module2.exports = {
3215 - stringReplaceAll,
3216 - stringEncaseCRLFWithFirstIndex
3217 - };
3218 - }
3219 -});
3220 -
3221 -// node_modules/chalk/source/templates.js
3222 -var require_templates = __commonJS({
3223 - "node_modules/chalk/source/templates.js"(exports2, module2) {
3224 - "use strict";
3225 - var TEMPLATE_REGEX = /(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi;
3226 - var STYLE_REGEX = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g;
3227 - var STRING_REGEX = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/;
3228 - var ESCAPE_REGEX = /\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi;
3229 - var ESCAPES = /* @__PURE__ */ new Map([
3230 - ["n", "\n"],
3231 - ["r", "\r"],
3232 - ["t", " "],
3233 - ["b", "\b"],
3234 - ["f", "\f"],
3235 - ["v", "\v"],
3236 - ["0", "\0"],
3237 - ["\\", "\\"],
3238 - ["e", "\x1B"],
3239 - ["a", "\x07"]
3240 - ]);
3241 - function unescape(c) {
3242 - const u = c[0] === "u";
3243 - const bracket = c[1] === "{";
3244 - if (u && !bracket && c.length === 5 || c[0] === "x" && c.length === 3) {
3245 - return String.fromCharCode(parseInt(c.slice(1), 16));
3246 - }
3247 - if (u && bracket) {
3248 - return String.fromCodePoint(parseInt(c.slice(2, -1), 16));
3249 - }
3250 - return ESCAPES.get(c) || c;
3251 - }
3252 - function parseArguments(name, arguments_) {
3253 - const results = [];
3254 - const chunks = arguments_.trim().split(/\s*,\s*/g);
3255 - let matches;
3256 - for (const chunk of chunks) {
3257 - const number = Number(chunk);
3258 - if (!Number.isNaN(number)) {
3259 - results.push(number);
3260 - } else if (matches = chunk.match(STRING_REGEX)) {
3261 - results.push(matches[2].replace(ESCAPE_REGEX, (m, escape, character) => escape ? unescape(escape) : character));
3262 - } else {
3263 - throw new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`);
3264 - }
3265 - }
3266 - return results;
3267 - }
3268 - function parseStyle(style) {
3269 - STYLE_REGEX.lastIndex = 0;
3270 - const results = [];
3271 - let matches;
3272 - while ((matches = STYLE_REGEX.exec(style)) !== null) {
3273 - const name = matches[1];
3274 - if (matches[2]) {
3275 - const args = parseArguments(name, matches[2]);
3276 - results.push([name].concat(args));
3277 - } else {
3278 - results.push([name]);
3279 - }
3280 - }
3281 - return results;
3282 - }
3283 - function buildStyle(chalk, styles) {
3284 - const enabled = {};
3285 - for (const layer of styles) {
3286 - for (const style of layer.styles) {
3287 - enabled[style[0]] = layer.inverse ? null : style.slice(1);
3288 - }
3289 - }
3290 - let current = chalk;
3291 - for (const [styleName, styles2] of Object.entries(enabled)) {
3292 - if (!Array.isArray(styles2)) {
3293 - continue;
3294 - }
3295 - if (!(styleName in current)) {
3296 - throw new Error(`Unknown Chalk style: ${styleName}`);
3297 - }
3298 - current = styles2.length > 0 ? current[styleName](...styles2) : current[styleName];
3299 - }
3300 - return current;
3301 - }
3302 - module2.exports = (chalk, temporary) => {
3303 - const styles = [];
3304 - const chunks = [];
3305 - let chunk = [];
3306 - temporary.replace(TEMPLATE_REGEX, (m, escapeCharacter, inverse, style, close, character) => {
3307 - if (escapeCharacter) {
3308 - chunk.push(unescape(escapeCharacter));
3309 - } else if (style) {
3310 - const string = chunk.join("");
3311 - chunk = [];
3312 - chunks.push(styles.length === 0 ? string : buildStyle(chalk, styles)(string));
3313 - styles.push({ inverse, styles: parseStyle(style) });
3314 - } else if (close) {
3315 - if (styles.length === 0) {
3316 - throw new Error("Found extraneous } in Chalk template literal");
3317 - }
3318 - chunks.push(buildStyle(chalk, styles)(chunk.join("")));
3319 - chunk = [];
3320 - styles.pop();
3321 - } else {
3322 - chunk.push(character);
3323 - }
3324 - });
3325 - chunks.push(chunk.join(""));
3326 - if (styles.length > 0) {
3327 - const errMessage = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? "" : "s"} (\`}\`)`;
3328 - throw new Error(errMessage);
3329 - }
3330 - return chunks.join("");
3331 - };
3332 - }
3333 -});
3334 -
3335 -// node_modules/chalk/source/index.js
3336 -var require_source = __commonJS({
3337 - "node_modules/chalk/source/index.js"(exports2, module2) {
3338 - "use strict";
3339 - var ansiStyles = require_ansi_styles2();
3340 - var { stdout: stdoutColor, stderr: stderrColor } = require_supports_color();
3341 - var {
3342 - stringReplaceAll,
3343 - stringEncaseCRLFWithFirstIndex
3344 - } = require_util();
3345 - var { isArray } = Array;
3346 - var levelMapping = [
3347 - "ansi",
3348 - "ansi",
3349 - "ansi256",
3350 - "ansi16m"
3351 - ];
3352 - var styles = /* @__PURE__ */ Object.create(null);
3353 - var applyOptions = (object, options = {}) => {
3354 - if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {
3355 - throw new Error("The `level` option should be an integer from 0 to 3");
3356 - }
3357 - const colorLevel = stdoutColor ? stdoutColor.level : 0;
3358 - object.level = options.level === void 0 ? colorLevel : options.level;
3359 - };
3360 - var ChalkClass = class {
3361 - constructor(options) {
3362 - return chalkFactory(options);
3363 - }
3364 - };
3365 - var chalkFactory = (options) => {
3366 - const chalk2 = {};
3367 - applyOptions(chalk2, options);
3368 - chalk2.template = (...arguments_) => chalkTag(chalk2.template, ...arguments_);
3369 - Object.setPrototypeOf(chalk2, Chalk.prototype);
3370 - Object.setPrototypeOf(chalk2.template, chalk2);
3371 - chalk2.template.constructor = () => {
3372 - throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.");
3373 - };
3374 - chalk2.template.Instance = ChalkClass;
3375 - return chalk2.template;
3376 - };
3377 - function Chalk(options) {
3378 - return chalkFactory(options);
3379 - }
3380 - for (const [styleName, style] of Object.entries(ansiStyles)) {
3381 - styles[styleName] = {
3382 - get() {
3383 - const builder = createBuilder(this, createStyler(style.open, style.close, this._styler), this._isEmpty);
3384 - Object.defineProperty(this, styleName, { value: builder });
3385 - return builder;
3386 - }
3387 - };
3388 - }
3389 - styles.visible = {
3390 - get() {
3391 - const builder = createBuilder(this, this._styler, true);
3392 - Object.defineProperty(this, "visible", { value: builder });
3393 - return builder;
3394 - }
3395 - };
3396 - var usedModels = ["rgb", "hex", "keyword", "hsl", "hsv", "hwb", "ansi", "ansi256"];
3397 - for (const model of usedModels) {
3398 - styles[model] = {
3399 - get() {
3400 - const { level } = this;
3401 - return function(...arguments_) {
3402 - const styler = createStyler(ansiStyles.color[levelMapping[level]][model](...arguments_), ansiStyles.color.close, this._styler);
3403 - return createBuilder(this, styler, this._isEmpty);
3404 - };
3405 - }
3406 - };
3407 - }
3408 - for (const model of usedModels) {
3409 - const bgModel = "bg" + model[0].toUpperCase() + model.slice(1);
3410 - styles[bgModel] = {
3411 - get() {
3412 - const { level } = this;
3413 - return function(...arguments_) {
3414 - const styler = createStyler(ansiStyles.bgColor[levelMapping[level]][model](...arguments_), ansiStyles.bgColor.close, this._styler);
3415 - return createBuilder(this, styler, this._isEmpty);
3416 - };
3417 - }
3418 - };
3419 - }
3420 - var proto = Object.defineProperties(() => {
3421 - }, {
3422 - ...styles,
3423 - level: {
3424 - enumerable: true,
3425 - get() {
3426 - return this._generator.level;
3427 - },
3428 - set(level) {
3429 - this._generator.level = level;
3430 - }
3431 - }
3432 - });
3433 - var createStyler = (open, close, parent) => {
3434 - let openAll;
3435 - let closeAll;
3436 - if (parent === void 0) {
3437 - openAll = open;
3438 - closeAll = close;
3439 - } else {
3440 - openAll = parent.openAll + open;
3441 - closeAll = close + parent.closeAll;
3442 - }
3443 - return {
3444 - open,
3445 - close,
3446 - openAll,
3447 - closeAll,
3448 - parent
3449 - };
3450 - };
3451 - var createBuilder = (self, _styler, _isEmpty) => {
3452 - const builder = (...arguments_) => {
3453 - if (isArray(arguments_[0]) && isArray(arguments_[0].raw)) {
3454 - return applyStyle(builder, chalkTag(builder, ...arguments_));
3455 - }
3456 - return applyStyle(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" "));
3457 - };
3458 - Object.setPrototypeOf(builder, proto);
3459 - builder._generator = self;
3460 - builder._styler = _styler;
3461 - builder._isEmpty = _isEmpty;
3462 - return builder;
3463 - };
3464 - var applyStyle = (self, string) => {
3465 - if (self.level <= 0 || !string) {
3466 - return self._isEmpty ? "" : string;
3467 - }
3468 - let styler = self._styler;
3469 - if (styler === void 0) {
3470 - return string;
3471 - }
3472 - const { openAll, closeAll } = styler;
3473 - if (string.indexOf("\x1B") !== -1) {
3474 - while (styler !== void 0) {
3475 - string = stringReplaceAll(string, styler.close, styler.open);
3476 - styler = styler.parent;
3477 - }
3478 - }
3479 - const lfIndex = string.indexOf("\n");
3480 - if (lfIndex !== -1) {
3481 - string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);
3482 - }
3483 - return openAll + string + closeAll;
3484 - };
3485 - var template;
3486 - var chalkTag = (chalk2, ...strings) => {
3487 - const [firstString] = strings;
3488 - if (!isArray(firstString) || !isArray(firstString.raw)) {
3489 - return strings.join(" ");
3490 - }
3491 - const arguments_ = strings.slice(1);
3492 - const parts = [firstString.raw[0]];
3493 - for (let i = 1; i < firstString.length; i++) {
3494 - parts.push(
3495 - String(arguments_[i - 1]).replace(/[{}\\]/g, "\\$&"),
3496 - String(firstString.raw[i])
3497 - );
3498 - }
3499 - if (template === void 0) {
3500 - template = require_templates();
3501 - }
3502 - return template(chalk2, parts.join(""));
3503 - };
3504 - Object.defineProperties(Chalk.prototype, styles);
3505 - var chalk = Chalk();
3506 - chalk.supportsColor = stdoutColor;
3507 - chalk.stderr = Chalk({ level: stderrColor ? stderrColor.level : 0 });
3508 - chalk.stderr.supportsColor = stderrColor;
3509 - module2.exports = chalk;
3510 - }
3511 -});
3512 -
3513 -// node_modules/@jest/diff-sequences/build/index.js
3514 -var require_build4 = __commonJS({
3515 - "node_modules/@jest/diff-sequences/build/index.js"(exports2, module2) {
3516 - (() => {
3517 - "use strict";
3518 - var __webpack_exports__ = {};
3519 - (() => {
3520 - var exports3 = __webpack_exports__;
3521 - Object.defineProperty(exports3, "__esModule", {
3522 - value: true
3523 - });
3524 - exports3["default"] = diffSequence;
3525 - const pkg = "@jest/diff-sequences";
3526 - const NOT_YET_SET = 0;
3527 - const countCommonItemsF = (aIndex, aEnd, bIndex, bEnd, isCommon) => {
3528 - let nCommon = 0;
3529 - while (aIndex < aEnd && bIndex < bEnd && isCommon(aIndex, bIndex)) {
3530 - aIndex += 1;
3531 - bIndex += 1;
3532 - nCommon += 1;
3533 - }
3534 - return nCommon;
3535 - };
3536 - const countCommonItemsR = (aStart, aIndex, bStart, bIndex, isCommon) => {
3537 - let nCommon = 0;
3538 - while (aStart <= aIndex && bStart <= bIndex && isCommon(aIndex, bIndex)) {
3539 - aIndex -= 1;
3540 - bIndex -= 1;
3541 - nCommon += 1;
3542 - }
3543 - return nCommon;
3544 - };
3545 - const extendPathsF = (d, aEnd, bEnd, bF, isCommon, aIndexesF, iMaxF) => {
3546 - let iF = 0;
3547 - let kF = -d;
3548 - let aFirst = aIndexesF[iF];
3549 - let aIndexPrev1 = aFirst;
3550 - aIndexesF[iF] += countCommonItemsF(aFirst + 1, aEnd, bF + aFirst - kF + 1, bEnd, isCommon);
3551 - const nF = Math.min(d, iMaxF);
3552 - for (iF += 1, kF += 2; iF <= nF; iF += 1, kF += 2) {
3553 - if (iF !== d && aIndexPrev1 < aIndexesF[iF]) {
3554 - aFirst = aIndexesF[iF];
3555 - } else {
3556 - aFirst = aIndexPrev1 + 1;
3557 - if (aEnd <= aFirst) {
3558 - return iF - 1;
3559 - }
3560 - }
3561 - aIndexPrev1 = aIndexesF[iF];
3562 - aIndexesF[iF] = aFirst + countCommonItemsF(aFirst + 1, aEnd, bF + aFirst - kF + 1, bEnd, isCommon);
3563 - }
3564 - return iMaxF;
3565 - };
3566 - const extendPathsR = (d, aStart, bStart, bR, isCommon, aIndexesR, iMaxR) => {
3567 - let iR = 0;
3568 - let kR = d;
3569 - let aFirst = aIndexesR[iR];
3570 - let aIndexPrev1 = aFirst;
3571 - aIndexesR[iR] -= countCommonItemsR(aStart, aFirst - 1, bStart, bR + aFirst - kR - 1, isCommon);
3572 - const nR = Math.min(d, iMaxR);
3573 - for (iR += 1, kR -= 2; iR <= nR; iR += 1, kR -= 2) {
3574 - if (iR !== d && aIndexesR[iR] < aIndexPrev1) {
3575 - aFirst = aIndexesR[iR];
3576 - } else {
3577 - aFirst = aIndexPrev1 - 1;
3578 - if (aFirst < aStart) {
3579 - return iR - 1;
3580 - }
3581 - }
3582 - aIndexPrev1 = aIndexesR[iR];
3583 - aIndexesR[iR] = aFirst - countCommonItemsR(aStart, aFirst - 1, bStart, bR + aFirst - kR - 1, isCommon);
3584 - }
3585 - return iMaxR;
3586 - };
3587 - const extendOverlappablePathsF = (d, aStart, aEnd, bStart, bEnd, isCommon, aIndexesF, iMaxF, aIndexesR, iMaxR, division) => {
3588 - const bF = bStart - aStart;
3589 - const aLength = aEnd - aStart;
3590 - const bLength = bEnd - bStart;
3591 - const baDeltaLength = bLength - aLength;
3592 - const kMinOverlapF = -baDeltaLength - (d - 1);
3593 - const kMaxOverlapF = -baDeltaLength + (d - 1);
3594 - let aIndexPrev1 = NOT_YET_SET;
3595 - const nF = Math.min(d, iMaxF);
3596 - for (let iF = 0, kF = -d; iF <= nF; iF += 1, kF += 2) {
3597 - const insert = iF === 0 || iF !== d && aIndexPrev1 < aIndexesF[iF];
3598 - const aLastPrev = insert ? aIndexesF[iF] : aIndexPrev1;
3599 - const aFirst = insert ? aLastPrev : aLastPrev + 1;
3600 - const bFirst = bF + aFirst - kF;
3601 - const nCommonF = countCommonItemsF(aFirst + 1, aEnd, bFirst + 1, bEnd, isCommon);
3602 - const aLast = aFirst + nCommonF;
3603 - aIndexPrev1 = aIndexesF[iF];
3604 - aIndexesF[iF] = aLast;
3605 - if (kMinOverlapF <= kF && kF <= kMaxOverlapF) {
3606 - const iR = (d - 1 - (kF + baDeltaLength)) / 2;
3607 - if (iR <= iMaxR && aIndexesR[iR] - 1 <= aLast) {
3608 - const bLastPrev = bF + aLastPrev - (insert ? kF + 1 : kF - 1);
3609 - const nCommonR = countCommonItemsR(aStart, aLastPrev, bStart, bLastPrev, isCommon);
3610 - const aIndexPrevFirst = aLastPrev - nCommonR;
3611 - const bIndexPrevFirst = bLastPrev - nCommonR;
3612 - const aEndPreceding = aIndexPrevFirst + 1;
3613 - const bEndPreceding = bIndexPrevFirst + 1;
3614 - division.nChangePreceding = d - 1;
3615 - if (d - 1 === aEndPreceding + bEndPreceding - aStart - bStart) {
3616 - division.aEndPreceding = aStart;
3617 - division.bEndPreceding = bStart;
3618 - } else {
3619 - division.aEndPreceding = aEndPreceding;
3620 - division.bEndPreceding = bEndPreceding;
3621 - }
3622 - division.nCommonPreceding = nCommonR;
3623 - if (nCommonR !== 0) {
3624 - division.aCommonPreceding = aEndPreceding;
3625 - division.bCommonPreceding = bEndPreceding;
3626 - }
3627 - division.nCommonFollowing = nCommonF;
3628 - if (nCommonF !== 0) {
3629 - division.aCommonFollowing = aFirst + 1;
3630 - division.bCommonFollowing = bFirst + 1;
3631 - }
3632 - const aStartFollowing = aLast + 1;
3633 - const bStartFollowing = bFirst + nCommonF + 1;
3634 - division.nChangeFollowing = d - 1;
3635 - if (d - 1 === aEnd + bEnd - aStartFollowing - bStartFollowing) {
3636 - division.aStartFollowing = aEnd;
3637 - division.bStartFollowing = bEnd;
3638 - } else {
3639 - division.aStartFollowing = aStartFollowing;
3640 - division.bStartFollowing = bStartFollowing;
3641 - }
3642 - return true;
3643 - }
3644 - }
3645 - }
3646 - return false;
3647 - };
3648 - const extendOverlappablePathsR = (d, aStart, aEnd, bStart, bEnd, isCommon, aIndexesF, iMaxF, aIndexesR, iMaxR, division) => {
3649 - const bR = bEnd - aEnd;
3650 - const aLength = aEnd - aStart;
3651 - const bLength = bEnd - bStart;
3652 - const baDeltaLength = bLength - aLength;
3653 - const kMinOverlapR = baDeltaLength - d;
3654 - const kMaxOverlapR = baDeltaLength + d;
3655 - let aIndexPrev1 = NOT_YET_SET;
3656 - const nR = Math.min(d, iMaxR);
3657 - for (let iR = 0, kR = d; iR <= nR; iR += 1, kR -= 2) {
3658 - const insert = iR === 0 || iR !== d && aIndexesR[iR] < aIndexPrev1;
3659 - const aLastPrev = insert ? aIndexesR[iR] : aIndexPrev1;
3660 - const aFirst = insert ? aLastPrev : aLastPrev - 1;
3661 - const bFirst = bR + aFirst - kR;
3662 - const nCommonR = countCommonItemsR(aStart, aFirst - 1, bStart, bFirst - 1, isCommon);
3663 - const aLast = aFirst - nCommonR;
3664 - aIndexPrev1 = aIndexesR[iR];
3665 - aIndexesR[iR] = aLast;
3666 - if (kMinOverlapR <= kR && kR <= kMaxOverlapR) {
3667 - const iF = (d + (kR - baDeltaLength)) / 2;
3668 - if (iF <= iMaxF && aLast - 1 <= aIndexesF[iF]) {
3669 - const bLast = bFirst - nCommonR;
3670 - division.nChangePreceding = d;
3671 - if (d === aLast + bLast - aStart - bStart) {
3672 - division.aEndPreceding = aStart;
3673 - division.bEndPreceding = bStart;
3674 - } else {
3675 - division.aEndPreceding = aLast;
3676 - division.bEndPreceding = bLast;
3677 - }
3678 - division.nCommonPreceding = nCommonR;
3679 - if (nCommonR !== 0) {
3680 - division.aCommonPreceding = aLast;
3681 - division.bCommonPreceding = bLast;
3682 - }
3683 - division.nChangeFollowing = d - 1;
3684 - if (d === 1) {
3685 - division.nCommonFollowing = 0;
3686 - division.aStartFollowing = aEnd;
3687 - division.bStartFollowing = bEnd;
3688 - } else {
3689 - const bLastPrev = bR + aLastPrev - (insert ? kR - 1 : kR + 1);
3690 - const nCommonF = countCommonItemsF(aLastPrev, aEnd, bLastPrev, bEnd, isCommon);
3691 - division.nCommonFollowing = nCommonF;
3692 - if (nCommonF !== 0) {
3693 - division.aCommonFollowing = aLastPrev;
3694 - division.bCommonFollowing = bLastPrev;
3695 - }
3696 - const aStartFollowing = aLastPrev + nCommonF;
3697 - const bStartFollowing = bLastPrev + nCommonF;
3698 - if (d - 1 === aEnd + bEnd - aStartFollowing - bStartFollowing) {
3699 - division.aStartFollowing = aEnd;
3700 - division.bStartFollowing = bEnd;
3701 - } else {
3702 - division.aStartFollowing = aStartFollowing;
3703 - division.bStartFollowing = bStartFollowing;
3704 - }
3705 - }
3706 - return true;
3707 - }
3708 - }
3709 - }
3710 - return false;
3711 - };
3712 - const divide = (nChange, aStart, aEnd, bStart, bEnd, isCommon, aIndexesF, aIndexesR, division) => {
3713 - const bF = bStart - aStart;
3714 - const bR = bEnd - aEnd;
3715 - const aLength = aEnd - aStart;
3716 - const bLength = bEnd - bStart;
3717 - const baDeltaLength = bLength - aLength;
3718 - let iMaxF = aLength;
3719 - let iMaxR = aLength;
3720 - aIndexesF[0] = aStart - 1;
3721 - aIndexesR[0] = aEnd;
3722 - if (baDeltaLength % 2 === 0) {
3723 - const dMin = (nChange || baDeltaLength) / 2;
3724 - const dMax = (aLength + bLength) / 2;
3725 - for (let d = 1; d <= dMax; d += 1) {
3726 - iMaxF = extendPathsF(d, aEnd, bEnd, bF, isCommon, aIndexesF, iMaxF);
3727 - if (d < dMin) {
3728 - iMaxR = extendPathsR(d, aStart, bStart, bR, isCommon, aIndexesR, iMaxR);
3729 - } else if (
3730 - // If a reverse path overlaps a forward path in the same diagonal,
3731 - // return a division of the index intervals at the middle change.
3732 - extendOverlappablePathsR(d, aStart, aEnd, bStart, bEnd, isCommon, aIndexesF, iMaxF, aIndexesR, iMaxR, division)
3733 - ) {
3734 - return;
3735 - }
3736 - }
3737 - } else {
3738 - const dMin = ((nChange || baDeltaLength) + 1) / 2;
3739 - const dMax = (aLength + bLength + 1) / 2;
3740 - let d = 1;
3741 - iMaxF = extendPathsF(d, aEnd, bEnd, bF, isCommon, aIndexesF, iMaxF);
3742 - for (d += 1; d <= dMax; d += 1) {
3743 - iMaxR = extendPathsR(d - 1, aStart, bStart, bR, isCommon, aIndexesR, iMaxR);
3744 - if (d < dMin) {
3745 - iMaxF = extendPathsF(d, aEnd, bEnd, bF, isCommon, aIndexesF, iMaxF);
3746 - } else if (
3747 - // If a forward path overlaps a reverse path in the same diagonal,
3748 - // return a division of the index intervals at the middle change.
3749 - extendOverlappablePathsF(d, aStart, aEnd, bStart, bEnd, isCommon, aIndexesF, iMaxF, aIndexesR, iMaxR, division)
3750 - ) {
3751 - return;
3752 - }
3753 - }
3754 - }
3755 - throw new Error(`${pkg}: no overlap aStart=${aStart} aEnd=${aEnd} bStart=${bStart} bEnd=${bEnd}`);
3756 - };
3757 - const findSubsequences = (nChange, aStart, aEnd, bStart, bEnd, transposed, callbacks, aIndexesF, aIndexesR, division) => {
3758 - if (bEnd - bStart < aEnd - aStart) {
3759 - transposed = !transposed;
3760 - if (transposed && callbacks.length === 1) {
3761 - const {
3762 - foundSubsequence: foundSubsequence2,
3763 - isCommon: isCommon2
3764 - } = callbacks[0];
3765 - callbacks[1] = {
3766 - foundSubsequence: (nCommon, bCommon, aCommon) => {
3767 - foundSubsequence2(nCommon, aCommon, bCommon);
3768 - },
3769 - isCommon: (bIndex, aIndex) => isCommon2(aIndex, bIndex)
3770 - };
3771 - }
3772 - const tStart = aStart;
3773 - const tEnd = aEnd;
3774 - aStart = bStart;
3775 - aEnd = bEnd;
3776 - bStart = tStart;
3777 - bEnd = tEnd;
3778 - }
3779 - const {
3780 - foundSubsequence,
3781 - isCommon
3782 - } = callbacks[transposed ? 1 : 0];
3783 - divide(nChange, aStart, aEnd, bStart, bEnd, isCommon, aIndexesF, aIndexesR, division);
3784 - const {
3785 - nChangePreceding,
3786 - aEndPreceding,
3787 - bEndPreceding,
3788 - nCommonPreceding,
3789 - aCommonPreceding,
3790 - bCommonPreceding,
3791 - nCommonFollowing,
3792 - aCommonFollowing,
3793 - bCommonFollowing,
3794 - nChangeFollowing,
3795 - aStartFollowing,
3796 - bStartFollowing
3797 - } = division;
3798 - if (aStart < aEndPreceding && bStart < bEndPreceding) {
3799 - findSubsequences(nChangePreceding, aStart, aEndPreceding, bStart, bEndPreceding, transposed, callbacks, aIndexesF, aIndexesR, division);
3800 - }
3801 - if (nCommonPreceding !== 0) {
3802 - foundSubsequence(nCommonPreceding, aCommonPreceding, bCommonPreceding);
3803 - }
3804 - if (nCommonFollowing !== 0) {
3805 - foundSubsequence(nCommonFollowing, aCommonFollowing, bCommonFollowing);
3806 - }
3807 - if (aStartFollowing < aEnd && bStartFollowing < bEnd) {
3808 - findSubsequences(nChangeFollowing, aStartFollowing, aEnd, bStartFollowing, bEnd, transposed, callbacks, aIndexesF, aIndexesR, division);
3809 - }
3810 - };
3811 - const validateLength = (name, arg) => {
3812 - if (typeof arg !== "number") {
3813 - throw new TypeError(`${pkg}: ${name} typeof ${typeof arg} is not a number`);
3814 - }
3815 - if (!Number.isSafeInteger(arg)) {
3816 - throw new RangeError(`${pkg}: ${name} value ${arg} is not a safe integer`);
3817 - }
3818 - if (arg < 0) {
3819 - throw new RangeError(`${pkg}: ${name} value ${arg} is a negative integer`);
3820 - }
3821 - };
3822 - const validateCallback = (name, arg) => {
3823 - const type = typeof arg;
3824 - if (type !== "function") {
3825 - throw new TypeError(`${pkg}: ${name} typeof ${type} is not a function`);
3826 - }
3827 - };
3828 - function diffSequence(aLength, bLength, isCommon, foundSubsequence) {
3829 - validateLength("aLength", aLength);
3830 - validateLength("bLength", bLength);
3831 - validateCallback("isCommon", isCommon);
3832 - validateCallback("foundSubsequence", foundSubsequence);
3833 - const nCommonF = countCommonItemsF(0, aLength, 0, bLength, isCommon);
3834 - if (nCommonF !== 0) {
3835 - foundSubsequence(nCommonF, 0, 0);
3836 - }
3837 - if (aLength !== nCommonF || bLength !== nCommonF) {
3838 - const aStart = nCommonF;
3839 - const bStart = nCommonF;
3840 - const nCommonR = countCommonItemsR(aStart, aLength - 1, bStart, bLength - 1, isCommon);
3841 - const aEnd = aLength - nCommonR;
3842 - const bEnd = bLength - nCommonR;
3843 - const nCommonFR = nCommonF + nCommonR;
3844 - if (aLength !== nCommonFR && bLength !== nCommonFR) {
3845 - const nChange = 0;
3846 - const transposed = false;
3847 - const callbacks = [{
3848 - foundSubsequence,
3849 - isCommon
3850 - }];
3851 - const aIndexesF = [NOT_YET_SET];
3852 - const aIndexesR = [NOT_YET_SET];
3853 - const division = {
3854 - aCommonFollowing: NOT_YET_SET,
3855 - aCommonPreceding: NOT_YET_SET,
3856 - aEndPreceding: NOT_YET_SET,
3857 - aStartFollowing: NOT_YET_SET,
3858 - bCommonFollowing: NOT_YET_SET,
3859 - bCommonPreceding: NOT_YET_SET,
3860 - bEndPreceding: NOT_YET_SET,
3861 - bStartFollowing: NOT_YET_SET,
3862 - nChangeFollowing: NOT_YET_SET,
3863 - nChangePreceding: NOT_YET_SET,
3864 - nCommonFollowing: NOT_YET_SET,
3865 - nCommonPreceding: NOT_YET_SET
3866 - };
3867 - findSubsequences(nChange, aStart, aEnd, bStart, bEnd, transposed, callbacks, aIndexesF, aIndexesR, division);
3868 - }
3869 - if (nCommonR !== 0) {
3870 - foundSubsequence(nCommonR, aEnd, bEnd);
3871 - }
3872 - }
3873 - }
3874 - })();
3875 - module2.exports = __webpack_exports__;
3876 - })();
3877 - }
3878 -});
3879 -
3880 -// node_modules/jest-diff/build/index.js
3881 -var require_build5 = __commonJS({
3882 - "node_modules/jest-diff/build/index.js"(exports2, module2) {
3883 - (() => {
3884 - "use strict";
3885 - var __webpack_modules__ = {
3886 - /***/
3887 - "./src/cleanupSemantic.ts": (
3888 - /***/
3889 - ((__unused_webpack_module, exports3) => {
3890 - Object.defineProperty(exports3, "__esModule", {
3891 - value: true
3892 - });
3893 - exports3.cleanupSemantic = exports3.Diff = exports3.DIFF_INSERT = exports3.DIFF_EQUAL = exports3.DIFF_DELETE = void 0;
3894 - var DIFF_DELETE = exports3.DIFF_DELETE = -1;
3895 - var DIFF_INSERT = exports3.DIFF_INSERT = 1;
3896 - var DIFF_EQUAL = exports3.DIFF_EQUAL = 0;
3897 - class Diff {
3898 - 0;
3899 - 1;
3900 - constructor(op, text) {
3901 - this[0] = op;
3902 - this[1] = text;
3903 - }
3904 - }
3905 - exports3.Diff = Diff;
3906 - var diff_commonPrefix = function(text1, text2) {
3907 - if (!text1 || !text2 || text1.charAt(0) != text2.charAt(0)) {
3908 - return 0;
3909 - }
3910 - var pointermin = 0;
3911 - var pointermax = Math.min(text1.length, text2.length);
3912 - var pointermid = pointermax;
3913 - var pointerstart = 0;
3914 - while (pointermin < pointermid) {
3915 - if (text1.substring(pointerstart, pointermid) == text2.substring(pointerstart, pointermid)) {
3916 - pointermin = pointermid;
3917 - pointerstart = pointermin;
3918 - } else {
3919 - pointermax = pointermid;
3920 - }
3921 - pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);
3922 - }
3923 - return pointermid;
3924 - };
3925 - var diff_commonSuffix = function(text1, text2) {
3926 - if (!text1 || !text2 || text1.charAt(text1.length - 1) != text2.charAt(text2.length - 1)) {
3927 - return 0;
3928 - }
3929 - var pointermin = 0;
3930 - var pointermax = Math.min(text1.length, text2.length);
3931 - var pointermid = pointermax;
3932 - var pointerend = 0;
3933 - while (pointermin < pointermid) {
3934 - if (text1.substring(text1.length - pointermid, text1.length - pointerend) == text2.substring(text2.length - pointermid, text2.length - pointerend)) {
3935 - pointermin = pointermid;
3936 - pointerend = pointermin;
3937 - } else {
3938 - pointermax = pointermid;
3939 - }
3940 - pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);
3941 - }
3942 - return pointermid;
3943 - };
3944 - var diff_commonOverlap_ = function(text1, text2) {
3945 - var text1_length = text1.length;
3946 - var text2_length = text2.length;
3947 - if (text1_length == 0 || text2_length == 0) {
3948 - return 0;
3949 - }
3950 - if (text1_length > text2_length) {
3951 - text1 = text1.substring(text1_length - text2_length);
3952 - } else if (text1_length < text2_length) {
3953 - text2 = text2.substring(0, text1_length);
3954 - }
3955 - var text_length = Math.min(text1_length, text2_length);
3956 - if (text1 == text2) {
3957 - return text_length;
3958 - }
3959 - var best = 0;
3960 - var length = 1;
3961 - while (true) {
3962 - var pattern = text1.substring(text_length - length);
3963 - var found = text2.indexOf(pattern);
3964 - if (found == -1) {
3965 - return best;
3966 - }
3967 - length += found;
3968 - if (found == 0 || text1.substring(text_length - length) == text2.substring(0, length)) {
3969 - best = length;
3970 - length++;
3971 - }
3972 - }
3973 - };
3974 - var diff_cleanupSemantic = function(diffs) {
3975 - var changes = false;
3976 - var equalities = [];
3977 - var equalitiesLength = 0;
3978 - var lastEquality = null;
3979 - var pointer = 0;
3980 - var length_insertions1 = 0;
3981 - var length_deletions1 = 0;
3982 - var length_insertions2 = 0;
3983 - var length_deletions2 = 0;
3984 - while (pointer < diffs.length) {
3985 - if (diffs[pointer][0] == DIFF_EQUAL) {
3986 - equalities[equalitiesLength++] = pointer;
3987 - length_insertions1 = length_insertions2;
3988 - length_deletions1 = length_deletions2;
3989 - length_insertions2 = 0;
3990 - length_deletions2 = 0;
3991 - lastEquality = diffs[pointer][1];
3992 - } else {
3993 - if (diffs[pointer][0] == DIFF_INSERT) {
3994 - length_insertions2 += diffs[pointer][1].length;
3995 - } else {
3996 - length_deletions2 += diffs[pointer][1].length;
3997 - }
3998 - if (lastEquality && lastEquality.length <= Math.max(length_insertions1, length_deletions1) && lastEquality.length <= Math.max(length_insertions2, length_deletions2)) {
3999 - diffs.splice(equalities[equalitiesLength - 1], 0, new Diff(DIFF_DELETE, lastEquality));
4000 - diffs[equalities[equalitiesLength - 1] + 1][0] = DIFF_INSERT;
4001 - equalitiesLength--;
4002 - equalitiesLength--;
4003 - pointer = equalitiesLength > 0 ? equalities[equalitiesLength - 1] : -1;
4004 - length_insertions1 = 0;
4005 - length_deletions1 = 0;
4006 - length_insertions2 = 0;
4007 - length_deletions2 = 0;
4008 - lastEquality = null;
4009 - changes = true;
4010 - }
4011 - }
4012 - pointer++;
4013 - }
4014 - if (changes) {
4015 - diff_cleanupMerge(diffs);
4016 - }
4017 - diff_cleanupSemanticLossless(diffs);
4018 - pointer = 1;
4019 - while (pointer < diffs.length) {
4020 - if (diffs[pointer - 1][0] == DIFF_DELETE && diffs[pointer][0] == DIFF_INSERT) {
4021 - var deletion = diffs[pointer - 1][1];
4022 - var insertion = diffs[pointer][1];
4023 - var overlap_length1 = diff_commonOverlap_(deletion, insertion);
4024 - var overlap_length2 = diff_commonOverlap_(insertion, deletion);
4025 - if (overlap_length1 >= overlap_length2) {
4026 - if (overlap_length1 >= deletion.length / 2 || overlap_length1 >= insertion.length / 2) {
4027 - diffs.splice(pointer, 0, new Diff(DIFF_EQUAL, insertion.substring(0, overlap_length1)));
4028 - diffs[pointer - 1][1] = deletion.substring(0, deletion.length - overlap_length1);
4029 - diffs[pointer + 1][1] = insertion.substring(overlap_length1);
4030 - pointer++;
4031 - }
4032 - } else {
4033 - if (overlap_length2 >= deletion.length / 2 || overlap_length2 >= insertion.length / 2) {
4034 - diffs.splice(pointer, 0, new Diff(DIFF_EQUAL, deletion.substring(0, overlap_length2)));
4035 - diffs[pointer - 1][0] = DIFF_INSERT;
4036 - diffs[pointer - 1][1] = insertion.substring(0, insertion.length - overlap_length2);
4037 - diffs[pointer + 1][0] = DIFF_DELETE;
4038 - diffs[pointer + 1][1] = deletion.substring(overlap_length2);
4039 - pointer++;
4040 - }
4041 - }
4042 - pointer++;
4043 - }
4044 - pointer++;
4045 - }
4046 - };
4047 - exports3.cleanupSemantic = diff_cleanupSemantic;
4048 - var diff_cleanupSemanticLossless = function(diffs) {
4049 - function diff_cleanupSemanticScore_(one, two) {
4050 - if (!one || !two) {
4051 - return 6;
4052 - }
4053 - var char1 = one.charAt(one.length - 1);
4054 - var char2 = two.charAt(0);
4055 - var nonAlphaNumeric1 = char1.match(nonAlphaNumericRegex_);
4056 - var nonAlphaNumeric2 = char2.match(nonAlphaNumericRegex_);
4057 - var whitespace1 = nonAlphaNumeric1 && char1.match(whitespaceRegex_);
4058 - var whitespace2 = nonAlphaNumeric2 && char2.match(whitespaceRegex_);
4059 - var lineBreak1 = whitespace1 && char1.match(linebreakRegex_);
4060 - var lineBreak2 = whitespace2 && char2.match(linebreakRegex_);
4061 - var blankLine1 = lineBreak1 && one.match(blanklineEndRegex_);
4062 - var blankLine2 = lineBreak2 && two.match(blanklineStartRegex_);
4063 - if (blankLine1 || blankLine2) {
4064 - return 5;
4065 - } else if (lineBreak1 || lineBreak2) {
4066 - return 4;
4067 - } else if (nonAlphaNumeric1 && !whitespace1 && whitespace2) {
4068 - return 3;
4069 - } else if (whitespace1 || whitespace2) {
4070 - return 2;
4071 - } else if (nonAlphaNumeric1 || nonAlphaNumeric2) {
4072 - return 1;
4073 - }
4074 - return 0;
4075 - }
4076 - var pointer = 1;
4077 - while (pointer < diffs.length - 1) {
4078 - if (diffs[pointer - 1][0] == DIFF_EQUAL && diffs[pointer + 1][0] == DIFF_EQUAL) {
4079 - var equality1 = diffs[pointer - 1][1];
4080 - var edit = diffs[pointer][1];
4081 - var equality2 = diffs[pointer + 1][1];
4082 - var commonOffset = diff_commonSuffix(equality1, edit);
4083 - if (commonOffset) {
4084 - var commonString = edit.substring(edit.length - commonOffset);
4085 - equality1 = equality1.substring(0, equality1.length - commonOffset);
4086 - edit = commonString + edit.substring(0, edit.length - commonOffset);
4087 - equality2 = commonString + equality2;
4088 - }
4089 - var bestEquality1 = equality1;
4090 - var bestEdit = edit;
4091 - var bestEquality2 = equality2;
4092 - var bestScore = diff_cleanupSemanticScore_(equality1, edit) + diff_cleanupSemanticScore_(edit, equality2);
4093 - while (edit.charAt(0) === equality2.charAt(0)) {
4094 - equality1 += edit.charAt(0);
4095 - edit = edit.substring(1) + equality2.charAt(0);
4096 - equality2 = equality2.substring(1);
4097 - var score = diff_cleanupSemanticScore_(equality1, edit) + diff_cleanupSemanticScore_(edit, equality2);
4098 - if (score >= bestScore) {
4099 - bestScore = score;
4100 - bestEquality1 = equality1;
4101 - bestEdit = edit;
4102 - bestEquality2 = equality2;
4103 - }
4104 - }
4105 - if (diffs[pointer - 1][1] != bestEquality1) {
4106 - if (bestEquality1) {
4107 - diffs[pointer - 1][1] = bestEquality1;
4108 - } else {
4109 - diffs.splice(pointer - 1, 1);
4110 - pointer--;
4111 - }
4112 - diffs[pointer][1] = bestEdit;
4113 - if (bestEquality2) {
4114 - diffs[pointer + 1][1] = bestEquality2;
4115 - } else {
4116 - diffs.splice(pointer + 1, 1);
4117 - pointer--;
4118 - }
4119 - }
4120 - }
4121 - pointer++;
4122 - }
4123 - };
4124 - var nonAlphaNumericRegex_ = /[^a-zA-Z0-9]/;
4125 - var whitespaceRegex_ = /\s/;
4126 - var linebreakRegex_ = /[\r\n]/;
4127 - var blanklineEndRegex_ = /\n\r?\n$/;
4128 - var blanklineStartRegex_ = /^\r?\n\r?\n/;
4129 - var diff_cleanupMerge = function(diffs) {
4130 - diffs.push(new Diff(DIFF_EQUAL, ""));
4131 - var pointer = 0;
4132 - var count_delete = 0;
4133 - var count_insert = 0;
4134 - var text_delete = "";
4135 - var text_insert = "";
4136 - var commonlength;
4137 - while (pointer < diffs.length) {
4138 - switch (diffs[pointer][0]) {
4139 - case DIFF_INSERT:
4140 - count_insert++;
4141 - text_insert += diffs[pointer][1];
4142 - pointer++;
4143 - break;
4144 - case DIFF_DELETE:
4145 - count_delete++;
4146 - text_delete += diffs[pointer][1];
4147 - pointer++;
4148 - break;
4149 - case DIFF_EQUAL:
4150 - if (count_delete + count_insert > 1) {
4151 - if (count_delete !== 0 && count_insert !== 0) {
4152 - commonlength = diff_commonPrefix(text_insert, text_delete);
4153 - if (commonlength !== 0) {
4154 - if (pointer - count_delete - count_insert > 0 && diffs[pointer - count_delete - count_insert - 1][0] == DIFF_EQUAL) {
4155 - diffs[pointer - count_delete - count_insert - 1][1] += text_insert.substring(0, commonlength);
4156 - } else {
4157 - diffs.splice(0, 0, new Diff(DIFF_EQUAL, text_insert.substring(0, commonlength)));
4158 - pointer++;
4159 - }
4160 - text_insert = text_insert.substring(commonlength);
4161 - text_delete = text_delete.substring(commonlength);
4162 - }
4163 - commonlength = diff_commonSuffix(text_insert, text_delete);
4164 - if (commonlength !== 0) {
4165 - diffs[pointer][1] = text_insert.substring(text_insert.length - commonlength) + diffs[pointer][1];
4166 - text_insert = text_insert.substring(0, text_insert.length - commonlength);
4167 - text_delete = text_delete.substring(0, text_delete.length - commonlength);
4168 - }
4169 - }
4170 - pointer -= count_delete + count_insert;
4171 - diffs.splice(pointer, count_delete + count_insert);
4172 - if (text_delete.length) {
4173 - diffs.splice(pointer, 0, new Diff(DIFF_DELETE, text_delete));
4174 - pointer++;
4175 - }
4176 - if (text_insert.length) {
4177 - diffs.splice(pointer, 0, new Diff(DIFF_INSERT, text_insert));
4178 - pointer++;
4179 - }
4180 - pointer++;
4181 - } else if (pointer !== 0 && diffs[pointer - 1][0] == DIFF_EQUAL) {
4182 - diffs[pointer - 1][1] += diffs[pointer][1];
4183 - diffs.splice(pointer, 1);
4184 - } else {
4185 - pointer++;
4186 - }
4187 - count_insert = 0;
4188 - count_delete = 0;
4189 - text_delete = "";
4190 - text_insert = "";
4191 - break;
4192 - }
4193 - }
4194 - if (diffs[diffs.length - 1][1] === "") {
4195 - diffs.pop();
4196 - }
4197 - var changes = false;
4198 - pointer = 1;
4199 - while (pointer < diffs.length - 1) {
4200 - if (diffs[pointer - 1][0] == DIFF_EQUAL && diffs[pointer + 1][0] == DIFF_EQUAL) {
4201 - if (diffs[pointer][1].substring(diffs[pointer][1].length - diffs[pointer - 1][1].length) == diffs[pointer - 1][1]) {
4202 - diffs[pointer][1] = diffs[pointer - 1][1] + diffs[pointer][1].substring(0, diffs[pointer][1].length - diffs[pointer - 1][1].length);
4203 - diffs[pointer + 1][1] = diffs[pointer - 1][1] + diffs[pointer + 1][1];
4204 - diffs.splice(pointer - 1, 1);
4205 - changes = true;
4206 - } else if (diffs[pointer][1].substring(0, diffs[pointer + 1][1].length) == diffs[pointer + 1][1]) {
4207 - diffs[pointer - 1][1] += diffs[pointer + 1][1];
4208 - diffs[pointer][1] = diffs[pointer][1].substring(diffs[pointer + 1][1].length) + diffs[pointer + 1][1];
4209 - diffs.splice(pointer + 1, 1);
4210 - changes = true;
4211 - }
4212 - }
4213 - pointer++;
4214 - }
4215 - if (changes) {
4216 - diff_cleanupMerge(diffs);
4217 - }
4218 - };
4219 - })
4220 - ),
4221 - /***/
4222 - "./src/constants.ts": (
4223 - /***/
4224 - ((__unused_webpack_module, exports3) => {
4225 - Object.defineProperty(exports3, "__esModule", {
4226 - value: true
4227 - });
4228 - exports3.SIMILAR_MESSAGE = exports3.NO_DIFF_MESSAGE = void 0;
4229 - const NO_DIFF_MESSAGE = exports3.NO_DIFF_MESSAGE = "Compared values have no visual difference.";
4230 - const SIMILAR_MESSAGE = exports3.SIMILAR_MESSAGE = "Compared values serialize to the same structure.\nPrinting internal object structure without calling `toJSON` instead.";
4231 - })
4232 - ),
4233 - /***/
4234 - "./src/diffLines.ts": (
4235 - /***/
4236 - ((__unused_webpack_module, exports3, __webpack_require__2) => {
4237 - Object.defineProperty(exports3, "__esModule", {
4238 - value: true
4239 - });
4240 - exports3.printDiffLines = exports3.diffLinesUnified2 = exports3.diffLinesUnified = exports3.diffLinesRaw = void 0;
4241 - var _diffSequences = _interopRequireDefault(require_build4());
4242 - var _cleanupSemantic = __webpack_require__2("./src/cleanupSemantic.ts");
4243 - var _escapeControlCharacters = __webpack_require__2("./src/escapeControlCharacters.ts");
4244 - var _joinAlignedDiffs = __webpack_require__2("./src/joinAlignedDiffs.ts");
4245 - var _normalizeDiffOptions = __webpack_require__2("./src/normalizeDiffOptions.ts");
4246 - function _interopRequireDefault(e) {
4247 - return e && e.__esModule ? e : { default: e };
4248 - }
4249 - const isEmptyString = (lines) => lines.length === 1 && lines[0].length === 0;
4250 - const countChanges = (diffs) => {
4251 - let a = 0;
4252 - let b = 0;
4253 - for (const diff2 of diffs) {
4254 - switch (diff2[0]) {
4255 - case _cleanupSemantic.DIFF_DELETE:
4256 - a += 1;
4257 - break;
4258 - case _cleanupSemantic.DIFF_INSERT:
4259 - b += 1;
4260 - break;
4261 - }
4262 - }
4263 - return {
4264 - a,
4265 - b
4266 - };
4267 - };
4268 - const printAnnotation = ({
4269 - aAnnotation,
4270 - aColor,
4271 - aIndicator,
4272 - bAnnotation,
4273 - bColor,
4274 - bIndicator,
4275 - includeChangeCounts,
4276 - omitAnnotationLines
4277 - }, changeCounts) => {
4278 - if (omitAnnotationLines) {
4279 - return "";
4280 - }
4281 - let aRest = "";
4282 - let bRest = "";
4283 - if (includeChangeCounts) {
4284 - const aCount = String(changeCounts.a);
4285 - const bCount = String(changeCounts.b);
4286 - const baAnnotationLengthDiff = bAnnotation.length - aAnnotation.length;
4287 - const aAnnotationPadding = " ".repeat(Math.max(0, baAnnotationLengthDiff));
4288 - const bAnnotationPadding = " ".repeat(Math.max(0, -baAnnotationLengthDiff));
4289 - const baCountLengthDiff = bCount.length - aCount.length;
4290 - const aCountPadding = " ".repeat(Math.max(0, baCountLengthDiff));
4291 - const bCountPadding = " ".repeat(Math.max(0, -baCountLengthDiff));
4292 - aRest = `${aAnnotationPadding} ${aIndicator} ${aCountPadding}${aCount}`;
4293 - bRest = `${bAnnotationPadding} ${bIndicator} ${bCountPadding}${bCount}`;
4294 - }
4295 - const a = `${aIndicator} ${aAnnotation}${aRest}`;
4296 - const b = `${bIndicator} ${bAnnotation}${bRest}`;
4297 - return `${aColor(a)}
4298 -${bColor(b)}
4299 -
4300 -`;
4301 - };
4302 - const printDiffLines = (diffs, options) => printAnnotation(options, countChanges(diffs)) + (options.expand ? (0, _joinAlignedDiffs.joinAlignedDiffsExpand)(diffs, options) : (0, _joinAlignedDiffs.joinAlignedDiffsNoExpand)(diffs, options));
4303 - exports3.printDiffLines = printDiffLines;
4304 - const diffLinesUnified = (aLines, bLines, options) => printDiffLines(diffLinesRaw(isEmptyString(aLines) ? [] : aLines.map(_escapeControlCharacters.escapeControlCharacters), isEmptyString(bLines) ? [] : bLines.map(_escapeControlCharacters.escapeControlCharacters)), (0, _normalizeDiffOptions.normalizeDiffOptions)(options));
4305 - exports3.diffLinesUnified = diffLinesUnified;
4306 - const diffLinesUnified2 = (aLinesDisplay, bLinesDisplay, aLinesCompare, bLinesCompare, options) => {
4307 - if (isEmptyString(aLinesDisplay) && isEmptyString(aLinesCompare)) {
4308 - aLinesDisplay = [];
4309 - aLinesCompare = [];
4310 - }
4311 - if (isEmptyString(bLinesDisplay) && isEmptyString(bLinesCompare)) {
4312 - bLinesDisplay = [];
4313 - bLinesCompare = [];
4314 - }
4315 - if (aLinesDisplay.length !== aLinesCompare.length || bLinesDisplay.length !== bLinesCompare.length) {
4316 - return diffLinesUnified(aLinesDisplay, bLinesDisplay, options);
4317 - }
4318 - const diffs = diffLinesRaw(aLinesCompare, bLinesCompare);
4319 - let aIndex = 0;
4320 - let bIndex = 0;
4321 - for (const diff2 of diffs) {
4322 - switch (diff2[0]) {
4323 - case _cleanupSemantic.DIFF_DELETE:
4324 - diff2[1] = aLinesDisplay[aIndex];
4325 - aIndex += 1;
4326 - break;
4327 - case _cleanupSemantic.DIFF_INSERT:
4328 - diff2[1] = bLinesDisplay[bIndex];
4329 - bIndex += 1;
4330 - break;
4331 - default:
4332 - diff2[1] = bLinesDisplay[bIndex];
4333 - aIndex += 1;
4334 - bIndex += 1;
4335 - }
4336 - }
4337 - return printDiffLines(diffs, (0, _normalizeDiffOptions.normalizeDiffOptions)(options));
4338 - };
4339 - exports3.diffLinesUnified2 = diffLinesUnified2;
4340 - const diffLinesRaw = (aLines, bLines) => {
4341 - const aLength = aLines.length;
4342 - const bLength = bLines.length;
4343 - const isCommon = (aIndex2, bIndex2) => aLines[aIndex2] === bLines[bIndex2];
4344 - const diffs = [];
4345 - let aIndex = 0;
4346 - let bIndex = 0;
4347 - const foundSubsequence = (nCommon, aCommon, bCommon) => {
4348 - for (; aIndex !== aCommon; aIndex += 1) {
4349 - diffs.push(new _cleanupSemantic.Diff(_cleanupSemantic.DIFF_DELETE, aLines[aIndex]));
4350 - }
4351 - for (; bIndex !== bCommon; bIndex += 1) {
4352 - diffs.push(new _cleanupSemantic.Diff(_cleanupSemantic.DIFF_INSERT, bLines[bIndex]));
4353 - }
4354 - for (; nCommon !== 0; nCommon -= 1, aIndex += 1, bIndex += 1) {
4355 - diffs.push(new _cleanupSemantic.Diff(_cleanupSemantic.DIFF_EQUAL, bLines[bIndex]));
4356 - }
4357 - };
4358 - (0, _diffSequences.default)(aLength, bLength, isCommon, foundSubsequence);
4359 - for (; aIndex !== aLength; aIndex += 1) {
4360 - diffs.push(new _cleanupSemantic.Diff(_cleanupSemantic.DIFF_DELETE, aLines[aIndex]));
4361 - }
4362 - for (; bIndex !== bLength; bIndex += 1) {
4363 - diffs.push(new _cleanupSemantic.Diff(_cleanupSemantic.DIFF_INSERT, bLines[bIndex]));
4364 - }
4365 - return diffs;
4366 - };
4367 - exports3.diffLinesRaw = diffLinesRaw;
4368 - })
4369 - ),
4370 - /***/
4371 - "./src/diffStrings.ts": (
4372 - /***/
4373 - ((__unused_webpack_module, exports3, __webpack_require__2) => {
4374 - Object.defineProperty(exports3, "__esModule", {
4375 - value: true
4376 - });
4377 - exports3["default"] = void 0;
4378 - var _diffSequences = _interopRequireDefault(require_build4());
4379 - var _cleanupSemantic = __webpack_require__2("./src/cleanupSemantic.ts");
4380 - function _interopRequireDefault(e) {
4381 - return e && e.__esModule ? e : { default: e };
4382 - }
4383 - const diffStrings = (a, b) => {
4384 - const isCommon = (aIndex2, bIndex2) => a[aIndex2] === b[bIndex2];
4385 - let aIndex = 0;
4386 - let bIndex = 0;
4387 - const diffs = [];
4388 - const foundSubsequence = (nCommon, aCommon, bCommon) => {
4389 - if (aIndex !== aCommon) {
4390 - diffs.push(new _cleanupSemantic.Diff(_cleanupSemantic.DIFF_DELETE, a.slice(aIndex, aCommon)));
4391 - }
4392 - if (bIndex !== bCommon) {
4393 - diffs.push(new _cleanupSemantic.Diff(_cleanupSemantic.DIFF_INSERT, b.slice(bIndex, bCommon)));
4394 - }
4395 - aIndex = aCommon + nCommon;
4396 - bIndex = bCommon + nCommon;
4397 - diffs.push(new _cleanupSemantic.Diff(_cleanupSemantic.DIFF_EQUAL, b.slice(bCommon, bIndex)));
4398 - };
4399 - (0, _diffSequences.default)(a.length, b.length, isCommon, foundSubsequence);
4400 - if (aIndex !== a.length) {
4401 - diffs.push(new _cleanupSemantic.Diff(_cleanupSemantic.DIFF_DELETE, a.slice(aIndex)));
4402 - }
4403 - if (bIndex !== b.length) {
4404 - diffs.push(new _cleanupSemantic.Diff(_cleanupSemantic.DIFF_INSERT, b.slice(bIndex)));
4405 - }
4406 - return diffs;
4407 - };
4408 - var _default = exports3["default"] = diffStrings;
4409 - })
4410 - ),
4411 - /***/
4412 - "./src/escapeControlCharacters.ts": (
4413 - /***/
4414 - ((__unused_webpack_module, exports3) => {
4415 - Object.defineProperty(exports3, "__esModule", {
4416 - value: true
4417 - });
4418 - exports3.escapeControlCharacters = void 0;
4419 - const escapeControlCharacters = (str) => str.replaceAll(/[\u0000-\u0008\u000B\u000C\u000E-\u001F\u007F-\u009F]/g, (match) => {
4420 - switch (match) {
4421 - case "\b":
4422 - return "\\b";
4423 - case "\f":
4424 - return "\\f";
4425 - case "\v":
4426 - return "\\v";
4427 - default: {
4428 - const code = match.codePointAt(0);
4429 - return `\\x${code.toString(16).padStart(2, "0")}`;
4430 - }
4431 - }
4432 - });
4433 - exports3.escapeControlCharacters = escapeControlCharacters;
4434 - })
4435 - ),
4436 - /***/
4437 - "./src/getAlignedDiffs.ts": (
4438 - /***/
4439 - ((__unused_webpack_module, exports3, __webpack_require__2) => {
4440 - Object.defineProperty(exports3, "__esModule", {
4441 - value: true
4442 - });
4443 - exports3["default"] = void 0;
4444 - var _cleanupSemantic = __webpack_require__2("./src/cleanupSemantic.ts");
4445 - const concatenateRelevantDiffs = (op, diffs, changeColor) => diffs.reduce((reduced, diff2) => reduced + (diff2[0] === _cleanupSemantic.DIFF_EQUAL ? diff2[1] : diff2[0] === op && diff2[1].length > 0 ? changeColor(diff2[1]) : ""), "");
4446 - class ChangeBuffer {
4447 - op;
4448 - line;
4449 - // incomplete line
4450 - lines;
4451 - // complete lines
4452 - changeColor;
4453 - constructor(op, changeColor) {
4454 - this.op = op;
4455 - this.line = [];
4456 - this.lines = [];
4457 - this.changeColor = changeColor;
4458 - }
4459 - pushSubstring(substring) {
4460 - this.pushDiff(new _cleanupSemantic.Diff(this.op, substring));
4461 - }
4462 - pushLine() {
4463 - this.lines.push(
4464 - this.line.length === 1 ? this.line[0][0] === this.op ? this.line[0] : new _cleanupSemantic.Diff(this.op, this.line[0][1]) : new _cleanupSemantic.Diff(this.op, concatenateRelevantDiffs(this.op, this.line, this.changeColor))
4465 - // was common diff
4466 - );
4467 - this.line.length = 0;
4468 - }
4469 - isLineEmpty() {
4470 - return this.line.length === 0;
4471 - }
4472 - // Minor input to buffer.
4473 - pushDiff(diff2) {
4474 - this.line.push(diff2);
4475 - }
4476 - // Main input to buffer.
4477 - align(diff2) {
4478 - const string = diff2[1];
4479 - if (string.includes("\n")) {
4480 - const substrings = string.split("\n");
4481 - const iLast = substrings.length - 1;
4482 - for (const [i, substring] of substrings.entries()) {
4483 - if (i < iLast) {
4484 - this.pushSubstring(substring);
4485 - this.pushLine();
4486 - } else if (substring.length > 0) {
4487 - this.pushSubstring(substring);
4488 - }
4489 - }
4490 - } else {
4491 - this.pushDiff(diff2);
4492 - }
4493 - }
4494 - // Output from buffer.
4495 - moveLinesTo(lines) {
4496 - if (!this.isLineEmpty()) {
4497 - this.pushLine();
4498 - }
4499 - lines.push(...this.lines);
4500 - this.lines.length = 0;
4501 - }
4502 - }
4503 - class CommonBuffer {
4504 - deleteBuffer;
4505 - insertBuffer;
4506 - lines;
4507 - constructor(deleteBuffer, insertBuffer) {
4508 - this.deleteBuffer = deleteBuffer;
4509 - this.insertBuffer = insertBuffer;
4510 - this.lines = [];
4511 - }
4512 - pushDiffCommonLine(diff2) {
4513 - this.lines.push(diff2);
4514 - }
4515 - pushDiffChangeLines(diff2) {
4516 - const isDiffEmpty = diff2[1].length === 0;
4517 - if (!isDiffEmpty || this.deleteBuffer.isLineEmpty()) {
4518 - this.deleteBuffer.pushDiff(diff2);
4519 - }
4520 - if (!isDiffEmpty || this.insertBuffer.isLineEmpty()) {
4521 - this.insertBuffer.pushDiff(diff2);
4522 - }
4523 - }
4524 - flushChangeLines() {
4525 - this.deleteBuffer.moveLinesTo(this.lines);
4526 - this.insertBuffer.moveLinesTo(this.lines);
4527 - }
4528 - // Input to buffer.
4529 - align(diff2) {
4530 - const op = diff2[0];
4531 - const string = diff2[1];
4532 - if (string.includes("\n")) {
4533 - const substrings = string.split("\n");
4534 - const iLast = substrings.length - 1;
4535 - for (const [i, substring] of substrings.entries()) {
4536 - if (i === 0) {
4537 - const subdiff = new _cleanupSemantic.Diff(op, substring);
4538 - if (this.deleteBuffer.isLineEmpty() && this.insertBuffer.isLineEmpty()) {
4539 - this.flushChangeLines();
4540 - this.pushDiffCommonLine(subdiff);
4541 - } else {
4542 - this.pushDiffChangeLines(subdiff);
4543 - this.flushChangeLines();
4544 - }
4545 - } else if (i < iLast) {
4546 - this.pushDiffCommonLine(new _cleanupSemantic.Diff(op, substring));
4547 - } else if (substring.length > 0) {
4548 - this.pushDiffChangeLines(new _cleanupSemantic.Diff(op, substring));
4549 - }
4550 - }
4551 - } else {
4552 - this.pushDiffChangeLines(diff2);
4553 - }
4554 - }
4555 - // Output from buffer.
4556 - getLines() {
4557 - this.flushChangeLines();
4558 - return this.lines;
4559 - }
4560 - }
4561 - const getAlignedDiffs = (diffs, changeColor) => {
4562 - const deleteBuffer = new ChangeBuffer(_cleanupSemantic.DIFF_DELETE, changeColor);
4563 - const insertBuffer = new ChangeBuffer(_cleanupSemantic.DIFF_INSERT, changeColor);
4564 - const commonBuffer = new CommonBuffer(deleteBuffer, insertBuffer);
4565 - for (const diff2 of diffs) {
4566 - switch (diff2[0]) {
4567 - case _cleanupSemantic.DIFF_DELETE:
4568 - deleteBuffer.align(diff2);
4569 - break;
4570 - case _cleanupSemantic.DIFF_INSERT:
4571 - insertBuffer.align(diff2);
4572 - break;
4573 - default:
4574 - commonBuffer.align(diff2);
4575 - }
4576 - }
4577 - return commonBuffer.getLines();
4578 - };
4579 - var _default = exports3["default"] = getAlignedDiffs;
4580 - })
4581 - ),
4582 - /***/
4583 - "./src/joinAlignedDiffs.ts": (
4584 - /***/
4585 - ((__unused_webpack_module, exports3, __webpack_require__2) => {
4586 - Object.defineProperty(exports3, "__esModule", {
4587 - value: true
4588 - });
4589 - exports3.joinAlignedDiffsNoExpand = exports3.joinAlignedDiffsExpand = void 0;
4590 - var _cleanupSemantic = __webpack_require__2("./src/cleanupSemantic.ts");
4591 - const formatTrailingSpaces = (line, trailingSpaceFormatter) => line.replace(/\s+$/, (match) => trailingSpaceFormatter(match));
4592 - const printDiffLine = (line, isFirstOrLast, color, indicator, trailingSpaceFormatter, emptyFirstOrLastLinePlaceholder) => line.length === 0 ? indicator === " " ? isFirstOrLast && emptyFirstOrLastLinePlaceholder.length > 0 ? color(`${indicator} ${emptyFirstOrLastLinePlaceholder}`) : "" : color(indicator) : color(`${indicator} ${formatTrailingSpaces(line, trailingSpaceFormatter)}`);
4593 - const printDeleteLine = (line, isFirstOrLast, {
4594 - aColor,
4595 - aIndicator,
4596 - changeLineTrailingSpaceColor,
4597 - emptyFirstOrLastLinePlaceholder
4598 - }) => printDiffLine(line, isFirstOrLast, aColor, aIndicator, changeLineTrailingSpaceColor, emptyFirstOrLastLinePlaceholder);
4599 - const printInsertLine = (line, isFirstOrLast, {
4600 - bColor,
4601 - bIndicator,
4602 - changeLineTrailingSpaceColor,
4603 - emptyFirstOrLastLinePlaceholder
4604 - }) => printDiffLine(line, isFirstOrLast, bColor, bIndicator, changeLineTrailingSpaceColor, emptyFirstOrLastLinePlaceholder);
4605 - const printCommonLine = (line, isFirstOrLast, {
4606 - commonColor,
4607 - commonIndicator,
4608 - commonLineTrailingSpaceColor,
4609 - emptyFirstOrLastLinePlaceholder
4610 - }) => printDiffLine(line, isFirstOrLast, commonColor, commonIndicator, commonLineTrailingSpaceColor, emptyFirstOrLastLinePlaceholder);
4611 - const createPatchMark = (aStart, aEnd, bStart, bEnd, {
4612 - patchColor
4613 - }) => patchColor(`@@ -${aStart + 1},${aEnd - aStart} +${bStart + 1},${bEnd - bStart} @@`);
4614 - const joinAlignedDiffsNoExpand = (diffs, options) => {
4615 - const iLength = diffs.length;
4616 - const nContextLines = options.contextLines;
4617 - const nContextLines2 = nContextLines + nContextLines;
4618 - let jLength = iLength;
4619 - let hasExcessAtStartOrEnd = false;
4620 - let nExcessesBetweenChanges = 0;
4621 - let i = 0;
4622 - while (i !== iLength) {
4623 - const iStart = i;
4624 - while (i !== iLength && diffs[i][0] === _cleanupSemantic.DIFF_EQUAL) {
4625 - i += 1;
4626 - }
4627 - if (iStart !== i) {
4628 - if (iStart === 0) {
4629 - if (i > nContextLines) {
4630 - jLength -= i - nContextLines;
4631 - hasExcessAtStartOrEnd = true;
4632 - }
4633 - } else if (i === iLength) {
4634 - const n = i - iStart;
4635 - if (n > nContextLines) {
4636 - jLength -= n - nContextLines;
4637 - hasExcessAtStartOrEnd = true;
4638 - }
4639 - } else {
4640 - const n = i - iStart;
4641 - if (n > nContextLines2) {
4642 - jLength -= n - nContextLines2;
4643 - nExcessesBetweenChanges += 1;
4644 - }
4645 - }
4646 - }
4647 - while (i !== iLength && diffs[i][0] !== _cleanupSemantic.DIFF_EQUAL) {
4648 - i += 1;
4649 - }
4650 - }
4651 - const hasPatch = nExcessesBetweenChanges !== 0 || hasExcessAtStartOrEnd;
4652 - if (nExcessesBetweenChanges !== 0) {
4653 - jLength += nExcessesBetweenChanges + 1;
4654 - } else if (hasExcessAtStartOrEnd) {
4655 - jLength += 1;
4656 - }
4657 - const jLast = jLength - 1;
4658 - const lines = [];
4659 - let jPatchMark = 0;
4660 - if (hasPatch) {
4661 - lines.push("");
4662 - }
4663 - let aStart = 0;
4664 - let bStart = 0;
4665 - let aEnd = 0;
4666 - let bEnd = 0;
4667 - const pushCommonLine = (line) => {
4668 - const j = lines.length;
4669 - lines.push(printCommonLine(line, j === 0 || j === jLast, options));
4670 - aEnd += 1;
4671 - bEnd += 1;
4672 - };
4673 - const pushDeleteLine = (line) => {
4674 - const j = lines.length;
4675 - lines.push(printDeleteLine(line, j === 0 || j === jLast, options));
4676 - aEnd += 1;
4677 - };
4678 - const pushInsertLine = (line) => {
4679 - const j = lines.length;
4680 - lines.push(printInsertLine(line, j === 0 || j === jLast, options));
4681 - bEnd += 1;
4682 - };
4683 - i = 0;
4684 - while (i !== iLength) {
4685 - let iStart = i;
4686 - while (i !== iLength && diffs[i][0] === _cleanupSemantic.DIFF_EQUAL) {
4687 - i += 1;
4688 - }
4689 - if (iStart !== i) {
4690 - if (iStart === 0) {
4691 - if (i > nContextLines) {
4692 - iStart = i - nContextLines;
4693 - aStart = iStart;
4694 - bStart = iStart;
4695 - aEnd = aStart;
4696 - bEnd = bStart;
4697 - }
4698 - for (let iCommon = iStart; iCommon !== i; iCommon += 1) {
4699 - pushCommonLine(diffs[iCommon][1]);
4700 - }
4701 - } else if (i === iLength) {
4702 - const iEnd = i - iStart > nContextLines ? iStart + nContextLines : i;
4703 - for (let iCommon = iStart; iCommon !== iEnd; iCommon += 1) {
4704 - pushCommonLine(diffs[iCommon][1]);
4705 - }
4706 - } else {
4707 - const nCommon = i - iStart;
4708 - if (nCommon > nContextLines2) {
4709 - const iEnd = iStart + nContextLines;
4710 - for (let iCommon = iStart; iCommon !== iEnd; iCommon += 1) {
4711 - pushCommonLine(diffs[iCommon][1]);
4712 - }
4713 - lines[jPatchMark] = createPatchMark(aStart, aEnd, bStart, bEnd, options);
4714 - jPatchMark = lines.length;
4715 - lines.push("");
4716 - const nOmit = nCommon - nContextLines2;
4717 - aStart = aEnd + nOmit;
4718 - bStart = bEnd + nOmit;
4719 - aEnd = aStart;
4720 - bEnd = bStart;
4721 - for (let iCommon = i - nContextLines; iCommon !== i; iCommon += 1) {
4722 - pushCommonLine(diffs[iCommon][1]);
4723 - }
4724 - } else {
4725 - for (let iCommon = iStart; iCommon !== i; iCommon += 1) {
4726 - pushCommonLine(diffs[iCommon][1]);
4727 - }
4728 - }
4729 - }
4730 - }
4731 - while (i !== iLength && diffs[i][0] === _cleanupSemantic.DIFF_DELETE) {
4732 - pushDeleteLine(diffs[i][1]);
4733 - i += 1;
4734 - }
4735 - while (i !== iLength && diffs[i][0] === _cleanupSemantic.DIFF_INSERT) {
4736 - pushInsertLine(diffs[i][1]);
4737 - i += 1;
4738 - }
4739 - }
4740 - if (hasPatch) {
4741 - lines[jPatchMark] = createPatchMark(aStart, aEnd, bStart, bEnd, options);
4742 - }
4743 - return lines.join("\n");
4744 - };
4745 - exports3.joinAlignedDiffsNoExpand = joinAlignedDiffsNoExpand;
4746 - const joinAlignedDiffsExpand = (diffs, options) => diffs.map((diff2, i, diffs2) => {
4747 - const line = diff2[1];
4748 - const isFirstOrLast = i === 0 || i === diffs2.length - 1;
4749 - switch (diff2[0]) {
4750 - case _cleanupSemantic.DIFF_DELETE:
4751 - return printDeleteLine(line, isFirstOrLast, options);
4752 - case _cleanupSemantic.DIFF_INSERT:
4753 - return printInsertLine(line, isFirstOrLast, options);
4754 - default:
4755 - return printCommonLine(line, isFirstOrLast, options);
4756 - }
4757 - }).join("\n");
4758 - exports3.joinAlignedDiffsExpand = joinAlignedDiffsExpand;
4759 - })
4760 - ),
4761 - /***/
4762 - "./src/normalizeDiffOptions.ts": (
4763 - /***/
4764 - ((__unused_webpack_module, exports3) => {
4765 - Object.defineProperty(exports3, "__esModule", {
4766 - value: true
4767 - });
4768 - exports3.normalizeDiffOptions = exports3.noColor = void 0;
4769 - var _chalk = _interopRequireDefault(require_source());
4770 - function _interopRequireDefault(e) {
4771 - return e && e.__esModule ? e : { default: e };
4772 - }
4773 - const noColor = (string) => string;
4774 - exports3.noColor = noColor;
4775 - const DIFF_CONTEXT_DEFAULT = 5;
4776 - const OPTIONS_DEFAULT = {
4777 - aAnnotation: "Expected",
4778 - aColor: _chalk.default.green,
4779 - aIndicator: "-",
4780 - bAnnotation: "Received",
4781 - bColor: _chalk.default.red,
4782 - bIndicator: "+",
4783 - changeColor: _chalk.default.inverse,
4784 - changeLineTrailingSpaceColor: noColor,
4785 - commonColor: _chalk.default.dim,
4786 - commonIndicator: " ",
4787 - commonLineTrailingSpaceColor: noColor,
4788 - compareKeys: void 0,
4789 - contextLines: DIFF_CONTEXT_DEFAULT,
4790 - emptyFirstOrLastLinePlaceholder: "",
4791 - expand: true,
4792 - includeChangeCounts: false,
4793 - omitAnnotationLines: false,
4794 - patchColor: _chalk.default.yellow
4795 - };
4796 - const getCompareKeys = (compareKeys) => compareKeys && typeof compareKeys === "function" ? compareKeys : OPTIONS_DEFAULT.compareKeys;
4797 - const getContextLines = (contextLines) => typeof contextLines === "number" && Number.isSafeInteger(contextLines) && contextLines >= 0 ? contextLines : DIFF_CONTEXT_DEFAULT;
4798 - const normalizeDiffOptions = (options = {}) => ({
4799 - ...OPTIONS_DEFAULT,
4800 - ...options,
4801 - compareKeys: getCompareKeys(options.compareKeys),
4802 - contextLines: getContextLines(options.contextLines)
4803 - });
4804 - exports3.normalizeDiffOptions = normalizeDiffOptions;
4805 - })
4806 - ),
4807 - /***/
4808 - "./src/printDiffs.ts": (
4809 - /***/
4810 - ((__unused_webpack_module, exports3, __webpack_require__2) => {
4811 - Object.defineProperty(exports3, "__esModule", {
4812 - value: true
4813 - });
4814 - exports3.diffStringsUnified = exports3.diffStringsRaw = void 0;
4815 - var _cleanupSemantic = __webpack_require__2("./src/cleanupSemantic.ts");
4816 - var _diffLines = __webpack_require__2("./src/diffLines.ts");
4817 - var _diffStrings = _interopRequireDefault(__webpack_require__2("./src/diffStrings.ts"));
4818 - var _getAlignedDiffs = _interopRequireDefault(__webpack_require__2("./src/getAlignedDiffs.ts"));
4819 - var _normalizeDiffOptions = __webpack_require__2("./src/normalizeDiffOptions.ts");
4820 - function _interopRequireDefault(e) {
4821 - return e && e.__esModule ? e : { default: e };
4822 - }
4823 - const hasCommonDiff = (diffs, isMultiline) => {
4824 - if (isMultiline) {
4825 - const iLast = diffs.length - 1;
4826 - return diffs.some((diff2, i) => diff2[0] === _cleanupSemantic.DIFF_EQUAL && (i !== iLast || diff2[1] !== "\n"));
4827 - }
4828 - return diffs.some((diff2) => diff2[0] === _cleanupSemantic.DIFF_EQUAL);
4829 - };
4830 - const diffStringsUnified = (a, b, options) => {
4831 - if (a !== b && a.length > 0 && b.length > 0) {
4832 - const isMultiline = a.includes("\n") || b.includes("\n");
4833 - const diffs = diffStringsRaw(
4834 - isMultiline ? `${a}
4835 -` : a,
4836 - isMultiline ? `${b}
4837 -` : b,
4838 - true
4839 - // cleanupSemantic
4840 - );
4841 - if (hasCommonDiff(diffs, isMultiline)) {
4842 - const optionsNormalized = (0, _normalizeDiffOptions.normalizeDiffOptions)(options);
4843 - const lines = (0, _getAlignedDiffs.default)(diffs, optionsNormalized.changeColor);
4844 - return (0, _diffLines.printDiffLines)(lines, optionsNormalized);
4845 - }
4846 - }
4847 - return (0, _diffLines.diffLinesUnified)(a.split("\n"), b.split("\n"), options);
4848 - };
4849 - exports3.diffStringsUnified = diffStringsUnified;
4850 - const diffStringsRaw = (a, b, cleanup) => {
4851 - const diffs = (0, _diffStrings.default)(a, b);
4852 - if (cleanup) {
4853 - (0, _cleanupSemantic.cleanupSemantic)(diffs);
4854 - }
4855 - return diffs;
4856 - };
4857 - exports3.diffStringsRaw = diffStringsRaw;
4858 - })
4859 - )
4860 - /******/
4861 - };
4862 - var __webpack_module_cache__ = {};
4863 - function __webpack_require__(moduleId) {
4864 - var cachedModule = __webpack_module_cache__[moduleId];
4865 - if (cachedModule !== void 0) {
4866 - return cachedModule.exports;
4867 - }
4868 - var module3 = __webpack_module_cache__[moduleId] = {
4869 - /******/
4870 - // no module.id needed
4871 - /******/
4872 - // no module.loaded needed
4873 - /******/
4874 - exports: {}
4875 - /******/
4876 - };
4877 - __webpack_modules__[moduleId](module3, module3.exports, __webpack_require__);
4878 - return module3.exports;
4879 - }
4880 - var __webpack_exports__ = {};
4881 - (() => {
4882 - var exports3 = __webpack_exports__;
4883 - Object.defineProperty(exports3, "__esModule", {
4884 - value: true
4885 - });
4886 - Object.defineProperty(exports3, "DIFF_DELETE", {
4887 - enumerable: true,
4888 - get: function() {
4889 - return _cleanupSemantic.DIFF_DELETE;
4890 - }
4891 - });
4892 - Object.defineProperty(exports3, "DIFF_EQUAL", {
4893 - enumerable: true,
4894 - get: function() {
4895 - return _cleanupSemantic.DIFF_EQUAL;
4896 - }
4897 - });
4898 - Object.defineProperty(exports3, "DIFF_INSERT", {
4899 - enumerable: true,
4900 - get: function() {
4901 - return _cleanupSemantic.DIFF_INSERT;
4902 - }
4903 - });
4904 - Object.defineProperty(exports3, "Diff", {
4905 - enumerable: true,
4906 - get: function() {
4907 - return _cleanupSemantic.Diff;
4908 - }
4909 - });
4910 - exports3.diff = diff2;
4911 - Object.defineProperty(exports3, "diffLinesRaw", {
4912 - enumerable: true,
4913 - get: function() {
4914 - return _diffLines.diffLinesRaw;
4915 - }
4916 - });
4917 - Object.defineProperty(exports3, "diffLinesUnified", {
4918 - enumerable: true,
4919 - get: function() {
4920 - return _diffLines.diffLinesUnified;
4921 - }
4922 - });
4923 - Object.defineProperty(exports3, "diffLinesUnified2", {
4924 - enumerable: true,
4925 - get: function() {
4926 - return _diffLines.diffLinesUnified2;
4927 - }
4928 - });
4929 - Object.defineProperty(exports3, "diffStringsRaw", {
4930 - enumerable: true,
4931 - get: function() {
4932 - return _printDiffs.diffStringsRaw;
4933 - }
4934 - });
4935 - Object.defineProperty(exports3, "diffStringsUnified", {
4936 - enumerable: true,
4937 - get: function() {
4938 - return _printDiffs.diffStringsUnified;
4939 - }
4940 - });
4941 - var _chalk = _interopRequireDefault(require_source());
4942 - var _getType = require_build();
4943 - var _prettyFormat = require_build3();
4944 - var _cleanupSemantic = __webpack_require__("./src/cleanupSemantic.ts");
4945 - var _constants = __webpack_require__("./src/constants.ts");
4946 - var _diffLines = __webpack_require__("./src/diffLines.ts");
4947 - var _escapeControlCharacters = __webpack_require__("./src/escapeControlCharacters.ts");
4948 - var _normalizeDiffOptions = __webpack_require__("./src/normalizeDiffOptions.ts");
4949 - var _printDiffs = __webpack_require__("./src/printDiffs.ts");
4950 - function _interopRequireDefault(e) {
4951 - return e && e.__esModule ? e : { default: e };
4952 - }
4953 - var src_Symbol = globalThis["jest-symbol-do-not-touch"] || globalThis.Symbol;
4954 - const getCommonMessage = (message, options) => {
4955 - const {
4956 - commonColor
4957 - } = (0, _normalizeDiffOptions.normalizeDiffOptions)(options);
4958 - return commonColor(message);
4959 - };
4960 - const {
4961 - AsymmetricMatcher: AsymmetricMatcher2,
4962 - DOMCollection,
4963 - DOMElement,
4964 - Immutable,
4965 - ReactElement,
4966 - ReactTestComponent
4967 - } = _prettyFormat.plugins;
4968 - const PLUGINS = [ReactTestComponent, ReactElement, DOMElement, DOMCollection, Immutable, AsymmetricMatcher2];
4969 - const FORMAT_OPTIONS = {
4970 - plugins: PLUGINS
4971 - };
4972 - const FALLBACK_FORMAT_OPTIONS = {
4973 - callToJSON: false,
4974 - maxDepth: 10,
4975 - plugins: PLUGINS
4976 - };
4977 - function diff2(a, b, options) {
4978 - if (Object.is(a, b)) {
4979 - return getCommonMessage(_constants.NO_DIFF_MESSAGE, options);
4980 - }
4981 - const aType = (0, _getType.getType)(a);
4982 - let expectedType = aType;
4983 - let omitDifference = false;
4984 - if (aType === "object" && typeof a.asymmetricMatch === "function") {
4985 - if (a.$$typeof !== src_Symbol.for("jest.asymmetricMatcher")) {
4986 - return null;
4987 - }
4988 - if (typeof a.getExpectedType !== "function") {
4989 - return null;
4990 - }
4991 - expectedType = a.getExpectedType();
4992 - omitDifference = expectedType === "string";
4993 - }
4994 - if (expectedType !== (0, _getType.getType)(b)) {
4995 - return ` Comparing two different types of values. Expected ${_chalk.default.green(expectedType)} but received ${_chalk.default.red((0, _getType.getType)(b))}.`;
4996 - }
4997 - if (omitDifference) {
4998 - return null;
4999 - }

This file is too large to show in full.

node_modules/playwright/lib/matchers/expect.js.LICENSE deleted
-693
@@ -1,693 +0,0 @@
1 -packages/playwright/lib/matchers/expect.js
2 -
3 -THIRD-PARTY SOFTWARE NOTICES AND INFORMATION
4 -
5 -The following npm packages are inlined into this bundle.
6 -
7 -- @babel/code-frame@7.29.0 (https://github.com/babel/babel)
8 -- @babel/helper-validator-identifier@7.28.5 (https://github.com/babel/babel)
9 -- @jest/diff-sequences@30.0.1 (https://github.com/jestjs/jest)
10 -- @jest/expect-utils@30.2.0 (https://github.com/jestjs/jest)
11 -- @jest/get-type@30.1.0 (https://github.com/jestjs/jest)
12 -- ansi-styles@4.3.0 (https://github.com/chalk/ansi-styles)
13 -- ansi-styles@5.2.0 (https://github.com/chalk/ansi-styles)
14 -- braces@3.0.3 (https://github.com/micromatch/braces)
15 -- chalk@4.1.2 (https://github.com/chalk/chalk)
16 -- color-convert@2.0.1 (https://github.com/Qix-/color-convert)
17 -- color-name@1.1.4 (https://github.com/colorjs/color-name)
18 -- escape-string-regexp@2.0.0 (https://github.com/sindresorhus/escape-string-regexp)
19 -- fill-range@7.1.1 (https://github.com/jonschlinkert/fill-range)
20 -- graceful-fs@4.2.11 (https://github.com/isaacs/node-graceful-fs)
21 -- has-flag@4.0.0 (https://github.com/sindresorhus/has-flag)
22 -- is-number@7.0.0 (https://github.com/jonschlinkert/is-number)
23 -- jest-diff@30.2.0 (https://github.com/jestjs/jest)
24 -- jest-matcher-utils@30.2.0 (https://github.com/jestjs/jest)
25 -- jest-message-util@30.2.0 (https://github.com/jestjs/jest)
26 -- js-tokens@4.0.0 (https://github.com/lydell/js-tokens)
27 -- micromatch@4.0.8 (https://github.com/micromatch/micromatch)
28 -- picocolors@1.1.1 (https://github.com/alexeyraspopov/picocolors)
29 -- picomatch@2.3.2 (https://github.com/micromatch/picomatch)
30 -- pretty-format@30.2.0 (https://github.com/jestjs/jest)
31 -- react-is@18.3.1 (https://github.com/facebook/react)
32 -- slash@3.0.0 (https://github.com/sindresorhus/slash)
33 -- stack-utils@2.0.6 (https://github.com/tapjs/stack-utils)
34 -- supports-color@7.2.0 (https://github.com/chalk/supports-color)
35 -- to-regex-range@5.0.1 (https://github.com/micromatch/to-regex-range)
36 -
37 -%% @babel/code-frame@7.29.0 NOTICES AND INFORMATION BEGIN HERE
38 -=========================================
39 -MIT License
40 -
41 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
42 -
43 -Permission is hereby granted, free of charge, to any person obtaining
44 -a copy of this software and associated documentation files (the
45 -"Software"), to deal in the Software without restriction, including
46 -without limitation the rights to use, copy, modify, merge, publish,
47 -distribute, sublicense, and/or sell copies of the Software, and to
48 -permit persons to whom the Software is furnished to do so, subject to
49 -the following conditions:
50 -
51 -The above copyright notice and this permission notice shall be
52 -included in all copies or substantial portions of the Software.
53 -
54 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
55 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
56 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
57 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
58 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
59 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
60 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
61 -=========================================
62 -END OF @babel/code-frame@7.29.0 NOTICES AND INFORMATION
63 -
64 -%% @babel/helper-validator-identifier@7.28.5 NOTICES AND INFORMATION BEGIN HERE
65 -=========================================
66 -MIT License
67 -
68 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
69 -
70 -Permission is hereby granted, free of charge, to any person obtaining
71 -a copy of this software and associated documentation files (the
72 -"Software"), to deal in the Software without restriction, including
73 -without limitation the rights to use, copy, modify, merge, publish,
74 -distribute, sublicense, and/or sell copies of the Software, and to
75 -permit persons to whom the Software is furnished to do so, subject to
76 -the following conditions:
77 -
78 -The above copyright notice and this permission notice shall be
79 -included in all copies or substantial portions of the Software.
80 -
81 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
82 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
83 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
84 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
85 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
86 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
87 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
88 -=========================================
89 -END OF @babel/helper-validator-identifier@7.28.5 NOTICES AND INFORMATION
90 -
91 -%% @jest/diff-sequences@30.0.1 NOTICES AND INFORMATION BEGIN HERE
92 -=========================================
93 -MIT License
94 -
95 -Copyright (c) Meta Platforms, Inc. and affiliates.
96 -Copyright Contributors to the Jest project.
97 -
98 -Permission is hereby granted, free of charge, to any person obtaining a copy
99 -of this software and associated documentation files (the "Software"), to deal
100 -in the Software without restriction, including without limitation the rights
101 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
102 -copies of the Software, and to permit persons to whom the Software is
103 -furnished to do so, subject to the following conditions:
104 -
105 -The above copyright notice and this permission notice shall be included in all
106 -copies or substantial portions of the Software.
107 -
108 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
109 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
110 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
111 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
112 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
113 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
114 -SOFTWARE.
115 -=========================================
116 -END OF @jest/diff-sequences@30.0.1 NOTICES AND INFORMATION
117 -
118 -%% @jest/expect-utils@30.2.0 NOTICES AND INFORMATION BEGIN HERE
119 -=========================================
120 -MIT License
121 -
122 -Copyright (c) Meta Platforms, Inc. and affiliates.
123 -Copyright Contributors to the Jest project.
124 -
125 -Permission is hereby granted, free of charge, to any person obtaining a copy
126 -of this software and associated documentation files (the "Software"), to deal
127 -in the Software without restriction, including without limitation the rights
128 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
129 -copies of the Software, and to permit persons to whom the Software is
130 -furnished to do so, subject to the following conditions:
131 -
132 -The above copyright notice and this permission notice shall be included in all
133 -copies or substantial portions of the Software.
134 -
135 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
136 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
137 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
138 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
139 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
140 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
141 -SOFTWARE.
142 -=========================================
143 -END OF @jest/expect-utils@30.2.0 NOTICES AND INFORMATION
144 -
145 -%% @jest/get-type@30.1.0 NOTICES AND INFORMATION BEGIN HERE
146 -=========================================
147 -MIT License
148 -
149 -Copyright (c) Meta Platforms, Inc. and affiliates.
150 -Copyright Contributors to the Jest project.
151 -
152 -Permission is hereby granted, free of charge, to any person obtaining a copy
153 -of this software and associated documentation files (the "Software"), to deal
154 -in the Software without restriction, including without limitation the rights
155 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
156 -copies of the Software, and to permit persons to whom the Software is
157 -furnished to do so, subject to the following conditions:
158 -
159 -The above copyright notice and this permission notice shall be included in all
160 -copies or substantial portions of the Software.
161 -
162 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
163 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
164 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
165 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
166 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
167 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
168 -SOFTWARE.
169 -=========================================
170 -END OF @jest/get-type@30.1.0 NOTICES AND INFORMATION
171 -
172 -%% ansi-styles@4.3.0 NOTICES AND INFORMATION BEGIN HERE
173 -=========================================
174 -MIT License
175 -
176 -Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
177 -
178 -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
179 -
180 -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
181 -
182 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
183 -=========================================
184 -END OF ansi-styles@4.3.0 NOTICES AND INFORMATION
185 -
186 -%% ansi-styles@5.2.0 NOTICES AND INFORMATION BEGIN HERE
187 -=========================================
188 -MIT License
189 -
190 -Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
191 -
192 -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
193 -
194 -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
195 -
196 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
197 -=========================================
198 -END OF ansi-styles@5.2.0 NOTICES AND INFORMATION
199 -
200 -%% braces@3.0.3 NOTICES AND INFORMATION BEGIN HERE
201 -=========================================
202 -The MIT License (MIT)
203 -
204 -Copyright (c) 2014-present, Jon Schlinkert.
205 -
206 -Permission is hereby granted, free of charge, to any person obtaining a copy
207 -of this software and associated documentation files (the "Software"), to deal
208 -in the Software without restriction, including without limitation the rights
209 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
210 -copies of the Software, and to permit persons to whom the Software is
211 -furnished to do so, subject to the following conditions:
212 -
213 -The above copyright notice and this permission notice shall be included in
214 -all copies or substantial portions of the Software.
215 -
216 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
217 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
218 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
219 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
220 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
221 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
222 -THE SOFTWARE.
223 -=========================================
224 -END OF braces@3.0.3 NOTICES AND INFORMATION
225 -
226 -%% chalk@4.1.2 NOTICES AND INFORMATION BEGIN HERE
227 -=========================================
228 -MIT License
229 -
230 -Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
231 -
232 -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
233 -
234 -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
235 -
236 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
237 -=========================================
238 -END OF chalk@4.1.2 NOTICES AND INFORMATION
239 -
240 -%% color-convert@2.0.1 NOTICES AND INFORMATION BEGIN HERE
241 -=========================================
242 -Copyright (c) 2011-2016 Heather Arthur <fayearthur@gmail.com>
243 -
244 -Permission is hereby granted, free of charge, to any person obtaining
245 -a copy of this software and associated documentation files (the
246 -"Software"), to deal in the Software without restriction, including
247 -without limitation the rights to use, copy, modify, merge, publish,
248 -distribute, sublicense, and/or sell copies of the Software, and to
249 -permit persons to whom the Software is furnished to do so, subject to
250 -the following conditions:
251 -
252 -The above copyright notice and this permission notice shall be
253 -included in all copies or substantial portions of the Software.
254 -
255 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
256 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
257 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
258 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
259 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
260 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
261 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
262 -=========================================
263 -END OF color-convert@2.0.1 NOTICES AND INFORMATION
264 -
265 -%% color-name@1.1.4 NOTICES AND INFORMATION BEGIN HERE
266 -=========================================
267 -The MIT License (MIT)
268 -Copyright (c) 2015 Dmitry Ivanov
269 -
270 -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
271 -
272 -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
273 -
274 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
275 -=========================================
276 -END OF color-name@1.1.4 NOTICES AND INFORMATION
277 -
278 -%% escape-string-regexp@2.0.0 NOTICES AND INFORMATION BEGIN HERE
279 -=========================================
280 -MIT License
281 -
282 -Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
283 -
284 -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
285 -
286 -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
287 -
288 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
289 -=========================================
290 -END OF escape-string-regexp@2.0.0 NOTICES AND INFORMATION
291 -
292 -%% fill-range@7.1.1 NOTICES AND INFORMATION BEGIN HERE
293 -=========================================
294 -The MIT License (MIT)
295 -
296 -Copyright (c) 2014-present, Jon Schlinkert.
297 -
298 -Permission is hereby granted, free of charge, to any person obtaining a copy
299 -of this software and associated documentation files (the "Software"), to deal
300 -in the Software without restriction, including without limitation the rights
301 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
302 -copies of the Software, and to permit persons to whom the Software is
303 -furnished to do so, subject to the following conditions:
304 -
305 -The above copyright notice and this permission notice shall be included in
306 -all copies or substantial portions of the Software.
307 -
308 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
309 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
310 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
311 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
312 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
313 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
314 -THE SOFTWARE.
315 -=========================================
316 -END OF fill-range@7.1.1 NOTICES AND INFORMATION
317 -
318 -%% graceful-fs@4.2.11 NOTICES AND INFORMATION BEGIN HERE
319 -=========================================
320 -The ISC License
321 -
322 -Copyright (c) 2011-2022 Isaac Z. Schlueter, Ben Noordhuis, and Contributors
323 -
324 -Permission to use, copy, modify, and/or distribute this software for any
325 -purpose with or without fee is hereby granted, provided that the above
326 -copyright notice and this permission notice appear in all copies.
327 -
328 -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
329 -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
330 -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
331 -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
332 -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
333 -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
334 -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
335 -=========================================
336 -END OF graceful-fs@4.2.11 NOTICES AND INFORMATION
337 -
338 -%% has-flag@4.0.0 NOTICES AND INFORMATION BEGIN HERE
339 -=========================================
340 -MIT License
341 -
342 -Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
343 -
344 -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
345 -
346 -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
347 -
348 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
349 -=========================================
350 -END OF has-flag@4.0.0 NOTICES AND INFORMATION
351 -
352 -%% is-number@7.0.0 NOTICES AND INFORMATION BEGIN HERE
353 -=========================================
354 -The MIT License (MIT)
355 -
356 -Copyright (c) 2014-present, Jon Schlinkert.
357 -
358 -Permission is hereby granted, free of charge, to any person obtaining a copy
359 -of this software and associated documentation files (the "Software"), to deal
360 -in the Software without restriction, including without limitation the rights
361 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
362 -copies of the Software, and to permit persons to whom the Software is
363 -furnished to do so, subject to the following conditions:
364 -
365 -The above copyright notice and this permission notice shall be included in
366 -all copies or substantial portions of the Software.
367 -
368 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
369 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
370 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
371 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
372 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
373 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
374 -THE SOFTWARE.
375 -=========================================
376 -END OF is-number@7.0.0 NOTICES AND INFORMATION
377 -
378 -%% jest-diff@30.2.0 NOTICES AND INFORMATION BEGIN HERE
379 -=========================================
380 -MIT License
381 -
382 -Copyright (c) Meta Platforms, Inc. and affiliates.
383 -Copyright Contributors to the Jest project.
384 -
385 -Permission is hereby granted, free of charge, to any person obtaining a copy
386 -of this software and associated documentation files (the "Software"), to deal
387 -in the Software without restriction, including without limitation the rights
388 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
389 -copies of the Software, and to permit persons to whom the Software is
390 -furnished to do so, subject to the following conditions:
391 -
392 -The above copyright notice and this permission notice shall be included in all
393 -copies or substantial portions of the Software.
394 -
395 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
396 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
397 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
398 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
399 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
400 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
401 -SOFTWARE.
402 -=========================================
403 -END OF jest-diff@30.2.0 NOTICES AND INFORMATION
404 -
405 -%% jest-matcher-utils@30.2.0 NOTICES AND INFORMATION BEGIN HERE
406 -=========================================
407 -MIT License
408 -
409 -Copyright (c) Meta Platforms, Inc. and affiliates.
410 -Copyright Contributors to the Jest project.
411 -
412 -Permission is hereby granted, free of charge, to any person obtaining a copy
413 -of this software and associated documentation files (the "Software"), to deal
414 -in the Software without restriction, including without limitation the rights
415 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
416 -copies of the Software, and to permit persons to whom the Software is
417 -furnished to do so, subject to the following conditions:
418 -
419 -The above copyright notice and this permission notice shall be included in all
420 -copies or substantial portions of the Software.
421 -
422 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
423 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
424 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
425 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
426 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
427 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
428 -SOFTWARE.
429 -=========================================
430 -END OF jest-matcher-utils@30.2.0 NOTICES AND INFORMATION
431 -
432 -%% jest-message-util@30.2.0 NOTICES AND INFORMATION BEGIN HERE
433 -=========================================
434 -MIT License
435 -
436 -Copyright (c) Meta Platforms, Inc. and affiliates.
437 -Copyright Contributors to the Jest project.
438 -
439 -Permission is hereby granted, free of charge, to any person obtaining a copy
440 -of this software and associated documentation files (the "Software"), to deal
441 -in the Software without restriction, including without limitation the rights
442 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
443 -copies of the Software, and to permit persons to whom the Software is
444 -furnished to do so, subject to the following conditions:
445 -
446 -The above copyright notice and this permission notice shall be included in all
447 -copies or substantial portions of the Software.
448 -
449 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
450 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
451 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
452 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
453 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
454 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
455 -SOFTWARE.
456 -=========================================
457 -END OF jest-message-util@30.2.0 NOTICES AND INFORMATION
458 -
459 -%% js-tokens@4.0.0 NOTICES AND INFORMATION BEGIN HERE
460 -=========================================
461 -The MIT License (MIT)
462 -
463 -Copyright (c) 2014, 2015, 2016, 2017, 2018 Simon Lydell
464 -
465 -Permission is hereby granted, free of charge, to any person obtaining a copy
466 -of this software and associated documentation files (the "Software"), to deal
467 -in the Software without restriction, including without limitation the rights
468 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
469 -copies of the Software, and to permit persons to whom the Software is
470 -furnished to do so, subject to the following conditions:
471 -
472 -The above copyright notice and this permission notice shall be included in
473 -all copies or substantial portions of the Software.
474 -
475 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
476 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
477 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
478 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
479 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
480 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
481 -THE SOFTWARE.
482 -=========================================
483 -END OF js-tokens@4.0.0 NOTICES AND INFORMATION
484 -
485 -%% micromatch@4.0.8 NOTICES AND INFORMATION BEGIN HERE
486 -=========================================
487 -The MIT License (MIT)
488 -
489 -Copyright (c) 2014-present, Jon Schlinkert.
490 -
491 -Permission is hereby granted, free of charge, to any person obtaining a copy
492 -of this software and associated documentation files (the "Software"), to deal
493 -in the Software without restriction, including without limitation the rights
494 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
495 -copies of the Software, and to permit persons to whom the Software is
496 -furnished to do so, subject to the following conditions:
497 -
498 -The above copyright notice and this permission notice shall be included in
499 -all copies or substantial portions of the Software.
500 -
501 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
502 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
503 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
504 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
505 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
506 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
507 -THE SOFTWARE.
508 -=========================================
509 -END OF micromatch@4.0.8 NOTICES AND INFORMATION
510 -
511 -%% picocolors@1.1.1 NOTICES AND INFORMATION BEGIN HERE
512 -=========================================
513 -ISC License
514 -
515 -Copyright (c) 2021-2024 Oleksii Raspopov, Kostiantyn Denysov, Anton Verinov
516 -
517 -Permission to use, copy, modify, and/or distribute this software for any
518 -purpose with or without fee is hereby granted, provided that the above
519 -copyright notice and this permission notice appear in all copies.
520 -
521 -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
522 -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
523 -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
524 -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
525 -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
526 -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
527 -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
528 -=========================================
529 -END OF picocolors@1.1.1 NOTICES AND INFORMATION
530 -
531 -%% picomatch@2.3.2 NOTICES AND INFORMATION BEGIN HERE
532 -=========================================
533 -The MIT License (MIT)
534 -
535 -Copyright (c) 2017-present, Jon Schlinkert.
536 -
537 -Permission is hereby granted, free of charge, to any person obtaining a copy
538 -of this software and associated documentation files (the "Software"), to deal
539 -in the Software without restriction, including without limitation the rights
540 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
541 -copies of the Software, and to permit persons to whom the Software is
542 -furnished to do so, subject to the following conditions:
543 -
544 -The above copyright notice and this permission notice shall be included in
545 -all copies or substantial portions of the Software.
546 -
547 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
548 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
549 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
550 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
551 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
552 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
553 -THE SOFTWARE.
554 -=========================================
555 -END OF picomatch@2.3.2 NOTICES AND INFORMATION
556 -
557 -%% pretty-format@30.2.0 NOTICES AND INFORMATION BEGIN HERE
558 -=========================================
559 -MIT License
560 -
561 -Copyright (c) Meta Platforms, Inc. and affiliates.
562 -Copyright Contributors to the Jest project.
563 -
564 -Permission is hereby granted, free of charge, to any person obtaining a copy
565 -of this software and associated documentation files (the "Software"), to deal
566 -in the Software without restriction, including without limitation the rights
567 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
568 -copies of the Software, and to permit persons to whom the Software is
569 -furnished to do so, subject to the following conditions:
570 -
571 -The above copyright notice and this permission notice shall be included in all
572 -copies or substantial portions of the Software.
573 -
574 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
575 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
576 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
577 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
578 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
579 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
580 -SOFTWARE.
581 -=========================================
582 -END OF pretty-format@30.2.0 NOTICES AND INFORMATION
583 -
584 -%% react-is@18.3.1 NOTICES AND INFORMATION BEGIN HERE
585 -=========================================
586 -MIT License
587 -
588 -Copyright (c) Facebook, Inc. and its affiliates.
589 -
590 -Permission is hereby granted, free of charge, to any person obtaining a copy
591 -of this software and associated documentation files (the "Software"), to deal
592 -in the Software without restriction, including without limitation the rights
593 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
594 -copies of the Software, and to permit persons to whom the Software is
595 -furnished to do so, subject to the following conditions:
596 -
597 -The above copyright notice and this permission notice shall be included in all
598 -copies or substantial portions of the Software.
599 -
600 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
601 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
602 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
603 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
604 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
605 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
606 -SOFTWARE.
607 -=========================================
608 -END OF react-is@18.3.1 NOTICES AND INFORMATION
609 -
610 -%% slash@3.0.0 NOTICES AND INFORMATION BEGIN HERE
611 -=========================================
612 -MIT License
613 -
614 -Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
615 -
616 -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
617 -
618 -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
619 -
620 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
621 -=========================================
622 -END OF slash@3.0.0 NOTICES AND INFORMATION
623 -
624 -%% stack-utils@2.0.6 NOTICES AND INFORMATION BEGIN HERE
625 -=========================================
626 -The MIT License (MIT)
627 -
628 -Copyright (c) 2016-2022 Isaac Z. Schlueter <i@izs.me>, James Talmage <james@talmage.io> (github.com/jamestalmage), and Contributors
629 -
630 -Permission is hereby granted, free of charge, to any person obtaining a copy
631 -of this software and associated documentation files (the "Software"), to deal
632 -in the Software without restriction, including without limitation the rights
633 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
634 -copies of the Software, and to permit persons to whom the Software is
635 -furnished to do so, subject to the following conditions:
636 -
637 -The above copyright notice and this permission notice shall be included in
638 -all copies or substantial portions of the Software.
639 -
640 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
641 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
642 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
643 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
644 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
645 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
646 -THE SOFTWARE.
647 -=========================================
648 -END OF stack-utils@2.0.6 NOTICES AND INFORMATION
649 -
650 -%% supports-color@7.2.0 NOTICES AND INFORMATION BEGIN HERE
651 -=========================================
652 -MIT License
653 -
654 -Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
655 -
656 -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
657 -
658 -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
659 -
660 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
661 -=========================================
662 -END OF supports-color@7.2.0 NOTICES AND INFORMATION
663 -
664 -%% to-regex-range@5.0.1 NOTICES AND INFORMATION BEGIN HERE
665 -=========================================
666 -The MIT License (MIT)
667 -
668 -Copyright (c) 2015-present, Jon Schlinkert.
669 -
670 -Permission is hereby granted, free of charge, to any person obtaining a copy
671 -of this software and associated documentation files (the "Software"), to deal
672 -in the Software without restriction, including without limitation the rights
673 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
674 -copies of the Software, and to permit persons to whom the Software is
675 -furnished to do so, subject to the following conditions:
676 -
677 -The above copyright notice and this permission notice shall be included in
678 -all copies or substantial portions of the Software.
679 -
680 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
681 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
682 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
683 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
684 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
685 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
686 -THE SOFTWARE.
687 -=========================================
688 -END OF to-regex-range@5.0.1 NOTICES AND INFORMATION
689 -
690 -SUMMARY
691 -=========================================
692 -Total Packages: 29
693 -=========================================
\ No newline at end of file
node_modules/playwright/lib/matchers/expect.js.txt deleted
-72
@@ -1,72 +0,0 @@
1 -# packages/playwright/lib/matchers/expect.js
2 -# total: 513.7 KB
3 -
4 -## Inlined (64)
5 - 7.9 KB node_modules/@babel/code-frame/lib/index.js
6 - 12.6 KB node_modules/@babel/helper-validator-identifier/lib/identifier.js
7 - 1.6 KB node_modules/@babel/helper-validator-identifier/lib/index.js
8 - 1.7 KB node_modules/@babel/helper-validator-identifier/lib/keyword.js
9 - 15.9 KB node_modules/@jest/diff-sequences/build/index.js
10 - 24.9 KB node_modules/@jest/expect-utils/build/index.js
11 - 0.8 KB node_modules/@jest/expect-utils/build/index.mjs
12 - 1.8 KB node_modules/@jest/get-type/build/index.js
13 - 4.8 KB node_modules/ansi-styles/index.js
14 - 1.9 KB node_modules/braces/index.js
15 - 1.7 KB node_modules/braces/lib/compile.js
16 - 2.1 KB node_modules/braces/lib/constants.js
17 - 3.1 KB node_modules/braces/lib/expand.js
18 - 7.0 KB node_modules/braces/lib/parse.js
19 - 0.9 KB node_modules/braces/lib/stringify.js
20 - 2.4 KB node_modules/braces/lib/utils.js
21 - 3.1 KB node_modules/chalk/node_modules/supports-color/index.js
22 - 5.8 KB node_modules/chalk/source/index.js
23 - 3.9 KB node_modules/chalk/source/templates.js
24 - 1.3 KB node_modules/chalk/source/util.js
25 - 18.7 KB node_modules/color-convert/conversions.js
26 - 1.8 KB node_modules/color-convert/index.js
27 - 2.1 KB node_modules/color-convert/route.js
28 - 5.2 KB node_modules/color-name/index.js
29 - 6.8 KB node_modules/fill-range/index.js
30 - 0.4 KB node_modules/has-flag/index.js
31 - 0.4 KB node_modules/is-number/index.js
32 - 53.2 KB node_modules/jest-diff/build/index.js
33 - 25.2 KB node_modules/jest-matcher-utils/build/index.js
34 - 2.7 KB node_modules/jest-matcher-utils/build/index.mjs
35 - 15.3 KB node_modules/jest-message-util/build/index.js
36 - 0.5 KB node_modules/jest-message-util/build/index.mjs
37 - 0.7 KB node_modules/jest-message-util/node_modules/graceful-fs/clone.js
38 - 12.2 KB node_modules/jest-message-util/node_modules/graceful-fs/graceful-fs.js
39 - 3.0 KB node_modules/jest-message-util/node_modules/graceful-fs/legacy-streams.js
40 - 9.3 KB node_modules/jest-message-util/node_modules/graceful-fs/polyfills.js
41 - 1.4 KB node_modules/js-tokens/index.js
42 - 5.8 KB node_modules/micromatch/index.js
43 - 0.2 KB node_modules/micromatch/node_modules/picomatch/index.js
44 - 5.3 KB node_modules/micromatch/node_modules/picomatch/lib/constants.js
45 - 33.9 KB node_modules/micromatch/node_modules/picomatch/lib/parse.js
46 - 5.3 KB node_modules/micromatch/node_modules/picomatch/lib/picomatch.js
47 - 9.6 KB node_modules/micromatch/node_modules/picomatch/lib/scan.js
48 - 2.2 KB node_modules/micromatch/node_modules/picomatch/lib/utils.js
49 - 3.1 KB node_modules/picocolors/picocolors.js
50 - 42.7 KB node_modules/pretty-format/build/index.js
51 - 4.4 KB node_modules/pretty-format/node_modules/ansi-styles/index.js
52 - 7.7 KB node_modules/pretty-format/node_modules/react-is/cjs/react-is.development.js
53 - 3.3 KB node_modules/pretty-format/node_modules/react-is/cjs/react-is.production.min.js
54 - 0.3 KB node_modules/pretty-format/node_modules/react-is/index.js
55 - 0.4 KB node_modules/slash/index.js
56 - 7.6 KB node_modules/stack-utils/index.js
57 - 0.4 KB node_modules/stack-utils/node_modules/escape-string-regexp/index.js
58 - 6.8 KB node_modules/to-regex-range/index.js
59 - 10.3 KB packages/playwright/src/matchers/expect.ts
60 - 45.2 KB packages/playwright/src/matchers/expectLibrary.ts
61 - 3.3 KB packages/playwright/src/matchers/matcherHint.ts
62 - 16.0 KB packages/playwright/src/matchers/matchers.ts
63 - 1.3 KB packages/playwright/src/matchers/toBeTruthy.ts
64 - 2.1 KB packages/playwright/src/matchers/toEqual.ts
65 - 2.4 KB packages/playwright/src/matchers/toHaveURL.ts
66 - 5.6 KB packages/playwright/src/matchers/toMatchAriaSnapshot.ts
67 - 15.1 KB packages/playwright/src/matchers/toMatchSnapshot.ts
68 - 3.0 KB packages/playwright/src/matchers/toMatchText.ts
69 -
70 -## External (2)
71 - playwright-core/lib/coreBundle
72 - playwright-core/lib/utilsBundle
node_modules/playwright/lib/mcp/test/browserBackend.js deleted
-125
@@ -1,125 +0,0 @@
1 -"use strict";
2 -var __create = Object.create;
3 -var __defProp = Object.defineProperty;
4 -var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5 -var __getOwnPropNames = Object.getOwnPropertyNames;
6 -var __getProtoOf = Object.getPrototypeOf;
7 -var __hasOwnProp = Object.prototype.hasOwnProperty;
8 -var __export = (target, all) => {
9 - for (var name in all)
10 - __defProp(target, name, { get: all[name], enumerable: true });
11 -};
12 -var __copyProps = (to, from, except, desc) => {
13 - if (from && typeof from === "object" || typeof from === "function") {
14 - for (let key of __getOwnPropNames(from))
15 - if (!__hasOwnProp.call(to, key) && key !== except)
16 - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17 - }
18 - return to;
19 -};
20 -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21 - // If the importer is in node compatibility mode or this is not an ESM
22 - // file that has been converted to a CommonJS file using a Babel-
23 - // compatible transform (i.e. "__esModule" has not been set), then set
24 - // "default" to the CommonJS "module.exports" for node compatibility.
25 - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26 - mod
27 -));
28 -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29 -var browserBackend_exports = {};
30 -__export(browserBackend_exports, {
31 - createCustomMessageHandler: () => createCustomMessageHandler,
32 - runDaemonForContext: () => runDaemonForContext
33 -});
34 -module.exports = __toCommonJS(browserBackend_exports);
35 -var import_crypto = __toESM(require("crypto"));
36 -const { stripAnsiEscapes } = require("playwright-core/lib/coreBundle").iso;
37 -function createCustomMessageHandler(testInfo, context) {
38 - let backend;
39 - const config = { capabilities: ["testing"] };
40 - let tools;
41 - context.once("close", () => {
42 - void backend?.dispose();
43 - backend = void 0;
44 - });
45 - return async (data) => {
46 - if (!tools)
47 - ({ tools } = require("playwright-core/lib/coreBundle"));
48 - const toolList = tools.filteredTools(config);
49 - if (data.initialize) {
50 - if (backend)
51 - throw new Error("MCP backend is already initialized");
52 - backend = new tools.BrowserBackend(config, context, toolList);
53 - await backend.initialize(data.initialize.clientInfo);
54 - const pausedMessage = await generatePausedMessage(tools, testInfo, context);
55 - return { initialize: { pausedMessage } };
56 - }
57 - if (data.callTool) {
58 - if (!backend)
59 - throw new Error("MCP backend is not initialized");
60 - return { callTool: await backend.callTool(data.callTool.name, data.callTool.arguments) };
61 - }
62 - if (data.close) {
63 - await backend?.dispose();
64 - backend = void 0;
65 - return { close: {} };
66 - }
67 - throw new Error("Unknown MCP request");
68 - };
69 -}
70 -async function generatePausedMessage(tools, testInfo, context) {
71 - const lines = [];
72 - if (testInfo.errors.length) {
73 - lines.push(`### Paused on error:`);
74 - for (const error of testInfo.errors)
75 - lines.push(stripAnsiEscapes(error.message || ""));
76 - } else {
77 - lines.push(`### Paused at end of test. ready for interaction`);
78 - }
79 - for (let i = 0; i < context.pages().length; i++) {
80 - const page = context.pages()[i];
81 - const stateSuffix = context.pages().length > 1 ? i + 1 + " of " + context.pages().length : "state";
82 - lines.push(
83 - "",
84 - `### Page ${stateSuffix}`,
85 - `- Page URL: ${page.url()}`,
86 - `- Page Title: ${await page.title()}`.trim()
87 - );
88 - let console2 = testInfo.errors.length ? await tools.Tab.collectConsoleMessages(page) : [];
89 - console2 = console2.filter((msg) => msg.type === "error");
90 - if (console2.length) {
91 - lines.push("- Console Messages:");
92 - for (const message of console2)
93 - lines.push(` - ${message.toString()}`);
94 - }
95 - lines.push(
96 - `- Page Snapshot:`,
97 - "```yaml",
98 - await page.ariaSnapshot({ mode: "ai" }),
99 - "```"
100 - );
101 - }
102 - lines.push("");
103 - if (testInfo.errors.length)
104 - lines.push(`### Task`, `Try recovering from the error prior to continuing`);
105 - return lines.join("\n");
106 -}
107 -async function runDaemonForContext(testInfo, context) {
108 - if (testInfo._configInternal.configCLIOverrides.debug !== "cli")
109 - return false;
110 - const sessionName = `tw-${import_crypto.default.randomBytes(3).toString("hex")}`;
111 - await context.browser().bind(sessionName, { workspaceDir: testInfo.project.testDir });
112 - console.log([
113 - `### The test is currently paused at the start`,
114 - ``,
115 - `### Debugging Instructions`,
116 - `- Run "playwright-cli attach ${sessionName}" to attach to this test`
117 - ].join("\n"));
118 - await context.debugger.requestPause();
119 - return true;
120 -}
121 -// Annotate the CommonJS export names for ESM import in node:
122 -0 && (module.exports = {
123 - createCustomMessageHandler,
124 - runDaemonForContext
125 -});
node_modules/playwright/lib/mcp/test/generatorTools.js deleted
-122
@@ -1,122 +0,0 @@
1 -"use strict";
2 -var __create = Object.create;
3 -var __defProp = Object.defineProperty;
4 -var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5 -var __getOwnPropNames = Object.getOwnPropertyNames;
6 -var __getProtoOf = Object.getPrototypeOf;
7 -var __hasOwnProp = Object.prototype.hasOwnProperty;
8 -var __export = (target, all) => {
9 - for (var name in all)
10 - __defProp(target, name, { get: all[name], enumerable: true });
11 -};
12 -var __copyProps = (to, from, except, desc) => {
13 - if (from && typeof from === "object" || typeof from === "function") {
14 - for (let key of __getOwnPropNames(from))
15 - if (!__hasOwnProp.call(to, key) && key !== except)
16 - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17 - }
18 - return to;
19 -};
20 -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21 - // If the importer is in node compatibility mode or this is not an ESM
22 - // file that has been converted to a CommonJS file using a Babel-
23 - // compatible transform (i.e. "__esModule" has not been set), then set
24 - // "default" to the CommonJS "module.exports" for node compatibility.
25 - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26 - mod
27 -));
28 -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29 -var generatorTools_exports = {};
30 -__export(generatorTools_exports, {
31 - generatorReadLog: () => generatorReadLog,
32 - generatorWriteTest: () => generatorWriteTest,
33 - setupPage: () => setupPage
34 -});
35 -module.exports = __toCommonJS(generatorTools_exports);
36 -var import_fs = __toESM(require("fs"));
37 -var import_path = __toESM(require("path"));
38 -var import_testTool = require("./testTool");
39 -var import_testContext = require("./testContext");
40 -const z = require("playwright-core/lib/utilsBundle").z;
41 -const { isPathInside, resolveWithinRoot } = require("playwright-core/lib/coreBundle").utils;
42 -const setupPage = (0, import_testTool.defineTestTool)({
43 - schema: {
44 - name: "generator_setup_page",
45 - title: "Setup generator page",
46 - description: "Setup the page for test.",
47 - inputSchema: z.object({
48 - plan: z.string().describe("The plan for the test. This should be the actual test plan with all the steps."),
49 - project: z.string().optional().describe('Project to use for setup. For example: "chromium", if no project is provided uses the first project in the config.'),
50 - seedFile: z.string().optional().describe('A seed file contains a single test that is used to setup the page for testing, for example: "tests/seed.spec.ts". If no seed file is provided, a default seed file is created.')
51 - }),
52 - type: "readOnly"
53 - },
54 - handle: async (context, params, signal) => {
55 - const seed = await context.getOrCreateSeedFile(params.seedFile, params.project);
56 - context.generatorJournal = new import_testContext.GeneratorJournal(context.rootPath, params.plan, seed);
57 - const { output, status } = await context.runSeedTest(seed.file, seed.projectName, signal);
58 - return { content: [{ type: "text", text: output }], isError: status !== "paused" };
59 - }
60 -});
61 -const generatorReadLog = (0, import_testTool.defineTestTool)({
62 - schema: {
63 - name: "generator_read_log",
64 - title: "Retrieve test log",
65 - description: "Retrieve the performed test log",
66 - inputSchema: z.object({}),
67 - type: "readOnly"
68 - },
69 - handle: async (context) => {
70 - if (!context.generatorJournal)
71 - throw new Error(`Please setup page using "${setupPage.schema.name}" first.`);
72 - const result = context.generatorJournal.journal();
73 - return { content: [{
74 - type: "text",
75 - text: result
76 - }] };
77 - }
78 -});
79 -const generatorWriteTest = (0, import_testTool.defineTestTool)({
80 - schema: {
81 - name: "generator_write_test",
82 - title: "Write test",
83 - description: "Write the generated test to the test file",
84 - inputSchema: z.object({
85 - fileName: z.string().describe("The file to write the test to"),
86 - code: z.string().describe("The generated test code")
87 - }),
88 - type: "readOnly"
89 - },
90 - handle: async (context, params) => {
91 - if (!context.generatorJournal)
92 - throw new Error(`Please setup page using "${setupPage.schema.name}" first.`);
93 - const testRunner = context.existingTestRunner();
94 - if (!testRunner)
95 - throw new Error("No test runner found, please setup page and perform actions first.");
96 - const config = await testRunner.loadConfig();
97 - const resolvedFile = resolveWithinRoot(context.rootPath, params.fileName);
98 - const dirs = [];
99 - for (const project of config.projects) {
100 - const projectTestDir = project.project.testDir;
101 - if (resolvedFile && isPathInside(projectTestDir, resolvedFile)) {
102 - await import_fs.default.promises.mkdir(import_path.default.dirname(resolvedFile), { recursive: true });
103 - await import_fs.default.promises.writeFile(resolvedFile, params.code);
104 - return {
105 - content: [{
106 - type: "text",
107 - text: `### Result
108 -Test written to ${params.fileName}`
109 - }]
110 - };
111 - }
112 - dirs.push(import_path.default.relative(context.rootPath, projectTestDir).replace(/\\/g, "/"));
113 - }
114 - throw new Error(`Test file did not match any of the test dirs: ${dirs.join(", ")}`);
115 - }
116 -});
117 -// Annotate the CommonJS export names for ESM import in node:
118 -0 && (module.exports = {
119 - generatorReadLog,
120 - generatorWriteTest,
121 - setupPage
122 -});
node_modules/playwright/lib/mcp/test/plannerTools.js deleted
-150
@@ -1,150 +0,0 @@
1 -"use strict";
2 -var __create = Object.create;
3 -var __defProp = Object.defineProperty;
4 -var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5 -var __getOwnPropNames = Object.getOwnPropertyNames;
6 -var __getProtoOf = Object.getPrototypeOf;
7 -var __hasOwnProp = Object.prototype.hasOwnProperty;
8 -var __export = (target, all) => {
9 - for (var name in all)
10 - __defProp(target, name, { get: all[name], enumerable: true });
11 -};
12 -var __copyProps = (to, from, except, desc) => {
13 - if (from && typeof from === "object" || typeof from === "function") {
14 - for (let key of __getOwnPropNames(from))
15 - if (!__hasOwnProp.call(to, key) && key !== except)
16 - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17 - }
18 - return to;
19 -};
20 -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21 - // If the importer is in node compatibility mode or this is not an ESM
22 - // file that has been converted to a CommonJS file using a Babel-
23 - // compatible transform (i.e. "__esModule" has not been set), then set
24 - // "default" to the CommonJS "module.exports" for node compatibility.
25 - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26 - mod
27 -));
28 -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29 -var plannerTools_exports = {};
30 -__export(plannerTools_exports, {
31 - saveTestPlan: () => saveTestPlan,
32 - setupPage: () => setupPage,
33 - submitTestPlan: () => submitTestPlan
34 -});
35 -module.exports = __toCommonJS(plannerTools_exports);
36 -var import_fs = __toESM(require("fs"));
37 -var import_path = __toESM(require("path"));
38 -var import_testTool = require("./testTool");
39 -const z = require("playwright-core/lib/utilsBundle").z;
40 -const { resolveWithinRoot } = require("playwright-core/lib/coreBundle").utils;
41 -const setupPage = (0, import_testTool.defineTestTool)({
42 - schema: {
43 - name: "planner_setup_page",
44 - title: "Setup planner page",
45 - description: "Setup the page for test planning",
46 - inputSchema: z.object({
47 - project: z.string().optional().describe('Project to use for setup. For example: "chromium", if no project is provided uses the first project in the config.'),
48 - seedFile: z.string().optional().describe('A seed file contains a single test that is used to setup the page for testing, for example: "tests/seed.spec.ts". If no seed file is provided, a default seed file is created.')
49 - }),
50 - type: "readOnly"
51 - },
52 - handle: async (context, params, signal) => {
53 - const seed = await context.getOrCreateSeedFile(params.seedFile, params.project);
54 - const { output, status } = await context.runSeedTest(seed.file, seed.projectName, signal);
55 - return { content: [{ type: "text", text: output }], isError: status !== "paused" };
56 - }
57 -});
58 -const planSchema = z.object({
59 - overview: z.string().describe("A brief overview of the application to be tested"),
60 - suites: z.array(z.object({
61 - name: z.string().describe("The name of the suite"),
62 - seedFile: z.string().describe("A seed file that was used to setup the page for testing."),
63 - tests: z.array(z.object({
64 - name: z.string().describe("The name of the test"),
65 - file: z.string().describe('The file the test should be saved to, for example: "tests/<suite-name>/<test-name>.spec.ts".'),
66 - steps: z.array(z.object({
67 - perform: z.string().optional().describe(`Action to perform. For example: 'Click on the "Submit" button'.`),
68 - expect: z.string().array().describe(`Expected result of the action where appropriate. For example: 'The page should show the "Thank you for your submission" message'`)
69 - }))
70 - }))
71 - }))
72 -});
73 -const submitTestPlan = (0, import_testTool.defineTestTool)({
74 - schema: {
75 - name: "planner_submit_plan",
76 - title: "Submit test plan",
77 - description: "Submit the test plan to the test planner",
78 - inputSchema: planSchema,
79 - type: "readOnly"
80 - },
81 - handle: async (context, params) => {
82 - return {
83 - content: [{
84 - type: "text",
85 - text: JSON.stringify(params, null, 2)
86 - }]
87 - };
88 - }
89 -});
90 -const saveTestPlan = (0, import_testTool.defineTestTool)({
91 - schema: {
92 - name: "planner_save_plan",
93 - title: "Save test plan as markdown file",
94 - description: "Save the test plan as a markdown file",
95 - inputSchema: planSchema.extend({
96 - name: z.string().describe('The name of the test plan, for example: "Test Plan".'),
97 - fileName: z.string().describe('The file to save the test plan to, for example: "spec/test.plan.md". Relative to the workspace root.')
98 - }),
99 - type: "readOnly"
100 - },
101 - handle: async (context, params) => {
102 - const lines = [];
103 - lines.push(`# ${params.name}`);
104 - lines.push(``);
105 - lines.push(`## Application Overview`);
106 - lines.push(``);
107 - lines.push(params.overview);
108 - lines.push(``);
109 - lines.push(`## Test Scenarios`);
110 - for (let i = 0; i < params.suites.length; i++) {
111 - lines.push(``);
112 - const suite = params.suites[i];
113 - lines.push(`### ${i + 1}. ${suite.name}`);
114 - lines.push(``);
115 - lines.push(`**Seed:** \`${suite.seedFile}\``);
116 - for (let j = 0; j < suite.tests.length; j++) {
117 - lines.push(``);
118 - const test = suite.tests[j];
119 - lines.push(`#### ${i + 1}.${j + 1}. ${test.name}`);
120 - lines.push(``);
121 - lines.push(`**File:** \`${test.file}\``);
122 - lines.push(``);
123 - lines.push(`**Steps:**`);
124 - for (let k = 0; k < test.steps.length; k++) {
125 - lines.push(` ${k + 1}. ${test.steps[k].perform ?? "-"}`);
126 - for (const expect of test.steps[k].expect)
127 - lines.push(` - expect: ${expect}`);
128 - }
129 - }
130 - }
131 - lines.push(``);
132 - const resolvedFile = resolveWithinRoot(context.rootPath, params.fileName);
133 - if (!resolvedFile)
134 - throw new Error(`Plan file name must be a relative path inside the workspace: ${params.fileName}`);
135 - await import_fs.default.promises.mkdir(import_path.default.dirname(resolvedFile), { recursive: true });
136 - await import_fs.default.promises.writeFile(resolvedFile, lines.join("\n"));
137 - return {
138 - content: [{
139 - type: "text",
140 - text: `Test plan saved to ${params.fileName}`
141 - }]
142 - };
143 - }
144 -});
145 -// Annotate the CommonJS export names for ESM import in node:
146 -0 && (module.exports = {
147 - saveTestPlan,
148 - setupPage,
149 - submitTestPlan
150 -});
node_modules/playwright/lib/mcp/test/seed.js deleted
-82
@@ -1,82 +0,0 @@
1 -"use strict";
2 -var __create = Object.create;
3 -var __defProp = Object.defineProperty;
4 -var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5 -var __getOwnPropNames = Object.getOwnPropertyNames;
6 -var __getProtoOf = Object.getPrototypeOf;
7 -var __hasOwnProp = Object.prototype.hasOwnProperty;
8 -var __export = (target, all) => {
9 - for (var name in all)
10 - __defProp(target, name, { get: all[name], enumerable: true });
11 -};
12 -var __copyProps = (to, from, except, desc) => {
13 - if (from && typeof from === "object" || typeof from === "function") {
14 - for (let key of __getOwnPropNames(from))
15 - if (!__hasOwnProp.call(to, key) && key !== except)
16 - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17 - }
18 - return to;
19 -};
20 -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21 - // If the importer is in node compatibility mode or this is not an ESM
22 - // file that has been converted to a CommonJS file using a Babel-
23 - // compatible transform (i.e. "__esModule" has not been set), then set
24 - // "default" to the CommonJS "module.exports" for node compatibility.
25 - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26 - mod
27 -));
28 -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29 -var seed_exports = {};
30 -__export(seed_exports, {
31 - defaultSeedFile: () => defaultSeedFile,
32 - ensureSeedFile: () => ensureSeedFile,
33 - findSeedFile: () => findSeedFile,
34 - seedFileContent: () => seedFileContent,
35 - seedProject: () => seedProject
36 -});
37 -module.exports = __toCommonJS(seed_exports);
38 -var import_fs = __toESM(require("fs"));
39 -var import_path = __toESM(require("path"));
40 -var import_runner = require("../../runner");
41 -const { mkdirIfNeeded } = require("playwright-core/lib/coreBundle").utils;
42 -function seedProject(fullConfig, projectName) {
43 - if (!projectName)
44 - return import_runner.projectUtils.findTopLevelProjects(fullConfig)[0];
45 - const project = fullConfig.projects.find((p) => p.project.name === projectName);
46 - if (!project)
47 - throw new Error(`Project ${projectName} not found`);
48 - return project;
49 -}
50 -async function findSeedFile(project) {
51 - const files = await import_runner.projectUtils.collectFilesForProject(project);
52 - return files.find((file) => import_path.default.basename(file).includes("seed"));
53 -}
54 -function defaultSeedFile(project) {
55 - const testDir = project.project.testDir;
56 - return import_path.default.resolve(testDir, "seed.spec.ts");
57 -}
58 -async function ensureSeedFile(project) {
59 - const seedFile = await findSeedFile(project);
60 - if (seedFile)
61 - return seedFile;
62 - const seedFilePath = defaultSeedFile(project);
63 - await mkdirIfNeeded(seedFilePath);
64 - await import_fs.default.promises.writeFile(seedFilePath, seedFileContent);
65 - return seedFilePath;
66 -}
67 -const seedFileContent = `import { test, expect } from '@playwright/test';
68 -
69 -test.describe('Test group', () => {
70 - test('seed', async ({ page }) => {
71 - // generate code here.
72 - });
73 -});
74 -`;
75 -// Annotate the CommonJS export names for ESM import in node:
76 -0 && (module.exports = {
77 - defaultSeedFile,
78 - ensureSeedFile,
79 - findSeedFile,
80 - seedFileContent,
81 - seedProject
82 -});
node_modules/playwright/lib/mcp/test/streams.js deleted
-44
@@ -1,44 +0,0 @@
1 -"use strict";
2 -var __defProp = Object.defineProperty;
3 -var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4 -var __getOwnPropNames = Object.getOwnPropertyNames;
5 -var __hasOwnProp = Object.prototype.hasOwnProperty;
6 -var __export = (target, all) => {
7 - for (var name in all)
8 - __defProp(target, name, { get: all[name], enumerable: true });
9 -};
10 -var __copyProps = (to, from, except, desc) => {
11 - if (from && typeof from === "object" || typeof from === "function") {
12 - for (let key of __getOwnPropNames(from))
13 - if (!__hasOwnProp.call(to, key) && key !== except)
14 - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15 - }
16 - return to;
17 -};
18 -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19 -var streams_exports = {};
20 -__export(streams_exports, {
21 - StringWriteStream: () => StringWriteStream
22 -});
23 -module.exports = __toCommonJS(streams_exports);
24 -var import_stream = require("stream");
25 -var import_util = require("../../util");
26 -class StringWriteStream extends import_stream.Writable {
27 - constructor(output, stdio) {
28 - super();
29 - this._output = output;
30 - this._prefix = stdio === "stdout" ? "" : "[err] ";
31 - }
32 - _write(chunk, encoding, callback) {
33 - let text = (0, import_util.stripAnsiEscapes)(chunk.toString());
34 - if (text.endsWith("\n"))
35 - text = text.slice(0, -1);
36 - if (text)
37 - this._output.push(this._prefix + text);
38 - callback();
39 - }
40 -}
41 -// Annotate the CommonJS export names for ESM import in node:
42 -0 && (module.exports = {
43 - StringWriteStream
44 -});
node_modules/playwright/lib/mcp/test/testBackend.js deleted
-99
@@ -1,99 +0,0 @@
1 -"use strict";
2 -var __create = Object.create;
3 -var __defProp = Object.defineProperty;
4 -var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5 -var __getOwnPropNames = Object.getOwnPropertyNames;
6 -var __getProtoOf = Object.getPrototypeOf;
7 -var __hasOwnProp = Object.prototype.hasOwnProperty;
8 -var __export = (target, all) => {
9 - for (var name in all)
10 - __defProp(target, name, { get: all[name], enumerable: true });
11 -};
12 -var __copyProps = (to, from, except, desc) => {
13 - if (from && typeof from === "object" || typeof from === "function") {
14 - for (let key of __getOwnPropNames(from))
15 - if (!__hasOwnProp.call(to, key) && key !== except)
16 - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17 - }
18 - return to;
19 -};
20 -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21 - // If the importer is in node compatibility mode or this is not an ESM
22 - // file that has been converted to a CommonJS file using a Babel-
23 - // compatible transform (i.e. "__esModule" has not been set), then set
24 - // "default" to the CommonJS "module.exports" for node compatibility.
25 - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26 - mod
27 -));
28 -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29 -var testBackend_exports = {};
30 -__export(testBackend_exports, {
31 - TestServerBackend: () => TestServerBackend,
32 - testServerBackendTools: () => testServerBackendTools
33 -});
34 -module.exports = __toCommonJS(testBackend_exports);
35 -var import_events = __toESM(require("events"));
36 -var import_coreBundle = require("playwright-core/lib/coreBundle");
37 -var import_testContext = require("./testContext");
38 -var testTools = __toESM(require("./testTools.js"));
39 -var generatorTools = __toESM(require("./generatorTools.js"));
40 -var plannerTools = __toESM(require("./plannerTools.js"));
41 -const zod = require("playwright-core/lib/utilsBundle").z;
42 -const typesWithIntent = ["action", "assertion", "input"];
43 -const testServerBackendTools = [
44 - plannerTools.saveTestPlan,
45 - plannerTools.setupPage,
46 - plannerTools.submitTestPlan,
47 - generatorTools.setupPage,
48 - generatorTools.generatorReadLog,
49 - generatorTools.generatorWriteTest,
50 - testTools.listTests,
51 - testTools.runTests,
52 - testTools.debugTest,
53 - ...import_coreBundle.tools.browserTools.map((tool) => wrapBrowserTool(tool))
54 -];
55 -class TestServerBackend extends import_events.default {
56 - constructor(configPath, options) {
57 - super();
58 - this.name = "Playwright";
59 - this.version = "0.0.1";
60 - this._options = options || {};
61 - this._configPath = configPath;
62 - }
63 - async initialize(clientInfo) {
64 - this._context = new import_testContext.TestContext(clientInfo, this._configPath, this._options);
65 - }
66 - async callTool(name, args, signal) {
67 - const tool = testServerBackendTools.find((tool2) => tool2.schema.name === name);
68 - if (!tool)
69 - throw new Error(`Tool not found: ${name}. Available tools: ${testServerBackendTools.map((tool2) => tool2.schema.name).join(", ")}`);
70 - try {
71 - return await tool.handle(this._context, tool.schema.inputSchema.parse(args || {}), signal);
72 - } catch (e) {
73 - return { content: [{ type: "text", text: String(e) }], isError: true };
74 - }
75 - }
76 - async dispose() {
77 - await this._context?.close();
78 - }
79 -}
80 -function wrapBrowserTool(tool) {
81 - const inputSchema = typesWithIntent.includes(tool.schema.type) ? tool.schema.inputSchema.extend({
82 - intent: zod.string().describe("The intent of the call, for example the test step description plan idea")
83 - }) : tool.schema.inputSchema;
84 - return {
85 - schema: {
86 - ...tool.schema,
87 - inputSchema
88 - },
89 - handle: async (context, params, _signal) => {
90 - const response = await context.sendMessageToPausedTest({ callTool: { name: tool.schema.name, arguments: params } });
91 - return response.callTool;
92 - }
93 - };
94 -}
95 -// Annotate the CommonJS export names for ESM import in node:
96 -0 && (module.exports = {
97 - TestServerBackend,
98 - testServerBackendTools
99 -});
node_modules/playwright/lib/mcp/test/testContext.js deleted
-302
@@ -1,302 +0,0 @@
1 -"use strict";
2 -var __create = Object.create;
3 -var __defProp = Object.defineProperty;
4 -var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5 -var __getOwnPropNames = Object.getOwnPropertyNames;
6 -var __getProtoOf = Object.getPrototypeOf;
7 -var __hasOwnProp = Object.prototype.hasOwnProperty;
8 -var __export = (target, all) => {
9 - for (var name in all)
10 - __defProp(target, name, { get: all[name], enumerable: true });
11 -};
12 -var __copyProps = (to, from, except, desc) => {
13 - if (from && typeof from === "object" || typeof from === "function") {
14 - for (let key of __getOwnPropNames(from))
15 - if (!__hasOwnProp.call(to, key) && key !== except)
16 - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17 - }
18 - return to;
19 -};
20 -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21 - // If the importer is in node compatibility mode or this is not an ESM
22 - // file that has been converted to a CommonJS file using a Babel-
23 - // compatible transform (i.e. "__esModule" has not been set), then set
24 - // "default" to the CommonJS "module.exports" for node compatibility.
25 - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26 - mod
27 -));
28 -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29 -var testContext_exports = {};
30 -__export(testContext_exports, {
31 - GeneratorJournal: () => GeneratorJournal,
32 - TestContext: () => TestContext,
33 - createScreen: () => createScreen
34 -});
35 -module.exports = __toCommonJS(testContext_exports);
36 -var import_fs = __toESM(require("fs"));
37 -var import_os = __toESM(require("os"));
38 -var import_path = __toESM(require("path"));
39 -var import_coreBundle = require("playwright-core/lib/coreBundle");
40 -var import_runner = require("../../runner");
41 -var import_streams = require("./streams");
42 -var import_util = require("../../util");
43 -var import_seed = require("./seed");
44 -var import_common = require("../../common");
45 -const debug = require("playwright-core/lib/utilsBundle").debug;
46 -const { noColors } = require("playwright-core/lib/coreBundle").iso;
47 -const { ManualPromise, signalToPromise } = require("playwright-core/lib/coreBundle").iso;
48 -const { escapeRegExp } = require("playwright-core/lib/coreBundle").iso;
49 -const { toPosixPath } = require("playwright-core/lib/coreBundle").utils;
50 -class GeneratorJournal {
51 - constructor(rootPath, plan, seed) {
52 - this._rootPath = rootPath;
53 - this._plan = plan;
54 - this._seed = seed;
55 - this._steps = [];
56 - }
57 - logStep(title, code) {
58 - if (title)
59 - this._steps.push({ title, code });
60 - }
61 - journal() {
62 - const result = [];
63 - result.push(`# Plan`);
64 - result.push(this._plan);
65 - result.push(`# Seed file: ${toPosixPath(import_path.default.relative(this._rootPath, this._seed.file))}`);
66 - result.push("```ts");
67 - result.push(this._seed.content);
68 - result.push("```");
69 - result.push(`# Steps`);
70 - result.push(this._steps.map((step) => `### ${step.title}
71 -\`\`\`ts
72 -${step.code}
73 -\`\`\``).join("\n\n"));
74 - result.push(bestPracticesMarkdown);
75 - return result.join("\n\n");
76 - }
77 -}
78 -class TestContext {
79 - constructor(clientInfo, configPath, options) {
80 - this._testOpQueue = Promise.resolve();
81 - this._clientInfo = clientInfo;
82 - this._configLocation = import_common.configLoader.resolveConfigLocation(configPath || clientInfo.cwd);
83 - this.rootPath = clientInfo.cwd || this._configLocation.configDir;
84 - if (options?.headless !== void 0)
85 - this.computedHeaded = !options.headless;
86 - else
87 - this.computedHeaded = !process.env.CI && !(import_os.default.platform() === "linux" && !process.env.DISPLAY);
88 - }
89 - async _enqueue(fn) {
90 - const next = this._testOpQueue.then(fn);
91 - this._testOpQueue = next.then(() => {
92 - });
93 - return await next;
94 - }
95 - existingTestRunner() {
96 - return this._testRunnerAndScreen?.testRunner;
97 - }
98 - async _cleanupTestRunner() {
99 - if (!this._testRunnerAndScreen)
100 - return;
101 - await this._testRunnerAndScreen.testRunner.stopTests();
102 - this._testRunnerAndScreen.claimStdio();
103 - try {
104 - await this._testRunnerAndScreen.testRunner.runGlobalTeardown();
105 - } finally {
106 - this._testRunnerAndScreen.releaseStdio();
107 - this._testRunnerAndScreen = void 0;
108 - }
109 - }
110 - async createTestRunner() {
111 - await this._cleanupTestRunner();
112 - const runner = new import_runner.testRunner.TestRunner(this._configLocation, {});
113 - await runner.initialize({});
114 - const testPaused = new ManualPromise();
115 - const testRunnerAndScreen = {
116 - ...createScreen(),
117 - testRunner: runner,
118 - waitForTestPaused: () => testPaused
119 - };
120 - this._testRunnerAndScreen = testRunnerAndScreen;
121 - runner.on(import_runner.testRunner.TestRunnerEvent.TestPaused, (params) => {
122 - testRunnerAndScreen.sendMessageToPausedTest = params.sendMessage;
123 - testPaused.resolve();
124 - });
125 - return testRunnerAndScreen;
126 - }
127 - async getOrCreateSeedFile(seedFile, projectName) {
128 - const configDir = this._configLocation.configDir;
129 - const { testRunner: runner } = await this.createTestRunner();
130 - const config = await runner.loadConfig();
131 - const project = (0, import_seed.seedProject)(config, projectName);
132 - if (!seedFile) {
133 - seedFile = await (0, import_seed.ensureSeedFile)(project);
134 - } else {
135 - const candidateFiles = [];
136 - const testDir = project.project.testDir;
137 - candidateFiles.push(import_path.default.resolve(testDir, seedFile));
138 - candidateFiles.push(import_path.default.resolve(configDir, seedFile));
139 - candidateFiles.push(import_path.default.resolve(this.rootPath, seedFile));
140 - let resolvedSeedFile;
141 - for (const candidateFile of candidateFiles) {
142 - if (await (0, import_util.fileExistsAsync)(candidateFile)) {
143 - resolvedSeedFile = candidateFile;
144 - break;
145 - }
146 - }
147 - if (!resolvedSeedFile)
148 - throw new Error("seed test not found.");
149 - seedFile = resolvedSeedFile;
150 - }
151 - const seedFileContent = await import_fs.default.promises.readFile(seedFile, "utf8");
152 - return {
153 - file: seedFile,
154 - content: seedFileContent,
155 - projectName: project.project.name
156 - };
157 - }
158 - async runSeedTest(seedFile, projectName, signal) {
159 - const result = await this.runTestsWithGlobalSetupAndPossiblePause({
160 - headed: this.computedHeaded,
161 - locations: ["/" + escapeRegExp(seedFile) + "/"],
162 - projects: [projectName],
163 - timeout: 0,
164 - workers: 1,
165 - pauseAtEnd: true,
166 - disableConfigReporters: true,
167 - failOnLoadErrors: true
168 - }, signal);
169 - if (result.status === "passed")
170 - result.output += "\nError: seed test not found.";
171 - else if (result.status !== "paused")
172 - result.output += "\nError while running the seed test.";
173 - return result;
174 - }
175 - async runTestsWithGlobalSetupAndPossiblePause(params, signal) {
176 - return this._enqueue(() => this._runTestsImpl(params, signal));
177 - }
178 - async _runTestsImpl(params, signal) {
179 - const configDir = this._configLocation.configDir;
180 - const testRunnerAndScreen = await this.createTestRunner();
181 - const { testRunner: runner, screen, claimStdio, releaseStdio } = testRunnerAndScreen;
182 - claimStdio();
183 - try {
184 - const setupReporter = new MCPListReporter({ configDir, screen, includeTestId: true });
185 - const { status: status2 } = await runner.runGlobalSetup([setupReporter]);
186 - if (status2 !== "passed")
187 - return { output: testRunnerAndScreen.output.join("\n"), status: status2 };
188 - } finally {
189 - releaseStdio();
190 - }
191 - let status = "passed";
192 - const cleanup = async () => {
193 - claimStdio();
194 - try {
195 - const result = await runner.runGlobalTeardown();
196 - if (status === "passed")
197 - status = result.status;
198 - } finally {
199 - releaseStdio();
200 - }
201 - };
202 - const abortPromise = signal ? signalToPromise(signal).promise.then(() => "interrupted") : new Promise(() => {
203 - });
204 - try {
205 - const reporter = new MCPListReporter({ configDir, screen, includeTestId: true });
206 - status = await Promise.race([
207 - runner.runTests(reporter, params).then((result) => result.status),
208 - testRunnerAndScreen.waitForTestPaused().then(() => "paused"),
209 - abortPromise
210 - ]);
211 - if (status === "interrupted") {
212 - await runner.stopTests();
213 - await cleanup();
214 - return { output: testRunnerAndScreen.output.join("\n"), status };
215 - }
216 - if (status === "paused") {
217 - const response = await testRunnerAndScreen.sendMessageToPausedTest({ request: { initialize: { clientInfo: this._clientInfo } } });
218 - if (response.error)
219 - throw new Error(response.error.message);
220 - testRunnerAndScreen.output.push(response.response.initialize.pausedMessage);
221 - return { output: testRunnerAndScreen.output.join("\n"), status };
222 - }
223 - } catch (e) {
224 - status = "failed";
225 - testRunnerAndScreen.output.push(String(e));
226 - await cleanup();
227 - return { output: testRunnerAndScreen.output.join("\n"), status };
228 - }
229 - await cleanup();
230 - return { output: testRunnerAndScreen.output.join("\n"), status };
231 - }
232 - async close() {
233 - await this._enqueue(() => this._cleanupTestRunner()).catch((e) => debug("pw:mcp:error")(e));
234 - }
235 - async sendMessageToPausedTest(request) {
236 - const sendMessage = this._testRunnerAndScreen?.sendMessageToPausedTest;
237 - if (!sendMessage)
238 - throw new Error("Must setup test before interacting with the page");
239 - const result = await sendMessage({ request });
240 - if (result.error)
241 - throw new Error(result.error.message);
242 - if (typeof request?.callTool?.arguments?.["intent"] === "string") {
243 - const response = import_coreBundle.tools.parseResponse(result.response.callTool);
244 - if (response && !response.isError && response.code)
245 - this.generatorJournal?.logStep(request.callTool.arguments["intent"], response.code);
246 - }
247 - return result.response;
248 - }
249 -}
250 -function createScreen() {
251 - const output = [];
252 - const stdout = new import_streams.StringWriteStream(output, "stdout");
253 - const stderr = new import_streams.StringWriteStream(output, "stderr");
254 - const screen = {
255 - ...import_runner.base.terminalScreen,
256 - isTTY: false,
257 - colors: noColors,
258 - stdout,
259 - stderr
260 - };
261 - const originalStdoutWrite = process.stdout.write;
262 - const originalStderrWrite = process.stderr.write;
263 - const claimStdio = () => {
264 - process.stdout.write = (chunk) => {
265 - stdout.write(chunk);
266 - return true;
267 - };
268 - process.stderr.write = (chunk) => {
269 - stderr.write(chunk);
270 - return true;
271 - };
272 - };
273 - const releaseStdio = () => {
274 - process.stdout.write = originalStdoutWrite;
275 - process.stderr.write = originalStderrWrite;
276 - };
277 - return { screen, claimStdio, releaseStdio, output };
278 -}
279 -const bestPracticesMarkdown = `
280 -# Best practices
281 -- Do not improvise, do not add directives that were not asked for
282 -- Use clear, descriptive assertions to validate the expected behavior
283 -- Use reliable locators from this log
284 -- Use local variables for locators that are used multiple times
285 -- Use Playwright waiting assertions and best practices from this log
286 -- NEVER! use page.waitForLoadState()
287 -- NEVER! use page.waitForNavigation()
288 -- NEVER! use page.waitForTimeout()
289 -- NEVER! use page.evaluate()
290 -`;
291 -class MCPListReporter extends import_runner.ListReporter {
292 - async onTestPaused() {
293 - await new Promise(() => {
294 - });
295 - }
296 -}
297 -// Annotate the CommonJS export names for ESM import in node:
298 -0 && (module.exports = {
299 - GeneratorJournal,
300 - TestContext,
301 - createScreen
302 -});
node_modules/playwright/lib/mcp/test/testTool.js deleted
-30
@@ -1,30 +0,0 @@
1 -"use strict";
2 -var __defProp = Object.defineProperty;
3 -var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4 -var __getOwnPropNames = Object.getOwnPropertyNames;
5 -var __hasOwnProp = Object.prototype.hasOwnProperty;
6 -var __export = (target, all) => {
7 - for (var name in all)
8 - __defProp(target, name, { get: all[name], enumerable: true });
9 -};
10 -var __copyProps = (to, from, except, desc) => {
11 - if (from && typeof from === "object" || typeof from === "function") {
12 - for (let key of __getOwnPropNames(from))
13 - if (!__hasOwnProp.call(to, key) && key !== except)
14 - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15 - }
16 - return to;
17 -};
18 -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19 -var testTool_exports = {};
20 -__export(testTool_exports, {
21 - defineTestTool: () => defineTestTool
22 -});
23 -module.exports = __toCommonJS(testTool_exports);
24 -function defineTestTool(tool) {
25 - return tool;
26 -}
27 -// Annotate the CommonJS export names for ESM import in node:
28 -0 && (module.exports = {
29 - defineTestTool
30 -});
node_modules/playwright/lib/mcp/test/testTools.js deleted
-98
@@ -1,98 +0,0 @@
1 -"use strict";
2 -var __defProp = Object.defineProperty;
3 -var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4 -var __getOwnPropNames = Object.getOwnPropertyNames;
5 -var __hasOwnProp = Object.prototype.hasOwnProperty;
6 -var __export = (target, all) => {
7 - for (var name in all)
8 - __defProp(target, name, { get: all[name], enumerable: true });
9 -};
10 -var __copyProps = (to, from, except, desc) => {
11 - if (from && typeof from === "object" || typeof from === "function") {
12 - for (let key of __getOwnPropNames(from))
13 - if (!__hasOwnProp.call(to, key) && key !== except)
14 - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15 - }
16 - return to;
17 -};
18 -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19 -var testTools_exports = {};
20 -__export(testTools_exports, {
21 - debugTest: () => debugTest,
22 - listTests: () => listTests,
23 - runTests: () => runTests
24 -});
25 -module.exports = __toCommonJS(testTools_exports);
26 -var import_runner = require("../../runner");
27 -var import_testTool = require("./testTool");
28 -const z = require("playwright-core/lib/utilsBundle").z;
29 -const listTests = (0, import_testTool.defineTestTool)({
30 - schema: {
31 - name: "test_list",
32 - title: "List tests",
33 - description: "List tests",
34 - inputSchema: z.object({}),
35 - type: "readOnly"
36 - },
37 - handle: async (context) => {
38 - const { testRunner, screen, output } = await context.createTestRunner();
39 - const reporter = new import_runner.ListModeReporter({ screen, includeTestId: true });
40 - await testRunner.listTests(reporter, {});
41 - return { content: output.map((text) => ({ type: "text", text })) };
42 - }
43 -});
44 -const runTests = (0, import_testTool.defineTestTool)({
45 - schema: {
46 - name: "test_run",
47 - title: "Run tests",
48 - description: "Run tests",
49 - inputSchema: z.object({
50 - locations: z.array(z.string()).optional().describe('Folder, file or location to run: "test/e2e" or "test/e2e/file.spec.ts" or "test/e2e/file.spec.ts:20"'),
51 - projects: z.array(z.string()).optional().describe('Projects to run, projects from playwright.config.ts, by default runs all projects. Running with "chromium" is a good start')
52 - }),
53 - type: "readOnly"
54 - },
55 - handle: async (context, params, signal) => {
56 - const { output } = await context.runTestsWithGlobalSetupAndPossiblePause({
57 - locations: params.locations ?? [],
58 - projects: params.projects,
59 - disableConfigReporters: true
60 - }, signal);
61 - return { content: [{ type: "text", text: output }] };
62 - }
63 -});
64 -const debugTest = (0, import_testTool.defineTestTool)({
65 - schema: {
66 - name: "test_debug",
67 - title: "Debug single test",
68 - description: "Debug single test",
69 - inputSchema: z.object({
70 - test: z.object({
71 - id: z.string().describe("Test ID to debug."),
72 - title: z.string().describe("Human readable test title for granting permission to debug the test.")
73 - })
74 - }),
75 - type: "readOnly"
76 - },
77 - handle: async (context, params, signal) => {
78 - const { output, status } = await context.runTestsWithGlobalSetupAndPossiblePause({
79 - headed: context.computedHeaded,
80 - locations: [],
81 - // we can make this faster by passing the test's location, so we don't need to scan all tests to find the ID
82 - testIds: [params.test.id],
83 - // For automatic recovery
84 - timeout: 0,
85 - workers: 1,
86 - pauseOnError: true,
87 - disableConfigReporters: true,
88 - actionTimeout: 5e3
89 - }, signal);
90 - return { content: [{ type: "text", text: output }], isError: status !== "paused" && status !== "passed" };
91 - }
92 -});
93 -// Annotate the CommonJS export names for ESM import in node:
94 -0 && (module.exports = {
95 - debugTest,
96 - listTests,
97 - runTests
98 -});
node_modules/playwright/lib/package.js deleted
-47
@@ -1,47 +0,0 @@
1 -"use strict";
2 -var __create = Object.create;
3 -var __defProp = Object.defineProperty;
4 -var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5 -var __getOwnPropNames = Object.getOwnPropertyNames;
6 -var __getProtoOf = Object.getPrototypeOf;
7 -var __hasOwnProp = Object.prototype.hasOwnProperty;
8 -var __export = (target, all) => {
9 - for (var name in all)
10 - __defProp(target, name, { get: all[name], enumerable: true });
11 -};
12 -var __copyProps = (to, from, except, desc) => {
13 - if (from && typeof from === "object" || typeof from === "function") {
14 - for (let key of __getOwnPropNames(from))
15 - if (!__hasOwnProp.call(to, key) && key !== except)
16 - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17 - }
18 - return to;
19 -};
20 -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21 - // If the importer is in node compatibility mode or this is not an ESM
22 - // file that has been converted to a CommonJS file using a Babel-
23 - // compatible transform (i.e. "__esModule" has not been set), then set
24 - // "default" to the CommonJS "module.exports" for node compatibility.
25 - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26 - mod
27 -));
28 -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29 -var package_exports = {};
30 -__export(package_exports, {
31 - libPath: () => libPath,
32 - packageJSON: () => packageJSON,
33 - packageRoot: () => packageRoot
34 -});
35 -module.exports = __toCommonJS(package_exports);
36 -var import_path = __toESM(require("path"));
37 -const packageRoot = import_path.default.join(__dirname, "..");
38 -const packageJSON = require(import_path.default.join(packageRoot, "package.json"));
39 -function libPath(...parts) {
40 - return import_path.default.join(packageRoot, "lib", ...parts);
41 -}
42 -// Annotate the CommonJS export names for ESM import in node:
43 -0 && (module.exports = {
44 - libPath,
45 - packageJSON,
46 - packageRoot
47 -});
node_modules/playwright/lib/program.js deleted
-217
@@ -1,217 +0,0 @@
1 -"use strict";
2 -var __defProp = Object.defineProperty;
3 -var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4 -var __getOwnPropNames = Object.getOwnPropertyNames;
5 -var __hasOwnProp = Object.prototype.hasOwnProperty;
6 -var __export = (target, all) => {
7 - for (var name in all)
8 - __defProp(target, name, { get: all[name], enumerable: true });
9 -};
10 -var __copyProps = (to, from, except, desc) => {
11 - if (from && typeof from === "object" || typeof from === "function") {
12 - for (let key of __getOwnPropNames(from))
13 - if (!__hasOwnProp.call(to, key) && key !== except)
14 - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15 - }
16 - return to;
17 -};
18 -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19 -var program_exports = {};
20 -__export(program_exports, {
21 - program: () => program
22 -});
23 -module.exports = __toCommonJS(program_exports);
24 -var import_bootstrap = require("playwright-core/lib/bootstrap");
25 -var import_coreBundle = require("playwright-core/lib/coreBundle");
26 -var import_common = require("./common");
27 -var import_testActions = require("./cli/testActions");
28 -var import_reportActions = require("./cli/reportActions");
29 -var import_testBackend = require("./mcp/test/testBackend");
30 -var import_generateAgents = require("./agents/generateAgents");
31 -var import_package = require("./package");
32 -const { program } = require("playwright-core/lib/utilsBundle");
33 -const { gracefullyProcessExitDoNotHang } = require("playwright-core/lib/coreBundle").utils;
34 -import_coreBundle.libCli.decorateProgram(program);
35 -function addTestCommand(program2) {
36 - const command = program2.command("test [test-filter...]");
37 - command.description("run tests with Playwright Test");
38 - const options = testOptions.sort((a, b) => a[0].replace(/-/g, "").localeCompare(b[0].replace(/-/g, "")));
39 - options.forEach(([name, { description, choices, preset }]) => {
40 - const option = command.createOption(name, description);
41 - if (choices)
42 - option.choices(choices);
43 - if (preset)
44 - option.preset(preset);
45 - command.addOption(option);
46 - return command;
47 - });
48 - command.action(async (args, opts) => {
49 - try {
50 - await (0, import_testActions.runTests)(args, opts);
51 - } catch (e) {
52 - console.error(e);
53 - gracefullyProcessExitDoNotHang(1);
54 - }
55 - });
56 - command.addHelpText("afterAll", `
57 -Arguments [test-filter...]:
58 - Pass arguments to filter test files. Each argument is treated as a regular expression. Matching is performed against the absolute file paths.
59 -
60 -Examples:
61 - $ npx playwright test my.spec.ts
62 - $ npx playwright test some.spec.ts:42
63 - $ npx playwright test --headed
64 - $ npx playwright test --project=webkit`);
65 -}
66 -function addClearCacheCommand(program2) {
67 - const command = program2.command("clear-cache");
68 - command.description("clears build and test caches");
69 - command.option("-c, --config <file>", `Configuration file, or a test directory with optional "playwright.config.{m,c}?{js,ts}"`);
70 - command.action(async (opts) => {
71 - await (0, import_testActions.clearCache)(opts);
72 - });
73 -}
74 -function addTestServerCommand(program2) {
75 - const command = program2.command("test-server", { hidden: true });
76 - command.description("start test server");
77 - command.option("-c, --config <file>", `Configuration file, or a test directory with optional "playwright.config.{m,c}?{js,ts}"`);
78 - command.option("--host <host>", "Host to start the server on", "localhost");
79 - command.option("--port <port>", "Port to start the server on", "0");
80 - command.action(async (opts) => {
81 - await (0, import_testActions.runTestServerAction)(opts);
82 - });
83 -}
84 -function addShowReportCommand(program2) {
85 - const command = program2.command("show-report [report]");
86 - command.description("show HTML report");
87 - command.action(async (report, options) => {
88 - await (0, import_reportActions.showReport)(report, options.host, +options.port);
89 - });
90 - command.option("--host <host>", "Host to serve report on", "localhost");
91 - command.option("--port <port>", "Port to serve report on", "9323");
92 - command.addHelpText("afterAll", `
93 -Arguments [report]:
94 - When specified, opens given report, otherwise opens last generated report.
95 - Accepts a directory or a .zip archive whose top-level entry is "index.html" (e.g. one downloaded from a CI artifact).
96 -
97 -Examples:
98 - $ npx playwright show-report
99 - $ npx playwright show-report playwright-report
100 - $ npx playwright show-report playwright-report.zip`);
101 -}
102 -function addMergeReportsCommand(program2) {
103 - const command = program2.command("merge-reports [dir]");
104 - command.description("merge multiple blob reports (for sharded tests) into a single report");
105 - command.action(async (dir, options) => {
106 - try {
107 - await (0, import_reportActions.mergeReports)(dir, options);
108 - } catch (e) {
109 - console.error(e);
110 - gracefullyProcessExitDoNotHang(1);
111 - }
112 - });
113 - command.option("-c, --config <file>", `Configuration file. Can be used to specify additional configuration for the output report.`);
114 - command.option("--reporter <reporter>", `Reporter to use, comma-separated, can be ${import_common.builtInReporters.map((name) => `"${name}"`).join(", ")} (default: "${import_common.config.defaultReporter}")`);
115 - command.addHelpText("afterAll", `
116 -Arguments [dir]:
117 - Directory containing blob reports.
118 -
119 -Examples:
120 - $ npx playwright merge-reports playwright-report`);
121 -}
122 -function addTestMCPServerCommand(program2) {
123 - const command = program2.command("run-test-mcp-server", { hidden: true });
124 - command.description("Interact with the test runner over MCP");
125 - command.option("--headless", "run browser in headless mode, headed by default");
126 - command.option("-c, --config <file>", `Configuration file, or a test directory with optional "playwright.config.{m,c}?{js,ts}"`);
127 - command.option("--host <host>", "host to bind server to. Default is localhost. Use 0.0.0.0 to bind to all interfaces.");
128 - command.option("--port <port>", "port to listen on for SSE transport.");
129 - command.action(async (options) => {
130 - import_coreBundle.tools.setupExitWatchdog();
131 - const factory = {
132 - name: "Playwright Test Runner",
133 - nameInConfig: "playwright-test-runner",
134 - version: import_package.packageJSON.version,
135 - toolSchemas: import_testBackend.testServerBackendTools.map((tool) => tool.schema),
136 - create: async () => new import_testBackend.TestServerBackend(options.config, { muteConsole: options.port === void 0, headless: options.headless }),
137 - disposed: async () => {
138 - }
139 - };
140 - await import_coreBundle.tools.start(factory, { port: options.port === void 0 ? void 0 : +options.port, host: options.host });
141 - });
142 -}
143 -function addInitAgentsCommand(program2) {
144 - const command = program2.command("init-agents");
145 - command.description("Initialize repository agents");
146 - const option = command.createOption("--loop <loop>", "Agentic loop provider");
147 - option.choices(["claude", "copilot", "opencode", "vscode", "vscode-legacy"]);
148 - command.addOption(option);
149 - command.option("-c, --config <file>", `Configuration file to find a project to use for seed test`);
150 - command.option("--project <project>", "Project to use for seed test");
151 - command.option("--prompts", "Whether to include prompts in the agent initialization");
152 - command.action(async (opts) => {
153 - const loadedConfig = await import_common.configLoader.loadConfigFromFile(opts.config);
154 - if (opts.loop === "opencode") {
155 - await import_generateAgents.OpencodeGenerator.init(loadedConfig, opts.project, opts.prompts);
156 - } else if (opts.loop === "vscode-legacy") {
157 - await import_generateAgents.VSCodeGenerator.init(loadedConfig, opts.project);
158 - } else if (opts.loop === "claude") {
159 - await import_generateAgents.ClaudeGenerator.init(loadedConfig, opts.project, opts.prompts);
160 - } else {
161 - await import_generateAgents.CopilotGenerator.init(loadedConfig, opts.project, opts.prompts);
162 - return;
163 - }
164 - });
165 -}
166 -const kTraceModes = ["on", "off", "on-first-retry", "on-all-retries", "retain-on-failure", "retain-on-first-failure", "retain-on-failure-and-retries"];
167 -const testOptions = [
168 - /* deprecated */
169 - ["--browser <browser>", { description: `Browser to use for tests, one of "all", "chromium", "firefox" or "webkit" (default: "chromium")` }],
170 - ["-c, --config <file>", { description: `Configuration file, or a test directory with optional "playwright.config.{m,c}?{js,ts}"` }],
171 - ["--debug [mode]", { description: `Run tests with Playwright Inspector. Shortcut for "PWDEBUG=1" environment variable and "--timeout=0 --max-failures=1 --headed --workers=1" options`, choices: ["inspector", "cli"], preset: "inspector" }],
172 - ["--fail-on-flaky-tests", { description: `Fail if any test is flagged as flaky (default: false)` }],
173 - ["--forbid-only", { description: `Fail if test.only is called (default: false)` }],
174 - ["--fully-parallel", { description: `Run all tests in parallel (default: false)` }],
175 - ["--global-timeout <timeout>", { description: `Maximum time this test suite can run in milliseconds (default: unlimited)` }],
176 - ["-g, --grep <grep>", { description: `Only run tests matching this regular expression (default: ".*")` }],
177 - ["--grep-invert <grep>", { description: `Only run tests that do not match this regular expression` }],
178 - ["--headed", { description: `Run tests in headed browsers (default: headless)` }],
179 - ["--ignore-snapshots", { description: `Ignore screenshot and snapshot expectations` }],
180 - ["--last-failed", { description: `Only re-run the failures` }],
181 - ["--list", { description: `Collect all the tests and report them, but do not run` }],
182 - ["--max-failures <N>", { description: `Stop after the first N failures` }],
183 - ["--no-deps", { description: `Do not run project dependencies` }],
184 - ["--output <dir>", { description: `Folder for output artifacts (default: "test-results")` }],
185 - ["--only-changed [ref]", { description: `Only run test files that have been changed between 'HEAD' and 'ref'. Defaults to running all uncommitted changes. Only supports Git.` }],
186 - ["--pass-with-no-tests", { description: `Makes test run succeed even if no tests were found` }],
187 - ["--project <project-name...>", { description: `Only run tests from the specified list of projects, supports '*' wildcard (default: run all projects)` }],
188 - ["--quiet", { description: `Suppress stdio` }],
189 - ["--repeat-each <N>", { description: `Run each test N times (default: 1)` }],
190 - ["--reporter <reporter>", { description: `Reporter to use, comma-separated, can be ${import_common.builtInReporters.map((name) => `"${name}"`).join(", ")} (default: "${import_common.config.defaultReporter}")` }],
191 - ["--retries <retries>", { description: `Maximum retry count for flaky tests, zero for no retries (default: no retries)` }],
192 - ["--run-agents <mode>", { description: `Run agents to generate the code for page.perform`, choices: ["missing", "all", "none"], preset: "none" }],
193 - ["--shard <shard>", { description: `Shard tests and execute only the selected shard, specify in the form "current/all", 1-based, for example "3/5"` }],
194 - ["--test-list <file>", { description: `Path to a file containing a list of tests to run. See https://playwright.dev/docs/test-cli for more details.` }],
195 - ["--test-list-invert <file>", { description: `Path to a file containing a list of tests to skip. See https://playwright.dev/docs/test-cli for more details.` }],
196 - ["--timeout <timeout>", { description: `Specify test timeout threshold in milliseconds, zero for unlimited (default: ${import_common.config.defaultTimeout})` }],
197 - ["--trace <mode>", { description: `Force tracing mode`, choices: kTraceModes }],
198 - ["--tsconfig <path>", { description: `Path to a single tsconfig applicable to all imported files (default: look up tsconfig for each imported file separately)` }],
199 - ["--ui", { description: `Run tests in interactive UI mode` }],
200 - ["--ui-host <host>", { description: `Host to serve UI on; specifying this option opens UI in a browser tab` }],
201 - ["--ui-port <port>", { description: `Port to serve UI on, 0 for any free port; specifying this option opens UI in a browser tab` }],
202 - ["-u, --update-snapshots [mode]", { description: `Update snapshots with actual results. Running tests without the flag defaults to "missing"`, choices: ["all", "changed", "missing", "none"], preset: "changed" }],
203 - ["--update-source-method <method>", { description: `Chooses the way source is updated (default: "patch")`, choices: ["overwrite", "3way", "patch"] }],
204 - ["-j, --workers <workers>", { description: `Number of concurrent workers or percentage of logical CPU cores, use 1 to run in a single worker (default: 50%)` }],
205 - ["-x", { description: `Stop after the first failure` }]
206 -];
207 -addTestCommand(program);
208 -addShowReportCommand(program);
209 -addMergeReportsCommand(program);
210 -addClearCacheCommand(program);
211 -addTestMCPServerCommand(program);
212 -addTestServerCommand(program);
213 -addInitAgentsCommand(program);
214 -// Annotate the CommonJS export names for ESM import in node:
215 -0 && (module.exports = {
216 - program
217 -});
node_modules/playwright/lib/runner/index.js deleted
-8035
@@ -1,8035 +0,0 @@
1 -"use strict";
2 -var __create = Object.create;
3 -var __defProp = Object.defineProperty;
4 -var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5 -var __getOwnPropNames = Object.getOwnPropertyNames;
6 -var __getProtoOf = Object.getPrototypeOf;
7 -var __hasOwnProp = Object.prototype.hasOwnProperty;
8 -var __export = (target, all) => {
9 - for (var name in all)
10 - __defProp(target, name, { get: all[name], enumerable: true });
11 -};
12 -var __copyProps = (to, from, except, desc) => {
13 - if (from && typeof from === "object" || typeof from === "function") {
14 - for (let key of __getOwnPropNames(from))
15 - if (!__hasOwnProp.call(to, key) && key !== except)
16 - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17 - }
18 - return to;
19 -};
20 -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21 - // If the importer is in node compatibility mode or this is not an ESM
22 - // file that has been converted to a CommonJS file using a Babel-
23 - // compatible transform (i.e. "__esModule" has not been set), then set
24 - // "default" to the CommonJS "module.exports" for node compatibility.
25 - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26 - mod
27 -));
28 -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29 -
30 -// packages/playwright/src/runner/index.ts
31 -var index_exports = {};
32 -__export(index_exports, {
33 - ListModeReporter: () => listModeReporter_default,
34 - ListReporter: () => list_default,
35 - TestServerConnection: () => TestServerConnection,
36 - base: () => base_exports,
37 - html: () => html_exports,
38 - merge: () => merge_exports,
39 - projectUtils: () => projectUtils_exports,
40 - runnerReporters: () => reporters_exports,
41 - testRunner: () => testRunner_exports,
42 - testServer: () => testServer_exports,
43 - watchMode: () => watchMode_exports,
44 - webServer: () => webServer
45 -});
46 -module.exports = __toCommonJS(index_exports);
47 -
48 -// packages/playwright/src/runner/testRunner.ts
49 -var testRunner_exports = {};
50 -__export(testRunner_exports, {
51 - TestRunner: () => TestRunner,
52 - TestRunnerEvent: () => TestRunnerEvent,
53 - runAllTestsWithConfig: () => runAllTestsWithConfig
54 -});
55 -var import_events2 = __toESM(require("events"));
56 -var import_fs13 = __toESM(require("fs"));
57 -var import_path17 = __toESM(require("path"));
58 -var import_coreBundle2 = require("playwright-core/lib/coreBundle");
59 -var import_common9 = require("../common");
60 -
61 -// packages/playwright/src/runner/fsWatcher.ts
62 -var chokidar = require("playwright-core/lib/utilsBundle").chokidar;
63 -var FSWatcher = class {
64 - constructor(onChange) {
65 - this._watchedPaths = [];
66 - this._ignoredFolders = [];
67 - this._collector = [];
68 - this._onChange = onChange;
69 - }
70 - async update(watchedPaths, ignoredFolders, reportPending) {
71 - if (JSON.stringify([this._watchedPaths, this._ignoredFolders]) === JSON.stringify([watchedPaths, ignoredFolders]))
72 - return;
73 - if (reportPending)
74 - this._reportEventsIfAny();
75 - this._watchedPaths = watchedPaths;
76 - this._ignoredFolders = ignoredFolders;
77 - void this._fsWatcher?.close();
78 - this._fsWatcher = void 0;
79 - this._collector.length = 0;
80 - clearTimeout(this._throttleTimer);
81 - this._throttleTimer = void 0;
82 - if (!this._watchedPaths.length)
83 - return;
84 - const ignored = [...this._ignoredFolders, "**/node_modules/**"];
85 - this._fsWatcher = chokidar.watch(watchedPaths, { ignoreInitial: true, ignored }).on("all", async (event, file) => {
86 - if (this._throttleTimer)
87 - clearTimeout(this._throttleTimer);
88 - this._collector.push({ event, file });
89 - this._throttleTimer = setTimeout(() => this._reportEventsIfAny(), 250);
90 - });
91 - await new Promise((resolve, reject) => this._fsWatcher.once("ready", resolve).once("error", reject));
92 - }
93 - async close() {
94 - await this._fsWatcher?.close();
95 - }
96 - _reportEventsIfAny() {
97 - if (this._collector.length)
98 - this._onChange(this._collector.slice());
99 - this._collector.length = 0;
100 - }
101 -};
102 -
103 -// packages/playwright/src/isomorphic/teleReceiver.ts
104 -var TeleReporterReceiver = class {
105 - constructor(reporter, options = {}) {
106 - this.isListing = false;
107 - this._tests = /* @__PURE__ */ new Map();
108 - this._rootSuite = new TeleSuite("", "root");
109 - this._options = options;
110 - this._reporter = reporter;
111 - }
112 - reset() {
113 - this._rootSuite._entries = [];
114 - this._tests.clear();
115 - }
116 - dispatch(message) {
117 - const { method, params } = message;
118 - if (method === "onConfigure") {
119 - this._onConfigure(params.config);
120 - return;
121 - }
122 - if (method === "onProject") {
123 - this._onProject(params.project);
124 - return;
125 - }
126 - if (method === "onBegin") {
127 - this._onBegin();
128 - return;
129 - }
130 - if (method === "onTestBegin") {
131 - this._onTestBegin(params.testId, params.result);
132 - return;
133 - }
134 - if (method === "onTestPaused") {
135 - this._onTestPaused(params.testId, params.resultId, params.errors);
136 - return;
137 - }
138 - if (method === "onTestEnd") {
139 - this._onTestEnd(params.test, params.result);
140 - return;
141 - }
142 - if (method === "onStepBegin") {
143 - this._onStepBegin(params.testId, params.resultId, params.step);
144 - return;
145 - }
146 - if (method === "onAttach") {
147 - this._onAttach(params.testId, params.resultId, params.attachments);
148 - return;
149 - }
150 - if (method === "onStepEnd") {
151 - this._onStepEnd(params.testId, params.resultId, params.step);
152 - return;
153 - }
154 - if (method === "onError") {
155 - this._onError(params.error, params.workerInfo);
156 - return;
157 - }
158 - if (method === "onStdIO") {
159 - this._onStdIO(params.type, params.testId, params.resultId, params.data, params.isBase64);
160 - return;
161 - }
162 - if (method === "onEnd")
163 - return this._onEnd(params.result);
164 - if (method === "onExit")
165 - return this._onExit();
166 - }
167 - _onConfigure(config2) {
168 - this._rootDir = config2.rootDir;
169 - this._config = this._parseConfig(config2);
170 - this._reporter.onConfigure?.(this._config);
171 - }
172 - _onProject(project) {
173 - let projectSuite = this._options.mergeProjects ? this._rootSuite.suites.find((suite) => suite.project().name === project.name) : void 0;
174 - if (!projectSuite) {
175 - projectSuite = new TeleSuite(project.name, "project");
176 - this._rootSuite._addSuite(projectSuite);
177 - }
178 - const parsed = this._parseProject(project);
179 - projectSuite._project = parsed;
180 - let index = -1;
181 - if (this._options.mergeProjects)
182 - index = this._config.projects.findIndex((p) => p.name === project.name);
183 - if (index === -1)
184 - this._config.projects.push(parsed);
185 - else
186 - this._config.projects[index] = parsed;
187 - for (const suite of project.suites)
188 - this._mergeSuiteInto(suite, projectSuite);
189 - }
190 - _onBegin() {
191 - this._reporter.onBegin?.(this._rootSuite);
192 - }
193 - _onTestBegin(testId, payload) {
194 - const test = this._tests.get(testId);
195 - if (this._options.clearPreviousResultsWhenTestBegins)
196 - test.results = [];
197 - const testResult = test._createTestResult(payload.id);
198 - testResult.retry = payload.retry;
199 - testResult.workerIndex = payload.workerIndex;
200 - testResult.parallelIndex = payload.parallelIndex;
201 - testResult.setStartTimeNumber(payload.startTime);
202 - this._reporter.onTestBegin?.(test, testResult);
203 - }
204 - _onTestPaused(testId, resultId, errors) {
205 - const test = this._tests.get(testId);
206 - const result = test.results.find((r) => r._id === resultId);
207 - result.errors.push(...errors);
208 - result.error = result.errors[0];
209 - void this._reporter.onTestPaused?.(test, result);
210 - }
211 - _onTestEnd(testEndPayload, payload) {
212 - const test = this._tests.get(testEndPayload.testId);
213 - test.timeout = testEndPayload.timeout;
214 - test.expectedStatus = testEndPayload.expectedStatus;
215 - const result = test.results.find((r) => r._id === payload.id);
216 - result.duration = payload.duration;
217 - result.status = payload.status;
218 - result.errors.push(...payload.errors ?? []);
219 - result.error = result.errors[0];
220 - if (!!payload.attachments)
221 - result.attachments = this._parseAttachments(payload.attachments);
222 - if (payload.annotations) {
223 - this._absoluteAnnotationLocationsInplace(payload.annotations);
224 - result.annotations = payload.annotations;
225 - test.annotations = payload.annotations;
226 - }
227 - this._reporter.onTestEnd?.(test, result);
228 - result._stepMap = /* @__PURE__ */ new Map();
229 - }
230 - _onStepBegin(testId, resultId, payload) {
231 - const test = this._tests.get(testId);
232 - const result = test.results.find((r) => r._id === resultId);
233 - const parentStep = payload.parentStepId ? result._stepMap.get(payload.parentStepId) : void 0;
234 - const location = this._absoluteLocation(payload.location);
235 - const step = new TeleTestStep(payload, parentStep, location, result);
236 - if (parentStep)
237 - parentStep.steps.push(step);
238 - else
239 - result.steps.push(step);
240 - result._stepMap.set(payload.id, step);
241 - this._reporter.onStepBegin?.(test, result, step);
242 - }
243 - _onStepEnd(testId, resultId, payload) {
244 - const test = this._tests.get(testId);
245 - const result = test.results.find((r) => r._id === resultId);
246 - const step = result._stepMap.get(payload.id);
247 - step._endPayload = payload;
248 - step.duration = payload.duration;
249 - step.error = payload.error;
250 - this._reporter.onStepEnd?.(test, result, step);
251 - }
252 - _onAttach(testId, resultId, attachments) {
253 - const test = this._tests.get(testId);
254 - const result = test.results.find((r) => r._id === resultId);
255 - result.attachments.push(...attachments.map((a) => ({
256 - name: a.name,
257 - contentType: a.contentType,
258 - path: a.path,
259 - body: a.base64 && globalThis.Buffer ? Buffer.from(a.base64, "base64") : void 0
260 - })));
261 - }
262 - _onError(error, workerInfo) {
263 - let fullWorkerInfo;
264 - if (workerInfo) {
265 - const project = this._config.projects.find((p) => p.name === workerInfo.projectName);
266 - if (project) {
267 - fullWorkerInfo = {
268 - workerIndex: workerInfo.workerIndex,
269 - parallelIndex: workerInfo.parallelIndex,
270 - config: this._config,
271 - project
272 - };
273 - }
274 - }
275 - this._reporter.onError?.(error, fullWorkerInfo);
276 - }
277 - _onStdIO(type, testId, resultId, data, isBase64) {
278 - const chunk = isBase64 ? globalThis.Buffer ? Buffer.from(data, "base64") : atob(data) : data;
279 - const test = testId ? this._tests.get(testId) : void 0;
280 - const result = test && resultId ? test.results.find((r) => r._id === resultId) : void 0;
281 - if (type === "stdout") {
282 - result?.stdout.push(chunk);
283 - this._reporter.onStdOut?.(chunk, test, result);
284 - } else {
285 - result?.stderr.push(chunk);
286 - this._reporter.onStdErr?.(chunk, test, result);
287 - }
288 - }
289 - async _onEnd(result) {
290 - await this._reporter.onEnd?.(asFullResult(result));
291 - }
292 - _onExit() {
293 - return this._reporter.onExit?.();
294 - }
295 - _parseConfig(config2) {
296 - const result = asFullConfig(config2);
297 - if (this._options.configOverrides) {
298 - result.configFile = this._options.configOverrides.configFile;
299 - result.reportSlowTests = this._options.configOverrides.reportSlowTests;
300 - result.quiet = this._options.configOverrides.quiet;
301 - result.reporter = [...this._options.configOverrides.reporter];
302 - }
303 - return result;
304 - }
305 - _parseProject(project) {
306 - return {
307 - metadata: project.metadata,
308 - name: project.name,
309 - outputDir: this._absolutePath(project.outputDir),
310 - repeatEach: project.repeatEach,
311 - retries: project.retries,
312 - testDir: this._absolutePath(project.testDir),
313 - testIgnore: parseRegexPatterns(project.testIgnore),
314 - testMatch: parseRegexPatterns(project.testMatch),
315 - timeout: project.timeout,
316 - grep: parseRegexPatterns(project.grep),
317 - grepInvert: parseRegexPatterns(project.grepInvert),
318 - dependencies: project.dependencies,
319 - teardown: project.teardown,
320 - snapshotDir: this._absolutePath(project.snapshotDir),
321 - ignoreSnapshots: project.ignoreSnapshots ?? false,
322 - use: project.use
323 - };
324 - }
325 - _parseAttachments(attachments) {
326 - return attachments.map((a) => {
327 - return {
328 - ...a,
329 - body: a.base64 && globalThis.Buffer ? Buffer.from(a.base64, "base64") : void 0
330 - };
331 - });
332 - }
333 - _mergeSuiteInto(jsonSuite, parent) {
334 - let targetSuite = parent.suites.find((s) => s.title === jsonSuite.title);
335 - if (!targetSuite) {
336 - targetSuite = new TeleSuite(jsonSuite.title, parent.type === "project" ? "file" : "describe");
337 - parent._addSuite(targetSuite);
338 - }
339 - targetSuite.location = this._absoluteLocation(jsonSuite.location);
340 - jsonSuite.entries.forEach((e) => {
341 - if ("testId" in e)
342 - this._mergeTestInto(e, targetSuite);
343 - else
344 - this._mergeSuiteInto(e, targetSuite);
345 - });
346 - }
347 - _mergeTestInto(jsonTest, parent) {
348 - let targetTest = this._options.mergeTestCases ? parent.tests.find((s) => s.title === jsonTest.title && s.repeatEachIndex === jsonTest.repeatEachIndex) : void 0;
349 - if (!targetTest) {
350 - targetTest = new TeleTestCase(jsonTest.testId, jsonTest.title, this._absoluteLocation(jsonTest.location), jsonTest.repeatEachIndex);
351 - parent._addTest(targetTest);
352 - this._tests.set(targetTest.id, targetTest);
353 - }
354 - this._updateTest(jsonTest, targetTest);
355 - }
356 - _updateTest(payload, test) {
357 - test.id = payload.testId;
358 - test.location = this._absoluteLocation(payload.location);
359 - test.retries = payload.retries;
360 - test.tags = payload.tags ?? [];
361 - test.annotations = payload.annotations ?? [];
362 - this._absoluteAnnotationLocationsInplace(test.annotations);
363 - return test;
364 - }
365 - _absoluteAnnotationLocationsInplace(annotations) {
366 - for (const annotation of annotations) {
367 - if (annotation.location)
368 - annotation.location = this._absoluteLocation(annotation.location);
369 - }
370 - }
371 - _absoluteLocation(location) {
372 - if (!location)
373 - return location;
374 - return {
375 - ...location,
376 - file: this._absolutePath(location.file)
377 - };
378 - }
379 - _absolutePath(relativePath) {
380 - if (relativePath === void 0)
381 - return;
382 - return this._options.resolvePath ? this._options.resolvePath(this._rootDir, relativePath) : this._rootDir + "/" + relativePath;
383 - }
384 -};
385 -var TeleSuite = class {
386 - constructor(title, type) {
387 - this._entries = [];
388 - this._requireFile = "";
389 - this._parallelMode = "none";
390 - this.title = title;
391 - this._type = type;
392 - }
393 - get type() {
394 - return this._type;
395 - }
396 - get suites() {
397 - return this._entries.filter((e) => e.type !== "test");
398 - }
399 - get tests() {
400 - return this._entries.filter((e) => e.type === "test");
401 - }
402 - entries() {
403 - return this._entries;
404 - }
405 - allTests() {
406 - const result = [];
407 - const visit = (suite) => {
408 - for (const entry of suite.entries()) {
409 - if (entry.type === "test")
410 - result.push(entry);
411 - else
412 - visit(entry);
413 - }
414 - };
415 - visit(this);
416 - return result;
417 - }
418 - titlePath() {
419 - const titlePath = this.parent ? this.parent.titlePath() : [];
420 - if (this.title || this._type !== "describe")
421 - titlePath.push(this.title);
422 - return titlePath;
423 - }
424 - project() {
425 - return this._project ?? this.parent?.project();
426 - }
427 - _addTest(test) {
428 - test.parent = this;
429 - this._entries.push(test);
430 - }
431 - _addSuite(suite) {
432 - suite.parent = this;
433 - this._entries.push(suite);
434 - }
435 -};
436 -var TeleTestCase = class {
437 - constructor(id, title, location, repeatEachIndex) {
438 - this.fn = () => {
439 - };
440 - this.results = [];
441 - this.type = "test";
442 - this.expectedStatus = "passed";
443 - this.timeout = 0;
444 - this.annotations = [];
445 - this.retries = 0;
446 - this.tags = [];
447 - this.repeatEachIndex = 0;
448 - this.id = id;
449 - this.title = title;
450 - this.location = location;
451 - this.repeatEachIndex = repeatEachIndex;
452 - }
453 - titlePath() {
454 - const titlePath = this.parent ? this.parent.titlePath() : [];
455 - titlePath.push(this.title);
456 - return titlePath;
457 - }
458 - outcome() {
459 - return computeTestCaseOutcome(this);
460 - }
461 - ok() {
462 - const status = this.outcome();
463 - return status === "expected" || status === "flaky" || status === "skipped";
464 - }
465 - _createTestResult(id) {
466 - const result = new TeleTestResult(this.results.length, id);
467 - this.results.push(result);
468 - return result;
469 - }
470 -};
471 -var TeleTestStep = class {
472 - constructor(payload, parentStep, location, result) {
473 - this.duration = -1;
474 - this.steps = [];
475 - this._startTime = 0;
476 - this.title = payload.title;
477 - this.category = payload.category;
478 - this.location = location;
479 - this.parent = parentStep;
480 - this._startTime = payload.startTime;
481 - this._result = result;
482 - }
483 - titlePath() {
484 - const parentPath = this.parent?.titlePath() || [];
485 - return [...parentPath, this.title];
486 - }
487 - get startTime() {
488 - return new Date(this._startTime);
489 - }
490 - set startTime(value) {
491 - this._startTime = +value;
492 - }
493 - get attachments() {
494 - return this._endPayload?.attachments?.map((index) => this._result.attachments[index]) ?? [];
495 - }
496 - get annotations() {
497 - return this._endPayload?.annotations ?? [];
498 - }
499 -};
500 -var TeleTestResult = class {
501 - constructor(retry, id) {
502 - this.parallelIndex = -1;
503 - this.workerIndex = -1;
504 - this.duration = -1;
505 - this.stdout = [];
506 - this.stderr = [];
507 - this.attachments = [];
508 - this.annotations = [];
509 - this.status = "skipped";
510 - this.steps = [];
511 - this.errors = [];
512 - this._stepMap = /* @__PURE__ */ new Map();
513 - this._startTime = 0;
514 - this.retry = retry;
515 - this._id = id;
516 - }
517 - setStartTimeNumber(startTime) {
518 - this._startTime = startTime;
519 - }
520 - get startTime() {
521 - return new Date(this._startTime);
522 - }
523 - set startTime(value) {
524 - this._startTime = +value;
525 - }
526 -};
527 -var baseFullConfig = {
528 - forbidOnly: false,
529 - fullyParallel: false,
530 - globalSetup: null,
531 - globalTeardown: null,
532 - globalTimeout: 0,
533 - grep: /.*/,
534 - grepInvert: null,
535 - maxFailures: 0,
536 - metadata: {},
537 - preserveOutput: "always",
538 - projects: [],
539 - reporter: [[process.env.CI ? "dot" : "list"]],
540 - reportSlowTests: {
541 - max: 5,
542 - threshold: 3e5
543 - /* 5 minutes */
544 - },
545 - configFile: "",
546 - rootDir: "",
547 - quiet: false,
548 - shard: null,
549 - tags: [],
550 - updateSnapshots: "missing",
551 - updateSourceMethod: "patch",
552 - version: "",
553 - workers: 0,
554 - webServer: null
555 -};
556 -function serializeRegexPatterns(patterns) {
557 - if (!Array.isArray(patterns))
558 - patterns = [patterns];
559 - return patterns.map((s) => {
560 - if (typeof s === "string")
561 - return { s };
562 - return { r: { source: s.source, flags: s.flags } };
563 - });
564 -}
565 -function parseRegexPatterns(patterns) {
566 - return patterns.map((p) => {
567 - if (p.s !== void 0)
568 - return p.s;
569 - return new RegExp(p.r.source, p.r.flags);
570 - });
571 -}
572 -function computeTestCaseOutcome(test) {
573 - let skipped = 0;
574 - let didNotRun = 0;
575 - let expected = 0;
576 - let interrupted = 0;
577 - let unexpected = 0;
578 - for (const result of test.results) {
579 - if (result.status === "interrupted") {
580 - ++interrupted;
581 - } else if (result.status === "skipped" && test.expectedStatus === "skipped") {
582 - ++skipped;
583 - } else if (result.status === "skipped") {
584 - ++didNotRun;
585 - } else if (result.status === test.expectedStatus) {
586 - ++expected;
587 - } else {
588 - ++unexpected;
589 - }
590 - }
591 - if (expected === 0 && unexpected === 0)
592 - return "skipped";
593 - if (unexpected === 0)
594 - return "expected";
595 - if (expected === 0 && skipped === 0)
596 - return "unexpected";
597 - return "flaky";
598 -}
599 -function asFullResult(result) {
600 - return {
601 - status: result.status,
602 - startTime: new Date(result.startTime),
603 - duration: result.duration
604 - };
605 -}
606 -function asFullConfig(config2) {
607 - return { ...baseFullConfig, ...config2 };
608 -}
609 -
610 -// packages/playwright/src/plugins/gitCommitInfoPlugin.ts
611 -var fs = __toESM(require("fs"));
612 -var { monotonicTime } = require("playwright-core/lib/coreBundle").iso;
613 -var { spawnAsync } = require("playwright-core/lib/coreBundle").utils;
614 -var GIT_OPERATIONS_TIMEOUT_MS = 3e3;
615 -var addGitCommitInfoPlugin = (fullConfig) => {
616 - fullConfig.plugins.push({ factory: gitCommitInfoPlugin.bind(null, fullConfig) });
617 -};
618 -function print(s, ...args) {
619 - console.log("GitCommitInfo: " + s, ...args);
620 -}
621 -function debug(s, ...args) {
622 - if (!process.env.DEBUG_GIT_COMMIT_INFO)
623 - return;
624 - print(s, ...args);
625 -}
626 -var gitCommitInfoPlugin = (fullConfig) => {
627 - return {
628 - name: "playwright:git-commit-info",
629 - setup: async (config2, configDir) => {
630 - const metadata = config2.metadata;
631 - const ci = await ciInfo();
632 - if (!metadata.ci && ci) {
633 - debug("ci info", ci);
634 - metadata.ci = ci;
635 - }
636 - if (fullConfig.captureGitInfo?.commit || fullConfig.captureGitInfo?.commit === void 0 && ci) {
637 - const git = await gitCommitInfo(configDir).catch((e) => print("failed to get git commit info", e));
638 - if (git) {
639 - debug("commit info", git);
640 - metadata.gitCommit = git;
641 - }
642 - }
643 - if (fullConfig.captureGitInfo?.diff || fullConfig.captureGitInfo?.diff === void 0 && ci) {
644 - const diffResult = await gitDiff(configDir, ci).catch((e) => print("failed to get git diff", e));
645 - if (diffResult) {
646 - debug(`diff length ${diffResult.length}`);
647 - metadata.gitDiff = diffResult;
648 - }
649 - }
650 - }
651 - };
652 -};
653 -async function ciInfo() {
654 - if (process.env.GITHUB_ACTIONS) {
655 - let pr;
656 - try {
657 - const json = JSON.parse(await fs.promises.readFile(process.env.GITHUB_EVENT_PATH, "utf8"));
658 - pr = { title: json.pull_request.title, number: json.pull_request.number, baseHash: json.pull_request.base.sha };
659 - } catch {
660 - }
661 - return {
662 - commitHref: `${process.env.GITHUB_SERVER_URL}/${process.env.GITHUB_REPOSITORY}/commit/${process.env.GITHUB_SHA}`,
663 - commitHash: process.env.GITHUB_SHA,
664 - prHref: pr ? `${process.env.GITHUB_SERVER_URL}/${process.env.GITHUB_REPOSITORY}/pull/${pr.number}` : void 0,
665 - prTitle: pr?.title,
666 - prBaseHash: pr?.baseHash,
667 - buildHref: `${process.env.GITHUB_SERVER_URL}/${process.env.GITHUB_REPOSITORY}/actions/runs/${process.env.GITHUB_RUN_ID}`
668 - };
669 - }
670 - if (process.env.GITLAB_CI) {
671 - return {
672 - commitHref: `${process.env.CI_PROJECT_URL}/-/commit/${process.env.CI_COMMIT_SHA}`,
673 - commitHash: process.env.CI_COMMIT_SHA,
674 - buildHref: process.env.CI_JOB_URL,
675 - branch: process.env.CI_COMMIT_REF_NAME
676 - };
677 - }
678 - if (process.env.JENKINS_URL && process.env.BUILD_URL) {
679 - return {
680 - commitHref: process.env.BUILD_URL,
681 - commitHash: process.env.GIT_COMMIT,
682 - branch: process.env.GIT_BRANCH
683 - };
684 - }
685 -}
686 -async function gitCommitInfo(gitDir) {
687 - const separator2 = `---786eec917292---`;
688 - const tokens = [
689 - "%H",
690 - // commit hash
691 - "%h",
692 - // abbreviated commit hash
693 - "%s",
694 - // subject
695 - "%B",
696 - // raw body (unwrapped subject and body)
697 - "%an",
698 - // author name
699 - "%ae",
700 - // author email
701 - "%at",
702 - // author date, UNIX timestamp
703 - "%cn",
704 - // committer name
705 - "%ce",
706 - // committer email
707 - "%ct",
708 - // committer date, UNIX timestamp
709 - ""
710 - // branch
711 - ];
712 - const output = await runGit(`git log -1 --pretty=format:"${tokens.join(separator2)}" && git rev-parse --abbrev-ref HEAD`, gitDir);
713 - if (!output)
714 - return void 0;
715 - const [hash, shortHash, subject, body, authorName, authorEmail, authorTime, committerName, committerEmail, committerTime, branch] = output.split(separator2);
716 - return {
717 - shortHash,
718 - hash,
719 - subject,
720 - body,
721 - author: {
722 - name: authorName,
723 - email: authorEmail,
724 - time: +authorTime * 1e3
725 - },
726 - committer: {
727 - name: committerName,
728 - email: committerEmail,
729 - time: +committerTime * 1e3
730 - },
731 - branch: branch.trim()
732 - };
733 -}
734 -async function gitDiff(gitDir, ci) {
735 - const diffLimit = 1e5;
736 - if (ci?.prBaseHash) {
737 - await runGit(`git fetch origin ${ci.prBaseHash} --depth=1 --no-auto-maintenance --no-auto-gc --no-tags --no-recurse-submodules`, gitDir);
738 - const diff3 = await runGit(`git diff ${ci.prBaseHash} HEAD`, gitDir);
739 - if (diff3)
740 - return diff3.substring(0, diffLimit);
741 - }
742 - if (ci)
743 - return;
744 - const uncommitted = await runGit("git diff", gitDir);
745 - if (uncommitted === void 0) {
746 - return;
747 - }
748 - if (uncommitted)
749 - return uncommitted.substring(0, diffLimit);
750 - const diff2 = await runGit("git diff HEAD~1", gitDir);
751 - return diff2?.substring(0, diffLimit);
752 -}
753 -async function runGit(command, cwd) {
754 - debug(`running "${command}"`);
755 - const start = monotonicTime();
756 - const result = await spawnAsync(
757 - command,
758 - [],
759 - { stdio: "pipe", cwd, timeout: GIT_OPERATIONS_TIMEOUT_MS, shell: true }
760 - );
761 - if (monotonicTime() - start > GIT_OPERATIONS_TIMEOUT_MS) {
762 - print(`timeout of ${GIT_OPERATIONS_TIMEOUT_MS}ms exceeded while running "${command}"`);
763 - return;
764 - }
765 - if (result.code)
766 - debug(`failure, code=${result.code}
767 -
768 -${result.stderr}`);
769 - else
770 - debug(`success`);
771 - return result.code ? void 0 : result.stdout.trim();
772 -}
773 -
774 -// packages/playwright/src/plugins/webServerPlugin.ts
775 -var import_net = __toESM(require("net"));
776 -var import_path = __toESM(require("path"));
777 -var colors = require("playwright-core/lib/utilsBundle").colors;
778 -var debug2 = require("playwright-core/lib/utilsBundle").debug;
779 -var { ManualPromise } = require("playwright-core/lib/coreBundle").iso;
780 -var { monotonicTime: monotonicTime2 } = require("playwright-core/lib/coreBundle").iso;
781 -var { raceAgainstDeadline } = require("playwright-core/lib/coreBundle").iso;
782 -var { isURLAvailable } = require("playwright-core/lib/coreBundle").utils;
783 -var { launchProcess } = require("playwright-core/lib/coreBundle").utils;
784 -var DEFAULT_ENVIRONMENT_VARIABLES = {
785 - "BROWSER": "none",
786 - // Disable that create-react-app will open the page in the browser
787 - "FORCE_COLOR": "1",
788 - "DEBUG_COLORS": "1"
789 -};
790 -var debugWebServer = debug2("pw:webserver");
791 -var WebServerPlugin = class {
792 - constructor(options, checkPortOnly) {
793 - this.name = "playwright:webserver";
794 - this._options = options;
795 - this._checkPortOnly = checkPortOnly;
796 - }
797 - async setup(config2, configDir, reporter) {
798 - this._reporter = reporter;
799 - if (this._options.url)
800 - this._isAvailableCallback = getIsAvailableFunction(this._options.url, this._checkPortOnly, !!this._options.ignoreHTTPSErrors, this._reporter.onStdErr?.bind(this._reporter));
801 - this._options.cwd = this._options.cwd ? import_path.default.resolve(configDir, this._options.cwd) : configDir;
802 - try {
803 - await this._startProcess();
804 - await this._waitForProcess();
805 - } catch (error) {
806 - await this.teardown();
807 - throw error;
808 - }
809 - }
810 - async teardown() {
811 - debugWebServer(`Terminating the WebServer`);
812 - await this._killProcess?.();
813 - debugWebServer(`Terminated the WebServer`);
814 - }
815 - async _startProcess() {
816 - let processExitedReject = (error) => {
817 - };
818 - this._processExitedPromise = new Promise((_, reject) => processExitedReject = reject);
819 - const isAlreadyAvailable = await this._isAvailableCallback?.();
820 - if (isAlreadyAvailable) {
821 - debugWebServer(`WebServer is already available`);
822 - if (this._options.reuseExistingServer)
823 - return;
824 - const port = new URL(this._options.url).port;
825 - throw new Error(`${this._options.url ?? `http://localhost${port ? ":" + port : ""}`} is already used, make sure that nothing is running on the port/url or set reuseExistingServer:true in config.webServer.`);
826 - }
827 - if (!this._options.command)
828 - throw new Error("config.webServer.command cannot be empty");
829 - debugWebServer(`Starting WebServer process ${this._options.command}...`);
830 - const { launchedProcess, gracefullyClose } = await launchProcess({
831 - command: this._options.command,
832 - env: {
833 - ...DEFAULT_ENVIRONMENT_VARIABLES,
834 - ...process.env,
835 - ...this._options.env
836 - },
837 - cwd: this._options.cwd,
838 - stdio: "stdin",
839 - shell: true,
840 - attemptToGracefullyClose: async () => {
841 - if (process.platform === "win32")
842 - throw new Error("Graceful shutdown is not supported on Windows");
843 - if (!this._options.gracefulShutdown)
844 - throw new Error("skip graceful shutdown");
845 - const { signal, timeout = 0 } = this._options.gracefulShutdown;
846 - process.kill(-launchedProcess.pid, signal);
847 - return new Promise((resolve, reject) => {
848 - const timer = timeout !== 0 ? setTimeout(() => reject(new Error(`process didn't close gracefully within timeout`)), timeout) : void 0;
849 - launchedProcess.once("close", (...args) => {
850 - clearTimeout(timer);
851 - resolve();
852 - });
853 - });
854 - },
855 - log: () => {
856 - },
857 - onExit: (code) => processExitedReject(new Error(code ? `Process from config.webServer was not able to start. Exit code: ${code}` : "Process from config.webServer exited early.")),
858 - tempDirectories: []
859 - });
860 - this._killProcess = gracefullyClose;
861 - debugWebServer(`Process started`);
862 - if (this._options.wait?.stdout || this._options.wait?.stderr)
863 - this._waitForStdioPromise = new ManualPromise();
864 - const stdioWaitCollectors = {
865 - stdout: this._options.wait?.stdout ? "" : void 0,
866 - stderr: this._options.wait?.stderr ? "" : void 0
867 - };
868 - launchedProcess.stdout.on("data", (data) => {
869 - if (debugWebServer.enabled || this._options.stdout === "pipe")
870 - this._reporter.onStdOut?.(prefixOutputLines(data.toString(), this._options.name));
871 - });
872 - launchedProcess.stderr.on("data", (data) => {
873 - if (debugWebServer.enabled || (this._options.stderr === "pipe" || !this._options.stderr))
874 - this._reporter.onStdErr?.(prefixOutputLines(data.toString(), this._options.name));
875 - });
876 - const resolveStdioPromise = () => {
877 - stdioWaitCollectors.stdout = void 0;
878 - stdioWaitCollectors.stderr = void 0;
879 - this._waitForStdioPromise?.resolve();
880 - };
881 - for (const stdio of ["stdout", "stderr"]) {
882 - launchedProcess[stdio].on("data", (data) => {
883 - if (!this._options.wait?.[stdio] || stdioWaitCollectors[stdio] === void 0)
884 - return;
885 - stdioWaitCollectors[stdio] += data.toString();
886 - this._options.wait[stdio].lastIndex = 0;
887 - const result = this._options.wait[stdio].exec(stdioWaitCollectors[stdio]);
888 - if (result) {
889 - for (const [key, value] of Object.entries(result.groups || {}))
890 - process.env[key.toUpperCase()] = value;
891 - resolveStdioPromise();
892 - }
893 - });
894 - }
895 - }
896 - async _waitForProcess() {
897 - if (!this._isAvailableCallback && !this._waitForStdioPromise) {
898 - this._processExitedPromise.catch(() => {
899 - });
900 - return;
901 - }
902 - debugWebServer(`Waiting for availability...`);
903 - const launchTimeout = this._options.timeout || 60 * 1e3;
904 - const cancellationToken = { canceled: false };
905 - const deadline = monotonicTime2() + launchTimeout;
906 - const racingPromises = [this._processExitedPromise];
907 - if (this._isAvailableCallback)
908 - racingPromises.push(raceAgainstDeadline(() => waitFor(this._isAvailableCallback, cancellationToken), deadline));
909 - if (this._waitForStdioPromise)
910 - racingPromises.push(raceAgainstDeadline(() => this._waitForStdioPromise, deadline));
911 - const { timedOut } = await Promise.race(racingPromises);
912 - cancellationToken.canceled = true;
913 - if (timedOut)
914 - throw new Error(`Timed out waiting ${launchTimeout}ms from config.webServer.`);
915 - debugWebServer(`WebServer available`);
916 - }
917 -};
918 -async function isPortUsed(port) {
919 - const innerIsPortUsed = (host) => new Promise((resolve) => {
920 - const conn = import_net.default.connect(port, host).on("error", () => {
921 - resolve(false);
922 - }).on("connect", () => {
923 - conn.end();
924 - resolve(true);
925 - });
926 - });
927 - return new Promise((resolve) => {
928 - let pending = 2;
929 - const onResult = (result) => {
930 - if (result)
931 - resolve(true);
932 - else if (--pending === 0)
933 - resolve(false);
934 - };
935 - void innerIsPortUsed("127.0.0.1").then(onResult);
936 - void innerIsPortUsed("::1").then(onResult);
937 - });
938 -}
939 -async function waitFor(waitFn, cancellationToken) {
940 - const logScale = [100, 250, 500];
941 - while (!cancellationToken.canceled) {
942 - const connected = await waitFn();
943 - if (connected)
944 - return;
945 - const delay = logScale.shift() || 1e3;
946 - debugWebServer(`Waiting ${delay}ms`);
947 - await new Promise((x) => setTimeout(x, delay));
948 - }
949 -}
950 -function getIsAvailableFunction(url, checkPortOnly, ignoreHTTPSErrors, onStdErr) {
951 - const urlObject = new URL(url);
952 - if (!checkPortOnly)
953 - return () => isURLAvailable(urlObject, ignoreHTTPSErrors, debugWebServer, onStdErr);
954 - const port = urlObject.port;
955 - return () => isPortUsed(+port);
956 -}
957 -var webServer = (options) => {
958 - return new WebServerPlugin(options, false);
959 -};
960 -var webServerPluginsForConfig = (config2) => {
961 - const shouldSetBaseUrl = !!config2.config.webServer;
962 - const webServerPlugins = [];
963 - for (const webServerConfig of config2.webServers) {
964 - if (webServerConfig.port && webServerConfig.url)
965 - throw new Error(`Either 'port' or 'url' should be specified in config.webServer.`);
966 - let url;
967 - if (webServerConfig.port || webServerConfig.url) {
968 - url = webServerConfig.url || `http://localhost:${webServerConfig.port}`;
969 - if (shouldSetBaseUrl && !webServerConfig.url)
970 - process.env.PLAYWRIGHT_TEST_BASE_URL = url;
971 - }
972 - webServerPlugins.push(new WebServerPlugin({ ...webServerConfig, url }, webServerConfig.port !== void 0));
973 - }
974 - return webServerPlugins;
975 -};
976 -function prefixOutputLines(output, prefixName = "WebServer") {
977 - const lastIsNewLine = output[output.length - 1] === "\n";
978 - let lines = output.split("\n");
979 - if (lastIsNewLine)
980 - lines.pop();
981 - lines = lines.map((line) => colors.dim(`[${prefixName}] `) + line);
982 - if (lastIsNewLine)
983 - lines.push("");
984 - return lines.join("\n");
985 -}
986 -
987 -// packages/playwright/src/reporters/base.ts
988 -var base_exports = {};
989 -__export(base_exports, {
990 - TerminalReporter: () => TerminalReporter,
991 - formatError: () => formatError,
992 - formatFailure: () => formatFailure,
993 - formatResultFailure: () => formatResultFailure,
994 - formatRetry: () => formatRetry,
995 - internalScreen: () => internalScreen,
996 - kOutputSymbol: () => kOutputSymbol,
997 - markErrorsAsReported: () => markErrorsAsReported,
998 - nonTerminalScreen: () => nonTerminalScreen,
999 - prepareErrorStack: () => prepareErrorStack,
1000 - relativeFilePath: () => relativeFilePath,
1001 - resolveOutputFile: () => resolveOutputFile,
1002 - separator: () => separator,
1003 - stepSuffix: () => stepSuffix,
1004 - terminalScreen: () => terminalScreen
1005 -});
1006 -var import_path2 = __toESM(require("path"));
1007 -var import_util = require("../util");
1008 -var realColors = require("playwright-core/lib/utilsBundle").colors;
1009 -var { noColors } = require("playwright-core/lib/coreBundle").iso;
1010 -var { msToString } = require("playwright-core/lib/coreBundle").iso;
1011 -var { parseErrorStack } = require("playwright-core/lib/coreBundle").iso;
1012 -var { getPackageManagerExecCommand } = require("playwright-core/lib/coreBundle").utils;
1013 -var { fitToWidth } = require("playwright-core/lib/coreBundle").utils;
1014 -var kOutputSymbol = Symbol("output");
1015 -var DEFAULT_TTY_WIDTH = 100;
1016 -var DEFAULT_TTY_HEIGHT = 40;
1017 -var originalProcessStdout = process.stdout;
1018 -var originalProcessStderr = process.stderr;
1019 -var terminalScreen = (() => {
1020 - let isTTY = !!originalProcessStdout.isTTY;
1021 - let ttyWidth = originalProcessStdout.columns || 0;
1022 - let ttyHeight = originalProcessStdout.rows || 0;
1023 - if (process.env.PLAYWRIGHT_FORCE_TTY === "false" || process.env.PLAYWRIGHT_FORCE_TTY === "0") {
1024 - isTTY = false;
1025 - ttyWidth = 0;
1026 - ttyHeight = 0;
1027 - } else if (process.env.PLAYWRIGHT_FORCE_TTY === "true" || process.env.PLAYWRIGHT_FORCE_TTY === "1") {
1028 - isTTY = true;
1029 - ttyWidth = originalProcessStdout.columns || DEFAULT_TTY_WIDTH;
1030 - ttyHeight = originalProcessStdout.rows || DEFAULT_TTY_HEIGHT;
1031 - } else if (process.env.PLAYWRIGHT_FORCE_TTY) {
1032 - isTTY = true;
1033 - const sizeMatch = process.env.PLAYWRIGHT_FORCE_TTY.match(/^(\d+)x(\d+)$/);
1034 - if (sizeMatch) {
1035 - ttyWidth = +sizeMatch[1];
1036 - ttyHeight = +sizeMatch[2];
1037 - } else {
1038 - ttyWidth = +process.env.PLAYWRIGHT_FORCE_TTY;
1039 - ttyHeight = DEFAULT_TTY_HEIGHT;
1040 - }
1041 - if (isNaN(ttyWidth))
1042 - ttyWidth = DEFAULT_TTY_WIDTH;
1043 - if (isNaN(ttyHeight))
1044 - ttyHeight = DEFAULT_TTY_HEIGHT;
1045 - }
1046 - let useColors = isTTY;
1047 - if (process.env.DEBUG_COLORS === "0" || process.env.DEBUG_COLORS === "false" || process.env.FORCE_COLOR === "0" || process.env.FORCE_COLOR === "false")
1048 - useColors = false;
1049 - else if (process.env.DEBUG_COLORS || process.env.FORCE_COLOR)
1050 - useColors = true;
1051 - const colors7 = useColors ? realColors : noColors;
1052 - return {
1053 - resolveFiles: "cwd",
1054 - isTTY,
1055 - ttyWidth,
1056 - ttyHeight,
1057 - colors: colors7,
1058 - stdout: originalProcessStdout,
1059 - stderr: originalProcessStderr
1060 - };
1061 -})();
1062 -var nonTerminalScreen = {
1063 - colors: terminalScreen.colors,
1064 - isTTY: false,
1065 - ttyWidth: 0,
1066 - ttyHeight: 0,
1067 - resolveFiles: "rootDir"
1068 -};
1069 -var internalScreen = {
1070 - colors: realColors,
1071 - isTTY: false,
1072 - ttyWidth: 0,
1073 - ttyHeight: 0,
1074 - resolveFiles: "rootDir"
1075 -};
1076 -var TerminalReporter = class {
1077 - constructor(options = {}) {
1078 - this.totalTestCount = 0;
1079 - this.fileDurations = /* @__PURE__ */ new Map();
1080 - this._fatalErrors = [];
1081 - this._failureCount = 0;
1082 - this.screen = options.screen ?? terminalScreen;
1083 - this._options = options;
1084 - }
1085 - version() {
1086 - return "v2";
1087 - }
1088 - onConfigure(config2) {
1089 - this.config = config2;
1090 - }
1091 - onBegin(suite) {
1092 - this.suite = suite;
1093 - this.totalTestCount = suite.allTests().length;
1094 - }
1095 - onStdOut(chunk, test, result) {
1096 - this._appendOutput({ chunk, type: "stdout" }, result);
1097 - }
1098 - onStdErr(chunk, test, result) {
1099 - this._appendOutput({ chunk, type: "stderr" }, result);
1100 - }
1101 - _appendOutput(output, result) {
1102 - if (!result)
1103 - return;
1104 - result[kOutputSymbol] = result[kOutputSymbol] || [];
1105 - result[kOutputSymbol].push(output);
1106 - }
1107 - onTestEnd(test, result) {
1108 - if (result.status !== "skipped" && result.status !== test.expectedStatus)
1109 - ++this._failureCount;
1110 - const projectName = test.titlePath()[1];
1111 - const relativePath = relativeTestPath(this.screen, this.config, test);
1112 - const fileAndProject = (projectName ? `[${projectName}] \u203A ` : "") + relativePath;
1113 - const entry = this.fileDurations.get(fileAndProject) || { duration: 0, workers: /* @__PURE__ */ new Set() };
1114 - entry.duration += result.duration;
1115 - entry.workers.add(result.workerIndex);
1116 - this.fileDurations.set(fileAndProject, entry);
1117 - }
1118 - onError(error) {
1119 - this._fatalErrors.push(error);
1120 - }
1121 - async onEnd(result) {
1122 - this.result = result;
1123 - }
1124 - fitToScreen(line, prefix) {
1125 - if (!this.screen.ttyWidth) {
1126 - return line;
1127 - }
1128 - return fitToWidth(line, this.screen.ttyWidth, prefix);
1129 - }
1130 - generateStartingMessage() {
1131 - const jobs = this.config.metadata.actualWorkers ?? this.config.workers;
1132 - const shardDetails = this.config.shard ? `, shard ${this.config.shard.current} of ${this.config.shard.total}` : "";
1133 - if (!this.totalTestCount)
1134 - return "";
1135 - return "\n" + this.screen.colors.dim("Running ") + this.totalTestCount + this.screen.colors.dim(` test${this.totalTestCount !== 1 ? "s" : ""} using `) + jobs + this.screen.colors.dim(` worker${jobs !== 1 ? "s" : ""}${shardDetails}`);
1136 - }
1137 - getSlowTests() {
1138 - if (!this.config.reportSlowTests)
1139 - return [];
1140 - const fileDurations = [...this.fileDurations.entries()].filter(([key, value]) => value.workers.size === 1).map(([key, value]) => [key, value.duration]);
1141 - fileDurations.sort((a, b) => b[1] - a[1]);
1142 - const count = Math.min(fileDurations.length, this.config.reportSlowTests.max || Number.POSITIVE_INFINITY);
1143 - const threshold = this.config.reportSlowTests.threshold;
1144 - return fileDurations.filter(([, duration]) => duration > threshold).slice(0, count);
1145 - }
1146 - generateSummaryMessage({ didNotRun, skipped, expected, interrupted, unexpected, flaky, fatalErrors }) {
1147 - const tokens = [];
1148 - if (unexpected.length) {
1149 - tokens.push(this.screen.colors.red(` ${unexpected.length} failed`));
1150 - for (const test of unexpected)
1151 - tokens.push(this.screen.colors.red(this.formatTestHeader(test, { indent: " " })));
1152 - }
1153 - if (interrupted.length) {
1154 - tokens.push(this.screen.colors.yellow(` ${interrupted.length} interrupted`));
1155 - for (const test of interrupted)
1156 - tokens.push(this.screen.colors.yellow(this.formatTestHeader(test, { indent: " " })));
1157 - }
1158 - if (flaky.length) {
1159 - tokens.push(this.screen.colors.yellow(` ${flaky.length} flaky`));
1160 - for (const test of flaky)
1161 - tokens.push(this.screen.colors.yellow(this.formatTestHeader(test, { indent: " " })));
1162 - }
1163 - if (skipped)
1164 - tokens.push(this.screen.colors.yellow(` ${skipped} skipped`));
1165 - if (didNotRun)
1166 - tokens.push(this.screen.colors.yellow(` ${didNotRun} did not run`));
1167 - if (expected)
1168 - tokens.push(this.screen.colors.green(` ${expected} passed`) + this.screen.colors.dim(` (${msToString(this.result.duration)})`));
1169 - if (fatalErrors.length && expected + unexpected.length + interrupted.length + flaky.length > 0)
1170 - tokens.push(this.screen.colors.red(` ${fatalErrors.length === 1 ? "1 error was not a part of any test" : fatalErrors.length + " errors were not a part of any test"}, see above for details`));
1171 - return tokens.join("\n");
1172 - }
1173 - generateSummary() {
1174 - let didNotRun = 0;
1175 - let skipped = 0;
1176 - let expected = 0;
1177 - const interrupted = [];
1178 - const interruptedToPrint = [];
1179 - const unexpected = [];
1180 - const flaky = [];
1181 - this.suite.allTests().forEach((test) => {
1182 - switch (test.outcome()) {
1183 - case "skipped": {
1184 - if (test.results.some((result) => result.status === "interrupted")) {
1185 - if (test.results.some((result) => !!result.error))
1186 - interruptedToPrint.push(test);
1187 - interrupted.push(test);
1188 - } else if (!test.results.length || test.expectedStatus !== "skipped") {
1189 - ++didNotRun;
1190 - } else {
1191 - ++skipped;
1192 - }
1193 - break;
1194 - }
1195 - case "expected":
1196 - ++expected;
1197 - break;
1198 - case "unexpected":
1199 - unexpected.push(test);
1200 - break;
1201 - case "flaky":
1202 - flaky.push(test);
1203 - break;
1204 - }
1205 - });
1206 - const failuresToPrint = [...unexpected, ...flaky, ...interruptedToPrint];
1207 - return {
1208 - didNotRun,
1209 - skipped,
1210 - expected,
1211 - interrupted,
1212 - unexpected,
1213 - flaky,
1214 - failuresToPrint,
1215 - fatalErrors: this._fatalErrors
1216 - };
1217 - }
1218 - epilogue(full) {
1219 - const summary = this.generateSummary();
1220 - const summaryMessage = this.generateSummaryMessage(summary);
1221 - if (full && summary.failuresToPrint.length && !this._options.omitFailures)
1222 - this._printFailures(summary.failuresToPrint);
1223 - this._printSlowTests();
1224 - this._printSummary(summaryMessage);
1225 - }
1226 - _printFailures(failures) {
1227 - this.writeLine("");
1228 - failures.forEach((test, index) => {
1229 - this.writeLine(this.formatFailure(test, index + 1));
1230 - });
1231 - }
1232 - _printSlowTests() {
1233 - const slowTests = this.getSlowTests();
1234 - slowTests.forEach(([file, duration]) => {
1235 - this.writeLine(this.screen.colors.yellow(" Slow test file: ") + file + this.screen.colors.yellow(` (${msToString(duration)})`));
1236 - });
1237 - if (slowTests.length)
1238 - this.writeLine(this.screen.colors.yellow(" Consider running tests from slow files in parallel. See: https://playwright.dev/docs/test-parallel"));
1239 - }
1240 - _printSummary(summary) {
1241 - if (summary.trim())
1242 - this.writeLine(summary);
1243 - }
1244 - willRetry(test) {
1245 - return test.outcome() === "unexpected" && test.results.length <= test.retries;
1246 - }
1247 - formatTestTitle(test, step) {
1248 - return formatTestTitle(this.screen, this.config, test, step, this._options);
1249 - }
1250 - formatTestHeader(test, options = {}) {
1251 - return formatTestHeader(this.screen, this.config, test, { ...options, includeTestId: this._options.includeTestId });
1252 - }
1253 - formatFailure(test, index) {
1254 - return formatFailure(this.screen, this.config, test, index, this._options);
1255 - }
1256 - formatError(error) {
1257 - return formatError(this.screen, error);
1258 - }
1259 - formatResultErrors(test, result) {
1260 - return formatResultErrors(this.screen, test, result);
1261 - }
1262 - writeLine(line) {
1263 - this.screen.stdout?.write(line ? line + "\n" : "\n");
1264 - }
1265 -};
1266 -function formatResultErrors(screen, test, result) {
1267 - const lines = [];
1268 - if (test.outcome() === "unexpected") {
1269 - const errorDetails = formatResultFailure(screen, test, result, " ");
1270 - if (errorDetails.length > 0)
1271 - lines.push("");
1272 - for (const error of errorDetails)
1273 - lines.push(error.message, "");
1274 - }
1275 - return lines.join("\n");
1276 -}
1277 -function formatFailure(screen, config2, test, index, options) {
1278 - const lines = [];
1279 - let printedHeader = false;
1280 - for (const result of test.results) {
1281 - const resultLines = [];
1282 - const errors = formatResultFailure(screen, test, result, " ");
1283 - if (!errors.length)
1284 - continue;
1285 - if (!printedHeader) {
1286 - const header = formatTestHeader(screen, config2, test, { indent: " ", index, mode: "error", includeTestId: options?.includeTestId });
1287 - lines.push(screen.colors.red(header));
1288 - printedHeader = true;
1289 - }
1290 - if (result.retry) {
1291 - resultLines.push("");
1292 - resultLines.push(screen.colors.gray(separator(screen, ` Retry #${result.retry}`)));
1293 - }
1294 - resultLines.push(...errors.map((error) => "\n" + error.message));
1295 - const attachmentGroups = groupAttachments(result.attachments);
1296 - for (let i = 0; i < attachmentGroups.length; ++i) {
1297 - const attachment = attachmentGroups[i];
1298 - if (attachment.name === "error-context" && attachment.path) {
1299 - resultLines.push("");
1300 - resultLines.push(screen.colors.dim(` Error Context: ${relativeFilePath(screen, config2, attachment.path)}`));
1301 - continue;
1302 - }
1303 - if (attachment.name.startsWith("_"))
1304 - continue;
1305 - const hasPrintableContent = attachment.contentType.startsWith("text/");
1306 - if (!attachment.path && !hasPrintableContent)
1307 - continue;
1308 - resultLines.push("");
1309 - resultLines.push(screen.colors.dim(separator(screen, ` attachment #${i + 1}: ${screen.colors.bold(attachment.name)} (${attachment.contentType})`)));
1310 - if (attachment.actual?.path) {
1311 - if (attachment.expected?.path) {
1312 - const expectedPath = relativeFilePath(screen, config2, attachment.expected.path);
1313 - resultLines.push(screen.colors.dim(` Expected: ${expectedPath}`));
1314 - }
1315 - const actualPath = relativeFilePath(screen, config2, attachment.actual.path);
1316 - resultLines.push(screen.colors.dim(` Received: ${actualPath}`));
1317 - if (attachment.previous?.path) {
1318 - const previousPath = relativeFilePath(screen, config2, attachment.previous.path);
1319 - resultLines.push(screen.colors.dim(` Previous: ${previousPath}`));
1320 - }
1321 - if (attachment.diff?.path) {
1322 - const diffPath = relativeFilePath(screen, config2, attachment.diff.path);
1323 - resultLines.push(screen.colors.dim(` Diff: ${diffPath}`));
1324 - }
1325 - } else if (attachment.path) {
1326 - const relativePath = relativeFilePath(screen, config2, attachment.path);
1327 - resultLines.push(screen.colors.dim(` ${relativePath}`));
1328 - if (attachment.name === "trace") {
1329 - const packageManagerCommand = getPackageManagerExecCommand();
1330 - resultLines.push(screen.colors.dim(` Usage:`));
1331 - resultLines.push("");
1332 - resultLines.push(screen.colors.dim(` ${packageManagerCommand} playwright show-trace ${quotePathIfNeeded(relativePath)}`));
1333 - resultLines.push("");
1334 - }
1335 - } else {
1336 - if (attachment.contentType.startsWith("text/") && attachment.body) {
1337 - let text = attachment.body.toString();
1338 - if (text.length > 300)
1339 - text = text.slice(0, 300) + "...";
1340 - for (const line of text.split("\n"))
1341 - resultLines.push(screen.colors.dim(` ${line}`));
1342 - }
1343 - }
1344 - resultLines.push(screen.colors.dim(separator(screen, " ")));
1345 - }
1346 - lines.push(...resultLines);
1347 - }
1348 - lines.push("");
1349 - return lines.join("\n");
1350 -}
1351 -function formatRetry(screen, result) {
1352 - const retryLines = [];
1353 - if (result.retry) {
1354 - retryLines.push("");
1355 - retryLines.push(screen.colors.gray(separator(screen, ` Retry #${result.retry}`)));
1356 - }
1357 - return retryLines;
1358 -}
1359 -function quotePathIfNeeded(path20) {
1360 - if (/\s/.test(path20))
1361 - return `"${path20}"`;
1362 - return path20;
1363 -}
1364 -var kReportedSymbol = Symbol("reported");
1365 -function markErrorsAsReported(result) {
1366 - result[kReportedSymbol] = result.errors.length;
1367 -}
1368 -function formatResultFailure(screen, test, result, initialIndent) {
1369 - const errorDetails = [];
1370 - if (result.status === "passed" && test.expectedStatus === "failed") {
1371 - errorDetails.push({
1372 - message: indent(screen.colors.red(`Expected to fail, but passed.`), initialIndent)
1373 - });
1374 - }
1375 - if (result.status === "interrupted") {
1376 - errorDetails.push({
1377 - message: indent(screen.colors.red(`Test was interrupted.`), initialIndent)
1378 - });
1379 - }
1380 - const reportedIndex = result[kReportedSymbol] || 0;
1381 - for (const error of result.errors.slice(reportedIndex)) {
1382 - const formattedError = formatError(screen, error);
1383 - errorDetails.push({
1384 - message: indent(formattedError.message, initialIndent),
1385 - location: formattedError.location
1386 - });
1387 - }
1388 - return errorDetails;
1389 -}
1390 -function relativeFilePath(screen, config2, file) {
1391 - if (screen.resolveFiles === "cwd")
1392 - return import_path2.default.relative(process.cwd(), file);
1393 - return import_path2.default.relative(config2.rootDir, file);
1394 -}
1395 -function relativeTestPath(screen, config2, test) {
1396 - return relativeFilePath(screen, config2, test.location.file);
1397 -}
1398 -function stepSuffix(step) {
1399 - const stepTitles = step ? step.titlePath() : [];
1400 - return stepTitles.map((t2) => t2.split("\n")[0]).map((t2) => " \u203A " + t2).join("");
1401 -}
1402 -function formatTestTitle(screen, config2, test, step, options = {}) {
1403 - const [, projectName, , ...titles] = test.titlePath();
1404 - const location = `${relativeTestPath(screen, config2, test)}:${test.location.line}:${test.location.column}`;
1405 - const testId = options.includeTestId ? `[id=${test.id}] ` : "";
1406 - const projectLabel = options.includeTestId ? `project=` : "";
1407 - const projectTitle = projectName ? `[${projectLabel}${projectName}] \u203A ` : "";
1408 - const testTitle = `${testId}${projectTitle}${location} \u203A ${titles.join(" \u203A ")}`;
1409 - const extraTags = test.tags.filter((t2) => !testTitle.includes(t2) && !config2.tags.includes(t2));
1410 - return `${testTitle}${stepSuffix(step)}${extraTags.length ? " " + extraTags.join(" ") : ""}`;
1411 -}
1412 -function formatTestHeader(screen, config2, test, options = {}) {
1413 - const title = formatTestTitle(screen, config2, test, void 0, options);
1414 - const header = `${options.indent || ""}${options.index ? options.index + ") " : ""}${title}`;
1415 - let fullHeader = header;
1416 - if (options.mode === "error") {
1417 - const stepPaths = /* @__PURE__ */ new Set();
1418 - for (const result of test.results.filter((r) => !!r.errors.length)) {
1419 - const stepPath = [];
1420 - const visit = (steps) => {
1421 - const errors = steps.filter((s) => s.error);
1422 - if (errors.length > 1)
1423 - return;
1424 - if (errors.length === 1 && errors[0].category === "test.step") {
1425 - stepPath.push(errors[0].title);
1426 - visit(errors[0].steps);
1427 - }
1428 - };
1429 - visit(result.steps);
1430 - stepPaths.add(["", ...stepPath].join(" \u203A "));
1431 - }
1432 - fullHeader = header + (stepPaths.size === 1 ? stepPaths.values().next().value : "");
1433 - }
1434 - return separator(screen, fullHeader);
1435 -}
1436 -function formatError(screen, error) {
1437 - const message = error.message || error.value || "";
1438 - const stack = error.stack;
1439 - if (!stack && !error.location)
1440 - return { message };
1441 - const tokens = [];
1442 - const parsedStack = stack ? prepareErrorStack(stack) : void 0;
1443 - tokens.push(parsedStack?.message || message);
1444 - if (error.snippet) {
1445 - let snippet = error.snippet;
1446 - if (!screen.colors.enabled)
1447 - snippet = (0, import_util.stripAnsiEscapes)(snippet);
1448 - tokens.push("");
1449 - tokens.push(snippet);
1450 - }
1451 - if (parsedStack && parsedStack.stackLines.length)
1452 - tokens.push(screen.colors.dim(parsedStack.stackLines.join("\n")));
1453 - let location = error.location;
1454 - if (parsedStack && !location)
1455 - location = parsedStack.location;
1456 - if (error.cause)
1457 - tokens.push(screen.colors.dim("[cause]: ") + formatError(screen, error.cause).message);
1458 - return {
1459 - location,
1460 - message: tokens.join("\n")
1461 - };
1462 -}
1463 -function separator(screen, text = "") {
1464 - if (text)
1465 - text += " ";
1466 - const columns = Math.min(100, screen.ttyWidth || 100);
1467 - return text + screen.colors.dim("\u2500".repeat(Math.max(0, columns - (0, import_util.stripAnsiEscapes)(text).length)));
1468 -}
1469 -function indent(lines, tab) {
1470 - return lines.replace(/^(?=.+$)/gm, tab);
1471 -}
1472 -function prepareErrorStack(stack) {
1473 - return parseErrorStack(stack, import_path2.default.sep, !!process.env.PWDEBUGIMPL);
1474 -}
1475 -function resolveFromEnv(name) {
1476 - const value = process.env[name];
1477 - if (value)
1478 - return import_path2.default.resolve(process.cwd(), value);
1479 - return void 0;
1480 -}
1481 -function resolveOutputFile(reporterName, options) {
1482 - const name = reporterName.toUpperCase();
1483 - let outputFile = resolveFromEnv(`PLAYWRIGHT_${name}_OUTPUT_FILE`);
1484 - if (!outputFile && options.outputFile)
1485 - outputFile = import_path2.default.resolve(options.configDir, options.outputFile);
1486 - if (outputFile)
1487 - return { outputFile };
1488 - let outputDir = resolveFromEnv(`PLAYWRIGHT_${name}_OUTPUT_DIR`);
1489 - if (!outputDir && options.outputDir)
1490 - outputDir = import_path2.default.resolve(options.configDir, options.outputDir);
1491 - if (!outputDir && options.default)
1492 - outputDir = (0, import_util.resolveReporterOutputPath)(options.default.outputDir, options.configDir, void 0);
1493 - if (!outputDir)
1494 - outputDir = options.configDir;
1495 - const reportName = process.env[`PLAYWRIGHT_${name}_OUTPUT_NAME`] ?? options.fileName ?? options.default?.fileName;
1496 - if (!reportName)
1497 - return void 0;
1498 - outputFile = import_path2.default.resolve(outputDir, reportName);
1499 - return { outputFile, outputDir };
1500 -}
1501 -function groupAttachments(attachments) {
1502 - const result = [];
1503 - const attachmentsByPrefix = /* @__PURE__ */ new Map();
1504 - for (const attachment of attachments) {
1505 - if (!attachment.path) {
1506 - result.push(attachment);
1507 - continue;
1508 - }
1509 - const match = attachment.name.match(/^(.*)-(expected|actual|diff|previous)(\.[^.]+)?$/);
1510 - if (!match) {
1511 - result.push(attachment);
1512 - continue;
1513 - }
1514 - const [, name, category] = match;
1515 - let group = attachmentsByPrefix.get(name);
1516 - if (!group) {
1517 - group = { ...attachment, name };
1518 - attachmentsByPrefix.set(name, group);
1519 - result.push(group);
1520 - }
1521 - if (category === "expected")
1522 - group.expected = attachment;
1523 - else if (category === "actual")
1524 - group.actual = attachment;
1525 - else if (category === "diff")
1526 - group.diff = attachment;
1527 - else if (category === "previous")
1528 - group.previous = attachment;
1529 - }
1530 - return result;
1531 -}
1532 -
1533 -// packages/playwright/src/reporters/internalReporter.ts
1534 -var import_fs = __toESM(require("fs"));
1535 -
1536 -// packages/playwright/src/reporters/multiplexer.ts
1537 -var Multiplexer = class {
1538 - constructor(reporters) {
1539 - this._reporters = reporters;
1540 - }
1541 - version() {
1542 - return "v2";
1543 - }
1544 - onConfigure(config2) {
1545 - for (const reporter of this._reporters)
1546 - wrap(() => reporter.onConfigure?.(config2));
1547 - }
1548 - onBegin(suite) {
1549 - for (const reporter of this._reporters)
1550 - wrap(() => reporter.onBegin?.(suite));
1551 - }
1552 - onTestBegin(test, result) {
1553 - for (const reporter of this._reporters)
1554 - wrap(() => reporter.onTestBegin?.(test, result));
1555 - }
1556 - onStdOut(chunk, test, result) {
1557 - for (const reporter of this._reporters)
1558 - wrap(() => reporter.onStdOut?.(chunk, test, result));
1559 - }
1560 - onStdErr(chunk, test, result) {
1561 - for (const reporter of this._reporters)
1562 - wrap(() => reporter.onStdErr?.(chunk, test, result));
1563 - }
1564 - async onTestPaused(test, result) {
1565 - for (const reporter of this._reporters)
1566 - await wrapAsync(() => reporter.onTestPaused?.(test, result));
1567 - }
1568 - onTestEnd(test, result) {
1569 - for (const reporter of this._reporters)
1570 - wrap(() => reporter.onTestEnd?.(test, result));
1571 - }
1572 - onReportConfigure(params) {
1573 - for (const reporter of this._reporters)
1574 - wrap(() => reporter.onReportConfigure?.(params));
1575 - }
1576 - onReportEnd(params) {
1577 - for (const reporter of this._reporters)
1578 - wrap(() => reporter.onReportEnd?.(params));
1579 - }
1580 - async onEnd(result) {
1581 - for (const reporter of this._reporters) {
1582 - const outResult = await wrapAsync(() => reporter.onEnd?.(result));
1583 - if (outResult?.status)
1584 - result.status = outResult.status;
1585 - }
1586 - return result;
1587 - }
1588 - async onExit() {
1589 - for (const reporter of this._reporters)
1590 - await wrapAsync(() => reporter.onExit?.());
1591 - }
1592 - onError(error, workerInfo) {
1593 - for (const reporter of this._reporters)
1594 - wrap(() => reporter.onError?.(error, workerInfo));
1595 - }
1596 - onStepBegin(test, result, step) {
1597 - for (const reporter of this._reporters)
1598 - wrap(() => reporter.onStepBegin?.(test, result, step));
1599 - }
1600 - onStepEnd(test, result, step) {
1601 - for (const reporter of this._reporters)
1602 - wrap(() => reporter.onStepEnd?.(test, result, step));
1603 - }
1604 - printsToStdio() {
1605 - return this._reporters.some((r) => {
1606 - let prints = false;
1607 - wrap(() => prints = r.printsToStdio ? r.printsToStdio() : true);
1608 - return prints;
1609 - });
1610 - }
1611 -};
1612 -async function wrapAsync(callback) {
1613 - try {
1614 - return await callback();
1615 - } catch (e) {
1616 - console.error("Error in reporter", e);
1617 - }
1618 -}
1619 -function wrap(callback) {
1620 - try {
1621 - callback();
1622 - } catch (e) {
1623 - console.error("Error in reporter", e);
1624 - }
1625 -}
1626 -
1627 -// packages/playwright/src/reporters/internalReporter.ts
1628 -var import_common = require("../common");
1629 -var babel = __toESM(require("../transform/babelBundle"));
1630 -
1631 -// packages/playwright/src/reporters/reporterV2.ts
1632 -function wrapReporterAsV2(reporter) {
1633 - try {
1634 - if ("version" in reporter && reporter.version() === "v2")
1635 - return reporter;
1636 - } catch (e) {
1637 - }
1638 - return new ReporterV2Wrapper(reporter);
1639 -}
1640 -var ReporterV2Wrapper = class {
1641 - constructor(reporter) {
1642 - this._deferred = [];
1643 - this._reporter = reporter;
1644 - }
1645 - version() {
1646 - return "v2";
1647 - }
1648 - onConfigure(config2) {
1649 - this._config = config2;
1650 - }
1651 - onBegin(suite) {
1652 - this._reporter.onBegin?.(this._config, suite);
1653 - const deferred = this._deferred;
1654 - this._deferred = null;
1655 - for (const item of deferred) {
1656 - if (item.error)
1657 - this.onError(item.error.error, item.error.workerInfo);
1658 - if (item.stdout)
1659 - this.onStdOut(item.stdout.chunk, item.stdout.test, item.stdout.result);
1660 - if (item.stderr)
1661 - this.onStdErr(item.stderr.chunk, item.stderr.test, item.stderr.result);
1662 - }
1663 - }
1664 - onTestBegin(test, result) {
1665 - this._reporter.onTestBegin?.(test, result);
1666 - }
1667 - onStdOut(chunk, test, result) {
1668 - if (this._deferred) {
1669 - this._deferred.push({ stdout: { chunk, test, result } });
1670 - return;
1671 - }
1672 - this._reporter.onStdOut?.(chunk, test, result);
1673 - }
1674 - onStdErr(chunk, test, result) {
1675 - if (this._deferred) {
1676 - this._deferred.push({ stderr: { chunk, test, result } });
1677 - return;
1678 - }
1679 - this._reporter.onStdErr?.(chunk, test, result);
1680 - }
1681 - onTestEnd(test, result) {
1682 - this._reporter.onTestEnd?.(test, result);
1683 - }
1684 - async onEnd(result) {
1685 - return await this._reporter.onEnd?.(result);
1686 - }
1687 - async onExit() {
1688 - await this._reporter.onExit?.();
1689 - }
1690 - onError(error, workerInfo) {
1691 - if (this._deferred) {
1692 - this._deferred.push({ error: { error, workerInfo } });
1693 - return;
1694 - }
1695 - this._reporter.onError?.(error, workerInfo);
1696 - }
1697 - onStepBegin(test, result, step) {
1698 - this._reporter.onStepBegin?.(test, result, step);
1699 - }
1700 - onStepEnd(test, result, step) {
1701 - this._reporter.onStepEnd?.(test, result, step);
1702 - }
1703 - printsToStdio() {
1704 - return this._reporter.printsToStdio ? this._reporter.printsToStdio() : true;
1705 - }
1706 -};
1707 -
1708 -// packages/playwright/src/reporters/internalReporter.ts
1709 -var { monotonicTime: monotonicTime3 } = require("playwright-core/lib/coreBundle").iso;
1710 -var InternalReporter = class {
1711 - constructor(reporters) {
1712 - this._didBegin = false;
1713 - this._reporter = new Multiplexer(reporters.map(wrapReporterAsV2));
1714 - }
1715 - version() {
1716 - return "v2";
1717 - }
1718 - onConfigure(config2) {
1719 - this._config = config2;
1720 - this._startTime = /* @__PURE__ */ new Date();
1721 - this._monotonicStartTime = monotonicTime3();
1722 - this._reporter.onConfigure?.(config2);
1723 - }
1724 - onBegin(suite) {
1725 - this._didBegin = true;
1726 - this._reporter.onBegin?.(suite);
1727 - }
1728 - onTestBegin(test, result) {
1729 - this._reporter.onTestBegin?.(test, result);
1730 - }
1731 - onStdOut(chunk, test, result) {
1732 - this._reporter.onStdOut?.(chunk, test, result);
1733 - }
1734 - onStdErr(chunk, test, result) {
1735 - this._reporter.onStdErr?.(chunk, test, result);
1736 - }
1737 - async onTestPaused(test, result) {
1738 - this._addSnippetToTestErrors(test, result);
1739 - return await this._reporter.onTestPaused?.(test, result);
1740 - }
1741 - onTestEnd(test, result) {
1742 - this._addSnippetToTestErrors(test, result);
1743 - this._reporter.onTestEnd?.(test, result);
1744 - }
1745 - async onEnd(result) {
1746 - if (!this._didBegin) {
1747 - this.onBegin(new import_common.test.Suite("", "root"));
1748 - }
1749 - return await this._reporter.onEnd?.({
1750 - ...result,
1751 - startTime: this._startTime,
1752 - duration: monotonicTime3() - this._monotonicStartTime
1753 - });
1754 - }
1755 - async onExit() {
1756 - await this._reporter.onExit?.();
1757 - }
1758 - onError(error, workerInfo) {
1759 - addLocationAndSnippetToError(this._config, error);
1760 - this._reporter.onError?.(error, workerInfo);
1761 - }
1762 - onStepBegin(test, result, step) {
1763 - this._reporter.onStepBegin?.(test, result, step);
1764 - }
1765 - onStepEnd(test, result, step) {
1766 - this._addSnippetToStepError(test, step);
1767 - this._reporter.onStepEnd?.(test, result, step);
1768 - }
1769 - printsToStdio() {
1770 - return this._reporter.printsToStdio ? this._reporter.printsToStdio() : true;
1771 - }
1772 - _addSnippetToTestErrors(test, result) {
1773 - for (const error of result.errors)
1774 - addLocationAndSnippetToError(this._config, error, test.location.file);
1775 - }
1776 - _addSnippetToStepError(test, step) {
1777 - if (step.error)
1778 - addLocationAndSnippetToError(this._config, step.error, test.location.file);
1779 - }
1780 -};
1781 -function addLocationAndSnippetToError(config2, error, file) {
1782 - if (error.stack && !error.location)
1783 - error.location = prepareErrorStack(error.stack).location;
1784 - const location = error.location;
1785 - if (!location)
1786 - return;
1787 - if (!!error.snippet)
1788 - return;
1789 - try {
1790 - const tokens = [];
1791 - const source = import_fs.default.readFileSync(location.file, "utf8");
1792 - const codeFrame = babel.codeFrameColumns(source, { start: location }, { highlightCode: true });
1793 - if (!file || import_fs.default.realpathSync(file) !== location.file) {
1794 - tokens.push(internalScreen.colors.gray(` at `) + `${relativeFilePath(internalScreen, config2, location.file)}:${location.line}`);
1795 - tokens.push("");
1796 - }
1797 - tokens.push(codeFrame);
1798 - error.snippet = tokens.join("\n");
1799 - } catch (e) {
1800 - }
1801 -}
1802 -
1803 -// packages/playwright/src/runner/testRunner.ts
1804 -var import_util13 = require("../util");
1805 -
1806 -// packages/playwright/src/runner/reporters.ts
1807 -var reporters_exports = {};
1808 -__export(reporters_exports, {
1809 - createErrorCollectingReporter: () => createErrorCollectingReporter,
1810 - createReporters: () => createReporters
1811 -});
1812 -var import_fs8 = __toESM(require("fs"));
1813 -
1814 -// packages/playwright/src/runner/loadUtils.ts
1815 -var import_path4 = __toESM(require("path"));
1816 -var import_fs3 = __toESM(require("fs"));
1817 -
1818 -// packages/playwright/src/runner/processHost.ts
1819 -var import_child_process = __toESM(require("child_process"));
1820 -var import_events = require("events");
1821 -var debug3 = require("playwright-core/lib/utilsBundle").debug;
1822 -var { assert } = require("playwright-core/lib/coreBundle").iso;
1823 -var { monotonicTime: monotonicTime4, timeOrigin } = require("playwright-core/lib/coreBundle").iso;
1824 -var { raceAgainstDeadline: raceAgainstDeadline2 } = require("playwright-core/lib/coreBundle").iso;
1825 -var ProcessHost = class extends import_events.EventEmitter {
1826 - constructor(entryScript, processName, env) {
1827 - super();
1828 - this._didSendStop = false;
1829 - this._processDidExit = false;
1830 - this._didExitAndRanOnExit = false;
1831 - this._lastMessageId = 0;
1832 - this._callbacks = /* @__PURE__ */ new Map();
1833 - this._producedEnv = {};
1834 - this._requestHandlers = /* @__PURE__ */ new Map();
1835 - this._entryScript = entryScript;
1836 - this._processName = processName;
1837 - this._extraEnv = env;
1838 - }
1839 - async startRunner(runnerParams, options = {}) {
1840 - assert(!this.process, "Internal error: starting the same process twice");
1841 - this.process = import_child_process.default.fork(this._entryScript, {
1842 - // Note: we pass detached:false, so that workers are in the same process group.
1843 - // This way Ctrl+C or a kill command can shutdown all workers in case they misbehave.
1844 - // Otherwise user can end up with a bunch of workers stuck in a busy loop without self-destructing.
1845 - detached: false,
1846 - env: {
1847 - ...process.env,
1848 - ...this._extraEnv
1849 - },
1850 - stdio: [
1851 - "ignore",
1852 - options.onStdOut ? "pipe" : "inherit",
1853 - options.onStdErr && !process.env.PW_RUNNER_DEBUG ? "pipe" : "inherit",
1854 - "ipc"
1855 - ]
1856 - });
1857 - this.process.on("exit", async (code, signal) => {
1858 - this._processDidExit = true;
1859 - await this.onExit();
1860 - this._didExitAndRanOnExit = true;
1861 - this.emit("exit", { unexpectedly: !this._didSendStop, code, signal });
1862 - });
1863 - this.process.on("error", (e) => {
1864 - });
1865 - this.process.on("message", (message) => {
1866 - if (debug3.enabled("pw:test:protocol"))
1867 - debug3("pw:test:protocol")("\u25C0 RECV " + JSON.stringify(message));
1868 - if (message.method === "__env_produced__") {
1869 - const producedEnv = message.params;
1870 - this._producedEnv = Object.fromEntries(producedEnv.map((e) => [e[0], e[1] ?? void 0]));
1871 - } else if (message.method === "__dispatch__") {
1872 - const { id, error: error2, method, params, result } = message.params;
1873 - if (id && this._callbacks.has(id)) {
1874 - const { resolve, reject } = this._callbacks.get(id);
1875 - this._callbacks.delete(id);
1876 - if (error2) {
1877 - const errorObject = new Error(error2.message);
1878 - errorObject.stack = error2.stack;
1879 - reject(errorObject);
1880 - } else {
1881 - resolve(result);
1882 - }
1883 - } else {
1884 - this.emit(method, params);
1885 - }
1886 - } else if (message.method === "__request__") {
1887 - const { id, method, params } = message.params;
1888 - const handler = this._requestHandlers.get(method);
1889 - if (!handler) {
1890 - this.send({ method: "__response__", params: { id, error: { message: "Unknown method" } } });
1891 - } else {
1892 - handler(params).then((result) => {
1893 - this.send({ method: "__response__", params: { id, result } });
1894 - }).catch((error2) => {
1895 - this.send({ method: "__response__", params: { id, error: { message: error2.message } } });
1896 - });
1897 - }
1898 - } else {
1899 - this.emit(message.method, message.params);
1900 - }
1901 - });
1902 - if (options.onStdOut)
1903 - this.process.stdout?.on("data", options.onStdOut);
1904 - if (options.onStdErr)
1905 - this.process.stderr?.on("data", options.onStdErr);
1906 - const error = await new Promise((resolve) => {
1907 - this.process.once("exit", (code, signal) => resolve({ unexpectedly: true, code, signal }));
1908 - this.once("ready", () => resolve(void 0));
1909 - });
1910 - if (error)
1911 - return error;
1912 - const processParams = {
1913 - processName: this._processName,
1914 - timeOrigin: timeOrigin()
1915 - };
1916 - this.send({
1917 - method: "__init__",
1918 - params: {
1919 - processParams,
1920 - runnerParams
1921 - }
1922 - });
1923 - }
1924 - sendMessage(message) {
1925 - const id = ++this._lastMessageId;
1926 - this.send({
1927 - method: "__dispatch__",
1928 - params: { id, ...message }
1929 - });
1930 - return new Promise((resolve, reject) => {
1931 - this._callbacks.set(id, { resolve, reject });
1932 - });
1933 - }
1934 - sendMessageNoReply(message) {
1935 - this.sendMessage(message).catch(() => {
1936 - });
1937 - }
1938 - async onExit() {
1939 - }
1940 - onRequest(method, handler) {
1941 - this._requestHandlers.set(method, handler);
1942 - }
1943 - async stop() {
1944 - if (!this._processDidExit && !this._didSendStop) {
1945 - this.send({ method: "__stop__" });
1946 - this._didSendStop = true;
1947 - }
1948 - if (this._didExitAndRanOnExit)
1949 - return;
1950 - const exitPromise = new Promise((f) => this.once("exit", () => f()));
1951 - const timeout = +(process.env.PWTEST_CHILD_PROCESS_TIMEOUT || 5 * 60 * 1e3);
1952 - const result = await raceAgainstDeadline2(() => exitPromise, monotonicTime4() + timeout);
1953 - if (result.timedOut) {
1954 - this.emit("processError", { message: `Error: ${this._processName} process did not exit within ${timeout}ms after stop, force-killed it` });
1955 - this._forceKill();
1956 - await exitPromise;
1957 - }
1958 - }
1959 - _forceKill() {
1960 - const pid = this.process?.pid;
1961 - if (!pid)
1962 - return;
1963 - try {
1964 - if (process.platform === "win32")
1965 - import_child_process.default.spawnSync(`taskkill /pid ${pid} /T /F`, { shell: true });
1966 - else
1967 - process.kill(pid, "SIGKILL");
1968 - } catch {
1969 - }
1970 - }
1971 - didSendStop() {
1972 - return this._didSendStop;
1973 - }
1974 - producedEnv() {
1975 - return this._producedEnv;
1976 - }
1977 - send(message) {
1978 - if (debug3.enabled("pw:test:protocol"))
1979 - debug3("pw:test:protocol")("SEND \u25BA " + JSON.stringify(message));
1980 - this.process?.send(message);
1981 - }
1982 -};
1983 -
1984 -// packages/playwright/src/runner/loaderHost.ts
1985 -var import_common2 = require("../common");
1986 -var InProcessLoaderHost = class {
1987 - constructor(config2) {
1988 - this._config = config2;
1989 - this._poolBuilder = import_common2.poolBuilder.PoolBuilder.createForLoader();
1990 - }
1991 - async start(errors) {
1992 - return true;
1993 - }
1994 - async loadTestFile(file, testErrors) {
1995 - const result = await import_common2.testLoader.loadTestFile(file, this._config, testErrors);
1996 - this._poolBuilder.buildPools(result, testErrors);
1997 - return result;
1998 - }
1999 - async stop() {
2000 - await import_common2.esm.incorporateCompilationCache();
2001 - }
2002 -};
2003 -var OutOfProcessLoaderHost = class {
2004 - constructor(config2) {
2005 - this._config = config2;
2006 - this._processHost = new ProcessHost(require.resolve("../loader/loaderProcessEntry.js"), "loader", {});
2007 - }
2008 - async start(errors) {
2009 - const startError = await this._processHost.startRunner(import_common2.ipc.serializeConfig(this._config, false));
2010 - if (startError) {
2011 - errors.push({
2012 - message: `Test loader process failed to start with code "${startError.code}" and signal "${startError.signal}"`
2013 - });
2014 - return false;
2015 - }
2016 - return true;
2017 - }
2018 - async loadTestFile(file, testErrors) {
2019 - const result = await this._processHost.sendMessage({ method: "loadTestFile", params: { file } });
2020 - testErrors.push(...result.testErrors);
2021 - return import_common2.test.Suite._deepParse(result.fileSuite);
2022 - }
2023 - async stop() {
2024 - const result = await this._processHost.sendMessage({ method: "getCompilationCacheFromLoader" });
2025 - import_common2.cc.addToCompilationCache(result);
2026 - await this._processHost.stop();
2027 - }
2028 -};
2029 -
2030 -// packages/playwright/src/runner/loadUtils.ts
2031 -var import_util4 = require("../util");
2032 -
2033 -// packages/playwright/src/runner/projectUtils.ts
2034 -var projectUtils_exports = {};
2035 -__export(projectUtils_exports, {
2036 - buildDependentProjects: () => buildDependentProjects,
2037 - buildProjectsClosure: () => buildProjectsClosure,
2038 - buildTeardownToSetupsMap: () => buildTeardownToSetupsMap,
2039 - collectFilesForProject: () => collectFilesForProject,
2040 - filterProjects: () => filterProjects,
2041 - findTopLevelProjects: () => findTopLevelProjects
2042 -});
2043 -var import_fs2 = __toESM(require("fs"));
2044 -var import_path3 = __toESM(require("path"));
2045 -var import_util2 = require("util");
2046 -var import_util3 = require("../util");
2047 -var minimatch = require("playwright-core/lib/utilsBundle").minimatch;
2048 -var { escapeRegExp } = require("playwright-core/lib/coreBundle").iso;
2049 -var readFileAsync = (0, import_util2.promisify)(import_fs2.default.readFile);
2050 -var readDirAsync = (0, import_util2.promisify)(import_fs2.default.readdir);
2051 -function wildcardPatternToRegExp(pattern) {
2052 - return new RegExp("^" + pattern.split("*").map(escapeRegExp).join(".*") + "$", "ig");
2053 -}
2054 -function filterProjects(projects, projectNames) {
2055 - if (!projectNames)
2056 - return [...projects];
2057 - const projectNamesToFind = /* @__PURE__ */ new Set();
2058 - const unmatchedProjectNames = /* @__PURE__ */ new Map();
2059 - const patterns = /* @__PURE__ */ new Set();
2060 - for (const name of projectNames) {
2061 - const lowerCaseName = name.toLocaleLowerCase();
2062 - if (lowerCaseName.includes("*")) {
2063 - patterns.add(wildcardPatternToRegExp(lowerCaseName));
2064 - } else {
2065 - projectNamesToFind.add(lowerCaseName);
2066 - unmatchedProjectNames.set(lowerCaseName, name);
2067 - }
2068 - }
2069 - const result = projects.filter((project) => {
2070 - const lowerCaseName = project.project.name.toLocaleLowerCase();
2071 - if (projectNamesToFind.has(lowerCaseName)) {
2072 - unmatchedProjectNames.delete(lowerCaseName);
2073 - return true;
2074 - }
2075 - for (const regex of patterns) {
2076 - regex.lastIndex = 0;
2077 - if (regex.test(lowerCaseName))
2078 - return true;
2079 - }
2080 - return false;
2081 - });
2082 - if (unmatchedProjectNames.size) {
2083 - const unknownProjectNames = Array.from(unmatchedProjectNames.values()).map((n) => `"${n}"`).join(", ");
2084 - throw new Error(`Project(s) ${unknownProjectNames} not found. Available projects: ${projects.map((p) => `"${p.project.name}"`).join(", ")}`);
2085 - }
2086 - if (!result.length) {
2087 - const allProjects = projects.map((p) => `"${p.project.name}"`).join(", ");
2088 - throw new Error(`No projects matched. Available projects: ${allProjects}`);
2089 - }
2090 - return result;
2091 -}
2092 -function buildTeardownToSetupsMap(projects) {
2093 - const result = /* @__PURE__ */ new Map();
2094 - for (const project of projects) {
2095 - if (project.teardown) {
2096 - const setups = result.get(project.teardown) || [];
2097 - setups.push(project);
2098 - result.set(project.teardown, setups);
2099 - }
2100 - }
2101 - return result;
2102 -}
2103 -function buildProjectsClosure(projects, hasTests) {
2104 - const result = /* @__PURE__ */ new Map();
2105 - const visit = (depth, project) => {
2106 - if (depth > 100) {
2107 - const error = new Error("Circular dependency detected between projects.");
2108 - error.stack = "";
2109 - throw error;
2110 - }
2111 - if (depth === 0 && hasTests && !hasTests(project))
2112 - return;
2113 - if (result.get(project) !== "dependency")
2114 - result.set(project, depth ? "dependency" : "top-level");
2115 - for (const dep of project.deps)
2116 - visit(depth + 1, dep);
2117 - if (project.teardown)
2118 - visit(depth + 1, project.teardown);
2119 - };
2120 - for (const p of projects)
2121 - visit(0, p);
2122 - return result;
2123 -}
2124 -function findTopLevelProjects(config2) {
2125 - const closure = buildProjectsClosure(config2.projects);
2126 - return [...closure].filter((entry) => entry[1] === "top-level").map((entry) => entry[0]);
2127 -}
2128 -function buildDependentProjects(forProjects, projects) {
2129 - const reverseDeps = new Map(projects.map((p) => [p, []]));
2130 - for (const project of projects) {
2131 - for (const dep of project.deps)
2132 - reverseDeps.get(dep).push(project);
2133 - }
2134 - const result = /* @__PURE__ */ new Set();
2135 - const visit = (depth, project) => {
2136 - if (depth > 100) {
2137 - const error = new Error("Circular dependency detected between projects.");
2138 - error.stack = "";
2139 - throw error;
2140 - }
2141 - result.add(project);
2142 - for (const reverseDep of reverseDeps.get(project))
2143 - visit(depth + 1, reverseDep);
2144 - if (project.teardown)
2145 - visit(depth + 1, project.teardown);
2146 - };
2147 - for (const forProject of forProjects)
2148 - visit(0, forProject);
2149 - return result;
2150 -}
2151 -async function collectFilesForProject(project, fsCache = /* @__PURE__ */ new Map()) {
2152 - const extensions = /* @__PURE__ */ new Set([".js", ".ts", ".mjs", ".mts", ".cjs", ".cts", ".jsx", ".tsx", ".mjsx", ".mtsx", ".cjsx", ".ctsx"]);
2153 - const testFileExtension = (file) => extensions.has(import_path3.default.extname(file));
2154 - const allFiles = await cachedCollectFiles(project.project.testDir, project.respectGitIgnore, fsCache);
2155 - const testMatch = (0, import_util3.createFileMatcher)(project.project.testMatch);
2156 - const testIgnore = (0, import_util3.createFileMatcher)(project.project.testIgnore);
2157 - const testFiles = allFiles.filter((file) => {
2158 - if (!testFileExtension(file))
2159 - return false;
2160 - const isTest = !testIgnore(file) && testMatch(file);
2161 - if (!isTest)
2162 - return false;
2163 - return true;
2164 - });
2165 - return testFiles;
2166 -}
2167 -async function cachedCollectFiles(testDir, respectGitIgnore, fsCache) {
2168 - const key = testDir + ":" + respectGitIgnore;
2169 - let result = fsCache.get(key);
2170 - if (!result) {
2171 - result = await collectFiles(testDir, respectGitIgnore);
2172 - fsCache.set(key, result);
2173 - }
2174 - return result;
2175 -}
2176 -async function collectFiles(testDir, respectGitIgnore) {
2177 - if (!import_fs2.default.existsSync(testDir))
2178 - return [];
2179 - if (!import_fs2.default.statSync(testDir).isDirectory())
2180 - return [];
2181 - const checkIgnores = (entryPath, rules, isDirectory, parentStatus) => {
2182 - let status = parentStatus;
2183 - for (const rule of rules) {
2184 - const ruleIncludes = rule.negate;
2185 - if (status === "included" === ruleIncludes)
2186 - continue;
2187 - const relative = import_path3.default.relative(rule.dir, entryPath);
2188 - if (rule.match("/" + relative) || rule.match(relative)) {
2189 - status = ruleIncludes ? "included" : "ignored";
2190 - } else if (isDirectory && (rule.match("/" + relative + "/") || rule.match(relative + "/"))) {
2191 - status = ruleIncludes ? "included" : "ignored";
2192 - } else if (isDirectory && ruleIncludes && (rule.match("/" + relative, true) || rule.match(relative, true))) {
2193 - status = "ignored-but-recurse";
2194 - }
2195 - }
2196 - return status;
2197 - };
2198 - const files = [];
2199 - const visit = async (dir, rules, status) => {
2200 - const entries = await readDirAsync(dir, { withFileTypes: true });
2201 - entries.sort((a, b) => a.name.localeCompare(b.name));
2202 - if (respectGitIgnore) {
2203 - const gitignore = entries.find((e) => e.isFile() && e.name === ".gitignore");
2204 - if (gitignore) {
2205 - const content = await readFileAsync(import_path3.default.join(dir, gitignore.name), "utf8");
2206 - const newRules = content.split(/\r?\n/).map((s) => {
2207 - s = s.trim();
2208 - if (!s)
2209 - return;
2210 - const rule = new minimatch.Minimatch(s, { matchBase: true, dot: true, flipNegate: true });
2211 - if (rule.comment)
2212 - return;
2213 - rule.dir = dir;
2214 - return rule;
2215 - }).filter((rule) => !!rule);
2216 - rules = [...rules, ...newRules];
2217 - }
2218 - }
2219 - for (const entry of entries) {
2220 - if (entry.name === "." || entry.name === "..")
2221 - continue;
2222 - if (entry.isFile() && entry.name === ".gitignore")
2223 - continue;
2224 - if (entry.isDirectory() && entry.name === "node_modules")
2225 - continue;
2226 - const entryPath = import_path3.default.join(dir, entry.name);
2227 - const entryStatus = checkIgnores(entryPath, rules, entry.isDirectory(), status);
2228 - if (entry.isDirectory() && entryStatus !== "ignored")
2229 - await visit(entryPath, rules, entryStatus);
2230 - else if (entry.isFile() && entryStatus === "included")
2231 - files.push(entryPath);
2232 - }
2233 - };
2234 - await visit(testDir, [], "included");
2235 - return files;
2236 -}
2237 -
2238 -// packages/playwright/src/runner/testGroups.ts
2239 -function createTestGroups(projectSuite, expectedParallelism) {
2240 - const groups = /* @__PURE__ */ new Map();
2241 - const createGroup = (test) => {
2242 - return {
2243 - workerHash: test._workerHash,
2244 - requireFile: test._requireFile,
2245 - repeatEachIndex: test.repeatEachIndex,
2246 - projectId: test._projectId,
2247 - tests: []
2248 - };
2249 - };
2250 - for (const test of projectSuite.allTests()) {
2251 - let withWorkerHash = groups.get(test._workerHash);
2252 - if (!withWorkerHash) {
2253 - withWorkerHash = /* @__PURE__ */ new Map();
2254 - groups.set(test._workerHash, withWorkerHash);
2255 - }
2256 - let withRequireFile = withWorkerHash.get(test._requireFile);
2257 - if (!withRequireFile) {
2258 - withRequireFile = {
2259 - general: createGroup(test),
2260 - parallel: /* @__PURE__ */ new Map(),
2261 - parallelWithHooks: createGroup(test)
2262 - };
2263 - withWorkerHash.set(test._requireFile, withRequireFile);
2264 - }
2265 - let insideParallel = false;
2266 - let outerMostSequentialSuite;
2267 - let hasAllHooks = false;
2268 - for (let parent = test.parent; parent; parent = parent.parent) {
2269 - if (parent._parallelMode === "serial" || parent._parallelMode === "default")
2270 - outerMostSequentialSuite = parent;
2271 - insideParallel = insideParallel || parent._parallelMode === "parallel";
2272 - hasAllHooks = hasAllHooks || parent._hooks.some((hook) => hook.type === "beforeAll" || hook.type === "afterAll");
2273 - }
2274 - if (insideParallel) {
2275 - if (hasAllHooks && !outerMostSequentialSuite) {
2276 - withRequireFile.parallelWithHooks.tests.push(test);
2277 - } else {
2278 - const key = outerMostSequentialSuite || test;
2279 - let group = withRequireFile.parallel.get(key);
2280 - if (!group) {
2281 - group = createGroup(test);
2282 - withRequireFile.parallel.set(key, group);
2283 - }
2284 - group.tests.push(test);
2285 - }
2286 - } else {
2287 - withRequireFile.general.tests.push(test);
2288 - }
2289 - }
2290 - const result = [];
2291 - for (const withWorkerHash of groups.values()) {
2292 - for (const withRequireFile of withWorkerHash.values()) {
2293 - if (withRequireFile.general.tests.length)
2294 - result.push(withRequireFile.general);
2295 - result.push(...withRequireFile.parallel.values());
2296 - const parallelWithHooksGroupSize = Math.ceil(withRequireFile.parallelWithHooks.tests.length / expectedParallelism);
2297 - let lastGroup;
2298 - for (const test of withRequireFile.parallelWithHooks.tests) {
2299 - if (!lastGroup || lastGroup.tests.length >= parallelWithHooksGroupSize) {
2300 - lastGroup = createGroup(test);
2301 - result.push(lastGroup);
2302 - }
2303 - lastGroup.tests.push(test);
2304 - }
2305 - }
2306 - }
2307 - return result;
2308 -}
2309 -function filterForShard(shard, weights, testGroups) {
2310 - weights ??= Array.from({ length: shard.total }, () => 1);
2311 - if (weights.length !== shard.total)
2312 - throw new Error(`PWTEST_SHARD_WEIGHTS number of weights must match the shard total of ${shard.total}`);
2313 - const totalWeight = weights.reduce((a, b) => a + b, 0);
2314 - let shardableTotal = 0;
2315 - for (const group of testGroups)
2316 - shardableTotal += group.tests.length;
2317 - const shardSizes = weights.map((w) => Math.floor(w * shardableTotal / totalWeight));
2318 - const remainder = shardableTotal - shardSizes.reduce((a, b) => a + b, 0);
2319 - for (let i = 0; i < remainder; i++) {
2320 - shardSizes[i % shardSizes.length]++;
2321 - }
2322 - let from = 0;
2323 - for (let i = 0; i < shard.current - 1; i++)
2324 - from += shardSizes[i];
2325 - const to = from + shardSizes[shard.current - 1];
2326 - let current = 0;
2327 - const result = /* @__PURE__ */ new Set();
2328 - for (const group of testGroups) {
2329 - if (current >= from && current < to)
2330 - result.add(group);
2331 - current += group.tests.length;
2332 - }
2333 - return result;
2334 -}
2335 -
2336 -// packages/playwright/src/runner/loadUtils.ts
2337 -var import_common3 = require("../common");
2338 -var sourceMapSupport = require("playwright-core/lib/utilsBundle").sourceMapSupport;
2339 -var { toPosixPath } = require("playwright-core/lib/coreBundle").utils;
2340 -async function collectProjectsAndTestFiles(testRun, doNotRunTestsOutsideProjectFilter) {
2341 - const fsCache = /* @__PURE__ */ new Map();
2342 - const sourceMapCache = /* @__PURE__ */ new Map();
2343 - const allFilesForProject = /* @__PURE__ */ new Map();
2344 - for (const project of testRun.filteredProjects) {
2345 - const files = await collectFilesForProject(project, fsCache);
2346 - allFilesForProject.set(project, files);
2347 - }
2348 - const filesToRunByProject = /* @__PURE__ */ new Map();
2349 - for (const [project, files] of allFilesForProject) {
2350 - const matchedFiles = files.filter((file) => {
2351 - if (!testRun.loadFileFilters.length) {
2352 - return true;
2353 - }
2354 - const hasMatchingSources = sourceMapSources(file, sourceMapCache).some((source) => {
2355 - const matchesAllFileFilters = testRun.loadFileFilters.every((filter) => filter(source));
2356 - return matchesAllFileFilters;
2357 - });
2358 - return hasMatchingSources;
2359 - });
2360 - const filteredFiles = matchedFiles.filter(Boolean);
2361 - filesToRunByProject.set(project, filteredFiles);
2362 - }
2363 - const projectClosure = buildProjectsClosure([...filesToRunByProject.keys()]);
2364 - for (const [project, type] of projectClosure) {
2365 - if (type === "dependency") {
2366 - const treatProjectAsEmpty = doNotRunTestsOutsideProjectFilter && !testRun.filteredProjects.includes(project);
2367 - const files = treatProjectAsEmpty ? [] : allFilesForProject.get(project) || await collectFilesForProject(project, fsCache);
2368 - filesToRunByProject.set(project, files);
2369 - }
2370 - }
2371 - testRun.projectFiles = filesToRunByProject;
2372 - testRun.projectSuites = /* @__PURE__ */ new Map();
2373 -}
2374 -async function loadFileSuites(testRun, mode, errors) {
2375 - const config2 = testRun.config;
2376 - const allTestFiles = /* @__PURE__ */ new Set();
2377 - for (const files of testRun.projectFiles.values())
2378 - files.forEach((file) => allTestFiles.add(file));
2379 - const fileSuiteByFile = /* @__PURE__ */ new Map();
2380 - const loaderHost = mode === "out-of-process" ? new OutOfProcessLoaderHost(config2) : new InProcessLoaderHost(config2);
2381 - if (await loaderHost.start(errors)) {
2382 - for (const file of allTestFiles) {
2383 - const fileSuite = await loaderHost.loadTestFile(file, errors);
2384 - fileSuiteByFile.set(file, fileSuite);
2385 - errors.push(...createDuplicateTitlesErrors(config2, fileSuite));
2386 - }
2387 - await loaderHost.stop();
2388 - }
2389 - for (const file of allTestFiles) {
2390 - for (const dependency of import_common3.cc.dependenciesForTestFile(file)) {
2391 - if (allTestFiles.has(dependency)) {
2392 - const importer = import_path4.default.relative(config2.config.rootDir, file);
2393 - const importee = import_path4.default.relative(config2.config.rootDir, dependency);
2394 - errors.push({
2395 - message: `Error: test file "${importer}" should not import test file "${importee}"`,
2396 - location: { file, line: 1, column: 1 }
2397 - });
2398 - }
2399 - }
2400 - }
2401 - for (const [project, files] of testRun.projectFiles) {
2402 - const suites = files.map((file) => fileSuiteByFile.get(file)).filter(Boolean);
2403 - testRun.projectSuites.set(project, suites);
2404 - }
2405 -}
2406 -async function createRootSuite(testRun, errors, shouldFilterOnly) {
2407 - const config2 = testRun.config;
2408 - const rootSuite = new import_common3.test.Suite("", "root");
2409 - const projectSuites = /* @__PURE__ */ new Map();
2410 - const filteredProjectSuites = /* @__PURE__ */ new Map();
2411 - {
2412 - for (const [project, fileSuites] of testRun.projectSuites) {
2413 - const projectSuite = createProjectSuite(project, fileSuites);
2414 - projectSuites.set(project, projectSuite);
2415 - const filteredProjectSuite = filterProjectSuite(projectSuite, testRun.preOnlyTestFilters);
2416 - filteredProjectSuites.set(project, filteredProjectSuite);
2417 - }
2418 - }
2419 - if (shouldFilterOnly) {
2420 - const filteredRoot = new import_common3.test.Suite("", "root");
2421 - for (const filteredProjectSuite of filteredProjectSuites.values())
2422 - filteredRoot._addSuite(filteredProjectSuite);
2423 - import_common3.suiteUtils.filterOnly(filteredRoot);
2424 - for (const [project, filteredProjectSuite] of filteredProjectSuites) {
2425 - if (!filteredRoot.suites.includes(filteredProjectSuite))
2426 - filteredProjectSuites.delete(project);
2427 - }
2428 - }
2429 - const projectClosure = buildProjectsClosure([...filteredProjectSuites.keys()], (project) => filteredProjectSuites.get(project)._hasTests());
2430 - for (const [project, type] of projectClosure) {
2431 - if (type === "top-level") {
2432 - project.project.repeatEach = project.fullConfig.configCLIOverrides.repeatEach ?? project.project.repeatEach;
2433 - rootSuite._addSuite(buildProjectSuite(project, filteredProjectSuites.get(project)));
2434 - }
2435 - }
2436 - if (config2.config.forbidOnly) {
2437 - const onlyTestsAndSuites = rootSuite._getOnlyItems();
2438 - if (onlyTestsAndSuites.length > 0) {
2439 - const configFilePath = config2.config.configFile ? import_path4.default.relative(config2.config.rootDir, config2.config.configFile) : void 0;
2440 - errors.push(...createForbidOnlyErrors(onlyTestsAndSuites, config2.configCLIOverrides.forbidOnly, configFilePath));
2441 - }
2442 - }
2443 - if (config2.config.shard) {
2444 - const testGroups = [];
2445 - for (const projectSuite of rootSuite.suites) {
2446 - for (const group of createTestGroups(projectSuite, config2.config.shard.total))
2447 - testGroups.push(group);
2448 - }
2449 - const testGroupsInThisShard = filterForShard(config2.config.shard, testRun.options.shardWeights, testGroups);
2450 - const testsInThisShard = /* @__PURE__ */ new Set();
2451 - for (const group of testGroupsInThisShard) {
2452 - for (const test of group.tests)
2453 - testsInThisShard.add(test);
2454 - }
2455 - import_common3.suiteUtils.filterTestsRemoveEmptySuites(rootSuite, (test) => testsInThisShard.has(test));
2456 - }
2457 - if (testRun.postShardTestFilters.length)
2458 - import_common3.suiteUtils.filterTestsRemoveEmptySuites(rootSuite, (test) => testRun.postShardTestFilters.every((filter) => filter(test)));
2459 - const topLevelProjects = [];
2460 - {
2461 - const projectClosure2 = new Map(buildProjectsClosure(rootSuite.suites.map((suite) => suite._fullProject)));
2462 - for (const [project, level] of projectClosure2.entries()) {
2463 - if (level === "dependency")
2464 - rootSuite._prependSuite(buildProjectSuite(project, projectSuites.get(project)));
2465 - else
2466 - topLevelProjects.push(project);
2467 - }
2468 - }
2469 - testRun.rootSuite = rootSuite;
2470 - testRun.topLevelProjects = topLevelProjects;
2471 -}
2472 -function createProjectSuite(project, fileSuites) {
2473 - const projectSuite = new import_common3.test.Suite(project.project.name, "project");
2474 - for (const fileSuite of fileSuites)
2475 - projectSuite._addSuite(import_common3.suiteUtils.bindFileSuiteToProject(project, fileSuite));
2476 - const grepMatcher = (0, import_util4.createTitleMatcher)(project.project.grep);
2477 - const grepInvertMatcher = project.project.grepInvert ? (0, import_util4.createTitleMatcher)(project.project.grepInvert) : null;
2478 - import_common3.suiteUtils.filterTestsRemoveEmptySuites(projectSuite, (test) => {
2479 - const grepTitle = test._grepTitleWithTags();
2480 - if (grepInvertMatcher?.(grepTitle))
2481 - return false;
2482 - return grepMatcher(grepTitle);
2483 - });
2484 - return projectSuite;
2485 -}
2486 -function filterProjectSuite(projectSuite, testFilters) {
2487 - if (!testFilters.length)
2488 - return projectSuite;
2489 - const result = projectSuite._deepClone();
2490 - import_common3.suiteUtils.filterTestsRemoveEmptySuites(result, (test) => testFilters.every((filter) => filter(test)));
2491 - return result;
2492 -}
2493 -function buildProjectSuite(project, projectSuite) {
2494 - const result = new import_common3.test.Suite(project.project.name, "project");
2495 - result._fullProject = project;
2496 - if (project.fullyParallel)
2497 - result._parallelMode = "parallel";
2498 - for (const fileSuite of projectSuite.suites) {
2499 - result._addSuite(fileSuite);
2500 - for (let repeatEachIndex = 1; repeatEachIndex < project.project.repeatEach; repeatEachIndex++) {
2501 - const clone = fileSuite._deepClone();
2502 - import_common3.suiteUtils.applyRepeatEachIndex(project, clone, repeatEachIndex);
2503 - result._addSuite(clone);
2504 - }
2505 - }
2506 - return result;
2507 -}
2508 -function createForbidOnlyErrors(onlyTestsAndSuites, forbidOnlyCLIFlag, configFilePath) {
2509 - const errors = [];
2510 - for (const testOrSuite of onlyTestsAndSuites) {
2511 - const title = testOrSuite.titlePath().slice(2).join(" ");
2512 - const configFilePathName = configFilePath ? `'${configFilePath}'` : "the Playwright configuration file";
2513 - const forbidOnlySource = forbidOnlyCLIFlag ? `'--forbid-only' CLI flag` : `'forbidOnly' option in ${configFilePathName}`;
2514 - const error = {
2515 - message: `Error: item focused with '.only' is not allowed due to the ${forbidOnlySource}: "${title}"`,
2516 - location: testOrSuite.location
2517 - };
2518 - errors.push(error);
2519 - }
2520 - return errors;
2521 -}
2522 -function createDuplicateTitlesErrors(config2, fileSuite) {
2523 - const errors = [];
2524 - const testsByFullTitle = /* @__PURE__ */ new Map();
2525 - for (const test of fileSuite.allTests()) {
2526 - const fullTitle = test.titlePath().slice(1).join(" \u203A ");
2527 - const existingTest = testsByFullTitle.get(fullTitle);
2528 - if (existingTest) {
2529 - const error = {
2530 - message: `Error: duplicate test title "${fullTitle}", first declared in ${buildItemLocation(config2.config.rootDir, existingTest)}`,
2531 - location: test.location
2532 - };
2533 - errors.push(error);
2534 - }
2535 - testsByFullTitle.set(fullTitle, test);
2536 - }
2537 - return errors;
2538 -}
2539 -function buildItemLocation(rootDir, testOrSuite) {
2540 - if (!testOrSuite.location)
2541 - return "";
2542 - return `${import_path4.default.relative(rootDir, testOrSuite.location.file)}:${testOrSuite.location.line}`;
2543 -}
2544 -async function requireOrImportDefaultFunction(file, expectConstructor) {
2545 - let func = await import_common3.transform.requireOrImport(file);
2546 - if (func && typeof func === "object" && "default" in func)
2547 - func = func["default"];
2548 - if (typeof func !== "function")
2549 - throw (0, import_util4.errorWithFile)(file, `file must export a single ${expectConstructor ? "class" : "function"}.`);
2550 - return func;
2551 -}
2552 -function loadGlobalHook(config2, file) {
2553 - return requireOrImportDefaultFunction(import_path4.default.resolve(config2.config.rootDir, file), false);
2554 -}
2555 -function loadReporter(config2, file) {
2556 - return requireOrImportDefaultFunction(config2 ? import_path4.default.resolve(config2.config.rootDir, file) : file, true);
2557 -}
2558 -function sourceMapSources(file, cache) {
2559 - let sources = [file];
2560 - if (!file.endsWith(".js"))
2561 - return sources;
2562 - if (cache.has(file))
2563 - return cache.get(file);
2564 - try {
2565 - const sourceMap = sourceMapSupport.retrieveSourceMap(file);
2566 - const sourceMapData = typeof sourceMap?.map === "string" ? JSON.parse(sourceMap.map) : sourceMap?.map;
2567 - if (sourceMapData?.sources)
2568 - sources = sourceMapData.sources.map((source) => import_path4.default.resolve(import_path4.default.dirname(file), source));
2569 - } finally {
2570 - cache.set(file, sources);
2571 - return sources;
2572 - }
2573 -}
2574 -async function loadTestList(config2, filePath) {
2575 - try {
2576 - const content = await import_fs3.default.promises.readFile(filePath, "utf-8");
2577 - const lines = content.split("\n").map((line) => line.trim()).filter((line) => line && !line.startsWith("#"));
2578 - const descriptions = lines.map((line) => {
2579 - const delimiter = line.includes("\u203A") ? "\u203A" : ">";
2580 - const tokens = line.split(delimiter).map((token) => token.trim());
2581 - let project;
2582 - if (tokens[0].startsWith("[")) {
2583 - if (!tokens[0].endsWith("]"))
2584 - throw new Error(`Malformed test description: ${line}`);
2585 - project = tokens[0].substring(1, tokens[0].length - 1);
2586 - tokens.shift();
2587 - }
2588 - return { project, file: toPosixPath((0, import_util4.parseLocationArg)(tokens[0]).file), titlePath: tokens.slice(1) };
2589 - });
2590 - const testFilter = (test) => descriptions.some((d) => {
2591 - const [projectName, , ...titles] = test.titlePath();
2592 - if (d.project !== void 0 && d.project !== projectName)
2593 - return false;
2594 - const relativeFile = toPosixPath(import_path4.default.relative(config2.config.rootDir, test.location.file));
2595 - if (relativeFile !== d.file)
2596 - return false;
2597 - return d.titlePath.length <= titles.length && d.titlePath.every((_, index) => titles[index] === d.titlePath[index]);
2598 - });
2599 - const fileFilter = (file) => {
2600 - const relativeFile = toPosixPath(import_path4.default.relative(config2.config.rootDir, file));
2601 - return descriptions.some((d) => d.file === relativeFile);
2602 - };
2603 - return { testFilter, fileFilter };
2604 - } catch (e) {
2605 - throw (0, import_util4.errorWithFile)(filePath, "Cannot read test list file: " + e.message);
2606 - }
2607 -}
2608 -
2609 -// packages/playwright/src/reporters/blob.ts
2610 -var import_fs4 = __toESM(require("fs"));
2611 -var import_path6 = __toESM(require("path"));
2612 -var import_stream = require("stream");
2613 -var import_coreBundle = require("playwright-core/lib/coreBundle");
2614 -
2615 -// packages/playwright/src/reporters/teleEmitter.ts
2616 -var import_path5 = __toESM(require("path"));
2617 -var { createGuid } = require("playwright-core/lib/coreBundle").utils;
2618 -var TeleReporterEmitter = class {
2619 - constructor(messageSink, options = {}) {
2620 - this._resultKnownAttachmentCounts = /* @__PURE__ */ new Map();
2621 - this._resultKnownErrorCounts = /* @__PURE__ */ new Map();
2622 - // In case there is blob reporter and UI mode, make sure one doesn't override
2623 - // the id assigned by the other.
2624 - this._idSymbol = Symbol("id");
2625 - this._messageSink = messageSink;
2626 - this._emitterOptions = options;
2627 - }
2628 - version() {
2629 - return "v2";
2630 - }
2631 - onConfigure(config2) {
2632 - this._rootDir = config2.rootDir;
2633 - this._messageSink({ method: "onConfigure", params: { config: this._serializeConfig(config2) } });
2634 - }
2635 - onBegin(suite) {
2636 - const projects = suite.suites.map((projectSuite) => this._serializeProject(projectSuite));
2637 - for (const project of projects)
2638 - this._messageSink({ method: "onProject", params: { project } });
2639 - this._messageSink({ method: "onBegin", params: void 0 });
2640 - }
2641 - onTestBegin(test, result) {
2642 - result[this._idSymbol] = createGuid();
2643 - this._messageSink({
2644 - method: "onTestBegin",
2645 - params: {
2646 - testId: test.id,
2647 - result: this._serializeResultStart(result)
2648 - }
2649 - });
2650 - }
2651 - async onTestPaused(test, result) {
2652 - const resultId = result[this._idSymbol];
2653 - this._resultKnownErrorCounts.set(resultId, result.errors.length);
2654 - this._messageSink({
2655 - method: "onTestPaused",
2656 - params: {
2657 - testId: test.id,
2658 - resultId,
2659 - errors: result.errors
2660 - }
2661 - });
2662 - await new Promise(() => {
2663 - });
2664 - }
2665 - onTestEnd(test, result) {
2666 - const testEnd = {
2667 - testId: test.id,
2668 - expectedStatus: test.expectedStatus,
2669 - timeout: test.timeout,
2670 - annotations: []
2671 - };
2672 - this._sendNewAttachments(result, test.id);
2673 - this._messageSink({
2674 - method: "onTestEnd",
2675 - params: {
2676 - test: testEnd,
2677 - result: this._serializeResultEnd(result)
2678 - }
2679 - });
2680 - const resultId = result[this._idSymbol];
2681 - this._resultKnownAttachmentCounts.delete(resultId);
2682 - this._resultKnownErrorCounts.delete(resultId);
2683 - }
2684 - onStepBegin(test, result, step) {
2685 - step[this._idSymbol] = createGuid();
2686 - this._messageSink({
2687 - method: "onStepBegin",
2688 - params: {
2689 - testId: test.id,
2690 - resultId: result[this._idSymbol],
2691 - step: this._serializeStepStart(step)
2692 - }
2693 - });
2694 - }
2695 - onStepEnd(test, result, step) {
2696 - const resultId = result[this._idSymbol];
2697 - this._sendNewAttachments(result, test.id);
2698 - this._messageSink({
2699 - method: "onStepEnd",
2700 - params: {
2701 - testId: test.id,
2702 - resultId,
2703 - step: this._serializeStepEnd(step, result)
2704 - }
2705 - });
2706 - }
2707 - onError(error, workerInfo) {
2708 - this._messageSink({
2709 - method: "onError",
2710 - params: {
2711 - error,
2712 - workerInfo: workerInfo ? {
2713 - workerIndex: workerInfo.workerIndex,
2714 - parallelIndex: workerInfo.parallelIndex,
2715 - projectName: workerInfo.project.name
2716 - } : void 0
2717 - }
2718 - });
2719 - }
2720 - onStdOut(chunk, test, result) {
2721 - this._onStdIO("stdout", chunk, test, result);
2722 - }
2723 - onStdErr(chunk, test, result) {
2724 - this._onStdIO("stderr", chunk, test, result);
2725 - }
2726 - _onStdIO(type, chunk, test, result) {
2727 - if (this._emitterOptions.omitOutput)
2728 - return;
2729 - const isBase64 = typeof chunk !== "string";
2730 - const data = isBase64 ? chunk.toString("base64") : chunk;
2731 - this._messageSink({
2732 - method: "onStdIO",
2733 - params: { testId: test?.id, resultId: result ? result[this._idSymbol] : void 0, type, data, isBase64 }
2734 - });
2735 - }
2736 - async onEnd(result) {
2737 - const resultPayload = {
2738 - status: result.status,
2739 - startTime: result.startTime.getTime(),
2740 - duration: result.duration
2741 - };
2742 - this._messageSink({
2743 - method: "onEnd",
2744 - params: {
2745 - result: resultPayload
2746 - }
2747 - });
2748 - }
2749 - printsToStdio() {
2750 - return false;
2751 - }
2752 - _serializeConfig(config2) {
2753 - return {
2754 - configFile: this._relativePath(config2.configFile),
2755 - globalTimeout: config2.globalTimeout,
2756 - maxFailures: config2.maxFailures,
2757 - metadata: config2.metadata,
2758 - rootDir: config2.rootDir,
2759 - shard: config2.shard,
2760 - version: config2.version,
2761 - workers: config2.workers,
2762 - globalSetup: config2.globalSetup,
2763 - globalTeardown: config2.globalTeardown,
2764 - tags: config2.tags,
2765 - webServer: config2.webServer
2766 - };
2767 - }
2768 - _serializeProject(suite) {
2769 - const project = suite.project();
2770 - const report = {
2771 - metadata: project.metadata,
2772 - name: project.name,
2773 - outputDir: this._relativePath(project.outputDir),
2774 - repeatEach: project.repeatEach,
2775 - retries: project.retries,
2776 - testDir: this._relativePath(project.testDir),
2777 - testIgnore: serializeRegexPatterns(project.testIgnore),
2778 - testMatch: serializeRegexPatterns(project.testMatch),
2779 - timeout: project.timeout,
2780 - suites: suite.suites.map((fileSuite) => {
2781 - return this._serializeSuite(fileSuite);
2782 - }),
2783 - grep: serializeRegexPatterns(project.grep),
2784 - grepInvert: serializeRegexPatterns(project.grepInvert || []),
2785 - dependencies: project.dependencies,
2786 - snapshotDir: this._relativePath(project.snapshotDir),
2787 - teardown: project.teardown,
2788 - ignoreSnapshots: project.ignoreSnapshots ? true : void 0,
2789 - use: this._serializeProjectUseOptions(project.use)
2790 - };
2791 - return report;
2792 - }
2793 - _serializeProjectUseOptions(use) {
2794 - return {
2795 - testIdAttribute: use.testIdAttribute
2796 - };
2797 - }
2798 - _serializeSuite(suite) {
2799 - const result = {
2800 - title: suite.title,
2801 - location: this._relativeLocation(suite.location),
2802 - entries: suite.entries().map((e) => {
2803 - if (e.type === "test")
2804 - return this._serializeTest(e);
2805 - return this._serializeSuite(e);
2806 - })
2807 - };
2808 - return result;
2809 - }
2810 - _serializeTest(test) {
2811 - return {
2812 - testId: test.id,
2813 - title: test.title,
2814 - location: this._relativeLocation(test.location),
2815 - retries: test.retries,
2816 - tags: test.tags,
2817 - repeatEachIndex: test.repeatEachIndex,
2818 - annotations: this._relativeAnnotationLocations(test.annotations)
2819 - };
2820 - }
2821 - _serializeResultStart(result) {
2822 - return {
2823 - id: result[this._idSymbol],
2824 - retry: result.retry,
2825 - workerIndex: result.workerIndex,
2826 - parallelIndex: result.parallelIndex,
2827 - startTime: +result.startTime
2828 - };
2829 - }
2830 - _serializeResultEnd(result) {
2831 - const id = result[this._idSymbol];
2832 - return {
2833 - id,
2834 - duration: result.duration,
2835 - status: result.status,
2836 - errors: this._resultKnownErrorCounts.has(id) ? result.errors.slice(this._resultKnownAttachmentCounts.get(id)) : result.errors,
2837 - annotations: result.annotations?.length ? this._relativeAnnotationLocations(result.annotations) : void 0
2838 - };
2839 - }
2840 - _sendNewAttachments(result, testId) {
2841 - const resultId = result[this._idSymbol];
2842 - const knownAttachmentCount = this._resultKnownAttachmentCounts.get(resultId) ?? 0;
2843 - if (result.attachments.length > knownAttachmentCount) {
2844 - this._messageSink({
2845 - method: "onAttach",
2846 - params: {
2847 - testId,
2848 - resultId,
2849 - attachments: this._serializeAttachments(result.attachments.slice(knownAttachmentCount))
2850 - }
2851 - });
2852 - }
2853 - this._resultKnownAttachmentCounts.set(resultId, result.attachments.length);
2854 - }
2855 - _serializeAttachments(attachments) {
2856 - return attachments.map((a) => {
2857 - const { body, ...rest } = a;
2858 - return {
2859 - ...rest,
2860 - // There is no Buffer in the browser, so there is no point in sending the data there.
2861 - base64: body && !this._emitterOptions.omitBuffers ? body.toString("base64") : void 0
2862 - };
2863 - });
2864 - }
2865 - _serializeStepStart(step) {
2866 - return {
2867 - id: step[this._idSymbol],
2868 - parentStepId: step.parent?.[this._idSymbol],
2869 - title: step.title,
2870 - category: step.category,
2871 - startTime: +step.startTime,
2872 - location: this._relativeLocation(step.location)
2873 - };
2874 - }
2875 - _serializeStepEnd(step, result) {
2876 - return {
2877 - id: step[this._idSymbol],
2878 - duration: step.duration,
2879 - error: step.error,
2880 - attachments: step.attachments.length ? step.attachments.map((a) => result.attachments.indexOf(a)) : void 0,
2881 - annotations: step.annotations.length ? this._relativeAnnotationLocations(step.annotations) : void 0
2882 - };
2883 - }
2884 - _relativeAnnotationLocations(annotations) {
2885 - return annotations.map((annotation) => ({
2886 - ...annotation,
2887 - location: annotation.location ? this._relativeLocation(annotation.location) : void 0
2888 - }));
2889 - }
2890 - _relativeLocation(location) {
2891 - if (!location)
2892 - return location;
2893 - return {
2894 - ...location,
2895 - file: this._relativePath(location.file)
2896 - };
2897 - }
2898 - _relativePath(absolutePath) {
2899 - if (!absolutePath)
2900 - return absolutePath;
2901 - return import_path5.default.relative(this._rootDir, absolutePath);
2902 - }
2903 -};
2904 -
2905 -// packages/playwright/src/reporters/blob.ts
2906 -var mime = require("playwright-core/lib/utilsBundle").mime;
2907 -var yazl = require("playwright-core/lib/utilsBundle").yazl;
2908 -var { ManualPromise: ManualPromise2 } = require("playwright-core/lib/coreBundle").iso;
2909 -var { calculateSha1, createGuid: createGuid2 } = require("playwright-core/lib/coreBundle").utils;
2910 -var { removeFolders, sanitizeForFilePath } = require("playwright-core/lib/coreBundle").utils;
2911 -var currentBlobReportVersion = 2;
2912 -var BlobReporter = class extends TeleReporterEmitter {
2913 - constructor(options) {
2914 - super((message) => this._messages.push(message));
2915 - this._messages = [];
2916 - this._attachments = [];
2917 - this._options = options;
2918 - if (this._options.fileName && !this._options.fileName.endsWith(".zip"))
2919 - throw new Error(`Blob report file name must end with .zip extension: ${this._options.fileName}`);
2920 - this._salt = createGuid2();
2921 - }
2922 - onConfigure(config2) {
2923 - const metadata = {
2924 - version: currentBlobReportVersion,
2925 - userAgent: (0, import_coreBundle.getUserAgent)(),
2926 - // TODO: remove after some time, recommend config.tag instead.
2927 - name: process.env.PWTEST_BOT_NAME,
2928 - shard: config2.shard ?? void 0,
2929 - pathSeparator: import_path6.default.sep
2930 - };
2931 - this._messages.push({
2932 - method: "onBlobReportMetadata",
2933 - params: metadata
2934 - });
2935 - this._config = config2;
2936 - super.onConfigure(config2);
2937 - }
2938 - async onTestPaused(test, result) {
2939 - }
2940 - async onEnd(result) {
2941 - await super.onEnd(result);
2942 - const zipFileName = await this._prepareOutputFile();
2943 - const zipFile = new yazl.ZipFile();
2944 - const zipFinishPromise = new ManualPromise2();
2945 - const finishPromise = zipFinishPromise.catch((e) => {
2946 - throw new Error(`Failed to write report ${zipFileName}: ` + e.message);
2947 - });
2948 - zipFile.on("error", (error) => zipFinishPromise.reject(error));
2949 - zipFile.outputStream.pipe(import_fs4.default.createWriteStream(zipFileName)).on("close", () => {
2950 - zipFinishPromise.resolve(void 0);
2951 - }).on("error", (error) => zipFinishPromise.reject(error));
2952 - for (const { originalPath, zipEntryPath } of this._attachments) {
2953 - if (!import_fs4.default.statSync(originalPath, { throwIfNoEntry: false })?.isFile())
2954 - continue;
2955 - zipFile.addFile(originalPath, zipEntryPath);
2956 - }
2957 - const lines = this._messages.map((m) => JSON.stringify(m) + "\n");
2958 - const content = import_stream.Readable.from(lines);
2959 - zipFile.addReadStream(content, "report.jsonl");
2960 - zipFile.end();
2961 - await finishPromise;
2962 - }
2963 - async _prepareOutputFile() {
2964 - const { outputFile, outputDir } = resolveOutputFile("BLOB", {
2965 - ...this._options,
2966 - default: {
2967 - fileName: this._defaultReportName(this._config),
2968 - outputDir: "blob-report"
2969 - }
2970 - });
2971 - if (!process.env.PWTEST_BLOB_DO_NOT_REMOVE)
2972 - await removeFolders([outputDir]);
2973 - await import_fs4.default.promises.mkdir(import_path6.default.dirname(outputFile), { recursive: true });
2974 - return outputFile;
2975 - }
2976 - _defaultReportName(config2) {
2977 - let reportName = "report";
2978 - if (this._options._commandHash)
2979 - reportName += "-" + sanitizeForFilePath(this._options._commandHash);
2980 - if (config2.shard) {
2981 - const paddedNumber = `${config2.shard.current}`.padStart(`${config2.shard.total}`.length, "0");
2982 - reportName = `${reportName}-${paddedNumber}`;
2983 - }
2984 - return `${reportName}.zip`;
2985 - }
2986 - _serializeAttachments(attachments) {
2987 - return super._serializeAttachments(attachments).map((attachment) => {
2988 - if (!attachment.path)
2989 - return attachment;
2990 - const sha1 = calculateSha1(attachment.path + this._salt);
2991 - const extension = mime.getExtension(attachment.contentType) || "dat";
2992 - const newPath = `resources/${sha1}.${extension}`;
2993 - this._attachments.push({ originalPath: attachment.path, zipEntryPath: newPath });
2994 - return {
2995 - ...attachment,
2996 - path: newPath
2997 - };
2998 - });
2999 - }
3000 -};
3001 -
3002 -// packages/playwright/src/reporters/dot.ts
3003 -var DotReporter = class extends TerminalReporter {
3004 - constructor() {
3005 - super(...arguments);
3006 - this._counter = 0;
3007 - }
3008 - onBegin(suite) {
3009 - super.onBegin(suite);
3010 - this.writeLine(this.generateStartingMessage());
3011 - }
3012 - onStdOut(chunk, test, result) {
3013 - super.onStdOut(chunk, test, result);
3014 - if (!this.config.quiet)
3015 - this.screen.stdout.write(chunk);
3016 - }
3017 - onStdErr(chunk, test, result) {
3018 - super.onStdErr(chunk, test, result);
3019 - if (!this.config.quiet)
3020 - this.screen.stderr.write(chunk);
3021 - }
3022 - onTestEnd(test, result) {
3023 - super.onTestEnd(test, result);
3024 - if (this._counter === 80) {
3025 - this.screen.stdout.write("\n");
3026 - this._counter = 0;
3027 - }
3028 - ++this._counter;
3029 - if (result.status === "skipped") {
3030 - this.screen.stdout.write(this.screen.colors.yellow("\xB0"));
3031 - return;
3032 - }
3033 - if (this.willRetry(test)) {
3034 - this.screen.stdout.write(this.screen.colors.gray("\xD7"));
3035 - return;
3036 - }
3037 - switch (test.outcome()) {
3038 - case "expected":
3039 - this.screen.stdout.write(this.screen.colors.green("\xB7"));
3040 - break;
3041 - case "unexpected":
3042 - this.screen.stdout.write(this.screen.colors.red(result.status === "timedOut" ? "T" : "F"));
3043 - break;
3044 - case "flaky":
3045 - this.screen.stdout.write(this.screen.colors.yellow("\xB1"));
3046 - break;
3047 - }
3048 - }
3049 - onError(error) {
3050 - super.onError(error);
3051 - this.writeLine("\n" + this.formatError(error).message);
3052 - this._counter = 0;
3053 - }
3054 - async onTestPaused(test, result) {
3055 - if (!process.stdin.isTTY && !process.env.PW_TEST_DEBUG_REPORTERS)
3056 - return;
3057 - this.screen.stdout.write("\n");
3058 - if (test.outcome() === "unexpected") {
3059 - this.writeLine(this.screen.colors.red(this.formatTestHeader(test, { indent: " " })));
3060 - this.writeLine(this.formatResultErrors(test, result));
3061 - markErrorsAsReported(result);
3062 - this.writeLine(this.screen.colors.yellow(" Paused on error. Press Ctrl+C to end.") + "\n");
3063 - } else {
3064 - this.writeLine(this.screen.colors.yellow(this.formatTestHeader(test, { indent: " " })));
3065 - this.writeLine(this.screen.colors.yellow(" Paused at test end. Press Ctrl+C to end.") + "\n");
3066 - }
3067 - this._counter = 0;
3068 - await new Promise(() => {
3069 - });
3070 - }
3071 - async onEnd(result) {
3072 - await super.onEnd(result);
3073 - this.screen.stdout.write("\n");
3074 - this.epilogue(true);
3075 - }
3076 -};
3077 -var dot_default = DotReporter;
3078 -
3079 -// packages/playwright/src/reporters/empty.ts
3080 -var EmptyReporter = class {
3081 - version() {
3082 - return "v2";
3083 - }
3084 - printsToStdio() {
3085 - return false;
3086 - }
3087 -};
3088 -var empty_default = EmptyReporter;
3089 -
3090 -// packages/playwright/src/reporters/github.ts
3091 -var import_path7 = __toESM(require("path"));
3092 -var import_util5 = require("../util");
3093 -var { noColors: noColors2 } = require("playwright-core/lib/coreBundle").iso;
3094 -var { msToString: msToString2 } = require("playwright-core/lib/coreBundle").iso;
3095 -var GitHubLogger = class {
3096 - _log(message, type = "notice", options = {}) {
3097 - message = message.replace(/\n/g, "%0A");
3098 - const configs = Object.entries(options).map(([key, option]) => `${key}=${option}`).join(",");
3099 - process.stdout.write((0, import_util5.stripAnsiEscapes)(`::${type} ${configs}::${message}
3100 -`));
3101 - }
3102 - debug(message, options) {
3103 - this._log(message, "debug", options);
3104 - }
3105 - error(message, options) {
3106 - this._log(message, "error", options);
3107 - }
3108 - notice(message, options) {
3109 - this._log(message, "notice", options);
3110 - }
3111 - warning(message, options) {
3112 - this._log(message, "warning", options);
3113 - }
3114 -};
3115 -var GitHubReporter = class extends TerminalReporter {
3116 - constructor(options = {}) {
3117 - super(options);
3118 - this.githubLogger = new GitHubLogger();
3119 - this._failedTestCount = 0;
3120 - this.screen = { ...this.screen, colors: noColors2 };
3121 - }
3122 - printsToStdio() {
3123 - return false;
3124 - }
3125 - onTestEnd(test, result) {
3126 - super.onTestEnd(test, result);
3127 - if (this.willRetry(test))
3128 - return;
3129 - if (!this._shouldPrintFailureAnnotations(test))
3130 - return;
3131 - this._failedTestCount++;
3132 - for (const r of test.results)
3133 - this._printFailureAnnotation(test, r, this._failedTestCount);
3134 - }
3135 - _shouldPrintFailureAnnotations(test) {
3136 - switch (test.outcome()) {
3137 - case "unexpected":
3138 - case "flaky":
3139 - return true;
3140 - case "skipped":
3141 - return test.results.some((r) => r.status === "interrupted") && test.results.some((r) => !!r.error);
3142 - default:
3143 - return false;
3144 - }
3145 - }
3146 - async onEnd(result) {
3147 - await super.onEnd(result);
3148 - this._printAnnotations();
3149 - }
3150 - onError(error) {
3151 - const errorMessage = this.formatError(error).message;
3152 - this.githubLogger.error(errorMessage);
3153 - }
3154 - _printAnnotations() {
3155 - const summary = this.generateSummary();
3156 - const summaryMessage = this.generateSummaryMessage(summary);
3157 - this._printSlowTestAnnotations();
3158 - this._printSummaryAnnotation(summaryMessage);
3159 - }
3160 - _printSlowTestAnnotations() {
3161 - this.getSlowTests().forEach(([file, duration]) => {
3162 - const filePath = workspaceRelativePath(import_path7.default.join(process.cwd(), file));
3163 - this.githubLogger.warning(`${filePath} took ${msToString2(duration)}`, {
3164 - title: "Slow Test",
3165 - file: filePath
3166 - });
3167 - });
3168 - }
3169 - _printSummaryAnnotation(summary) {
3170 - this.githubLogger.notice(summary, {
3171 - title: "\u{1F3AD} Playwright Run Summary"
3172 - });
3173 - }
3174 - _printFailureAnnotation(test, result, index) {
3175 - const title = this.formatTestTitle(test);
3176 - const header = this.formatTestHeader(test, { indent: " ", index, mode: "error" });
3177 - const errors = formatResultFailure(this.screen, test, result, " ");
3178 - for (const error of errors) {
3179 - const options = {
3180 - file: workspaceRelativePath(error.location?.file || test.location.file),
3181 - title
3182 - };
3183 - if (error.location) {
3184 - options.line = error.location.line;
3185 - options.col = error.location.column;
3186 - }
3187 - const message = [header, ...formatRetry(this.screen, result), error.message].join("\n");
3188 - this.githubLogger.error(message, options);
3189 - }
3190 - }
3191 -};
3192 -function workspaceRelativePath(filePath) {
3193 - return import_path7.default.relative(process.env["GITHUB_WORKSPACE"] ?? "", filePath);
3194 -}
3195 -var github_default = GitHubReporter;
3196 -
3197 -// packages/playwright/src/reporters/html.ts
3198 -var html_exports = {};
3199 -__export(html_exports, {
3200 - default: () => html_default,
3201 - showHTMLReport: () => showHTMLReport
3202 -});
3203 -var import_fs5 = __toESM(require("fs"));
3204 -var import_os = __toESM(require("os"));
3205 -var import_path8 = __toESM(require("path"));
3206 -var import_stream2 = require("stream");
3207 -var babel2 = __toESM(require("../transform/babelBundle"));
3208 -var import_util6 = require("../util");
3209 -var colors2 = require("playwright-core/lib/utilsBundle").colors;
3210 -var mime2 = require("playwright-core/lib/utilsBundle").mime;
3211 -var open = require("playwright-core/lib/utilsBundle").open;
3212 -var yazl2 = require("playwright-core/lib/utilsBundle").yazl;
3213 -var { MultiMap } = require("playwright-core/lib/coreBundle").iso;
3214 -var { calculateSha1: calculateSha12 } = require("playwright-core/lib/coreBundle").utils;
3215 -var { copyFileAndMakeWritable, removeFolders: removeFolders2, sanitizeForFilePath: sanitizeForFilePath2, toPosixPath: toPosixPath2 } = require("playwright-core/lib/coreBundle").utils;
3216 -var { getPackageManagerExecCommand: getPackageManagerExecCommand2, isCodingAgent } = require("playwright-core/lib/coreBundle").utils;
3217 -var { HttpServer, serveFolder } = require("playwright-core/lib/coreBundle").utils;
3218 -var { gracefullyProcessExitDoNotHang } = require("playwright-core/lib/coreBundle").utils;
3219 -var { extractZip } = require("playwright-core/lib/coreBundle").utils;
3220 -var htmlReportOptions = ["always", "never", "on-failure"];
3221 -var isHtmlReportOption = (type) => {
3222 - return htmlReportOptions.includes(type);
3223 -};
3224 -var HtmlReporter = class {
3225 - constructor(options) {
3226 - this._topLevelErrors = [];
3227 - this._reportConfigs = /* @__PURE__ */ new Map();
3228 - this._machines = [];
3229 - this._options = options;
3230 - }
3231 - version() {
3232 - return "v2";
3233 - }
3234 - printsToStdio() {
3235 - return false;
3236 - }
3237 - onConfigure(config2) {
3238 - this.config = config2;
3239 - }
3240 - onBegin(suite) {
3241 - const { outputFolder, open: open3, attachmentsBaseURL, host, port } = this._resolveOptions();
3242 - this._outputFolder = outputFolder;
3243 - this._open = open3;
3244 - this._host = host;
3245 - this._port = port;
3246 - this._attachmentsBaseURL = attachmentsBaseURL;
3247 - const reportedWarnings = /* @__PURE__ */ new Set();
3248 - for (const project of this.config.projects) {
3249 - if (this._isSubdirectory(outputFolder, project.outputDir) || this._isSubdirectory(project.outputDir, outputFolder)) {
3250 - const key = outputFolder + "|" + project.outputDir;
3251 - if (reportedWarnings.has(key))
3252 - continue;
3253 - reportedWarnings.add(key);
3254 - writeLine(colors2.red(`Configuration Error: HTML reporter output folder clashes with the tests output folder:`));
3255 - writeLine(`
3256 - html reporter folder: ${colors2.bold(outputFolder)}
3257 - test results folder: ${colors2.bold(project.outputDir)}`);
3258 - writeLine("");
3259 - writeLine(`HTML reporter will clear its output directory prior to being generated, which will lead to the artifact loss.
3260 -`);
3261 - }
3262 - }
3263 - this.suite = suite;
3264 - }
3265 - _resolveOptions() {
3266 - const outputFolder = reportFolderFromEnv() ?? (0, import_util6.resolveReporterOutputPath)("playwright-report", this._options.configDir, this._options.outputFolder);
3267 - return {
3268 - outputFolder,
3269 - open: getHtmlReportOptionProcessEnv() || this._options.open || "on-failure",
3270 - attachmentsBaseURL: process.env.PLAYWRIGHT_HTML_ATTACHMENTS_BASE_URL || this._options.attachmentsBaseURL || "data/",
3271 - host: process.env.PLAYWRIGHT_HTML_HOST || this._options.host,
3272 - port: process.env.PLAYWRIGHT_HTML_PORT ? +process.env.PLAYWRIGHT_HTML_PORT : this._options.port
3273 - };
3274 - }
3275 - _isSubdirectory(parentDir, dir) {
3276 - const relativePath = import_path8.default.relative(parentDir, dir);
3277 - return !!relativePath && !relativePath.startsWith("..") && !import_path8.default.isAbsolute(relativePath);
3278 - }
3279 - onError(error) {
3280 - this._topLevelErrors.push(error);
3281 - }
3282 - onReportConfigure(params) {
3283 - this._reportConfigs.set(params.reportPath, params.config);
3284 - }
3285 - onReportEnd(params) {
3286 - const config2 = this._reportConfigs.get(params.reportPath);
3287 - if (config2)
3288 - this._machines.push({ config: config2, result: params.result, reportPath: params.reportPath });
3289 - }
3290 - async onEnd(result) {
3291 - const projectSuites = this.suite.suites;
3292 - await removeFolders2([this._outputFolder]);
3293 - const noSnippets = parseBooleanEnvVar("PLAYWRIGHT_HTML_NO_SNIPPETS") ?? this._options.noSnippets;
3294 - const noCopyPrompt = parseBooleanEnvVar("PLAYWRIGHT_HTML_NO_COPY_PROMPT") ?? this._options.noCopyPrompt;
3295 - const doNotInlineAssets = parseBooleanEnvVar("PLAYWRIGHT_HTML_DO_NOT_INLINE_ASSETS") ?? this._options.doNotInlineAssets ?? false;
3296 - const builder = new HtmlBuilder(yazl2, this.config, this._outputFolder, this._attachmentsBaseURL, doNotInlineAssets, {
3297 - title: process.env.PLAYWRIGHT_HTML_TITLE || this._options.title,
3298 - noSnippets,
3299 - noCopyPrompt
3300 - });
3301 - this._buildResult = await builder.build(this.config.metadata, projectSuites, result, this._topLevelErrors, this._machines);
3302 - }
3303 - async onExit() {
3304 - if (process.env.CI || !this._buildResult)
3305 - return;
3306 - const { ok, singleTestId } = this._buildResult;
3307 - const shouldOpen = !isCodingAgent() && !!process.stdin.isTTY && (this._open === "always" || !ok && this._open === "on-failure");
3308 - if (shouldOpen) {
3309 - await showHTMLReport(this._outputFolder, this._host, this._port, singleTestId);
3310 - } else if (this._options._mode === "test" && !!process.stdin.isTTY) {
3311 - const packageManagerCommand = getPackageManagerExecCommand2();
3312 - const relativeReportPath = this._outputFolder === standaloneDefaultFolder() ? "" : " " + import_path8.default.relative(process.cwd(), this._outputFolder);
3313 - const hostArg = this._host ? ` --host ${this._host}` : "";
3314 - const portArg = this._port ? ` --port ${this._port}` : "";
3315 - writeLine("");
3316 - writeLine("To open last HTML report run:");
3317 - writeLine(colors2.cyan(`
3318 - ${packageManagerCommand} playwright show-report${relativeReportPath}${hostArg}${portArg}
3319 -`));
3320 - }
3321 - }
3322 -};
3323 -function reportFolderFromEnv() {
3324 - const envValue = process.env.PLAYWRIGHT_HTML_OUTPUT_DIR || process.env.PLAYWRIGHT_HTML_REPORT;
3325 - return envValue ? import_path8.default.resolve(envValue) : void 0;
3326 -}
3327 -function getHtmlReportOptionProcessEnv() {
3328 - const htmlOpenEnv = process.env.PLAYWRIGHT_HTML_OPEN || process.env.PW_TEST_HTML_REPORT_OPEN;
3329 - if (!htmlOpenEnv)
3330 - return void 0;
3331 - if (!isHtmlReportOption(htmlOpenEnv)) {
3332 - writeLine(colors2.red(`Configuration Error: HTML reporter Invalid value for PLAYWRIGHT_HTML_OPEN: ${htmlOpenEnv}. Valid values are: ${htmlReportOptions.join(", ")}`));
3333 - return void 0;
3334 - }
3335 - return htmlOpenEnv;
3336 -}
3337 -function parseBooleanEnvVar(name) {
3338 - const value = process.env[name];
3339 - if (value === "false" || value === "0")
3340 - return false;
3341 - if (value)
3342 - return true;
3343 - return void 0;
3344 -}
3345 -function standaloneDefaultFolder() {
3346 - return reportFolderFromEnv() ?? (0, import_util6.resolveReporterOutputPath)("playwright-report", process.cwd(), void 0);
3347 -}
3348 -async function resolveReportFolder(reportPath) {
3349 - const stat = await import_fs5.default.promises.stat(reportPath).catch(() => null);
3350 - if (!stat)
3351 - throw new Error(`No report found at "${reportPath}"`);
3352 - if (stat.isDirectory())
3353 - return reportPath;
3354 - if (stat.isFile() && reportPath.toLowerCase().endsWith(".zip"))
3355 - return await extractReportZip(reportPath);
3356 - throw new Error(`No report found at "${reportPath}"`);
3357 -}
3358 -async function extractReportZip(zipPath) {
3359 - const tempDir = await import_fs5.default.promises.mkdtemp(import_path8.default.join(import_os.default.tmpdir(), "playwright-show-report-"));
3360 - const cleanup = () => {
3361 - try {
3362 - import_fs5.default.rmSync(tempDir, { recursive: true, force: true });
3363 - } catch {
3364 - }
3365 - };
3366 - process.on("exit", cleanup);
3367 - try {
3368 - await extractZip(zipPath, { dir: tempDir });
3369 - } catch (e) {
3370 - cleanup();
3371 - throw new Error(`Failed to extract report from "${zipPath}": ${e.message}`);
3372 - }
3373 - const hasIndex = await import_fs5.default.promises.access(import_path8.default.join(tempDir, "index.html")).then(() => true, () => false);
3374 - if (!hasIndex) {
3375 - cleanup();
3376 - throw new Error(`No "index.html" found at the top level of "${zipPath}"`);
3377 - }
3378 - return tempDir;
3379 -}
3380 -async function showHTMLReport(reportFolder, host = "localhost", port, testId) {
3381 - const requestedPath = reportFolder ?? standaloneDefaultFolder();
3382 - let folder;
3383 - try {
3384 - folder = await resolveReportFolder(requestedPath);
3385 - } catch (e) {
3386 - writeLine(colors2.red(e.message));
3387 - gracefullyProcessExitDoNotHang(1);
3388 - return;
3389 - }
3390 - const server = false ? await serveHtmlReportWithHMR(folder) : serveFolder(folder);
3391 - await server.start({ port, host, preferredPort: port ? void 0 : 9323 });
3392 - let url = server.urlPrefix("human-readable");
3393 - writeLine("");
3394 - writeLine(colors2.cyan(` Serving HTML report at ${url}. Press Ctrl+C to quit.`));
3395 - if (testId)
3396 - url += `#?testId=${testId}`;
3397 - url = url.replace("0.0.0.0", "localhost");
3398 - if (!isCodingAgent())
3399 - await open(url, { wait: true }).catch(() => {
3400 - });
3401 - await new Promise(() => {
3402 - });
3403 -}
3404 -var HtmlBuilder = class {
3405 - constructor(yazl3, config2, outputDir, attachmentsBaseURL, doNotInlineAssets, options) {
3406 - this._stepsInFile = new MultiMap();
3407 - this._hasTraces = false;
3408 - this._dataZipFile = new yazl3.ZipFile();
3409 - this._config = config2;
3410 - this._reportFolder = outputDir;
3411 - this._options = options;
3412 - this._doNotInlineAssets = doNotInlineAssets;
3413 - import_fs5.default.mkdirSync(this._reportFolder, { recursive: true });
3414 - this._attachmentsBaseURL = attachmentsBaseURL;
3415 - }
3416 - async build(metadata, projectSuites, result, topLevelErrors, machines) {
3417 - const data = /* @__PURE__ */ new Map();
3418 - for (const projectSuite of projectSuites) {
3419 - const projectName = projectSuite.project().name;
3420 - for (const fileSuite of projectSuite.suites) {
3421 - const fileName = this._relativeLocation(fileSuite.location).file;
3422 - this._createEntryForSuite(data, projectName, fileSuite, fileName, true);
3423 - }
3424 - }
3425 - if (!this._options.noSnippets)
3426 - createSnippets(this._stepsInFile);
3427 - let ok = true;
3428 - for (const [fileId, { testFile, testFileSummary }] of data) {
3429 - const stats = testFileSummary.stats;
3430 - for (const test of testFileSummary.tests) {
3431 - if (test.outcome === "expected")
3432 - ++stats.expected;
3433 - if (test.outcome === "skipped")
3434 - ++stats.skipped;
3435 - if (test.outcome === "unexpected")
3436 - ++stats.unexpected;
3437 - if (test.outcome === "flaky")
3438 - ++stats.flaky;
3439 - ++stats.total;
3440 - }
3441 - stats.ok = stats.unexpected + stats.flaky === 0;
3442 - if (!stats.ok)
3443 - ok = false;
3444 - const testCaseSummaryComparator = (t1, t2) => {
3445 - const w1 = (t1.outcome === "unexpected" ? 1e3 : 0) + (t1.outcome === "flaky" ? 1 : 0);
3446 - const w2 = (t2.outcome === "unexpected" ? 1e3 : 0) + (t2.outcome === "flaky" ? 1 : 0);
3447 - return w2 - w1;
3448 - };
3449 - testFileSummary.tests.sort(testCaseSummaryComparator);
3450 - this._addDataFile(fileId + ".json", testFile);
3451 - }
3452 - const htmlReport = {
3453 - metadata,
3454 - startTime: result.startTime.getTime(),
3455 - duration: result.duration,
3456 - files: [...data.values()].map((e) => e.testFileSummary),
3457 - projectNames: projectSuites.map((r) => r.project().name),
3458 - stats: { ...[...data.values()].reduce((a, e) => addStats(a, e.testFileSummary.stats), emptyStats()) },
3459 - errors: topLevelErrors.map((error) => formatError(internalScreen, error).message),
3460 - options: this._options,
3461 - machines: machines.map((machine) => ({
3462 - duration: machine.result.duration,
3463 - startTime: machine.result.startTime.getTime(),
3464 - tag: machine.config.tags,
3465 - shardIndex: machine.config.shard?.current
3466 - }))
3467 - };
3468 - htmlReport.files.sort((f1, f2) => {
3469 - const w1 = f1.stats.unexpected * 1e3 + f1.stats.flaky;
3470 - const w2 = f2.stats.unexpected * 1e3 + f2.stats.flaky;
3471 - return w2 - w1;
3472 - });
3473 - this._addDataFile("report.json", htmlReport);
3474 - let singleTestId;
3475 - if (htmlReport.stats.total === 1) {
3476 - const testFile = data.values().next().value.testFile;
3477 - singleTestId = testFile.tests[0].testId;
3478 - }
3479 - const reportIndexFile = await this._writeStaticAssets();
3480 - if (this._hasTraces) {
3481 - const traceViewerFolder = import_path8.default.join(require.resolve("playwright-core"), "..", "lib", "vite", "traceViewer");
3482 - const traceViewerTargetFolder = import_path8.default.join(this._reportFolder, "trace");
3483 - const traceViewerAssetsTargetFolder = import_path8.default.join(traceViewerTargetFolder, "assets");
3484 - import_fs5.default.mkdirSync(traceViewerAssetsTargetFolder, { recursive: true });
3485 - for (const file of import_fs5.default.readdirSync(traceViewerFolder)) {
3486 - if (file.endsWith(".map") || file.includes("watch") || file.includes("assets"))
3487 - continue;
3488 - await copyFileAndMakeWritable(import_path8.default.join(traceViewerFolder, file), import_path8.default.join(traceViewerTargetFolder, file));
3489 - }
3490 - for (const file of import_fs5.default.readdirSync(import_path8.default.join(traceViewerFolder, "assets"))) {
3491 - if (file.endsWith(".map") || file.includes("xtermModule"))
3492 - continue;
3493 - await copyFileAndMakeWritable(import_path8.default.join(traceViewerFolder, "assets", file), import_path8.default.join(traceViewerAssetsTargetFolder, file));
3494 - }
3495 - }
3496 - await this._writeReportData(reportIndexFile);
3497 - return { ok, singleTestId };
3498 - }
3499 - async _writeStaticAssets() {
3500 - const appFolder = import_path8.default.join(require.resolve("playwright-core"), "..", "lib", "vite", "htmlReport");
3501 - const reportIndexFile = import_path8.default.join(this._reportFolder, "index.html");
3502 - if (this._doNotInlineAssets) {
3503 - const html = await import_fs5.default.promises.readFile(import_path8.default.join(appFolder, "index.html"), "utf-8");
3504 - await Promise.all([
3505 - import_fs5.default.promises.writeFile(reportIndexFile, html),
3506 - import_fs5.default.promises.copyFile(import_path8.default.join(appFolder, "report.js"), import_path8.default.join(this._reportFolder, "report.js")),
3507 - import_fs5.default.promises.copyFile(import_path8.default.join(appFolder, "report.css"), import_path8.default.join(this._reportFolder, "report.css"))
3508 - ]);
3509 - } else {
3510 - let html = await import_fs5.default.promises.readFile(import_path8.default.join(appFolder, "index.html"), "utf-8");
3511 - const [js, css] = await Promise.all([
3512 - import_fs5.default.promises.readFile(import_path8.default.join(appFolder, "report.js"), "utf-8"),
3513 - import_fs5.default.promises.readFile(import_path8.default.join(appFolder, "report.css"), "utf-8")
3514 - ]);
3515 - html = html.replace(/<script type="module"[^>]*><\/script>/, () => `<script type="module">${js}</script>`);
3516 - html = html.replace(/<link rel="stylesheet"[^>]*>/, () => `<style type='text/css'>${css}</style>`);
3517 - await import_fs5.default.promises.writeFile(reportIndexFile, html);
3518 - }
3519 - return reportIndexFile;
3520 - }
3521 - async _writeReportData(filePath) {
3522 - import_fs5.default.appendFileSync(filePath, '<template id="playwrightReportBase64">data:application/zip;base64,');
3523 - await new Promise((f) => {
3524 - this._dataZipFile.end(void 0, () => {
3525 - this._dataZipFile.outputStream.pipe(new Base64Encoder()).pipe(import_fs5.default.createWriteStream(filePath, { flags: "a" })).on("close", f);
3526 - });
3527 - });
3528 - import_fs5.default.appendFileSync(filePath, "</template>");
3529 - }
3530 - _addDataFile(fileName, data) {
3531 - this._dataZipFile.addBuffer(Buffer.from(JSON.stringify(data)), fileName);
3532 - }
3533 - _createEntryForSuite(data, projectName, suite, fileName, deep) {
3534 - const fileId = calculateSha12(fileName).slice(0, 20);
3535 - let fileEntry = data.get(fileId);
3536 - if (!fileEntry) {
3537 - fileEntry = {
3538 - testFile: { fileId, fileName, tests: [] },
3539 - testFileSummary: { fileId, fileName, tests: [], stats: emptyStats() }
3540 - };
3541 - data.set(fileId, fileEntry);
3542 - }
3543 - const { testFile, testFileSummary } = fileEntry;
3544 - const testEntries = [];
3545 - this._processSuite(suite, projectName, [], deep, testEntries);
3546 - for (const test of testEntries) {
3547 - testFile.tests.push(test.testCase);
3548 - testFileSummary.tests.push(test.testCaseSummary);
3549 - }
3550 - }
3551 - _processSuite(suite, projectName, path20, deep, outTests) {
3552 - const newPath = [...path20, suite.title];
3553 - suite.entries().forEach((e) => {
3554 - if (e.type === "test")
3555 - outTests.push(this._createTestEntry(e, projectName, newPath));
3556 - else if (deep)
3557 - this._processSuite(e, projectName, newPath, deep, outTests);
3558 - });
3559 - }
3560 - _createTestEntry(test, projectName, path20) {
3561 - const duration = test.results.reduce((a, r) => a + r.duration, 0);
3562 - const location = this._relativeLocation(test.location);
3563 - path20 = path20.slice(1).filter((path21) => path21.length > 0);
3564 - const results = test.results.map((r) => this._createTestResult(test, r));
3565 - return {
3566 - testCase: {
3567 - testId: test.id,
3568 - title: test.title,
3569 - projectName,
3570 - location,
3571 - duration,
3572 - annotations: this._serializeAnnotations(test.annotations),
3573 - tags: [...new Set(test.tags)],
3574 - outcome: test.outcome(),
3575 - path: path20,
3576 - results,
3577 - repeatEachIndex: test.repeatEachIndex || void 0,
3578 - // Do not include zero.
3579 - ok: test.outcome() === "expected" || test.outcome() === "flaky"
3580 - },
3581 - testCaseSummary: {
3582 - testId: test.id,
3583 - title: test.title,
3584 - projectName,
3585 - location,
3586 - duration,
3587 - annotations: this._serializeAnnotations(test.annotations),
3588 - tags: [...new Set(test.tags)],
3589 - outcome: test.outcome(),
3590 - path: path20,
3591 - ok: test.outcome() === "expected" || test.outcome() === "flaky",
3592 - repeatEachIndex: test.repeatEachIndex || void 0,
3593 - // Do not include zero.
3594 - results: results.map((result) => {
3595 - return {
3596 - attachments: result.attachments.map((a) => ({ name: a.name, contentType: a.contentType, path: a.path })),
3597 - startTime: result.startTime,
3598 - workerIndex: result.workerIndex
3599 - };
3600 - })
3601 - }
3602 - };
3603 - }
3604 - _serializeAttachments(attachments) {
3605 - let lastAttachment;
3606 - return attachments.map((a) => {
3607 - if (a.name === "trace")
3608 - this._hasTraces = true;
3609 - if ((a.name === "stdout" || a.name === "stderr") && a.contentType === "text/plain") {
3610 - if (lastAttachment && lastAttachment.name === a.name && lastAttachment.contentType === a.contentType) {
3611 - lastAttachment.body += (0, import_util6.stripAnsiEscapes)(a.body);
3612 - return null;
3613 - }
3614 - a.body = (0, import_util6.stripAnsiEscapes)(a.body);
3615 - lastAttachment = a;
3616 - return a;
3617 - }
3618 - if (a.path) {
3619 - let fileName = a.path;
3620 - try {
3621 - const buffer = import_fs5.default.readFileSync(a.path);
3622 - const sha1 = calculateSha12(buffer) + import_path8.default.extname(a.path);
3623 - fileName = this._attachmentsBaseURL + sha1;
3624 - import_fs5.default.mkdirSync(import_path8.default.join(this._reportFolder, "data"), { recursive: true });
3625 - import_fs5.default.writeFileSync(import_path8.default.join(this._reportFolder, "data", sha1), buffer);
3626 - } catch (e) {
3627 - }
3628 - return {
3629 - name: a.name,
3630 - contentType: a.contentType,
3631 - path: fileName,
3632 - body: a.body
3633 - };
3634 - }
3635 - if (a.body instanceof Buffer) {
3636 - if (isTextContentType(a.contentType)) {
3637 - const charset = a.contentType.match(/charset=(.*)/)?.[1];
3638 - try {
3639 - const body = a.body.toString(charset || "utf-8");
3640 - return {
3641 - name: a.name,
3642 - contentType: a.contentType,
3643 - body
3644 - };
3645 - } catch (e) {
3646 - }
3647 - }
3648 - import_fs5.default.mkdirSync(import_path8.default.join(this._reportFolder, "data"), { recursive: true });
3649 - const extension = sanitizeForFilePath2(import_path8.default.extname(a.name).replace(/^\./, "")) || mime2.getExtension(a.contentType) || "dat";
3650 - const sha1 = calculateSha12(a.body) + "." + extension;
3651 - import_fs5.default.writeFileSync(import_path8.default.join(this._reportFolder, "data", sha1), a.body);
3652 - return {
3653 - name: a.name,
3654 - contentType: a.contentType,
3655 - path: this._attachmentsBaseURL + sha1
3656 - };
3657 - }
3658 - return {
3659 - name: a.name,
3660 - contentType: a.contentType,
3661 - body: a.body
3662 - };
3663 - }).filter(Boolean);
3664 - }
3665 - _serializeAnnotations(annotations) {
3666 - return annotations.map((a) => ({
3667 - type: a.type,
3668 - description: a.description === void 0 ? void 0 : String(a.description),
3669 - location: a.location ? {
3670 - file: a.location.file,
3671 - line: a.location.line,
3672 - column: a.location.column
3673 - } : void 0
3674 - }));
3675 - }
3676 - _createTestResult(test, result) {
3677 - return {
3678 - duration: result.duration,
3679 - startTime: result.startTime.toISOString(),
3680 - retry: result.retry,
3681 - steps: dedupeSteps(result.steps).map((s) => this._createTestStep(s, result)),
3682 - errors: formatResultFailure(internalScreen, test, result, "").map((error) => {
3683 - return {
3684 - message: error.message,
3685 - codeframe: error.location ? createErrorCodeframe(error.message, error.location) : void 0
3686 - };
3687 - }),
3688 - status: result.status,
3689 - annotations: this._serializeAnnotations(result.annotations),
3690 - attachments: this._serializeAttachments([
3691 - ...result.attachments,
3692 - ...result.stdout.map((m) => stdioAttachment(m, "stdout")),
3693 - ...result.stderr.map((m) => stdioAttachment(m, "stderr"))
3694 - ]),
3695 - workerIndex: result.workerIndex
3696 - };
3697 - }
3698 - _createTestStep(dedupedStep, result) {
3699 - const { step, duration, count } = dedupedStep;
3700 - const skipped = dedupedStep.step.annotations?.find((a) => a.type === "skip");
3701 - let title = step.title;
3702 - if (skipped)
3703 - title = `${title} (skipped${skipped.description ? ": " + skipped.description : ""})`;
3704 - const testStep = {
3705 - title,
3706 - startTime: step.startTime.toISOString(),
3707 - duration,
3708 - steps: dedupeSteps(step.steps).map((s) => this._createTestStep(s, result)),
3709 - attachments: step.attachments.map((s) => {
3710 - const index = result.attachments.indexOf(s);
3711 - if (index === -1)
3712 - throw new Error("Unexpected, attachment not found");
3713 - return index;
3714 - }),
3715 - location: this._relativeLocation(step.location),
3716 - error: step.error?.message,
3717 - count,
3718 - skipped: !!skipped
3719 - };
3720 - if (step.location)
3721 - this._stepsInFile.set(step.location.file, testStep);
3722 - return testStep;
3723 - }
3724 - _relativeLocation(location) {
3725 - if (!location)
3726 - return void 0;
3727 - const file = toPosixPath2(import_path8.default.relative(this._config.rootDir, location.file));
3728 - return {
3729 - file,
3730 - line: location.line,
3731 - column: location.column
3732 - };
3733 - }
3734 -};
3735 -var emptyStats = () => {
3736 - return {
3737 - total: 0,
3738 - expected: 0,
3739 - unexpected: 0,
3740 - flaky: 0,
3741 - skipped: 0,
3742 - ok: true
3743 - };
3744 -};
3745 -var addStats = (stats, delta) => {
3746 - stats.total += delta.total;
3747 - stats.skipped += delta.skipped;
3748 - stats.expected += delta.expected;
3749 - stats.unexpected += delta.unexpected;
3750 - stats.flaky += delta.flaky;
3751 - stats.ok = stats.ok && delta.ok;
3752 - return stats;
3753 -};
3754 -var Base64Encoder = class extends import_stream2.Transform {
3755 - _transform(chunk, encoding, callback) {
3756 - if (this._remainder) {
3757 - chunk = Buffer.concat([this._remainder, chunk]);
3758 - this._remainder = void 0;
3759 - }
3760 - const remaining = chunk.length % 3;
3761 - if (remaining) {
3762 - this._remainder = chunk.slice(chunk.length - remaining);
3763 - chunk = chunk.slice(0, chunk.length - remaining);
3764 - }
3765 - chunk = chunk.toString("base64");
3766 - this.push(Buffer.from(chunk));
3767 - callback();
3768 - }
3769 - _flush(callback) {
3770 - if (this._remainder)
3771 - this.push(Buffer.from(this._remainder.toString("base64")));
3772 - callback();
3773 - }
3774 -};
3775 -function isTextContentType(contentType) {
3776 - return contentType.startsWith("text/") || contentType.startsWith("application/json");
3777 -}
3778 -function stdioAttachment(chunk, type) {
3779 - return {
3780 - name: type,
3781 - contentType: "text/plain",
3782 - body: typeof chunk === "string" ? chunk : chunk.toString("utf-8")
3783 - };
3784 -}
3785 -function dedupeSteps(steps) {
3786 - const result = [];
3787 - let lastResult = void 0;
3788 - for (const step of steps) {
3789 - const canDedupe = !step.error && step.duration >= 0 && step.location?.file && !step.steps.length;
3790 - const lastStep = lastResult?.step;
3791 - if (canDedupe && lastResult && lastStep && step.category === lastStep.category && step.title === lastStep.title && step.location?.file === lastStep.location?.file && step.location?.line === lastStep.location?.line && step.location?.column === lastStep.location?.column) {
3792 - ++lastResult.count;
3793 - lastResult.duration += step.duration;
3794 - continue;
3795 - }
3796 - lastResult = { step, count: 1, duration: step.duration };
3797 - result.push(lastResult);
3798 - if (!canDedupe)
3799 - lastResult = void 0;
3800 - }
3801 - return result;
3802 -}
3803 -function createSnippets(stepsInFile) {
3804 - for (const file of stepsInFile.keys()) {
3805 - let source;
3806 - try {
3807 - source = import_fs5.default.readFileSync(file, "utf-8") + "\n//";
3808 - } catch (e) {
3809 - continue;
3810 - }
3811 - const lines = source.split("\n").length;
3812 - const highlighted = babel2.codeFrameColumns(source, { start: { line: lines, column: 1 } }, { highlightCode: true, linesAbove: lines, linesBelow: 0 });
3813 - const highlightedLines = highlighted.split("\n");
3814 - const lineWithArrow = highlightedLines[highlightedLines.length - 1];
3815 - for (const step of stepsInFile.get(file)) {
3816 - if (step.location.line < 2 || step.location.line >= lines)
3817 - continue;
3818 - const snippetLines = highlightedLines.slice(step.location.line - 2, step.location.line + 1);
3819 - const index = lineWithArrow.indexOf("^");
3820 - const shiftedArrow = lineWithArrow.slice(0, index) + " ".repeat(step.location.column - 1) + lineWithArrow.slice(index);
3821 - snippetLines.splice(2, 0, shiftedArrow);
3822 - step.snippet = snippetLines.join("\n");
3823 - }
3824 - }
3825 -}
3826 -function createErrorCodeframe(message, location) {
3827 - let source;
3828 - try {
3829 - source = import_fs5.default.readFileSync(location.file, "utf-8") + "\n//";
3830 - } catch (e) {
3831 - return;
3832 - }
3833 - return babel2.codeFrameColumns(
3834 - source,
3835 - {
3836 - start: {
3837 - line: location.line,
3838 - column: location.column
3839 - }
3840 - },
3841 - {
3842 - highlightCode: false,
3843 - linesAbove: 100,
3844 - linesBelow: 100,
3845 - message: (0, import_util6.stripAnsiEscapes)(message).split("\n")[0] || void 0
3846 - }
3847 - );
3848 -}
3849 -function writeLine(line) {
3850 - process.stdout.write(line + "\n");
3851 -}
3852 -var html_default = HtmlReporter;
3853 -
3854 -// packages/playwright/src/reporters/json.ts
3855 -var import_fs6 = __toESM(require("fs"));
3856 -var import_path9 = __toESM(require("path"));
3857 -var import_common4 = require("../common");
3858 -var { MultiMap: MultiMap2 } = require("playwright-core/lib/coreBundle").iso;
3859 -var { toPosixPath: toPosixPath3 } = require("playwright-core/lib/coreBundle").utils;
3860 -var JSONReporter = class {
3861 - constructor(options) {
3862 - this._errors = [];
3863 - this._resolvedOutputFile = resolveOutputFile("JSON", options)?.outputFile;
3864 - }
3865 - version() {
3866 - return "v2";
3867 - }
3868 - printsToStdio() {
3869 - return !this._resolvedOutputFile;
3870 - }
3871 - onConfigure(config2) {
3872 - this.config = config2;
3873 - }
3874 - onBegin(suite) {
3875 - this.suite = suite;
3876 - }
3877 - onError(error) {
3878 - this._errors.push(error);
3879 - }
3880 - async onEnd(result) {
3881 - await outputReport(this._serializeReport(result), this._resolvedOutputFile);
3882 - }
3883 - _serializeReport(result) {
3884 - const report = {
3885 - config: {
3886 - ...removePrivateFields(this.config),
3887 - rootDir: toPosixPath3(this.config.rootDir),
3888 - projects: this.config.projects.map((project) => {
3889 - return {
3890 - outputDir: toPosixPath3(project.outputDir),
3891 - repeatEach: project.repeatEach,
3892 - retries: project.retries,
3893 - metadata: project.metadata,
3894 - id: import_common4.config.getProjectId(project),
3895 - name: project.name,
3896 - testDir: toPosixPath3(project.testDir),
3897 - testIgnore: serializePatterns(project.testIgnore),
3898 - testMatch: serializePatterns(project.testMatch),
3899 - timeout: project.timeout
3900 - };
3901 - })
3902 - },
3903 - suites: this._mergeSuites(this.suite.suites),
3904 - errors: this._errors,
3905 - stats: {
3906 - startTime: result.startTime.toISOString(),
3907 - duration: result.duration,
3908 - expected: 0,
3909 - skipped: 0,
3910 - unexpected: 0,
3911 - flaky: 0
3912 - }
3913 - };
3914 - for (const test of this.suite.allTests())
3915 - ++report.stats[test.outcome()];
3916 - return report;
3917 - }
3918 - _mergeSuites(suites) {
3919 - const fileSuites = new MultiMap2();
3920 - for (const projectSuite of suites) {
3921 - const projectId = import_common4.config.getProjectId(projectSuite.project());
3922 - const projectName = projectSuite.project().name;
3923 - for (const fileSuite of projectSuite.suites) {
3924 - const file = fileSuite.location.file;
3925 - const serialized = this._serializeSuite(projectId, projectName, fileSuite);
3926 - if (serialized)
3927 - fileSuites.set(file, serialized);
3928 - }
3929 - }
3930 - const results = [];
3931 - for (const [, suites2] of fileSuites) {
3932 - const result = {
3933 - title: suites2[0].title,
3934 - file: suites2[0].file,
3935 - column: 0,
3936 - line: 0,
3937 - specs: []
3938 - };
3939 - for (const suite of suites2)
3940 - this._mergeTestsFromSuite(result, suite);
3941 - results.push(result);
3942 - }
3943 - return results;
3944 - }
3945 - _relativeLocation(location) {
3946 - if (!location)
3947 - return { file: "", line: 0, column: 0 };
3948 - return {
3949 - file: toPosixPath3(import_path9.default.relative(this.config.rootDir, location.file)),
3950 - line: location.line,
3951 - column: location.column
3952 - };
3953 - }
3954 - _locationMatches(s1, s2) {
3955 - return s1.file === s2.file && s1.line === s2.line && s1.column === s2.column;
3956 - }
3957 - _mergeTestsFromSuite(to, from) {
3958 - for (const fromSuite of from.suites || []) {
3959 - const toSuite = (to.suites || []).find((s) => s.title === fromSuite.title && this._locationMatches(s, fromSuite));
3960 - if (toSuite) {
3961 - this._mergeTestsFromSuite(toSuite, fromSuite);
3962 - } else {
3963 - if (!to.suites)
3964 - to.suites = [];
3965 - to.suites.push(fromSuite);
3966 - }
3967 - }
3968 - for (const spec of from.specs || []) {
3969 - const toSpec = to.specs.find((s) => s.title === spec.title && s.file === toPosixPath3(import_path9.default.relative(this.config.rootDir, spec.file)) && s.line === spec.line && s.column === spec.column);
3970 - if (toSpec)
3971 - toSpec.tests.push(...spec.tests);
3972 - else
3973 - to.specs.push(spec);
3974 - }
3975 - }
3976 - _serializeSuite(projectId, projectName, suite) {
3977 - if (!suite.allTests().length)
3978 - return null;
3979 - const suites = suite.suites.map((suite2) => this._serializeSuite(projectId, projectName, suite2)).filter((s) => s);
3980 - return {
3981 - title: suite.title,
3982 - ...this._relativeLocation(suite.location),
3983 - specs: suite.tests.map((test) => this._serializeTestSpec(projectId, projectName, test)),
3984 - suites: suites.length ? suites : void 0
3985 - };
3986 - }
3987 - _serializeTestSpec(projectId, projectName, test) {
3988 - return {
3989 - title: test.title,
3990 - ok: test.ok(),
3991 - tags: test.tags.map((tag) => tag.substring(1)),
3992 - // Strip '@'.
3993 - tests: [this._serializeTest(projectId, projectName, test)],
3994 - id: test.id,
3995 - ...this._relativeLocation(test.location)
3996 - };
3997 - }
3998 - _serializeTest(projectId, projectName, test) {
3999 - return {
4000 - timeout: test.timeout,
4001 - annotations: test.annotations,
4002 - expectedStatus: test.expectedStatus,
4003 - projectId,
4004 - projectName,
4005 - results: test.results.map((r) => this._serializeTestResult(r, test)),
4006 - status: test.outcome()
4007 - };
4008 - }
4009 - _serializeTestResult(result, test) {
4010 - const steps = result.steps.filter((s) => s.category === "test.step");
4011 - const jsonResult = {
4012 - workerIndex: result.workerIndex,
4013 - parallelIndex: result.parallelIndex,
4014 - status: result.status,
4015 - duration: result.duration,
4016 - error: result.error,
4017 - errors: result.errors.map((e) => this._serializeError(e)),
4018 - stdout: result.stdout.map((s) => stdioEntry(s)),
4019 - stderr: result.stderr.map((s) => stdioEntry(s)),
4020 - retry: result.retry,
4021 - steps: steps.length ? steps.map((s) => this._serializeTestStep(s)) : void 0,
4022 - startTime: result.startTime.toISOString(),
4023 - annotations: result.annotations,
4024 - attachments: result.attachments.map((a) => ({
4025 - name: a.name,
4026 - contentType: a.contentType,
4027 - path: a.path,
4028 - body: a.body?.toString("base64")
4029 - }))
4030 - };
4031 - if (result.error?.stack)
4032 - jsonResult.errorLocation = prepareErrorStack(result.error.stack).location;
4033 - return jsonResult;
4034 - }
4035 - _serializeError(error) {
4036 - return formatError(nonTerminalScreen, error);
4037 - }
4038 - _serializeTestStep(step) {
4039 - const steps = step.steps.filter((s) => s.category === "test.step");
4040 - return {
4041 - title: step.title,
4042 - duration: step.duration,
4043 - error: step.error,
4044 - steps: steps.length ? steps.map((s) => this._serializeTestStep(s)) : void 0
4045 - };
4046 - }
4047 -};
4048 -async function outputReport(report, resolvedOutputFile) {
4049 - const reportString = JSON.stringify(report, void 0, 2);
4050 - if (resolvedOutputFile) {
4051 - await import_fs6.default.promises.mkdir(import_path9.default.dirname(resolvedOutputFile), { recursive: true });
4052 - await import_fs6.default.promises.writeFile(resolvedOutputFile, reportString);
4053 - } else {
4054 - console.log(reportString);
4055 - }
4056 -}
4057 -function stdioEntry(s) {
4058 - if (typeof s === "string")
4059 - return { text: s };
4060 - return { buffer: s.toString("base64") };
4061 -}
4062 -function removePrivateFields(config2) {
4063 - return Object.fromEntries(Object.entries(config2).filter(([name, value]) => !name.startsWith("_")));
4064 -}
4065 -function serializePatterns(patterns) {
4066 - if (!Array.isArray(patterns))
4067 - patterns = [patterns];
4068 - return patterns.map((s) => s.toString());
4069 -}
4070 -var json_default = JSONReporter;
4071 -
4072 -// packages/playwright/src/reporters/junit.ts
4073 -var import_fs7 = __toESM(require("fs"));
4074 -var import_path10 = __toESM(require("path"));
4075 -var import_util7 = require("../util");
4076 -var { getAsBooleanFromENV } = require("playwright-core/lib/coreBundle").utils;
4077 -var JUnitReporter = class {
4078 - constructor(options) {
4079 - this.totalTests = 0;
4080 - this.totalFailures = 0;
4081 - this.totalErrors = 0;
4082 - this.totalSkipped = 0;
4083 - this.stripANSIControlSequences = false;
4084 - this.includeProjectInTestName = false;
4085 - this.includeRetries = false;
4086 - this.stripANSIControlSequences = getAsBooleanFromENV("PLAYWRIGHT_JUNIT_STRIP_ANSI", !!options.stripANSIControlSequences);
4087 - this.includeProjectInTestName = getAsBooleanFromENV("PLAYWRIGHT_JUNIT_INCLUDE_PROJECT_IN_TEST_NAME", !!options.includeProjectInTestName);
4088 - this.includeRetries = getAsBooleanFromENV("PLAYWRIGHT_JUNIT_INCLUDE_RETRIES", !!options.includeRetries);
4089 - this.configDir = options.configDir;
4090 - this.resolvedOutputFile = resolveOutputFile("JUNIT", options)?.outputFile;
4091 - }
4092 - version() {
4093 - return "v2";
4094 - }
4095 - printsToStdio() {
4096 - return !this.resolvedOutputFile;
4097 - }
4098 - onConfigure(config2) {
4099 - this.config = config2;
4100 - }
4101 - onBegin(suite) {
4102 - this.suite = suite;
4103 - this.timestamp = /* @__PURE__ */ new Date();
4104 - }
4105 - async onEnd(result) {
4106 - const children = [];
4107 - for (const projectSuite of this.suite.suites) {
4108 - for (const fileSuite of projectSuite.suites)
4109 - children.push(await this._buildTestSuite(projectSuite.title, fileSuite));
4110 - }
4111 - const tokens = [];
4112 - const self = this;
4113 - const root = {
4114 - name: "testsuites",
4115 - attributes: {
4116 - id: process.env[`PLAYWRIGHT_JUNIT_SUITE_ID`] || "",
4117 - name: process.env[`PLAYWRIGHT_JUNIT_SUITE_NAME`] || "",
4118 - tests: self.totalTests,
4119 - failures: self.totalFailures,
4120 - skipped: self.totalSkipped,
4121 - errors: self.totalErrors,
4122 - time: result.duration / 1e3
4123 - },
4124 - children
4125 - };
4126 - serializeXML(root, tokens, this.stripANSIControlSequences);
4127 - const reportString = tokens.join("\n");
4128 - if (this.resolvedOutputFile) {
4129 - await import_fs7.default.promises.mkdir(import_path10.default.dirname(this.resolvedOutputFile), { recursive: true });
4130 - await import_fs7.default.promises.writeFile(this.resolvedOutputFile, reportString);
4131 - } else {
4132 - console.log(reportString);
4133 - }
4134 - }
4135 - async _buildTestSuite(projectName, suite) {
4136 - let tests = 0;
4137 - let skipped = 0;
4138 - let failures = 0;
4139 - let errors = 0;
4140 - let duration = 0;
4141 - const children = [];
4142 - const testCaseNamePrefix = projectName && this.includeProjectInTestName ? `[${projectName}] ` : "";
4143 - for (const test of suite.allTests()) {
4144 - ++tests;
4145 - if (test.outcome() === "skipped")
4146 - ++skipped;
4147 - for (const result of test.results)
4148 - duration += result.duration;
4149 - const classification = await this._addTestCase(suite.title, testCaseNamePrefix, test, children);
4150 - if (classification === "error")
4151 - ++errors;
4152 - else if (classification === "failure")
4153 - ++failures;
4154 - }
4155 - this.totalTests += tests;
4156 - this.totalSkipped += skipped;
4157 - this.totalFailures += failures;
4158 - this.totalErrors += errors;
4159 - const entry = {
4160 - name: "testsuite",
4161 - attributes: {
4162 - name: suite.title,
4163 - timestamp: this.timestamp.toISOString(),
4164 - hostname: projectName,
4165 - tests,
4166 - failures,
4167 - skipped,
4168 - time: duration / 1e3,
4169 - errors
4170 - },
4171 - children
4172 - };
4173 - return entry;
4174 - }
4175 - async _addTestCase(suiteName, namePrefix, test, entries) {
4176 - const entry = {
4177 - name: "testcase",
4178 - attributes: {
4179 - // Skip root, project, file
4180 - name: namePrefix + test.titlePath().slice(3).join(" \u203A "),
4181 - // filename
4182 - classname: suiteName
4183 - },
4184 - children: []
4185 - };
4186 - entries.push(entry);
4187 - const properties = {
4188 - name: "properties",
4189 - children: []
4190 - };
4191 - for (const annotation of test.annotations) {
4192 - const property = {
4193 - name: "property",
4194 - attributes: {
4195 - name: annotation.type,
4196 - value: annotation?.description ? annotation.description : ""
4197 - }
4198 - };
4199 - properties.children?.push(property);
4200 - }
4201 - if (properties.children?.length)
4202 - entry.children.push(properties);
4203 - if (test.outcome() === "skipped") {
4204 - entry.children.push({ name: "skipped" });
4205 - return null;
4206 - }
4207 - if (this.includeRetries && test.ok()) {
4208 - const passResult = test.results[test.results.length - 1];
4209 - entry.attributes.time = passResult.duration / 1e3;
4210 - await this._appendStdIO(entry, [passResult]);
4211 - for (let i = 0; i < test.results.length - 1; i++) {
4212 - const result = test.results[i];
4213 - if (result.status === "passed" || result.status === "skipped")
4214 - continue;
4215 - entry.children.push(await this._buildRetryEntry(result, "flaky"));
4216 - }
4217 - return null;
4218 - }
4219 - if (this.includeRetries) {
4220 - entry.attributes.time = test.results[0].duration / 1e3;
4221 - await this._appendStdIO(entry, [test.results[0]]);
4222 - for (let i = 1; i < test.results.length; i++) {
4223 - const result = test.results[i];
4224 - if (result.status === "passed" || result.status === "skipped")
4225 - continue;
4226 - entry.children.push(await this._buildRetryEntry(result, "rerun"));
4227 - }
4228 - return this._addFailureEntry(test, classifyResultError(test.results[0]), entry);
4229 - }
4230 - entry.attributes.time = test.results.reduce((acc, value) => acc + value.duration, 0) / 1e3;
4231 - await this._appendStdIO(entry, test.results);
4232 - if (test.ok())
4233 - return null;
4234 - return this._addFailureEntry(test, classifyTestError(test), entry);
4235 - }
4236 - _addFailureEntry(test, errorInfo, entry) {
4237 - if (errorInfo) {
4238 - entry.children.push({
4239 - name: errorInfo.elementName,
4240 - attributes: { message: errorInfo.message, type: errorInfo.type },
4241 - text: (0, import_util7.stripAnsiEscapes)(formatFailure(nonTerminalScreen, this.config, test))
4242 - });
4243 - return errorInfo.elementName;
4244 - }
4245 - entry.children.push({
4246 - name: "failure",
4247 - attributes: {
4248 - message: `${import_path10.default.basename(test.location.file)}:${test.location.line}:${test.location.column} ${test.title}`,
4249 - type: "FAILURE"
4250 - },
4251 - text: (0, import_util7.stripAnsiEscapes)(formatFailure(nonTerminalScreen, this.config, test))
4252 - });
4253 - return "failure";
4254 - }
4255 - async _appendStdIO(entry, results) {
4256 - const systemOut = [];
4257 - const systemErr = [];
4258 - for (const result of results) {
4259 - for (const item of result.stdout)
4260 - systemOut.push(item.toString());
4261 - for (const item of result.stderr)
4262 - systemErr.push(item.toString());
4263 - for (const attachment of result.attachments) {
4264 - if (!attachment.path)
4265 - continue;
4266 - let attachmentPath = import_path10.default.relative(this.configDir, attachment.path);
4267 - try {
4268 - if (this.resolvedOutputFile)
4269 - attachmentPath = import_path10.default.relative(import_path10.default.dirname(this.resolvedOutputFile), attachment.path);
4270 - } catch {
4271 - systemOut.push(`
4272 -Warning: Unable to make attachment path ${attachment.path} relative to report output file ${this.resolvedOutputFile}`);
4273 - }
4274 - try {
4275 - await import_fs7.default.promises.access(attachment.path);
4276 - systemOut.push(`
4277 -[[ATTACHMENT|${attachmentPath}]]
4278 -`);
4279 - } catch {
4280 - systemErr.push(`
4281 -Warning: attachment ${attachmentPath} is missing`);
4282 - }
4283 - }
4284 - }
4285 - if (systemOut.length)
4286 - entry.children.push({ name: "system-out", text: systemOut.join("") });
4287 - if (systemErr.length)
4288 - entry.children.push({ name: "system-err", text: systemErr.join("") });
4289 - }
4290 - async _buildRetryEntry(result, prefix) {
4291 - const errorInfo = classifyResultError(result);
4292 - const entry = {
4293 - name: `${prefix}${errorInfo?.elementName === "error" ? "Error" : "Failure"}`,
4294 - attributes: { message: errorInfo?.message || "", type: errorInfo?.type || "FAILURE", time: result.duration / 1e3 },
4295 - children: []
4296 - };
4297 - const stackTrace = result.error?.stack || result.error?.message || result.error?.value || "";
4298 - entry.children.push({ name: "stackTrace", text: (0, import_util7.stripAnsiEscapes)(stackTrace) });
4299 - await this._appendStdIO(entry, [result]);
4300 - return entry;
4301 - }
4302 -};
4303 -function classifyResultError(result) {
4304 - const error = result.error;
4305 - if (!error)
4306 - return null;
4307 - const rawMessage = (0, import_util7.stripAnsiEscapes)(error.message || error.value || "");
4308 - const nameMatch = rawMessage.match(/^(\w+): /);
4309 - const errorName = nameMatch ? nameMatch[1] : "";
4310 - const messageBody = nameMatch ? rawMessage.slice(nameMatch[0].length) : rawMessage;
4311 - const firstLine = messageBody.split("\n")[0].trim();
4312 - const matcherMatch = rawMessage.match(/expect\(.*?\)\.(not\.)?(\w+)/);
4313 - if (matcherMatch) {
4314 - const matcherName = `expect.${matcherMatch[1] || ""}${matcherMatch[2]}`;
4315 - return {
4316 - elementName: "failure",
4317 - type: matcherName,
4318 - message: firstLine
4319 - };
4320 - }
4321 - return {
4322 - elementName: "error",
4323 - type: errorName || "Error",
4324 - message: firstLine
4325 - };
4326 -}
4327 -function classifyTestError(test) {
4328 - for (const result of test.results) {
4329 - const info = classifyResultError(result);
4330 - if (info)
4331 - return info;
4332 - }
4333 - return null;
4334 -}
4335 -function serializeXML(entry, tokens, stripANSIControlSequences) {
4336 - const attrs = [];
4337 - for (const [name, value] of Object.entries(entry.attributes || {}))
4338 - attrs.push(`${name}="${escape(String(value), stripANSIControlSequences, false)}"`);
4339 - tokens.push(`<${entry.name}${attrs.length ? " " : ""}${attrs.join(" ")}>`);
4340 - for (const child of entry.children || [])
4341 - serializeXML(child, tokens, stripANSIControlSequences);
4342 - if (entry.text)
4343 - tokens.push(escape(entry.text, stripANSIControlSequences, true));
4344 - tokens.push(`</${entry.name}>`);
4345 -}
4346 -var discouragedXMLCharacters = /[\u0000-\u0008\u000b-\u000c\u000e-\u001f\u007f-\u0084\u0086-\u009f]/g;
4347 -function escape(text, stripANSIControlSequences, isCharacterData) {
4348 - if (stripANSIControlSequences)
4349 - text = (0, import_util7.stripAnsiEscapes)(text);
4350 - if (isCharacterData) {
4351 - text = "<![CDATA[" + text.replace(/]]>/g, "]]&gt;") + "]]>";
4352 - } else {
4353 - const escapeRe = /[&"'<>]/g;
4354 - text = text.replace(escapeRe, (c) => ({ "&": "&amp;", '"': "&quot;", "'": "&apos;", "<": "&lt;", ">": "&gt;" })[c]);
4355 - }
4356 - text = text.replace(discouragedXMLCharacters, "");
4357 - return text;
4358 -}
4359 -var junit_default = JUnitReporter;
4360 -
4361 -// packages/playwright/src/reporters/line.ts
4362 -var LineReporter = class extends TerminalReporter {
4363 - constructor() {
4364 - super(...arguments);
4365 - this._current = 0;
4366 - this._failures = 0;
4367 - this._didBegin = false;
4368 - }
4369 - onBegin(suite) {
4370 - super.onBegin(suite);
4371 - const startingMessage = this.generateStartingMessage();
4372 - if (startingMessage) {
4373 - this.writeLine(startingMessage);
4374 - this.writeLine();
4375 - }
4376 - this._didBegin = true;
4377 - }
4378 - onStdOut(chunk, test, result) {
4379 - super.onStdOut(chunk, test, result);
4380 - this._dumpToStdio(test, chunk, this.screen.stdout);
4381 - }
4382 - onStdErr(chunk, test, result) {
4383 - super.onStdErr(chunk, test, result);
4384 - this._dumpToStdio(test, chunk, this.screen.stderr);
4385 - }
4386 - _dumpToStdio(test, chunk, stream) {
4387 - if (this.config.quiet)
4388 - return;
4389 - if (!process.env.PW_TEST_DEBUG_REPORTERS)
4390 - stream.write(`\x1B[1A\x1B[2K`);
4391 - if (test && this._lastTest !== test) {
4392 - const title = this.screen.colors.dim(this.formatTestTitle(test));
4393 - stream.write(this.fitToScreen(title) + `
4394 -`);
4395 - this._lastTest = test;
4396 - }
4397 - stream.write(chunk);
4398 - if (chunk[chunk.length - 1] !== "\n")
4399 - this.writeLine();
4400 - this.writeLine();
4401 - }
4402 - onTestBegin(test, result) {
4403 - ++this._current;
4404 - this._updateLine(test, result, void 0);
4405 - }
4406 - onStepBegin(test, result, step) {
4407 - if (this.screen.isTTY && step.category === "test.step")
4408 - this._updateLine(test, result, step);
4409 - }
4410 - onStepEnd(test, result, step) {
4411 - if (this.screen.isTTY && step.category === "test.step")
4412 - this._updateLine(test, result, step.parent);
4413 - }
4414 - async onTestPaused(test, result) {
4415 - if (!process.stdin.isTTY && !process.env.PW_TEST_DEBUG_REPORTERS)
4416 - return;
4417 - if (!process.env.PW_TEST_DEBUG_REPORTERS)
4418 - this.screen.stdout.write(`\x1B[1A\x1B[2K`);
4419 - if (test.outcome() === "unexpected") {
4420 - this.writeLine(this.screen.colors.red(this.formatTestHeader(test, { indent: " ", index: ++this._failures })));
4421 - this.writeLine(this.formatResultErrors(test, result));
4422 - markErrorsAsReported(result);
4423 - this.writeLine(this.screen.colors.yellow(` Paused on error. Press Ctrl+C to end.`) + "\n\n");
4424 - } else {
4425 - this.writeLine(this.screen.colors.yellow(this.formatTestHeader(test, { indent: " " })));
4426 - this.writeLine(this.screen.colors.yellow(` Paused at test end. Press Ctrl+C to end.`) + "\n\n");
4427 - }
4428 - this._updateLine(test, result, void 0);
4429 - await new Promise(() => {
4430 - });
4431 - }
4432 - onTestEnd(test, result) {
4433 - super.onTestEnd(test, result);
4434 - if (!this.willRetry(test) && (test.outcome() === "flaky" || test.outcome() === "unexpected" || result.status === "interrupted")) {
4435 - if (!process.env.PW_TEST_DEBUG_REPORTERS)
4436 - this.screen.stdout.write(`\x1B[1A\x1B[2K`);
4437 - this.writeLine(this.formatFailure(test, ++this._failures));
4438 - this.writeLine();
4439 - }
4440 - }
4441 - _updateLine(test, result, step) {
4442 - const retriesPrefix = result.retry ? ` (retries)` : ``;
4443 - const prefix = `[${this._current}/${this.totalTestCount}]${retriesPrefix} `;
4444 - const currentRetrySuffix = result.retry ? this.screen.colors.yellow(` (retry #${result.retry})`) : "";
4445 - const title = this.formatTestTitle(test, step) + currentRetrySuffix;
4446 - if (process.env.PW_TEST_DEBUG_REPORTERS)
4447 - this.screen.stdout.write(`${prefix + title}
4448 -`);
4449 - else
4450 - this.screen.stdout.write(`\x1B[1A\x1B[2K${prefix + this.fitToScreen(title, prefix)}
4451 -`);
4452 - }
4453 - onError(error) {
4454 - super.onError(error);
4455 - const message = this.formatError(error).message + "\n";
4456 - if (!process.env.PW_TEST_DEBUG_REPORTERS && this._didBegin)
4457 - this.screen.stdout.write(`\x1B[1A\x1B[2K`);
4458 - this.screen.stdout.write(message);
4459 - this.writeLine();
4460 - }
4461 - async onEnd(result) {
4462 - if (!process.env.PW_TEST_DEBUG_REPORTERS && this._didBegin)
4463 - this.screen.stdout.write(`\x1B[1A\x1B[2K`);
4464 - await super.onEnd(result);
4465 - this.epilogue(false);
4466 - }
4467 -};
4468 -var line_default = LineReporter;
4469 -
4470 -// packages/playwright/src/reporters/list.ts
4471 -var import_util8 = require("../util");
4472 -var { msToString: msToString3 } = require("playwright-core/lib/coreBundle").iso;
4473 -var { getAsBooleanFromENV: getAsBooleanFromENV2 } = require("playwright-core/lib/coreBundle").utils;
4474 -var DOES_NOT_SUPPORT_UTF8_IN_TERMINAL = process.platform === "win32" && process.env.TERM_PROGRAM !== "vscode" && !process.env.WT_SESSION;
4475 -var POSITIVE_STATUS_MARK = DOES_NOT_SUPPORT_UTF8_IN_TERMINAL ? "ok" : "\u2713";
4476 -var NEGATIVE_STATUS_MARK = DOES_NOT_SUPPORT_UTF8_IN_TERMINAL ? "x" : "\u2718";
4477 -var ListReporter = class extends TerminalReporter {
4478 - constructor(options) {
4479 - super(options);
4480 - this._lastRow = 0;
4481 - this._lastColumn = 0;
4482 - this._testRows = /* @__PURE__ */ new Map();
4483 - this._stepRows = /* @__PURE__ */ new Map();
4484 - this._resultIndex = /* @__PURE__ */ new Map();
4485 - this._stepIndex = /* @__PURE__ */ new Map();
4486 - this._needNewLine = false;
4487 - this._paused = /* @__PURE__ */ new Set();
4488 - this._printSteps = getAsBooleanFromENV2("PLAYWRIGHT_LIST_PRINT_STEPS", options?.printSteps);
4489 - }
4490 - onBegin(suite) {
4491 - super.onBegin(suite);
4492 - const startingMessage = this.generateStartingMessage();
4493 - if (startingMessage) {
4494 - this.writeLine(startingMessage);
4495 - this.writeLine("");
4496 - }
4497 - }
4498 - onTestBegin(test, result) {
4499 - const index = String(this._resultIndex.size + 1);
4500 - this._resultIndex.set(result, index);
4501 - if (!this.screen.isTTY)
4502 - return;
4503 - this._maybeWriteNewLine();
4504 - this._testRows.set(test, this._lastRow);
4505 - const prefix = this._testPrefix(index, "");
4506 - const line = this.screen.colors.dim(this.formatTestTitle(test)) + this._retrySuffix(result);
4507 - this._appendLine(line, prefix);
4508 - }
4509 - onStdOut(chunk, test, result) {
4510 - super.onStdOut(chunk, test, result);
4511 - this._dumpToStdio(test, chunk, this.screen.stdout, "out");
4512 - }
4513 - onStdErr(chunk, test, result) {
4514 - super.onStdErr(chunk, test, result);
4515 - this._dumpToStdio(test, chunk, this.screen.stderr, "err");
4516 - }
4517 - getStepIndex(testIndex, result, step) {
4518 - if (this._stepIndex.has(step))
4519 - return this._stepIndex.get(step);
4520 - const ordinal = (result[lastStepOrdinalSymbol] || 0) + 1;
4521 - result[lastStepOrdinalSymbol] = ordinal;
4522 - const stepIndex = `${testIndex}.${ordinal}`;
4523 - this._stepIndex.set(step, stepIndex);
4524 - return stepIndex;
4525 - }
4526 - onStepBegin(test, result, step) {
4527 - if (step.category !== "test.step")
4528 - return;
4529 - const testIndex = this._resultIndex.get(result) || "";
4530 - if (!this.screen.isTTY)
4531 - return;
4532 - if (this._printSteps) {
4533 - this._maybeWriteNewLine();
4534 - this._stepRows.set(step, this._lastRow);
4535 - const prefix = this._testPrefix(this.getStepIndex(testIndex, result, step), "");
4536 - const line = test.title + this.screen.colors.dim(stepSuffix(step));
4537 - this._appendLine(line, prefix);
4538 - } else {
4539 - this._updateOrAppendLine(this._testRows, test, this.screen.colors.dim(this.formatTestTitle(test, step)) + this._retrySuffix(result), this._testPrefix(testIndex, ""));
4540 - }
4541 - }
4542 - onStepEnd(test, result, step) {
4543 - if (step.category !== "test.step")
4544 - return;
4545 - const testIndex = this._resultIndex.get(result) || "";
4546 - if (!this._printSteps) {
4547 - if (this.screen.isTTY)
4548 - this._updateOrAppendLine(this._testRows, test, this.screen.colors.dim(this.formatTestTitle(test, step.parent)) + this._retrySuffix(result), this._testPrefix(testIndex, ""));
4549 - return;
4550 - }
4551 - const index = this.getStepIndex(testIndex, result, step);
4552 - const title = this.screen.isTTY ? test.title + this.screen.colors.dim(stepSuffix(step)) : this.formatTestTitle(test, step);
4553 - const prefix = this._testPrefix(index, "");
4554 - let text = "";
4555 - if (step.error)
4556 - text = this.screen.colors.red(title);
4557 - else
4558 - text = title;
4559 - text += this.screen.colors.dim(` (${msToString3(step.duration)})`);
4560 - this._updateOrAppendLine(this._stepRows, step, text, prefix);
4561 - }
4562 - _maybeWriteNewLine() {
4563 - if (this._needNewLine) {
4564 - this._needNewLine = false;
4565 - this.screen.stdout.write("\n");
4566 - ++this._lastRow;
4567 - this._lastColumn = 0;
4568 - }
4569 - }
4570 - _updateLineCountAndNewLineFlagForOutput(text) {
4571 - this._needNewLine = text[text.length - 1] !== "\n";
4572 - if (!this.screen.ttyWidth)
4573 - return;
4574 - for (const ch of text) {
4575 - if (ch === "\n") {
4576 - this._lastColumn = 0;
4577 - ++this._lastRow;
4578 - continue;
4579 - }
4580 - ++this._lastColumn;
4581 - if (this._lastColumn > this.screen.ttyWidth) {
4582 - this._lastColumn = 0;
4583 - ++this._lastRow;
4584 - }
4585 - }
4586 - }
4587 - _dumpToStdio(test, chunk, stream, stdio) {
4588 - if (this.config.quiet)
4589 - return;
4590 - const text = chunk.toString("utf-8");
4591 - this._updateLineCountAndNewLineFlagForOutput(text);
4592 - stream.write(chunk);
4593 - }
4594 - async onTestPaused(test, result) {
4595 - if (!process.stdin.isTTY && !process.env.PW_TEST_DEBUG_REPORTERS)
4596 - return;
4597 - this._paused.add(result);
4598 - this._updateTestLine(test, result);
4599 - this._maybeWriteNewLine();
4600 - if (test.outcome() === "unexpected") {
4601 - const errors = this.formatResultErrors(test, result);
4602 - this.writeLine(errors);
4603 - this._updateLineCountAndNewLineFlagForOutput(errors);
4604 - markErrorsAsReported(result);
4605 - }
4606 - this._appendLine(this.screen.colors.yellow(`Paused ${test.outcome() === "unexpected" ? "on error" : "at test end"}. Press Ctrl+C to end.`), this._testPrefix("", ""));
4607 - await new Promise(() => {
4608 - });
4609 - }
4610 - onTestEnd(test, result) {
4611 - super.onTestEnd(test, result);
4612 - const wasPaused = this._paused.delete(result);
4613 - if (!wasPaused)
4614 - this._updateTestLine(test, result);
4615 - }
4616 - _updateTestLine(test, result) {
4617 - const title = this.formatTestTitle(test);
4618 - let prefix = "";
4619 - let text = "";
4620 - let index = this._resultIndex.get(result);
4621 - if (!index) {
4622 - index = String(this._resultIndex.size + 1);
4623 - this._resultIndex.set(result, index);
4624 - }
4625 - if (result.status === "skipped") {
4626 - prefix = this._testPrefix(index, this.screen.colors.green("-"));
4627 - text = this.screen.colors.cyan(title) + this._retrySuffix(result);
4628 - } else {
4629 - const statusMark = result.status === "passed" ? POSITIVE_STATUS_MARK : NEGATIVE_STATUS_MARK;
4630 - if (result.status === test.expectedStatus) {
4631 - prefix = this._testPrefix(index, this.screen.colors.green(statusMark));
4632 - text = title;
4633 - } else {
4634 - prefix = this._testPrefix(index, this.screen.colors.red(statusMark));
4635 - text = this.screen.colors.red(title);
4636 - }
4637 - text += this._retrySuffix(result) + this.screen.colors.dim(` (${msToString3(result.duration)})`);
4638 - }
4639 - this._updateOrAppendLine(this._testRows, test, text, prefix);
4640 - }
4641 - _updateOrAppendLine(entityRowNumbers, entity, text, prefix) {
4642 - const row = entityRowNumbers.get(entity);
4643 - if (row !== void 0 && this.screen.isTTY && this._lastRow - row < this.screen.ttyHeight) {
4644 - this._updateLine(row, text, prefix);
4645 - } else {
4646 - this._maybeWriteNewLine();
4647 - entityRowNumbers.set(entity, this._lastRow);
4648 - this._appendLine(text, prefix);
4649 - }
4650 - }
4651 - _appendLine(text, prefix) {
4652 - const line = prefix + this.fitToScreen(text, prefix);
4653 - if (process.env.PW_TEST_DEBUG_REPORTERS) {
4654 - this.screen.stdout.write("#" + this._lastRow + " : " + line + "\n");
4655 - } else {
4656 - this.screen.stdout.write(line);
4657 - this.screen.stdout.write("\n");
4658 - }
4659 - ++this._lastRow;
4660 - this._lastColumn = 0;
4661 - }
4662 - _updateLine(row, text, prefix) {
4663 - const line = prefix + this.fitToScreen(text, prefix);
4664 - if (process.env.PW_TEST_DEBUG_REPORTERS)
4665 - this.screen.stdout.write("#" + row + " : " + line + "\n");
4666 - else
4667 - this._updateLineForTTY(row, line);
4668 - }
4669 - _updateLineForTTY(row, line) {
4670 - if (row !== this._lastRow)
4671 - this.screen.stdout.write(`\x1B[${this._lastRow - row}A`);
4672 - this.screen.stdout.write("\x1B[2K\x1B[0G");
4673 - this.screen.stdout.write(line);
4674 - if (row !== this._lastRow)
4675 - this.screen.stdout.write(`\x1B[${this._lastRow - row}E`);
4676 - }
4677 - _testPrefix(index, statusMark) {
4678 - const statusMarkLength = (0, import_util8.stripAnsiEscapes)(statusMark).length;
4679 - const indexLength = Math.ceil(Math.log10(this.totalTestCount + 1));
4680 - return " " + statusMark + " ".repeat(3 - statusMarkLength) + this.screen.colors.dim(index.padStart(indexLength) + " ");
4681 - }
4682 - _retrySuffix(result) {
4683 - return result.retry ? this.screen.colors.yellow(` (retry #${result.retry})`) : "";
4684 - }
4685 - onError(error) {
4686 - super.onError(error);
4687 - this._maybeWriteNewLine();
4688 - const message = this.formatError(error).message + "\n";
4689 - this._updateLineCountAndNewLineFlagForOutput(message);
4690 - this.screen.stdout.write(message);
4691 - }
4692 - async onEnd(result) {
4693 - await super.onEnd(result);
4694 - this.screen.stdout.write("\n");
4695 - this.epilogue(true);
4696 - }
4697 -};
4698 -var lastStepOrdinalSymbol = Symbol("lastStepOrdinal");
4699 -var list_default = ListReporter;
4700 -
4701 -// packages/playwright/src/reporters/listModeReporter.ts
4702 -var import_path11 = __toESM(require("path"));
4703 -var ListModeReporter = class {
4704 - constructor(options = {}) {
4705 - this._options = options;
4706 - this.screen = options?.screen ?? terminalScreen;
4707 - }
4708 - version() {
4709 - return "v2";
4710 - }
4711 - onConfigure(config2) {
4712 - this.config = config2;
4713 - }
4714 - onBegin(suite) {
4715 - this._writeLine(`Listing tests:`);
4716 - const tests = suite.allTests();
4717 - const files = /* @__PURE__ */ new Set();
4718 - for (const test of tests) {
4719 - const [, projectName, , ...titles] = test.titlePath();
4720 - const location = `${import_path11.default.relative(this.config.rootDir, test.location.file)}:${test.location.line}:${test.location.column}`;
4721 - const testId = this._options.includeTestId ? `[id=${test.id}] ` : "";
4722 - const projectLabel = this._options.includeTestId ? `project=` : "";
4723 - const projectTitle = projectName ? `[${projectLabel}${projectName}] \u203A ` : "";
4724 - this._writeLine(` ${testId}${projectTitle}${location} \u203A ${titles.join(" \u203A ")}`);
4725 - files.add(test.location.file);
4726 - }
4727 - this._writeLine(`Total: ${tests.length} ${tests.length === 1 ? "test" : "tests"} in ${files.size} ${files.size === 1 ? "file" : "files"}`);
4728 - }
4729 - onError(error) {
4730 - this.screen.stderr.write("\n" + formatError(terminalScreen, error).message + "\n");
4731 - }
4732 - _writeLine(line) {
4733 - this.screen.stdout.write(line + "\n");
4734 - }
4735 -};
4736 -var listModeReporter_default = ListModeReporter;
4737 -
4738 -// packages/playwright/src/runner/reporters.ts
4739 -var { calculateSha1: calculateSha13 } = require("playwright-core/lib/coreBundle").utils;
4740 -async function createReporters(config2, mode, descriptions, runOptions) {
4741 - const defaultReporters = {
4742 - blob: BlobReporter,
4743 - dot: mode === "list" ? listModeReporter_default : dot_default,
4744 - line: mode === "list" ? listModeReporter_default : line_default,
4745 - list: mode === "list" ? listModeReporter_default : list_default,
4746 - github: github_default,
4747 - json: json_default,
4748 - junit: junit_default,
4749 - null: empty_default,
4750 - html: html_default
4751 - };
4752 - const reporters = [];
4753 - descriptions ??= config2.config.reporter;
4754 - if (runOptions?.additionalReporters)
4755 - descriptions = [...descriptions, ...runOptions.additionalReporters];
4756 - const reportOptions = reporterCommandOptions(config2, mode, runOptions);
4757 - for (const r of descriptions) {
4758 - const [name, arg] = r;
4759 - const options = { ...reportOptions, ...arg };
4760 - if (name in defaultReporters) {
4761 - reporters.push(new defaultReporters[name](options));
4762 - } else {
4763 - const reporterConstructor = await loadReporter(config2, name);
4764 - reporters.push(wrapReporterAsV2(new reporterConstructor(options)));
4765 - }
4766 - }
4767 - if (process.env.PW_TEST_REPORTER) {
4768 - const name = process.env.PW_TEST_REPORTER;
4769 - if (name in defaultReporters) {
4770 - reporters.push(new defaultReporters[name](reportOptions));
4771 - } else {
4772 - const reporterConstructor = await loadReporter(config2, name);
4773 - reporters.push(wrapReporterAsV2(new reporterConstructor(reportOptions)));
4774 - }
4775 - }
4776 - const someReporterPrintsToStdio = reporters.some((r) => r.printsToStdio ? r.printsToStdio() : true);
4777 - if (reporters.length && !someReporterPrintsToStdio) {
4778 - if (mode === "list")
4779 - reporters.unshift(new listModeReporter_default());
4780 - else if (mode !== "merge")
4781 - reporters.unshift(!process.env.CI ? new line_default() : new dot_default());
4782 - }
4783 - return reporters;
4784 -}
4785 -function createErrorCollectingReporter(screen) {
4786 - const errors = [];
4787 - return {
4788 - version: () => "v2",
4789 - onError(error) {
4790 - errors.push(error);
4791 - screen.stderr?.write(formatError(screen, error).message + "\n");
4792 - },
4793 - errors: () => errors
4794 - };
4795 -}
4796 -function reporterCommandOptions(config2, mode, runOptions) {
4797 - return {
4798 - configDir: config2.configDir,
4799 - _mode: mode,
4800 - _commandHash: computeCommandHash(config2, runOptions)
4801 - };
4802 -}
4803 -function computeCommandHash(config2, runOptions) {
4804 - const parts = [];
4805 - if (runOptions?.projectFilter)
4806 - parts.push(...runOptions.projectFilter);
4807 - const command = {};
4808 - if (runOptions?.locations?.length)
4809 - command.locations = runOptions.locations;
4810 - if (runOptions?.grep)
4811 - command.grep = runOptions.grep;
4812 - if (runOptions?.grepInvert)
4813 - command.grepInvert = runOptions.grepInvert;
4814 - if (runOptions?.onlyChanged)
4815 - command.onlyChanged = runOptions.onlyChanged;
4816 - if (config2.config.tags.length)
4817 - command.tags = config2.config.tags.join(" ");
4818 - if (runOptions?.testList)
4819 - command.testList = calculateSha13(import_fs8.default.readFileSync(runOptions.testList));
4820 - if (runOptions?.testListInvert)
4821 - command.testListInvert = calculateSha13(import_fs8.default.readFileSync(runOptions.testListInvert));
4822 - if (Object.keys(command).length)
4823 - parts.push(calculateSha13(JSON.stringify(command)).substring(0, 7));
4824 - return parts.join("-");
4825 -}
4826 -
4827 -// packages/playwright/src/runner/tasks.ts
4828 -var import_fs11 = __toESM(require("fs"));
4829 -var import_path15 = __toESM(require("path"));
4830 -var import_util11 = require("util");
4831 -
4832 -// packages/playwright/src/runner/rebase.ts
4833 -var import_fs9 = __toESM(require("fs"));
4834 -var import_path12 = __toESM(require("path"));
4835 -var babel3 = __toESM(require("../transform/babelBundle"));
4836 -var colors3 = require("playwright-core/lib/utilsBundle").colors;
4837 -var diff = require("playwright-core/lib/utilsBundle").diff;
4838 -var { MultiMap: MultiMap3 } = require("playwright-core/lib/coreBundle").iso;
4839 -var t = babel3.types;
4840 -var suggestedRebaselines = new MultiMap3();
4841 -function addSuggestedRebaseline(location, suggestedRebaseline) {
4842 - suggestedRebaselines.set(location.file, { location, code: suggestedRebaseline });
4843 -}
4844 -function clearSuggestedRebaselines() {
4845 - suggestedRebaselines.clear();
4846 -}
4847 -async function applySuggestedRebaselines(config2, reporter, filteredProjects) {
4848 - if (config2.config.updateSnapshots === "none")
4849 - return;
4850 - if (!suggestedRebaselines.size)
4851 - return;
4852 - const [project] = filteredProjects;
4853 - if (!project)
4854 - return;
4855 - const patches = [];
4856 - const files = [];
4857 - const gitCache = /* @__PURE__ */ new Map();
4858 - const patchFile = import_path12.default.join(project.project.outputDir, "rebaselines.patch");
4859 - for (const fileName of [...suggestedRebaselines.keys()].sort()) {
4860 - const source = await import_fs9.default.promises.readFile(fileName, "utf8");
4861 - const lines = source.split("\n");
4862 - const replacements = suggestedRebaselines.get(fileName);
4863 - const fileNode = babel3.babelParse(source, fileName, true);
4864 - const ranges = [];
4865 - babel3.traverse(fileNode, {
4866 - CallExpression: (path20) => {
4867 - const node = path20.node;
4868 - if (node.arguments.length < 1)
4869 - return;
4870 - if (!t.isMemberExpression(node.callee))
4871 - return;
4872 - const argument = node.arguments[0];
4873 - if (!t.isStringLiteral(argument) && !t.isTemplateLiteral(argument))
4874 - return;
4875 - const prop = node.callee.property;
4876 - if (!prop.loc || !argument.start || !argument.end)
4877 - return;
4878 - for (const replacement of replacements) {
4879 - if (prop.loc.start.line !== replacement.location.line)
4880 - continue;
4881 - if (prop.loc.start.column + 1 !== replacement.location.column)
4882 - continue;
4883 - const indent2 = lines[prop.loc.start.line - 1].match(/^\s*/)[0];
4884 - const newText = replacement.code.replace(/\{indent\}/g, indent2);
4885 - ranges.push({ start: argument.start, end: argument.end, oldText: source.substring(argument.start, argument.end), newText });
4886 - break;
4887 - }
4888 - }
4889 - });
4890 - ranges.sort((a, b) => b.start - a.start);
4891 - let result = source;
4892 - for (const range of ranges)
4893 - result = result.substring(0, range.start) + range.newText + result.substring(range.end);
4894 - const relativeName = import_path12.default.relative(process.cwd(), fileName);
4895 - files.push(relativeName);
4896 - if (config2.config.updateSourceMethod === "overwrite") {
4897 - await import_fs9.default.promises.writeFile(fileName, result);
4898 - } else if (config2.config.updateSourceMethod === "3way") {
4899 - await import_fs9.default.promises.writeFile(fileName, applyPatchWithConflictMarkers(source, result));
4900 - } else {
4901 - const gitFolder = findGitRoot(import_path12.default.dirname(fileName), gitCache);
4902 - const relativeToGit = import_path12.default.relative(gitFolder || process.cwd(), fileName);
4903 - patches.push(createPatch(relativeToGit, source, result));
4904 - }
4905 - }
4906 - const fileList = files.map((file) => " " + colors3.dim(file)).join("\n");
4907 - reporter.onStdErr(`
4908 -New baselines created for:
4909 -
4910 -${fileList}
4911 -`);
4912 - if (config2.config.updateSourceMethod === "patch") {
4913 - await import_fs9.default.promises.mkdir(import_path12.default.dirname(patchFile), { recursive: true });
4914 - await import_fs9.default.promises.writeFile(patchFile, patches.join("\n"));
4915 - reporter.onStdErr(`
4916 - ` + colors3.cyan("git apply " + import_path12.default.relative(process.cwd(), patchFile)) + "\n");
4917 - }
4918 -}
4919 -function createPatch(fileName, before, after) {
4920 - const file = fileName.replace(/\\/g, "/");
4921 - const text = diff.createPatch(file, before, after, void 0, void 0, { context: 3 });
4922 - return [
4923 - "diff --git a/" + file + " b/" + file,
4924 - "--- a/" + file,
4925 - "+++ b/" + file,
4926 - ...text.split("\n").slice(4)
4927 - ].join("\n");
4928 -}
4929 -function findGitRoot(dir, cache) {
4930 - const result = cache.get(dir);
4931 - if (result !== void 0)
4932 - return result;
4933 - const gitPath = import_path12.default.join(dir, ".git");
4934 - if (import_fs9.default.existsSync(gitPath) && import_fs9.default.lstatSync(gitPath).isDirectory()) {
4935 - cache.set(dir, dir);
4936 - return dir;
4937 - }
4938 - const parentDir = import_path12.default.dirname(dir);
4939 - if (dir === parentDir) {
4940 - cache.set(dir, null);
4941 - return null;
4942 - }
4943 - const parentResult = findGitRoot(parentDir, cache);
4944 - cache.set(dir, parentResult);
4945 - return parentResult;
4946 -}
4947 -function applyPatchWithConflictMarkers(oldText, newText) {
4948 - const diffResult = diff.diffLines(oldText, newText);
4949 - let result = "";
4950 - let conflict = false;
4951 - diffResult.forEach((part) => {
4952 - if (part.added) {
4953 - if (conflict) {
4954 - result += part.value;
4955 - result += ">>>>>>> SNAPSHOT\n";
4956 - conflict = false;
4957 - } else {
4958 - result += "<<<<<<< HEAD\n";
4959 - result += part.value;
4960 - result += "=======\n";
4961 - conflict = true;
4962 - }
4963 - } else if (part.removed) {
4964 - result += "<<<<<<< HEAD\n";
4965 - result += part.value;
4966 - result += "=======\n";
4967 - conflict = true;
4968 - } else {
4969 - if (conflict) {
4970 - result += ">>>>>>> SNAPSHOT\n";
4971 - conflict = false;
4972 - }
4973 - result += part.value;
4974 - }
4975 - });
4976 - if (conflict)
4977 - result += ">>>>>>> SNAPSHOT\n";
4978 - return result;
4979 -}
4980 -
4981 -// packages/playwright/src/runner/workerHost.ts
4982 -var import_fs10 = __toESM(require("fs"));
4983 -var import_path13 = __toESM(require("path"));
4984 -var import_common5 = require("../common");
4985 -
4986 -// packages/playwright/src/isomorphic/folders.ts
4987 -function artifactsFolderName(workerIndex) {
4988 - return `.playwright-artifacts-${workerIndex}`;
4989 -}
4990 -
4991 -// packages/playwright/src/runner/workerHost.ts
4992 -var { removeFolders: removeFolders3 } = require("playwright-core/lib/coreBundle").utils;
4993 -var lastWorkerIndex = 0;
4994 -var WorkerHost = class extends ProcessHost {
4995 - constructor(testGroup, options) {
4996 - const workerIndex = lastWorkerIndex++;
4997 - super(require.resolve("../worker/workerProcessEntry.js"), `worker-${workerIndex}`, {
4998 - ...options.extraEnv,
4999 - FORCE_COLOR: "1",

This file is too large to show in full.

node_modules/playwright/lib/runner/index.js.txt deleted
-59
@@ -1,59 +0,0 @@
1 -# packages/playwright/lib/runner/index.js
2 -# total: 288.6 KB
3 -
4 -## Inlined (45)
5 - 1.3 KB packages/playwright/src/isomorphic/events.ts
6 - 0.1 KB packages/playwright/src/isomorphic/folders.ts
7 - 0.9 KB packages/playwright/src/isomorphic/stringInternPool.ts
8 - 15.1 KB packages/playwright/src/isomorphic/teleReceiver.ts
9 - 3.9 KB packages/playwright/src/isomorphic/teleSuiteUpdater.ts
10 - 4.8 KB packages/playwright/src/isomorphic/testServerConnection.ts
11 - 0.0 KB packages/playwright/src/isomorphic/testTree.ts
12 - 5.0 KB packages/playwright/src/plugins/gitCommitInfoPlugin.ts
13 - 8.6 KB packages/playwright/src/plugins/webServerPlugin.ts
14 - 20.7 KB packages/playwright/src/reporters/base.ts
15 - 4.0 KB packages/playwright/src/reporters/blob.ts
16 - 2.3 KB packages/playwright/src/reporters/dot.ts
17 - 0.1 KB packages/playwright/src/reporters/empty.ts
18 - 3.5 KB packages/playwright/src/reporters/github.ts
19 - 26.2 KB packages/playwright/src/reporters/html.ts
20 - 3.1 KB packages/playwright/src/reporters/internalReporter.ts
21 - 7.1 KB packages/playwright/src/reporters/json.ts
22 - 10.3 KB packages/playwright/src/reporters/junit.ts
23 - 3.8 KB packages/playwright/src/reporters/line.ts
24 - 8.6 KB packages/playwright/src/reporters/list.ts
25 - 1.4 KB packages/playwright/src/reporters/listModeReporter.ts
26 - 18.5 KB packages/playwright/src/reporters/merge.ts
27 - 2.5 KB packages/playwright/src/reporters/multiplexer.ts
28 - 2.0 KB packages/playwright/src/reporters/reporterV2.ts
29 - 8.7 KB packages/playwright/src/reporters/teleEmitter.ts
30 - 19.0 KB packages/playwright/src/runner/dispatcher.ts
31 - 1.5 KB packages/playwright/src/runner/fsWatcher.ts
32 - 0.5 KB packages/playwright/src/runner/index.ts
33 - 1.2 KB packages/playwright/src/runner/lastRun.ts
34 - 1.6 KB packages/playwright/src/runner/loaderHost.ts
35 - 12.5 KB packages/playwright/src/runner/loadUtils.ts
36 - 5.8 KB packages/playwright/src/runner/processHost.ts
37 - 7.8 KB packages/playwright/src/runner/projectUtils.ts
38 - 5.5 KB packages/playwright/src/runner/rebase.ts
39 - 3.5 KB packages/playwright/src/runner/reporters.ts
40 - 1.6 KB packages/playwright/src/runner/sigIntWatcher.ts
41 - 3.5 KB packages/playwright/src/runner/taskRunner.ts
42 - 14.4 KB packages/playwright/src/runner/tasks.ts
43 - 3.6 KB packages/playwright/src/runner/testGroups.ts
44 - 13.9 KB packages/playwright/src/runner/testRunner.ts
45 - 8.8 KB packages/playwright/src/runner/testServer.ts
46 - 0.2 KB packages/playwright/src/runner/uiModeReporter.ts
47 - 1.7 KB packages/playwright/src/runner/vcs.ts
48 - 13.1 KB packages/playwright/src/runner/watchMode.ts
49 - 2.1 KB packages/playwright/src/runner/workerHost.ts
50 -
51 -## External (8)
52 - ../common
53 - ../loader/loaderProcessEntry.js
54 - ../transform/babelBundle
55 - ../util
56 - ../worker/workerProcessEntry.js
57 - playwright-core
58 - playwright-core/lib/coreBundle
59 - playwright-core/lib/utilsBundle
node_modules/playwright/lib/transform/babelBundle.js deleted
-71030
@@ -1,71030 +0,0 @@
1 -"use strict";
2 -var __create = Object.create;
3 -var __defProp = Object.defineProperty;
4 -var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5 -var __getOwnPropNames = Object.getOwnPropertyNames;
6 -var __getProtoOf = Object.getPrototypeOf;
7 -var __hasOwnProp = Object.prototype.hasOwnProperty;
8 -var __commonJS = (cb, mod) => function __require() {
9 - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
10 -};
11 -var __export = (target, all) => {
12 - for (var name in all)
13 - __defProp(target, name, { get: all[name], enumerable: true });
14 -};
15 -var __copyProps = (to, from, except, desc) => {
16 - if (from && typeof from === "object" || typeof from === "function") {
17 - for (let key of __getOwnPropNames(from))
18 - if (!__hasOwnProp.call(to, key) && key !== except)
19 - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
20 - }
21 - return to;
22 -};
23 -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
24 - // If the importer is in node compatibility mode or this is not an ESM
25 - // file that has been converted to a CommonJS file using a Babel-
26 - // compatible transform (i.e. "__esModule" has not been set), then set
27 - // "default" to the CommonJS "module.exports" for node compatibility.
28 - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
29 - mod
30 -));
31 -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
32 -
33 -// node_modules/@babel/types/lib/utils/shallowEqual.js
34 -var require_shallowEqual = __commonJS({
35 - "node_modules/@babel/types/lib/utils/shallowEqual.js"(exports2) {
36 - "use strict";
37 - Object.defineProperty(exports2, "__esModule", {
38 - value: true
39 - });
40 - exports2.default = shallowEqual;
41 - function shallowEqual(actual, expected) {
42 - const keys = Object.keys(expected);
43 - for (const key of keys) {
44 - if (actual[key] !== expected[key]) {
45 - return false;
46 - }
47 - }
48 - return true;
49 - }
50 - }
51 -});
52 -
53 -// node_modules/@babel/types/lib/utils/deprecationWarning.js
54 -var require_deprecationWarning = __commonJS({
55 - "node_modules/@babel/types/lib/utils/deprecationWarning.js"(exports2) {
56 - "use strict";
57 - Object.defineProperty(exports2, "__esModule", {
58 - value: true
59 - });
60 - exports2.default = deprecationWarning;
61 - var warnings = /* @__PURE__ */ new Set();
62 - function deprecationWarning(oldName, newName, prefix = "", cacheKey = oldName) {
63 - if (warnings.has(cacheKey)) return;
64 - warnings.add(cacheKey);
65 - const {
66 - internal,
67 - trace
68 - } = captureShortStackTrace(1, 2);
69 - if (internal) {
70 - return;
71 - }
72 - console.warn(`${prefix}\`${oldName}\` has been deprecated, please migrate to \`${newName}\`
73 -${trace}`);
74 - }
75 - function captureShortStackTrace(skip, length) {
76 - const {
77 - stackTraceLimit,
78 - prepareStackTrace
79 - } = Error;
80 - let stackTrace;
81 - Error.stackTraceLimit = 1 + skip + length;
82 - Error.prepareStackTrace = function(err, stack) {
83 - stackTrace = stack;
84 - };
85 - new Error().stack;
86 - Error.stackTraceLimit = stackTraceLimit;
87 - Error.prepareStackTrace = prepareStackTrace;
88 - if (!stackTrace) return {
89 - internal: false,
90 - trace: ""
91 - };
92 - const shortStackTrace = stackTrace.slice(1 + skip, 1 + skip + length);
93 - return {
94 - internal: /[\\/]@babel[\\/]/.test(shortStackTrace[1].getFileName()),
95 - trace: shortStackTrace.map((frame) => ` at ${frame}`).join("\n")
96 - };
97 - }
98 - }
99 -});
100 -
101 -// node_modules/@babel/types/lib/validators/generated/index.js
102 -var require_generated = __commonJS({
103 - "node_modules/@babel/types/lib/validators/generated/index.js"(exports2) {
104 - "use strict";
105 - Object.defineProperty(exports2, "__esModule", {
106 - value: true
107 - });
108 - exports2.isAccessor = isAccessor;
109 - exports2.isAnyTypeAnnotation = isAnyTypeAnnotation;
110 - exports2.isArgumentPlaceholder = isArgumentPlaceholder;
111 - exports2.isArrayExpression = isArrayExpression;
112 - exports2.isArrayPattern = isArrayPattern;
113 - exports2.isArrayTypeAnnotation = isArrayTypeAnnotation;
114 - exports2.isArrowFunctionExpression = isArrowFunctionExpression;
115 - exports2.isAssignmentExpression = isAssignmentExpression;
116 - exports2.isAssignmentPattern = isAssignmentPattern;
117 - exports2.isAwaitExpression = isAwaitExpression;
118 - exports2.isBigIntLiteral = isBigIntLiteral;
119 - exports2.isBinary = isBinary;
120 - exports2.isBinaryExpression = isBinaryExpression;
121 - exports2.isBindExpression = isBindExpression;
122 - exports2.isBlock = isBlock;
123 - exports2.isBlockParent = isBlockParent;
124 - exports2.isBlockStatement = isBlockStatement;
125 - exports2.isBooleanLiteral = isBooleanLiteral;
126 - exports2.isBooleanLiteralTypeAnnotation = isBooleanLiteralTypeAnnotation;
127 - exports2.isBooleanTypeAnnotation = isBooleanTypeAnnotation;
128 - exports2.isBreakStatement = isBreakStatement;
129 - exports2.isCallExpression = isCallExpression;
130 - exports2.isCatchClause = isCatchClause;
131 - exports2.isClass = isClass;
132 - exports2.isClassAccessorProperty = isClassAccessorProperty;
133 - exports2.isClassBody = isClassBody;
134 - exports2.isClassDeclaration = isClassDeclaration;
135 - exports2.isClassExpression = isClassExpression;
136 - exports2.isClassImplements = isClassImplements;
137 - exports2.isClassMethod = isClassMethod;
138 - exports2.isClassPrivateMethod = isClassPrivateMethod;
139 - exports2.isClassPrivateProperty = isClassPrivateProperty;
140 - exports2.isClassProperty = isClassProperty;
141 - exports2.isCompletionStatement = isCompletionStatement;
142 - exports2.isConditional = isConditional;
143 - exports2.isConditionalExpression = isConditionalExpression;
144 - exports2.isContinueStatement = isContinueStatement;
145 - exports2.isDebuggerStatement = isDebuggerStatement;
146 - exports2.isDecimalLiteral = isDecimalLiteral;
147 - exports2.isDeclaration = isDeclaration;
148 - exports2.isDeclareClass = isDeclareClass;
149 - exports2.isDeclareExportAllDeclaration = isDeclareExportAllDeclaration;
150 - exports2.isDeclareExportDeclaration = isDeclareExportDeclaration;
151 - exports2.isDeclareFunction = isDeclareFunction;
152 - exports2.isDeclareInterface = isDeclareInterface;
153 - exports2.isDeclareModule = isDeclareModule;
154 - exports2.isDeclareModuleExports = isDeclareModuleExports;
155 - exports2.isDeclareOpaqueType = isDeclareOpaqueType;
156 - exports2.isDeclareTypeAlias = isDeclareTypeAlias;
157 - exports2.isDeclareVariable = isDeclareVariable;
158 - exports2.isDeclaredPredicate = isDeclaredPredicate;
159 - exports2.isDecorator = isDecorator;
160 - exports2.isDirective = isDirective;
161 - exports2.isDirectiveLiteral = isDirectiveLiteral;
162 - exports2.isDoExpression = isDoExpression;
163 - exports2.isDoWhileStatement = isDoWhileStatement;
164 - exports2.isEmptyStatement = isEmptyStatement;
165 - exports2.isEmptyTypeAnnotation = isEmptyTypeAnnotation;
166 - exports2.isEnumBody = isEnumBody;
167 - exports2.isEnumBooleanBody = isEnumBooleanBody;
168 - exports2.isEnumBooleanMember = isEnumBooleanMember;
169 - exports2.isEnumDeclaration = isEnumDeclaration;
170 - exports2.isEnumDefaultedMember = isEnumDefaultedMember;
171 - exports2.isEnumMember = isEnumMember;
172 - exports2.isEnumNumberBody = isEnumNumberBody;
173 - exports2.isEnumNumberMember = isEnumNumberMember;
174 - exports2.isEnumStringBody = isEnumStringBody;
175 - exports2.isEnumStringMember = isEnumStringMember;
176 - exports2.isEnumSymbolBody = isEnumSymbolBody;
177 - exports2.isExistsTypeAnnotation = isExistsTypeAnnotation;
178 - exports2.isExportAllDeclaration = isExportAllDeclaration;
179 - exports2.isExportDeclaration = isExportDeclaration;
180 - exports2.isExportDefaultDeclaration = isExportDefaultDeclaration;
181 - exports2.isExportDefaultSpecifier = isExportDefaultSpecifier;
182 - exports2.isExportNamedDeclaration = isExportNamedDeclaration;
183 - exports2.isExportNamespaceSpecifier = isExportNamespaceSpecifier;
184 - exports2.isExportSpecifier = isExportSpecifier;
185 - exports2.isExpression = isExpression;
186 - exports2.isExpressionStatement = isExpressionStatement;
187 - exports2.isExpressionWrapper = isExpressionWrapper;
188 - exports2.isFile = isFile;
189 - exports2.isFlow = isFlow;
190 - exports2.isFlowBaseAnnotation = isFlowBaseAnnotation;
191 - exports2.isFlowDeclaration = isFlowDeclaration;
192 - exports2.isFlowPredicate = isFlowPredicate;
193 - exports2.isFlowType = isFlowType;
194 - exports2.isFor = isFor;
195 - exports2.isForInStatement = isForInStatement;
196 - exports2.isForOfStatement = isForOfStatement;
197 - exports2.isForStatement = isForStatement;
198 - exports2.isForXStatement = isForXStatement;
199 - exports2.isFunction = isFunction;
200 - exports2.isFunctionDeclaration = isFunctionDeclaration;
201 - exports2.isFunctionExpression = isFunctionExpression;
202 - exports2.isFunctionParameter = isFunctionParameter;
203 - exports2.isFunctionParent = isFunctionParent;
204 - exports2.isFunctionTypeAnnotation = isFunctionTypeAnnotation;
205 - exports2.isFunctionTypeParam = isFunctionTypeParam;
206 - exports2.isGenericTypeAnnotation = isGenericTypeAnnotation;
207 - exports2.isIdentifier = isIdentifier;
208 - exports2.isIfStatement = isIfStatement;
209 - exports2.isImmutable = isImmutable;
210 - exports2.isImport = isImport;
211 - exports2.isImportAttribute = isImportAttribute;
212 - exports2.isImportDeclaration = isImportDeclaration;
213 - exports2.isImportDefaultSpecifier = isImportDefaultSpecifier;
214 - exports2.isImportExpression = isImportExpression;
215 - exports2.isImportNamespaceSpecifier = isImportNamespaceSpecifier;
216 - exports2.isImportOrExportDeclaration = isImportOrExportDeclaration;
217 - exports2.isImportSpecifier = isImportSpecifier;
218 - exports2.isIndexedAccessType = isIndexedAccessType;
219 - exports2.isInferredPredicate = isInferredPredicate;
220 - exports2.isInterfaceDeclaration = isInterfaceDeclaration;
221 - exports2.isInterfaceExtends = isInterfaceExtends;
222 - exports2.isInterfaceTypeAnnotation = isInterfaceTypeAnnotation;
223 - exports2.isInterpreterDirective = isInterpreterDirective;
224 - exports2.isIntersectionTypeAnnotation = isIntersectionTypeAnnotation;
225 - exports2.isJSX = isJSX;
226 - exports2.isJSXAttribute = isJSXAttribute;
227 - exports2.isJSXClosingElement = isJSXClosingElement;
228 - exports2.isJSXClosingFragment = isJSXClosingFragment;
229 - exports2.isJSXElement = isJSXElement;
230 - exports2.isJSXEmptyExpression = isJSXEmptyExpression;
231 - exports2.isJSXExpressionContainer = isJSXExpressionContainer;
232 - exports2.isJSXFragment = isJSXFragment;
233 - exports2.isJSXIdentifier = isJSXIdentifier;
234 - exports2.isJSXMemberExpression = isJSXMemberExpression;
235 - exports2.isJSXNamespacedName = isJSXNamespacedName;
236 - exports2.isJSXOpeningElement = isJSXOpeningElement;
237 - exports2.isJSXOpeningFragment = isJSXOpeningFragment;
238 - exports2.isJSXSpreadAttribute = isJSXSpreadAttribute;
239 - exports2.isJSXSpreadChild = isJSXSpreadChild;
240 - exports2.isJSXText = isJSXText;
241 - exports2.isLVal = isLVal;
242 - exports2.isLabeledStatement = isLabeledStatement;
243 - exports2.isLiteral = isLiteral;
244 - exports2.isLogicalExpression = isLogicalExpression;
245 - exports2.isLoop = isLoop;
246 - exports2.isMemberExpression = isMemberExpression;
247 - exports2.isMetaProperty = isMetaProperty;
248 - exports2.isMethod = isMethod;
249 - exports2.isMiscellaneous = isMiscellaneous;
250 - exports2.isMixedTypeAnnotation = isMixedTypeAnnotation;
251 - exports2.isModuleDeclaration = isModuleDeclaration;
252 - exports2.isModuleExpression = isModuleExpression;
253 - exports2.isModuleSpecifier = isModuleSpecifier;
254 - exports2.isNewExpression = isNewExpression;
255 - exports2.isNoop = isNoop;
256 - exports2.isNullLiteral = isNullLiteral;
257 - exports2.isNullLiteralTypeAnnotation = isNullLiteralTypeAnnotation;
258 - exports2.isNullableTypeAnnotation = isNullableTypeAnnotation;
259 - exports2.isNumberLiteral = isNumberLiteral;
260 - exports2.isNumberLiteralTypeAnnotation = isNumberLiteralTypeAnnotation;
261 - exports2.isNumberTypeAnnotation = isNumberTypeAnnotation;
262 - exports2.isNumericLiteral = isNumericLiteral;
263 - exports2.isObjectExpression = isObjectExpression;
264 - exports2.isObjectMember = isObjectMember;
265 - exports2.isObjectMethod = isObjectMethod;
266 - exports2.isObjectPattern = isObjectPattern;
267 - exports2.isObjectProperty = isObjectProperty;
268 - exports2.isObjectTypeAnnotation = isObjectTypeAnnotation;
269 - exports2.isObjectTypeCallProperty = isObjectTypeCallProperty;
270 - exports2.isObjectTypeIndexer = isObjectTypeIndexer;
271 - exports2.isObjectTypeInternalSlot = isObjectTypeInternalSlot;
272 - exports2.isObjectTypeProperty = isObjectTypeProperty;
273 - exports2.isObjectTypeSpreadProperty = isObjectTypeSpreadProperty;
274 - exports2.isOpaqueType = isOpaqueType;
275 - exports2.isOptionalCallExpression = isOptionalCallExpression;
276 - exports2.isOptionalIndexedAccessType = isOptionalIndexedAccessType;
277 - exports2.isOptionalMemberExpression = isOptionalMemberExpression;
278 - exports2.isParenthesizedExpression = isParenthesizedExpression;
279 - exports2.isPattern = isPattern;
280 - exports2.isPatternLike = isPatternLike;
281 - exports2.isPipelineBareFunction = isPipelineBareFunction;
282 - exports2.isPipelinePrimaryTopicReference = isPipelinePrimaryTopicReference;
283 - exports2.isPipelineTopicExpression = isPipelineTopicExpression;
284 - exports2.isPlaceholder = isPlaceholder;
285 - exports2.isPrivate = isPrivate;
286 - exports2.isPrivateName = isPrivateName;
287 - exports2.isProgram = isProgram;
288 - exports2.isProperty = isProperty;
289 - exports2.isPureish = isPureish;
290 - exports2.isQualifiedTypeIdentifier = isQualifiedTypeIdentifier;
291 - exports2.isRecordExpression = isRecordExpression;
292 - exports2.isRegExpLiteral = isRegExpLiteral;
293 - exports2.isRegexLiteral = isRegexLiteral;
294 - exports2.isRestElement = isRestElement;
295 - exports2.isRestProperty = isRestProperty;
296 - exports2.isReturnStatement = isReturnStatement;
297 - exports2.isScopable = isScopable;
298 - exports2.isSequenceExpression = isSequenceExpression;
299 - exports2.isSpreadElement = isSpreadElement;
300 - exports2.isSpreadProperty = isSpreadProperty;
301 - exports2.isStandardized = isStandardized;
302 - exports2.isStatement = isStatement;
303 - exports2.isStaticBlock = isStaticBlock;
304 - exports2.isStringLiteral = isStringLiteral;
305 - exports2.isStringLiteralTypeAnnotation = isStringLiteralTypeAnnotation;
306 - exports2.isStringTypeAnnotation = isStringTypeAnnotation;
307 - exports2.isSuper = isSuper;
308 - exports2.isSwitchCase = isSwitchCase;
309 - exports2.isSwitchStatement = isSwitchStatement;
310 - exports2.isSymbolTypeAnnotation = isSymbolTypeAnnotation;
311 - exports2.isTSAnyKeyword = isTSAnyKeyword;
312 - exports2.isTSArrayType = isTSArrayType;
313 - exports2.isTSAsExpression = isTSAsExpression;
314 - exports2.isTSBaseType = isTSBaseType;
315 - exports2.isTSBigIntKeyword = isTSBigIntKeyword;
316 - exports2.isTSBooleanKeyword = isTSBooleanKeyword;
317 - exports2.isTSCallSignatureDeclaration = isTSCallSignatureDeclaration;
318 - exports2.isTSConditionalType = isTSConditionalType;
319 - exports2.isTSConstructSignatureDeclaration = isTSConstructSignatureDeclaration;
320 - exports2.isTSConstructorType = isTSConstructorType;
321 - exports2.isTSDeclareFunction = isTSDeclareFunction;
322 - exports2.isTSDeclareMethod = isTSDeclareMethod;
323 - exports2.isTSEntityName = isTSEntityName;
324 - exports2.isTSEnumBody = isTSEnumBody;
325 - exports2.isTSEnumDeclaration = isTSEnumDeclaration;
326 - exports2.isTSEnumMember = isTSEnumMember;
327 - exports2.isTSExportAssignment = isTSExportAssignment;
328 - exports2.isTSExpressionWithTypeArguments = isTSExpressionWithTypeArguments;
329 - exports2.isTSExternalModuleReference = isTSExternalModuleReference;
330 - exports2.isTSFunctionType = isTSFunctionType;
331 - exports2.isTSImportEqualsDeclaration = isTSImportEqualsDeclaration;
332 - exports2.isTSImportType = isTSImportType;
333 - exports2.isTSIndexSignature = isTSIndexSignature;
334 - exports2.isTSIndexedAccessType = isTSIndexedAccessType;
335 - exports2.isTSInferType = isTSInferType;
336 - exports2.isTSInstantiationExpression = isTSInstantiationExpression;
337 - exports2.isTSInterfaceBody = isTSInterfaceBody;
338 - exports2.isTSInterfaceDeclaration = isTSInterfaceDeclaration;
339 - exports2.isTSIntersectionType = isTSIntersectionType;
340 - exports2.isTSIntrinsicKeyword = isTSIntrinsicKeyword;
341 - exports2.isTSLiteralType = isTSLiteralType;
342 - exports2.isTSMappedType = isTSMappedType;
343 - exports2.isTSMethodSignature = isTSMethodSignature;
344 - exports2.isTSModuleBlock = isTSModuleBlock;
345 - exports2.isTSModuleDeclaration = isTSModuleDeclaration;
346 - exports2.isTSNamedTupleMember = isTSNamedTupleMember;
347 - exports2.isTSNamespaceExportDeclaration = isTSNamespaceExportDeclaration;
348 - exports2.isTSNeverKeyword = isTSNeverKeyword;
349 - exports2.isTSNonNullExpression = isTSNonNullExpression;
350 - exports2.isTSNullKeyword = isTSNullKeyword;
351 - exports2.isTSNumberKeyword = isTSNumberKeyword;
352 - exports2.isTSObjectKeyword = isTSObjectKeyword;
353 - exports2.isTSOptionalType = isTSOptionalType;
354 - exports2.isTSParameterProperty = isTSParameterProperty;
355 - exports2.isTSParenthesizedType = isTSParenthesizedType;
356 - exports2.isTSPropertySignature = isTSPropertySignature;
357 - exports2.isTSQualifiedName = isTSQualifiedName;
358 - exports2.isTSRestType = isTSRestType;
359 - exports2.isTSSatisfiesExpression = isTSSatisfiesExpression;
360 - exports2.isTSStringKeyword = isTSStringKeyword;
361 - exports2.isTSSymbolKeyword = isTSSymbolKeyword;
362 - exports2.isTSTemplateLiteralType = isTSTemplateLiteralType;
363 - exports2.isTSThisType = isTSThisType;
364 - exports2.isTSTupleType = isTSTupleType;
365 - exports2.isTSType = isTSType;
366 - exports2.isTSTypeAliasDeclaration = isTSTypeAliasDeclaration;
367 - exports2.isTSTypeAnnotation = isTSTypeAnnotation;
368 - exports2.isTSTypeAssertion = isTSTypeAssertion;
369 - exports2.isTSTypeElement = isTSTypeElement;
370 - exports2.isTSTypeLiteral = isTSTypeLiteral;
371 - exports2.isTSTypeOperator = isTSTypeOperator;
372 - exports2.isTSTypeParameter = isTSTypeParameter;
373 - exports2.isTSTypeParameterDeclaration = isTSTypeParameterDeclaration;
374 - exports2.isTSTypeParameterInstantiation = isTSTypeParameterInstantiation;
375 - exports2.isTSTypePredicate = isTSTypePredicate;
376 - exports2.isTSTypeQuery = isTSTypeQuery;
377 - exports2.isTSTypeReference = isTSTypeReference;
378 - exports2.isTSUndefinedKeyword = isTSUndefinedKeyword;
379 - exports2.isTSUnionType = isTSUnionType;
380 - exports2.isTSUnknownKeyword = isTSUnknownKeyword;
381 - exports2.isTSVoidKeyword = isTSVoidKeyword;
382 - exports2.isTaggedTemplateExpression = isTaggedTemplateExpression;
383 - exports2.isTemplateElement = isTemplateElement;
384 - exports2.isTemplateLiteral = isTemplateLiteral;
385 - exports2.isTerminatorless = isTerminatorless;
386 - exports2.isThisExpression = isThisExpression;
387 - exports2.isThisTypeAnnotation = isThisTypeAnnotation;
388 - exports2.isThrowStatement = isThrowStatement;
389 - exports2.isTopicReference = isTopicReference;
390 - exports2.isTryStatement = isTryStatement;
391 - exports2.isTupleExpression = isTupleExpression;
392 - exports2.isTupleTypeAnnotation = isTupleTypeAnnotation;
393 - exports2.isTypeAlias = isTypeAlias;
394 - exports2.isTypeAnnotation = isTypeAnnotation;
395 - exports2.isTypeCastExpression = isTypeCastExpression;
396 - exports2.isTypeParameter = isTypeParameter;
397 - exports2.isTypeParameterDeclaration = isTypeParameterDeclaration;
398 - exports2.isTypeParameterInstantiation = isTypeParameterInstantiation;
399 - exports2.isTypeScript = isTypeScript2;
400 - exports2.isTypeofTypeAnnotation = isTypeofTypeAnnotation;
401 - exports2.isUnaryExpression = isUnaryExpression;
402 - exports2.isUnaryLike = isUnaryLike;
403 - exports2.isUnionTypeAnnotation = isUnionTypeAnnotation;
404 - exports2.isUpdateExpression = isUpdateExpression;
405 - exports2.isUserWhitespacable = isUserWhitespacable;
406 - exports2.isV8IntrinsicIdentifier = isV8IntrinsicIdentifier;
407 - exports2.isVariableDeclaration = isVariableDeclaration;
408 - exports2.isVariableDeclarator = isVariableDeclarator;
409 - exports2.isVariance = isVariance;
410 - exports2.isVoidPattern = isVoidPattern;
411 - exports2.isVoidTypeAnnotation = isVoidTypeAnnotation;
412 - exports2.isWhile = isWhile;
413 - exports2.isWhileStatement = isWhileStatement;
414 - exports2.isWithStatement = isWithStatement;
415 - exports2.isYieldExpression = isYieldExpression;
416 - var _shallowEqual = require_shallowEqual();
417 - var _deprecationWarning = require_deprecationWarning();
418 - function isArrayExpression(node, opts) {
419 - if (!node) return false;
420 - if (node.type !== "ArrayExpression") return false;
421 - return opts == null || (0, _shallowEqual.default)(node, opts);
422 - }
423 - function isAssignmentExpression(node, opts) {
424 - if (!node) return false;
425 - if (node.type !== "AssignmentExpression") return false;
426 - return opts == null || (0, _shallowEqual.default)(node, opts);
427 - }
428 - function isBinaryExpression(node, opts) {
429 - if (!node) return false;
430 - if (node.type !== "BinaryExpression") return false;
431 - return opts == null || (0, _shallowEqual.default)(node, opts);
432 - }
433 - function isInterpreterDirective(node, opts) {
434 - if (!node) return false;
435 - if (node.type !== "InterpreterDirective") return false;
436 - return opts == null || (0, _shallowEqual.default)(node, opts);
437 - }
438 - function isDirective(node, opts) {
439 - if (!node) return false;
440 - if (node.type !== "Directive") return false;
441 - return opts == null || (0, _shallowEqual.default)(node, opts);
442 - }
443 - function isDirectiveLiteral(node, opts) {
444 - if (!node) return false;
445 - if (node.type !== "DirectiveLiteral") return false;
446 - return opts == null || (0, _shallowEqual.default)(node, opts);
447 - }
448 - function isBlockStatement(node, opts) {
449 - if (!node) return false;
450 - if (node.type !== "BlockStatement") return false;
451 - return opts == null || (0, _shallowEqual.default)(node, opts);
452 - }
453 - function isBreakStatement(node, opts) {
454 - if (!node) return false;
455 - if (node.type !== "BreakStatement") return false;
456 - return opts == null || (0, _shallowEqual.default)(node, opts);
457 - }
458 - function isCallExpression(node, opts) {
459 - if (!node) return false;
460 - if (node.type !== "CallExpression") return false;
461 - return opts == null || (0, _shallowEqual.default)(node, opts);
462 - }
463 - function isCatchClause(node, opts) {
464 - if (!node) return false;
465 - if (node.type !== "CatchClause") return false;
466 - return opts == null || (0, _shallowEqual.default)(node, opts);
467 - }
468 - function isConditionalExpression(node, opts) {
469 - if (!node) return false;
470 - if (node.type !== "ConditionalExpression") return false;
471 - return opts == null || (0, _shallowEqual.default)(node, opts);
472 - }
473 - function isContinueStatement(node, opts) {
474 - if (!node) return false;
475 - if (node.type !== "ContinueStatement") return false;
476 - return opts == null || (0, _shallowEqual.default)(node, opts);
477 - }
478 - function isDebuggerStatement(node, opts) {
479 - if (!node) return false;
480 - if (node.type !== "DebuggerStatement") return false;
481 - return opts == null || (0, _shallowEqual.default)(node, opts);
482 - }
483 - function isDoWhileStatement(node, opts) {
484 - if (!node) return false;
485 - if (node.type !== "DoWhileStatement") return false;
486 - return opts == null || (0, _shallowEqual.default)(node, opts);
487 - }
488 - function isEmptyStatement(node, opts) {
489 - if (!node) return false;
490 - if (node.type !== "EmptyStatement") return false;
491 - return opts == null || (0, _shallowEqual.default)(node, opts);
492 - }
493 - function isExpressionStatement(node, opts) {
494 - if (!node) return false;
495 - if (node.type !== "ExpressionStatement") return false;
496 - return opts == null || (0, _shallowEqual.default)(node, opts);
497 - }
498 - function isFile(node, opts) {
499 - if (!node) return false;
500 - if (node.type !== "File") return false;
501 - return opts == null || (0, _shallowEqual.default)(node, opts);
502 - }
503 - function isForInStatement(node, opts) {
504 - if (!node) return false;
505 - if (node.type !== "ForInStatement") return false;
506 - return opts == null || (0, _shallowEqual.default)(node, opts);
507 - }
508 - function isForStatement(node, opts) {
509 - if (!node) return false;
510 - if (node.type !== "ForStatement") return false;
511 - return opts == null || (0, _shallowEqual.default)(node, opts);
512 - }
513 - function isFunctionDeclaration(node, opts) {
514 - if (!node) return false;
515 - if (node.type !== "FunctionDeclaration") return false;
516 - return opts == null || (0, _shallowEqual.default)(node, opts);
517 - }
518 - function isFunctionExpression(node, opts) {
519 - if (!node) return false;
520 - if (node.type !== "FunctionExpression") return false;
521 - return opts == null || (0, _shallowEqual.default)(node, opts);
522 - }
523 - function isIdentifier(node, opts) {
524 - if (!node) return false;
525 - if (node.type !== "Identifier") return false;
526 - return opts == null || (0, _shallowEqual.default)(node, opts);
527 - }
528 - function isIfStatement(node, opts) {
529 - if (!node) return false;
530 - if (node.type !== "IfStatement") return false;
531 - return opts == null || (0, _shallowEqual.default)(node, opts);
532 - }
533 - function isLabeledStatement(node, opts) {
534 - if (!node) return false;
535 - if (node.type !== "LabeledStatement") return false;
536 - return opts == null || (0, _shallowEqual.default)(node, opts);
537 - }
538 - function isStringLiteral(node, opts) {
539 - if (!node) return false;
540 - if (node.type !== "StringLiteral") return false;
541 - return opts == null || (0, _shallowEqual.default)(node, opts);
542 - }
543 - function isNumericLiteral(node, opts) {
544 - if (!node) return false;
545 - if (node.type !== "NumericLiteral") return false;
546 - return opts == null || (0, _shallowEqual.default)(node, opts);
547 - }
548 - function isNullLiteral(node, opts) {
549 - if (!node) return false;
550 - if (node.type !== "NullLiteral") return false;
551 - return opts == null || (0, _shallowEqual.default)(node, opts);
552 - }
553 - function isBooleanLiteral(node, opts) {
554 - if (!node) return false;
555 - if (node.type !== "BooleanLiteral") return false;
556 - return opts == null || (0, _shallowEqual.default)(node, opts);
557 - }
558 - function isRegExpLiteral(node, opts) {
559 - if (!node) return false;
560 - if (node.type !== "RegExpLiteral") return false;
561 - return opts == null || (0, _shallowEqual.default)(node, opts);
562 - }
563 - function isLogicalExpression(node, opts) {
564 - if (!node) return false;
565 - if (node.type !== "LogicalExpression") return false;
566 - return opts == null || (0, _shallowEqual.default)(node, opts);
567 - }
568 - function isMemberExpression(node, opts) {
569 - if (!node) return false;
570 - if (node.type !== "MemberExpression") return false;
571 - return opts == null || (0, _shallowEqual.default)(node, opts);
572 - }
573 - function isNewExpression(node, opts) {
574 - if (!node) return false;
575 - if (node.type !== "NewExpression") return false;
576 - return opts == null || (0, _shallowEqual.default)(node, opts);
577 - }
578 - function isProgram(node, opts) {
579 - if (!node) return false;
580 - if (node.type !== "Program") return false;
581 - return opts == null || (0, _shallowEqual.default)(node, opts);
582 - }
583 - function isObjectExpression(node, opts) {
584 - if (!node) return false;
585 - if (node.type !== "ObjectExpression") return false;
586 - return opts == null || (0, _shallowEqual.default)(node, opts);
587 - }
588 - function isObjectMethod(node, opts) {
589 - if (!node) return false;
590 - if (node.type !== "ObjectMethod") return false;
591 - return opts == null || (0, _shallowEqual.default)(node, opts);
592 - }
593 - function isObjectProperty(node, opts) {
594 - if (!node) return false;
595 - if (node.type !== "ObjectProperty") return false;
596 - return opts == null || (0, _shallowEqual.default)(node, opts);
597 - }
598 - function isRestElement(node, opts) {
599 - if (!node) return false;
600 - if (node.type !== "RestElement") return false;
601 - return opts == null || (0, _shallowEqual.default)(node, opts);
602 - }
603 - function isReturnStatement(node, opts) {
604 - if (!node) return false;
605 - if (node.type !== "ReturnStatement") return false;
606 - return opts == null || (0, _shallowEqual.default)(node, opts);
607 - }
608 - function isSequenceExpression(node, opts) {
609 - if (!node) return false;
610 - if (node.type !== "SequenceExpression") return false;
611 - return opts == null || (0, _shallowEqual.default)(node, opts);
612 - }
613 - function isParenthesizedExpression(node, opts) {
614 - if (!node) return false;
615 - if (node.type !== "ParenthesizedExpression") return false;
616 - return opts == null || (0, _shallowEqual.default)(node, opts);
617 - }
618 - function isSwitchCase(node, opts) {
619 - if (!node) return false;
620 - if (node.type !== "SwitchCase") return false;
621 - return opts == null || (0, _shallowEqual.default)(node, opts);
622 - }
623 - function isSwitchStatement(node, opts) {
624 - if (!node) return false;
625 - if (node.type !== "SwitchStatement") return false;
626 - return opts == null || (0, _shallowEqual.default)(node, opts);
627 - }
628 - function isThisExpression(node, opts) {
629 - if (!node) return false;
630 - if (node.type !== "ThisExpression") return false;
631 - return opts == null || (0, _shallowEqual.default)(node, opts);
632 - }
633 - function isThrowStatement(node, opts) {
634 - if (!node) return false;
635 - if (node.type !== "ThrowStatement") return false;
636 - return opts == null || (0, _shallowEqual.default)(node, opts);
637 - }
638 - function isTryStatement(node, opts) {
639 - if (!node) return false;
640 - if (node.type !== "TryStatement") return false;
641 - return opts == null || (0, _shallowEqual.default)(node, opts);
642 - }
643 - function isUnaryExpression(node, opts) {
644 - if (!node) return false;
645 - if (node.type !== "UnaryExpression") return false;
646 - return opts == null || (0, _shallowEqual.default)(node, opts);
647 - }
648 - function isUpdateExpression(node, opts) {
649 - if (!node) return false;
650 - if (node.type !== "UpdateExpression") return false;
651 - return opts == null || (0, _shallowEqual.default)(node, opts);
652 - }
653 - function isVariableDeclaration(node, opts) {
654 - if (!node) return false;
655 - if (node.type !== "VariableDeclaration") return false;
656 - return opts == null || (0, _shallowEqual.default)(node, opts);
657 - }
658 - function isVariableDeclarator(node, opts) {
659 - if (!node) return false;
660 - if (node.type !== "VariableDeclarator") return false;
661 - return opts == null || (0, _shallowEqual.default)(node, opts);
662 - }
663 - function isWhileStatement(node, opts) {
664 - if (!node) return false;
665 - if (node.type !== "WhileStatement") return false;
666 - return opts == null || (0, _shallowEqual.default)(node, opts);
667 - }
668 - function isWithStatement(node, opts) {
669 - if (!node) return false;
670 - if (node.type !== "WithStatement") return false;
671 - return opts == null || (0, _shallowEqual.default)(node, opts);
672 - }
673 - function isAssignmentPattern(node, opts) {
674 - if (!node) return false;
675 - if (node.type !== "AssignmentPattern") return false;
676 - return opts == null || (0, _shallowEqual.default)(node, opts);
677 - }
678 - function isArrayPattern(node, opts) {
679 - if (!node) return false;
680 - if (node.type !== "ArrayPattern") return false;
681 - return opts == null || (0, _shallowEqual.default)(node, opts);
682 - }
683 - function isArrowFunctionExpression(node, opts) {
684 - if (!node) return false;
685 - if (node.type !== "ArrowFunctionExpression") return false;
686 - return opts == null || (0, _shallowEqual.default)(node, opts);
687 - }
688 - function isClassBody(node, opts) {
689 - if (!node) return false;
690 - if (node.type !== "ClassBody") return false;
691 - return opts == null || (0, _shallowEqual.default)(node, opts);
692 - }
693 - function isClassExpression(node, opts) {
694 - if (!node) return false;
695 - if (node.type !== "ClassExpression") return false;
696 - return opts == null || (0, _shallowEqual.default)(node, opts);
697 - }
698 - function isClassDeclaration(node, opts) {
699 - if (!node) return false;
700 - if (node.type !== "ClassDeclaration") return false;
701 - return opts == null || (0, _shallowEqual.default)(node, opts);
702 - }
703 - function isExportAllDeclaration(node, opts) {
704 - if (!node) return false;
705 - if (node.type !== "ExportAllDeclaration") return false;
706 - return opts == null || (0, _shallowEqual.default)(node, opts);
707 - }
708 - function isExportDefaultDeclaration(node, opts) {
709 - if (!node) return false;
710 - if (node.type !== "ExportDefaultDeclaration") return false;
711 - return opts == null || (0, _shallowEqual.default)(node, opts);
712 - }
713 - function isExportNamedDeclaration(node, opts) {
714 - if (!node) return false;
715 - if (node.type !== "ExportNamedDeclaration") return false;
716 - return opts == null || (0, _shallowEqual.default)(node, opts);
717 - }
718 - function isExportSpecifier(node, opts) {
719 - if (!node) return false;
720 - if (node.type !== "ExportSpecifier") return false;
721 - return opts == null || (0, _shallowEqual.default)(node, opts);
722 - }
723 - function isForOfStatement(node, opts) {
724 - if (!node) return false;
725 - if (node.type !== "ForOfStatement") return false;
726 - return opts == null || (0, _shallowEqual.default)(node, opts);
727 - }
728 - function isImportDeclaration(node, opts) {
729 - if (!node) return false;
730 - if (node.type !== "ImportDeclaration") return false;
731 - return opts == null || (0, _shallowEqual.default)(node, opts);
732 - }
733 - function isImportDefaultSpecifier(node, opts) {
734 - if (!node) return false;
735 - if (node.type !== "ImportDefaultSpecifier") return false;
736 - return opts == null || (0, _shallowEqual.default)(node, opts);
737 - }
738 - function isImportNamespaceSpecifier(node, opts) {
739 - if (!node) return false;
740 - if (node.type !== "ImportNamespaceSpecifier") return false;
741 - return opts == null || (0, _shallowEqual.default)(node, opts);
742 - }
743 - function isImportSpecifier(node, opts) {
744 - if (!node) return false;
745 - if (node.type !== "ImportSpecifier") return false;
746 - return opts == null || (0, _shallowEqual.default)(node, opts);
747 - }
748 - function isImportExpression(node, opts) {
749 - if (!node) return false;
750 - if (node.type !== "ImportExpression") return false;
751 - return opts == null || (0, _shallowEqual.default)(node, opts);
752 - }
753 - function isMetaProperty(node, opts) {
754 - if (!node) return false;
755 - if (node.type !== "MetaProperty") return false;
756 - return opts == null || (0, _shallowEqual.default)(node, opts);
757 - }
758 - function isClassMethod(node, opts) {
759 - if (!node) return false;
760 - if (node.type !== "ClassMethod") return false;
761 - return opts == null || (0, _shallowEqual.default)(node, opts);
762 - }
763 - function isObjectPattern(node, opts) {
764 - if (!node) return false;
765 - if (node.type !== "ObjectPattern") return false;
766 - return opts == null || (0, _shallowEqual.default)(node, opts);
767 - }
768 - function isSpreadElement(node, opts) {
769 - if (!node) return false;
770 - if (node.type !== "SpreadElement") return false;
771 - return opts == null || (0, _shallowEqual.default)(node, opts);
772 - }
773 - function isSuper(node, opts) {
774 - if (!node) return false;
775 - if (node.type !== "Super") return false;
776 - return opts == null || (0, _shallowEqual.default)(node, opts);
777 - }
778 - function isTaggedTemplateExpression(node, opts) {
779 - if (!node) return false;
780 - if (node.type !== "TaggedTemplateExpression") return false;
781 - return opts == null || (0, _shallowEqual.default)(node, opts);
782 - }
783 - function isTemplateElement(node, opts) {
784 - if (!node) return false;
785 - if (node.type !== "TemplateElement") return false;
786 - return opts == null || (0, _shallowEqual.default)(node, opts);
787 - }
788 - function isTemplateLiteral(node, opts) {
789 - if (!node) return false;
790 - if (node.type !== "TemplateLiteral") return false;
791 - return opts == null || (0, _shallowEqual.default)(node, opts);
792 - }
793 - function isYieldExpression(node, opts) {
794 - if (!node) return false;
795 - if (node.type !== "YieldExpression") return false;
796 - return opts == null || (0, _shallowEqual.default)(node, opts);
797 - }
798 - function isAwaitExpression(node, opts) {
799 - if (!node) return false;
800 - if (node.type !== "AwaitExpression") return false;
801 - return opts == null || (0, _shallowEqual.default)(node, opts);
802 - }
803 - function isImport(node, opts) {
804 - if (!node) return false;
805 - if (node.type !== "Import") return false;
806 - return opts == null || (0, _shallowEqual.default)(node, opts);
807 - }
808 - function isBigIntLiteral(node, opts) {
809 - if (!node) return false;
810 - if (node.type !== "BigIntLiteral") return false;
811 - return opts == null || (0, _shallowEqual.default)(node, opts);
812 - }
813 - function isExportNamespaceSpecifier(node, opts) {
814 - if (!node) return false;
815 - if (node.type !== "ExportNamespaceSpecifier") return false;
816 - return opts == null || (0, _shallowEqual.default)(node, opts);
817 - }
818 - function isOptionalMemberExpression(node, opts) {
819 - if (!node) return false;
820 - if (node.type !== "OptionalMemberExpression") return false;
821 - return opts == null || (0, _shallowEqual.default)(node, opts);
822 - }
823 - function isOptionalCallExpression(node, opts) {
824 - if (!node) return false;
825 - if (node.type !== "OptionalCallExpression") return false;
826 - return opts == null || (0, _shallowEqual.default)(node, opts);
827 - }
828 - function isClassProperty(node, opts) {
829 - if (!node) return false;
830 - if (node.type !== "ClassProperty") return false;
831 - return opts == null || (0, _shallowEqual.default)(node, opts);
832 - }
833 - function isClassAccessorProperty(node, opts) {
834 - if (!node) return false;
835 - if (node.type !== "ClassAccessorProperty") return false;
836 - return opts == null || (0, _shallowEqual.default)(node, opts);
837 - }
838 - function isClassPrivateProperty(node, opts) {
839 - if (!node) return false;
840 - if (node.type !== "ClassPrivateProperty") return false;
841 - return opts == null || (0, _shallowEqual.default)(node, opts);
842 - }
843 - function isClassPrivateMethod(node, opts) {
844 - if (!node) return false;
845 - if (node.type !== "ClassPrivateMethod") return false;
846 - return opts == null || (0, _shallowEqual.default)(node, opts);
847 - }
848 - function isPrivateName(node, opts) {
849 - if (!node) return false;
850 - if (node.type !== "PrivateName") return false;
851 - return opts == null || (0, _shallowEqual.default)(node, opts);
852 - }
853 - function isStaticBlock(node, opts) {
854 - if (!node) return false;
855 - if (node.type !== "StaticBlock") return false;
856 - return opts == null || (0, _shallowEqual.default)(node, opts);
857 - }
858 - function isImportAttribute(node, opts) {
859 - if (!node) return false;
860 - if (node.type !== "ImportAttribute") return false;
861 - return opts == null || (0, _shallowEqual.default)(node, opts);
862 - }
863 - function isAnyTypeAnnotation(node, opts) {
864 - if (!node) return false;
865 - if (node.type !== "AnyTypeAnnotation") return false;
866 - return opts == null || (0, _shallowEqual.default)(node, opts);
867 - }
868 - function isArrayTypeAnnotation(node, opts) {
869 - if (!node) return false;
870 - if (node.type !== "ArrayTypeAnnotation") return false;
871 - return opts == null || (0, _shallowEqual.default)(node, opts);
872 - }
873 - function isBooleanTypeAnnotation(node, opts) {
874 - if (!node) return false;
875 - if (node.type !== "BooleanTypeAnnotation") return false;
876 - return opts == null || (0, _shallowEqual.default)(node, opts);
877 - }
878 - function isBooleanLiteralTypeAnnotation(node, opts) {
879 - if (!node) return false;
880 - if (node.type !== "BooleanLiteralTypeAnnotation") return false;
881 - return opts == null || (0, _shallowEqual.default)(node, opts);
882 - }
883 - function isNullLiteralTypeAnnotation(node, opts) {
884 - if (!node) return false;
885 - if (node.type !== "NullLiteralTypeAnnotation") return false;
886 - return opts == null || (0, _shallowEqual.default)(node, opts);
887 - }
888 - function isClassImplements(node, opts) {
889 - if (!node) return false;
890 - if (node.type !== "ClassImplements") return false;
891 - return opts == null || (0, _shallowEqual.default)(node, opts);
892 - }
893 - function isDeclareClass(node, opts) {
894 - if (!node) return false;
895 - if (node.type !== "DeclareClass") return false;
896 - return opts == null || (0, _shallowEqual.default)(node, opts);
897 - }
898 - function isDeclareFunction(node, opts) {
899 - if (!node) return false;
900 - if (node.type !== "DeclareFunction") return false;
901 - return opts == null || (0, _shallowEqual.default)(node, opts);
902 - }
903 - function isDeclareInterface(node, opts) {
904 - if (!node) return false;
905 - if (node.type !== "DeclareInterface") return false;
906 - return opts == null || (0, _shallowEqual.default)(node, opts);
907 - }
908 - function isDeclareModule(node, opts) {
909 - if (!node) return false;
910 - if (node.type !== "DeclareModule") return false;
911 - return opts == null || (0, _shallowEqual.default)(node, opts);
912 - }
913 - function isDeclareModuleExports(node, opts) {
914 - if (!node) return false;
915 - if (node.type !== "DeclareModuleExports") return false;
916 - return opts == null || (0, _shallowEqual.default)(node, opts);
917 - }
918 - function isDeclareTypeAlias(node, opts) {
919 - if (!node) return false;
920 - if (node.type !== "DeclareTypeAlias") return false;
921 - return opts == null || (0, _shallowEqual.default)(node, opts);
922 - }
923 - function isDeclareOpaqueType(node, opts) {
924 - if (!node) return false;
925 - if (node.type !== "DeclareOpaqueType") return false;
926 - return opts == null || (0, _shallowEqual.default)(node, opts);
927 - }
928 - function isDeclareVariable(node, opts) {
929 - if (!node) return false;
930 - if (node.type !== "DeclareVariable") return false;
931 - return opts == null || (0, _shallowEqual.default)(node, opts);
932 - }
933 - function isDeclareExportDeclaration(node, opts) {
934 - if (!node) return false;
935 - if (node.type !== "DeclareExportDeclaration") return false;
936 - return opts == null || (0, _shallowEqual.default)(node, opts);
937 - }
938 - function isDeclareExportAllDeclaration(node, opts) {
939 - if (!node) return false;
940 - if (node.type !== "DeclareExportAllDeclaration") return false;
941 - return opts == null || (0, _shallowEqual.default)(node, opts);
942 - }
943 - function isDeclaredPredicate(node, opts) {
944 - if (!node) return false;
945 - if (node.type !== "DeclaredPredicate") return false;
946 - return opts == null || (0, _shallowEqual.default)(node, opts);
947 - }
948 - function isExistsTypeAnnotation(node, opts) {
949 - if (!node) return false;
950 - if (node.type !== "ExistsTypeAnnotation") return false;
951 - return opts == null || (0, _shallowEqual.default)(node, opts);
952 - }
953 - function isFunctionTypeAnnotation(node, opts) {
954 - if (!node) return false;
955 - if (node.type !== "FunctionTypeAnnotation") return false;
956 - return opts == null || (0, _shallowEqual.default)(node, opts);
957 - }
958 - function isFunctionTypeParam(node, opts) {
959 - if (!node) return false;
960 - if (node.type !== "FunctionTypeParam") return false;
961 - return opts == null || (0, _shallowEqual.default)(node, opts);
962 - }
963 - function isGenericTypeAnnotation(node, opts) {
964 - if (!node) return false;
965 - if (node.type !== "GenericTypeAnnotation") return false;
966 - return opts == null || (0, _shallowEqual.default)(node, opts);
967 - }
968 - function isInferredPredicate(node, opts) {
969 - if (!node) return false;
970 - if (node.type !== "InferredPredicate") return false;
971 - return opts == null || (0, _shallowEqual.default)(node, opts);
972 - }
973 - function isInterfaceExtends(node, opts) {
974 - if (!node) return false;
975 - if (node.type !== "InterfaceExtends") return false;
976 - return opts == null || (0, _shallowEqual.default)(node, opts);
977 - }
978 - function isInterfaceDeclaration(node, opts) {
979 - if (!node) return false;
980 - if (node.type !== "InterfaceDeclaration") return false;
981 - return opts == null || (0, _shallowEqual.default)(node, opts);
982 - }
983 - function isInterfaceTypeAnnotation(node, opts) {
984 - if (!node) return false;
985 - if (node.type !== "InterfaceTypeAnnotation") return false;
986 - return opts == null || (0, _shallowEqual.default)(node, opts);
987 - }
988 - function isIntersectionTypeAnnotation(node, opts) {
989 - if (!node) return false;
990 - if (node.type !== "IntersectionTypeAnnotation") return false;
991 - return opts == null || (0, _shallowEqual.default)(node, opts);
992 - }
993 - function isMixedTypeAnnotation(node, opts) {
994 - if (!node) return false;
995 - if (node.type !== "MixedTypeAnnotation") return false;
996 - return opts == null || (0, _shallowEqual.default)(node, opts);
997 - }
998 - function isEmptyTypeAnnotation(node, opts) {
999 - if (!node) return false;
1000 - if (node.type !== "EmptyTypeAnnotation") return false;
1001 - return opts == null || (0, _shallowEqual.default)(node, opts);
1002 - }
1003 - function isNullableTypeAnnotation(node, opts) {
1004 - if (!node) return false;
1005 - if (node.type !== "NullableTypeAnnotation") return false;
1006 - return opts == null || (0, _shallowEqual.default)(node, opts);
1007 - }
1008 - function isNumberLiteralTypeAnnotation(node, opts) {
1009 - if (!node) return false;
1010 - if (node.type !== "NumberLiteralTypeAnnotation") return false;
1011 - return opts == null || (0, _shallowEqual.default)(node, opts);
1012 - }
1013 - function isNumberTypeAnnotation(node, opts) {
1014 - if (!node) return false;
1015 - if (node.type !== "NumberTypeAnnotation") return false;
1016 - return opts == null || (0, _shallowEqual.default)(node, opts);
1017 - }
1018 - function isObjectTypeAnnotation(node, opts) {
1019 - if (!node) return false;
1020 - if (node.type !== "ObjectTypeAnnotation") return false;
1021 - return opts == null || (0, _shallowEqual.default)(node, opts);
1022 - }
1023 - function isObjectTypeInternalSlot(node, opts) {
1024 - if (!node) return false;
1025 - if (node.type !== "ObjectTypeInternalSlot") return false;
1026 - return opts == null || (0, _shallowEqual.default)(node, opts);
1027 - }
1028 - function isObjectTypeCallProperty(node, opts) {
1029 - if (!node) return false;
1030 - if (node.type !== "ObjectTypeCallProperty") return false;
1031 - return opts == null || (0, _shallowEqual.default)(node, opts);
1032 - }
1033 - function isObjectTypeIndexer(node, opts) {
1034 - if (!node) return false;
1035 - if (node.type !== "ObjectTypeIndexer") return false;
1036 - return opts == null || (0, _shallowEqual.default)(node, opts);
1037 - }
1038 - function isObjectTypeProperty(node, opts) {
1039 - if (!node) return false;
1040 - if (node.type !== "ObjectTypeProperty") return false;
1041 - return opts == null || (0, _shallowEqual.default)(node, opts);
1042 - }
1043 - function isObjectTypeSpreadProperty(node, opts) {
1044 - if (!node) return false;
1045 - if (node.type !== "ObjectTypeSpreadProperty") return false;
1046 - return opts == null || (0, _shallowEqual.default)(node, opts);
1047 - }
1048 - function isOpaqueType(node, opts) {
1049 - if (!node) return false;
1050 - if (node.type !== "OpaqueType") return false;
1051 - return opts == null || (0, _shallowEqual.default)(node, opts);
1052 - }
1053 - function isQualifiedTypeIdentifier(node, opts) {
1054 - if (!node) return false;
1055 - if (node.type !== "QualifiedTypeIdentifier") return false;
1056 - return opts == null || (0, _shallowEqual.default)(node, opts);
1057 - }
1058 - function isStringLiteralTypeAnnotation(node, opts) {
1059 - if (!node) return false;
1060 - if (node.type !== "StringLiteralTypeAnnotation") return false;
1061 - return opts == null || (0, _shallowEqual.default)(node, opts);
1062 - }
1063 - function isStringTypeAnnotation(node, opts) {
1064 - if (!node) return false;
1065 - if (node.type !== "StringTypeAnnotation") return false;
1066 - return opts == null || (0, _shallowEqual.default)(node, opts);
1067 - }
1068 - function isSymbolTypeAnnotation(node, opts) {
1069 - if (!node) return false;
1070 - if (node.type !== "SymbolTypeAnnotation") return false;
1071 - return opts == null || (0, _shallowEqual.default)(node, opts);
1072 - }
1073 - function isThisTypeAnnotation(node, opts) {
1074 - if (!node) return false;
1075 - if (node.type !== "ThisTypeAnnotation") return false;
1076 - return opts == null || (0, _shallowEqual.default)(node, opts);
1077 - }
1078 - function isTupleTypeAnnotation(node, opts) {
1079 - if (!node) return false;
1080 - if (node.type !== "TupleTypeAnnotation") return false;
1081 - return opts == null || (0, _shallowEqual.default)(node, opts);
1082 - }
1083 - function isTypeofTypeAnnotation(node, opts) {
1084 - if (!node) return false;
1085 - if (node.type !== "TypeofTypeAnnotation") return false;
1086 - return opts == null || (0, _shallowEqual.default)(node, opts);
1087 - }
1088 - function isTypeAlias(node, opts) {
1089 - if (!node) return false;
1090 - if (node.type !== "TypeAlias") return false;
1091 - return opts == null || (0, _shallowEqual.default)(node, opts);
1092 - }
1093 - function isTypeAnnotation(node, opts) {
1094 - if (!node) return false;
1095 - if (node.type !== "TypeAnnotation") return false;
1096 - return opts == null || (0, _shallowEqual.default)(node, opts);
1097 - }
1098 - function isTypeCastExpression(node, opts) {
1099 - if (!node) return false;
1100 - if (node.type !== "TypeCastExpression") return false;
1101 - return opts == null || (0, _shallowEqual.default)(node, opts);
1102 - }
1103 - function isTypeParameter(node, opts) {
1104 - if (!node) return false;
1105 - if (node.type !== "TypeParameter") return false;
1106 - return opts == null || (0, _shallowEqual.default)(node, opts);
1107 - }
1108 - function isTypeParameterDeclaration(node, opts) {
1109 - if (!node) return false;
1110 - if (node.type !== "TypeParameterDeclaration") return false;
1111 - return opts == null || (0, _shallowEqual.default)(node, opts);
1112 - }
1113 - function isTypeParameterInstantiation(node, opts) {
1114 - if (!node) return false;
1115 - if (node.type !== "TypeParameterInstantiation") return false;
1116 - return opts == null || (0, _shallowEqual.default)(node, opts);
1117 - }
1118 - function isUnionTypeAnnotation(node, opts) {
1119 - if (!node) return false;
1120 - if (node.type !== "UnionTypeAnnotation") return false;
1121 - return opts == null || (0, _shallowEqual.default)(node, opts);
1122 - }
1123 - function isVariance(node, opts) {
1124 - if (!node) return false;
1125 - if (node.type !== "Variance") return false;
1126 - return opts == null || (0, _shallowEqual.default)(node, opts);
1127 - }
1128 - function isVoidTypeAnnotation(node, opts) {
1129 - if (!node) return false;
1130 - if (node.type !== "VoidTypeAnnotation") return false;
1131 - return opts == null || (0, _shallowEqual.default)(node, opts);
1132 - }
1133 - function isEnumDeclaration(node, opts) {
1134 - if (!node) return false;
1135 - if (node.type !== "EnumDeclaration") return false;
1136 - return opts == null || (0, _shallowEqual.default)(node, opts);
1137 - }
1138 - function isEnumBooleanBody(node, opts) {
1139 - if (!node) return false;
1140 - if (node.type !== "EnumBooleanBody") return false;
1141 - return opts == null || (0, _shallowEqual.default)(node, opts);
1142 - }
1143 - function isEnumNumberBody(node, opts) {
1144 - if (!node) return false;
1145 - if (node.type !== "EnumNumberBody") return false;
1146 - return opts == null || (0, _shallowEqual.default)(node, opts);
1147 - }
1148 - function isEnumStringBody(node, opts) {
1149 - if (!node) return false;
1150 - if (node.type !== "EnumStringBody") return false;
1151 - return opts == null || (0, _shallowEqual.default)(node, opts);
1152 - }
1153 - function isEnumSymbolBody(node, opts) {
1154 - if (!node) return false;
1155 - if (node.type !== "EnumSymbolBody") return false;
1156 - return opts == null || (0, _shallowEqual.default)(node, opts);
1157 - }
1158 - function isEnumBooleanMember(node, opts) {
1159 - if (!node) return false;
1160 - if (node.type !== "EnumBooleanMember") return false;
1161 - return opts == null || (0, _shallowEqual.default)(node, opts);
1162 - }
1163 - function isEnumNumberMember(node, opts) {
1164 - if (!node) return false;
1165 - if (node.type !== "EnumNumberMember") return false;
1166 - return opts == null || (0, _shallowEqual.default)(node, opts);
1167 - }
1168 - function isEnumStringMember(node, opts) {
1169 - if (!node) return false;
1170 - if (node.type !== "EnumStringMember") return false;
1171 - return opts == null || (0, _shallowEqual.default)(node, opts);
1172 - }
1173 - function isEnumDefaultedMember(node, opts) {
1174 - if (!node) return false;
1175 - if (node.type !== "EnumDefaultedMember") return false;
1176 - return opts == null || (0, _shallowEqual.default)(node, opts);
1177 - }
1178 - function isIndexedAccessType(node, opts) {
1179 - if (!node) return false;
1180 - if (node.type !== "IndexedAccessType") return false;
1181 - return opts == null || (0, _shallowEqual.default)(node, opts);
1182 - }
1183 - function isOptionalIndexedAccessType(node, opts) {
1184 - if (!node) return false;
1185 - if (node.type !== "OptionalIndexedAccessType") return false;
1186 - return opts == null || (0, _shallowEqual.default)(node, opts);
1187 - }
1188 - function isJSXAttribute(node, opts) {
1189 - if (!node) return false;
1190 - if (node.type !== "JSXAttribute") return false;
1191 - return opts == null || (0, _shallowEqual.default)(node, opts);
1192 - }
1193 - function isJSXClosingElement(node, opts) {
1194 - if (!node) return false;
1195 - if (node.type !== "JSXClosingElement") return false;
1196 - return opts == null || (0, _shallowEqual.default)(node, opts);
1197 - }
1198 - function isJSXElement(node, opts) {
1199 - if (!node) return false;
1200 - if (node.type !== "JSXElement") return false;
1201 - return opts == null || (0, _shallowEqual.default)(node, opts);
1202 - }
1203 - function isJSXEmptyExpression(node, opts) {
1204 - if (!node) return false;
1205 - if (node.type !== "JSXEmptyExpression") return false;
1206 - return opts == null || (0, _shallowEqual.default)(node, opts);
1207 - }
1208 - function isJSXExpressionContainer(node, opts) {
1209 - if (!node) return false;
1210 - if (node.type !== "JSXExpressionContainer") return false;
1211 - return opts == null || (0, _shallowEqual.default)(node, opts);
1212 - }
1213 - function isJSXSpreadChild(node, opts) {
1214 - if (!node) return false;
1215 - if (node.type !== "JSXSpreadChild") return false;
1216 - return opts == null || (0, _shallowEqual.default)(node, opts);
1217 - }
1218 - function isJSXIdentifier(node, opts) {
1219 - if (!node) return false;
1220 - if (node.type !== "JSXIdentifier") return false;
1221 - return opts == null || (0, _shallowEqual.default)(node, opts);
1222 - }
1223 - function isJSXMemberExpression(node, opts) {
1224 - if (!node) return false;
1225 - if (node.type !== "JSXMemberExpression") return false;
1226 - return opts == null || (0, _shallowEqual.default)(node, opts);
1227 - }
1228 - function isJSXNamespacedName(node, opts) {
1229 - if (!node) return false;
1230 - if (node.type !== "JSXNamespacedName") return false;
1231 - return opts == null || (0, _shallowEqual.default)(node, opts);
1232 - }
1233 - function isJSXOpeningElement(node, opts) {
1234 - if (!node) return false;
1235 - if (node.type !== "JSXOpeningElement") return false;
1236 - return opts == null || (0, _shallowEqual.default)(node, opts);
1237 - }
1238 - function isJSXSpreadAttribute(node, opts) {
1239 - if (!node) return false;
1240 - if (node.type !== "JSXSpreadAttribute") return false;
1241 - return opts == null || (0, _shallowEqual.default)(node, opts);
1242 - }
1243 - function isJSXText(node, opts) {
1244 - if (!node) return false;
1245 - if (node.type !== "JSXText") return false;
1246 - return opts == null || (0, _shallowEqual.default)(node, opts);
1247 - }
1248 - function isJSXFragment(node, opts) {
1249 - if (!node) return false;
1250 - if (node.type !== "JSXFragment") return false;
1251 - return opts == null || (0, _shallowEqual.default)(node, opts);
1252 - }
1253 - function isJSXOpeningFragment(node, opts) {
1254 - if (!node) return false;
1255 - if (node.type !== "JSXOpeningFragment") return false;
1256 - return opts == null || (0, _shallowEqual.default)(node, opts);
1257 - }
1258 - function isJSXClosingFragment(node, opts) {
1259 - if (!node) return false;
1260 - if (node.type !== "JSXClosingFragment") return false;
1261 - return opts == null || (0, _shallowEqual.default)(node, opts);
1262 - }
1263 - function isNoop(node, opts) {
1264 - if (!node) return false;
1265 - if (node.type !== "Noop") return false;
1266 - return opts == null || (0, _shallowEqual.default)(node, opts);
1267 - }
1268 - function isPlaceholder(node, opts) {
1269 - if (!node) return false;
1270 - if (node.type !== "Placeholder") return false;
1271 - return opts == null || (0, _shallowEqual.default)(node, opts);
1272 - }
1273 - function isV8IntrinsicIdentifier(node, opts) {
1274 - if (!node) return false;
1275 - if (node.type !== "V8IntrinsicIdentifier") return false;
1276 - return opts == null || (0, _shallowEqual.default)(node, opts);
1277 - }
1278 - function isArgumentPlaceholder(node, opts) {
1279 - if (!node) return false;
1280 - if (node.type !== "ArgumentPlaceholder") return false;
1281 - return opts == null || (0, _shallowEqual.default)(node, opts);
1282 - }
1283 - function isBindExpression(node, opts) {
1284 - if (!node) return false;
1285 - if (node.type !== "BindExpression") return false;
1286 - return opts == null || (0, _shallowEqual.default)(node, opts);
1287 - }
1288 - function isDecorator(node, opts) {
1289 - if (!node) return false;
1290 - if (node.type !== "Decorator") return false;
1291 - return opts == null || (0, _shallowEqual.default)(node, opts);
1292 - }
1293 - function isDoExpression(node, opts) {
1294 - if (!node) return false;
1295 - if (node.type !== "DoExpression") return false;
1296 - return opts == null || (0, _shallowEqual.default)(node, opts);
1297 - }
1298 - function isExportDefaultSpecifier(node, opts) {
1299 - if (!node) return false;
1300 - if (node.type !== "ExportDefaultSpecifier") return false;
1301 - return opts == null || (0, _shallowEqual.default)(node, opts);
1302 - }
1303 - function isRecordExpression(node, opts) {
1304 - if (!node) return false;
1305 - if (node.type !== "RecordExpression") return false;
1306 - return opts == null || (0, _shallowEqual.default)(node, opts);
1307 - }
1308 - function isTupleExpression(node, opts) {
1309 - if (!node) return false;
1310 - if (node.type !== "TupleExpression") return false;
1311 - return opts == null || (0, _shallowEqual.default)(node, opts);
1312 - }
1313 - function isDecimalLiteral(node, opts) {
1314 - if (!node) return false;
1315 - if (node.type !== "DecimalLiteral") return false;
1316 - return opts == null || (0, _shallowEqual.default)(node, opts);
1317 - }
1318 - function isModuleExpression(node, opts) {
1319 - if (!node) return false;
1320 - if (node.type !== "ModuleExpression") return false;
1321 - return opts == null || (0, _shallowEqual.default)(node, opts);
1322 - }
1323 - function isTopicReference(node, opts) {
1324 - if (!node) return false;
1325 - if (node.type !== "TopicReference") return false;
1326 - return opts == null || (0, _shallowEqual.default)(node, opts);
1327 - }
1328 - function isPipelineTopicExpression(node, opts) {
1329 - if (!node) return false;
1330 - if (node.type !== "PipelineTopicExpression") return false;
1331 - return opts == null || (0, _shallowEqual.default)(node, opts);
1332 - }
1333 - function isPipelineBareFunction(node, opts) {
1334 - if (!node) return false;
1335 - if (node.type !== "PipelineBareFunction") return false;
1336 - return opts == null || (0, _shallowEqual.default)(node, opts);
1337 - }
1338 - function isPipelinePrimaryTopicReference(node, opts) {
1339 - if (!node) return false;
1340 - if (node.type !== "PipelinePrimaryTopicReference") return false;
1341 - return opts == null || (0, _shallowEqual.default)(node, opts);
1342 - }
1343 - function isVoidPattern(node, opts) {
1344 - if (!node) return false;
1345 - if (node.type !== "VoidPattern") return false;
1346 - return opts == null || (0, _shallowEqual.default)(node, opts);
1347 - }
1348 - function isTSParameterProperty(node, opts) {
1349 - if (!node) return false;
1350 - if (node.type !== "TSParameterProperty") return false;
1351 - return opts == null || (0, _shallowEqual.default)(node, opts);
1352 - }
1353 - function isTSDeclareFunction(node, opts) {
1354 - if (!node) return false;
1355 - if (node.type !== "TSDeclareFunction") return false;
1356 - return opts == null || (0, _shallowEqual.default)(node, opts);
1357 - }
1358 - function isTSDeclareMethod(node, opts) {
1359 - if (!node) return false;
1360 - if (node.type !== "TSDeclareMethod") return false;
1361 - return opts == null || (0, _shallowEqual.default)(node, opts);
1362 - }
1363 - function isTSQualifiedName(node, opts) {
1364 - if (!node) return false;
1365 - if (node.type !== "TSQualifiedName") return false;
1366 - return opts == null || (0, _shallowEqual.default)(node, opts);
1367 - }
1368 - function isTSCallSignatureDeclaration(node, opts) {
1369 - if (!node) return false;
1370 - if (node.type !== "TSCallSignatureDeclaration") return false;
1371 - return opts == null || (0, _shallowEqual.default)(node, opts);
1372 - }
1373 - function isTSConstructSignatureDeclaration(node, opts) {
1374 - if (!node) return false;
1375 - if (node.type !== "TSConstructSignatureDeclaration") return false;
1376 - return opts == null || (0, _shallowEqual.default)(node, opts);
1377 - }
1378 - function isTSPropertySignature(node, opts) {
1379 - if (!node) return false;
1380 - if (node.type !== "TSPropertySignature") return false;
1381 - return opts == null || (0, _shallowEqual.default)(node, opts);
1382 - }
1383 - function isTSMethodSignature(node, opts) {
1384 - if (!node) return false;
1385 - if (node.type !== "TSMethodSignature") return false;
1386 - return opts == null || (0, _shallowEqual.default)(node, opts);
1387 - }
1388 - function isTSIndexSignature(node, opts) {
1389 - if (!node) return false;
1390 - if (node.type !== "TSIndexSignature") return false;
1391 - return opts == null || (0, _shallowEqual.default)(node, opts);
1392 - }
1393 - function isTSAnyKeyword(node, opts) {
1394 - if (!node) return false;
1395 - if (node.type !== "TSAnyKeyword") return false;
1396 - return opts == null || (0, _shallowEqual.default)(node, opts);
1397 - }
1398 - function isTSBooleanKeyword(node, opts) {
1399 - if (!node) return false;
1400 - if (node.type !== "TSBooleanKeyword") return false;
1401 - return opts == null || (0, _shallowEqual.default)(node, opts);
1402 - }
1403 - function isTSBigIntKeyword(node, opts) {
1404 - if (!node) return false;
1405 - if (node.type !== "TSBigIntKeyword") return false;
1406 - return opts == null || (0, _shallowEqual.default)(node, opts);
1407 - }
1408 - function isTSIntrinsicKeyword(node, opts) {
1409 - if (!node) return false;
1410 - if (node.type !== "TSIntrinsicKeyword") return false;
1411 - return opts == null || (0, _shallowEqual.default)(node, opts);
1412 - }
1413 - function isTSNeverKeyword(node, opts) {
1414 - if (!node) return false;
1415 - if (node.type !== "TSNeverKeyword") return false;
1416 - return opts == null || (0, _shallowEqual.default)(node, opts);
1417 - }
1418 - function isTSNullKeyword(node, opts) {
1419 - if (!node) return false;
1420 - if (node.type !== "TSNullKeyword") return false;
1421 - return opts == null || (0, _shallowEqual.default)(node, opts);
1422 - }
1423 - function isTSNumberKeyword(node, opts) {
1424 - if (!node) return false;
1425 - if (node.type !== "TSNumberKeyword") return false;
1426 - return opts == null || (0, _shallowEqual.default)(node, opts);
1427 - }
1428 - function isTSObjectKeyword(node, opts) {
1429 - if (!node) return false;
1430 - if (node.type !== "TSObjectKeyword") return false;
1431 - return opts == null || (0, _shallowEqual.default)(node, opts);
1432 - }
1433 - function isTSStringKeyword(node, opts) {
1434 - if (!node) return false;
1435 - if (node.type !== "TSStringKeyword") return false;
1436 - return opts == null || (0, _shallowEqual.default)(node, opts);
1437 - }
1438 - function isTSSymbolKeyword(node, opts) {
1439 - if (!node) return false;
1440 - if (node.type !== "TSSymbolKeyword") return false;
1441 - return opts == null || (0, _shallowEqual.default)(node, opts);
1442 - }
1443 - function isTSUndefinedKeyword(node, opts) {
1444 - if (!node) return false;
1445 - if (node.type !== "TSUndefinedKeyword") return false;
1446 - return opts == null || (0, _shallowEqual.default)(node, opts);
1447 - }
1448 - function isTSUnknownKeyword(node, opts) {
1449 - if (!node) return false;
1450 - if (node.type !== "TSUnknownKeyword") return false;
1451 - return opts == null || (0, _shallowEqual.default)(node, opts);
1452 - }
1453 - function isTSVoidKeyword(node, opts) {
1454 - if (!node) return false;
1455 - if (node.type !== "TSVoidKeyword") return false;
1456 - return opts == null || (0, _shallowEqual.default)(node, opts);
1457 - }
1458 - function isTSThisType(node, opts) {
1459 - if (!node) return false;
1460 - if (node.type !== "TSThisType") return false;
1461 - return opts == null || (0, _shallowEqual.default)(node, opts);
1462 - }
1463 - function isTSFunctionType(node, opts) {
1464 - if (!node) return false;
1465 - if (node.type !== "TSFunctionType") return false;
1466 - return opts == null || (0, _shallowEqual.default)(node, opts);
1467 - }
1468 - function isTSConstructorType(node, opts) {
1469 - if (!node) return false;
1470 - if (node.type !== "TSConstructorType") return false;
1471 - return opts == null || (0, _shallowEqual.default)(node, opts);
1472 - }
1473 - function isTSTypeReference(node, opts) {
1474 - if (!node) return false;
1475 - if (node.type !== "TSTypeReference") return false;
1476 - return opts == null || (0, _shallowEqual.default)(node, opts);
1477 - }
1478 - function isTSTypePredicate(node, opts) {
1479 - if (!node) return false;
1480 - if (node.type !== "TSTypePredicate") return false;
1481 - return opts == null || (0, _shallowEqual.default)(node, opts);
1482 - }
1483 - function isTSTypeQuery(node, opts) {
1484 - if (!node) return false;
1485 - if (node.type !== "TSTypeQuery") return false;
1486 - return opts == null || (0, _shallowEqual.default)(node, opts);
1487 - }
1488 - function isTSTypeLiteral(node, opts) {
1489 - if (!node) return false;
1490 - if (node.type !== "TSTypeLiteral") return false;
1491 - return opts == null || (0, _shallowEqual.default)(node, opts);
1492 - }
1493 - function isTSArrayType(node, opts) {
1494 - if (!node) return false;
1495 - if (node.type !== "TSArrayType") return false;
1496 - return opts == null || (0, _shallowEqual.default)(node, opts);
1497 - }
1498 - function isTSTupleType(node, opts) {
1499 - if (!node) return false;
1500 - if (node.type !== "TSTupleType") return false;
1501 - return opts == null || (0, _shallowEqual.default)(node, opts);
1502 - }
1503 - function isTSOptionalType(node, opts) {
1504 - if (!node) return false;
1505 - if (node.type !== "TSOptionalType") return false;
1506 - return opts == null || (0, _shallowEqual.default)(node, opts);
1507 - }
1508 - function isTSRestType(node, opts) {
1509 - if (!node) return false;
1510 - if (node.type !== "TSRestType") return false;
1511 - return opts == null || (0, _shallowEqual.default)(node, opts);
1512 - }
1513 - function isTSNamedTupleMember(node, opts) {
1514 - if (!node) return false;
1515 - if (node.type !== "TSNamedTupleMember") return false;
1516 - return opts == null || (0, _shallowEqual.default)(node, opts);
1517 - }
1518 - function isTSUnionType(node, opts) {
1519 - if (!node) return false;
1520 - if (node.type !== "TSUnionType") return false;
1521 - return opts == null || (0, _shallowEqual.default)(node, opts);
1522 - }
1523 - function isTSIntersectionType(node, opts) {
1524 - if (!node) return false;
1525 - if (node.type !== "TSIntersectionType") return false;
1526 - return opts == null || (0, _shallowEqual.default)(node, opts);
1527 - }
1528 - function isTSConditionalType(node, opts) {
1529 - if (!node) return false;
1530 - if (node.type !== "TSConditionalType") return false;
1531 - return opts == null || (0, _shallowEqual.default)(node, opts);
1532 - }
1533 - function isTSInferType(node, opts) {
1534 - if (!node) return false;
1535 - if (node.type !== "TSInferType") return false;
1536 - return opts == null || (0, _shallowEqual.default)(node, opts);
1537 - }
1538 - function isTSParenthesizedType(node, opts) {
1539 - if (!node) return false;
1540 - if (node.type !== "TSParenthesizedType") return false;
1541 - return opts == null || (0, _shallowEqual.default)(node, opts);
1542 - }
1543 - function isTSTypeOperator(node, opts) {
1544 - if (!node) return false;
1545 - if (node.type !== "TSTypeOperator") return false;
1546 - return opts == null || (0, _shallowEqual.default)(node, opts);
1547 - }
1548 - function isTSIndexedAccessType(node, opts) {
1549 - if (!node) return false;
1550 - if (node.type !== "TSIndexedAccessType") return false;
1551 - return opts == null || (0, _shallowEqual.default)(node, opts);
1552 - }
1553 - function isTSMappedType(node, opts) {
1554 - if (!node) return false;
1555 - if (node.type !== "TSMappedType") return false;
1556 - return opts == null || (0, _shallowEqual.default)(node, opts);
1557 - }
1558 - function isTSTemplateLiteralType(node, opts) {
1559 - if (!node) return false;
1560 - if (node.type !== "TSTemplateLiteralType") return false;
1561 - return opts == null || (0, _shallowEqual.default)(node, opts);
1562 - }
1563 - function isTSLiteralType(node, opts) {
1564 - if (!node) return false;
1565 - if (node.type !== "TSLiteralType") return false;
1566 - return opts == null || (0, _shallowEqual.default)(node, opts);
1567 - }
1568 - function isTSExpressionWithTypeArguments(node, opts) {
1569 - if (!node) return false;
1570 - if (node.type !== "TSExpressionWithTypeArguments") return false;
1571 - return opts == null || (0, _shallowEqual.default)(node, opts);
1572 - }
1573 - function isTSInterfaceDeclaration(node, opts) {
1574 - if (!node) return false;
1575 - if (node.type !== "TSInterfaceDeclaration") return false;
1576 - return opts == null || (0, _shallowEqual.default)(node, opts);
1577 - }
1578 - function isTSInterfaceBody(node, opts) {
1579 - if (!node) return false;
1580 - if (node.type !== "TSInterfaceBody") return false;
1581 - return opts == null || (0, _shallowEqual.default)(node, opts);
1582 - }
1583 - function isTSTypeAliasDeclaration(node, opts) {
1584 - if (!node) return false;
1585 - if (node.type !== "TSTypeAliasDeclaration") return false;
1586 - return opts == null || (0, _shallowEqual.default)(node, opts);
1587 - }
1588 - function isTSInstantiationExpression(node, opts) {
1589 - if (!node) return false;
1590 - if (node.type !== "TSInstantiationExpression") return false;
1591 - return opts == null || (0, _shallowEqual.default)(node, opts);
1592 - }
1593 - function isTSAsExpression(node, opts) {
1594 - if (!node) return false;
1595 - if (node.type !== "TSAsExpression") return false;
1596 - return opts == null || (0, _shallowEqual.default)(node, opts);
1597 - }
1598 - function isTSSatisfiesExpression(node, opts) {
1599 - if (!node) return false;
1600 - if (node.type !== "TSSatisfiesExpression") return false;
1601 - return opts == null || (0, _shallowEqual.default)(node, opts);
1602 - }
1603 - function isTSTypeAssertion(node, opts) {
1604 - if (!node) return false;
1605 - if (node.type !== "TSTypeAssertion") return false;
1606 - return opts == null || (0, _shallowEqual.default)(node, opts);
1607 - }
1608 - function isTSEnumBody(node, opts) {
1609 - if (!node) return false;
1610 - if (node.type !== "TSEnumBody") return false;
1611 - return opts == null || (0, _shallowEqual.default)(node, opts);
1612 - }
1613 - function isTSEnumDeclaration(node, opts) {
1614 - if (!node) return false;
1615 - if (node.type !== "TSEnumDeclaration") return false;
1616 - return opts == null || (0, _shallowEqual.default)(node, opts);
1617 - }
1618 - function isTSEnumMember(node, opts) {
1619 - if (!node) return false;
1620 - if (node.type !== "TSEnumMember") return false;
1621 - return opts == null || (0, _shallowEqual.default)(node, opts);
1622 - }
1623 - function isTSModuleDeclaration(node, opts) {
1624 - if (!node) return false;
1625 - if (node.type !== "TSModuleDeclaration") return false;
1626 - return opts == null || (0, _shallowEqual.default)(node, opts);
1627 - }
1628 - function isTSModuleBlock(node, opts) {
1629 - if (!node) return false;
1630 - if (node.type !== "TSModuleBlock") return false;
1631 - return opts == null || (0, _shallowEqual.default)(node, opts);
1632 - }
1633 - function isTSImportType(node, opts) {
1634 - if (!node) return false;
1635 - if (node.type !== "TSImportType") return false;
1636 - return opts == null || (0, _shallowEqual.default)(node, opts);
1637 - }
1638 - function isTSImportEqualsDeclaration(node, opts) {
1639 - if (!node) return false;
1640 - if (node.type !== "TSImportEqualsDeclaration") return false;
1641 - return opts == null || (0, _shallowEqual.default)(node, opts);
1642 - }
1643 - function isTSExternalModuleReference(node, opts) {
1644 - if (!node) return false;
1645 - if (node.type !== "TSExternalModuleReference") return false;
1646 - return opts == null || (0, _shallowEqual.default)(node, opts);
1647 - }
1648 - function isTSNonNullExpression(node, opts) {
1649 - if (!node) return false;
1650 - if (node.type !== "TSNonNullExpression") return false;
1651 - return opts == null || (0, _shallowEqual.default)(node, opts);
1652 - }
1653 - function isTSExportAssignment(node, opts) {
1654 - if (!node) return false;
1655 - if (node.type !== "TSExportAssignment") return false;
1656 - return opts == null || (0, _shallowEqual.default)(node, opts);
1657 - }
1658 - function isTSNamespaceExportDeclaration(node, opts) {
1659 - if (!node) return false;
1660 - if (node.type !== "TSNamespaceExportDeclaration") return false;
1661 - return opts == null || (0, _shallowEqual.default)(node, opts);
1662 - }
1663 - function isTSTypeAnnotation(node, opts) {
1664 - if (!node) return false;
1665 - if (node.type !== "TSTypeAnnotation") return false;
1666 - return opts == null || (0, _shallowEqual.default)(node, opts);
1667 - }
1668 - function isTSTypeParameterInstantiation(node, opts) {
1669 - if (!node) return false;
1670 - if (node.type !== "TSTypeParameterInstantiation") return false;
1671 - return opts == null || (0, _shallowEqual.default)(node, opts);
1672 - }
1673 - function isTSTypeParameterDeclaration(node, opts) {
1674 - if (!node) return false;
1675 - if (node.type !== "TSTypeParameterDeclaration") return false;
1676 - return opts == null || (0, _shallowEqual.default)(node, opts);
1677 - }
1678 - function isTSTypeParameter(node, opts) {
1679 - if (!node) return false;
1680 - if (node.type !== "TSTypeParameter") return false;
1681 - return opts == null || (0, _shallowEqual.default)(node, opts);
1682 - }
1683 - function isStandardized(node, opts) {
1684 - if (!node) return false;
1685 - switch (node.type) {
1686 - case "ArrayExpression":
1687 - case "AssignmentExpression":
1688 - case "BinaryExpression":
1689 - case "InterpreterDirective":
1690 - case "Directive":
1691 - case "DirectiveLiteral":
1692 - case "BlockStatement":
1693 - case "BreakStatement":
1694 - case "CallExpression":
1695 - case "CatchClause":
1696 - case "ConditionalExpression":
1697 - case "ContinueStatement":
1698 - case "DebuggerStatement":
1699 - case "DoWhileStatement":
1700 - case "EmptyStatement":
1701 - case "ExpressionStatement":
1702 - case "File":
1703 - case "ForInStatement":
1704 - case "ForStatement":
1705 - case "FunctionDeclaration":
1706 - case "FunctionExpression":
1707 - case "Identifier":
1708 - case "IfStatement":
1709 - case "LabeledStatement":
1710 - case "StringLiteral":
1711 - case "NumericLiteral":
1712 - case "NullLiteral":
1713 - case "BooleanLiteral":
1714 - case "RegExpLiteral":
1715 - case "LogicalExpression":
1716 - case "MemberExpression":
1717 - case "NewExpression":
1718 - case "Program":
1719 - case "ObjectExpression":
1720 - case "ObjectMethod":
1721 - case "ObjectProperty":
1722 - case "RestElement":
1723 - case "ReturnStatement":
1724 - case "SequenceExpression":
1725 - case "ParenthesizedExpression":
1726 - case "SwitchCase":
1727 - case "SwitchStatement":
1728 - case "ThisExpression":
1729 - case "ThrowStatement":
1730 - case "TryStatement":
1731 - case "UnaryExpression":
1732 - case "UpdateExpression":
1733 - case "VariableDeclaration":
1734 - case "VariableDeclarator":
1735 - case "WhileStatement":
1736 - case "WithStatement":
1737 - case "AssignmentPattern":
1738 - case "ArrayPattern":
1739 - case "ArrowFunctionExpression":
1740 - case "ClassBody":
1741 - case "ClassExpression":
1742 - case "ClassDeclaration":
1743 - case "ExportAllDeclaration":
1744 - case "ExportDefaultDeclaration":
1745 - case "ExportNamedDeclaration":
1746 - case "ExportSpecifier":
1747 - case "ForOfStatement":
1748 - case "ImportDeclaration":
1749 - case "ImportDefaultSpecifier":
1750 - case "ImportNamespaceSpecifier":
1751 - case "ImportSpecifier":
1752 - case "ImportExpression":
1753 - case "MetaProperty":
1754 - case "ClassMethod":
1755 - case "ObjectPattern":
1756 - case "SpreadElement":
1757 - case "Super":
1758 - case "TaggedTemplateExpression":
1759 - case "TemplateElement":
1760 - case "TemplateLiteral":
1761 - case "YieldExpression":
1762 - case "AwaitExpression":
1763 - case "Import":
1764 - case "BigIntLiteral":
1765 - case "ExportNamespaceSpecifier":
1766 - case "OptionalMemberExpression":
1767 - case "OptionalCallExpression":
1768 - case "ClassProperty":
1769 - case "ClassAccessorProperty":
1770 - case "ClassPrivateProperty":
1771 - case "ClassPrivateMethod":
1772 - case "PrivateName":
1773 - case "StaticBlock":
1774 - case "ImportAttribute":
1775 - break;
1776 - case "Placeholder":
1777 - switch (node.expectedNode) {
1778 - case "Identifier":
1779 - case "StringLiteral":
1780 - case "BlockStatement":
1781 - case "ClassBody":
1782 - break;
1783 - default:
1784 - return false;
1785 - }
1786 - break;
1787 - default:
1788 - return false;
1789 - }
1790 - return opts == null || (0, _shallowEqual.default)(node, opts);
1791 - }
1792 - function isExpression(node, opts) {
1793 - if (!node) return false;
1794 - switch (node.type) {
1795 - case "ArrayExpression":
1796 - case "AssignmentExpression":
1797 - case "BinaryExpression":
1798 - case "CallExpression":
1799 - case "ConditionalExpression":
1800 - case "FunctionExpression":
1801 - case "Identifier":
1802 - case "StringLiteral":
1803 - case "NumericLiteral":
1804 - case "NullLiteral":
1805 - case "BooleanLiteral":
1806 - case "RegExpLiteral":
1807 - case "LogicalExpression":
1808 - case "MemberExpression":
1809 - case "NewExpression":
1810 - case "ObjectExpression":
1811 - case "SequenceExpression":
1812 - case "ParenthesizedExpression":
1813 - case "ThisExpression":
1814 - case "UnaryExpression":
1815 - case "UpdateExpression":
1816 - case "ArrowFunctionExpression":
1817 - case "ClassExpression":
1818 - case "ImportExpression":
1819 - case "MetaProperty":
1820 - case "Super":
1821 - case "TaggedTemplateExpression":
1822 - case "TemplateLiteral":
1823 - case "YieldExpression":
1824 - case "AwaitExpression":
1825 - case "Import":
1826 - case "BigIntLiteral":
1827 - case "OptionalMemberExpression":
1828 - case "OptionalCallExpression":
1829 - case "TypeCastExpression":
1830 - case "JSXElement":
1831 - case "JSXFragment":
1832 - case "BindExpression":
1833 - case "DoExpression":
1834 - case "RecordExpression":
1835 - case "TupleExpression":
1836 - case "DecimalLiteral":
1837 - case "ModuleExpression":
1838 - case "TopicReference":
1839 - case "PipelineTopicExpression":
1840 - case "PipelineBareFunction":
1841 - case "PipelinePrimaryTopicReference":
1842 - case "TSInstantiationExpression":
1843 - case "TSAsExpression":
1844 - case "TSSatisfiesExpression":
1845 - case "TSTypeAssertion":
1846 - case "TSNonNullExpression":
1847 - break;
1848 - case "Placeholder":
1849 - switch (node.expectedNode) {
1850 - case "Expression":
1851 - case "Identifier":
1852 - case "StringLiteral":
1853 - break;
1854 - default:
1855 - return false;
1856 - }
1857 - break;
1858 - default:
1859 - return false;
1860 - }
1861 - return opts == null || (0, _shallowEqual.default)(node, opts);
1862 - }
1863 - function isBinary(node, opts) {
1864 - if (!node) return false;
1865 - switch (node.type) {
1866 - case "BinaryExpression":
1867 - case "LogicalExpression":
1868 - break;
1869 - default:
1870 - return false;
1871 - }
1872 - return opts == null || (0, _shallowEqual.default)(node, opts);
1873 - }
1874 - function isScopable(node, opts) {
1875 - if (!node) return false;
1876 - switch (node.type) {
1877 - case "BlockStatement":
1878 - case "CatchClause":
1879 - case "DoWhileStatement":
1880 - case "ForInStatement":
1881 - case "ForStatement":
1882 - case "FunctionDeclaration":
1883 - case "FunctionExpression":
1884 - case "Program":
1885 - case "ObjectMethod":
1886 - case "SwitchStatement":
1887 - case "WhileStatement":
1888 - case "ArrowFunctionExpression":
1889 - case "ClassExpression":
1890 - case "ClassDeclaration":
1891 - case "ForOfStatement":
1892 - case "ClassMethod":
1893 - case "ClassPrivateMethod":
1894 - case "StaticBlock":
1895 - case "TSModuleBlock":
1896 - break;
1897 - case "Placeholder":
1898 - if (node.expectedNode === "BlockStatement") break;
1899 - default:
1900 - return false;
1901 - }
1902 - return opts == null || (0, _shallowEqual.default)(node, opts);
1903 - }
1904 - function isBlockParent(node, opts) {
1905 - if (!node) return false;
1906 - switch (node.type) {
1907 - case "BlockStatement":
1908 - case "CatchClause":
1909 - case "DoWhileStatement":
1910 - case "ForInStatement":
1911 - case "ForStatement":
1912 - case "FunctionDeclaration":
1913 - case "FunctionExpression":
1914 - case "Program":
1915 - case "ObjectMethod":
1916 - case "SwitchStatement":
1917 - case "WhileStatement":
1918 - case "ArrowFunctionExpression":
1919 - case "ForOfStatement":
1920 - case "ClassMethod":
1921 - case "ClassPrivateMethod":
1922 - case "StaticBlock":
1923 - case "TSModuleBlock":
1924 - break;
1925 - case "Placeholder":
1926 - if (node.expectedNode === "BlockStatement") break;
1927 - default:
1928 - return false;
1929 - }
1930 - return opts == null || (0, _shallowEqual.default)(node, opts);
1931 - }
1932 - function isBlock(node, opts) {
1933 - if (!node) return false;
1934 - switch (node.type) {
1935 - case "BlockStatement":
1936 - case "Program":
1937 - case "TSModuleBlock":
1938 - break;
1939 - case "Placeholder":
1940 - if (node.expectedNode === "BlockStatement") break;
1941 - default:
1942 - return false;
1943 - }
1944 - return opts == null || (0, _shallowEqual.default)(node, opts);
1945 - }
1946 - function isStatement(node, opts) {
1947 - if (!node) return false;
1948 - switch (node.type) {
1949 - case "BlockStatement":
1950 - case "BreakStatement":
1951 - case "ContinueStatement":
1952 - case "DebuggerStatement":
1953 - case "DoWhileStatement":
1954 - case "EmptyStatement":
1955 - case "ExpressionStatement":
1956 - case "ForInStatement":
1957 - case "ForStatement":
1958 - case "FunctionDeclaration":
1959 - case "IfStatement":
1960 - case "LabeledStatement":
1961 - case "ReturnStatement":
1962 - case "SwitchStatement":
1963 - case "ThrowStatement":
1964 - case "TryStatement":
1965 - case "VariableDeclaration":
1966 - case "WhileStatement":
1967 - case "WithStatement":
1968 - case "ClassDeclaration":
1969 - case "ExportAllDeclaration":
1970 - case "ExportDefaultDeclaration":
1971 - case "ExportNamedDeclaration":
1972 - case "ForOfStatement":
1973 - case "ImportDeclaration":
1974 - case "DeclareClass":
1975 - case "DeclareFunction":
1976 - case "DeclareInterface":
1977 - case "DeclareModule":
1978 - case "DeclareModuleExports":
1979 - case "DeclareTypeAlias":
1980 - case "DeclareOpaqueType":
1981 - case "DeclareVariable":
1982 - case "DeclareExportDeclaration":
1983 - case "DeclareExportAllDeclaration":
1984 - case "InterfaceDeclaration":
1985 - case "OpaqueType":
1986 - case "TypeAlias":
1987 - case "EnumDeclaration":
1988 - case "TSDeclareFunction":
1989 - case "TSInterfaceDeclaration":
1990 - case "TSTypeAliasDeclaration":
1991 - case "TSEnumDeclaration":
1992 - case "TSModuleDeclaration":
1993 - case "TSImportEqualsDeclaration":
1994 - case "TSExportAssignment":
1995 - case "TSNamespaceExportDeclaration":
1996 - break;
1997 - case "Placeholder":
1998 - switch (node.expectedNode) {
1999 - case "Statement":
2000 - case "Declaration":
2001 - case "BlockStatement":
2002 - break;
2003 - default:
2004 - return false;
2005 - }
2006 - break;
2007 - default:
2008 - return false;
2009 - }
2010 - return opts == null || (0, _shallowEqual.default)(node, opts);
2011 - }
2012 - function isTerminatorless(node, opts) {
2013 - if (!node) return false;
2014 - switch (node.type) {
2015 - case "BreakStatement":
2016 - case "ContinueStatement":
2017 - case "ReturnStatement":
2018 - case "ThrowStatement":
2019 - case "YieldExpression":
2020 - case "AwaitExpression":
2021 - break;
2022 - default:
2023 - return false;
2024 - }
2025 - return opts == null || (0, _shallowEqual.default)(node, opts);
2026 - }
2027 - function isCompletionStatement(node, opts) {
2028 - if (!node) return false;
2029 - switch (node.type) {
2030 - case "BreakStatement":
2031 - case "ContinueStatement":
2032 - case "ReturnStatement":
2033 - case "ThrowStatement":
2034 - break;
2035 - default:
2036 - return false;
2037 - }
2038 - return opts == null || (0, _shallowEqual.default)(node, opts);
2039 - }
2040 - function isConditional(node, opts) {
2041 - if (!node) return false;
2042 - switch (node.type) {
2043 - case "ConditionalExpression":
2044 - case "IfStatement":
2045 - break;
2046 - default:
2047 - return false;
2048 - }
2049 - return opts == null || (0, _shallowEqual.default)(node, opts);
2050 - }
2051 - function isLoop(node, opts) {
2052 - if (!node) return false;
2053 - switch (node.type) {
2054 - case "DoWhileStatement":
2055 - case "ForInStatement":
2056 - case "ForStatement":
2057 - case "WhileStatement":
2058 - case "ForOfStatement":
2059 - break;
2060 - default:
2061 - return false;
2062 - }
2063 - return opts == null || (0, _shallowEqual.default)(node, opts);
2064 - }
2065 - function isWhile(node, opts) {
2066 - if (!node) return false;
2067 - switch (node.type) {
2068 - case "DoWhileStatement":
2069 - case "WhileStatement":
2070 - break;
2071 - default:
2072 - return false;
2073 - }
2074 - return opts == null || (0, _shallowEqual.default)(node, opts);
2075 - }
2076 - function isExpressionWrapper(node, opts) {
2077 - if (!node) return false;
2078 - switch (node.type) {
2079 - case "ExpressionStatement":
2080 - case "ParenthesizedExpression":
2081 - case "TypeCastExpression":
2082 - break;
2083 - default:
2084 - return false;
2085 - }
2086 - return opts == null || (0, _shallowEqual.default)(node, opts);
2087 - }
2088 - function isFor(node, opts) {
2089 - if (!node) return false;
2090 - switch (node.type) {
2091 - case "ForInStatement":
2092 - case "ForStatement":
2093 - case "ForOfStatement":
2094 - break;
2095 - default:
2096 - return false;
2097 - }
2098 - return opts == null || (0, _shallowEqual.default)(node, opts);
2099 - }
2100 - function isForXStatement(node, opts) {
2101 - if (!node) return false;
2102 - switch (node.type) {
2103 - case "ForInStatement":
2104 - case "ForOfStatement":
2105 - break;
2106 - default:
2107 - return false;
2108 - }
2109 - return opts == null || (0, _shallowEqual.default)(node, opts);
2110 - }
2111 - function isFunction(node, opts) {
2112 - if (!node) return false;
2113 - switch (node.type) {
2114 - case "FunctionDeclaration":
2115 - case "FunctionExpression":
2116 - case "ObjectMethod":
2117 - case "ArrowFunctionExpression":
2118 - case "ClassMethod":
2119 - case "ClassPrivateMethod":
2120 - break;
2121 - default:
2122 - return false;
2123 - }
2124 - return opts == null || (0, _shallowEqual.default)(node, opts);
2125 - }
2126 - function isFunctionParent(node, opts) {
2127 - if (!node) return false;
2128 - switch (node.type) {
2129 - case "FunctionDeclaration":
2130 - case "FunctionExpression":
2131 - case "ObjectMethod":
2132 - case "ArrowFunctionExpression":
2133 - case "ClassMethod":
2134 - case "ClassPrivateMethod":
2135 - case "StaticBlock":
2136 - case "TSModuleBlock":
2137 - break;
2138 - default:
2139 - return false;
2140 - }
2141 - return opts == null || (0, _shallowEqual.default)(node, opts);
2142 - }
2143 - function isPureish(node, opts) {
2144 - if (!node) return false;
2145 - switch (node.type) {
2146 - case "FunctionDeclaration":
2147 - case "FunctionExpression":
2148 - case "StringLiteral":
2149 - case "NumericLiteral":
2150 - case "NullLiteral":
2151 - case "BooleanLiteral":
2152 - case "RegExpLiteral":
2153 - case "ArrowFunctionExpression":
2154 - case "BigIntLiteral":
2155 - case "DecimalLiteral":
2156 - break;
2157 - case "Placeholder":
2158 - if (node.expectedNode === "StringLiteral") break;
2159 - default:
2160 - return false;
2161 - }
2162 - return opts == null || (0, _shallowEqual.default)(node, opts);
2163 - }
2164 - function isDeclaration(node, opts) {
2165 - if (!node) return false;
2166 - switch (node.type) {
2167 - case "FunctionDeclaration":
2168 - case "VariableDeclaration":
2169 - case "ClassDeclaration":
2170 - case "ExportAllDeclaration":
2171 - case "ExportDefaultDeclaration":
2172 - case "ExportNamedDeclaration":
2173 - case "ImportDeclaration":
2174 - case "DeclareClass":
2175 - case "DeclareFunction":
2176 - case "DeclareInterface":
2177 - case "DeclareModule":
2178 - case "DeclareModuleExports":
2179 - case "DeclareTypeAlias":
2180 - case "DeclareOpaqueType":
2181 - case "DeclareVariable":
2182 - case "DeclareExportDeclaration":
2183 - case "DeclareExportAllDeclaration":
2184 - case "InterfaceDeclaration":
2185 - case "OpaqueType":
2186 - case "TypeAlias":
2187 - case "EnumDeclaration":
2188 - case "TSDeclareFunction":
2189 - case "TSInterfaceDeclaration":
2190 - case "TSTypeAliasDeclaration":
2191 - case "TSEnumDeclaration":
2192 - case "TSModuleDeclaration":
2193 - case "TSImportEqualsDeclaration":
2194 - break;
2195 - case "Placeholder":
2196 - if (node.expectedNode === "Declaration") break;
2197 - default:
2198 - return false;
2199 - }
2200 - return opts == null || (0, _shallowEqual.default)(node, opts);
2201 - }
2202 - function isFunctionParameter(node, opts) {
2203 - if (!node) return false;
2204 - switch (node.type) {
2205 - case "Identifier":
2206 - case "RestElement":
2207 - case "AssignmentPattern":
2208 - case "ArrayPattern":
2209 - case "ObjectPattern":
2210 - case "VoidPattern":
2211 - break;
2212 - case "Placeholder":
2213 - if (node.expectedNode === "Identifier") break;
2214 - default:
2215 - return false;
2216 - }
2217 - return opts == null || (0, _shallowEqual.default)(node, opts);
2218 - }
2219 - function isPatternLike(node, opts) {
2220 - if (!node) return false;
2221 - switch (node.type) {
2222 - case "Identifier":
2223 - case "MemberExpression":
2224 - case "RestElement":
2225 - case "AssignmentPattern":
2226 - case "ArrayPattern":
2227 - case "ObjectPattern":
2228 - case "VoidPattern":
2229 - case "TSAsExpression":
2230 - case "TSSatisfiesExpression":
2231 - case "TSTypeAssertion":
2232 - case "TSNonNullExpression":
2233 - break;
2234 - case "Placeholder":
2235 - switch (node.expectedNode) {
2236 - case "Pattern":
2237 - case "Identifier":
2238 - break;
2239 - default:
2240 - return false;
2241 - }
2242 - break;
2243 - default:
2244 - return false;
2245 - }
2246 - return opts == null || (0, _shallowEqual.default)(node, opts);
2247 - }
2248 - function isLVal(node, opts) {
2249 - if (!node) return false;
2250 - switch (node.type) {
2251 - case "Identifier":
2252 - case "MemberExpression":
2253 - case "RestElement":
2254 - case "AssignmentPattern":
2255 - case "ArrayPattern":
2256 - case "ObjectPattern":
2257 - case "TSParameterProperty":
2258 - case "TSAsExpression":
2259 - case "TSSatisfiesExpression":
2260 - case "TSTypeAssertion":
2261 - case "TSNonNullExpression":
2262 - break;
2263 - case "Placeholder":
2264 - switch (node.expectedNode) {
2265 - case "Pattern":
2266 - case "Identifier":
2267 - break;
2268 - default:
2269 - return false;
2270 - }
2271 - break;
2272 - default:
2273 - return false;
2274 - }
2275 - return opts == null || (0, _shallowEqual.default)(node, opts);
2276 - }
2277 - function isTSEntityName(node, opts) {
2278 - if (!node) return false;
2279 - switch (node.type) {
2280 - case "Identifier":
2281 - case "TSQualifiedName":
2282 - break;
2283 - case "Placeholder":
2284 - if (node.expectedNode === "Identifier") break;
2285 - default:
2286 - return false;
2287 - }
2288 - return opts == null || (0, _shallowEqual.default)(node, opts);
2289 - }
2290 - function isLiteral(node, opts) {
2291 - if (!node) return false;
2292 - switch (node.type) {
2293 - case "StringLiteral":
2294 - case "NumericLiteral":
2295 - case "NullLiteral":
2296 - case "BooleanLiteral":
2297 - case "RegExpLiteral":
2298 - case "TemplateLiteral":
2299 - case "BigIntLiteral":
2300 - case "DecimalLiteral":
2301 - break;
2302 - case "Placeholder":
2303 - if (node.expectedNode === "StringLiteral") break;
2304 - default:
2305 - return false;
2306 - }
2307 - return opts == null || (0, _shallowEqual.default)(node, opts);
2308 - }
2309 - function isImmutable(node, opts) {
2310 - if (!node) return false;
2311 - switch (node.type) {
2312 - case "StringLiteral":
2313 - case "NumericLiteral":
2314 - case "NullLiteral":
2315 - case "BooleanLiteral":
2316 - case "BigIntLiteral":
2317 - case "JSXAttribute":
2318 - case "JSXClosingElement":
2319 - case "JSXElement":
2320 - case "JSXExpressionContainer":
2321 - case "JSXSpreadChild":
2322 - case "JSXOpeningElement":
2323 - case "JSXText":
2324 - case "JSXFragment":
2325 - case "JSXOpeningFragment":
2326 - case "JSXClosingFragment":
2327 - case "DecimalLiteral":
2328 - break;
2329 - case "Placeholder":
2330 - if (node.expectedNode === "StringLiteral") break;
2331 - default:
2332 - return false;
2333 - }
2334 - return opts == null || (0, _shallowEqual.default)(node, opts);
2335 - }
2336 - function isUserWhitespacable(node, opts) {
2337 - if (!node) return false;
2338 - switch (node.type) {
2339 - case "ObjectMethod":
2340 - case "ObjectProperty":
2341 - case "ObjectTypeInternalSlot":
2342 - case "ObjectTypeCallProperty":
2343 - case "ObjectTypeIndexer":
2344 - case "ObjectTypeProperty":
2345 - case "ObjectTypeSpreadProperty":
2346 - break;
2347 - default:
2348 - return false;
2349 - }
2350 - return opts == null || (0, _shallowEqual.default)(node, opts);
2351 - }
2352 - function isMethod(node, opts) {
2353 - if (!node) return false;
2354 - switch (node.type) {
2355 - case "ObjectMethod":
2356 - case "ClassMethod":
2357 - case "ClassPrivateMethod":
2358 - break;
2359 - default:
2360 - return false;
2361 - }
2362 - return opts == null || (0, _shallowEqual.default)(node, opts);
2363 - }
2364 - function isObjectMember(node, opts) {
2365 - if (!node) return false;
2366 - switch (node.type) {
2367 - case "ObjectMethod":
2368 - case "ObjectProperty":
2369 - break;
2370 - default:
2371 - return false;
2372 - }
2373 - return opts == null || (0, _shallowEqual.default)(node, opts);
2374 - }
2375 - function isProperty(node, opts) {
2376 - if (!node) return false;
2377 - switch (node.type) {
2378 - case "ObjectProperty":
2379 - case "ClassProperty":
2380 - case "ClassAccessorProperty":
2381 - case "ClassPrivateProperty":
2382 - break;
2383 - default:
2384 - return false;
2385 - }
2386 - return opts == null || (0, _shallowEqual.default)(node, opts);
2387 - }
2388 - function isUnaryLike(node, opts) {
2389 - if (!node) return false;
2390 - switch (node.type) {
2391 - case "UnaryExpression":
2392 - case "SpreadElement":
2393 - break;
2394 - default:
2395 - return false;
2396 - }
2397 - return opts == null || (0, _shallowEqual.default)(node, opts);
2398 - }
2399 - function isPattern(node, opts) {
2400 - if (!node) return false;
2401 - switch (node.type) {
2402 - case "AssignmentPattern":
2403 - case "ArrayPattern":
2404 - case "ObjectPattern":
2405 - case "VoidPattern":
2406 - break;
2407 - case "Placeholder":
2408 - if (node.expectedNode === "Pattern") break;
2409 - default:
2410 - return false;
2411 - }
2412 - return opts == null || (0, _shallowEqual.default)(node, opts);
2413 - }
2414 - function isClass(node, opts) {
2415 - if (!node) return false;
2416 - switch (node.type) {
2417 - case "ClassExpression":
2418 - case "ClassDeclaration":
2419 - break;
2420 - default:
2421 - return false;
2422 - }
2423 - return opts == null || (0, _shallowEqual.default)(node, opts);
2424 - }
2425 - function isImportOrExportDeclaration(node, opts) {
2426 - if (!node) return false;
2427 - switch (node.type) {
2428 - case "ExportAllDeclaration":
2429 - case "ExportDefaultDeclaration":
2430 - case "ExportNamedDeclaration":
2431 - case "ImportDeclaration":
2432 - break;
2433 - default:
2434 - return false;
2435 - }
2436 - return opts == null || (0, _shallowEqual.default)(node, opts);
2437 - }
2438 - function isExportDeclaration(node, opts) {
2439 - if (!node) return false;
2440 - switch (node.type) {
2441 - case "ExportAllDeclaration":
2442 - case "ExportDefaultDeclaration":
2443 - case "ExportNamedDeclaration":
2444 - break;
2445 - default:
2446 - return false;
2447 - }
2448 - return opts == null || (0, _shallowEqual.default)(node, opts);
2449 - }
2450 - function isModuleSpecifier(node, opts) {
2451 - if (!node) return false;
2452 - switch (node.type) {
2453 - case "ExportSpecifier":
2454 - case "ImportDefaultSpecifier":
2455 - case "ImportNamespaceSpecifier":
2456 - case "ImportSpecifier":
2457 - case "ExportNamespaceSpecifier":
2458 - case "ExportDefaultSpecifier":
2459 - break;
2460 - default:
2461 - return false;
2462 - }
2463 - return opts == null || (0, _shallowEqual.default)(node, opts);
2464 - }
2465 - function isAccessor(node, opts) {
2466 - if (!node) return false;
2467 - switch (node.type) {
2468 - case "ClassAccessorProperty":
2469 - break;
2470 - default:
2471 - return false;
2472 - }
2473 - return opts == null || (0, _shallowEqual.default)(node, opts);
2474 - }
2475 - function isPrivate(node, opts) {
2476 - if (!node) return false;
2477 - switch (node.type) {
2478 - case "ClassPrivateProperty":
2479 - case "ClassPrivateMethod":
2480 - case "PrivateName":
2481 - break;
2482 - default:
2483 - return false;
2484 - }
2485 - return opts == null || (0, _shallowEqual.default)(node, opts);
2486 - }
2487 - function isFlow(node, opts) {
2488 - if (!node) return false;
2489 - switch (node.type) {
2490 - case "AnyTypeAnnotation":
2491 - case "ArrayTypeAnnotation":
2492 - case "BooleanTypeAnnotation":
2493 - case "BooleanLiteralTypeAnnotation":
2494 - case "NullLiteralTypeAnnotation":
2495 - case "ClassImplements":
2496 - case "DeclareClass":
2497 - case "DeclareFunction":
2498 - case "DeclareInterface":
2499 - case "DeclareModule":
2500 - case "DeclareModuleExports":
2501 - case "DeclareTypeAlias":
2502 - case "DeclareOpaqueType":
2503 - case "DeclareVariable":
2504 - case "DeclareExportDeclaration":
2505 - case "DeclareExportAllDeclaration":
2506 - case "DeclaredPredicate":
2507 - case "ExistsTypeAnnotation":
2508 - case "FunctionTypeAnnotation":
2509 - case "FunctionTypeParam":
2510 - case "GenericTypeAnnotation":
2511 - case "InferredPredicate":
2512 - case "InterfaceExtends":
2513 - case "InterfaceDeclaration":
2514 - case "InterfaceTypeAnnotation":
2515 - case "IntersectionTypeAnnotation":
2516 - case "MixedTypeAnnotation":
2517 - case "EmptyTypeAnnotation":
2518 - case "NullableTypeAnnotation":
2519 - case "NumberLiteralTypeAnnotation":
2520 - case "NumberTypeAnnotation":
2521 - case "ObjectTypeAnnotation":
2522 - case "ObjectTypeInternalSlot":
2523 - case "ObjectTypeCallProperty":
2524 - case "ObjectTypeIndexer":
2525 - case "ObjectTypeProperty":
2526 - case "ObjectTypeSpreadProperty":
2527 - case "OpaqueType":
2528 - case "QualifiedTypeIdentifier":
2529 - case "StringLiteralTypeAnnotation":
2530 - case "StringTypeAnnotation":
2531 - case "SymbolTypeAnnotation":
2532 - case "ThisTypeAnnotation":
2533 - case "TupleTypeAnnotation":
2534 - case "TypeofTypeAnnotation":
2535 - case "TypeAlias":
2536 - case "TypeAnnotation":
2537 - case "TypeCastExpression":
2538 - case "TypeParameter":
2539 - case "TypeParameterDeclaration":
2540 - case "TypeParameterInstantiation":
2541 - case "UnionTypeAnnotation":
2542 - case "Variance":
2543 - case "VoidTypeAnnotation":
2544 - case "EnumDeclaration":
2545 - case "EnumBooleanBody":
2546 - case "EnumNumberBody":
2547 - case "EnumStringBody":
2548 - case "EnumSymbolBody":
2549 - case "EnumBooleanMember":
2550 - case "EnumNumberMember":
2551 - case "EnumStringMember":
2552 - case "EnumDefaultedMember":
2553 - case "IndexedAccessType":
2554 - case "OptionalIndexedAccessType":
2555 - break;
2556 - default:
2557 - return false;
2558 - }
2559 - return opts == null || (0, _shallowEqual.default)(node, opts);
2560 - }
2561 - function isFlowType(node, opts) {
2562 - if (!node) return false;
2563 - switch (node.type) {
2564 - case "AnyTypeAnnotation":
2565 - case "ArrayTypeAnnotation":
2566 - case "BooleanTypeAnnotation":
2567 - case "BooleanLiteralTypeAnnotation":
2568 - case "NullLiteralTypeAnnotation":
2569 - case "ExistsTypeAnnotation":
2570 - case "FunctionTypeAnnotation":
2571 - case "GenericTypeAnnotation":
2572 - case "InterfaceTypeAnnotation":
2573 - case "IntersectionTypeAnnotation":
2574 - case "MixedTypeAnnotation":
2575 - case "EmptyTypeAnnotation":
2576 - case "NullableTypeAnnotation":
2577 - case "NumberLiteralTypeAnnotation":
2578 - case "NumberTypeAnnotation":
2579 - case "ObjectTypeAnnotation":
2580 - case "StringLiteralTypeAnnotation":
2581 - case "StringTypeAnnotation":
2582 - case "SymbolTypeAnnotation":
2583 - case "ThisTypeAnnotation":
2584 - case "TupleTypeAnnotation":
2585 - case "TypeofTypeAnnotation":
2586 - case "UnionTypeAnnotation":
2587 - case "VoidTypeAnnotation":
2588 - case "IndexedAccessType":
2589 - case "OptionalIndexedAccessType":
2590 - break;
2591 - default:
2592 - return false;
2593 - }
2594 - return opts == null || (0, _shallowEqual.default)(node, opts);
2595 - }
2596 - function isFlowBaseAnnotation(node, opts) {
2597 - if (!node) return false;
2598 - switch (node.type) {
2599 - case "AnyTypeAnnotation":
2600 - case "BooleanTypeAnnotation":
2601 - case "NullLiteralTypeAnnotation":
2602 - case "MixedTypeAnnotation":
2603 - case "EmptyTypeAnnotation":
2604 - case "NumberTypeAnnotation":
2605 - case "StringTypeAnnotation":
2606 - case "SymbolTypeAnnotation":
2607 - case "ThisTypeAnnotation":
2608 - case "VoidTypeAnnotation":
2609 - break;
2610 - default:
2611 - return false;
2612 - }
2613 - return opts == null || (0, _shallowEqual.default)(node, opts);
2614 - }
2615 - function isFlowDeclaration(node, opts) {
2616 - if (!node) return false;
2617 - switch (node.type) {
2618 - case "DeclareClass":
2619 - case "DeclareFunction":
2620 - case "DeclareInterface":
2621 - case "DeclareModule":
2622 - case "DeclareModuleExports":
2623 - case "DeclareTypeAlias":
2624 - case "DeclareOpaqueType":
2625 - case "DeclareVariable":
2626 - case "DeclareExportDeclaration":
2627 - case "DeclareExportAllDeclaration":
2628 - case "InterfaceDeclaration":
2629 - case "OpaqueType":
2630 - case "TypeAlias":
2631 - break;
2632 - default:
2633 - return false;
2634 - }
2635 - return opts == null || (0, _shallowEqual.default)(node, opts);
2636 - }
2637 - function isFlowPredicate(node, opts) {
2638 - if (!node) return false;
2639 - switch (node.type) {
2640 - case "DeclaredPredicate":
2641 - case "InferredPredicate":
2642 - break;
2643 - default:
2644 - return false;
2645 - }
2646 - return opts == null || (0, _shallowEqual.default)(node, opts);
2647 - }
2648 - function isEnumBody(node, opts) {
2649 - if (!node) return false;
2650 - switch (node.type) {
2651 - case "EnumBooleanBody":
2652 - case "EnumNumberBody":
2653 - case "EnumStringBody":
2654 - case "EnumSymbolBody":
2655 - break;
2656 - default:
2657 - return false;
2658 - }
2659 - return opts == null || (0, _shallowEqual.default)(node, opts);
2660 - }
2661 - function isEnumMember(node, opts) {
2662 - if (!node) return false;
2663 - switch (node.type) {
2664 - case "EnumBooleanMember":
2665 - case "EnumNumberMember":
2666 - case "EnumStringMember":
2667 - case "EnumDefaultedMember":
2668 - break;
2669 - default:
2670 - return false;
2671 - }
2672 - return opts == null || (0, _shallowEqual.default)(node, opts);
2673 - }
2674 - function isJSX(node, opts) {
2675 - if (!node) return false;
2676 - switch (node.type) {
2677 - case "JSXAttribute":
2678 - case "JSXClosingElement":
2679 - case "JSXElement":
2680 - case "JSXEmptyExpression":
2681 - case "JSXExpressionContainer":
2682 - case "JSXSpreadChild":
2683 - case "JSXIdentifier":
2684 - case "JSXMemberExpression":
2685 - case "JSXNamespacedName":
2686 - case "JSXOpeningElement":
2687 - case "JSXSpreadAttribute":
2688 - case "JSXText":
2689 - case "JSXFragment":
2690 - case "JSXOpeningFragment":
2691 - case "JSXClosingFragment":
2692 - break;
2693 - default:
2694 - return false;
2695 - }
2696 - return opts == null || (0, _shallowEqual.default)(node, opts);
2697 - }
2698 - function isMiscellaneous(node, opts) {
2699 - if (!node) return false;
2700 - switch (node.type) {
2701 - case "Noop":
2702 - case "Placeholder":
2703 - case "V8IntrinsicIdentifier":
2704 - break;
2705 - default:
2706 - return false;
2707 - }
2708 - return opts == null || (0, _shallowEqual.default)(node, opts);
2709 - }
2710 - function isTypeScript2(node, opts) {
2711 - if (!node) return false;
2712 - switch (node.type) {
2713 - case "TSParameterProperty":
2714 - case "TSDeclareFunction":
2715 - case "TSDeclareMethod":
2716 - case "TSQualifiedName":
2717 - case "TSCallSignatureDeclaration":
2718 - case "TSConstructSignatureDeclaration":
2719 - case "TSPropertySignature":
2720 - case "TSMethodSignature":
2721 - case "TSIndexSignature":
2722 - case "TSAnyKeyword":
2723 - case "TSBooleanKeyword":
2724 - case "TSBigIntKeyword":
2725 - case "TSIntrinsicKeyword":
2726 - case "TSNeverKeyword":
2727 - case "TSNullKeyword":
2728 - case "TSNumberKeyword":
2729 - case "TSObjectKeyword":
2730 - case "TSStringKeyword":
2731 - case "TSSymbolKeyword":
2732 - case "TSUndefinedKeyword":
2733 - case "TSUnknownKeyword":
2734 - case "TSVoidKeyword":
2735 - case "TSThisType":
2736 - case "TSFunctionType":
2737 - case "TSConstructorType":
2738 - case "TSTypeReference":
2739 - case "TSTypePredicate":
2740 - case "TSTypeQuery":
2741 - case "TSTypeLiteral":
2742 - case "TSArrayType":
2743 - case "TSTupleType":
2744 - case "TSOptionalType":
2745 - case "TSRestType":
2746 - case "TSNamedTupleMember":
2747 - case "TSUnionType":
2748 - case "TSIntersectionType":
2749 - case "TSConditionalType":
2750 - case "TSInferType":
2751 - case "TSParenthesizedType":
2752 - case "TSTypeOperator":
2753 - case "TSIndexedAccessType":
2754 - case "TSMappedType":
2755 - case "TSTemplateLiteralType":
2756 - case "TSLiteralType":
2757 - case "TSExpressionWithTypeArguments":
2758 - case "TSInterfaceDeclaration":
2759 - case "TSInterfaceBody":
2760 - case "TSTypeAliasDeclaration":
2761 - case "TSInstantiationExpression":
2762 - case "TSAsExpression":
2763 - case "TSSatisfiesExpression":
2764 - case "TSTypeAssertion":
2765 - case "TSEnumBody":
2766 - case "TSEnumDeclaration":
2767 - case "TSEnumMember":
2768 - case "TSModuleDeclaration":
2769 - case "TSModuleBlock":
2770 - case "TSImportType":
2771 - case "TSImportEqualsDeclaration":
2772 - case "TSExternalModuleReference":
2773 - case "TSNonNullExpression":
2774 - case "TSExportAssignment":
2775 - case "TSNamespaceExportDeclaration":
2776 - case "TSTypeAnnotation":
2777 - case "TSTypeParameterInstantiation":
2778 - case "TSTypeParameterDeclaration":
2779 - case "TSTypeParameter":
2780 - break;
2781 - default:
2782 - return false;
2783 - }
2784 - return opts == null || (0, _shallowEqual.default)(node, opts);
2785 - }
2786 - function isTSTypeElement(node, opts) {
2787 - if (!node) return false;
2788 - switch (node.type) {
2789 - case "TSCallSignatureDeclaration":
2790 - case "TSConstructSignatureDeclaration":
2791 - case "TSPropertySignature":
2792 - case "TSMethodSignature":
2793 - case "TSIndexSignature":
2794 - break;
2795 - default:
2796 - return false;
2797 - }
2798 - return opts == null || (0, _shallowEqual.default)(node, opts);
2799 - }
2800 - function isTSType(node, opts) {
2801 - if (!node) return false;
2802 - switch (node.type) {
2803 - case "TSAnyKeyword":
2804 - case "TSBooleanKeyword":
2805 - case "TSBigIntKeyword":
2806 - case "TSIntrinsicKeyword":
2807 - case "TSNeverKeyword":
2808 - case "TSNullKeyword":
2809 - case "TSNumberKeyword":
2810 - case "TSObjectKeyword":
2811 - case "TSStringKeyword":
2812 - case "TSSymbolKeyword":
2813 - case "TSUndefinedKeyword":
2814 - case "TSUnknownKeyword":
2815 - case "TSVoidKeyword":
2816 - case "TSThisType":
2817 - case "TSFunctionType":
2818 - case "TSConstructorType":
2819 - case "TSTypeReference":
2820 - case "TSTypePredicate":
2821 - case "TSTypeQuery":
2822 - case "TSTypeLiteral":
2823 - case "TSArrayType":
2824 - case "TSTupleType":
2825 - case "TSOptionalType":
2826 - case "TSRestType":
2827 - case "TSUnionType":
2828 - case "TSIntersectionType":
2829 - case "TSConditionalType":
2830 - case "TSInferType":
2831 - case "TSParenthesizedType":
2832 - case "TSTypeOperator":
2833 - case "TSIndexedAccessType":
2834 - case "TSMappedType":
2835 - case "TSTemplateLiteralType":
2836 - case "TSLiteralType":
2837 - case "TSExpressionWithTypeArguments":
2838 - case "TSImportType":
2839 - break;
2840 - default:
2841 - return false;
2842 - }
2843 - return opts == null || (0, _shallowEqual.default)(node, opts);
2844 - }
2845 - function isTSBaseType(node, opts) {
2846 - if (!node) return false;
2847 - switch (node.type) {
2848 - case "TSAnyKeyword":
2849 - case "TSBooleanKeyword":
2850 - case "TSBigIntKeyword":
2851 - case "TSIntrinsicKeyword":
2852 - case "TSNeverKeyword":
2853 - case "TSNullKeyword":
2854 - case "TSNumberKeyword":
2855 - case "TSObjectKeyword":
2856 - case "TSStringKeyword":
2857 - case "TSSymbolKeyword":
2858 - case "TSUndefinedKeyword":
2859 - case "TSUnknownKeyword":
2860 - case "TSVoidKeyword":
2861 - case "TSThisType":
2862 - case "TSTemplateLiteralType":
2863 - case "TSLiteralType":
2864 - break;
2865 - default:
2866 - return false;
2867 - }
2868 - return opts == null || (0, _shallowEqual.default)(node, opts);
2869 - }
2870 - function isNumberLiteral(node, opts) {
2871 - (0, _deprecationWarning.default)("isNumberLiteral", "isNumericLiteral");
2872 - if (!node) return false;
2873 - if (node.type !== "NumberLiteral") return false;
2874 - return opts == null || (0, _shallowEqual.default)(node, opts);
2875 - }
2876 - function isRegexLiteral(node, opts) {
2877 - (0, _deprecationWarning.default)("isRegexLiteral", "isRegExpLiteral");
2878 - if (!node) return false;
2879 - if (node.type !== "RegexLiteral") return false;
2880 - return opts == null || (0, _shallowEqual.default)(node, opts);
2881 - }
2882 - function isRestProperty(node, opts) {
2883 - (0, _deprecationWarning.default)("isRestProperty", "isRestElement");
2884 - if (!node) return false;
2885 - if (node.type !== "RestProperty") return false;
2886 - return opts == null || (0, _shallowEqual.default)(node, opts);
2887 - }
2888 - function isSpreadProperty(node, opts) {
2889 - (0, _deprecationWarning.default)("isSpreadProperty", "isSpreadElement");
2890 - if (!node) return false;
2891 - if (node.type !== "SpreadProperty") return false;
2892 - return opts == null || (0, _shallowEqual.default)(node, opts);
2893 - }
2894 - function isModuleDeclaration(node, opts) {
2895 - (0, _deprecationWarning.default)("isModuleDeclaration", "isImportOrExportDeclaration");
2896 - return isImportOrExportDeclaration(node, opts);
2897 - }
2898 - }
2899 -});
2900 -
2901 -// node_modules/@babel/types/lib/validators/matchesPattern.js
2902 -var require_matchesPattern = __commonJS({
2903 - "node_modules/@babel/types/lib/validators/matchesPattern.js"(exports2) {
2904 - "use strict";
2905 - Object.defineProperty(exports2, "__esModule", {
2906 - value: true
2907 - });
2908 - exports2.default = matchesPattern;
2909 - var _index = require_generated();
2910 - function isMemberExpressionLike(node) {
2911 - return (0, _index.isMemberExpression)(node) || (0, _index.isMetaProperty)(node);
2912 - }
2913 - function matchesPattern(member, match, allowPartial) {
2914 - if (!isMemberExpressionLike(member)) return false;
2915 - const parts = Array.isArray(match) ? match : match.split(".");
2916 - const nodes = [];
2917 - let node;
2918 - for (node = member; isMemberExpressionLike(node); node = (_object = node.object) != null ? _object : node.meta) {
2919 - var _object;
2920 - nodes.push(node.property);
2921 - }
2922 - nodes.push(node);
2923 - if (nodes.length < parts.length) return false;
2924 - if (!allowPartial && nodes.length > parts.length) return false;
2925 - for (let i = 0, j = nodes.length - 1; i < parts.length; i++, j--) {
2926 - const node2 = nodes[j];
2927 - let value2;
2928 - if ((0, _index.isIdentifier)(node2)) {
2929 - value2 = node2.name;
2930 - } else if ((0, _index.isStringLiteral)(node2)) {
2931 - value2 = node2.value;
2932 - } else if ((0, _index.isThisExpression)(node2)) {
2933 - value2 = "this";
2934 - } else if ((0, _index.isSuper)(node2)) {
2935 - value2 = "super";
2936 - } else if ((0, _index.isPrivateName)(node2)) {
2937 - value2 = "#" + node2.id.name;
2938 - } else {
2939 - return false;
2940 - }
2941 - if (parts[i] !== value2) return false;
2942 - }
2943 - return true;
2944 - }
2945 - }
2946 -});
2947 -
2948 -// node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js
2949 -var require_buildMatchMemberExpression = __commonJS({
2950 - "node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js"(exports2) {
2951 - "use strict";
2952 - Object.defineProperty(exports2, "__esModule", {
2953 - value: true
2954 - });
2955 - exports2.default = buildMatchMemberExpression;
2956 - var _matchesPattern = require_matchesPattern();
2957 - function buildMatchMemberExpression(match, allowPartial) {
2958 - const parts = match.split(".");
2959 - return (member) => (0, _matchesPattern.default)(member, parts, allowPartial);
2960 - }
2961 - }
2962 -});
2963 -
2964 -// node_modules/@babel/types/lib/validators/react/isReactComponent.js
2965 -var require_isReactComponent = __commonJS({
2966 - "node_modules/@babel/types/lib/validators/react/isReactComponent.js"(exports2) {
2967 - "use strict";
2968 - Object.defineProperty(exports2, "__esModule", {
2969 - value: true
2970 - });
2971 - exports2.default = void 0;
2972 - var _buildMatchMemberExpression = require_buildMatchMemberExpression();
2973 - var isReactComponent = (0, _buildMatchMemberExpression.default)("React.Component");
2974 - var _default = exports2.default = isReactComponent;
2975 - }
2976 -});
2977 -
2978 -// node_modules/@babel/types/lib/validators/react/isCompatTag.js
2979 -var require_isCompatTag = __commonJS({
2980 - "node_modules/@babel/types/lib/validators/react/isCompatTag.js"(exports2) {
2981 - "use strict";
2982 - Object.defineProperty(exports2, "__esModule", {
2983 - value: true
2984 - });
2985 - exports2.default = isCompatTag;
2986 - function isCompatTag(tagName) {
2987 - return !!tagName && /^[a-z]/.test(tagName);
2988 - }
2989 - }
2990 -});
2991 -
2992 -// node_modules/@babel/types/lib/validators/isType.js
2993 -var require_isType = __commonJS({
2994 - "node_modules/@babel/types/lib/validators/isType.js"(exports2) {
2995 - "use strict";
2996 - Object.defineProperty(exports2, "__esModule", {
2997 - value: true
2998 - });
2999 - exports2.default = isType;
3000 - var _index = require_definitions();
3001 - function isType(nodeType, targetType) {
3002 - if (nodeType === targetType) return true;
3003 - if (nodeType == null) return false;
3004 - if (_index.ALIAS_KEYS[targetType]) return false;
3005 - const aliases = _index.FLIPPED_ALIAS_KEYS[targetType];
3006 - if (aliases != null && aliases.includes(nodeType)) return true;
3007 - return false;
3008 - }
3009 - }
3010 -});
3011 -
3012 -// node_modules/@babel/types/lib/validators/isPlaceholderType.js
3013 -var require_isPlaceholderType = __commonJS({
3014 - "node_modules/@babel/types/lib/validators/isPlaceholderType.js"(exports2) {
3015 - "use strict";
3016 - Object.defineProperty(exports2, "__esModule", {
3017 - value: true
3018 - });
3019 - exports2.default = isPlaceholderType;
3020 - var _index = require_definitions();
3021 - function isPlaceholderType(placeholderType, targetType) {
3022 - if (placeholderType === targetType) return true;
3023 - const aliases = _index.PLACEHOLDERS_ALIAS[placeholderType];
3024 - if (aliases != null && aliases.includes(targetType)) return true;
3025 - return false;
3026 - }
3027 - }
3028 -});
3029 -
3030 -// node_modules/@babel/types/lib/validators/is.js
3031 -var require_is = __commonJS({
3032 - "node_modules/@babel/types/lib/validators/is.js"(exports2) {
3033 - "use strict";
3034 - Object.defineProperty(exports2, "__esModule", {
3035 - value: true
3036 - });
3037 - exports2.default = is;
3038 - var _shallowEqual = require_shallowEqual();
3039 - var _isType = require_isType();
3040 - var _isPlaceholderType = require_isPlaceholderType();
3041 - var _index = require_definitions();
3042 - function is(type, node, opts) {
3043 - if (!node) return false;
3044 - const matches = (0, _isType.default)(node.type, type);
3045 - if (!matches) {
3046 - if (!opts && node.type === "Placeholder" && type in _index.FLIPPED_ALIAS_KEYS) {
3047 - return (0, _isPlaceholderType.default)(node.expectedNode, type);
3048 - }
3049 - return false;
3050 - }
3051 - if (opts === void 0) {
3052 - return true;
3053 - } else {
3054 - return (0, _shallowEqual.default)(node, opts);
3055 - }
3056 - }
3057 - }
3058 -});
3059 -
3060 -// node_modules/@babel/helper-validator-identifier/lib/identifier.js
3061 -var require_identifier = __commonJS({
3062 - "node_modules/@babel/helper-validator-identifier/lib/identifier.js"(exports2) {
3063 - "use strict";
3064 - Object.defineProperty(exports2, "__esModule", {
3065 - value: true
3066 - });
3067 - exports2.isIdentifierChar = isIdentifierChar;
3068 - exports2.isIdentifierName = isIdentifierName;
3069 - exports2.isIdentifierStart = isIdentifierStart;
3070 - var nonASCIIidentifierStartChars = "\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088F\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5C\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDC-\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7DC\uA7F1-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC";
3071 - var nonASCIIidentifierChars = "\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0897-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ADD\u1AE0-\u1AEB\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u200C\u200D\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\u30FB\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F\uFF65";
3072 - var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]");
3073 - var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]");
3074 - nonASCIIidentifierStartChars = nonASCIIidentifierChars = null;
3075 - var astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 4, 51, 13, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 7, 25, 39, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 39, 27, 10, 22, 251, 41, 7, 1, 17, 5, 57, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 31, 9, 2, 0, 3, 0, 2, 37, 2, 0, 26, 0, 2, 0, 45, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 200, 32, 32, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 24, 43, 261, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 26, 3994, 6, 582, 6842, 29, 1763, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 433, 44, 212, 63, 33, 24, 3, 24, 45, 74, 6, 0, 67, 12, 65, 1, 2, 0, 15, 4, 10, 7381, 42, 31, 98, 114, 8702, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 229, 29, 3, 0, 208, 30, 2, 2, 2, 1, 2, 6, 3, 4, 10, 1, 225, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4381, 3, 5773, 3, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 8489];
3076 - var astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 7, 9, 32, 4, 318, 1, 78, 5, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 68, 8, 2, 0, 3, 0, 2, 3, 2, 4, 2, 0, 15, 1, 83, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 7, 19, 58, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 199, 7, 137, 9, 54, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 55, 9, 266, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 10, 5350, 0, 7, 14, 11465, 27, 2343, 9, 87, 9, 39, 4, 60, 6, 26, 9, 535, 9, 470, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4178, 9, 519, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 245, 1, 2, 9, 233, 0, 3, 0, 8, 1, 6, 0, 475, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];
3077 - function isInAstralSet(code, set) {
3078 - let pos = 65536;
3079 - for (let i = 0, length = set.length; i < length; i += 2) {
3080 - pos += set[i];
3081 - if (pos > code) return false;
3082 - pos += set[i + 1];
3083 - if (pos >= code) return true;
3084 - }
3085 - return false;
3086 - }
3087 - function isIdentifierStart(code) {
3088 - if (code < 65) return code === 36;
3089 - if (code <= 90) return true;
3090 - if (code < 97) return code === 95;
3091 - if (code <= 122) return true;
3092 - if (code <= 65535) {
3093 - return code >= 170 && nonASCIIidentifierStart.test(String.fromCharCode(code));
3094 - }
3095 - return isInAstralSet(code, astralIdentifierStartCodes);
3096 - }
3097 - function isIdentifierChar(code) {
3098 - if (code < 48) return code === 36;
3099 - if (code < 58) return true;
3100 - if (code < 65) return false;
3101 - if (code <= 90) return true;
3102 - if (code < 97) return code === 95;
3103 - if (code <= 122) return true;
3104 - if (code <= 65535) {
3105 - return code >= 170 && nonASCIIidentifier.test(String.fromCharCode(code));
3106 - }
3107 - return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes);
3108 - }
3109 - function isIdentifierName(name) {
3110 - let isFirst = true;
3111 - for (let i = 0; i < name.length; i++) {
3112 - let cp = name.charCodeAt(i);
3113 - if ((cp & 64512) === 55296 && i + 1 < name.length) {
3114 - const trail = name.charCodeAt(++i);
3115 - if ((trail & 64512) === 56320) {
3116 - cp = 65536 + ((cp & 1023) << 10) + (trail & 1023);
3117 - }
3118 - }
3119 - if (isFirst) {
3120 - isFirst = false;
3121 - if (!isIdentifierStart(cp)) {
3122 - return false;
3123 - }
3124 - } else if (!isIdentifierChar(cp)) {
3125 - return false;
3126 - }
3127 - }
3128 - return !isFirst;
3129 - }
3130 - }
3131 -});
3132 -
3133 -// node_modules/@babel/helper-validator-identifier/lib/keyword.js
3134 -var require_keyword = __commonJS({
3135 - "node_modules/@babel/helper-validator-identifier/lib/keyword.js"(exports2) {
3136 - "use strict";
3137 - Object.defineProperty(exports2, "__esModule", {
3138 - value: true
3139 - });
3140 - exports2.isKeyword = isKeyword;
3141 - exports2.isReservedWord = isReservedWord;
3142 - exports2.isStrictBindOnlyReservedWord = isStrictBindOnlyReservedWord;
3143 - exports2.isStrictBindReservedWord = isStrictBindReservedWord;
3144 - exports2.isStrictReservedWord = isStrictReservedWord;
3145 - var reservedWords = {
3146 - keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete"],
3147 - strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"],
3148 - strictBind: ["eval", "arguments"]
3149 - };
3150 - var keywords = new Set(reservedWords.keyword);
3151 - var reservedWordsStrictSet = new Set(reservedWords.strict);
3152 - var reservedWordsStrictBindSet = new Set(reservedWords.strictBind);
3153 - function isReservedWord(word, inModule) {
3154 - return inModule && word === "await" || word === "enum";
3155 - }
3156 - function isStrictReservedWord(word, inModule) {
3157 - return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word);
3158 - }
3159 - function isStrictBindOnlyReservedWord(word) {
3160 - return reservedWordsStrictBindSet.has(word);
3161 - }
3162 - function isStrictBindReservedWord(word, inModule) {
3163 - return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word);
3164 - }
3165 - function isKeyword(word) {
3166 - return keywords.has(word);
3167 - }
3168 - }
3169 -});
3170 -
3171 -// node_modules/@babel/helper-validator-identifier/lib/index.js
3172 -var require_lib = __commonJS({
3173 - "node_modules/@babel/helper-validator-identifier/lib/index.js"(exports2) {
3174 - "use strict";
3175 - Object.defineProperty(exports2, "__esModule", {
3176 - value: true
3177 - });
3178 - Object.defineProperty(exports2, "isIdentifierChar", {
3179 - enumerable: true,
3180 - get: function() {
3181 - return _identifier.isIdentifierChar;
3182 - }
3183 - });
3184 - Object.defineProperty(exports2, "isIdentifierName", {
3185 - enumerable: true,
3186 - get: function() {
3187 - return _identifier.isIdentifierName;
3188 - }
3189 - });
3190 - Object.defineProperty(exports2, "isIdentifierStart", {
3191 - enumerable: true,
3192 - get: function() {
3193 - return _identifier.isIdentifierStart;
3194 - }
3195 - });
3196 - Object.defineProperty(exports2, "isKeyword", {
3197 - enumerable: true,
3198 - get: function() {
3199 - return _keyword.isKeyword;
3200 - }
3201 - });
3202 - Object.defineProperty(exports2, "isReservedWord", {
3203 - enumerable: true,
3204 - get: function() {
3205 - return _keyword.isReservedWord;
3206 - }
3207 - });
3208 - Object.defineProperty(exports2, "isStrictBindOnlyReservedWord", {
3209 - enumerable: true,
3210 - get: function() {
3211 - return _keyword.isStrictBindOnlyReservedWord;
3212 - }
3213 - });
3214 - Object.defineProperty(exports2, "isStrictBindReservedWord", {
3215 - enumerable: true,
3216 - get: function() {
3217 - return _keyword.isStrictBindReservedWord;
3218 - }
3219 - });
3220 - Object.defineProperty(exports2, "isStrictReservedWord", {
3221 - enumerable: true,
3222 - get: function() {
3223 - return _keyword.isStrictReservedWord;
3224 - }
3225 - });
3226 - var _identifier = require_identifier();
3227 - var _keyword = require_keyword();
3228 - }
3229 -});
3230 -
3231 -// node_modules/@babel/types/lib/validators/isValidIdentifier.js
3232 -var require_isValidIdentifier = __commonJS({
3233 - "node_modules/@babel/types/lib/validators/isValidIdentifier.js"(exports2) {
3234 - "use strict";
3235 - Object.defineProperty(exports2, "__esModule", {
3236 - value: true
3237 - });
3238 - exports2.default = isValidIdentifier;
3239 - var _helperValidatorIdentifier = require_lib();
3240 - function isValidIdentifier(name, reserved = true) {
3241 - if (typeof name !== "string") return false;
3242 - if (reserved) {
3243 - if ((0, _helperValidatorIdentifier.isKeyword)(name) || (0, _helperValidatorIdentifier.isStrictReservedWord)(name, true)) {
3244 - return false;
3245 - }
3246 - }
3247 - return (0, _helperValidatorIdentifier.isIdentifierName)(name);
3248 - }
3249 - }
3250 -});
3251 -
3252 -// node_modules/@babel/helper-string-parser/lib/index.js
3253 -var require_lib2 = __commonJS({
3254 - "node_modules/@babel/helper-string-parser/lib/index.js"(exports2) {
3255 - "use strict";
3256 - Object.defineProperty(exports2, "__esModule", {
3257 - value: true
3258 - });
3259 - exports2.readCodePoint = readCodePoint;
3260 - exports2.readInt = readInt;
3261 - exports2.readStringContents = readStringContents;
3262 - var _isDigit = function isDigit(code) {
3263 - return code >= 48 && code <= 57;
3264 - };
3265 - var forbiddenNumericSeparatorSiblings = {
3266 - decBinOct: /* @__PURE__ */ new Set([46, 66, 69, 79, 95, 98, 101, 111]),
3267 - hex: /* @__PURE__ */ new Set([46, 88, 95, 120])
3268 - };
3269 - var isAllowedNumericSeparatorSibling = {
3270 - bin: (ch) => ch === 48 || ch === 49,
3271 - oct: (ch) => ch >= 48 && ch <= 55,
3272 - dec: (ch) => ch >= 48 && ch <= 57,
3273 - hex: (ch) => ch >= 48 && ch <= 57 || ch >= 65 && ch <= 70 || ch >= 97 && ch <= 102
3274 - };
3275 - function readStringContents(type, input, pos, lineStart, curLine, errors) {
3276 - const initialPos = pos;
3277 - const initialLineStart = lineStart;
3278 - const initialCurLine = curLine;
3279 - let out = "";
3280 - let firstInvalidLoc = null;
3281 - let chunkStart = pos;
3282 - const {
3283 - length
3284 - } = input;
3285 - for (; ; ) {
3286 - if (pos >= length) {
3287 - errors.unterminated(initialPos, initialLineStart, initialCurLine);
3288 - out += input.slice(chunkStart, pos);
3289 - break;
3290 - }
3291 - const ch = input.charCodeAt(pos);
3292 - if (isStringEnd(type, ch, input, pos)) {
3293 - out += input.slice(chunkStart, pos);
3294 - break;
3295 - }
3296 - if (ch === 92) {
3297 - out += input.slice(chunkStart, pos);
3298 - const res = readEscapedChar(input, pos, lineStart, curLine, type === "template", errors);
3299 - if (res.ch === null && !firstInvalidLoc) {
3300 - firstInvalidLoc = {
3301 - pos,
3302 - lineStart,
3303 - curLine
3304 - };
3305 - } else {
3306 - out += res.ch;
3307 - }
3308 - ({
3309 - pos,
3310 - lineStart,
3311 - curLine
3312 - } = res);
3313 - chunkStart = pos;
3314 - } else if (ch === 8232 || ch === 8233) {
3315 - ++pos;
3316 - ++curLine;
3317 - lineStart = pos;
3318 - } else if (ch === 10 || ch === 13) {
3319 - if (type === "template") {
3320 - out += input.slice(chunkStart, pos) + "\n";
3321 - ++pos;
3322 - if (ch === 13 && input.charCodeAt(pos) === 10) {
3323 - ++pos;
3324 - }
3325 - ++curLine;
3326 - chunkStart = lineStart = pos;
3327 - } else {
3328 - errors.unterminated(initialPos, initialLineStart, initialCurLine);
3329 - }
3330 - } else {
3331 - ++pos;
3332 - }
3333 - }
3334 - return {
3335 - pos,
3336 - str: out,
3337 - firstInvalidLoc,
3338 - lineStart,
3339 - curLine,
3340 - containsInvalid: !!firstInvalidLoc
3341 - };
3342 - }
3343 - function isStringEnd(type, ch, input, pos) {
3344 - if (type === "template") {
3345 - return ch === 96 || ch === 36 && input.charCodeAt(pos + 1) === 123;
3346 - }
3347 - return ch === (type === "double" ? 34 : 39);
3348 - }
3349 - function readEscapedChar(input, pos, lineStart, curLine, inTemplate, errors) {
3350 - const throwOnInvalid = !inTemplate;
3351 - pos++;
3352 - const res = (ch2) => ({
3353 - pos,
3354 - ch: ch2,
3355 - lineStart,
3356 - curLine
3357 - });
3358 - const ch = input.charCodeAt(pos++);
3359 - switch (ch) {
3360 - case 110:
3361 - return res("\n");
3362 - case 114:
3363 - return res("\r");
3364 - case 120: {
3365 - let code;
3366 - ({
3367 - code,
3368 - pos
3369 - } = readHexChar(input, pos, lineStart, curLine, 2, false, throwOnInvalid, errors));
3370 - return res(code === null ? null : String.fromCharCode(code));
3371 - }
3372 - case 117: {
3373 - let code;
3374 - ({
3375 - code,
3376 - pos
3377 - } = readCodePoint(input, pos, lineStart, curLine, throwOnInvalid, errors));
3378 - return res(code === null ? null : String.fromCodePoint(code));
3379 - }
3380 - case 116:
3381 - return res(" ");
3382 - case 98:
3383 - return res("\b");
3384 - case 118:
3385 - return res("\v");
3386 - case 102:
3387 - return res("\f");
3388 - case 13:
3389 - if (input.charCodeAt(pos) === 10) {
3390 - ++pos;
3391 - }
3392 - case 10:
3393 - lineStart = pos;
3394 - ++curLine;
3395 - case 8232:
3396 - case 8233:
3397 - return res("");
3398 - case 56:
3399 - case 57:
3400 - if (inTemplate) {
3401 - return res(null);
3402 - } else {
3403 - errors.strictNumericEscape(pos - 1, lineStart, curLine);
3404 - }
3405 - default:
3406 - if (ch >= 48 && ch <= 55) {
3407 - const startPos = pos - 1;
3408 - const match = /^[0-7]+/.exec(input.slice(startPos, pos + 2));
3409 - let octalStr = match[0];
3410 - let octal = parseInt(octalStr, 8);
3411 - if (octal > 255) {
3412 - octalStr = octalStr.slice(0, -1);
3413 - octal = parseInt(octalStr, 8);
3414 - }
3415 - pos += octalStr.length - 1;
3416 - const next = input.charCodeAt(pos);
3417 - if (octalStr !== "0" || next === 56 || next === 57) {
3418 - if (inTemplate) {
3419 - return res(null);
3420 - } else {
3421 - errors.strictNumericEscape(startPos, lineStart, curLine);
3422 - }
3423 - }
3424 - return res(String.fromCharCode(octal));
3425 - }
3426 - return res(String.fromCharCode(ch));
3427 - }
3428 - }
3429 - function readHexChar(input, pos, lineStart, curLine, len, forceLen, throwOnInvalid, errors) {
3430 - const initialPos = pos;
3431 - let n;
3432 - ({
3433 - n,
3434 - pos
3435 - } = readInt(input, pos, lineStart, curLine, 16, len, forceLen, false, errors, !throwOnInvalid));
3436 - if (n === null) {
3437 - if (throwOnInvalid) {
3438 - errors.invalidEscapeSequence(initialPos, lineStart, curLine);
3439 - } else {
3440 - pos = initialPos - 1;
3441 - }
3442 - }
3443 - return {
3444 - code: n,
3445 - pos
3446 - };
3447 - }
3448 - function readInt(input, pos, lineStart, curLine, radix, len, forceLen, allowNumSeparator, errors, bailOnError) {
3449 - const start = pos;
3450 - const forbiddenSiblings = radix === 16 ? forbiddenNumericSeparatorSiblings.hex : forbiddenNumericSeparatorSiblings.decBinOct;
3451 - const isAllowedSibling = radix === 16 ? isAllowedNumericSeparatorSibling.hex : radix === 10 ? isAllowedNumericSeparatorSibling.dec : radix === 8 ? isAllowedNumericSeparatorSibling.oct : isAllowedNumericSeparatorSibling.bin;
3452 - let invalid = false;
3453 - let total = 0;
3454 - for (let i = 0, e = len == null ? Infinity : len; i < e; ++i) {
3455 - const code = input.charCodeAt(pos);
3456 - let val;
3457 - if (code === 95 && allowNumSeparator !== "bail") {
3458 - const prev = input.charCodeAt(pos - 1);
3459 - const next = input.charCodeAt(pos + 1);
3460 - if (!allowNumSeparator) {
3461 - if (bailOnError) return {
3462 - n: null,
3463 - pos
3464 - };
3465 - errors.numericSeparatorInEscapeSequence(pos, lineStart, curLine);
3466 - } else if (Number.isNaN(next) || !isAllowedSibling(next) || forbiddenSiblings.has(prev) || forbiddenSiblings.has(next)) {
3467 - if (bailOnError) return {
3468 - n: null,
3469 - pos
3470 - };
3471 - errors.unexpectedNumericSeparator(pos, lineStart, curLine);
3472 - }
3473 - ++pos;
3474 - continue;
3475 - }
3476 - if (code >= 97) {
3477 - val = code - 97 + 10;
3478 - } else if (code >= 65) {
3479 - val = code - 65 + 10;
3480 - } else if (_isDigit(code)) {
3481 - val = code - 48;
3482 - } else {
3483 - val = Infinity;
3484 - }
3485 - if (val >= radix) {
3486 - if (val <= 9 && bailOnError) {
3487 - return {
3488 - n: null,
3489 - pos
3490 - };
3491 - } else if (val <= 9 && errors.invalidDigit(pos, lineStart, curLine, radix)) {
3492 - val = 0;
3493 - } else if (forceLen) {
3494 - val = 0;
3495 - invalid = true;
3496 - } else {
3497 - break;
3498 - }
3499 - }
3500 - ++pos;
3501 - total = total * radix + val;
3502 - }
3503 - if (pos === start || len != null && pos - start !== len || invalid) {
3504 - return {
3505 - n: null,
3506 - pos
3507 - };
3508 - }
3509 - return {
3510 - n: total,
3511 - pos
3512 - };
3513 - }
3514 - function readCodePoint(input, pos, lineStart, curLine, throwOnInvalid, errors) {
3515 - const ch = input.charCodeAt(pos);
3516 - let code;
3517 - if (ch === 123) {
3518 - ++pos;
3519 - ({
3520 - code,
3521 - pos
3522 - } = readHexChar(input, pos, lineStart, curLine, input.indexOf("}", pos) - pos, true, throwOnInvalid, errors));
3523 - ++pos;
3524 - if (code !== null && code > 1114111) {
3525 - if (throwOnInvalid) {
3526 - errors.invalidCodePoint(pos, lineStart, curLine);
3527 - } else {
3528 - return {
3529 - code: null,
3530 - pos
3531 - };
3532 - }
3533 - }
3534 - } else {
3535 - ({
3536 - code,
3537 - pos
3538 - } = readHexChar(input, pos, lineStart, curLine, 4, false, throwOnInvalid, errors));
3539 - }
3540 - return {
3541 - code,
3542 - pos
3543 - };
3544 - }
3545 - }
3546 -});
3547 -
3548 -// node_modules/@babel/types/lib/constants/index.js
3549 -var require_constants = __commonJS({
3550 - "node_modules/@babel/types/lib/constants/index.js"(exports2) {
3551 - "use strict";
3552 - Object.defineProperty(exports2, "__esModule", {
3553 - value: true
3554 - });
3555 - exports2.UPDATE_OPERATORS = exports2.UNARY_OPERATORS = exports2.STRING_UNARY_OPERATORS = exports2.STATEMENT_OR_BLOCK_KEYS = exports2.NUMBER_UNARY_OPERATORS = exports2.NUMBER_BINARY_OPERATORS = exports2.LOGICAL_OPERATORS = exports2.INHERIT_KEYS = exports2.FOR_INIT_KEYS = exports2.FLATTENABLE_KEYS = exports2.EQUALITY_BINARY_OPERATORS = exports2.COMPARISON_BINARY_OPERATORS = exports2.COMMENT_KEYS = exports2.BOOLEAN_UNARY_OPERATORS = exports2.BOOLEAN_NUMBER_BINARY_OPERATORS = exports2.BOOLEAN_BINARY_OPERATORS = exports2.BINARY_OPERATORS = exports2.ASSIGNMENT_OPERATORS = void 0;
3556 - var STATEMENT_OR_BLOCK_KEYS = exports2.STATEMENT_OR_BLOCK_KEYS = ["consequent", "body", "alternate"];
3557 - var FLATTENABLE_KEYS = exports2.FLATTENABLE_KEYS = ["body", "expressions"];
3558 - var FOR_INIT_KEYS = exports2.FOR_INIT_KEYS = ["left", "init"];
3559 - var COMMENT_KEYS = exports2.COMMENT_KEYS = ["leadingComments", "trailingComments", "innerComments"];
3560 - var LOGICAL_OPERATORS = exports2.LOGICAL_OPERATORS = ["||", "&&", "??"];
3561 - var UPDATE_OPERATORS = exports2.UPDATE_OPERATORS = ["++", "--"];
3562 - var BOOLEAN_NUMBER_BINARY_OPERATORS = exports2.BOOLEAN_NUMBER_BINARY_OPERATORS = [">", "<", ">=", "<="];
3563 - var EQUALITY_BINARY_OPERATORS = exports2.EQUALITY_BINARY_OPERATORS = ["==", "===", "!=", "!=="];
3564 - var COMPARISON_BINARY_OPERATORS = exports2.COMPARISON_BINARY_OPERATORS = [...EQUALITY_BINARY_OPERATORS, "in", "instanceof"];
3565 - var BOOLEAN_BINARY_OPERATORS = exports2.BOOLEAN_BINARY_OPERATORS = [...COMPARISON_BINARY_OPERATORS, ...BOOLEAN_NUMBER_BINARY_OPERATORS];
3566 - var NUMBER_BINARY_OPERATORS = exports2.NUMBER_BINARY_OPERATORS = ["-", "/", "%", "*", "**", "&", "|", ">>", ">>>", "<<", "^"];
3567 - var BINARY_OPERATORS = exports2.BINARY_OPERATORS = ["+", ...NUMBER_BINARY_OPERATORS, ...BOOLEAN_BINARY_OPERATORS, "|>"];
3568 - var ASSIGNMENT_OPERATORS = exports2.ASSIGNMENT_OPERATORS = ["=", "+=", ...NUMBER_BINARY_OPERATORS.map((op) => op + "="), ...LOGICAL_OPERATORS.map((op) => op + "=")];
3569 - var BOOLEAN_UNARY_OPERATORS = exports2.BOOLEAN_UNARY_OPERATORS = ["delete", "!"];
3570 - var NUMBER_UNARY_OPERATORS = exports2.NUMBER_UNARY_OPERATORS = ["+", "-", "~"];
3571 - var STRING_UNARY_OPERATORS = exports2.STRING_UNARY_OPERATORS = ["typeof"];
3572 - var UNARY_OPERATORS = exports2.UNARY_OPERATORS = ["void", "throw", ...BOOLEAN_UNARY_OPERATORS, ...NUMBER_UNARY_OPERATORS, ...STRING_UNARY_OPERATORS];
3573 - var INHERIT_KEYS = exports2.INHERIT_KEYS = {
3574 - optional: ["typeAnnotation", "typeParameters", "returnType"],
3575 - force: ["start", "loc", "end"]
3576 - };
3577 - exports2.BLOCK_SCOPED_SYMBOL = Symbol.for("var used to be block scoped");
3578 - exports2.NOT_LOCAL_BINDING = Symbol.for("should not be considered a local binding");
3579 - }
3580 -});
3581 -
3582 -// node_modules/@babel/types/lib/definitions/utils.js
3583 -var require_utils = __commonJS({
3584 - "node_modules/@babel/types/lib/definitions/utils.js"(exports2) {
3585 - "use strict";
3586 - Object.defineProperty(exports2, "__esModule", {
3587 - value: true
3588 - });
3589 - exports2.allExpandedTypes = exports2.VISITOR_KEYS = exports2.NODE_UNION_SHAPES__PRIVATE = exports2.NODE_PARENT_VALIDATIONS = exports2.NODE_FIELDS = exports2.FLIPPED_ALIAS_KEYS = exports2.DEPRECATED_KEYS = exports2.BUILDER_KEYS = exports2.ALIAS_KEYS = void 0;
3590 - exports2.arrayOf = arrayOf;
3591 - exports2.arrayOfType = arrayOfType;
3592 - exports2.assertEach = assertEach;
3593 - exports2.assertNodeOrValueType = assertNodeOrValueType;
3594 - exports2.assertNodeType = assertNodeType;
3595 - exports2.assertOneOf = assertOneOf;
3596 - exports2.assertOptionalChainStart = assertOptionalChainStart;
3597 - exports2.assertShape = assertShape;
3598 - exports2.assertValueType = assertValueType;
3599 - exports2.chain = chain;
3600 - exports2.default = defineType;
3601 - exports2.defineAliasedType = defineAliasedType;
3602 - exports2.validate = validate;
3603 - exports2.validateArrayOfType = validateArrayOfType;
3604 - exports2.validateOptional = validateOptional;
3605 - exports2.validateOptionalType = validateOptionalType;
3606 - exports2.validateType = validateType;
3607 - var _is = require_is();
3608 - var _validate = require_validate();
3609 - var VISITOR_KEYS = exports2.VISITOR_KEYS = {};
3610 - var ALIAS_KEYS = exports2.ALIAS_KEYS = {};
3611 - var FLIPPED_ALIAS_KEYS = exports2.FLIPPED_ALIAS_KEYS = {};
3612 - var NODE_FIELDS = exports2.NODE_FIELDS = {};
3613 - var BUILDER_KEYS = exports2.BUILDER_KEYS = {};
3614 - var DEPRECATED_KEYS = exports2.DEPRECATED_KEYS = {};
3615 - var NODE_PARENT_VALIDATIONS = exports2.NODE_PARENT_VALIDATIONS = {};
3616 - var NODE_UNION_SHAPES__PRIVATE = exports2.NODE_UNION_SHAPES__PRIVATE = {};
3617 - function getType(val) {
3618 - if (Array.isArray(val)) {
3619 - return "array";
3620 - } else if (val === null) {
3621 - return "null";
3622 - } else {
3623 - return typeof val;
3624 - }
3625 - }
3626 - function validate(validate2) {
3627 - return {
3628 - validate: validate2
3629 - };
3630 - }
3631 - function validateType(...typeNames) {
3632 - return validate(assertNodeType(...typeNames));
3633 - }
3634 - function validateOptional(validate2) {
3635 - return {
3636 - validate: validate2,
3637 - optional: true
3638 - };
3639 - }
3640 - function validateOptionalType(...typeNames) {
3641 - return {
3642 - validate: assertNodeType(...typeNames),
3643 - optional: true
3644 - };
3645 - }
3646 - function arrayOf(elementType) {
3647 - return chain(assertValueType("array"), assertEach(elementType));
3648 - }
3649 - function arrayOfType(...typeNames) {
3650 - return arrayOf(assertNodeType(...typeNames));
3651 - }
3652 - function validateArrayOfType(...typeNames) {
3653 - return validate(arrayOfType(...typeNames));
3654 - }
3655 - function assertEach(callback) {
3656 - const childValidator = process.env.BABEL_TYPES_8_BREAKING ? _validate.validateChild : () => {
3657 - };
3658 - function validator(node, key, val) {
3659 - if (!Array.isArray(val)) return;
3660 - let i = 0;
3661 - const subKey = {
3662 - toString() {
3663 - return `${key}[${i}]`;
3664 - }
3665 - };
3666 - for (; i < val.length; i++) {
3667 - const v = val[i];
3668 - callback(node, subKey, v);
3669 - childValidator(node, subKey, v);
3670 - }
3671 - }
3672 - validator.each = callback;
3673 - return validator;
3674 - }
3675 - function assertOneOf(...values) {
3676 - function validate2(node, key, val) {
3677 - if (!values.includes(val)) {
3678 - throw new TypeError(`Property ${key} expected value to be one of ${JSON.stringify(values)} but got ${JSON.stringify(val)}`);
3679 - }
3680 - }
3681 - validate2.oneOf = values;
3682 - return validate2;
3683 - }
3684 - var allExpandedTypes = exports2.allExpandedTypes = [];
3685 - function assertNodeType(...types2) {
3686 - const expandedTypes = /* @__PURE__ */ new Set();
3687 - allExpandedTypes.push({
3688 - types: types2,
3689 - set: expandedTypes
3690 - });
3691 - function validate2(node, key, val) {
3692 - const valType = val == null ? void 0 : val.type;
3693 - if (valType != null) {
3694 - if (expandedTypes.has(valType)) {
3695 - (0, _validate.validateChild)(node, key, val);
3696 - return;
3697 - }
3698 - if (valType === "Placeholder") {
3699 - for (const type of types2) {
3700 - if ((0, _is.default)(type, val)) {
3701 - (0, _validate.validateChild)(node, key, val);
3702 - return;
3703 - }
3704 - }
3705 - }
3706 - }
3707 - throw new TypeError(`Property ${key} of ${node.type} expected node to be of a type ${JSON.stringify(types2)} but instead got ${JSON.stringify(valType)}`);
3708 - }
3709 - validate2.oneOfNodeTypes = types2;
3710 - return validate2;
3711 - }
3712 - function assertNodeOrValueType(...types2) {
3713 - function validate2(node, key, val) {
3714 - const primitiveType = getType(val);
3715 - for (const type of types2) {
3716 - if (primitiveType === type || (0, _is.default)(type, val)) {
3717 - (0, _validate.validateChild)(node, key, val);
3718 - return;
3719 - }
3720 - }
3721 - throw new TypeError(`Property ${key} of ${node.type} expected node to be of a type ${JSON.stringify(types2)} but instead got ${JSON.stringify(val == null ? void 0 : val.type)}`);
3722 - }
3723 - validate2.oneOfNodeOrValueTypes = types2;
3724 - return validate2;
3725 - }
3726 - function assertValueType(type) {
3727 - function validate2(node, key, val) {
3728 - if (getType(val) === type) {
3729 - return;
3730 - }
3731 - throw new TypeError(`Property ${key} expected type of ${type} but got ${getType(val)}`);
3732 - }
3733 - validate2.type = type;
3734 - return validate2;
3735 - }
3736 - function assertShape(shape) {
3737 - const keys = Object.keys(shape);
3738 - function validate2(node, key, val) {
3739 - const errors = [];
3740 - for (const property of keys) {
3741 - try {
3742 - (0, _validate.validateField)(node, property, val[property], shape[property]);
3743 - } catch (error) {
3744 - if (error instanceof TypeError) {
3745 - errors.push(error.message);
3746 - continue;
3747 - }
3748 - throw error;
3749 - }
3750 - }
3751 - if (errors.length) {
3752 - throw new TypeError(`Property ${key} of ${node.type} expected to have the following:
3753 -${errors.join("\n")}`);
3754 - }
3755 - }
3756 - validate2.shapeOf = shape;
3757 - return validate2;
3758 - }
3759 - function assertOptionalChainStart() {
3760 - function validate2(node) {
3761 - var _current;
3762 - let current = node;
3763 - while (node) {
3764 - const {
3765 - type
3766 - } = current;
3767 - if (type === "OptionalCallExpression") {
3768 - if (current.optional) return;
3769 - current = current.callee;
3770 - continue;
3771 - }
3772 - if (type === "OptionalMemberExpression") {
3773 - if (current.optional) return;
3774 - current = current.object;
3775 - continue;
3776 - }
3777 - break;
3778 - }
3779 - throw new TypeError(`Non-optional ${node.type} must chain from an optional OptionalMemberExpression or OptionalCallExpression. Found chain from ${(_current = current) == null ? void 0 : _current.type}`);
3780 - }
3781 - return validate2;
3782 - }
3783 - function chain(...fns) {
3784 - function validate2(...args) {
3785 - for (const fn of fns) {
3786 - fn(...args);
3787 - }
3788 - }
3789 - validate2.chainOf = fns;
3790 - if (fns.length >= 2 && "type" in fns[0] && fns[0].type === "array" && !("each" in fns[1])) {
3791 - throw new Error(`An assertValueType("array") validator can only be followed by an assertEach(...) validator.`);
3792 - }
3793 - return validate2;
3794 - }
3795 - var validTypeOpts = /* @__PURE__ */ new Set(["aliases", "builder", "deprecatedAlias", "fields", "inherits", "visitor", "validate", "unionShape"]);
3796 - var validFieldKeys = /* @__PURE__ */ new Set(["default", "optional", "deprecated", "validate"]);
3797 - var store = {};
3798 - function defineAliasedType(...aliases) {
3799 - return (type, opts = {}) => {
3800 - let defined = opts.aliases;
3801 - if (!defined) {
3802 - var _store$opts$inherits$;
3803 - if (opts.inherits) defined = (_store$opts$inherits$ = store[opts.inherits].aliases) == null ? void 0 : _store$opts$inherits$.slice();
3804 - defined != null ? defined : defined = [];
3805 - opts.aliases = defined;
3806 - }
3807 - const additional = aliases.filter((a) => !defined.includes(a));
3808 - defined.unshift(...additional);
3809 - defineType(type, opts);
3810 - };
3811 - }
3812 - function defineType(type, opts = {}) {
3813 - const inherits = opts.inherits && store[opts.inherits] || {};
3814 - let fields = opts.fields;
3815 - if (!fields) {
3816 - fields = {};
3817 - if (inherits.fields) {
3818 - const keys = Object.getOwnPropertyNames(inherits.fields);
3819 - for (const key of keys) {
3820 - const field = inherits.fields[key];
3821 - const def = field.default;
3822 - if (Array.isArray(def) ? def.length > 0 : def && typeof def === "object") {
3823 - throw new Error("field defaults can only be primitives or empty arrays currently");
3824 - }
3825 - fields[key] = {
3826 - default: Array.isArray(def) ? [] : def,
3827 - optional: field.optional,
3828 - deprecated: field.deprecated,
3829 - validate: field.validate
3830 - };
3831 - }
3832 - }
3833 - }
3834 - const visitor = opts.visitor || inherits.visitor || [];
3835 - const aliases = opts.aliases || inherits.aliases || [];
3836 - const builder = opts.builder || inherits.builder || opts.visitor || [];
3837 - for (const k of Object.keys(opts)) {
3838 - if (!validTypeOpts.has(k)) {
3839 - throw new Error(`Unknown type option "${k}" on ${type}`);
3840 - }
3841 - }
3842 - if (opts.deprecatedAlias) {
3843 - DEPRECATED_KEYS[opts.deprecatedAlias] = type;
3844 - }
3845 - for (const key of visitor.concat(builder)) {
3846 - fields[key] = fields[key] || {};
3847 - }
3848 - for (const key of Object.keys(fields)) {
3849 - const field = fields[key];
3850 - if (field.default !== void 0 && !builder.includes(key)) {
3851 - field.optional = true;
3852 - }
3853 - if (field.default === void 0) {
3854 - field.default = null;
3855 - } else if (!field.validate && field.default != null) {
3856 - field.validate = assertValueType(getType(field.default));
3857 - }
3858 - for (const k of Object.keys(field)) {
3859 - if (!validFieldKeys.has(k)) {
3860 - throw new Error(`Unknown field key "${k}" on ${type}.${key}`);
3861 - }
3862 - }
3863 - }
3864 - VISITOR_KEYS[type] = opts.visitor = visitor;
3865 - BUILDER_KEYS[type] = opts.builder = builder;
3866 - NODE_FIELDS[type] = opts.fields = fields;
3867 - ALIAS_KEYS[type] = opts.aliases = aliases;
3868 - aliases.forEach((alias) => {
3869 - FLIPPED_ALIAS_KEYS[alias] = FLIPPED_ALIAS_KEYS[alias] || [];
3870 - FLIPPED_ALIAS_KEYS[alias].push(type);
3871 - });
3872 - if (opts.validate) {
3873 - NODE_PARENT_VALIDATIONS[type] = opts.validate;
3874 - }
3875 - if (opts.unionShape) {
3876 - NODE_UNION_SHAPES__PRIVATE[type] = opts.unionShape;
3877 - }
3878 - store[type] = opts;
3879 - }
3880 - }
3881 -});
3882 -
3883 -// node_modules/@babel/types/lib/definitions/core.js
3884 -var require_core = __commonJS({
3885 - "node_modules/@babel/types/lib/definitions/core.js"(exports2) {
3886 - "use strict";
3887 - Object.defineProperty(exports2, "__esModule", {
3888 - value: true
3889 - });
3890 - exports2.patternLikeCommon = exports2.importAttributes = exports2.functionTypeAnnotationCommon = exports2.functionDeclarationCommon = exports2.functionCommon = exports2.classMethodOrPropertyUnionShapeCommon = exports2.classMethodOrPropertyCommon = exports2.classMethodOrDeclareMethodCommon = void 0;
3891 - var _is = require_is();
3892 - var _isValidIdentifier = require_isValidIdentifier();
3893 - var _helperValidatorIdentifier = require_lib();
3894 - var _helperStringParser = require_lib2();
3895 - var _index = require_constants();
3896 - var _utils = require_utils();
3897 - var classMethodOrPropertyUnionShapeCommon = (allowPrivateName = false) => ({
3898 - unionShape: {
3899 - discriminator: "computed",
3900 - shapes: [{
3901 - name: "computed",
3902 - value: [true],
3903 - properties: {
3904 - key: {
3905 - validate: (0, _utils.assertNodeType)("Expression")
3906 - }
3907 - }
3908 - }, {
3909 - name: "nonComputed",
3910 - value: [false],
3911 - properties: {
3912 - key: {
3913 - validate: allowPrivateName ? (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "PrivateName") : (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral")
3914 - }
3915 - }
3916 - }]
3917 - }
3918 - });
3919 - exports2.classMethodOrPropertyUnionShapeCommon = classMethodOrPropertyUnionShapeCommon;
3920 - var defineType = (0, _utils.defineAliasedType)("Standardized");
3921 - defineType("ArrayExpression", {
3922 - fields: {
3923 - elements: {
3924 - validate: (0, _utils.arrayOf)((0, _utils.assertNodeOrValueType)("null", "Expression", "SpreadElement")),
3925 - default: !process.env.BABEL_TYPES_8_BREAKING ? [] : void 0
3926 - }
3927 - },
3928 - visitor: ["elements"],
3929 - aliases: ["Expression"]
3930 - });
3931 - defineType("AssignmentExpression", {
3932 - fields: {
3933 - operator: {
3934 - validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertValueType)("string") : Object.assign((function() {
3935 - const identifier = (0, _utils.assertOneOf)(..._index.ASSIGNMENT_OPERATORS);
3936 - const pattern = (0, _utils.assertOneOf)("=");
3937 - return function(node, key, val) {
3938 - const validator = (0, _is.default)("Pattern", node.left) ? pattern : identifier;
3939 - validator(node, key, val);
3940 - };
3941 - })(), {
3942 - oneOf: _index.ASSIGNMENT_OPERATORS
3943 - })
3944 - },
3945 - left: {
3946 - validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertNodeType)("LVal", "OptionalMemberExpression") : (0, _utils.assertNodeType)("Identifier", "MemberExpression", "OptionalMemberExpression", "ArrayPattern", "ObjectPattern", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression")
3947 - },
3948 - right: {
3949 - validate: (0, _utils.assertNodeType)("Expression")
3950 - }
3951 - },
3952 - builder: ["operator", "left", "right"],
3953 - visitor: ["left", "right"],
3954 - aliases: ["Expression"]
3955 - });
3956 - defineType("BinaryExpression", {
3957 - builder: ["operator", "left", "right"],
3958 - fields: {
3959 - operator: {
3960 - validate: (0, _utils.assertOneOf)(..._index.BINARY_OPERATORS)
3961 - },
3962 - left: {
3963 - validate: (function() {
3964 - const expression = (0, _utils.assertNodeType)("Expression");
3965 - const inOp = (0, _utils.assertNodeType)("Expression", "PrivateName");
3966 - const validator = Object.assign(function(node, key, val) {
3967 - const validator2 = node.operator === "in" ? inOp : expression;
3968 - validator2(node, key, val);
3969 - }, {
3970 - oneOfNodeTypes: ["Expression", "PrivateName"]
3971 - });
3972 - return validator;
3973 - })()
3974 - },
3975 - right: {
3976 - validate: (0, _utils.assertNodeType)("Expression")
3977 - }
3978 - },
3979 - visitor: ["left", "right"],
3980 - aliases: ["Binary", "Expression"]
3981 - });
3982 - defineType("InterpreterDirective", {
3983 - builder: ["value"],
3984 - fields: {
3985 - value: {
3986 - validate: (0, _utils.assertValueType)("string")
3987 - }
3988 - }
3989 - });
3990 - defineType("Directive", {
3991 - visitor: ["value"],
3992 - fields: {
3993 - value: {
3994 - validate: (0, _utils.assertNodeType)("DirectiveLiteral")
3995 - }
3996 - }
3997 - });
3998 - defineType("DirectiveLiteral", {
3999 - builder: ["value"],
4000 - fields: {
4001 - value: {
4002 - validate: (0, _utils.assertValueType)("string")
4003 - }
4004 - }
4005 - });
4006 - defineType("BlockStatement", {
4007 - builder: ["body", "directives"],
4008 - visitor: ["directives", "body"],
4009 - fields: {
4010 - directives: {
4011 - validate: (0, _utils.arrayOfType)("Directive"),
4012 - default: []
4013 - },
4014 - body: (0, _utils.validateArrayOfType)("Statement")
4015 - },
4016 - aliases: ["Scopable", "BlockParent", "Block", "Statement"]
4017 - });
4018 - defineType("BreakStatement", {
4019 - visitor: ["label"],
4020 - fields: {
4021 - label: {
4022 - validate: (0, _utils.assertNodeType)("Identifier"),
4023 - optional: true
4024 - }
4025 - },
4026 - aliases: ["Statement", "Terminatorless", "CompletionStatement"]
4027 - });
4028 - defineType("CallExpression", {
4029 - visitor: ["callee", "typeParameters", "typeArguments", "arguments"],
4030 - builder: ["callee", "arguments"],
4031 - aliases: ["Expression"],
4032 - fields: Object.assign({
4033 - callee: {
4034 - validate: (0, _utils.assertNodeType)("Expression", "Super", "V8IntrinsicIdentifier")
4035 - },
4036 - arguments: (0, _utils.validateArrayOfType)("Expression", "SpreadElement", "ArgumentPlaceholder"),
4037 - typeArguments: {
4038 - validate: (0, _utils.assertNodeType)("TypeParameterInstantiation"),
4039 - optional: true
4040 - }
4041 - }, process.env.BABEL_TYPES_8_BREAKING ? {} : {
4042 - optional: {
4043 - validate: (0, _utils.assertValueType)("boolean"),
4044 - optional: true
4045 - },
4046 - typeParameters: {
4047 - validate: (0, _utils.assertNodeType)("TSTypeParameterInstantiation"),
4048 - optional: true
4049 - }
4050 - })
4051 - });
4052 - defineType("CatchClause", {
4053 - visitor: ["param", "body"],
4054 - fields: {
4055 - param: {
4056 - validate: (0, _utils.assertNodeType)("Identifier", "ArrayPattern", "ObjectPattern"),
4057 - optional: true
4058 - },
4059 - body: {
4060 - validate: (0, _utils.assertNodeType)("BlockStatement")
4061 - }
4062 - },
4063 - aliases: ["Scopable", "BlockParent"]
4064 - });
4065 - defineType("ConditionalExpression", {
4066 - visitor: ["test", "consequent", "alternate"],
4067 - fields: {
4068 - test: {
4069 - validate: (0, _utils.assertNodeType)("Expression")
4070 - },
4071 - consequent: {
4072 - validate: (0, _utils.assertNodeType)("Expression")
4073 - },
4074 - alternate: {
4075 - validate: (0, _utils.assertNodeType)("Expression")
4076 - }
4077 - },
4078 - aliases: ["Expression", "Conditional"]
4079 - });
4080 - defineType("ContinueStatement", {
4081 - visitor: ["label"],
4082 - fields: {
4083 - label: {
4084 - validate: (0, _utils.assertNodeType)("Identifier"),
4085 - optional: true
4086 - }
4087 - },
4088 - aliases: ["Statement", "Terminatorless", "CompletionStatement"]
4089 - });
4090 - defineType("DebuggerStatement", {
4091 - aliases: ["Statement"]
4092 - });
4093 - defineType("DoWhileStatement", {
4094 - builder: ["test", "body"],
4095 - visitor: ["body", "test"],
4096 - fields: {
4097 - test: {
4098 - validate: (0, _utils.assertNodeType)("Expression")
4099 - },
4100 - body: {
4101 - validate: (0, _utils.assertNodeType)("Statement")
4102 - }
4103 - },
4104 - aliases: ["Statement", "BlockParent", "Loop", "While", "Scopable"]
4105 - });
4106 - defineType("EmptyStatement", {
4107 - aliases: ["Statement"]
4108 - });
4109 - defineType("ExpressionStatement", {
4110 - visitor: ["expression"],
4111 - fields: {
4112 - expression: {
4113 - validate: (0, _utils.assertNodeType)("Expression")
4114 - }
4115 - },
4116 - aliases: ["Statement", "ExpressionWrapper"]
4117 - });
4118 - defineType("File", {
4119 - builder: ["program", "comments", "tokens"],
4120 - visitor: ["program"],
4121 - fields: {
4122 - program: {
4123 - validate: (0, _utils.assertNodeType)("Program")
4124 - },
4125 - comments: {
4126 - validate: !process.env.BABEL_TYPES_8_BREAKING ? Object.assign(() => {
4127 - }, {
4128 - each: {
4129 - oneOfNodeTypes: ["CommentBlock", "CommentLine"]
4130 - }
4131 - }) : (0, _utils.assertEach)((0, _utils.assertNodeType)("CommentBlock", "CommentLine")),
4132 - optional: true
4133 - },
4134 - tokens: {
4135 - validate: (0, _utils.assertEach)(Object.assign(() => {
4136 - }, {
4137 - type: "any"
4138 - })),
4139 - optional: true
4140 - }
4141 - }
4142 - });
4143 - defineType("ForInStatement", {
4144 - visitor: ["left", "right", "body"],
4145 - aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop", "ForXStatement"],
4146 - fields: {
4147 - left: {
4148 - validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertNodeType)("VariableDeclaration", "LVal") : (0, _utils.assertNodeType)("VariableDeclaration", "Identifier", "MemberExpression", "ArrayPattern", "ObjectPattern", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression")
4149 - },
4150 - right: {
4151 - validate: (0, _utils.assertNodeType)("Expression")
4152 - },
4153 - body: {
4154 - validate: (0, _utils.assertNodeType)("Statement")
4155 - }
4156 - }
4157 - });
4158 - defineType("ForStatement", {
4159 - visitor: ["init", "test", "update", "body"],
4160 - aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop"],
4161 - fields: {
4162 - init: {
4163 - validate: (0, _utils.assertNodeType)("VariableDeclaration", "Expression"),
4164 - optional: true
4165 - },
4166 - test: {
4167 - validate: (0, _utils.assertNodeType)("Expression"),
4168 - optional: true
4169 - },
4170 - update: {
4171 - validate: (0, _utils.assertNodeType)("Expression"),
4172 - optional: true
4173 - },
4174 - body: {
4175 - validate: (0, _utils.assertNodeType)("Statement")
4176 - }
4177 - }
4178 - });
4179 - var functionCommon = () => ({
4180 - params: (0, _utils.validateArrayOfType)("FunctionParameter"),
4181 - generator: {
4182 - default: false
4183 - },
4184 - async: {
4185 - default: false
4186 - }
4187 - });
4188 - exports2.functionCommon = functionCommon;
4189 - var functionTypeAnnotationCommon = () => ({
4190 - returnType: {
4191 - validate: (0, _utils.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"),
4192 - optional: true
4193 - },
4194 - typeParameters: {
4195 - validate: (0, _utils.assertNodeType)("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"),
4196 - optional: true
4197 - }
4198 - });
4199 - exports2.functionTypeAnnotationCommon = functionTypeAnnotationCommon;
4200 - var functionDeclarationCommon = () => Object.assign({}, functionCommon(), {
4201 - declare: {
4202 - validate: (0, _utils.assertValueType)("boolean"),
4203 - optional: true
4204 - },
4205 - id: {
4206 - validate: (0, _utils.assertNodeType)("Identifier"),
4207 - optional: true
4208 - }
4209 - });
4210 - exports2.functionDeclarationCommon = functionDeclarationCommon;
4211 - defineType("FunctionDeclaration", {
4212 - builder: ["id", "params", "body", "generator", "async"],
4213 - visitor: ["id", "typeParameters", "params", "predicate", "returnType", "body"],
4214 - fields: Object.assign({}, functionDeclarationCommon(), functionTypeAnnotationCommon(), {
4215 - body: {
4216 - validate: (0, _utils.assertNodeType)("BlockStatement")
4217 - },
4218 - predicate: {
4219 - validate: (0, _utils.assertNodeType)("DeclaredPredicate", "InferredPredicate"),
4220 - optional: true
4221 - }
4222 - }),
4223 - aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Statement", "Pureish", "Declaration"],
4224 - validate: !process.env.BABEL_TYPES_8_BREAKING ? void 0 : (function() {
4225 - const identifier = (0, _utils.assertNodeType)("Identifier");
4226 - return function(parent, key, node) {
4227 - if (!(0, _is.default)("ExportDefaultDeclaration", parent)) {
4228 - identifier(node, "id", node.id);
4229 - }
4230 - };
4231 - })()
4232 - });
4233 - defineType("FunctionExpression", {
4234 - inherits: "FunctionDeclaration",
4235 - aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Expression", "Pureish"],
4236 - fields: Object.assign({}, functionCommon(), functionTypeAnnotationCommon(), {
4237 - id: {
4238 - validate: (0, _utils.assertNodeType)("Identifier"),
4239 - optional: true
4240 - },
4241 - body: {
4242 - validate: (0, _utils.assertNodeType)("BlockStatement")
4243 - },
4244 - predicate: {
4245 - validate: (0, _utils.assertNodeType)("DeclaredPredicate", "InferredPredicate"),
4246 - optional: true
4247 - }
4248 - })
4249 - });
4250 - var patternLikeCommon = () => ({
4251 - typeAnnotation: {
4252 - validate: (0, _utils.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"),
4253 - optional: true
4254 - },
4255 - optional: {
4256 - validate: (0, _utils.assertValueType)("boolean"),
4257 - optional: true
4258 - },
4259 - decorators: {
4260 - validate: (0, _utils.arrayOfType)("Decorator"),
4261 - optional: true
4262 - }
4263 - });
4264 - exports2.patternLikeCommon = patternLikeCommon;
4265 - defineType("Identifier", {
4266 - builder: ["name"],
4267 - visitor: ["typeAnnotation", "decorators"],
4268 - aliases: ["Expression", "FunctionParameter", "PatternLike", "LVal", "TSEntityName"],
4269 - fields: Object.assign({}, patternLikeCommon(), {
4270 - name: {
4271 - validate: process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.chain)((0, _utils.assertValueType)("string"), Object.assign(function(node, key, val) {
4272 - if (!(0, _isValidIdentifier.default)(val, false)) {
4273 - throw new TypeError(`"${val}" is not a valid identifier name`);
4274 - }
4275 - }, {
4276 - type: "string"
4277 - })) : (0, _utils.assertValueType)("string")
4278 - }
4279 - }),
4280 - validate: process.env.BABEL_TYPES_8_BREAKING ? function(parent, key, node) {
4281 - const match = /\.(\w+)$/.exec(key.toString());
4282 - if (!match) return;
4283 - const [, parentKey] = match;
4284 - const nonComp = {
4285 - computed: false
4286 - };
4287 - if (parentKey === "property") {
4288 - if ((0, _is.default)("MemberExpression", parent, nonComp)) return;
4289 - if ((0, _is.default)("OptionalMemberExpression", parent, nonComp)) return;
4290 - } else if (parentKey === "key") {
4291 - if ((0, _is.default)("Property", parent, nonComp)) return;
4292 - if ((0, _is.default)("Method", parent, nonComp)) return;
4293 - } else if (parentKey === "exported") {
4294 - if ((0, _is.default)("ExportSpecifier", parent)) return;
4295 - } else if (parentKey === "imported") {
4296 - if ((0, _is.default)("ImportSpecifier", parent, {
4297 - imported: node
4298 - })) return;
4299 - } else if (parentKey === "meta") {
4300 - if ((0, _is.default)("MetaProperty", parent, {
4301 - meta: node
4302 - })) return;
4303 - }
4304 - if (((0, _helperValidatorIdentifier.isKeyword)(node.name) || (0, _helperValidatorIdentifier.isReservedWord)(node.name, false)) && node.name !== "this") {
4305 - throw new TypeError(`"${node.name}" is not a valid identifier`);
4306 - }
4307 - } : void 0
4308 - });
4309 - defineType("IfStatement", {
4310 - visitor: ["test", "consequent", "alternate"],
4311 - aliases: ["Statement", "Conditional"],
4312 - fields: {
4313 - test: {
4314 - validate: (0, _utils.assertNodeType)("Expression")
4315 - },
4316 - consequent: {
4317 - validate: (0, _utils.assertNodeType)("Statement")
4318 - },
4319 - alternate: {
4320 - optional: true,
4321 - validate: (0, _utils.assertNodeType)("Statement")
4322 - }
4323 - }
4324 - });
4325 - defineType("LabeledStatement", {
4326 - visitor: ["label", "body"],
4327 - aliases: ["Statement"],
4328 - fields: {
4329 - label: {
4330 - validate: (0, _utils.assertNodeType)("Identifier")
4331 - },
4332 - body: {
4333 - validate: (0, _utils.assertNodeType)("Statement")
4334 - }
4335 - }
4336 - });
4337 - defineType("StringLiteral", {
4338 - builder: ["value"],
4339 - fields: {
4340 - value: {
4341 - validate: (0, _utils.assertValueType)("string")
4342 - }
4343 - },
4344 - aliases: ["Expression", "Pureish", "Literal", "Immutable"]
4345 - });
4346 - defineType("NumericLiteral", {
4347 - builder: ["value"],
4348 - deprecatedAlias: "NumberLiteral",
4349 - fields: {
4350 - value: {
4351 - validate: (0, _utils.chain)((0, _utils.assertValueType)("number"), Object.assign(function(node, key, val) {
4352 - if (1 / val < 0 || !Number.isFinite(val)) {
4353 - const error = new Error(`NumericLiterals must be non-negative finite numbers. You can use t.valueToNode(${val}) instead.`);
4354 - }
4355 - }, {
4356 - type: "number"
4357 - }))
4358 - }
4359 - },
4360 - aliases: ["Expression", "Pureish", "Literal", "Immutable"]
4361 - });
4362 - defineType("NullLiteral", {
4363 - aliases: ["Expression", "Pureish", "Literal", "Immutable"]
4364 - });
4365 - defineType("BooleanLiteral", {
4366 - builder: ["value"],
4367 - fields: {
4368 - value: {
4369 - validate: (0, _utils.assertValueType)("boolean")
4370 - }
4371 - },
4372 - aliases: ["Expression", "Pureish", "Literal", "Immutable"]
4373 - });
4374 - defineType("RegExpLiteral", {
4375 - builder: ["pattern", "flags"],
4376 - deprecatedAlias: "RegexLiteral",
4377 - aliases: ["Expression", "Pureish", "Literal"],
4378 - fields: {
4379 - pattern: {
4380 - validate: (0, _utils.assertValueType)("string")
4381 - },
4382 - flags: {
4383 - validate: process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.chain)((0, _utils.assertValueType)("string"), Object.assign(function(node, key, val) {
4384 - const invalid = /[^dgimsuvy]/.exec(val);
4385 - if (invalid) {
4386 - throw new TypeError(`"${invalid[0]}" is not a valid RegExp flag`);
4387 - }
4388 - }, {
4389 - type: "string"
4390 - })) : (0, _utils.assertValueType)("string"),
4391 - default: ""
4392 - }
4393 - }
4394 - });
4395 - defineType("LogicalExpression", {
4396 - builder: ["operator", "left", "right"],
4397 - visitor: ["left", "right"],
4398 - aliases: ["Binary", "Expression"],
4399 - fields: {
4400 - operator: {
4401 - validate: (0, _utils.assertOneOf)(..._index.LOGICAL_OPERATORS)
4402 - },
4403 - left: {
4404 - validate: (0, _utils.assertNodeType)("Expression")
4405 - },
4406 - right: {
4407 - validate: (0, _utils.assertNodeType)("Expression")
4408 - }
4409 - }
4410 - });
4411 - defineType("MemberExpression", {
4412 - builder: ["object", "property", "computed", ...!process.env.BABEL_TYPES_8_BREAKING ? ["optional"] : []],
4413 - visitor: ["object", "property"],
4414 - aliases: ["Expression", "LVal", "PatternLike"],
4415 - unionShape: {
4416 - discriminator: "computed",
4417 - shapes: [{
4418 - name: "computed",
4419 - value: [true],
4420 - properties: {
4421 - property: {
4422 - validate: (0, _utils.assertNodeType)("Expression")
4423 - }
4424 - }
4425 - }, {
4426 - name: "nonComputed",
4427 - value: [false],
4428 - properties: {
4429 - property: {
4430 - validate: (0, _utils.assertNodeType)("Identifier", "PrivateName")
4431 - }
4432 - }
4433 - }]
4434 - },
4435 - fields: Object.assign({
4436 - object: {
4437 - validate: (0, _utils.assertNodeType)("Expression", "Super")
4438 - },
4439 - property: {
4440 - validate: (function() {
4441 - const normal = (0, _utils.assertNodeType)("Identifier", "PrivateName");
4442 - const computed = (0, _utils.assertNodeType)("Expression");
4443 - const validator = function(node, key, val) {
4444 - const validator2 = node.computed ? computed : normal;
4445 - validator2(node, key, val);
4446 - };
4447 - validator.oneOfNodeTypes = ["Expression", "Identifier", "PrivateName"];
4448 - return validator;
4449 - })()
4450 - },
4451 - computed: {
4452 - default: false
4453 - }
4454 - }, !process.env.BABEL_TYPES_8_BREAKING ? {
4455 - optional: {
4456 - validate: (0, _utils.assertValueType)("boolean"),
4457 - optional: true
4458 - }
4459 - } : {})
4460 - });
4461 - defineType("NewExpression", {
4462 - inherits: "CallExpression"
4463 - });
4464 - defineType("Program", {
4465 - visitor: ["directives", "body"],
4466 - builder: ["body", "directives", "sourceType", "interpreter"],
4467 - fields: {
4468 - sourceType: {
4469 - validate: (0, _utils.assertOneOf)("script", "module"),
4470 - default: "script"
4471 - },
4472 - interpreter: {
4473 - validate: (0, _utils.assertNodeType)("InterpreterDirective"),
4474 - default: null,
4475 - optional: true
4476 - },
4477 - directives: {
4478 - validate: (0, _utils.arrayOfType)("Directive"),
4479 - default: []
4480 - },
4481 - body: (0, _utils.validateArrayOfType)("Statement")
4482 - },
4483 - aliases: ["Scopable", "BlockParent", "Block"]
4484 - });
4485 - defineType("ObjectExpression", {
4486 - visitor: ["properties"],
4487 - aliases: ["Expression"],
4488 - fields: {
4489 - properties: (0, _utils.validateArrayOfType)("ObjectMethod", "ObjectProperty", "SpreadElement")
4490 - }
4491 - });
4492 - defineType("ObjectMethod", Object.assign({
4493 - builder: ["kind", "key", "params", "body", "computed", "generator", "async"],
4494 - visitor: ["decorators", "key", "typeParameters", "params", "returnType", "body"]
4495 - }, classMethodOrPropertyUnionShapeCommon(), {
4496 - fields: Object.assign({}, functionCommon(), functionTypeAnnotationCommon(), {
4497 - kind: Object.assign({
4498 - validate: (0, _utils.assertOneOf)("method", "get", "set")
4499 - }, !process.env.BABEL_TYPES_8_BREAKING ? {
4500 - default: "method"
4501 - } : {}),
4502 - computed: {
4503 - default: false
4504 - },
4505 - key: {
4506 - validate: (function() {
4507 - const normal = (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral");
4508 - const computed = (0, _utils.assertNodeType)("Expression");
4509 - const validator = function(node, key, val) {
4510 - const validator2 = node.computed ? computed : normal;
4511 - validator2(node, key, val);
4512 - };
4513 - validator.oneOfNodeTypes = ["Expression", "Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral"];
4514 - return validator;
4515 - })()
4516 - },
4517 - decorators: {
4518 - validate: (0, _utils.arrayOfType)("Decorator"),
4519 - optional: true
4520 - },
4521 - body: {
4522 - validate: (0, _utils.assertNodeType)("BlockStatement")
4523 - }
4524 - }),
4525 - aliases: ["UserWhitespacable", "Function", "Scopable", "BlockParent", "FunctionParent", "Method", "ObjectMember"]
4526 - }));
4527 - defineType("ObjectProperty", {
4528 - builder: ["key", "value", "computed", "shorthand", ...!process.env.BABEL_TYPES_8_BREAKING ? ["decorators"] : []],
4529 - unionShape: {
4530 - discriminator: "computed",
4531 - shapes: [{
4532 - name: "computed",
4533 - value: [true],
4534 - properties: {
4535 - key: {
4536 - validate: (0, _utils.assertNodeType)("Expression")
4537 - }
4538 - }
4539 - }, {
4540 - name: "nonComputed",
4541 - value: [false],
4542 - properties: {
4543 - key: {
4544 - validate: (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "DecimalLiteral", "PrivateName")
4545 - }
4546 - }
4547 - }]
4548 - },
4549 - fields: {
4550 - computed: {
4551 - default: false
4552 - },
4553 - key: {
4554 - validate: (function() {
4555 - const normal = (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "DecimalLiteral", "PrivateName");
4556 - const computed = (0, _utils.assertNodeType)("Expression");
4557 - const validator = Object.assign(function(node, key, val) {
4558 - const validator2 = node.computed ? computed : normal;
4559 - validator2(node, key, val);
4560 - }, {
4561 - oneOfNodeTypes: ["Expression", "Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "DecimalLiteral", "PrivateName"]
4562 - });
4563 - return validator;
4564 - })()
4565 - },
4566 - value: {
4567 - validate: (0, _utils.assertNodeType)("Expression", "PatternLike")
4568 - },
4569 - shorthand: {
4570 - validate: process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.chain)((0, _utils.assertValueType)("boolean"), Object.assign(function(node, key, shorthand) {
4571 - if (!shorthand) return;
4572 - if (node.computed) {
4573 - throw new TypeError("Property shorthand of ObjectProperty cannot be true if computed is true");
4574 - }
4575 - if (!(0, _is.default)("Identifier", node.key)) {
4576 - throw new TypeError("Property shorthand of ObjectProperty cannot be true if key is not an Identifier");
4577 - }
4578 - }, {
4579 - type: "boolean"
4580 - })) : (0, _utils.assertValueType)("boolean"),
4581 - default: false
4582 - },
4583 - decorators: {
4584 - validate: (0, _utils.arrayOfType)("Decorator"),
4585 - optional: true
4586 - }
4587 - },
4588 - visitor: ["decorators", "key", "value"],
4589 - aliases: ["UserWhitespacable", "Property", "ObjectMember"],
4590 - validate: !process.env.BABEL_TYPES_8_BREAKING ? void 0 : (function() {
4591 - const pattern = (0, _utils.assertNodeType)("Identifier", "Pattern", "TSAsExpression", "TSSatisfiesExpression", "TSNonNullExpression", "TSTypeAssertion");
4592 - const expression = (0, _utils.assertNodeType)("Expression");
4593 - return function(parent, key, node) {
4594 - const validator = (0, _is.default)("ObjectPattern", parent) ? pattern : expression;
4595 - validator(node, "value", node.value);
4596 - };
4597 - })()
4598 - });
4599 - defineType("RestElement", {
4600 - visitor: ["argument", "typeAnnotation"],
4601 - builder: ["argument"],
4602 - aliases: ["FunctionParameter", "PatternLike", "LVal"],
4603 - deprecatedAlias: "RestProperty",
4604 - fields: Object.assign({}, patternLikeCommon(), {
4605 - argument: {
4606 - validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertNodeType)("Identifier", "ArrayPattern", "ObjectPattern", "MemberExpression", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression", "RestElement", "AssignmentPattern") : (0, _utils.assertNodeType)("Identifier", "ArrayPattern", "ObjectPattern", "MemberExpression", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression")
4607 - }
4608 - }),
4609 - validate: process.env.BABEL_TYPES_8_BREAKING ? function(parent, key) {
4610 - const match = /(\w+)\[(\d+)\]/.exec(key.toString());
4611 - if (!match) throw new Error("Internal Babel error: malformed key.");
4612 - const [, listKey, index] = match;
4613 - if (parent[listKey].length > +index + 1) {
4614 - throw new TypeError(`RestElement must be last element of ${listKey}`);
4615 - }
4616 - } : void 0
4617 - });
4618 - defineType("ReturnStatement", {
4619 - visitor: ["argument"],
4620 - aliases: ["Statement", "Terminatorless", "CompletionStatement"],
4621 - fields: {
4622 - argument: {
4623 - validate: (0, _utils.assertNodeType)("Expression"),
4624 - optional: true
4625 - }
4626 - }
4627 - });
4628 - defineType("SequenceExpression", {
4629 - visitor: ["expressions"],
4630 - fields: {
4631 - expressions: (0, _utils.validateArrayOfType)("Expression")
4632 - },
4633 - aliases: ["Expression"]
4634 - });
4635 - defineType("ParenthesizedExpression", {
4636 - visitor: ["expression"],
4637 - aliases: ["Expression", "ExpressionWrapper"],
4638 - fields: {
4639 - expression: {
4640 - validate: (0, _utils.assertNodeType)("Expression")
4641 - }
4642 - }
4643 - });
4644 - defineType("SwitchCase", {
4645 - visitor: ["test", "consequent"],
4646 - fields: {
4647 - test: {
4648 - validate: (0, _utils.assertNodeType)("Expression"),
4649 - optional: true
4650 - },
4651 - consequent: (0, _utils.validateArrayOfType)("Statement")
4652 - }
4653 - });
4654 - defineType("SwitchStatement", {
4655 - visitor: ["discriminant", "cases"],
4656 - aliases: ["Statement", "BlockParent", "Scopable"],
4657 - fields: {
4658 - discriminant: {
4659 - validate: (0, _utils.assertNodeType)("Expression")
4660 - },
4661 - cases: (0, _utils.validateArrayOfType)("SwitchCase")
4662 - }
4663 - });
4664 - defineType("ThisExpression", {
4665 - aliases: ["Expression"]
4666 - });
4667 - defineType("ThrowStatement", {
4668 - visitor: ["argument"],
4669 - aliases: ["Statement", "Terminatorless", "CompletionStatement"],
4670 - fields: {
4671 - argument: {
4672 - validate: (0, _utils.assertNodeType)("Expression")
4673 - }
4674 - }
4675 - });
4676 - defineType("TryStatement", {
4677 - visitor: ["block", "handler", "finalizer"],
4678 - aliases: ["Statement"],
4679 - fields: {
4680 - block: {
4681 - validate: process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.chain)((0, _utils.assertNodeType)("BlockStatement"), Object.assign(function(node) {
4682 - if (!node.handler && !node.finalizer) {
4683 - throw new TypeError("TryStatement expects either a handler or finalizer, or both");
4684 - }
4685 - }, {
4686 - oneOfNodeTypes: ["BlockStatement"]
4687 - })) : (0, _utils.assertNodeType)("BlockStatement")
4688 - },
4689 - handler: {
4690 - optional: true,
4691 - validate: (0, _utils.assertNodeType)("CatchClause")
4692 - },
4693 - finalizer: {
4694 - optional: true,
4695 - validate: (0, _utils.assertNodeType)("BlockStatement")
4696 - }
4697 - }
4698 - });
4699 - defineType("UnaryExpression", {
4700 - builder: ["operator", "argument", "prefix"],
4701 - fields: {
4702 - prefix: {
4703 - default: true
4704 - },
4705 - argument: {
4706 - validate: (0, _utils.assertNodeType)("Expression")
4707 - },
4708 - operator: {
4709 - validate: (0, _utils.assertOneOf)(..._index.UNARY_OPERATORS)
4710 - }
4711 - },
4712 - visitor: ["argument"],
4713 - aliases: ["UnaryLike", "Expression"]
4714 - });
4715 - defineType("UpdateExpression", {
4716 - builder: ["operator", "argument", "prefix"],
4717 - fields: {
4718 - prefix: {
4719 - default: false
4720 - },
4721 - argument: {
4722 - validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertNodeType)("Expression") : (0, _utils.assertNodeType)("Identifier", "MemberExpression")
4723 - },
4724 - operator: {
4725 - validate: (0, _utils.assertOneOf)(..._index.UPDATE_OPERATORS)
4726 - }
4727 - },
4728 - visitor: ["argument"],
4729 - aliases: ["Expression"]
4730 - });
4731 - defineType("VariableDeclaration", {
4732 - builder: ["kind", "declarations"],
4733 - visitor: ["declarations"],
4734 - aliases: ["Statement", "Declaration"],
4735 - fields: {
4736 - declare: {
4737 - validate: (0, _utils.assertValueType)("boolean"),
4738 - optional: true
4739 - },
4740 - kind: {
4741 - validate: (0, _utils.assertOneOf)("var", "let", "const", "using", "await using")
4742 - },
4743 - declarations: (0, _utils.validateArrayOfType)("VariableDeclarator")
4744 - },
4745 - validate: process.env.BABEL_TYPES_8_BREAKING ? (() => {
4746 - const withoutInit = (0, _utils.assertNodeType)("Identifier", "Placeholder");
4747 - const constOrLetOrVar = (0, _utils.assertNodeType)("Identifier", "ArrayPattern", "ObjectPattern", "Placeholder");
4748 - const usingOrAwaitUsing = (0, _utils.assertNodeType)("Identifier", "VoidPattern", "Placeholder");
4749 - return function(parent, key, node) {
4750 - const {
4751 - kind,
4752 - declarations
4753 - } = node;
4754 - const parentIsForX = (0, _is.default)("ForXStatement", parent, {
4755 - left: node
4756 - });
4757 - if (parentIsForX) {
4758 - if (declarations.length !== 1) {
4759 - throw new TypeError(`Exactly one VariableDeclarator is required in the VariableDeclaration of a ${parent.type}`);
4760 - }
4761 - }
4762 - for (const decl of declarations) {
4763 - if (kind === "const" || kind === "let" || kind === "var") {
4764 - if (!parentIsForX && !decl.init) {
4765 - withoutInit(decl, "id", decl.id);
4766 - } else {
4767 - constOrLetOrVar(decl, "id", decl.id);
4768 - }
4769 - } else {
4770 - usingOrAwaitUsing(decl, "id", decl.id);
4771 - }
4772 - }
4773 - };
4774 - })() : void 0
4775 - });
4776 - defineType("VariableDeclarator", {
4777 - visitor: ["id", "init"],
4778 - fields: {
4779 - id: {
4780 - validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertNodeType)("LVal", "VoidPattern") : (0, _utils.assertNodeType)("Identifier", "ArrayPattern", "ObjectPattern", "VoidPattern")
4781 - },
4782 - definite: {
4783 - optional: true,
4784 - validate: (0, _utils.assertValueType)("boolean")
4785 - },
4786 - init: {
4787 - optional: true,
4788 - validate: (0, _utils.assertNodeType)("Expression")
4789 - }
4790 - }
4791 - });
4792 - defineType("WhileStatement", {
4793 - visitor: ["test", "body"],
4794 - aliases: ["Statement", "BlockParent", "Loop", "While", "Scopable"],
4795 - fields: {
4796 - test: {
4797 - validate: (0, _utils.assertNodeType)("Expression")
4798 - },
4799 - body: {
4800 - validate: (0, _utils.assertNodeType)("Statement")
4801 - }
4802 - }
4803 - });
4804 - defineType("WithStatement", {
4805 - visitor: ["object", "body"],
4806 - aliases: ["Statement"],
4807 - fields: {
4808 - object: {
4809 - validate: (0, _utils.assertNodeType)("Expression")
4810 - },
4811 - body: {
4812 - validate: (0, _utils.assertNodeType)("Statement")
4813 - }
4814 - }
4815 - });
4816 - defineType("AssignmentPattern", {
4817 - visitor: ["left", "right", "decorators"],
4818 - builder: ["left", "right"],
4819 - aliases: ["FunctionParameter", "Pattern", "PatternLike", "LVal"],
4820 - fields: Object.assign({}, patternLikeCommon(), {
4821 - left: {
4822 - validate: (0, _utils.assertNodeType)("Identifier", "ObjectPattern", "ArrayPattern", "MemberExpression", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression")
4823 - },
4824 - right: {
4825 - validate: (0, _utils.assertNodeType)("Expression")
4826 - },
4827 - decorators: {
4828 - validate: (0, _utils.arrayOfType)("Decorator"),
4829 - optional: true
4830 - }
4831 - })
4832 - });
4833 - defineType("ArrayPattern", {
4834 - visitor: ["elements", "typeAnnotation"],
4835 - builder: ["elements"],
4836 - aliases: ["FunctionParameter", "Pattern", "PatternLike", "LVal"],
4837 - fields: Object.assign({}, patternLikeCommon(), {
4838 - elements: {
4839 - validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeOrValueType)("null", "PatternLike")))
4840 - }
4841 - })
4842 - });
4843 - defineType("ArrowFunctionExpression", {
4844 - builder: ["params", "body", "async"],
4845 - visitor: ["typeParameters", "params", "predicate", "returnType", "body"],
4846 - aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Expression", "Pureish"],
4847 - fields: Object.assign({}, functionCommon(), functionTypeAnnotationCommon(), {
4848 - expression: {
4849 - validate: (0, _utils.assertValueType)("boolean")
4850 - },
4851 - body: {
4852 - validate: (0, _utils.assertNodeType)("BlockStatement", "Expression")
4853 - },
4854 - predicate: {
4855 - validate: (0, _utils.assertNodeType)("DeclaredPredicate", "InferredPredicate"),
4856 - optional: true
4857 - }
4858 - })
4859 - });
4860 - defineType("ClassBody", {
4861 - visitor: ["body"],
4862 - fields: {
4863 - body: (0, _utils.validateArrayOfType)("ClassMethod", "ClassPrivateMethod", "ClassProperty", "ClassPrivateProperty", "ClassAccessorProperty", "TSDeclareMethod", "TSIndexSignature", "StaticBlock")
4864 - }
4865 - });
4866 - defineType("ClassExpression", {
4867 - builder: ["id", "superClass", "body", "decorators"],
4868 - visitor: ["decorators", "id", "typeParameters", "superClass", "superTypeParameters", "mixins", "implements", "body"],
4869 - aliases: ["Scopable", "Class", "Expression"],
4870 - fields: {
4871 - id: {
4872 - validate: (0, _utils.assertNodeType)("Identifier"),
4873 - optional: true
4874 - },
4875 - typeParameters: {
4876 - validate: (0, _utils.assertNodeType)("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"),
4877 - optional: true
4878 - },
4879 - body: {
4880 - validate: (0, _utils.assertNodeType)("ClassBody")
4881 - },
4882 - superClass: {
4883 - optional: true,
4884 - validate: (0, _utils.assertNodeType)("Expression")
4885 - },
4886 - ["superTypeParameters"]: {
4887 - validate: (0, _utils.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"),
4888 - optional: true
4889 - },
4890 - implements: {
4891 - validate: (0, _utils.arrayOfType)("TSExpressionWithTypeArguments", "ClassImplements"),
4892 - optional: true
4893 - },
4894 - decorators: {
4895 - validate: (0, _utils.arrayOfType)("Decorator"),
4896 - optional: true
4897 - },
4898 - mixins: {
4899 - validate: (0, _utils.assertNodeType)("InterfaceExtends"),
4900 - optional: true
4901 - }
4902 - }
4903 - });
4904 - defineType("ClassDeclaration", {
4905 - inherits: "ClassExpression",
4906 - aliases: ["Scopable", "Class", "Statement", "Declaration"],
4907 - fields: {
4908 - id: {
4909 - validate: (0, _utils.assertNodeType)("Identifier"),
4910 - optional: true
4911 - },
4912 - typeParameters: {
4913 - validate: (0, _utils.assertNodeType)("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"),
4914 - optional: true
4915 - },
4916 - body: {
4917 - validate: (0, _utils.assertNodeType)("ClassBody")
4918 - },
4919 - superClass: {
4920 - optional: true,
4921 - validate: (0, _utils.assertNodeType)("Expression")
4922 - },
4923 - ["superTypeParameters"]: {
4924 - validate: (0, _utils.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"),
4925 - optional: true
4926 - },
4927 - implements: {
4928 - validate: (0, _utils.arrayOfType)("TSExpressionWithTypeArguments", "ClassImplements"),
4929 - optional: true
4930 - },
4931 - decorators: {
4932 - validate: (0, _utils.arrayOfType)("Decorator"),
4933 - optional: true
4934 - },
4935 - mixins: {
4936 - validate: (0, _utils.assertNodeType)("InterfaceExtends"),
4937 - optional: true
4938 - },
4939 - declare: {
4940 - validate: (0, _utils.assertValueType)("boolean"),
4941 - optional: true
4942 - },
4943 - abstract: {
4944 - validate: (0, _utils.assertValueType)("boolean"),
4945 - optional: true
4946 - }
4947 - },
4948 - validate: !process.env.BABEL_TYPES_8_BREAKING ? void 0 : (function() {
4949 - const identifier = (0, _utils.assertNodeType)("Identifier");
4950 - return function(parent, key, node) {
4951 - if (!(0, _is.default)("ExportDefaultDeclaration", parent)) {
4952 - identifier(node, "id", node.id);
4953 - }
4954 - };
4955 - })()
4956 - });
4957 - var importAttributes = exports2.importAttributes = {
4958 - attributes: {
4959 - optional: true,
4960 - validate: (0, _utils.arrayOfType)("ImportAttribute")
4961 - }
4962 - };
4963 - importAttributes.assertions = {
4964 - deprecated: true,
4965 - optional: true,
4966 - validate: (0, _utils.arrayOfType)("ImportAttribute")
4967 - };
4968 - defineType("ExportAllDeclaration", {
4969 - builder: ["source", "attributes"],
4970 - visitor: ["source", "attributes", "assertions"],
4971 - aliases: ["Statement", "Declaration", "ImportOrExportDeclaration", "ExportDeclaration"],
4972 - fields: Object.assign({
4973 - source: {
4974 - validate: (0, _utils.assertNodeType)("StringLiteral")
4975 - },
4976 - exportKind: (0, _utils.validateOptional)((0, _utils.assertOneOf)("type", "value"))
4977 - }, importAttributes)
4978 - });
4979 - defineType("ExportDefaultDeclaration", {
4980 - visitor: ["declaration"],
4981 - aliases: ["Statement", "Declaration", "ImportOrExportDeclaration", "ExportDeclaration"],
4982 - fields: {
4983 - declaration: (0, _utils.validateType)("TSDeclareFunction", "FunctionDeclaration", "ClassDeclaration", "Expression"),
4984 - exportKind: (0, _utils.validateOptional)((0, _utils.assertOneOf)("value"))
4985 - }
4986 - });
4987 - defineType("ExportNamedDeclaration", {
4988 - builder: ["declaration", "specifiers", "source", "attributes"],
4989 - visitor: ["declaration", "specifiers", "source", "attributes", "assertions"],
4990 - aliases: ["Statement", "Declaration", "ImportOrExportDeclaration", "ExportDeclaration"],
4991 - fields: Object.assign({
4992 - declaration: {
4993 - optional: true,
4994 - validate: process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.chain)((0, _utils.assertNodeType)("Declaration"), Object.assign(function(node, key, val) {
4995 - if (val && node.specifiers.length) {
4996 - throw new TypeError("Only declaration or specifiers is allowed on ExportNamedDeclaration");
4997 - }
4998 - if (val && node.source) {
4999 - throw new TypeError("Cannot export a declaration from a source");

This file is too large to show in full.

node_modules/playwright/lib/transform/babelBundle.js.LICENSE deleted
-2359
@@ -1,2359 +0,0 @@
1 -packages/playwright/lib/transform/babelBundle.js
2 -
3 -THIRD-PARTY SOFTWARE NOTICES AND INFORMATION
4 -
5 -The following npm packages are inlined into this bundle.
6 -
7 -- @ampproject/remapping@2.3.0 (https://github.com/ampproject/remapping)
8 -- @babel/code-frame@7.29.0 (https://github.com/babel/babel)
9 -- @babel/compat-data@7.28.0 (https://github.com/babel/babel)
10 -- @babel/core@7.28.3 (https://github.com/babel/babel)
11 -- @babel/generator@7.29.1 (https://github.com/babel/babel)
12 -- @babel/helper-annotate-as-pure@7.27.3 (https://github.com/babel/babel)
13 -- @babel/helper-compilation-targets@7.27.2 (https://github.com/babel/babel)
14 -- @babel/helper-create-class-features-plugin@7.28.6 (https://github.com/babel/babel)
15 -- @babel/helper-globals@7.28.0 (https://github.com/babel/babel)
16 -- @babel/helper-member-expression-to-functions@7.28.5 (https://github.com/babel/babel)
17 -- @babel/helper-module-imports@7.28.6 (https://github.com/babel/babel)
18 -- @babel/helper-module-transforms@7.28.6 (https://github.com/babel/babel)
19 -- @babel/helper-optimise-call-expression@7.27.1 (https://github.com/babel/babel)
20 -- @babel/helper-plugin-utils@7.28.6 (https://github.com/babel/babel)
21 -- @babel/helper-replace-supers@7.28.6 (https://github.com/babel/babel)
22 -- @babel/helper-skip-transparent-expression-wrappers@7.27.1 (https://github.com/babel/babel)
23 -- @babel/helper-string-parser@7.27.1 (https://github.com/babel/babel)
24 -- @babel/helper-validator-identifier@7.28.5 (https://github.com/babel/babel)
25 -- @babel/helper-validator-option@7.27.1 (https://github.com/babel/babel)
26 -- @babel/helpers@7.28.3 (https://github.com/babel/babel)
27 -- @babel/parser@7.29.2 (https://github.com/babel/babel)
28 -- @babel/plugin-proposal-decorators@7.29.0 (https://github.com/babel/babel)
29 -- @babel/plugin-syntax-async-generators@7.8.4 (https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-async-generators)
30 -- @babel/plugin-syntax-decorators@7.28.6 (https://github.com/babel/babel)
31 -- @babel/plugin-syntax-import-attributes@7.28.6 (https://github.com/babel/babel)
32 -- @babel/plugin-syntax-json-strings@7.8.3 (https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-json-strings)
33 -- @babel/plugin-syntax-jsx@7.28.6 (https://github.com/babel/babel)
34 -- @babel/plugin-syntax-object-rest-spread@7.8.3 (https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-object-rest-spread)
35 -- @babel/plugin-syntax-optional-catch-binding@7.8.3 (https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-optional-catch-binding)
36 -- @babel/plugin-syntax-typescript@7.28.6 (https://github.com/babel/babel)
37 -- @babel/plugin-transform-class-properties@7.28.6 (https://github.com/babel/babel)
38 -- @babel/plugin-transform-class-static-block@7.28.6 (https://github.com/babel/babel)
39 -- @babel/plugin-transform-destructuring@7.28.5 (https://github.com/babel/babel)
40 -- @babel/plugin-transform-explicit-resource-management@7.28.6 (https://github.com/babel/babel)
41 -- @babel/plugin-transform-export-namespace-from@7.27.1 (https://github.com/babel/babel)
42 -- @babel/plugin-transform-logical-assignment-operators@7.28.6 (https://github.com/babel/babel)
43 -- @babel/plugin-transform-modules-commonjs@7.28.6 (https://github.com/babel/babel)
44 -- @babel/plugin-transform-nullish-coalescing-operator@7.28.6 (https://github.com/babel/babel)
45 -- @babel/plugin-transform-numeric-separator@7.28.6 (https://github.com/babel/babel)
46 -- @babel/plugin-transform-optional-chaining@7.28.6 (https://github.com/babel/babel)
47 -- @babel/plugin-transform-private-methods@7.28.6 (https://github.com/babel/babel)
48 -- @babel/plugin-transform-react-jsx@7.28.6 (https://github.com/babel/babel)
49 -- @babel/plugin-transform-typescript@7.28.6 (https://github.com/babel/babel)
50 -- @babel/preset-typescript@7.28.5 (https://github.com/babel/babel)
51 -- @babel/template@7.28.6 (https://github.com/babel/babel)
52 -- @babel/traverse@7.29.0 (https://github.com/babel/babel)
53 -- @babel/types@7.29.0 (https://github.com/babel/babel)
54 -- @jridgewell/gen-mapping@0.3.13 (https://github.com/jridgewell/sourcemaps)
55 -- @jridgewell/resolve-uri@3.1.2 (https://github.com/jridgewell/resolve-uri)
56 -- @jridgewell/sourcemap-codec@1.5.5 (https://github.com/jridgewell/sourcemaps)
57 -- @jridgewell/trace-mapping@0.3.30 (https://github.com/jridgewell/sourcemaps)
58 -- browserslist@4.25.4 (https://github.com/browserslist/browserslist)
59 -- caniuse-lite@1.0.30001739 (https://github.com/browserslist/caniuse-lite)
60 -- convert-source-map@2.0.0 (https://github.com/thlorenz/convert-source-map)
61 -- debug@4.4.3 (https://github.com/debug-js/debug)
62 -- electron-to-chromium@1.5.214 (https://github.com/kilian/electron-to-chromium)
63 -- gensync@1.0.0-beta.2 (https://github.com/loganfsmyth/gensync)
64 -- has-flag@4.0.0 (https://github.com/sindresorhus/has-flag)
65 -- js-tokens@4.0.0 (https://github.com/lydell/js-tokens)
66 -- jsesc@3.1.0 (https://github.com/mathiasbynens/jsesc)
67 -- json5@2.2.3 (https://github.com/json5/json5)
68 -- lru-cache@5.1.1 (https://github.com/isaacs/node-lru-cache)
69 -- ms@2.1.3 (https://github.com/vercel/ms)
70 -- node-releases@2.0.19 (https://github.com/chicoxyzzy/node-releases)
71 -- picocolors@1.1.1 (https://github.com/alexeyraspopov/picocolors)
72 -- semver@6.3.1 (https://github.com/npm/node-semver)
73 -- supports-color@8.1.1 (https://github.com/chalk/supports-color)
74 -- yallist@3.1.1 (https://github.com/isaacs/yallist)
75 -
76 -%% @ampproject/remapping@2.3.0 NOTICES AND INFORMATION BEGIN HERE
77 -=========================================
78 -Apache License
79 - Version 2.0, January 2004
80 - http://www.apache.org/licenses/
81 -
82 - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
83 -
84 - 1. Definitions.
85 -
86 - "License" shall mean the terms and conditions for use, reproduction,
87 - and distribution as defined by Sections 1 through 9 of this document.
88 -
89 - "Licensor" shall mean the copyright owner or entity authorized by
90 - the copyright owner that is granting the License.
91 -
92 - "Legal Entity" shall mean the union of the acting entity and all
93 - other entities that control, are controlled by, or are under common
94 - control with that entity. For the purposes of this definition,
95 - "control" means (i) the power, direct or indirect, to cause the
96 - direction or management of such entity, whether by contract or
97 - otherwise, or (ii) ownership of fifty percent (50%) or more of the
98 - outstanding shares, or (iii) beneficial ownership of such entity.
99 -
100 - "You" (or "Your") shall mean an individual or Legal Entity
101 - exercising permissions granted by this License.
102 -
103 - "Source" form shall mean the preferred form for making modifications,
104 - including but not limited to software source code, documentation
105 - source, and configuration files.
106 -
107 - "Object" form shall mean any form resulting from mechanical
108 - transformation or translation of a Source form, including but
109 - not limited to compiled object code, generated documentation,
110 - and conversions to other media types.
111 -
112 - "Work" shall mean the work of authorship, whether in Source or
113 - Object form, made available under the License, as indicated by a
114 - copyright notice that is included in or attached to the work
115 - (an example is provided in the Appendix below).
116 -
117 - "Derivative Works" shall mean any work, whether in Source or Object
118 - form, that is based on (or derived from) the Work and for which the
119 - editorial revisions, annotations, elaborations, or other modifications
120 - represent, as a whole, an original work of authorship. For the purposes
121 - of this License, Derivative Works shall not include works that remain
122 - separable from, or merely link (or bind by name) to the interfaces of,
123 - the Work and Derivative Works thereof.
124 -
125 - "Contribution" shall mean any work of authorship, including
126 - the original version of the Work and any modifications or additions
127 - to that Work or Derivative Works thereof, that is intentionally
128 - submitted to Licensor for inclusion in the Work by the copyright owner
129 - or by an individual or Legal Entity authorized to submit on behalf of
130 - the copyright owner. For the purposes of this definition, "submitted"
131 - means any form of electronic, verbal, or written communication sent
132 - to the Licensor or its representatives, including but not limited to
133 - communication on electronic mailing lists, source code control systems,
134 - and issue tracking systems that are managed by, or on behalf of, the
135 - Licensor for the purpose of discussing and improving the Work, but
136 - excluding communication that is conspicuously marked or otherwise
137 - designated in writing by the copyright owner as "Not a Contribution."
138 -
139 - "Contributor" shall mean Licensor and any individual or Legal Entity
140 - on behalf of whom a Contribution has been received by Licensor and
141 - subsequently incorporated within the Work.
142 -
143 - 2. Grant of Copyright License. Subject to the terms and conditions of
144 - this License, each Contributor hereby grants to You a perpetual,
145 - worldwide, non-exclusive, no-charge, royalty-free, irrevocable
146 - copyright license to reproduce, prepare Derivative Works of,
147 - publicly display, publicly perform, sublicense, and distribute the
148 - Work and such Derivative Works in Source or Object form.
149 -
150 - 3. Grant of Patent License. Subject to the terms and conditions of
151 - this License, each Contributor hereby grants to You a perpetual,
152 - worldwide, non-exclusive, no-charge, royalty-free, irrevocable
153 - (except as stated in this section) patent license to make, have made,
154 - use, offer to sell, sell, import, and otherwise transfer the Work,
155 - where such license applies only to those patent claims licensable
156 - by such Contributor that are necessarily infringed by their
157 - Contribution(s) alone or by combination of their Contribution(s)
158 - with the Work to which such Contribution(s) was submitted. If You
159 - institute patent litigation against any entity (including a
160 - cross-claim or counterclaim in a lawsuit) alleging that the Work
161 - or a Contribution incorporated within the Work constitutes direct
162 - or contributory patent infringement, then any patent licenses
163 - granted to You under this License for that Work shall terminate
164 - as of the date such litigation is filed.
165 -
166 - 4. Redistribution. You may reproduce and distribute copies of the
167 - Work or Derivative Works thereof in any medium, with or without
168 - modifications, and in Source or Object form, provided that You
169 - meet the following conditions:
170 -
171 - (a) You must give any other recipients of the Work or
172 - Derivative Works a copy of this License; and
173 -
174 - (b) You must cause any modified files to carry prominent notices
175 - stating that You changed the files; and
176 -
177 - (c) You must retain, in the Source form of any Derivative Works
178 - that You distribute, all copyright, patent, trademark, and
179 - attribution notices from the Source form of the Work,
180 - excluding those notices that do not pertain to any part of
181 - the Derivative Works; and
182 -
183 - (d) If the Work includes a "NOTICE" text file as part of its
184 - distribution, then any Derivative Works that You distribute must
185 - include a readable copy of the attribution notices contained
186 - within such NOTICE file, excluding those notices that do not
187 - pertain to any part of the Derivative Works, in at least one
188 - of the following places: within a NOTICE text file distributed
189 - as part of the Derivative Works; within the Source form or
190 - documentation, if provided along with the Derivative Works; or,
191 - within a display generated by the Derivative Works, if and
192 - wherever such third-party notices normally appear. The contents
193 - of the NOTICE file are for informational purposes only and
194 - do not modify the License. You may add Your own attribution
195 - notices within Derivative Works that You distribute, alongside
196 - or as an addendum to the NOTICE text from the Work, provided
197 - that such additional attribution notices cannot be construed
198 - as modifying the License.
199 -
200 - You may add Your own copyright statement to Your modifications and
201 - may provide additional or different license terms and conditions
202 - for use, reproduction, or distribution of Your modifications, or
203 - for any such Derivative Works as a whole, provided Your use,
204 - reproduction, and distribution of the Work otherwise complies with
205 - the conditions stated in this License.
206 -
207 - 5. Submission of Contributions. Unless You explicitly state otherwise,
208 - any Contribution intentionally submitted for inclusion in the Work
209 - by You to the Licensor shall be under the terms and conditions of
210 - this License, without any additional terms or conditions.
211 - Notwithstanding the above, nothing herein shall supersede or modify
212 - the terms of any separate license agreement you may have executed
213 - with Licensor regarding such Contributions.
214 -
215 - 6. Trademarks. This License does not grant permission to use the trade
216 - names, trademarks, service marks, or product names of the Licensor,
217 - except as required for reasonable and customary use in describing the
218 - origin of the Work and reproducing the content of the NOTICE file.
219 -
220 - 7. Disclaimer of Warranty. Unless required by applicable law or
221 - agreed to in writing, Licensor provides the Work (and each
222 - Contributor provides its Contributions) on an "AS IS" BASIS,
223 - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
224 - implied, including, without limitation, any warranties or conditions
225 - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
226 - PARTICULAR PURPOSE. You are solely responsible for determining the
227 - appropriateness of using or redistributing the Work and assume any
228 - risks associated with Your exercise of permissions under this License.
229 -
230 - 8. Limitation of Liability. In no event and under no legal theory,
231 - whether in tort (including negligence), contract, or otherwise,
232 - unless required by applicable law (such as deliberate and grossly
233 - negligent acts) or agreed to in writing, shall any Contributor be
234 - liable to You for damages, including any direct, indirect, special,
235 - incidental, or consequential damages of any character arising as a
236 - result of this License or out of the use or inability to use the
237 - Work (including but not limited to damages for loss of goodwill,
238 - work stoppage, computer failure or malfunction, or any and all
239 - other commercial damages or losses), even if such Contributor
240 - has been advised of the possibility of such damages.
241 -
242 - 9. Accepting Warranty or Additional Liability. While redistributing
243 - the Work or Derivative Works thereof, You may choose to offer,
244 - and charge a fee for, acceptance of support, warranty, indemnity,
245 - or other liability obligations and/or rights consistent with this
246 - License. However, in accepting such obligations, You may act only
247 - on Your own behalf and on Your sole responsibility, not on behalf
248 - of any other Contributor, and only if You agree to indemnify,
249 - defend, and hold each Contributor harmless for any liability
250 - incurred by, or claims asserted against, such Contributor by reason
251 - of your accepting any such warranty or additional liability.
252 -
253 - END OF TERMS AND CONDITIONS
254 -
255 - APPENDIX: How to apply the Apache License to your work.
256 -
257 - To apply the Apache License to your work, attach the following
258 - boilerplate notice, with the fields enclosed by brackets "[]"
259 - replaced with your own identifying information. (Don't include
260 - the brackets!) The text should be enclosed in the appropriate
261 - comment syntax for the file format. We also recommend that a
262 - file or class name and description of purpose be included on the
263 - same "printed page" as the copyright notice for easier
264 - identification within third-party archives.
265 -
266 - Copyright [yyyy] [name of copyright owner]
267 -
268 - Licensed under the Apache License, Version 2.0 (the "License");
269 - you may not use this file except in compliance with the License.
270 - You may obtain a copy of the License at
271 -
272 - http://www.apache.org/licenses/LICENSE-2.0
273 -
274 - Unless required by applicable law or agreed to in writing, software
275 - distributed under the License is distributed on an "AS IS" BASIS,
276 - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
277 - See the License for the specific language governing permissions and
278 - limitations under the License.
279 -=========================================
280 -END OF @ampproject/remapping@2.3.0 NOTICES AND INFORMATION
281 -
282 -%% @babel/code-frame@7.29.0 NOTICES AND INFORMATION BEGIN HERE
283 -=========================================
284 -MIT License
285 -
286 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
287 -
288 -Permission is hereby granted, free of charge, to any person obtaining
289 -a copy of this software and associated documentation files (the
290 -"Software"), to deal in the Software without restriction, including
291 -without limitation the rights to use, copy, modify, merge, publish,
292 -distribute, sublicense, and/or sell copies of the Software, and to
293 -permit persons to whom the Software is furnished to do so, subject to
294 -the following conditions:
295 -
296 -The above copyright notice and this permission notice shall be
297 -included in all copies or substantial portions of the Software.
298 -
299 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
300 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
301 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
302 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
303 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
304 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
305 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
306 -=========================================
307 -END OF @babel/code-frame@7.29.0 NOTICES AND INFORMATION
308 -
309 -%% @babel/compat-data@7.28.0 NOTICES AND INFORMATION BEGIN HERE
310 -=========================================
311 -MIT License
312 -
313 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
314 -
315 -Permission is hereby granted, free of charge, to any person obtaining
316 -a copy of this software and associated documentation files (the
317 -"Software"), to deal in the Software without restriction, including
318 -without limitation the rights to use, copy, modify, merge, publish,
319 -distribute, sublicense, and/or sell copies of the Software, and to
320 -permit persons to whom the Software is furnished to do so, subject to
321 -the following conditions:
322 -
323 -The above copyright notice and this permission notice shall be
324 -included in all copies or substantial portions of the Software.
325 -
326 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
327 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
328 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
329 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
330 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
331 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
332 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
333 -=========================================
334 -END OF @babel/compat-data@7.28.0 NOTICES AND INFORMATION
335 -
336 -%% @babel/core@7.28.3 NOTICES AND INFORMATION BEGIN HERE
337 -=========================================
338 -MIT License
339 -
340 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
341 -
342 -Permission is hereby granted, free of charge, to any person obtaining
343 -a copy of this software and associated documentation files (the
344 -"Software"), to deal in the Software without restriction, including
345 -without limitation the rights to use, copy, modify, merge, publish,
346 -distribute, sublicense, and/or sell copies of the Software, and to
347 -permit persons to whom the Software is furnished to do so, subject to
348 -the following conditions:
349 -
350 -The above copyright notice and this permission notice shall be
351 -included in all copies or substantial portions of the Software.
352 -
353 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
354 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
355 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
356 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
357 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
358 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
359 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
360 -=========================================
361 -END OF @babel/core@7.28.3 NOTICES AND INFORMATION
362 -
363 -%% @babel/generator@7.29.1 NOTICES AND INFORMATION BEGIN HERE
364 -=========================================
365 -MIT License
366 -
367 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
368 -
369 -Permission is hereby granted, free of charge, to any person obtaining
370 -a copy of this software and associated documentation files (the
371 -"Software"), to deal in the Software without restriction, including
372 -without limitation the rights to use, copy, modify, merge, publish,
373 -distribute, sublicense, and/or sell copies of the Software, and to
374 -permit persons to whom the Software is furnished to do so, subject to
375 -the following conditions:
376 -
377 -The above copyright notice and this permission notice shall be
378 -included in all copies or substantial portions of the Software.
379 -
380 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
381 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
382 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
383 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
384 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
385 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
386 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
387 -=========================================
388 -END OF @babel/generator@7.29.1 NOTICES AND INFORMATION
389 -
390 -%% @babel/helper-annotate-as-pure@7.27.3 NOTICES AND INFORMATION BEGIN HERE
391 -=========================================
392 -MIT License
393 -
394 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
395 -
396 -Permission is hereby granted, free of charge, to any person obtaining
397 -a copy of this software and associated documentation files (the
398 -"Software"), to deal in the Software without restriction, including
399 -without limitation the rights to use, copy, modify, merge, publish,
400 -distribute, sublicense, and/or sell copies of the Software, and to
401 -permit persons to whom the Software is furnished to do so, subject to
402 -the following conditions:
403 -
404 -The above copyright notice and this permission notice shall be
405 -included in all copies or substantial portions of the Software.
406 -
407 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
408 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
409 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
410 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
411 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
412 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
413 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
414 -=========================================
415 -END OF @babel/helper-annotate-as-pure@7.27.3 NOTICES AND INFORMATION
416 -
417 -%% @babel/helper-compilation-targets@7.27.2 NOTICES AND INFORMATION BEGIN HERE
418 -=========================================
419 -MIT License
420 -
421 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
422 -
423 -Permission is hereby granted, free of charge, to any person obtaining
424 -a copy of this software and associated documentation files (the
425 -"Software"), to deal in the Software without restriction, including
426 -without limitation the rights to use, copy, modify, merge, publish,
427 -distribute, sublicense, and/or sell copies of the Software, and to
428 -permit persons to whom the Software is furnished to do so, subject to
429 -the following conditions:
430 -
431 -The above copyright notice and this permission notice shall be
432 -included in all copies or substantial portions of the Software.
433 -
434 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
435 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
436 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
437 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
438 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
439 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
440 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
441 -=========================================
442 -END OF @babel/helper-compilation-targets@7.27.2 NOTICES AND INFORMATION
443 -
444 -%% @babel/helper-create-class-features-plugin@7.28.6 NOTICES AND INFORMATION BEGIN HERE
445 -=========================================
446 -MIT License
447 -
448 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
449 -
450 -Permission is hereby granted, free of charge, to any person obtaining
451 -a copy of this software and associated documentation files (the
452 -"Software"), to deal in the Software without restriction, including
453 -without limitation the rights to use, copy, modify, merge, publish,
454 -distribute, sublicense, and/or sell copies of the Software, and to
455 -permit persons to whom the Software is furnished to do so, subject to
456 -the following conditions:
457 -
458 -The above copyright notice and this permission notice shall be
459 -included in all copies or substantial portions of the Software.
460 -
461 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
462 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
463 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
464 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
465 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
466 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
467 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
468 -=========================================
469 -END OF @babel/helper-create-class-features-plugin@7.28.6 NOTICES AND INFORMATION
470 -
471 -%% @babel/helper-globals@7.28.0 NOTICES AND INFORMATION BEGIN HERE
472 -=========================================
473 -MIT License
474 -
475 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
476 -
477 -Permission is hereby granted, free of charge, to any person obtaining
478 -a copy of this software and associated documentation files (the
479 -"Software"), to deal in the Software without restriction, including
480 -without limitation the rights to use, copy, modify, merge, publish,
481 -distribute, sublicense, and/or sell copies of the Software, and to
482 -permit persons to whom the Software is furnished to do so, subject to
483 -the following conditions:
484 -
485 -The above copyright notice and this permission notice shall be
486 -included in all copies or substantial portions of the Software.
487 -
488 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
489 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
490 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
491 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
492 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
493 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
494 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
495 -=========================================
496 -END OF @babel/helper-globals@7.28.0 NOTICES AND INFORMATION
497 -
498 -%% @babel/helper-member-expression-to-functions@7.28.5 NOTICES AND INFORMATION BEGIN HERE
499 -=========================================
500 -MIT License
501 -
502 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
503 -
504 -Permission is hereby granted, free of charge, to any person obtaining
505 -a copy of this software and associated documentation files (the
506 -"Software"), to deal in the Software without restriction, including
507 -without limitation the rights to use, copy, modify, merge, publish,
508 -distribute, sublicense, and/or sell copies of the Software, and to
509 -permit persons to whom the Software is furnished to do so, subject to
510 -the following conditions:
511 -
512 -The above copyright notice and this permission notice shall be
513 -included in all copies or substantial portions of the Software.
514 -
515 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
516 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
517 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
518 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
519 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
520 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
521 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
522 -=========================================
523 -END OF @babel/helper-member-expression-to-functions@7.28.5 NOTICES AND INFORMATION
524 -
525 -%% @babel/helper-module-imports@7.28.6 NOTICES AND INFORMATION BEGIN HERE
526 -=========================================
527 -MIT License
528 -
529 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
530 -
531 -Permission is hereby granted, free of charge, to any person obtaining
532 -a copy of this software and associated documentation files (the
533 -"Software"), to deal in the Software without restriction, including
534 -without limitation the rights to use, copy, modify, merge, publish,
535 -distribute, sublicense, and/or sell copies of the Software, and to
536 -permit persons to whom the Software is furnished to do so, subject to
537 -the following conditions:
538 -
539 -The above copyright notice and this permission notice shall be
540 -included in all copies or substantial portions of the Software.
541 -
542 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
543 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
544 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
545 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
546 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
547 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
548 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
549 -=========================================
550 -END OF @babel/helper-module-imports@7.28.6 NOTICES AND INFORMATION
551 -
552 -%% @babel/helper-module-transforms@7.28.6 NOTICES AND INFORMATION BEGIN HERE
553 -=========================================
554 -MIT License
555 -
556 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
557 -
558 -Permission is hereby granted, free of charge, to any person obtaining
559 -a copy of this software and associated documentation files (the
560 -"Software"), to deal in the Software without restriction, including
561 -without limitation the rights to use, copy, modify, merge, publish,
562 -distribute, sublicense, and/or sell copies of the Software, and to
563 -permit persons to whom the Software is furnished to do so, subject to
564 -the following conditions:
565 -
566 -The above copyright notice and this permission notice shall be
567 -included in all copies or substantial portions of the Software.
568 -
569 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
570 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
571 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
572 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
573 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
574 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
575 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
576 -=========================================
577 -END OF @babel/helper-module-transforms@7.28.6 NOTICES AND INFORMATION
578 -
579 -%% @babel/helper-optimise-call-expression@7.27.1 NOTICES AND INFORMATION BEGIN HERE
580 -=========================================
581 -MIT License
582 -
583 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
584 -
585 -Permission is hereby granted, free of charge, to any person obtaining
586 -a copy of this software and associated documentation files (the
587 -"Software"), to deal in the Software without restriction, including
588 -without limitation the rights to use, copy, modify, merge, publish,
589 -distribute, sublicense, and/or sell copies of the Software, and to
590 -permit persons to whom the Software is furnished to do so, subject to
591 -the following conditions:
592 -
593 -The above copyright notice and this permission notice shall be
594 -included in all copies or substantial portions of the Software.
595 -
596 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
597 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
598 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
599 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
600 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
601 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
602 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
603 -=========================================
604 -END OF @babel/helper-optimise-call-expression@7.27.1 NOTICES AND INFORMATION
605 -
606 -%% @babel/helper-plugin-utils@7.28.6 NOTICES AND INFORMATION BEGIN HERE
607 -=========================================
608 -MIT License
609 -
610 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
611 -
612 -Permission is hereby granted, free of charge, to any person obtaining
613 -a copy of this software and associated documentation files (the
614 -"Software"), to deal in the Software without restriction, including
615 -without limitation the rights to use, copy, modify, merge, publish,
616 -distribute, sublicense, and/or sell copies of the Software, and to
617 -permit persons to whom the Software is furnished to do so, subject to
618 -the following conditions:
619 -
620 -The above copyright notice and this permission notice shall be
621 -included in all copies or substantial portions of the Software.
622 -
623 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
624 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
625 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
626 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
627 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
628 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
629 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
630 -=========================================
631 -END OF @babel/helper-plugin-utils@7.28.6 NOTICES AND INFORMATION
632 -
633 -%% @babel/helper-replace-supers@7.28.6 NOTICES AND INFORMATION BEGIN HERE
634 -=========================================
635 -MIT License
636 -
637 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
638 -
639 -Permission is hereby granted, free of charge, to any person obtaining
640 -a copy of this software and associated documentation files (the
641 -"Software"), to deal in the Software without restriction, including
642 -without limitation the rights to use, copy, modify, merge, publish,
643 -distribute, sublicense, and/or sell copies of the Software, and to
644 -permit persons to whom the Software is furnished to do so, subject to
645 -the following conditions:
646 -
647 -The above copyright notice and this permission notice shall be
648 -included in all copies or substantial portions of the Software.
649 -
650 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
651 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
652 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
653 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
654 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
655 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
656 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
657 -=========================================
658 -END OF @babel/helper-replace-supers@7.28.6 NOTICES AND INFORMATION
659 -
660 -%% @babel/helper-skip-transparent-expression-wrappers@7.27.1 NOTICES AND INFORMATION BEGIN HERE
661 -=========================================
662 -MIT License
663 -
664 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
665 -
666 -Permission is hereby granted, free of charge, to any person obtaining
667 -a copy of this software and associated documentation files (the
668 -"Software"), to deal in the Software without restriction, including
669 -without limitation the rights to use, copy, modify, merge, publish,
670 -distribute, sublicense, and/or sell copies of the Software, and to
671 -permit persons to whom the Software is furnished to do so, subject to
672 -the following conditions:
673 -
674 -The above copyright notice and this permission notice shall be
675 -included in all copies or substantial portions of the Software.
676 -
677 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
678 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
679 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
680 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
681 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
682 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
683 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
684 -=========================================
685 -END OF @babel/helper-skip-transparent-expression-wrappers@7.27.1 NOTICES AND INFORMATION
686 -
687 -%% @babel/helper-string-parser@7.27.1 NOTICES AND INFORMATION BEGIN HERE
688 -=========================================
689 -MIT License
690 -
691 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
692 -
693 -Permission is hereby granted, free of charge, to any person obtaining
694 -a copy of this software and associated documentation files (the
695 -"Software"), to deal in the Software without restriction, including
696 -without limitation the rights to use, copy, modify, merge, publish,
697 -distribute, sublicense, and/or sell copies of the Software, and to
698 -permit persons to whom the Software is furnished to do so, subject to
699 -the following conditions:
700 -
701 -The above copyright notice and this permission notice shall be
702 -included in all copies or substantial portions of the Software.
703 -
704 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
705 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
706 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
707 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
708 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
709 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
710 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
711 -=========================================
712 -END OF @babel/helper-string-parser@7.27.1 NOTICES AND INFORMATION
713 -
714 -%% @babel/helper-validator-identifier@7.28.5 NOTICES AND INFORMATION BEGIN HERE
715 -=========================================
716 -MIT License
717 -
718 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
719 -
720 -Permission is hereby granted, free of charge, to any person obtaining
721 -a copy of this software and associated documentation files (the
722 -"Software"), to deal in the Software without restriction, including
723 -without limitation the rights to use, copy, modify, merge, publish,
724 -distribute, sublicense, and/or sell copies of the Software, and to
725 -permit persons to whom the Software is furnished to do so, subject to
726 -the following conditions:
727 -
728 -The above copyright notice and this permission notice shall be
729 -included in all copies or substantial portions of the Software.
730 -
731 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
732 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
733 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
734 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
735 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
736 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
737 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
738 -=========================================
739 -END OF @babel/helper-validator-identifier@7.28.5 NOTICES AND INFORMATION
740 -
741 -%% @babel/helper-validator-option@7.27.1 NOTICES AND INFORMATION BEGIN HERE
742 -=========================================
743 -MIT License
744 -
745 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
746 -
747 -Permission is hereby granted, free of charge, to any person obtaining
748 -a copy of this software and associated documentation files (the
749 -"Software"), to deal in the Software without restriction, including
750 -without limitation the rights to use, copy, modify, merge, publish,
751 -distribute, sublicense, and/or sell copies of the Software, and to
752 -permit persons to whom the Software is furnished to do so, subject to
753 -the following conditions:
754 -
755 -The above copyright notice and this permission notice shall be
756 -included in all copies or substantial portions of the Software.
757 -
758 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
759 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
760 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
761 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
762 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
763 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
764 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
765 -=========================================
766 -END OF @babel/helper-validator-option@7.27.1 NOTICES AND INFORMATION
767 -
768 -%% @babel/helpers@7.28.3 NOTICES AND INFORMATION BEGIN HERE
769 -=========================================
770 -MIT License
771 -
772 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
773 -Copyright (c) 2014-present, Facebook, Inc. (ONLY ./src/helpers/regenerator* files)
774 -
775 -Permission is hereby granted, free of charge, to any person obtaining
776 -a copy of this software and associated documentation files (the
777 -"Software"), to deal in the Software without restriction, including
778 -without limitation the rights to use, copy, modify, merge, publish,
779 -distribute, sublicense, and/or sell copies of the Software, and to
780 -permit persons to whom the Software is furnished to do so, subject to
781 -the following conditions:
782 -
783 -The above copyright notice and this permission notice shall be
784 -included in all copies or substantial portions of the Software.
785 -
786 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
787 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
788 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
789 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
790 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
791 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
792 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
793 -=========================================
794 -END OF @babel/helpers@7.28.3 NOTICES AND INFORMATION
795 -
796 -%% @babel/parser@7.29.2 NOTICES AND INFORMATION BEGIN HERE
797 -=========================================
798 -Copyright (C) 2012-2014 by various contributors (see AUTHORS)
799 -
800 -Permission is hereby granted, free of charge, to any person obtaining a copy
801 -of this software and associated documentation files (the "Software"), to deal
802 -in the Software without restriction, including without limitation the rights
803 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
804 -copies of the Software, and to permit persons to whom the Software is
805 -furnished to do so, subject to the following conditions:
806 -
807 -The above copyright notice and this permission notice shall be included in
808 -all copies or substantial portions of the Software.
809 -
810 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
811 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
812 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
813 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
814 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
815 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
816 -THE SOFTWARE.
817 -=========================================
818 -END OF @babel/parser@7.29.2 NOTICES AND INFORMATION
819 -
820 -%% @babel/plugin-proposal-decorators@7.29.0 NOTICES AND INFORMATION BEGIN HERE
821 -=========================================
822 -MIT License
823 -
824 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
825 -
826 -Permission is hereby granted, free of charge, to any person obtaining
827 -a copy of this software and associated documentation files (the
828 -"Software"), to deal in the Software without restriction, including
829 -without limitation the rights to use, copy, modify, merge, publish,
830 -distribute, sublicense, and/or sell copies of the Software, and to
831 -permit persons to whom the Software is furnished to do so, subject to
832 -the following conditions:
833 -
834 -The above copyright notice and this permission notice shall be
835 -included in all copies or substantial portions of the Software.
836 -
837 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
838 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
839 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
840 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
841 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
842 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
843 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
844 -=========================================
845 -END OF @babel/plugin-proposal-decorators@7.29.0 NOTICES AND INFORMATION
846 -
847 -%% @babel/plugin-syntax-async-generators@7.8.4 NOTICES AND INFORMATION BEGIN HERE
848 -=========================================
849 -MIT License
850 -
851 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
852 -
853 -Permission is hereby granted, free of charge, to any person obtaining
854 -a copy of this software and associated documentation files (the
855 -"Software"), to deal in the Software without restriction, including
856 -without limitation the rights to use, copy, modify, merge, publish,
857 -distribute, sublicense, and/or sell copies of the Software, and to
858 -permit persons to whom the Software is furnished to do so, subject to
859 -the following conditions:
860 -
861 -The above copyright notice and this permission notice shall be
862 -included in all copies or substantial portions of the Software.
863 -
864 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
865 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
866 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
867 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
868 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
869 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
870 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
871 -=========================================
872 -END OF @babel/plugin-syntax-async-generators@7.8.4 NOTICES AND INFORMATION
873 -
874 -%% @babel/plugin-syntax-decorators@7.28.6 NOTICES AND INFORMATION BEGIN HERE
875 -=========================================
876 -MIT License
877 -
878 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
879 -
880 -Permission is hereby granted, free of charge, to any person obtaining
881 -a copy of this software and associated documentation files (the
882 -"Software"), to deal in the Software without restriction, including
883 -without limitation the rights to use, copy, modify, merge, publish,
884 -distribute, sublicense, and/or sell copies of the Software, and to
885 -permit persons to whom the Software is furnished to do so, subject to
886 -the following conditions:
887 -
888 -The above copyright notice and this permission notice shall be
889 -included in all copies or substantial portions of the Software.
890 -
891 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
892 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
893 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
894 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
895 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
896 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
897 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
898 -=========================================
899 -END OF @babel/plugin-syntax-decorators@7.28.6 NOTICES AND INFORMATION
900 -
901 -%% @babel/plugin-syntax-import-attributes@7.28.6 NOTICES AND INFORMATION BEGIN HERE
902 -=========================================
903 -MIT License
904 -
905 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
906 -
907 -Permission is hereby granted, free of charge, to any person obtaining
908 -a copy of this software and associated documentation files (the
909 -"Software"), to deal in the Software without restriction, including
910 -without limitation the rights to use, copy, modify, merge, publish,
911 -distribute, sublicense, and/or sell copies of the Software, and to
912 -permit persons to whom the Software is furnished to do so, subject to
913 -the following conditions:
914 -
915 -The above copyright notice and this permission notice shall be
916 -included in all copies or substantial portions of the Software.
917 -
918 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
919 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
920 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
921 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
922 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
923 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
924 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
925 -=========================================
926 -END OF @babel/plugin-syntax-import-attributes@7.28.6 NOTICES AND INFORMATION
927 -
928 -%% @babel/plugin-syntax-json-strings@7.8.3 NOTICES AND INFORMATION BEGIN HERE
929 -=========================================
930 -MIT License
931 -
932 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
933 -
934 -Permission is hereby granted, free of charge, to any person obtaining
935 -a copy of this software and associated documentation files (the
936 -"Software"), to deal in the Software without restriction, including
937 -without limitation the rights to use, copy, modify, merge, publish,
938 -distribute, sublicense, and/or sell copies of the Software, and to
939 -permit persons to whom the Software is furnished to do so, subject to
940 -the following conditions:
941 -
942 -The above copyright notice and this permission notice shall be
943 -included in all copies or substantial portions of the Software.
944 -
945 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
946 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
947 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
948 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
949 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
950 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
951 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
952 -=========================================
953 -END OF @babel/plugin-syntax-json-strings@7.8.3 NOTICES AND INFORMATION
954 -
955 -%% @babel/plugin-syntax-jsx@7.28.6 NOTICES AND INFORMATION BEGIN HERE
956 -=========================================
957 -MIT License
958 -
959 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
960 -
961 -Permission is hereby granted, free of charge, to any person obtaining
962 -a copy of this software and associated documentation files (the
963 -"Software"), to deal in the Software without restriction, including
964 -without limitation the rights to use, copy, modify, merge, publish,
965 -distribute, sublicense, and/or sell copies of the Software, and to
966 -permit persons to whom the Software is furnished to do so, subject to
967 -the following conditions:
968 -
969 -The above copyright notice and this permission notice shall be
970 -included in all copies or substantial portions of the Software.
971 -
972 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
973 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
974 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
975 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
976 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
977 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
978 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
979 -=========================================
980 -END OF @babel/plugin-syntax-jsx@7.28.6 NOTICES AND INFORMATION
981 -
982 -%% @babel/plugin-syntax-object-rest-spread@7.8.3 NOTICES AND INFORMATION BEGIN HERE
983 -=========================================
984 -MIT License
985 -
986 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
987 -
988 -Permission is hereby granted, free of charge, to any person obtaining
989 -a copy of this software and associated documentation files (the
990 -"Software"), to deal in the Software without restriction, including
991 -without limitation the rights to use, copy, modify, merge, publish,
992 -distribute, sublicense, and/or sell copies of the Software, and to
993 -permit persons to whom the Software is furnished to do so, subject to
994 -the following conditions:
995 -
996 -The above copyright notice and this permission notice shall be
997 -included in all copies or substantial portions of the Software.
998 -
999 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1000 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1001 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
1002 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
1003 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
1004 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
1005 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1006 -=========================================
1007 -END OF @babel/plugin-syntax-object-rest-spread@7.8.3 NOTICES AND INFORMATION
1008 -
1009 -%% @babel/plugin-syntax-optional-catch-binding@7.8.3 NOTICES AND INFORMATION BEGIN HERE
1010 -=========================================
1011 -MIT License
1012 -
1013 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
1014 -
1015 -Permission is hereby granted, free of charge, to any person obtaining
1016 -a copy of this software and associated documentation files (the
1017 -"Software"), to deal in the Software without restriction, including
1018 -without limitation the rights to use, copy, modify, merge, publish,
1019 -distribute, sublicense, and/or sell copies of the Software, and to
1020 -permit persons to whom the Software is furnished to do so, subject to
1021 -the following conditions:
1022 -
1023 -The above copyright notice and this permission notice shall be
1024 -included in all copies or substantial portions of the Software.
1025 -
1026 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1027 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1028 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
1029 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
1030 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
1031 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
1032 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1033 -=========================================
1034 -END OF @babel/plugin-syntax-optional-catch-binding@7.8.3 NOTICES AND INFORMATION
1035 -
1036 -%% @babel/plugin-syntax-typescript@7.28.6 NOTICES AND INFORMATION BEGIN HERE
1037 -=========================================
1038 -MIT License
1039 -
1040 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
1041 -
1042 -Permission is hereby granted, free of charge, to any person obtaining
1043 -a copy of this software and associated documentation files (the
1044 -"Software"), to deal in the Software without restriction, including
1045 -without limitation the rights to use, copy, modify, merge, publish,
1046 -distribute, sublicense, and/or sell copies of the Software, and to
1047 -permit persons to whom the Software is furnished to do so, subject to
1048 -the following conditions:
1049 -
1050 -The above copyright notice and this permission notice shall be
1051 -included in all copies or substantial portions of the Software.
1052 -
1053 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1054 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1055 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
1056 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
1057 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
1058 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
1059 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1060 -=========================================
1061 -END OF @babel/plugin-syntax-typescript@7.28.6 NOTICES AND INFORMATION
1062 -
1063 -%% @babel/plugin-transform-class-properties@7.28.6 NOTICES AND INFORMATION BEGIN HERE
1064 -=========================================
1065 -MIT License
1066 -
1067 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
1068 -
1069 -Permission is hereby granted, free of charge, to any person obtaining
1070 -a copy of this software and associated documentation files (the
1071 -"Software"), to deal in the Software without restriction, including
1072 -without limitation the rights to use, copy, modify, merge, publish,
1073 -distribute, sublicense, and/or sell copies of the Software, and to
1074 -permit persons to whom the Software is furnished to do so, subject to
1075 -the following conditions:
1076 -
1077 -The above copyright notice and this permission notice shall be
1078 -included in all copies or substantial portions of the Software.
1079 -
1080 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1081 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1082 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
1083 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
1084 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
1085 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
1086 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1087 -=========================================
1088 -END OF @babel/plugin-transform-class-properties@7.28.6 NOTICES AND INFORMATION
1089 -
1090 -%% @babel/plugin-transform-class-static-block@7.28.6 NOTICES AND INFORMATION BEGIN HERE
1091 -=========================================
1092 -MIT License
1093 -
1094 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
1095 -
1096 -Permission is hereby granted, free of charge, to any person obtaining
1097 -a copy of this software and associated documentation files (the
1098 -"Software"), to deal in the Software without restriction, including
1099 -without limitation the rights to use, copy, modify, merge, publish,
1100 -distribute, sublicense, and/or sell copies of the Software, and to
1101 -permit persons to whom the Software is furnished to do so, subject to
1102 -the following conditions:
1103 -
1104 -The above copyright notice and this permission notice shall be
1105 -included in all copies or substantial portions of the Software.
1106 -
1107 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1108 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1109 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
1110 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
1111 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
1112 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
1113 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1114 -=========================================
1115 -END OF @babel/plugin-transform-class-static-block@7.28.6 NOTICES AND INFORMATION
1116 -
1117 -%% @babel/plugin-transform-destructuring@7.28.5 NOTICES AND INFORMATION BEGIN HERE
1118 -=========================================
1119 -MIT License
1120 -
1121 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
1122 -
1123 -Permission is hereby granted, free of charge, to any person obtaining
1124 -a copy of this software and associated documentation files (the
1125 -"Software"), to deal in the Software without restriction, including
1126 -without limitation the rights to use, copy, modify, merge, publish,
1127 -distribute, sublicense, and/or sell copies of the Software, and to
1128 -permit persons to whom the Software is furnished to do so, subject to
1129 -the following conditions:
1130 -
1131 -The above copyright notice and this permission notice shall be
1132 -included in all copies or substantial portions of the Software.
1133 -
1134 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1135 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1136 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
1137 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
1138 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
1139 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
1140 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1141 -=========================================
1142 -END OF @babel/plugin-transform-destructuring@7.28.5 NOTICES AND INFORMATION
1143 -
1144 -%% @babel/plugin-transform-explicit-resource-management@7.28.6 NOTICES AND INFORMATION BEGIN HERE
1145 -=========================================
1146 -MIT License
1147 -
1148 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
1149 -
1150 -Permission is hereby granted, free of charge, to any person obtaining
1151 -a copy of this software and associated documentation files (the
1152 -"Software"), to deal in the Software without restriction, including
1153 -without limitation the rights to use, copy, modify, merge, publish,
1154 -distribute, sublicense, and/or sell copies of the Software, and to
1155 -permit persons to whom the Software is furnished to do so, subject to
1156 -the following conditions:
1157 -
1158 -The above copyright notice and this permission notice shall be
1159 -included in all copies or substantial portions of the Software.
1160 -
1161 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1162 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1163 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
1164 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
1165 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
1166 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
1167 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1168 -=========================================
1169 -END OF @babel/plugin-transform-explicit-resource-management@7.28.6 NOTICES AND INFORMATION
1170 -
1171 -%% @babel/plugin-transform-export-namespace-from@7.27.1 NOTICES AND INFORMATION BEGIN HERE
1172 -=========================================
1173 -MIT License
1174 -
1175 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
1176 -
1177 -Permission is hereby granted, free of charge, to any person obtaining
1178 -a copy of this software and associated documentation files (the
1179 -"Software"), to deal in the Software without restriction, including
1180 -without limitation the rights to use, copy, modify, merge, publish,
1181 -distribute, sublicense, and/or sell copies of the Software, and to
1182 -permit persons to whom the Software is furnished to do so, subject to
1183 -the following conditions:
1184 -
1185 -The above copyright notice and this permission notice shall be
1186 -included in all copies or substantial portions of the Software.
1187 -
1188 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1189 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1190 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
1191 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
1192 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
1193 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
1194 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1195 -=========================================
1196 -END OF @babel/plugin-transform-export-namespace-from@7.27.1 NOTICES AND INFORMATION
1197 -
1198 -%% @babel/plugin-transform-logical-assignment-operators@7.28.6 NOTICES AND INFORMATION BEGIN HERE
1199 -=========================================
1200 -MIT License
1201 -
1202 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
1203 -
1204 -Permission is hereby granted, free of charge, to any person obtaining
1205 -a copy of this software and associated documentation files (the
1206 -"Software"), to deal in the Software without restriction, including
1207 -without limitation the rights to use, copy, modify, merge, publish,
1208 -distribute, sublicense, and/or sell copies of the Software, and to
1209 -permit persons to whom the Software is furnished to do so, subject to
1210 -the following conditions:
1211 -
1212 -The above copyright notice and this permission notice shall be
1213 -included in all copies or substantial portions of the Software.
1214 -
1215 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1216 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1217 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
1218 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
1219 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
1220 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
1221 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1222 -=========================================
1223 -END OF @babel/plugin-transform-logical-assignment-operators@7.28.6 NOTICES AND INFORMATION
1224 -
1225 -%% @babel/plugin-transform-modules-commonjs@7.28.6 NOTICES AND INFORMATION BEGIN HERE
1226 -=========================================
1227 -MIT License
1228 -
1229 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
1230 -
1231 -Permission is hereby granted, free of charge, to any person obtaining
1232 -a copy of this software and associated documentation files (the
1233 -"Software"), to deal in the Software without restriction, including
1234 -without limitation the rights to use, copy, modify, merge, publish,
1235 -distribute, sublicense, and/or sell copies of the Software, and to
1236 -permit persons to whom the Software is furnished to do so, subject to
1237 -the following conditions:
1238 -
1239 -The above copyright notice and this permission notice shall be
1240 -included in all copies or substantial portions of the Software.
1241 -
1242 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1243 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1244 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
1245 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
1246 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
1247 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
1248 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1249 -=========================================
1250 -END OF @babel/plugin-transform-modules-commonjs@7.28.6 NOTICES AND INFORMATION
1251 -
1252 -%% @babel/plugin-transform-nullish-coalescing-operator@7.28.6 NOTICES AND INFORMATION BEGIN HERE
1253 -=========================================
1254 -MIT License
1255 -
1256 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
1257 -
1258 -Permission is hereby granted, free of charge, to any person obtaining
1259 -a copy of this software and associated documentation files (the
1260 -"Software"), to deal in the Software without restriction, including
1261 -without limitation the rights to use, copy, modify, merge, publish,
1262 -distribute, sublicense, and/or sell copies of the Software, and to
1263 -permit persons to whom the Software is furnished to do so, subject to
1264 -the following conditions:
1265 -
1266 -The above copyright notice and this permission notice shall be
1267 -included in all copies or substantial portions of the Software.
1268 -
1269 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1270 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1271 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
1272 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
1273 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
1274 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
1275 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1276 -=========================================
1277 -END OF @babel/plugin-transform-nullish-coalescing-operator@7.28.6 NOTICES AND INFORMATION
1278 -
1279 -%% @babel/plugin-transform-numeric-separator@7.28.6 NOTICES AND INFORMATION BEGIN HERE
1280 -=========================================
1281 -MIT License
1282 -
1283 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
1284 -
1285 -Permission is hereby granted, free of charge, to any person obtaining
1286 -a copy of this software and associated documentation files (the
1287 -"Software"), to deal in the Software without restriction, including
1288 -without limitation the rights to use, copy, modify, merge, publish,
1289 -distribute, sublicense, and/or sell copies of the Software, and to
1290 -permit persons to whom the Software is furnished to do so, subject to
1291 -the following conditions:
1292 -
1293 -The above copyright notice and this permission notice shall be
1294 -included in all copies or substantial portions of the Software.
1295 -
1296 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1297 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1298 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
1299 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
1300 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
1301 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
1302 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1303 -=========================================
1304 -END OF @babel/plugin-transform-numeric-separator@7.28.6 NOTICES AND INFORMATION
1305 -
1306 -%% @babel/plugin-transform-optional-chaining@7.28.6 NOTICES AND INFORMATION BEGIN HERE
1307 -=========================================
1308 -MIT License
1309 -
1310 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
1311 -
1312 -Permission is hereby granted, free of charge, to any person obtaining
1313 -a copy of this software and associated documentation files (the
1314 -"Software"), to deal in the Software without restriction, including
1315 -without limitation the rights to use, copy, modify, merge, publish,
1316 -distribute, sublicense, and/or sell copies of the Software, and to
1317 -permit persons to whom the Software is furnished to do so, subject to
1318 -the following conditions:
1319 -
1320 -The above copyright notice and this permission notice shall be
1321 -included in all copies or substantial portions of the Software.
1322 -
1323 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1324 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1325 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
1326 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
1327 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
1328 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
1329 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1330 -=========================================
1331 -END OF @babel/plugin-transform-optional-chaining@7.28.6 NOTICES AND INFORMATION
1332 -
1333 -%% @babel/plugin-transform-private-methods@7.28.6 NOTICES AND INFORMATION BEGIN HERE
1334 -=========================================
1335 -MIT License
1336 -
1337 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
1338 -
1339 -Permission is hereby granted, free of charge, to any person obtaining
1340 -a copy of this software and associated documentation files (the
1341 -"Software"), to deal in the Software without restriction, including
1342 -without limitation the rights to use, copy, modify, merge, publish,
1343 -distribute, sublicense, and/or sell copies of the Software, and to
1344 -permit persons to whom the Software is furnished to do so, subject to
1345 -the following conditions:
1346 -
1347 -The above copyright notice and this permission notice shall be
1348 -included in all copies or substantial portions of the Software.
1349 -
1350 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1351 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1352 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
1353 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
1354 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
1355 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
1356 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1357 -=========================================
1358 -END OF @babel/plugin-transform-private-methods@7.28.6 NOTICES AND INFORMATION
1359 -
1360 -%% @babel/plugin-transform-react-jsx@7.28.6 NOTICES AND INFORMATION BEGIN HERE
1361 -=========================================
1362 -MIT License
1363 -
1364 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
1365 -
1366 -Permission is hereby granted, free of charge, to any person obtaining
1367 -a copy of this software and associated documentation files (the
1368 -"Software"), to deal in the Software without restriction, including
1369 -without limitation the rights to use, copy, modify, merge, publish,
1370 -distribute, sublicense, and/or sell copies of the Software, and to
1371 -permit persons to whom the Software is furnished to do so, subject to
1372 -the following conditions:
1373 -
1374 -The above copyright notice and this permission notice shall be
1375 -included in all copies or substantial portions of the Software.
1376 -
1377 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1378 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1379 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
1380 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
1381 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
1382 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
1383 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1384 -=========================================
1385 -END OF @babel/plugin-transform-react-jsx@7.28.6 NOTICES AND INFORMATION
1386 -
1387 -%% @babel/plugin-transform-typescript@7.28.6 NOTICES AND INFORMATION BEGIN HERE
1388 -=========================================
1389 -MIT License
1390 -
1391 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
1392 -
1393 -Permission is hereby granted, free of charge, to any person obtaining
1394 -a copy of this software and associated documentation files (the
1395 -"Software"), to deal in the Software without restriction, including
1396 -without limitation the rights to use, copy, modify, merge, publish,
1397 -distribute, sublicense, and/or sell copies of the Software, and to
1398 -permit persons to whom the Software is furnished to do so, subject to
1399 -the following conditions:
1400 -
1401 -The above copyright notice and this permission notice shall be
1402 -included in all copies or substantial portions of the Software.
1403 -
1404 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1405 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1406 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
1407 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
1408 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
1409 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
1410 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1411 -=========================================
1412 -END OF @babel/plugin-transform-typescript@7.28.6 NOTICES AND INFORMATION
1413 -
1414 -%% @babel/preset-typescript@7.28.5 NOTICES AND INFORMATION BEGIN HERE
1415 -=========================================
1416 -MIT License
1417 -
1418 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
1419 -
1420 -Permission is hereby granted, free of charge, to any person obtaining
1421 -a copy of this software and associated documentation files (the
1422 -"Software"), to deal in the Software without restriction, including
1423 -without limitation the rights to use, copy, modify, merge, publish,
1424 -distribute, sublicense, and/or sell copies of the Software, and to
1425 -permit persons to whom the Software is furnished to do so, subject to
1426 -the following conditions:
1427 -
1428 -The above copyright notice and this permission notice shall be
1429 -included in all copies or substantial portions of the Software.
1430 -
1431 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1432 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1433 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
1434 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
1435 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
1436 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
1437 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1438 -=========================================
1439 -END OF @babel/preset-typescript@7.28.5 NOTICES AND INFORMATION
1440 -
1441 -%% @babel/template@7.28.6 NOTICES AND INFORMATION BEGIN HERE
1442 -=========================================
1443 -MIT License
1444 -
1445 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
1446 -
1447 -Permission is hereby granted, free of charge, to any person obtaining
1448 -a copy of this software and associated documentation files (the
1449 -"Software"), to deal in the Software without restriction, including
1450 -without limitation the rights to use, copy, modify, merge, publish,
1451 -distribute, sublicense, and/or sell copies of the Software, and to
1452 -permit persons to whom the Software is furnished to do so, subject to
1453 -the following conditions:
1454 -
1455 -The above copyright notice and this permission notice shall be
1456 -included in all copies or substantial portions of the Software.
1457 -
1458 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1459 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1460 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
1461 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
1462 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
1463 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
1464 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1465 -=========================================
1466 -END OF @babel/template@7.28.6 NOTICES AND INFORMATION
1467 -
1468 -%% @babel/traverse@7.29.0 NOTICES AND INFORMATION BEGIN HERE
1469 -=========================================
1470 -MIT License
1471 -
1472 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
1473 -
1474 -Permission is hereby granted, free of charge, to any person obtaining
1475 -a copy of this software and associated documentation files (the
1476 -"Software"), to deal in the Software without restriction, including
1477 -without limitation the rights to use, copy, modify, merge, publish,
1478 -distribute, sublicense, and/or sell copies of the Software, and to
1479 -permit persons to whom the Software is furnished to do so, subject to
1480 -the following conditions:
1481 -
1482 -The above copyright notice and this permission notice shall be
1483 -included in all copies or substantial portions of the Software.
1484 -
1485 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1486 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1487 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
1488 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
1489 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
1490 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
1491 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1492 -=========================================
1493 -END OF @babel/traverse@7.29.0 NOTICES AND INFORMATION
1494 -
1495 -%% @babel/types@7.29.0 NOTICES AND INFORMATION BEGIN HERE
1496 -=========================================
1497 -MIT License
1498 -
1499 -Copyright (c) 2014-present Sebastian McKenzie and other contributors
1500 -
1501 -Permission is hereby granted, free of charge, to any person obtaining
1502 -a copy of this software and associated documentation files (the
1503 -"Software"), to deal in the Software without restriction, including
1504 -without limitation the rights to use, copy, modify, merge, publish,
1505 -distribute, sublicense, and/or sell copies of the Software, and to
1506 -permit persons to whom the Software is furnished to do so, subject to
1507 -the following conditions:
1508 -
1509 -The above copyright notice and this permission notice shall be
1510 -included in all copies or substantial portions of the Software.
1511 -
1512 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1513 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1514 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
1515 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
1516 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
1517 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
1518 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1519 -=========================================
1520 -END OF @babel/types@7.29.0 NOTICES AND INFORMATION
1521 -
1522 -%% @jridgewell/gen-mapping@0.3.13 NOTICES AND INFORMATION BEGIN HERE
1523 -=========================================
1524 -Copyright 2024 Justin Ridgewell <justin@ridgewell.name>
1525 -
1526 -Permission is hereby granted, free of charge, to any person obtaining a copy
1527 -of this software and associated documentation files (the "Software"), to deal
1528 -in the Software without restriction, including without limitation the rights
1529 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1530 -copies of the Software, and to permit persons to whom the Software is
1531 -furnished to do so, subject to the following conditions:
1532 -
1533 -The above copyright notice and this permission notice shall be included in
1534 -all copies or substantial portions of the Software.
1535 -
1536 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1537 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1538 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1539 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1540 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1541 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1542 -SOFTWARE.
1543 -=========================================
1544 -END OF @jridgewell/gen-mapping@0.3.13 NOTICES AND INFORMATION
1545 -
1546 -%% @jridgewell/resolve-uri@3.1.2 NOTICES AND INFORMATION BEGIN HERE
1547 -=========================================
1548 -Copyright 2019 Justin Ridgewell <jridgewell@google.com>
1549 -
1550 -Permission is hereby granted, free of charge, to any person obtaining a copy
1551 -of this software and associated documentation files (the "Software"), to deal
1552 -in the Software without restriction, including without limitation the rights
1553 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1554 -copies of the Software, and to permit persons to whom the Software is
1555 -furnished to do so, subject to the following conditions:
1556 -
1557 -The above copyright notice and this permission notice shall be included in
1558 -all copies or substantial portions of the Software.
1559 -
1560 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1561 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1562 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1563 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1564 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1565 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1566 -SOFTWARE.
1567 -=========================================
1568 -END OF @jridgewell/resolve-uri@3.1.2 NOTICES AND INFORMATION
1569 -
1570 -%% @jridgewell/sourcemap-codec@1.5.5 NOTICES AND INFORMATION BEGIN HERE
1571 -=========================================
1572 -Copyright 2024 Justin Ridgewell <justin@ridgewell.name>
1573 -
1574 -Permission is hereby granted, free of charge, to any person obtaining a copy
1575 -of this software and associated documentation files (the "Software"), to deal
1576 -in the Software without restriction, including without limitation the rights
1577 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1578 -copies of the Software, and to permit persons to whom the Software is
1579 -furnished to do so, subject to the following conditions:
1580 -
1581 -The above copyright notice and this permission notice shall be included in
1582 -all copies or substantial portions of the Software.
1583 -
1584 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1585 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1586 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1587 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1588 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1589 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1590 -SOFTWARE.
1591 -=========================================
1592 -END OF @jridgewell/sourcemap-codec@1.5.5 NOTICES AND INFORMATION
1593 -
1594 -%% @jridgewell/trace-mapping@0.3.30 NOTICES AND INFORMATION BEGIN HERE
1595 -=========================================
1596 -Copyright 2024 Justin Ridgewell <justin@ridgewell.name>
1597 -
1598 -Permission is hereby granted, free of charge, to any person obtaining a copy
1599 -of this software and associated documentation files (the "Software"), to deal
1600 -in the Software without restriction, including without limitation the rights
1601 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1602 -copies of the Software, and to permit persons to whom the Software is
1603 -furnished to do so, subject to the following conditions:
1604 -
1605 -The above copyright notice and this permission notice shall be included in
1606 -all copies or substantial portions of the Software.
1607 -
1608 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1609 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1610 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1611 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1612 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1613 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1614 -SOFTWARE.
1615 -=========================================
1616 -END OF @jridgewell/trace-mapping@0.3.30 NOTICES AND INFORMATION
1617 -
1618 -%% browserslist@4.25.4 NOTICES AND INFORMATION BEGIN HERE
1619 -=========================================
1620 -The MIT License (MIT)
1621 -
1622 -Copyright 2014 Andrey Sitnik <andrey@sitnik.ru> and other contributors
1623 -
1624 -Permission is hereby granted, free of charge, to any person obtaining a copy of
1625 -this software and associated documentation files (the "Software"), to deal in
1626 -the Software without restriction, including without limitation the rights to
1627 -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
1628 -the Software, and to permit persons to whom the Software is furnished to do so,
1629 -subject to the following conditions:
1630 -
1631 -The above copyright notice and this permission notice shall be included in all
1632 -copies or substantial portions of the Software.
1633 -
1634 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1635 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
1636 -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
1637 -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
1638 -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
1639 -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1640 -=========================================
1641 -END OF browserslist@4.25.4 NOTICES AND INFORMATION
1642 -
1643 -%% caniuse-lite@1.0.30001739 NOTICES AND INFORMATION BEGIN HERE
1644 -=========================================
1645 -Attribution 4.0 International
1646 -
1647 -=======================================================================
1648 -
1649 -Creative Commons Corporation ("Creative Commons") is not a law firm and
1650 -does not provide legal services or legal advice. Distribution of
1651 -Creative Commons public licenses does not create a lawyer-client or
1652 -other relationship. Creative Commons makes its licenses and related
1653 -information available on an "as-is" basis. Creative Commons gives no
1654 -warranties regarding its licenses, any material licensed under their
1655 -terms and conditions, or any related information. Creative Commons
1656 -disclaims all liability for damages resulting from their use to the
1657 -fullest extent possible.
1658 -
1659 -Using Creative Commons Public Licenses
1660 -
1661 -Creative Commons public licenses provide a standard set of terms and
1662 -conditions that creators and other rights holders may use to share
1663 -original works of authorship and other material subject to copyright
1664 -and certain other rights specified in the public license below. The
1665 -following considerations are for informational purposes only, are not
1666 -exhaustive, and do not form part of our licenses.
1667 -
1668 - Considerations for licensors: Our public licenses are
1669 - intended for use by those authorized to give the public
1670 - permission to use material in ways otherwise restricted by
1671 - copyright and certain other rights. Our licenses are
1672 - irrevocable. Licensors should read and understand the terms
1673 - and conditions of the license they choose before applying it.
1674 - Licensors should also secure all rights necessary before
1675 - applying our licenses so that the public can reuse the
1676 - material as expected. Licensors should clearly mark any
1677 - material not subject to the license. This includes other CC-
1678 - licensed material, or material used under an exception or
1679 - limitation to copyright. More considerations for licensors:
1680 - wiki.creativecommons.org/Considerations_for_licensors
1681 -
1682 - Considerations for the public: By using one of our public
1683 - licenses, a licensor grants the public permission to use the
1684 - licensed material under specified terms and conditions. If
1685 - the licensor's permission is not necessary for any reason--for
1686 - example, because of any applicable exception or limitation to
1687 - copyright--then that use is not regulated by the license. Our
1688 - licenses grant only permissions under copyright and certain
1689 - other rights that a licensor has authority to grant. Use of
1690 - the licensed material may still be restricted for other
1691 - reasons, including because others have copyright or other
1692 - rights in the material. A licensor may make special requests,
1693 - such as asking that all changes be marked or described.
1694 - Although not required by our licenses, you are encouraged to
1695 - respect those requests where reasonable. More_considerations
1696 - for the public:
1697 - wiki.creativecommons.org/Considerations_for_licensees
1698 -
1699 -=======================================================================
1700 -
1701 -Creative Commons Attribution 4.0 International Public License
1702 -
1703 -By exercising the Licensed Rights (defined below), You accept and agree
1704 -to be bound by the terms and conditions of this Creative Commons
1705 -Attribution 4.0 International Public License ("Public License"). To the
1706 -extent this Public License may be interpreted as a contract, You are
1707 -granted the Licensed Rights in consideration of Your acceptance of
1708 -these terms and conditions, and the Licensor grants You such rights in
1709 -consideration of benefits the Licensor receives from making the
1710 -Licensed Material available under these terms and conditions.
1711 -
1712 -
1713 -Section 1 -- Definitions.
1714 -
1715 - a. Adapted Material means material subject to Copyright and Similar
1716 - Rights that is derived from or based upon the Licensed Material
1717 - and in which the Licensed Material is translated, altered,
1718 - arranged, transformed, or otherwise modified in a manner requiring
1719 - permission under the Copyright and Similar Rights held by the
1720 - Licensor. For purposes of this Public License, where the Licensed
1721 - Material is a musical work, performance, or sound recording,
1722 - Adapted Material is always produced where the Licensed Material is
1723 - synched in timed relation with a moving image.
1724 -
1725 - b. Adapter's License means the license You apply to Your Copyright
1726 - and Similar Rights in Your contributions to Adapted Material in
1727 - accordance with the terms and conditions of this Public License.
1728 -
1729 - c. Copyright and Similar Rights means copyright and/or similar rights
1730 - closely related to copyright including, without limitation,
1731 - performance, broadcast, sound recording, and Sui Generis Database
1732 - Rights, without regard to how the rights are labeled or
1733 - categorized. For purposes of this Public License, the rights
1734 - specified in Section 2(b)(1)-(2) are not Copyright and Similar
1735 - Rights.
1736 -
1737 - d. Effective Technological Measures means those measures that, in the
1738 - absence of proper authority, may not be circumvented under laws
1739 - fulfilling obligations under Article 11 of the WIPO Copyright
1740 - Treaty adopted on December 20, 1996, and/or similar international
1741 - agreements.
1742 -
1743 - e. Exceptions and Limitations means fair use, fair dealing, and/or
1744 - any other exception or limitation to Copyright and Similar Rights
1745 - that applies to Your use of the Licensed Material.
1746 -
1747 - f. Licensed Material means the artistic or literary work, database,
1748 - or other material to which the Licensor applied this Public
1749 - License.
1750 -
1751 - g. Licensed Rights means the rights granted to You subject to the
1752 - terms and conditions of this Public License, which are limited to
1753 - all Copyright and Similar Rights that apply to Your use of the
1754 - Licensed Material and that the Licensor has authority to license.
1755 -
1756 - h. Licensor means the individual(s) or entity(ies) granting rights
1757 - under this Public License.
1758 -
1759 - i. Share means to provide material to the public by any means or
1760 - process that requires permission under the Licensed Rights, such
1761 - as reproduction, public display, public performance, distribution,
1762 - dissemination, communication, or importation, and to make material
1763 - available to the public including in ways that members of the
1764 - public may access the material from a place and at a time
1765 - individually chosen by them.
1766 -
1767 - j. Sui Generis Database Rights means rights other than copyright
1768 - resulting from Directive 96/9/EC of the European Parliament and of
1769 - the Council of 11 March 1996 on the legal protection of databases,
1770 - as amended and/or succeeded, as well as other essentially
1771 - equivalent rights anywhere in the world.
1772 -
1773 - k. You means the individual or entity exercising the Licensed Rights
1774 - under this Public License. Your has a corresponding meaning.
1775 -
1776 -
1777 -Section 2 -- Scope.
1778 -
1779 - a. License grant.
1780 -
1781 - 1. Subject to the terms and conditions of this Public License,
1782 - the Licensor hereby grants You a worldwide, royalty-free,
1783 - non-sublicensable, non-exclusive, irrevocable license to
1784 - exercise the Licensed Rights in the Licensed Material to:
1785 -
1786 - a. reproduce and Share the Licensed Material, in whole or
1787 - in part; and
1788 -
1789 - b. produce, reproduce, and Share Adapted Material.
1790 -
1791 - 2. Exceptions and Limitations. For the avoidance of doubt, where
1792 - Exceptions and Limitations apply to Your use, this Public
1793 - License does not apply, and You do not need to comply with
1794 - its terms and conditions.
1795 -
1796 - 3. Term. The term of this Public License is specified in Section
1797 - 6(a).
1798 -
1799 - 4. Media and formats; technical modifications allowed. The
1800 - Licensor authorizes You to exercise the Licensed Rights in
1801 - all media and formats whether now known or hereafter created,
1802 - and to make technical modifications necessary to do so. The
1803 - Licensor waives and/or agrees not to assert any right or
1804 - authority to forbid You from making technical modifications
1805 - necessary to exercise the Licensed Rights, including
1806 - technical modifications necessary to circumvent Effective
1807 - Technological Measures. For purposes of this Public License,
1808 - simply making modifications authorized by this Section 2(a)
1809 - (4) never produces Adapted Material.
1810 -
1811 - 5. Downstream recipients.
1812 -
1813 - a. Offer from the Licensor -- Licensed Material. Every
1814 - recipient of the Licensed Material automatically
1815 - receives an offer from the Licensor to exercise the
1816 - Licensed Rights under the terms and conditions of this
1817 - Public License.
1818 -
1819 - b. No downstream restrictions. You may not offer or impose
1820 - any additional or different terms or conditions on, or
1821 - apply any Effective Technological Measures to, the
1822 - Licensed Material if doing so restricts exercise of the
1823 - Licensed Rights by any recipient of the Licensed
1824 - Material.
1825 -
1826 - 6. No endorsement. Nothing in this Public License constitutes or
1827 - may be construed as permission to assert or imply that You
1828 - are, or that Your use of the Licensed Material is, connected
1829 - with, or sponsored, endorsed, or granted official status by,
1830 - the Licensor or others designated to receive attribution as
1831 - provided in Section 3(a)(1)(A)(i).
1832 -
1833 - b. Other rights.
1834 -
1835 - 1. Moral rights, such as the right of integrity, are not
1836 - licensed under this Public License, nor are publicity,
1837 - privacy, and/or other similar personality rights; however, to
1838 - the extent possible, the Licensor waives and/or agrees not to
1839 - assert any such rights held by the Licensor to the limited
1840 - extent necessary to allow You to exercise the Licensed
1841 - Rights, but not otherwise.
1842 -
1843 - 2. Patent and trademark rights are not licensed under this
1844 - Public License.
1845 -
1846 - 3. To the extent possible, the Licensor waives any right to
1847 - collect royalties from You for the exercise of the Licensed
1848 - Rights, whether directly or through a collecting society
1849 - under any voluntary or waivable statutory or compulsory
1850 - licensing scheme. In all other cases the Licensor expressly
1851 - reserves any right to collect such royalties.
1852 -
1853 -
1854 -Section 3 -- License Conditions.
1855 -
1856 -Your exercise of the Licensed Rights is expressly made subject to the
1857 -following conditions.
1858 -
1859 - a. Attribution.
1860 -
1861 - 1. If You Share the Licensed Material (including in modified
1862 - form), You must:
1863 -
1864 - a. retain the following if it is supplied by the Licensor
1865 - with the Licensed Material:
1866 -
1867 - i. identification of the creator(s) of the Licensed
1868 - Material and any others designated to receive
1869 - attribution, in any reasonable manner requested by
1870 - the Licensor (including by pseudonym if
1871 - designated);
1872 -
1873 - ii. a copyright notice;
1874 -
1875 - iii. a notice that refers to this Public License;
1876 -
1877 - iv. a notice that refers to the disclaimer of
1878 - warranties;
1879 -
1880 - v. a URI or hyperlink to the Licensed Material to the
1881 - extent reasonably practicable;
1882 -
1883 - b. indicate if You modified the Licensed Material and
1884 - retain an indication of any previous modifications; and
1885 -
1886 - c. indicate the Licensed Material is licensed under this
1887 - Public License, and include the text of, or the URI or
1888 - hyperlink to, this Public License.
1889 -
1890 - 2. You may satisfy the conditions in Section 3(a)(1) in any
1891 - reasonable manner based on the medium, means, and context in
1892 - which You Share the Licensed Material. For example, it may be
1893 - reasonable to satisfy the conditions by providing a URI or
1894 - hyperlink to a resource that includes the required
1895 - information.
1896 -
1897 - 3. If requested by the Licensor, You must remove any of the
1898 - information required by Section 3(a)(1)(A) to the extent
1899 - reasonably practicable.
1900 -
1901 - 4. If You Share Adapted Material You produce, the Adapter's
1902 - License You apply must not prevent recipients of the Adapted
1903 - Material from complying with this Public License.
1904 -
1905 -
1906 -Section 4 -- Sui Generis Database Rights.
1907 -
1908 -Where the Licensed Rights include Sui Generis Database Rights that
1909 -apply to Your use of the Licensed Material:
1910 -
1911 - a. for the avoidance of doubt, Section 2(a)(1) grants You the right
1912 - to extract, reuse, reproduce, and Share all or a substantial
1913 - portion of the contents of the database;
1914 -
1915 - b. if You include all or a substantial portion of the database
1916 - contents in a database in which You have Sui Generis Database
1917 - Rights, then the database in which You have Sui Generis Database
1918 - Rights (but not its individual contents) is Adapted Material; and
1919 -
1920 - c. You must comply with the conditions in Section 3(a) if You Share
1921 - all or a substantial portion of the contents of the database.
1922 -
1923 -For the avoidance of doubt, this Section 4 supplements and does not
1924 -replace Your obligations under this Public License where the Licensed
1925 -Rights include other Copyright and Similar Rights.
1926 -
1927 -
1928 -Section 5 -- Disclaimer of Warranties and Limitation of Liability.
1929 -
1930 - a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
1931 - EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
1932 - AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
1933 - ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
1934 - IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
1935 - WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
1936 - PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
1937 - ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
1938 - KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
1939 - ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
1940 -
1941 - b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
1942 - TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
1943 - NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
1944 - INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
1945 - COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
1946 - USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
1947 - ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
1948 - DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
1949 - IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
1950 -
1951 - c. The disclaimer of warranties and limitation of liability provided
1952 - above shall be interpreted in a manner that, to the extent
1953 - possible, most closely approximates an absolute disclaimer and
1954 - waiver of all liability.
1955 -
1956 -
1957 -Section 6 -- Term and Termination.
1958 -
1959 - a. This Public License applies for the term of the Copyright and
1960 - Similar Rights licensed here. However, if You fail to comply with
1961 - this Public License, then Your rights under this Public License
1962 - terminate automatically.
1963 -
1964 - b. Where Your right to use the Licensed Material has terminated under
1965 - Section 6(a), it reinstates:
1966 -
1967 - 1. automatically as of the date the violation is cured, provided
1968 - it is cured within 30 days of Your discovery of the
1969 - violation; or
1970 -
1971 - 2. upon express reinstatement by the Licensor.
1972 -
1973 - For the avoidance of doubt, this Section 6(b) does not affect any
1974 - right the Licensor may have to seek remedies for Your violations
1975 - of this Public License.
1976 -
1977 - c. For the avoidance of doubt, the Licensor may also offer the
1978 - Licensed Material under separate terms or conditions or stop
1979 - distributing the Licensed Material at any time; however, doing so
1980 - will not terminate this Public License.
1981 -
1982 - d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
1983 - License.
1984 -
1985 -
1986 -Section 7 -- Other Terms and Conditions.
1987 -
1988 - a. The Licensor shall not be bound by any additional or different
1989 - terms or conditions communicated by You unless expressly agreed.
1990 -
1991 - b. Any arrangements, understandings, or agreements regarding the
1992 - Licensed Material not stated herein are separate from and
1993 - independent of the terms and conditions of this Public License.
1994 -
1995 -
1996 -Section 8 -- Interpretation.
1997 -
1998 - a. For the avoidance of doubt, this Public License does not, and
1999 - shall not be interpreted to, reduce, limit, restrict, or impose
2000 - conditions on any use of the Licensed Material that could lawfully
2001 - be made without permission under this Public License.
2002 -
2003 - b. To the extent possible, if any provision of this Public License is
2004 - deemed unenforceable, it shall be automatically reformed to the
2005 - minimum extent necessary to make it enforceable. If the provision
2006 - cannot be reformed, it shall be severed from this Public License
2007 - without affecting the enforceability of the remaining terms and
2008 - conditions.
2009 -
2010 - c. No term or condition of this Public License will be waived and no
2011 - failure to comply consented to unless expressly agreed to by the
2012 - Licensor.
2013 -
2014 - d. Nothing in this Public License constitutes or may be interpreted
2015 - as a limitation upon, or waiver of, any privileges and immunities
2016 - that apply to the Licensor or You, including from the legal
2017 - processes of any jurisdiction or authority.
2018 -
2019 -
2020 -=======================================================================
2021 -
2022 -Creative Commons is not a party to its public
2023 -licenses. Notwithstanding, Creative Commons may elect to apply one of
2024 -its public licenses to material it publishes and in those instances
2025 -will be considered the “Licensor.” The text of the Creative Commons
2026 -public licenses is dedicated to the public domain under the CC0 Public
2027 -Domain Dedication. Except for the limited purpose of indicating that
2028 -material is shared under a Creative Commons public license or as
2029 -otherwise permitted by the Creative Commons policies published at
2030 -creativecommons.org/policies, Creative Commons does not authorize the
2031 -use of the trademark "Creative Commons" or any other trademark or logo
2032 -of Creative Commons without its prior written consent including,
2033 -without limitation, in connection with any unauthorized modifications
2034 -to any of its public licenses or any other arrangements,
2035 -understandings, or agreements concerning use of licensed material. For
2036 -the avoidance of doubt, this paragraph does not form part of the
2037 -public licenses.
2038 -
2039 -Creative Commons may be contacted at creativecommons.org.
2040 -=========================================
2041 -END OF caniuse-lite@1.0.30001739 NOTICES AND INFORMATION
2042 -
2043 -%% convert-source-map@2.0.0 NOTICES AND INFORMATION BEGIN HERE
2044 -=========================================
2045 -Copyright 2013 Thorsten Lorenz.
2046 -All rights reserved.
2047 -
2048 -Permission is hereby granted, free of charge, to any person
2049 -obtaining a copy of this software and associated documentation
2050 -files (the "Software"), to deal in the Software without
2051 -restriction, including without limitation the rights to use,
2052 -copy, modify, merge, publish, distribute, sublicense, and/or sell
2053 -copies of the Software, and to permit persons to whom the
2054 -Software is furnished to do so, subject to the following
2055 -conditions:
2056 -
2057 -The above copyright notice and this permission notice shall be
2058 -included in all copies or substantial portions of the Software.
2059 -
2060 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
2061 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
2062 -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
2063 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
2064 -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
2065 -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
2066 -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
2067 -OTHER DEALINGS IN THE SOFTWARE.
2068 -=========================================
2069 -END OF convert-source-map@2.0.0 NOTICES AND INFORMATION
2070 -
2071 -%% debug@4.4.3 NOTICES AND INFORMATION BEGIN HERE
2072 -=========================================
2073 -(The MIT License)
2074 -
2075 -Copyright (c) 2014-2017 TJ Holowaychuk <tj@vision-media.ca>
2076 -Copyright (c) 2018-2021 Josh Junon
2077 -
2078 -Permission is hereby granted, free of charge, to any person obtaining a copy of this software
2079 -and associated documentation files (the 'Software'), to deal in the Software without restriction,
2080 -including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
2081 -and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
2082 -subject to the following conditions:
2083 -
2084 -The above copyright notice and this permission notice shall be included in all copies or substantial
2085 -portions of the Software.
2086 -
2087 -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
2088 -LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
2089 -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
2090 -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
2091 -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
2092 -=========================================
2093 -END OF debug@4.4.3 NOTICES AND INFORMATION
2094 -
2095 -%% electron-to-chromium@1.5.214 NOTICES AND INFORMATION BEGIN HERE
2096 -=========================================
2097 -Copyright 2018 Kilian Valkhof
2098 -
2099 -Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
2100 -
2101 -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
2102 -=========================================
2103 -END OF electron-to-chromium@1.5.214 NOTICES AND INFORMATION
2104 -
2105 -%% gensync@1.0.0-beta.2 NOTICES AND INFORMATION BEGIN HERE
2106 -=========================================
2107 -Copyright 2018 Logan Smyth <loganfsmyth@gmail.com>
2108 -
2109 -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
2110 -
2111 -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
2112 -
2113 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
2114 -=========================================
2115 -END OF gensync@1.0.0-beta.2 NOTICES AND INFORMATION
2116 -
2117 -%% has-flag@4.0.0 NOTICES AND INFORMATION BEGIN HERE
2118 -=========================================
2119 -MIT License
2120 -
2121 -Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
2122 -
2123 -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
2124 -
2125 -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
2126 -
2127 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
2128 -=========================================
2129 -END OF has-flag@4.0.0 NOTICES AND INFORMATION
2130 -
2131 -%% js-tokens@4.0.0 NOTICES AND INFORMATION BEGIN HERE
2132 -=========================================
2133 -The MIT License (MIT)
2134 -
2135 -Copyright (c) 2014, 2015, 2016, 2017, 2018 Simon Lydell
2136 -
2137 -Permission is hereby granted, free of charge, to any person obtaining a copy
2138 -of this software and associated documentation files (the "Software"), to deal
2139 -in the Software without restriction, including without limitation the rights
2140 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
2141 -copies of the Software, and to permit persons to whom the Software is
2142 -furnished to do so, subject to the following conditions:
2143 -
2144 -The above copyright notice and this permission notice shall be included in
2145 -all copies or substantial portions of the Software.
2146 -
2147 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
2148 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
2149 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
2150 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
2151 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
2152 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
2153 -THE SOFTWARE.
2154 -=========================================
2155 -END OF js-tokens@4.0.0 NOTICES AND INFORMATION
2156 -
2157 -%% jsesc@3.1.0 NOTICES AND INFORMATION BEGIN HERE
2158 -=========================================
2159 -Copyright Mathias Bynens <https://mathiasbynens.be/>
2160 -
2161 -Permission is hereby granted, free of charge, to any person obtaining
2162 -a copy of this software and associated documentation files (the
2163 -"Software"), to deal in the Software without restriction, including
2164 -without limitation the rights to use, copy, modify, merge, publish,
2165 -distribute, sublicense, and/or sell copies of the Software, and to
2166 -permit persons to whom the Software is furnished to do so, subject to
2167 -the following conditions:
2168 -
2169 -The above copyright notice and this permission notice shall be
2170 -included in all copies or substantial portions of the Software.
2171 -
2172 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
2173 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
2174 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
2175 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
2176 -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
2177 -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
2178 -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
2179 -=========================================
2180 -END OF jsesc@3.1.0 NOTICES AND INFORMATION
2181 -
2182 -%% json5@2.2.3 NOTICES AND INFORMATION BEGIN HERE
2183 -=========================================
2184 -MIT License
2185 -
2186 -Copyright (c) 2012-2018 Aseem Kishore, and [others].
2187 -
2188 -Permission is hereby granted, free of charge, to any person obtaining a copy
2189 -of this software and associated documentation files (the "Software"), to deal
2190 -in the Software without restriction, including without limitation the rights
2191 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
2192 -copies of the Software, and to permit persons to whom the Software is
2193 -furnished to do so, subject to the following conditions:
2194 -
2195 -The above copyright notice and this permission notice shall be included in all
2196 -copies or substantial portions of the Software.
2197 -
2198 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
2199 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
2200 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
2201 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
2202 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
2203 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
2204 -SOFTWARE.
2205 -
2206 -[others]: https://github.com/json5/json5/contributors
2207 -=========================================
2208 -END OF json5@2.2.3 NOTICES AND INFORMATION
2209 -
2210 -%% lru-cache@5.1.1 NOTICES AND INFORMATION BEGIN HERE
2211 -=========================================
2212 -The ISC License
2213 -
2214 -Copyright (c) Isaac Z. Schlueter and Contributors
2215 -
2216 -Permission to use, copy, modify, and/or distribute this software for any
2217 -purpose with or without fee is hereby granted, provided that the above
2218 -copyright notice and this permission notice appear in all copies.
2219 -
2220 -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
2221 -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
2222 -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
2223 -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
2224 -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
2225 -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
2226 -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
2227 -=========================================
2228 -END OF lru-cache@5.1.1 NOTICES AND INFORMATION
2229 -
2230 -%% ms@2.1.3 NOTICES AND INFORMATION BEGIN HERE
2231 -=========================================
2232 -The MIT License (MIT)
2233 -
2234 -Copyright (c) 2020 Vercel, Inc.
2235 -
2236 -Permission is hereby granted, free of charge, to any person obtaining a copy
2237 -of this software and associated documentation files (the "Software"), to deal
2238 -in the Software without restriction, including without limitation the rights
2239 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
2240 -copies of the Software, and to permit persons to whom the Software is
2241 -furnished to do so, subject to the following conditions:
2242 -
2243 -The above copyright notice and this permission notice shall be included in all
2244 -copies or substantial portions of the Software.
2245 -
2246 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
2247 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
2248 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
2249 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
2250 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
2251 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
2252 -SOFTWARE.
2253 -=========================================
2254 -END OF ms@2.1.3 NOTICES AND INFORMATION
2255 -
2256 -%% node-releases@2.0.19 NOTICES AND INFORMATION BEGIN HERE
2257 -=========================================
2258 -The MIT License
2259 -
2260 -Copyright (c) 2017 Sergey Rubanov (https://github.com/chicoxyzzy)
2261 -
2262 -Permission is hereby granted, free of charge, to any person obtaining a copy
2263 -of this software and associated documentation files (the "Software"), to deal
2264 -in the Software without restriction, including without limitation the rights
2265 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
2266 -copies of the Software, and to permit persons to whom the Software is
2267 -furnished to do so, subject to the following conditions:
2268 -
2269 -The above copyright notice and this permission notice shall be included in
2270 -all copies or substantial portions of the Software.
2271 -
2272 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
2273 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
2274 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
2275 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
2276 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
2277 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
2278 -THE SOFTWARE.
2279 -=========================================
2280 -END OF node-releases@2.0.19 NOTICES AND INFORMATION
2281 -
2282 -%% picocolors@1.1.1 NOTICES AND INFORMATION BEGIN HERE
2283 -=========================================
2284 -ISC License
2285 -
2286 -Copyright (c) 2021-2024 Oleksii Raspopov, Kostiantyn Denysov, Anton Verinov
2287 -
2288 -Permission to use, copy, modify, and/or distribute this software for any
2289 -purpose with or without fee is hereby granted, provided that the above
2290 -copyright notice and this permission notice appear in all copies.
2291 -
2292 -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
2293 -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
2294 -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
2295 -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
2296 -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
2297 -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
2298 -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
2299 -=========================================
2300 -END OF picocolors@1.1.1 NOTICES AND INFORMATION
2301 -
2302 -%% semver@6.3.1 NOTICES AND INFORMATION BEGIN HERE
2303 -=========================================
2304 -The ISC License
2305 -
2306 -Copyright (c) Isaac Z. Schlueter and Contributors
2307 -
2308 -Permission to use, copy, modify, and/or distribute this software for any
2309 -purpose with or without fee is hereby granted, provided that the above
2310 -copyright notice and this permission notice appear in all copies.
2311 -
2312 -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
2313 -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
2314 -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
2315 -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
2316 -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
2317 -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
2318 -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
2319 -=========================================
2320 -END OF semver@6.3.1 NOTICES AND INFORMATION
2321 -
2322 -%% supports-color@8.1.1 NOTICES AND INFORMATION BEGIN HERE
2323 -=========================================
2324 -MIT License
2325 -
2326 -Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
2327 -
2328 -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
2329 -
2330 -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
2331 -
2332 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
2333 -=========================================
2334 -END OF supports-color@8.1.1 NOTICES AND INFORMATION
2335 -
2336 -%% yallist@3.1.1 NOTICES AND INFORMATION BEGIN HERE
2337 -=========================================
2338 -The ISC License
2339 -
2340 -Copyright (c) Isaac Z. Schlueter and Contributors
2341 -
2342 -Permission to use, copy, modify, and/or distribute this software for any
2343 -purpose with or without fee is hereby granted, provided that the above
2344 -copyright notice and this permission notice appear in all copies.
2345 -
2346 -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
2347 -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
2348 -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
2349 -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
2350 -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
2351 -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
2352 -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
2353 -=========================================
2354 -END OF yallist@3.1.1 NOTICES AND INFORMATION
2355 -
2356 -SUMMARY
2357 -=========================================
2358 -Total Packages: 68
2359 -=========================================
\ No newline at end of file
node_modules/playwright/lib/transform/babelBundle.js.txt deleted
-325
@@ -1,325 +0,0 @@
1 -# packages/playwright/lib/transform/babelBundle.js
2 -# total: 2724.2 KB
3 -
4 -## Inlined (319)
5 - 5.7 KB node_modules/@ampproject/remapping/dist/remapping.umd.js
6 - 7.9 KB node_modules/@babel/code-frame/lib/index.js
7 - 0.5 KB node_modules/@babel/compat-data/data/native-modules.json
8 - 18.6 KB node_modules/@babel/compat-data/data/plugins.json
9 - 0.2 KB node_modules/@babel/compat-data/native-modules.js
10 - 0.1 KB node_modules/@babel/compat-data/plugins.js
11 - 8.3 KB node_modules/@babel/core/lib/config/caching.js
12 - 20.1 KB node_modules/@babel/core/lib/config/config-chain.js
13 - 7.6 KB node_modules/@babel/core/lib/config/config-descriptors.js
14 - 11.6 KB node_modules/@babel/core/lib/config/files/configuration.js
15 - 0.2 KB node_modules/@babel/core/lib/config/files/import.cjs
16 - 2.1 KB node_modules/@babel/core/lib/config/files/index.js
17 - 8.0 KB node_modules/@babel/core/lib/config/files/module-types.js
18 - 1.8 KB node_modules/@babel/core/lib/config/files/package.js
19 - 8.4 KB node_modules/@babel/core/lib/config/files/plugins.js
20 - 1.0 KB node_modules/@babel/core/lib/config/files/utils.js
21 - 12.1 KB node_modules/@babel/core/lib/config/full.js
22 - 3.1 KB node_modules/@babel/core/lib/config/helpers/config-api.js
23 - 0.7 KB node_modules/@babel/core/lib/config/helpers/deep-array.js
24 - 0.4 KB node_modules/@babel/core/lib/config/helpers/environment.js
25 - 3.7 KB node_modules/@babel/core/lib/config/index.js
26 - 2.1 KB node_modules/@babel/core/lib/config/item.js
27 - 5.8 KB node_modules/@babel/core/lib/config/partial.js
28 - 1.3 KB node_modules/@babel/core/lib/config/pattern-to-regex.js
29 - 1.1 KB node_modules/@babel/core/lib/config/plugin.js
30 - 3.3 KB node_modules/@babel/core/lib/config/printer.js
31 - 1.8 KB node_modules/@babel/core/lib/config/resolve-targets.js
32 - 1.1 KB node_modules/@babel/core/lib/config/util.js
33 - 11.0 KB node_modules/@babel/core/lib/config/validation/option-assertions.js
34 - 8.6 KB node_modules/@babel/core/lib/config/validation/options.js
35 - 2.4 KB node_modules/@babel/core/lib/config/validation/plugins.js
36 - 2.6 KB node_modules/@babel/core/lib/config/validation/removed.js
37 - 0.6 KB node_modules/@babel/core/lib/errors/config-error.js
38 - 3.6 KB node_modules/@babel/core/lib/errors/rewrite-stack-trace.js
39 - 3.1 KB node_modules/@babel/core/lib/gensync-utils/async.js
40 - 0.7 KB node_modules/@babel/core/lib/gensync-utils/fs.js
41 - 1.6 KB node_modules/@babel/core/lib/gensync-utils/functional.js
42 - 6.5 KB node_modules/@babel/core/lib/index.js
43 - 1.6 KB node_modules/@babel/core/lib/parse.js
44 - 2.5 KB node_modules/@babel/core/lib/parser/index.js
45 - 14.1 KB node_modules/@babel/core/lib/parser/util/missing-plugin-helper.js
46 - 5.0 KB node_modules/@babel/core/lib/tools/build-external-helpers.js
47 - 1.8 KB node_modules/@babel/core/lib/transform-ast.js
48 - 1.2 KB node_modules/@babel/core/lib/transform-file.js
49 - 1.7 KB node_modules/@babel/core/lib/transform.js
50 - 2.3 KB node_modules/@babel/core/lib/transformation/block-hoist-plugin.js
51 - 0.2 KB node_modules/@babel/core/lib/transformation/file/babel-7-helpers.cjs
52 - 6.8 KB node_modules/@babel/core/lib/transformation/file/file.js
53 - 2.6 KB node_modules/@babel/core/lib/transformation/file/generate.js
54 - 1.0 KB node_modules/@babel/core/lib/transformation/file/merge-map.js
55 - 3.3 KB node_modules/@babel/core/lib/transformation/index.js
56 - 4.1 KB node_modules/@babel/core/lib/transformation/normalize-file.js
57 - 1.8 KB node_modules/@babel/core/lib/transformation/normalize-opts.js
58 - 1.4 KB node_modules/@babel/core/lib/transformation/plugin-pass.js
59 - 1.9 KB node_modules/@babel/core/lib/transformation/util/clone-deep.js
60 - 44.8 KB node_modules/@babel/core/lib/vendor/import-meta-resolve.js
61 - 38.4 KB node_modules/@babel/core/node_modules/semver/semver.js
62 - 7.1 KB node_modules/@babel/generator/lib/buffer.js
63 - 3.1 KB node_modules/@babel/generator/lib/generators/base.js
64 - 6.8 KB node_modules/@babel/generator/lib/generators/classes.js
65 - 2.5 KB node_modules/@babel/generator/lib/generators/deprecated.js
66 - 9.5 KB node_modules/@babel/generator/lib/generators/expressions.js
67 - 18.9 KB node_modules/@babel/generator/lib/generators/flow.js
68 - 4.3 KB node_modules/@babel/generator/lib/generators/index.js
69 - 3.5 KB node_modules/@babel/generator/lib/generators/jsx.js
70 - 7.0 KB node_modules/@babel/generator/lib/generators/methods.js
71 - 9.7 KB node_modules/@babel/generator/lib/generators/modules.js
72 - 8.1 KB node_modules/@babel/generator/lib/generators/statements.js
73 - 1.3 KB node_modules/@babel/generator/lib/generators/template-literals.js
74 - 6.1 KB node_modules/@babel/generator/lib/generators/types.js
75 - 21.5 KB node_modules/@babel/generator/lib/generators/typescript.js
76 - 4.6 KB node_modules/@babel/generator/lib/index.js
77 - 2.5 KB node_modules/@babel/generator/lib/node/index.js
78 - 11.4 KB node_modules/@babel/generator/lib/node/parentheses.js
79 - 0.8 KB node_modules/@babel/generator/lib/nodes.js
80 - 29.0 KB node_modules/@babel/generator/lib/printer.js
81 - 3.4 KB node_modules/@babel/generator/lib/source-map.js
82 - 6.4 KB node_modules/@babel/generator/lib/token-map.js
83 - 0.7 KB node_modules/@babel/helper-annotate-as-pure/lib/index.js
84 - 1.2 KB node_modules/@babel/helper-compilation-targets/lib/debug.js
85 - 2.7 KB node_modules/@babel/helper-compilation-targets/lib/filter-items.js
86 - 8.7 KB node_modules/@babel/helper-compilation-targets/lib/index.js
87 - 0.6 KB node_modules/@babel/helper-compilation-targets/lib/options.js
88 - 1.2 KB node_modules/@babel/helper-compilation-targets/lib/pretty.js
89 - 0.8 KB node_modules/@babel/helper-compilation-targets/lib/targets.js
90 - 2.2 KB node_modules/@babel/helper-compilation-targets/lib/utils.js
91 - 38.5 KB node_modules/@babel/helper-compilation-targets/node_modules/semver/semver.js
92 - 5.1 KB node_modules/@babel/helper-create-class-features-plugin/lib/decorators-2018-09.js
93 - 59.9 KB node_modules/@babel/helper-create-class-features-plugin/lib/decorators.js
94 - 7.3 KB node_modules/@babel/helper-create-class-features-plugin/lib/features.js
95 - 43.4 KB node_modules/@babel/helper-create-class-features-plugin/lib/fields.js
96 - 11.1 KB node_modules/@babel/helper-create-class-features-plugin/lib/index.js
97 - 4.9 KB node_modules/@babel/helper-create-class-features-plugin/lib/misc.js
98 - 0.8 KB node_modules/@babel/helper-create-class-features-plugin/lib/typescript.js
99 - 38.5 KB node_modules/@babel/helper-create-class-features-plugin/node_modules/semver/semver.js
100 - 0.4 KB node_modules/@babel/helper-globals/data/builtin-lower.json
101 - 1.0 KB node_modules/@babel/helper-globals/data/builtin-upper.json
102 - 14.3 KB node_modules/@babel/helper-member-expression-to-functions/lib/index.js
103 - 4.6 KB node_modules/@babel/helper-module-imports/lib/import-builder.js
104 - 12.0 KB node_modules/@babel/helper-module-imports/lib/import-injector.js
105 - 1.3 KB node_modules/@babel/helper-module-imports/lib/index.js
106 - 0.3 KB node_modules/@babel/helper-module-imports/lib/is-module.js
107 - 1.9 KB node_modules/@babel/helper-module-transforms/lib/dynamic-import.js
108 - 1.9 KB node_modules/@babel/helper-module-transforms/lib/get-module-name.js
109 - 14.7 KB node_modules/@babel/helper-module-transforms/lib/index.js
110 - 1.2 KB node_modules/@babel/helper-module-transforms/lib/lazy-modules.js
111 - 14.6 KB node_modules/@babel/helper-module-transforms/lib/normalize-and-load-metadata.js
112 - 14.8 KB node_modules/@babel/helper-module-transforms/lib/rewrite-live-references.js
113 - 0.8 KB node_modules/@babel/helper-module-transforms/lib/rewrite-this.js
114 - 1.2 KB node_modules/@babel/helper-optimise-call-expression/lib/index.js
115 - 2.8 KB node_modules/@babel/helper-plugin-utils/lib/index.js
116 - 11.6 KB node_modules/@babel/helper-replace-supers/lib/index.js
117 - 1.2 KB node_modules/@babel/helper-skip-transparent-expression-wrappers/lib/index.js
118 - 8.9 KB node_modules/@babel/helper-string-parser/lib/index.js
119 - 12.6 KB node_modules/@babel/helper-validator-identifier/lib/identifier.js
120 - 1.6 KB node_modules/@babel/helper-validator-identifier/lib/index.js
121 - 1.7 KB node_modules/@babel/helper-validator-identifier/lib/keyword.js
122 - 0.9 KB node_modules/@babel/helper-validator-option/lib/find-suggestion.js
123 - 0.6 KB node_modules/@babel/helper-validator-option/lib/index.js
124 - 1.7 KB node_modules/@babel/helper-validator-option/lib/validator.js
125 - 117.4 KB node_modules/@babel/helpers/lib/helpers-generated.js
126 - 4.1 KB node_modules/@babel/helpers/lib/index.js
127 - 556.4 KB node_modules/@babel/parser/lib/index.js
128 - 1.6 KB node_modules/@babel/plugin-proposal-decorators/lib/index.js
129 - 9.0 KB node_modules/@babel/plugin-proposal-decorators/lib/transformer-legacy.js
130 - 0.6 KB node_modules/@babel/plugin-syntax-async-generators/lib/index.js
131 - 3.2 KB node_modules/@babel/plugin-syntax-decorators/lib/index.js
132 - 1.5 KB node_modules/@babel/plugin-syntax-import-attributes/lib/index.js
133 - 0.6 KB node_modules/@babel/plugin-syntax-json-strings/lib/index.js
134 - 0.7 KB node_modules/@babel/plugin-syntax-jsx/lib/index.js
135 - 0.6 KB node_modules/@babel/plugin-syntax-object-rest-spread/lib/index.js
136 - 0.6 KB node_modules/@babel/plugin-syntax-optional-catch-binding/lib/index.js
137 - 1.4 KB node_modules/@babel/plugin-syntax-typescript/lib/index.js
138 - 0.9 KB node_modules/@babel/plugin-transform-class-properties/lib/index.js
139 - 6.6 KB node_modules/@babel/plugin-transform-class-static-block/lib/index.js
140 - 23.5 KB node_modules/@babel/plugin-transform-destructuring/lib/index.js
141 - 7.3 KB node_modules/@babel/plugin-transform-explicit-resource-management/lib/index.js
142 - 1.9 KB node_modules/@babel/plugin-transform-export-namespace-from/lib/index.js
143 - 2.0 KB node_modules/@babel/plugin-transform-logical-assignment-operators/lib/index.js
144 - 0.9 KB node_modules/@babel/plugin-transform-modules-commonjs/lib/dynamic-import.js
145 - 1.3 KB node_modules/@babel/plugin-transform-modules-commonjs/lib/hooks.js
146 - 8.8 KB node_modules/@babel/plugin-transform-modules-commonjs/lib/index.js
147 - 1.5 KB node_modules/@babel/plugin-transform-modules-commonjs/lib/lazy.js
148 - 2.5 KB node_modules/@babel/plugin-transform-nullish-coalescing-operator/lib/index.js
149 - 1.0 KB node_modules/@babel/plugin-transform-numeric-separator/lib/index.js
150 - 9.9 KB node_modules/@babel/plugin-transform-optional-chaining/lib/index.js
151 - 0.9 KB node_modules/@babel/plugin-transform-private-methods/lib/index.js
152 - 24.0 KB node_modules/@babel/plugin-transform-react-jsx/lib/create-plugin.js
153 - 0.4 KB node_modules/@babel/plugin-transform-react-jsx/lib/index.js
154 - 2.5 KB node_modules/@babel/plugin-transform-typescript/lib/const-enum.js
155 - 11.0 KB node_modules/@babel/plugin-transform-typescript/lib/enum.js
156 - 1.2 KB node_modules/@babel/plugin-transform-typescript/lib/global-types.js
157 - 19.8 KB node_modules/@babel/plugin-transform-typescript/lib/index.js
158 - 7.2 KB node_modules/@babel/plugin-transform-typescript/lib/namespace.js
159 - 6.3 KB node_modules/@babel/preset-typescript/lib/index.js
160 - 1.4 KB node_modules/@babel/preset-typescript/package.json
161 - 2.7 KB node_modules/@babel/template/lib/builder.js
162 - 1.8 KB node_modules/@babel/template/lib/formatters.js
163 - 1.0 KB node_modules/@babel/template/lib/index.js
164 - 2.2 KB node_modules/@babel/template/lib/literal.js
165 - 3.3 KB node_modules/@babel/template/lib/options.js
166 - 5.2 KB node_modules/@babel/template/lib/parse.js
167 - 4.9 KB node_modules/@babel/template/lib/populate.js
168 - 0.7 KB node_modules/@babel/template/lib/string.js
169 - 1.2 KB node_modules/@babel/traverse/lib/cache.js
170 - 3.7 KB node_modules/@babel/traverse/lib/context.js
171 - 0.5 KB node_modules/@babel/traverse/lib/hub.js
172 - 2.9 KB node_modules/@babel/traverse/lib/index.js
173 - 4.1 KB node_modules/@babel/traverse/lib/path/ancestry.js
174 - 1.8 KB node_modules/@babel/traverse/lib/path/comments.js
175 - 8.2 KB node_modules/@babel/traverse/lib/path/context.js
176 - 23.4 KB node_modules/@babel/traverse/lib/path/conversion.js
177 - 12.3 KB node_modules/@babel/traverse/lib/path/evaluation.js
178 - 11.8 KB node_modules/@babel/traverse/lib/path/family.js
179 - 12.0 KB node_modules/@babel/traverse/lib/path/index.js
180 - 4.8 KB node_modules/@babel/traverse/lib/path/inference/index.js
181 - 5.2 KB node_modules/@babel/traverse/lib/path/inference/inferer-reference.js
182 - 7.4 KB node_modules/@babel/traverse/lib/path/inference/inferers.js
183 - 0.8 KB node_modules/@babel/traverse/lib/path/inference/util.js
184 - 14.2 KB node_modules/@babel/traverse/lib/path/introspection.js
185 - 6.0 KB node_modules/@babel/traverse/lib/path/lib/hoister.js
186 - 1.5 KB node_modules/@babel/traverse/lib/path/lib/removal-hooks.js
187 - 5.0 KB node_modules/@babel/traverse/lib/path/lib/virtual-types-validator.js
188 - 1.9 KB node_modules/@babel/traverse/lib/path/lib/virtual-types.js
189 - 8.9 KB node_modules/@babel/traverse/lib/path/modification.js
190 - 2.2 KB node_modules/@babel/traverse/lib/path/removal.js
191 - 10.1 KB node_modules/@babel/traverse/lib/path/replacement.js
192 - 2.3 KB node_modules/@babel/traverse/lib/scope/binding.js
193 - 34.9 KB node_modules/@babel/traverse/lib/scope/index.js
194 - 4.3 KB node_modules/@babel/traverse/lib/scope/lib/renamer.js
195 - 2.1 KB node_modules/@babel/traverse/lib/scope/traverseForScope.js
196 - 1.0 KB node_modules/@babel/traverse/lib/traverse-node.js
197 - 8.7 KB node_modules/@babel/traverse/lib/visitors.js
198 - 0.6 KB node_modules/@babel/types/lib/asserts/assertNode.js
199 - 49.7 KB node_modules/@babel/types/lib/asserts/generated/index.js
200 - 0.6 KB node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js
201 - 1.2 KB node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js
202 - 1.0 KB node_modules/@babel/types/lib/builders/generated/index.js
203 - 96.2 KB node_modules/@babel/types/lib/builders/generated/lowercase.js
204 - 28.6 KB node_modules/@babel/types/lib/builders/generated/uppercase.js
205 - 0.4 KB node_modules/@babel/types/lib/builders/productions.js
206 - 0.9 KB node_modules/@babel/types/lib/builders/react/buildChildren.js
207 - 0.8 KB node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js
208 - 0.3 KB node_modules/@babel/types/lib/clone/clone.js
209 - 0.4 KB node_modules/@babel/types/lib/clone/cloneDeep.js
210 - 0.4 KB node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js
211 - 3.7 KB node_modules/@babel/types/lib/clone/cloneNode.js
212 - 0.4 KB node_modules/@babel/types/lib/clone/cloneWithoutLoc.js
213 - 0.5 KB node_modules/@babel/types/lib/comments/addComment.js
214 - 0.6 KB node_modules/@babel/types/lib/comments/addComments.js
215 - 0.4 KB node_modules/@babel/types/lib/comments/inheritInnerComments.js
216 - 0.4 KB node_modules/@babel/types/lib/comments/inheritLeadingComments.js
217 - 0.7 KB node_modules/@babel/types/lib/comments/inheritsComments.js
218 - 0.4 KB node_modules/@babel/types/lib/comments/inheritTrailingComments.js
219 - 0.4 KB node_modules/@babel/types/lib/comments/removeComments.js
220 - 6.5 KB node_modules/@babel/types/lib/constants/generated/index.js
221 - 2.9 KB node_modules/@babel/types/lib/constants/index.js
222 - 0.4 KB node_modules/@babel/types/lib/converters/ensureBlock.js
223 - 2.6 KB node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js
224 - 0.5 KB node_modules/@babel/types/lib/converters/toBindingIdentifierName.js
225 - 0.9 KB node_modules/@babel/types/lib/converters/toBlock.js
226 - 0.5 KB node_modules/@babel/types/lib/converters/toComputedKey.js
227 - 0.9 KB node_modules/@babel/types/lib/converters/toExpression.js
228 - 0.8 KB node_modules/@babel/types/lib/converters/toIdentifier.js
229 - 1.2 KB node_modules/@babel/types/lib/converters/toKeyAlias.js
230 - 0.7 KB node_modules/@babel/types/lib/converters/toSequenceExpression.js
231 - 1.1 KB node_modules/@babel/types/lib/converters/toStatement.js
232 - 3.2 KB node_modules/@babel/types/lib/converters/valueToNode.js
233 - 61.0 KB node_modules/@babel/types/lib/definitions/core.js
234 - 0.4 KB node_modules/@babel/types/lib/definitions/deprecated-aliases.js
235 - 3.4 KB node_modules/@babel/types/lib/definitions/experimental.js
236 - 18.1 KB node_modules/@babel/types/lib/definitions/flow.js
237 - 3.1 KB node_modules/@babel/types/lib/definitions/index.js
238 - 4.8 KB node_modules/@babel/types/lib/definitions/jsx.js
239 - 0.9 KB node_modules/@babel/types/lib/definitions/misc.js
240 - 1.2 KB node_modules/@babel/types/lib/definitions/placeholders.js
241 - 18.5 KB node_modules/@babel/types/lib/definitions/typescript.js
242 - 10.8 KB node_modules/@babel/types/lib/definitions/utils.js
243 - 18.1 KB node_modules/@babel/types/lib/index.js
244 - 0.6 KB node_modules/@babel/types/lib/modifications/appendToMemberExpression.js
245 - 2.2 KB node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js
246 - 0.9 KB node_modules/@babel/types/lib/modifications/inherits.js
247 - 0.7 KB node_modules/@babel/types/lib/modifications/prependToMemberExpression.js
248 - 0.9 KB node_modules/@babel/types/lib/modifications/removeProperties.js
249 - 0.5 KB node_modules/@babel/types/lib/modifications/removePropertiesDeep.js
250 - 2.3 KB node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js
251 - 1.4 KB node_modules/@babel/types/lib/retrievers/getAssignmentIdentifiers.js
252 - 3.3 KB node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js
253 - 2.0 KB node_modules/@babel/types/lib/retrievers/getFunctionName.js
254 - 0.5 KB node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js
255 - 1.4 KB node_modules/@babel/types/lib/traverse/traverse.js
256 - 1.1 KB node_modules/@babel/types/lib/traverse/traverseFast.js
257 - 1.4 KB node_modules/@babel/types/lib/utils/deprecationWarning.js
258 - 0.4 KB node_modules/@babel/types/lib/utils/inherit.js
259 - 1.4 KB node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js
260 - 0.5 KB node_modules/@babel/types/lib/utils/shallowEqual.js
261 - 0.5 KB node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js
262 - 105.3 KB node_modules/@babel/types/lib/validators/generated/index.js
263 - 0.9 KB node_modules/@babel/types/lib/validators/is.js
264 - 0.9 KB node_modules/@babel/types/lib/validators/isBinding.js
265 - 0.5 KB node_modules/@babel/types/lib/validators/isBlockScoped.js
266 - 0.6 KB node_modules/@babel/types/lib/validators/isImmutable.js
267 - 0.5 KB node_modules/@babel/types/lib/validators/isLet.js
268 - 0.4 KB node_modules/@babel/types/lib/validators/isNode.js
269 - 1.7 KB node_modules/@babel/types/lib/validators/isNodesEquivalent.js
270 - 0.6 KB node_modules/@babel/types/lib/validators/isPlaceholderType.js
271 - 3.0 KB node_modules/@babel/types/lib/validators/isReferenced.js
272 - 0.6 KB node_modules/@babel/types/lib/validators/isScope.js
273 - 0.5 KB node_modules/@babel/types/lib/validators/isSpecifierDefault.js
274 - 0.6 KB node_modules/@babel/types/lib/validators/isType.js
275 - 0.8 KB node_modules/@babel/types/lib/validators/isValidES3Identifier.js
276 - 0.7 KB node_modules/@babel/types/lib/validators/isValidIdentifier.js
277 - 0.5 KB node_modules/@babel/types/lib/validators/isVar.js
278 - 1.6 KB node_modules/@babel/types/lib/validators/matchesPattern.js
279 - 0.3 KB node_modules/@babel/types/lib/validators/react/isCompatTag.js
280 - 0.5 KB node_modules/@babel/types/lib/validators/react/isReactComponent.js
281 - 1.7 KB node_modules/@babel/types/lib/validators/validate.js
282 - 12.8 KB node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js
283 - 5.8 KB node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js
284 - 16.9 KB node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js
285 - 21.4 KB node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js
286 - 0.4 KB node_modules/browserslist/error.js
287 - 37.3 KB node_modules/browserslist/index.js
288 - 14.3 KB node_modules/browserslist/node.js
289 - 2.1 KB node_modules/browserslist/parse.js
290 - 28.2 KB node_modules/caniuse-lite/data/agents.js
291 - 0.4 KB node_modules/caniuse-lite/data/browsers.js
292 - 2.8 KB node_modules/caniuse-lite/data/browserVersions.js
293 - 0.5 KB node_modules/caniuse-lite/dist/lib/statuses.js
294 - 0.3 KB node_modules/caniuse-lite/dist/lib/supported.js
295 - 1.7 KB node_modules/caniuse-lite/dist/unpacker/agents.js
296 - 0.2 KB node_modules/caniuse-lite/dist/unpacker/browsers.js
297 - 0.2 KB node_modules/caniuse-lite/dist/unpacker/browserVersions.js
298 - 1.6 KB node_modules/caniuse-lite/dist/unpacker/feature.js
299 - 0.7 KB node_modules/caniuse-lite/dist/unpacker/region.js
300 - 6.8 KB node_modules/convert-source-map/index.js
301 - 4.6 KB node_modules/debug/src/browser.js
302 - 5.8 KB node_modules/debug/src/common.js
303 - 0.3 KB node_modules/debug/src/index.js
304 - 4.2 KB node_modules/debug/src/node.js
305 - 4.2 KB node_modules/electron-to-chromium/versions.js
306 - 9.3 KB node_modules/gensync/index.js
307 - 0.4 KB node_modules/has-flag/index.js
308 - 1.4 KB node_modules/js-tokens/index.js
309 - 9.1 KB node_modules/jsesc/jsesc.js
310 - 0.3 KB node_modules/json5/lib/index.js
311 - 20.2 KB node_modules/json5/lib/parse.js
312 - 6.8 KB node_modules/json5/lib/stringify.js
313 - 15.5 KB node_modules/json5/lib/unicode.js
314 - 0.9 KB node_modules/json5/lib/util.js
315 - 8.2 KB node_modules/lru-cache/index.js
316 - 2.8 KB node_modules/ms/index.js
317 - 33.0 KB node_modules/node-releases/data/processed/envs.json
318 - 2.3 KB node_modules/node-releases/data/release-schedule/release-schedule.json
319 - 3.1 KB node_modules/picocolors/picocolors.js
320 - 3.4 KB node_modules/supports-color/index.js
321 - 0.3 KB node_modules/yallist/iterator.js
322 - 9.7 KB node_modules/yallist/yallist.js
323 - 3.5 KB packages/playwright/src/transform/babelBundle.ts
324 -
325 -## External (0)
node_modules/playwright/lib/transform/esmLoader.js deleted
-5957
@@ -1,5957 +0,0 @@
1 -"use strict";
2 -var __create = Object.create;
3 -var __defProp = Object.defineProperty;
4 -var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5 -var __getOwnPropNames = Object.getOwnPropertyNames;
6 -var __getProtoOf = Object.getPrototypeOf;
7 -var __hasOwnProp = Object.prototype.hasOwnProperty;
8 -var __commonJS = (cb, mod) => function __require() {
9 - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
10 -};
11 -var __copyProps = (to, from, except, desc) => {
12 - if (from && typeof from === "object" || typeof from === "function") {
13 - for (let key of __getOwnPropNames(from))
14 - if (!__hasOwnProp.call(to, key) && key !== except)
15 - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16 - }
17 - return to;
18 -};
19 -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20 - // If the importer is in node compatibility mode or this is not an ESM
21 - // file that has been converted to a CommonJS file using a Babel-
22 - // compatible transform (i.e. "__esModule" has not been set), then set
23 - // "default" to the CommonJS "module.exports" for node compatibility.
24 - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25 - mod
26 -));
27 -
28 -// node_modules/source-map/lib/base64.js
29 -var require_base64 = __commonJS({
30 - "node_modules/source-map/lib/base64.js"(exports2) {
31 - var intToCharMap = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");
32 - exports2.encode = function(number) {
33 - if (0 <= number && number < intToCharMap.length) {
34 - return intToCharMap[number];
35 - }
36 - throw new TypeError("Must be between 0 and 63: " + number);
37 - };
38 - exports2.decode = function(charCode) {
39 - var bigA = 65;
40 - var bigZ = 90;
41 - var littleA = 97;
42 - var littleZ = 122;
43 - var zero = 48;
44 - var nine = 57;
45 - var plus = 43;
46 - var slash = 47;
47 - var littleOffset = 26;
48 - var numberOffset = 52;
49 - if (bigA <= charCode && charCode <= bigZ) {
50 - return charCode - bigA;
51 - }
52 - if (littleA <= charCode && charCode <= littleZ) {
53 - return charCode - littleA + littleOffset;
54 - }
55 - if (zero <= charCode && charCode <= nine) {
56 - return charCode - zero + numberOffset;
57 - }
58 - if (charCode == plus) {
59 - return 62;
60 - }
61 - if (charCode == slash) {
62 - return 63;
63 - }
64 - return -1;
65 - };
66 - }
67 -});
68 -
69 -// node_modules/source-map/lib/base64-vlq.js
70 -var require_base64_vlq = __commonJS({
71 - "node_modules/source-map/lib/base64-vlq.js"(exports2) {
72 - var base64 = require_base64();
73 - var VLQ_BASE_SHIFT = 5;
74 - var VLQ_BASE = 1 << VLQ_BASE_SHIFT;
75 - var VLQ_BASE_MASK = VLQ_BASE - 1;
76 - var VLQ_CONTINUATION_BIT = VLQ_BASE;
77 - function toVLQSigned(aValue) {
78 - return aValue < 0 ? (-aValue << 1) + 1 : (aValue << 1) + 0;
79 - }
80 - function fromVLQSigned(aValue) {
81 - var isNegative = (aValue & 1) === 1;
82 - var shifted = aValue >> 1;
83 - return isNegative ? -shifted : shifted;
84 - }
85 - exports2.encode = function base64VLQ_encode(aValue) {
86 - var encoded = "";
87 - var digit;
88 - var vlq = toVLQSigned(aValue);
89 - do {
90 - digit = vlq & VLQ_BASE_MASK;
91 - vlq >>>= VLQ_BASE_SHIFT;
92 - if (vlq > 0) {
93 - digit |= VLQ_CONTINUATION_BIT;
94 - }
95 - encoded += base64.encode(digit);
96 - } while (vlq > 0);
97 - return encoded;
98 - };
99 - exports2.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) {
100 - var strLen = aStr.length;
101 - var result2 = 0;
102 - var shift = 0;
103 - var continuation, digit;
104 - do {
105 - if (aIndex >= strLen) {
106 - throw new Error("Expected more digits in base 64 VLQ value.");
107 - }
108 - digit = base64.decode(aStr.charCodeAt(aIndex++));
109 - if (digit === -1) {
110 - throw new Error("Invalid base64 digit: " + aStr.charAt(aIndex - 1));
111 - }
112 - continuation = !!(digit & VLQ_CONTINUATION_BIT);
113 - digit &= VLQ_BASE_MASK;
114 - result2 = result2 + (digit << shift);
115 - shift += VLQ_BASE_SHIFT;
116 - } while (continuation);
117 - aOutParam.value = fromVLQSigned(result2);
118 - aOutParam.rest = aIndex;
119 - };
120 - }
121 -});
122 -
123 -// node_modules/source-map/lib/util.js
124 -var require_util = __commonJS({
125 - "node_modules/source-map/lib/util.js"(exports2) {
126 - function getArg(aArgs, aName, aDefaultValue) {
127 - if (aName in aArgs) {
128 - return aArgs[aName];
129 - } else if (arguments.length === 3) {
130 - return aDefaultValue;
131 - } else {
132 - throw new Error('"' + aName + '" is a required argument.');
133 - }
134 - }
135 - exports2.getArg = getArg;
136 - var urlRegexp = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/;
137 - var dataUrlRegexp = /^data:.+\,.+$/;
138 - function urlParse(aUrl) {
139 - var match = aUrl.match(urlRegexp);
140 - if (!match) {
141 - return null;
142 - }
143 - return {
144 - scheme: match[1],
145 - auth: match[2],
146 - host: match[3],
147 - port: match[4],
148 - path: match[5]
149 - };
150 - }
151 - exports2.urlParse = urlParse;
152 - function urlGenerate(aParsedUrl) {
153 - var url4 = "";
154 - if (aParsedUrl.scheme) {
155 - url4 += aParsedUrl.scheme + ":";
156 - }
157 - url4 += "//";
158 - if (aParsedUrl.auth) {
159 - url4 += aParsedUrl.auth + "@";
160 - }
161 - if (aParsedUrl.host) {
162 - url4 += aParsedUrl.host;
163 - }
164 - if (aParsedUrl.port) {
165 - url4 += ":" + aParsedUrl.port;
166 - }
167 - if (aParsedUrl.path) {
168 - url4 += aParsedUrl.path;
169 - }
170 - return url4;
171 - }
172 - exports2.urlGenerate = urlGenerate;
173 - function normalize(aPath) {
174 - var path6 = aPath;
175 - var url4 = urlParse(aPath);
176 - if (url4) {
177 - if (!url4.path) {
178 - return aPath;
179 - }
180 - path6 = url4.path;
181 - }
182 - var isAbsolute = exports2.isAbsolute(path6);
183 - var parts = path6.split(/\/+/);
184 - for (var part, up = 0, i = parts.length - 1; i >= 0; i--) {
185 - part = parts[i];
186 - if (part === ".") {
187 - parts.splice(i, 1);
188 - } else if (part === "..") {
189 - up++;
190 - } else if (up > 0) {
191 - if (part === "") {
192 - parts.splice(i + 1, up);
193 - up = 0;
194 - } else {
195 - parts.splice(i, 2);
196 - up--;
197 - }
198 - }
199 - }
200 - path6 = parts.join("/");
201 - if (path6 === "") {
202 - path6 = isAbsolute ? "/" : ".";
203 - }
204 - if (url4) {
205 - url4.path = path6;
206 - return urlGenerate(url4);
207 - }
208 - return path6;
209 - }
210 - exports2.normalize = normalize;
211 - function join(aRoot, aPath) {
212 - if (aRoot === "") {
213 - aRoot = ".";
214 - }
215 - if (aPath === "") {
216 - aPath = ".";
217 - }
218 - var aPathUrl = urlParse(aPath);
219 - var aRootUrl = urlParse(aRoot);
220 - if (aRootUrl) {
221 - aRoot = aRootUrl.path || "/";
222 - }
223 - if (aPathUrl && !aPathUrl.scheme) {
224 - if (aRootUrl) {
225 - aPathUrl.scheme = aRootUrl.scheme;
226 - }
227 - return urlGenerate(aPathUrl);
228 - }
229 - if (aPathUrl || aPath.match(dataUrlRegexp)) {
230 - return aPath;
231 - }
232 - if (aRootUrl && !aRootUrl.host && !aRootUrl.path) {
233 - aRootUrl.host = aPath;
234 - return urlGenerate(aRootUrl);
235 - }
236 - var joined = aPath.charAt(0) === "/" ? aPath : normalize(aRoot.replace(/\/+$/, "") + "/" + aPath);
237 - if (aRootUrl) {
238 - aRootUrl.path = joined;
239 - return urlGenerate(aRootUrl);
240 - }
241 - return joined;
242 - }
243 - exports2.join = join;
244 - exports2.isAbsolute = function(aPath) {
245 - return aPath.charAt(0) === "/" || urlRegexp.test(aPath);
246 - };
247 - function relative(aRoot, aPath) {
248 - if (aRoot === "") {
249 - aRoot = ".";
250 - }
251 - aRoot = aRoot.replace(/\/$/, "");
252 - var level = 0;
253 - while (aPath.indexOf(aRoot + "/") !== 0) {
254 - var index = aRoot.lastIndexOf("/");
255 - if (index < 0) {
256 - return aPath;
257 - }
258 - aRoot = aRoot.slice(0, index);
259 - if (aRoot.match(/^([^\/]+:\/)?\/*$/)) {
260 - return aPath;
261 - }
262 - ++level;
263 - }
264 - return Array(level + 1).join("../") + aPath.substr(aRoot.length + 1);
265 - }
266 - exports2.relative = relative;
267 - var supportsNullProto = (function() {
268 - var obj = /* @__PURE__ */ Object.create(null);
269 - return !("__proto__" in obj);
270 - })();
271 - function identity(s) {
272 - return s;
273 - }
274 - function toSetString(aStr) {
275 - if (isProtoString(aStr)) {
276 - return "$" + aStr;
277 - }
278 - return aStr;
279 - }
280 - exports2.toSetString = supportsNullProto ? identity : toSetString;
281 - function fromSetString(aStr) {
282 - if (isProtoString(aStr)) {
283 - return aStr.slice(1);
284 - }
285 - return aStr;
286 - }
287 - exports2.fromSetString = supportsNullProto ? identity : fromSetString;
288 - function isProtoString(s) {
289 - if (!s) {
290 - return false;
291 - }
292 - var length = s.length;
293 - if (length < 9) {
294 - return false;
295 - }
296 - if (s.charCodeAt(length - 1) !== 95 || s.charCodeAt(length - 2) !== 95 || s.charCodeAt(length - 3) !== 111 || s.charCodeAt(length - 4) !== 116 || s.charCodeAt(length - 5) !== 111 || s.charCodeAt(length - 6) !== 114 || s.charCodeAt(length - 7) !== 112 || s.charCodeAt(length - 8) !== 95 || s.charCodeAt(length - 9) !== 95) {
297 - return false;
298 - }
299 - for (var i = length - 10; i >= 0; i--) {
300 - if (s.charCodeAt(i) !== 36) {
301 - return false;
302 - }
303 - }
304 - return true;
305 - }
306 - function compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) {
307 - var cmp = strcmp(mappingA.source, mappingB.source);
308 - if (cmp !== 0) {
309 - return cmp;
310 - }
311 - cmp = mappingA.originalLine - mappingB.originalLine;
312 - if (cmp !== 0) {
313 - return cmp;
314 - }
315 - cmp = mappingA.originalColumn - mappingB.originalColumn;
316 - if (cmp !== 0 || onlyCompareOriginal) {
317 - return cmp;
318 - }
319 - cmp = mappingA.generatedColumn - mappingB.generatedColumn;
320 - if (cmp !== 0) {
321 - return cmp;
322 - }
323 - cmp = mappingA.generatedLine - mappingB.generatedLine;
324 - if (cmp !== 0) {
325 - return cmp;
326 - }
327 - return strcmp(mappingA.name, mappingB.name);
328 - }
329 - exports2.compareByOriginalPositions = compareByOriginalPositions;
330 - function compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) {
331 - var cmp = mappingA.generatedLine - mappingB.generatedLine;
332 - if (cmp !== 0) {
333 - return cmp;
334 - }
335 - cmp = mappingA.generatedColumn - mappingB.generatedColumn;
336 - if (cmp !== 0 || onlyCompareGenerated) {
337 - return cmp;
338 - }
339 - cmp = strcmp(mappingA.source, mappingB.source);
340 - if (cmp !== 0) {
341 - return cmp;
342 - }
343 - cmp = mappingA.originalLine - mappingB.originalLine;
344 - if (cmp !== 0) {
345 - return cmp;
346 - }
347 - cmp = mappingA.originalColumn - mappingB.originalColumn;
348 - if (cmp !== 0) {
349 - return cmp;
350 - }
351 - return strcmp(mappingA.name, mappingB.name);
352 - }
353 - exports2.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated;
354 - function strcmp(aStr1, aStr2) {
355 - if (aStr1 === aStr2) {
356 - return 0;
357 - }
358 - if (aStr1 === null) {
359 - return 1;
360 - }
361 - if (aStr2 === null) {
362 - return -1;
363 - }
364 - if (aStr1 > aStr2) {
365 - return 1;
366 - }
367 - return -1;
368 - }
369 - function compareByGeneratedPositionsInflated(mappingA, mappingB) {
370 - var cmp = mappingA.generatedLine - mappingB.generatedLine;
371 - if (cmp !== 0) {
372 - return cmp;
373 - }
374 - cmp = mappingA.generatedColumn - mappingB.generatedColumn;
375 - if (cmp !== 0) {
376 - return cmp;
377 - }
378 - cmp = strcmp(mappingA.source, mappingB.source);
379 - if (cmp !== 0) {
380 - return cmp;
381 - }
382 - cmp = mappingA.originalLine - mappingB.originalLine;
383 - if (cmp !== 0) {
384 - return cmp;
385 - }
386 - cmp = mappingA.originalColumn - mappingB.originalColumn;
387 - if (cmp !== 0) {
388 - return cmp;
389 - }
390 - return strcmp(mappingA.name, mappingB.name);
391 - }
392 - exports2.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated;
393 - function parseSourceMapInput(str) {
394 - return JSON.parse(str.replace(/^\)]}'[^\n]*\n/, ""));
395 - }
396 - exports2.parseSourceMapInput = parseSourceMapInput;
397 - function computeSourceURL(sourceRoot, sourceURL, sourceMapURL) {
398 - sourceURL = sourceURL || "";
399 - if (sourceRoot) {
400 - if (sourceRoot[sourceRoot.length - 1] !== "/" && sourceURL[0] !== "/") {
401 - sourceRoot += "/";
402 - }
403 - sourceURL = sourceRoot + sourceURL;
404 - }
405 - if (sourceMapURL) {
406 - var parsed = urlParse(sourceMapURL);
407 - if (!parsed) {
408 - throw new Error("sourceMapURL could not be parsed");
409 - }
410 - if (parsed.path) {
411 - var index = parsed.path.lastIndexOf("/");
412 - if (index >= 0) {
413 - parsed.path = parsed.path.substring(0, index + 1);
414 - }
415 - }
416 - sourceURL = join(urlGenerate(parsed), sourceURL);
417 - }
418 - return normalize(sourceURL);
419 - }
420 - exports2.computeSourceURL = computeSourceURL;
421 - }
422 -});
423 -
424 -// node_modules/source-map/lib/array-set.js
425 -var require_array_set = __commonJS({
426 - "node_modules/source-map/lib/array-set.js"(exports2) {
427 - var util = require_util();
428 - var has = Object.prototype.hasOwnProperty;
429 - var hasNativeMap = typeof Map !== "undefined";
430 - function ArraySet() {
431 - this._array = [];
432 - this._set = hasNativeMap ? /* @__PURE__ */ new Map() : /* @__PURE__ */ Object.create(null);
433 - }
434 - ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) {
435 - var set = new ArraySet();
436 - for (var i = 0, len = aArray.length; i < len; i++) {
437 - set.add(aArray[i], aAllowDuplicates);
438 - }
439 - return set;
440 - };
441 - ArraySet.prototype.size = function ArraySet_size() {
442 - return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length;
443 - };
444 - ArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) {
445 - var sStr = hasNativeMap ? aStr : util.toSetString(aStr);
446 - var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr);
447 - var idx = this._array.length;
448 - if (!isDuplicate || aAllowDuplicates) {
449 - this._array.push(aStr);
450 - }
451 - if (!isDuplicate) {
452 - if (hasNativeMap) {
453 - this._set.set(aStr, idx);
454 - } else {
455 - this._set[sStr] = idx;
456 - }
457 - }
458 - };
459 - ArraySet.prototype.has = function ArraySet_has(aStr) {
460 - if (hasNativeMap) {
461 - return this._set.has(aStr);
462 - } else {
463 - var sStr = util.toSetString(aStr);
464 - return has.call(this._set, sStr);
465 - }
466 - };
467 - ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) {
468 - if (hasNativeMap) {
469 - var idx = this._set.get(aStr);
470 - if (idx >= 0) {
471 - return idx;
472 - }
473 - } else {
474 - var sStr = util.toSetString(aStr);
475 - if (has.call(this._set, sStr)) {
476 - return this._set[sStr];
477 - }
478 - }
479 - throw new Error('"' + aStr + '" is not in the set.');
480 - };
481 - ArraySet.prototype.at = function ArraySet_at(aIdx) {
482 - if (aIdx >= 0 && aIdx < this._array.length) {
483 - return this._array[aIdx];
484 - }
485 - throw new Error("No element indexed by " + aIdx);
486 - };
487 - ArraySet.prototype.toArray = function ArraySet_toArray() {
488 - return this._array.slice();
489 - };
490 - exports2.ArraySet = ArraySet;
491 - }
492 -});
493 -
494 -// node_modules/source-map/lib/mapping-list.js
495 -var require_mapping_list = __commonJS({
496 - "node_modules/source-map/lib/mapping-list.js"(exports2) {
497 - var util = require_util();
498 - function generatedPositionAfter(mappingA, mappingB) {
499 - var lineA = mappingA.generatedLine;
500 - var lineB = mappingB.generatedLine;
501 - var columnA = mappingA.generatedColumn;
502 - var columnB = mappingB.generatedColumn;
503 - return lineB > lineA || lineB == lineA && columnB >= columnA || util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0;
504 - }
505 - function MappingList() {
506 - this._array = [];
507 - this._sorted = true;
508 - this._last = { generatedLine: -1, generatedColumn: 0 };
509 - }
510 - MappingList.prototype.unsortedForEach = function MappingList_forEach(aCallback, aThisArg) {
511 - this._array.forEach(aCallback, aThisArg);
512 - };
513 - MappingList.prototype.add = function MappingList_add(aMapping) {
514 - if (generatedPositionAfter(this._last, aMapping)) {
515 - this._last = aMapping;
516 - this._array.push(aMapping);
517 - } else {
518 - this._sorted = false;
519 - this._array.push(aMapping);
520 - }
521 - };
522 - MappingList.prototype.toArray = function MappingList_toArray() {
523 - if (!this._sorted) {
524 - this._array.sort(util.compareByGeneratedPositionsInflated);
525 - this._sorted = true;
526 - }
527 - return this._array;
528 - };
529 - exports2.MappingList = MappingList;
530 - }
531 -});
532 -
533 -// node_modules/source-map/lib/source-map-generator.js
534 -var require_source_map_generator = __commonJS({
535 - "node_modules/source-map/lib/source-map-generator.js"(exports2) {
536 - var base64VLQ = require_base64_vlq();
537 - var util = require_util();
538 - var ArraySet = require_array_set().ArraySet;
539 - var MappingList = require_mapping_list().MappingList;
540 - function SourceMapGenerator(aArgs) {
541 - if (!aArgs) {
542 - aArgs = {};
543 - }
544 - this._file = util.getArg(aArgs, "file", null);
545 - this._sourceRoot = util.getArg(aArgs, "sourceRoot", null);
546 - this._skipValidation = util.getArg(aArgs, "skipValidation", false);
547 - this._sources = new ArraySet();
548 - this._names = new ArraySet();
549 - this._mappings = new MappingList();
550 - this._sourcesContents = null;
551 - }
552 - SourceMapGenerator.prototype._version = 3;
553 - SourceMapGenerator.fromSourceMap = function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) {
554 - var sourceRoot = aSourceMapConsumer.sourceRoot;
555 - var generator = new SourceMapGenerator({
556 - file: aSourceMapConsumer.file,
557 - sourceRoot
558 - });
559 - aSourceMapConsumer.eachMapping(function(mapping) {
560 - var newMapping = {
561 - generated: {
562 - line: mapping.generatedLine,
563 - column: mapping.generatedColumn
564 - }
565 - };
566 - if (mapping.source != null) {
567 - newMapping.source = mapping.source;
568 - if (sourceRoot != null) {
569 - newMapping.source = util.relative(sourceRoot, newMapping.source);
570 - }
571 - newMapping.original = {
572 - line: mapping.originalLine,
573 - column: mapping.originalColumn
574 - };
575 - if (mapping.name != null) {
576 - newMapping.name = mapping.name;
577 - }
578 - }
579 - generator.addMapping(newMapping);
580 - });
581 - aSourceMapConsumer.sources.forEach(function(sourceFile) {
582 - var sourceRelative = sourceFile;
583 - if (sourceRoot !== null) {
584 - sourceRelative = util.relative(sourceRoot, sourceFile);
585 - }
586 - if (!generator._sources.has(sourceRelative)) {
587 - generator._sources.add(sourceRelative);
588 - }
589 - var content = aSourceMapConsumer.sourceContentFor(sourceFile);
590 - if (content != null) {
591 - generator.setSourceContent(sourceFile, content);
592 - }
593 - });
594 - return generator;
595 - };
596 - SourceMapGenerator.prototype.addMapping = function SourceMapGenerator_addMapping(aArgs) {
597 - var generated = util.getArg(aArgs, "generated");
598 - var original = util.getArg(aArgs, "original", null);
599 - var source = util.getArg(aArgs, "source", null);
600 - var name = util.getArg(aArgs, "name", null);
601 - if (!this._skipValidation) {
602 - this._validateMapping(generated, original, source, name);
603 - }
604 - if (source != null) {
605 - source = String(source);
606 - if (!this._sources.has(source)) {
607 - this._sources.add(source);
608 - }
609 - }
610 - if (name != null) {
611 - name = String(name);
612 - if (!this._names.has(name)) {
613 - this._names.add(name);
614 - }
615 - }
616 - this._mappings.add({
617 - generatedLine: generated.line,
618 - generatedColumn: generated.column,
619 - originalLine: original != null && original.line,
620 - originalColumn: original != null && original.column,
621 - source,
622 - name
623 - });
624 - };
625 - SourceMapGenerator.prototype.setSourceContent = function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) {
626 - var source = aSourceFile;
627 - if (this._sourceRoot != null) {
628 - source = util.relative(this._sourceRoot, source);
629 - }
630 - if (aSourceContent != null) {
631 - if (!this._sourcesContents) {
632 - this._sourcesContents = /* @__PURE__ */ Object.create(null);
633 - }
634 - this._sourcesContents[util.toSetString(source)] = aSourceContent;
635 - } else if (this._sourcesContents) {
636 - delete this._sourcesContents[util.toSetString(source)];
637 - if (Object.keys(this._sourcesContents).length === 0) {
638 - this._sourcesContents = null;
639 - }
640 - }
641 - };
642 - SourceMapGenerator.prototype.applySourceMap = function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) {
643 - var sourceFile = aSourceFile;
644 - if (aSourceFile == null) {
645 - if (aSourceMapConsumer.file == null) {
646 - throw new Error(
647 - `SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map's "file" property. Both were omitted.`
648 - );
649 - }
650 - sourceFile = aSourceMapConsumer.file;
651 - }
652 - var sourceRoot = this._sourceRoot;
653 - if (sourceRoot != null) {
654 - sourceFile = util.relative(sourceRoot, sourceFile);
655 - }
656 - var newSources = new ArraySet();
657 - var newNames = new ArraySet();
658 - this._mappings.unsortedForEach(function(mapping) {
659 - if (mapping.source === sourceFile && mapping.originalLine != null) {
660 - var original = aSourceMapConsumer.originalPositionFor({
661 - line: mapping.originalLine,
662 - column: mapping.originalColumn
663 - });
664 - if (original.source != null) {
665 - mapping.source = original.source;
666 - if (aSourceMapPath != null) {
667 - mapping.source = util.join(aSourceMapPath, mapping.source);
668 - }
669 - if (sourceRoot != null) {
670 - mapping.source = util.relative(sourceRoot, mapping.source);
671 - }
672 - mapping.originalLine = original.line;
673 - mapping.originalColumn = original.column;
674 - if (original.name != null) {
675 - mapping.name = original.name;
676 - }
677 - }
678 - }
679 - var source = mapping.source;
680 - if (source != null && !newSources.has(source)) {
681 - newSources.add(source);
682 - }
683 - var name = mapping.name;
684 - if (name != null && !newNames.has(name)) {
685 - newNames.add(name);
686 - }
687 - }, this);
688 - this._sources = newSources;
689 - this._names = newNames;
690 - aSourceMapConsumer.sources.forEach(function(sourceFile2) {
691 - var content = aSourceMapConsumer.sourceContentFor(sourceFile2);
692 - if (content != null) {
693 - if (aSourceMapPath != null) {
694 - sourceFile2 = util.join(aSourceMapPath, sourceFile2);
695 - }
696 - if (sourceRoot != null) {
697 - sourceFile2 = util.relative(sourceRoot, sourceFile2);
698 - }
699 - this.setSourceContent(sourceFile2, content);
700 - }
701 - }, this);
702 - };
703 - SourceMapGenerator.prototype._validateMapping = function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource, aName) {
704 - if (aOriginal && typeof aOriginal.line !== "number" && typeof aOriginal.column !== "number") {
705 - throw new Error(
706 - "original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values."
707 - );
708 - }
709 - if (aGenerated && "line" in aGenerated && "column" in aGenerated && aGenerated.line > 0 && aGenerated.column >= 0 && !aOriginal && !aSource && !aName) {
710 - return;
711 - } else if (aGenerated && "line" in aGenerated && "column" in aGenerated && aOriginal && "line" in aOriginal && "column" in aOriginal && aGenerated.line > 0 && aGenerated.column >= 0 && aOriginal.line > 0 && aOriginal.column >= 0 && aSource) {
712 - return;
713 - } else {
714 - throw new Error("Invalid mapping: " + JSON.stringify({
715 - generated: aGenerated,
716 - source: aSource,
717 - original: aOriginal,
718 - name: aName
719 - }));
720 - }
721 - };
722 - SourceMapGenerator.prototype._serializeMappings = function SourceMapGenerator_serializeMappings() {
723 - var previousGeneratedColumn = 0;
724 - var previousGeneratedLine = 1;
725 - var previousOriginalColumn = 0;
726 - var previousOriginalLine = 0;
727 - var previousName = 0;
728 - var previousSource = 0;
729 - var result2 = "";
730 - var next;
731 - var mapping;
732 - var nameIdx;
733 - var sourceIdx;
734 - var mappings = this._mappings.toArray();
735 - for (var i = 0, len = mappings.length; i < len; i++) {
736 - mapping = mappings[i];
737 - next = "";
738 - if (mapping.generatedLine !== previousGeneratedLine) {
739 - previousGeneratedColumn = 0;
740 - while (mapping.generatedLine !== previousGeneratedLine) {
741 - next += ";";
742 - previousGeneratedLine++;
743 - }
744 - } else {
745 - if (i > 0) {
746 - if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) {
747 - continue;
748 - }
749 - next += ",";
750 - }
751 - }
752 - next += base64VLQ.encode(mapping.generatedColumn - previousGeneratedColumn);
753 - previousGeneratedColumn = mapping.generatedColumn;
754 - if (mapping.source != null) {
755 - sourceIdx = this._sources.indexOf(mapping.source);
756 - next += base64VLQ.encode(sourceIdx - previousSource);
757 - previousSource = sourceIdx;
758 - next += base64VLQ.encode(mapping.originalLine - 1 - previousOriginalLine);
759 - previousOriginalLine = mapping.originalLine - 1;
760 - next += base64VLQ.encode(mapping.originalColumn - previousOriginalColumn);
761 - previousOriginalColumn = mapping.originalColumn;
762 - if (mapping.name != null) {
763 - nameIdx = this._names.indexOf(mapping.name);
764 - next += base64VLQ.encode(nameIdx - previousName);
765 - previousName = nameIdx;
766 - }
767 - }
768 - result2 += next;
769 - }
770 - return result2;
771 - };
772 - SourceMapGenerator.prototype._generateSourcesContent = function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) {
773 - return aSources.map(function(source) {
774 - if (!this._sourcesContents) {
775 - return null;
776 - }
777 - if (aSourceRoot != null) {
778 - source = util.relative(aSourceRoot, source);
779 - }
780 - var key = util.toSetString(source);
781 - return Object.prototype.hasOwnProperty.call(this._sourcesContents, key) ? this._sourcesContents[key] : null;
782 - }, this);
783 - };
784 - SourceMapGenerator.prototype.toJSON = function SourceMapGenerator_toJSON() {
785 - var map = {
786 - version: this._version,
787 - sources: this._sources.toArray(),
788 - names: this._names.toArray(),
789 - mappings: this._serializeMappings()
790 - };
791 - if (this._file != null) {
792 - map.file = this._file;
793 - }
794 - if (this._sourceRoot != null) {
795 - map.sourceRoot = this._sourceRoot;
796 - }
797 - if (this._sourcesContents) {
798 - map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot);
799 - }
800 - return map;
801 - };
802 - SourceMapGenerator.prototype.toString = function SourceMapGenerator_toString() {
803 - return JSON.stringify(this.toJSON());
804 - };
805 - exports2.SourceMapGenerator = SourceMapGenerator;
806 - }
807 -});
808 -
809 -// node_modules/source-map/lib/binary-search.js
810 -var require_binary_search = __commonJS({
811 - "node_modules/source-map/lib/binary-search.js"(exports2) {
812 - exports2.GREATEST_LOWER_BOUND = 1;
813 - exports2.LEAST_UPPER_BOUND = 2;
814 - function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) {
815 - var mid = Math.floor((aHigh - aLow) / 2) + aLow;
816 - var cmp = aCompare(aNeedle, aHaystack[mid], true);
817 - if (cmp === 0) {
818 - return mid;
819 - } else if (cmp > 0) {
820 - if (aHigh - mid > 1) {
821 - return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias);
822 - }
823 - if (aBias == exports2.LEAST_UPPER_BOUND) {
824 - return aHigh < aHaystack.length ? aHigh : -1;
825 - } else {
826 - return mid;
827 - }
828 - } else {
829 - if (mid - aLow > 1) {
830 - return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias);
831 - }
832 - if (aBias == exports2.LEAST_UPPER_BOUND) {
833 - return mid;
834 - } else {
835 - return aLow < 0 ? -1 : aLow;
836 - }
837 - }
838 - }
839 - exports2.search = function search(aNeedle, aHaystack, aCompare, aBias) {
840 - if (aHaystack.length === 0) {
841 - return -1;
842 - }
843 - var index = recursiveSearch(
844 - -1,
845 - aHaystack.length,
846 - aNeedle,
847 - aHaystack,
848 - aCompare,
849 - aBias || exports2.GREATEST_LOWER_BOUND
850 - );
851 - if (index < 0) {
852 - return -1;
853 - }
854 - while (index - 1 >= 0) {
855 - if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) {
856 - break;
857 - }
858 - --index;
859 - }
860 - return index;
861 - };
862 - }
863 -});
864 -
865 -// node_modules/source-map/lib/quick-sort.js
866 -var require_quick_sort = __commonJS({
867 - "node_modules/source-map/lib/quick-sort.js"(exports2) {
868 - function swap(ary, x, y) {
869 - var temp = ary[x];
870 - ary[x] = ary[y];
871 - ary[y] = temp;
872 - }
873 - function randomIntInRange(low, high) {
874 - return Math.round(low + Math.random() * (high - low));
875 - }
876 - function doQuickSort(ary, comparator, p, r) {
877 - if (p < r) {
878 - var pivotIndex = randomIntInRange(p, r);
879 - var i = p - 1;
880 - swap(ary, pivotIndex, r);
881 - var pivot = ary[r];
882 - for (var j = p; j < r; j++) {
883 - if (comparator(ary[j], pivot) <= 0) {
884 - i += 1;
885 - swap(ary, i, j);
886 - }
887 - }
888 - swap(ary, i + 1, j);
889 - var q = i + 1;
890 - doQuickSort(ary, comparator, p, q - 1);
891 - doQuickSort(ary, comparator, q + 1, r);
892 - }
893 - }
894 - exports2.quickSort = function(ary, comparator) {
895 - doQuickSort(ary, comparator, 0, ary.length - 1);
896 - };
897 - }
898 -});
899 -
900 -// node_modules/source-map/lib/source-map-consumer.js
901 -var require_source_map_consumer = __commonJS({
902 - "node_modules/source-map/lib/source-map-consumer.js"(exports2) {
903 - var util = require_util();
904 - var binarySearch = require_binary_search();
905 - var ArraySet = require_array_set().ArraySet;
906 - var base64VLQ = require_base64_vlq();
907 - var quickSort = require_quick_sort().quickSort;
908 - function SourceMapConsumer(aSourceMap, aSourceMapURL) {
909 - var sourceMap = aSourceMap;
910 - if (typeof aSourceMap === "string") {
911 - sourceMap = util.parseSourceMapInput(aSourceMap);
912 - }
913 - return sourceMap.sections != null ? new IndexedSourceMapConsumer(sourceMap, aSourceMapURL) : new BasicSourceMapConsumer(sourceMap, aSourceMapURL);
914 - }
915 - SourceMapConsumer.fromSourceMap = function(aSourceMap, aSourceMapURL) {
916 - return BasicSourceMapConsumer.fromSourceMap(aSourceMap, aSourceMapURL);
917 - };
918 - SourceMapConsumer.prototype._version = 3;
919 - SourceMapConsumer.prototype.__generatedMappings = null;
920 - Object.defineProperty(SourceMapConsumer.prototype, "_generatedMappings", {
921 - configurable: true,
922 - enumerable: true,
923 - get: function() {
924 - if (!this.__generatedMappings) {
925 - this._parseMappings(this._mappings, this.sourceRoot);
926 - }
927 - return this.__generatedMappings;
928 - }
929 - });
930 - SourceMapConsumer.prototype.__originalMappings = null;
931 - Object.defineProperty(SourceMapConsumer.prototype, "_originalMappings", {
932 - configurable: true,
933 - enumerable: true,
934 - get: function() {
935 - if (!this.__originalMappings) {
936 - this._parseMappings(this._mappings, this.sourceRoot);
937 - }
938 - return this.__originalMappings;
939 - }
940 - });
941 - SourceMapConsumer.prototype._charIsMappingSeparator = function SourceMapConsumer_charIsMappingSeparator(aStr, index) {
942 - var c = aStr.charAt(index);
943 - return c === ";" || c === ",";
944 - };
945 - SourceMapConsumer.prototype._parseMappings = function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {
946 - throw new Error("Subclasses must implement _parseMappings");
947 - };
948 - SourceMapConsumer.GENERATED_ORDER = 1;
949 - SourceMapConsumer.ORIGINAL_ORDER = 2;
950 - SourceMapConsumer.GREATEST_LOWER_BOUND = 1;
951 - SourceMapConsumer.LEAST_UPPER_BOUND = 2;
952 - SourceMapConsumer.prototype.eachMapping = function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) {
953 - var context = aContext || null;
954 - var order = aOrder || SourceMapConsumer.GENERATED_ORDER;
955 - var mappings;
956 - switch (order) {
957 - case SourceMapConsumer.GENERATED_ORDER:
958 - mappings = this._generatedMappings;
959 - break;
960 - case SourceMapConsumer.ORIGINAL_ORDER:
961 - mappings = this._originalMappings;
962 - break;
963 - default:
964 - throw new Error("Unknown order of iteration.");
965 - }
966 - var sourceRoot = this.sourceRoot;
967 - mappings.map(function(mapping) {
968 - var source = mapping.source === null ? null : this._sources.at(mapping.source);
969 - source = util.computeSourceURL(sourceRoot, source, this._sourceMapURL);
970 - return {
971 - source,
972 - generatedLine: mapping.generatedLine,
973 - generatedColumn: mapping.generatedColumn,
974 - originalLine: mapping.originalLine,
975 - originalColumn: mapping.originalColumn,
976 - name: mapping.name === null ? null : this._names.at(mapping.name)
977 - };
978 - }, this).forEach(aCallback, context);
979 - };
980 - SourceMapConsumer.prototype.allGeneratedPositionsFor = function SourceMapConsumer_allGeneratedPositionsFor(aArgs) {
981 - var line = util.getArg(aArgs, "line");
982 - var needle = {
983 - source: util.getArg(aArgs, "source"),
984 - originalLine: line,
985 - originalColumn: util.getArg(aArgs, "column", 0)
986 - };
987 - needle.source = this._findSourceIndex(needle.source);
988 - if (needle.source < 0) {
989 - return [];
990 - }
991 - var mappings = [];
992 - var index = this._findMapping(
993 - needle,
994 - this._originalMappings,
995 - "originalLine",
996 - "originalColumn",
997 - util.compareByOriginalPositions,
998 - binarySearch.LEAST_UPPER_BOUND
999 - );
1000 - if (index >= 0) {
1001 - var mapping = this._originalMappings[index];
1002 - if (aArgs.column === void 0) {
1003 - var originalLine = mapping.originalLine;
1004 - while (mapping && mapping.originalLine === originalLine) {
1005 - mappings.push({
1006 - line: util.getArg(mapping, "generatedLine", null),
1007 - column: util.getArg(mapping, "generatedColumn", null),
1008 - lastColumn: util.getArg(mapping, "lastGeneratedColumn", null)
1009 - });
1010 - mapping = this._originalMappings[++index];
1011 - }
1012 - } else {
1013 - var originalColumn = mapping.originalColumn;
1014 - while (mapping && mapping.originalLine === line && mapping.originalColumn == originalColumn) {
1015 - mappings.push({
1016 - line: util.getArg(mapping, "generatedLine", null),
1017 - column: util.getArg(mapping, "generatedColumn", null),
1018 - lastColumn: util.getArg(mapping, "lastGeneratedColumn", null)
1019 - });
1020 - mapping = this._originalMappings[++index];
1021 - }
1022 - }
1023 - }
1024 - return mappings;
1025 - };
1026 - exports2.SourceMapConsumer = SourceMapConsumer;
1027 - function BasicSourceMapConsumer(aSourceMap, aSourceMapURL) {
1028 - var sourceMap = aSourceMap;
1029 - if (typeof aSourceMap === "string") {
1030 - sourceMap = util.parseSourceMapInput(aSourceMap);
1031 - }
1032 - var version2 = util.getArg(sourceMap, "version");
1033 - var sources = util.getArg(sourceMap, "sources");
1034 - var names = util.getArg(sourceMap, "names", []);
1035 - var sourceRoot = util.getArg(sourceMap, "sourceRoot", null);
1036 - var sourcesContent = util.getArg(sourceMap, "sourcesContent", null);
1037 - var mappings = util.getArg(sourceMap, "mappings");
1038 - var file2 = util.getArg(sourceMap, "file", null);
1039 - if (version2 != this._version) {
1040 - throw new Error("Unsupported version: " + version2);
1041 - }
1042 - if (sourceRoot) {
1043 - sourceRoot = util.normalize(sourceRoot);
1044 - }
1045 - sources = sources.map(String).map(util.normalize).map(function(source) {
1046 - return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source) ? util.relative(sourceRoot, source) : source;
1047 - });
1048 - this._names = ArraySet.fromArray(names.map(String), true);
1049 - this._sources = ArraySet.fromArray(sources, true);
1050 - this._absoluteSources = this._sources.toArray().map(function(s) {
1051 - return util.computeSourceURL(sourceRoot, s, aSourceMapURL);
1052 - });
1053 - this.sourceRoot = sourceRoot;
1054 - this.sourcesContent = sourcesContent;
1055 - this._mappings = mappings;
1056 - this._sourceMapURL = aSourceMapURL;
1057 - this.file = file2;
1058 - }
1059 - BasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);
1060 - BasicSourceMapConsumer.prototype.consumer = SourceMapConsumer;
1061 - BasicSourceMapConsumer.prototype._findSourceIndex = function(aSource) {
1062 - var relativeSource = aSource;
1063 - if (this.sourceRoot != null) {
1064 - relativeSource = util.relative(this.sourceRoot, relativeSource);
1065 - }
1066 - if (this._sources.has(relativeSource)) {
1067 - return this._sources.indexOf(relativeSource);
1068 - }
1069 - var i;
1070 - for (i = 0; i < this._absoluteSources.length; ++i) {
1071 - if (this._absoluteSources[i] == aSource) {
1072 - return i;
1073 - }
1074 - }
1075 - return -1;
1076 - };
1077 - BasicSourceMapConsumer.fromSourceMap = function SourceMapConsumer_fromSourceMap(aSourceMap, aSourceMapURL) {
1078 - var smc = Object.create(BasicSourceMapConsumer.prototype);
1079 - var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true);
1080 - var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true);
1081 - smc.sourceRoot = aSourceMap._sourceRoot;
1082 - smc.sourcesContent = aSourceMap._generateSourcesContent(
1083 - smc._sources.toArray(),
1084 - smc.sourceRoot
1085 - );
1086 - smc.file = aSourceMap._file;
1087 - smc._sourceMapURL = aSourceMapURL;
1088 - smc._absoluteSources = smc._sources.toArray().map(function(s) {
1089 - return util.computeSourceURL(smc.sourceRoot, s, aSourceMapURL);
1090 - });
1091 - var generatedMappings = aSourceMap._mappings.toArray().slice();
1092 - var destGeneratedMappings = smc.__generatedMappings = [];
1093 - var destOriginalMappings = smc.__originalMappings = [];
1094 - for (var i = 0, length = generatedMappings.length; i < length; i++) {
1095 - var srcMapping = generatedMappings[i];
1096 - var destMapping = new Mapping();
1097 - destMapping.generatedLine = srcMapping.generatedLine;
1098 - destMapping.generatedColumn = srcMapping.generatedColumn;
1099 - if (srcMapping.source) {
1100 - destMapping.source = sources.indexOf(srcMapping.source);
1101 - destMapping.originalLine = srcMapping.originalLine;
1102 - destMapping.originalColumn = srcMapping.originalColumn;
1103 - if (srcMapping.name) {
1104 - destMapping.name = names.indexOf(srcMapping.name);
1105 - }
1106 - destOriginalMappings.push(destMapping);
1107 - }
1108 - destGeneratedMappings.push(destMapping);
1109 - }
1110 - quickSort(smc.__originalMappings, util.compareByOriginalPositions);
1111 - return smc;
1112 - };
1113 - BasicSourceMapConsumer.prototype._version = 3;
1114 - Object.defineProperty(BasicSourceMapConsumer.prototype, "sources", {
1115 - get: function() {
1116 - return this._absoluteSources.slice();
1117 - }
1118 - });
1119 - function Mapping() {
1120 - this.generatedLine = 0;
1121 - this.generatedColumn = 0;
1122 - this.source = null;
1123 - this.originalLine = null;
1124 - this.originalColumn = null;
1125 - this.name = null;
1126 - }
1127 - BasicSourceMapConsumer.prototype._parseMappings = function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {
1128 - var generatedLine = 1;
1129 - var previousGeneratedColumn = 0;
1130 - var previousOriginalLine = 0;
1131 - var previousOriginalColumn = 0;
1132 - var previousSource = 0;
1133 - var previousName = 0;
1134 - var length = aStr.length;
1135 - var index = 0;
1136 - var cachedSegments = {};
1137 - var temp = {};
1138 - var originalMappings = [];
1139 - var generatedMappings = [];
1140 - var mapping, str, segment, end, value;
1141 - while (index < length) {
1142 - if (aStr.charAt(index) === ";") {
1143 - generatedLine++;
1144 - index++;
1145 - previousGeneratedColumn = 0;
1146 - } else if (aStr.charAt(index) === ",") {
1147 - index++;
1148 - } else {
1149 - mapping = new Mapping();
1150 - mapping.generatedLine = generatedLine;
1151 - for (end = index; end < length; end++) {
1152 - if (this._charIsMappingSeparator(aStr, end)) {
1153 - break;
1154 - }
1155 - }
1156 - str = aStr.slice(index, end);
1157 - segment = cachedSegments[str];
1158 - if (segment) {
1159 - index += str.length;
1160 - } else {
1161 - segment = [];
1162 - while (index < end) {
1163 - base64VLQ.decode(aStr, index, temp);
1164 - value = temp.value;
1165 - index = temp.rest;
1166 - segment.push(value);
1167 - }
1168 - if (segment.length === 2) {
1169 - throw new Error("Found a source, but no line and column");
1170 - }
1171 - if (segment.length === 3) {
1172 - throw new Error("Found a source and line, but no column");
1173 - }
1174 - cachedSegments[str] = segment;
1175 - }
1176 - mapping.generatedColumn = previousGeneratedColumn + segment[0];
1177 - previousGeneratedColumn = mapping.generatedColumn;
1178 - if (segment.length > 1) {
1179 - mapping.source = previousSource + segment[1];
1180 - previousSource += segment[1];
1181 - mapping.originalLine = previousOriginalLine + segment[2];
1182 - previousOriginalLine = mapping.originalLine;
1183 - mapping.originalLine += 1;
1184 - mapping.originalColumn = previousOriginalColumn + segment[3];
1185 - previousOriginalColumn = mapping.originalColumn;
1186 - if (segment.length > 4) {
1187 - mapping.name = previousName + segment[4];
1188 - previousName += segment[4];
1189 - }
1190 - }
1191 - generatedMappings.push(mapping);
1192 - if (typeof mapping.originalLine === "number") {
1193 - originalMappings.push(mapping);
1194 - }
1195 - }
1196 - }
1197 - quickSort(generatedMappings, util.compareByGeneratedPositionsDeflated);
1198 - this.__generatedMappings = generatedMappings;
1199 - quickSort(originalMappings, util.compareByOriginalPositions);
1200 - this.__originalMappings = originalMappings;
1201 - };
1202 - BasicSourceMapConsumer.prototype._findMapping = function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName, aColumnName, aComparator, aBias) {
1203 - if (aNeedle[aLineName] <= 0) {
1204 - throw new TypeError("Line must be greater than or equal to 1, got " + aNeedle[aLineName]);
1205 - }
1206 - if (aNeedle[aColumnName] < 0) {
1207 - throw new TypeError("Column must be greater than or equal to 0, got " + aNeedle[aColumnName]);
1208 - }
1209 - return binarySearch.search(aNeedle, aMappings, aComparator, aBias);
1210 - };
1211 - BasicSourceMapConsumer.prototype.computeColumnSpans = function SourceMapConsumer_computeColumnSpans() {
1212 - for (var index = 0; index < this._generatedMappings.length; ++index) {
1213 - var mapping = this._generatedMappings[index];
1214 - if (index + 1 < this._generatedMappings.length) {
1215 - var nextMapping = this._generatedMappings[index + 1];
1216 - if (mapping.generatedLine === nextMapping.generatedLine) {
1217 - mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1;
1218 - continue;
1219 - }
1220 - }
1221 - mapping.lastGeneratedColumn = Infinity;
1222 - }
1223 - };
1224 - BasicSourceMapConsumer.prototype.originalPositionFor = function SourceMapConsumer_originalPositionFor(aArgs) {
1225 - var needle = {
1226 - generatedLine: util.getArg(aArgs, "line"),
1227 - generatedColumn: util.getArg(aArgs, "column")
1228 - };
1229 - var index = this._findMapping(
1230 - needle,
1231 - this._generatedMappings,
1232 - "generatedLine",
1233 - "generatedColumn",
1234 - util.compareByGeneratedPositionsDeflated,
1235 - util.getArg(aArgs, "bias", SourceMapConsumer.GREATEST_LOWER_BOUND)
1236 - );
1237 - if (index >= 0) {
1238 - var mapping = this._generatedMappings[index];
1239 - if (mapping.generatedLine === needle.generatedLine) {
1240 - var source = util.getArg(mapping, "source", null);
1241 - if (source !== null) {
1242 - source = this._sources.at(source);
1243 - source = util.computeSourceURL(this.sourceRoot, source, this._sourceMapURL);
1244 - }
1245 - var name = util.getArg(mapping, "name", null);
1246 - if (name !== null) {
1247 - name = this._names.at(name);
1248 - }
1249 - return {
1250 - source,
1251 - line: util.getArg(mapping, "originalLine", null),
1252 - column: util.getArg(mapping, "originalColumn", null),
1253 - name
1254 - };
1255 - }
1256 - }
1257 - return {
1258 - source: null,
1259 - line: null,
1260 - column: null,
1261 - name: null
1262 - };
1263 - };
1264 - BasicSourceMapConsumer.prototype.hasContentsOfAllSources = function BasicSourceMapConsumer_hasContentsOfAllSources() {
1265 - if (!this.sourcesContent) {
1266 - return false;
1267 - }
1268 - return this.sourcesContent.length >= this._sources.size() && !this.sourcesContent.some(function(sc) {
1269 - return sc == null;
1270 - });
1271 - };
1272 - BasicSourceMapConsumer.prototype.sourceContentFor = function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {
1273 - if (!this.sourcesContent) {
1274 - return null;
1275 - }
1276 - var index = this._findSourceIndex(aSource);
1277 - if (index >= 0) {
1278 - return this.sourcesContent[index];
1279 - }
1280 - var relativeSource = aSource;
1281 - if (this.sourceRoot != null) {
1282 - relativeSource = util.relative(this.sourceRoot, relativeSource);
1283 - }
1284 - var url4;
1285 - if (this.sourceRoot != null && (url4 = util.urlParse(this.sourceRoot))) {
1286 - var fileUriAbsPath = relativeSource.replace(/^file:\/\//, "");
1287 - if (url4.scheme == "file" && this._sources.has(fileUriAbsPath)) {
1288 - return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)];
1289 - }
1290 - if ((!url4.path || url4.path == "/") && this._sources.has("/" + relativeSource)) {
1291 - return this.sourcesContent[this._sources.indexOf("/" + relativeSource)];
1292 - }
1293 - }
1294 - if (nullOnMissing) {
1295 - return null;
1296 - } else {
1297 - throw new Error('"' + relativeSource + '" is not in the SourceMap.');
1298 - }
1299 - };
1300 - BasicSourceMapConsumer.prototype.generatedPositionFor = function SourceMapConsumer_generatedPositionFor(aArgs) {
1301 - var source = util.getArg(aArgs, "source");
1302 - source = this._findSourceIndex(source);
1303 - if (source < 0) {
1304 - return {
1305 - line: null,
1306 - column: null,
1307 - lastColumn: null
1308 - };
1309 - }
1310 - var needle = {
1311 - source,
1312 - originalLine: util.getArg(aArgs, "line"),
1313 - originalColumn: util.getArg(aArgs, "column")
1314 - };
1315 - var index = this._findMapping(
1316 - needle,
1317 - this._originalMappings,
1318 - "originalLine",
1319 - "originalColumn",
1320 - util.compareByOriginalPositions,
1321 - util.getArg(aArgs, "bias", SourceMapConsumer.GREATEST_LOWER_BOUND)
1322 - );
1323 - if (index >= 0) {
1324 - var mapping = this._originalMappings[index];
1325 - if (mapping.source === needle.source) {
1326 - return {
1327 - line: util.getArg(mapping, "generatedLine", null),
1328 - column: util.getArg(mapping, "generatedColumn", null),
1329 - lastColumn: util.getArg(mapping, "lastGeneratedColumn", null)
1330 - };
1331 - }
1332 - }
1333 - return {
1334 - line: null,
1335 - column: null,
1336 - lastColumn: null
1337 - };
1338 - };
1339 - exports2.BasicSourceMapConsumer = BasicSourceMapConsumer;
1340 - function IndexedSourceMapConsumer(aSourceMap, aSourceMapURL) {
1341 - var sourceMap = aSourceMap;
1342 - if (typeof aSourceMap === "string") {
1343 - sourceMap = util.parseSourceMapInput(aSourceMap);
1344 - }
1345 - var version2 = util.getArg(sourceMap, "version");
1346 - var sections = util.getArg(sourceMap, "sections");
1347 - if (version2 != this._version) {
1348 - throw new Error("Unsupported version: " + version2);
1349 - }
1350 - this._sources = new ArraySet();
1351 - this._names = new ArraySet();
1352 - var lastOffset = {
1353 - line: -1,
1354 - column: 0
1355 - };
1356 - this._sections = sections.map(function(s) {
1357 - if (s.url) {
1358 - throw new Error("Support for url field in sections not implemented.");
1359 - }
1360 - var offset = util.getArg(s, "offset");
1361 - var offsetLine = util.getArg(offset, "line");
1362 - var offsetColumn = util.getArg(offset, "column");
1363 - if (offsetLine < lastOffset.line || offsetLine === lastOffset.line && offsetColumn < lastOffset.column) {
1364 - throw new Error("Section offsets must be ordered and non-overlapping.");
1365 - }
1366 - lastOffset = offset;
1367 - return {
1368 - generatedOffset: {
1369 - // The offset fields are 0-based, but we use 1-based indices when
1370 - // encoding/decoding from VLQ.
1371 - generatedLine: offsetLine + 1,
1372 - generatedColumn: offsetColumn + 1
1373 - },
1374 - consumer: new SourceMapConsumer(util.getArg(s, "map"), aSourceMapURL)
1375 - };
1376 - });
1377 - }
1378 - IndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);
1379 - IndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer;
1380 - IndexedSourceMapConsumer.prototype._version = 3;
1381 - Object.defineProperty(IndexedSourceMapConsumer.prototype, "sources", {
1382 - get: function() {
1383 - var sources = [];
1384 - for (var i = 0; i < this._sections.length; i++) {
1385 - for (var j = 0; j < this._sections[i].consumer.sources.length; j++) {
1386 - sources.push(this._sections[i].consumer.sources[j]);
1387 - }
1388 - }
1389 - return sources;
1390 - }
1391 - });
1392 - IndexedSourceMapConsumer.prototype.originalPositionFor = function IndexedSourceMapConsumer_originalPositionFor(aArgs) {
1393 - var needle = {
1394 - generatedLine: util.getArg(aArgs, "line"),
1395 - generatedColumn: util.getArg(aArgs, "column")
1396 - };
1397 - var sectionIndex = binarySearch.search(
1398 - needle,
1399 - this._sections,
1400 - function(needle2, section2) {
1401 - var cmp = needle2.generatedLine - section2.generatedOffset.generatedLine;
1402 - if (cmp) {
1403 - return cmp;
1404 - }
1405 - return needle2.generatedColumn - section2.generatedOffset.generatedColumn;
1406 - }
1407 - );
1408 - var section = this._sections[sectionIndex];
1409 - if (!section) {
1410 - return {
1411 - source: null,
1412 - line: null,
1413 - column: null,
1414 - name: null
1415 - };
1416 - }
1417 - return section.consumer.originalPositionFor({
1418 - line: needle.generatedLine - (section.generatedOffset.generatedLine - 1),
1419 - column: needle.generatedColumn - (section.generatedOffset.generatedLine === needle.generatedLine ? section.generatedOffset.generatedColumn - 1 : 0),
1420 - bias: aArgs.bias
1421 - });
1422 - };
1423 - IndexedSourceMapConsumer.prototype.hasContentsOfAllSources = function IndexedSourceMapConsumer_hasContentsOfAllSources() {
1424 - return this._sections.every(function(s) {
1425 - return s.consumer.hasContentsOfAllSources();
1426 - });
1427 - };
1428 - IndexedSourceMapConsumer.prototype.sourceContentFor = function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {
1429 - for (var i = 0; i < this._sections.length; i++) {
1430 - var section = this._sections[i];
1431 - var content = section.consumer.sourceContentFor(aSource, true);
1432 - if (content) {
1433 - return content;
1434 - }
1435 - }
1436 - if (nullOnMissing) {
1437 - return null;
1438 - } else {
1439 - throw new Error('"' + aSource + '" is not in the SourceMap.');
1440 - }
1441 - };
1442 - IndexedSourceMapConsumer.prototype.generatedPositionFor = function IndexedSourceMapConsumer_generatedPositionFor(aArgs) {
1443 - for (var i = 0; i < this._sections.length; i++) {
1444 - var section = this._sections[i];
1445 - if (section.consumer._findSourceIndex(util.getArg(aArgs, "source")) === -1) {
1446 - continue;
1447 - }
1448 - var generatedPosition = section.consumer.generatedPositionFor(aArgs);
1449 - if (generatedPosition) {
1450 - var ret = {
1451 - line: generatedPosition.line + (section.generatedOffset.generatedLine - 1),
1452 - column: generatedPosition.column + (section.generatedOffset.generatedLine === generatedPosition.line ? section.generatedOffset.generatedColumn - 1 : 0)
1453 - };
1454 - return ret;
1455 - }
1456 - }
1457 - return {
1458 - line: null,
1459 - column: null
1460 - };
1461 - };
1462 - IndexedSourceMapConsumer.prototype._parseMappings = function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) {
1463 - this.__generatedMappings = [];
1464 - this.__originalMappings = [];
1465 - for (var i = 0; i < this._sections.length; i++) {
1466 - var section = this._sections[i];
1467 - var sectionMappings = section.consumer._generatedMappings;
1468 - for (var j = 0; j < sectionMappings.length; j++) {
1469 - var mapping = sectionMappings[j];
1470 - var source = section.consumer._sources.at(mapping.source);
1471 - source = util.computeSourceURL(section.consumer.sourceRoot, source, this._sourceMapURL);
1472 - this._sources.add(source);
1473 - source = this._sources.indexOf(source);
1474 - var name = null;
1475 - if (mapping.name) {
1476 - name = section.consumer._names.at(mapping.name);
1477 - this._names.add(name);
1478 - name = this._names.indexOf(name);
1479 - }
1480 - var adjustedMapping = {
1481 - source,
1482 - generatedLine: mapping.generatedLine + (section.generatedOffset.generatedLine - 1),
1483 - generatedColumn: mapping.generatedColumn + (section.generatedOffset.generatedLine === mapping.generatedLine ? section.generatedOffset.generatedColumn - 1 : 0),
1484 - originalLine: mapping.originalLine,
1485 - originalColumn: mapping.originalColumn,
1486 - name
1487 - };
1488 - this.__generatedMappings.push(adjustedMapping);
1489 - if (typeof adjustedMapping.originalLine === "number") {
1490 - this.__originalMappings.push(adjustedMapping);
1491 - }
1492 - }
1493 - }
1494 - quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated);
1495 - quickSort(this.__originalMappings, util.compareByOriginalPositions);
1496 - };
1497 - exports2.IndexedSourceMapConsumer = IndexedSourceMapConsumer;
1498 - }
1499 -});
1500 -
1501 -// node_modules/source-map/lib/source-node.js
1502 -var require_source_node = __commonJS({
1503 - "node_modules/source-map/lib/source-node.js"(exports2) {
1504 - var SourceMapGenerator = require_source_map_generator().SourceMapGenerator;
1505 - var util = require_util();
1506 - var REGEX_NEWLINE = /(\r?\n)/;
1507 - var NEWLINE_CODE = 10;
1508 - var isSourceNode = "$$$isSourceNode$$$";
1509 - function SourceNode(aLine, aColumn, aSource, aChunks, aName) {
1510 - this.children = [];
1511 - this.sourceContents = {};
1512 - this.line = aLine == null ? null : aLine;
1513 - this.column = aColumn == null ? null : aColumn;
1514 - this.source = aSource == null ? null : aSource;
1515 - this.name = aName == null ? null : aName;
1516 - this[isSourceNode] = true;
1517 - if (aChunks != null) this.add(aChunks);
1518 - }
1519 - SourceNode.fromStringWithSourceMap = function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) {
1520 - var node = new SourceNode();
1521 - var remainingLines = aGeneratedCode.split(REGEX_NEWLINE);
1522 - var remainingLinesIndex = 0;
1523 - var shiftNextLine = function() {
1524 - var lineContents = getNextLine();
1525 - var newLine = getNextLine() || "";
1526 - return lineContents + newLine;
1527 - function getNextLine() {
1528 - return remainingLinesIndex < remainingLines.length ? remainingLines[remainingLinesIndex++] : void 0;
1529 - }
1530 - };
1531 - var lastGeneratedLine = 1, lastGeneratedColumn = 0;
1532 - var lastMapping = null;
1533 - aSourceMapConsumer.eachMapping(function(mapping) {
1534 - if (lastMapping !== null) {
1535 - if (lastGeneratedLine < mapping.generatedLine) {
1536 - addMappingWithCode(lastMapping, shiftNextLine());
1537 - lastGeneratedLine++;
1538 - lastGeneratedColumn = 0;
1539 - } else {
1540 - var nextLine = remainingLines[remainingLinesIndex] || "";
1541 - var code = nextLine.substr(0, mapping.generatedColumn - lastGeneratedColumn);
1542 - remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn - lastGeneratedColumn);
1543 - lastGeneratedColumn = mapping.generatedColumn;
1544 - addMappingWithCode(lastMapping, code);
1545 - lastMapping = mapping;
1546 - return;
1547 - }
1548 - }
1549 - while (lastGeneratedLine < mapping.generatedLine) {
1550 - node.add(shiftNextLine());
1551 - lastGeneratedLine++;
1552 - }
1553 - if (lastGeneratedColumn < mapping.generatedColumn) {
1554 - var nextLine = remainingLines[remainingLinesIndex] || "";
1555 - node.add(nextLine.substr(0, mapping.generatedColumn));
1556 - remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn);
1557 - lastGeneratedColumn = mapping.generatedColumn;
1558 - }
1559 - lastMapping = mapping;
1560 - }, this);
1561 - if (remainingLinesIndex < remainingLines.length) {
1562 - if (lastMapping) {
1563 - addMappingWithCode(lastMapping, shiftNextLine());
1564 - }
1565 - node.add(remainingLines.splice(remainingLinesIndex).join(""));
1566 - }
1567 - aSourceMapConsumer.sources.forEach(function(sourceFile) {
1568 - var content = aSourceMapConsumer.sourceContentFor(sourceFile);
1569 - if (content != null) {
1570 - if (aRelativePath != null) {
1571 - sourceFile = util.join(aRelativePath, sourceFile);
1572 - }
1573 - node.setSourceContent(sourceFile, content);
1574 - }
1575 - });
1576 - return node;
1577 - function addMappingWithCode(mapping, code) {
1578 - if (mapping === null || mapping.source === void 0) {
1579 - node.add(code);
1580 - } else {
1581 - var source = aRelativePath ? util.join(aRelativePath, mapping.source) : mapping.source;
1582 - node.add(new SourceNode(
1583 - mapping.originalLine,
1584 - mapping.originalColumn,
1585 - source,
1586 - code,
1587 - mapping.name
1588 - ));
1589 - }
1590 - }
1591 - };
1592 - SourceNode.prototype.add = function SourceNode_add(aChunk) {
1593 - if (Array.isArray(aChunk)) {
1594 - aChunk.forEach(function(chunk) {
1595 - this.add(chunk);
1596 - }, this);
1597 - } else if (aChunk[isSourceNode] || typeof aChunk === "string") {
1598 - if (aChunk) {
1599 - this.children.push(aChunk);
1600 - }
1601 - } else {
1602 - throw new TypeError(
1603 - "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk
1604 - );
1605 - }
1606 - return this;
1607 - };
1608 - SourceNode.prototype.prepend = function SourceNode_prepend(aChunk) {
1609 - if (Array.isArray(aChunk)) {
1610 - for (var i = aChunk.length - 1; i >= 0; i--) {
1611 - this.prepend(aChunk[i]);
1612 - }
1613 - } else if (aChunk[isSourceNode] || typeof aChunk === "string") {
1614 - this.children.unshift(aChunk);
1615 - } else {
1616 - throw new TypeError(
1617 - "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk
1618 - );
1619 - }
1620 - return this;
1621 - };
1622 - SourceNode.prototype.walk = function SourceNode_walk(aFn) {
1623 - var chunk;
1624 - for (var i = 0, len = this.children.length; i < len; i++) {
1625 - chunk = this.children[i];
1626 - if (chunk[isSourceNode]) {
1627 - chunk.walk(aFn);
1628 - } else {
1629 - if (chunk !== "") {
1630 - aFn(chunk, {
1631 - source: this.source,
1632 - line: this.line,
1633 - column: this.column,
1634 - name: this.name
1635 - });
1636 - }
1637 - }
1638 - }
1639 - };
1640 - SourceNode.prototype.join = function SourceNode_join(aSep) {
1641 - var newChildren;
1642 - var i;
1643 - var len = this.children.length;
1644 - if (len > 0) {
1645 - newChildren = [];
1646 - for (i = 0; i < len - 1; i++) {
1647 - newChildren.push(this.children[i]);
1648 - newChildren.push(aSep);
1649 - }
1650 - newChildren.push(this.children[i]);
1651 - this.children = newChildren;
1652 - }
1653 - return this;
1654 - };
1655 - SourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) {
1656 - var lastChild = this.children[this.children.length - 1];
1657 - if (lastChild[isSourceNode]) {
1658 - lastChild.replaceRight(aPattern, aReplacement);
1659 - } else if (typeof lastChild === "string") {
1660 - this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement);
1661 - } else {
1662 - this.children.push("".replace(aPattern, aReplacement));
1663 - }
1664 - return this;
1665 - };
1666 - SourceNode.prototype.setSourceContent = function SourceNode_setSourceContent(aSourceFile, aSourceContent) {
1667 - this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent;
1668 - };
1669 - SourceNode.prototype.walkSourceContents = function SourceNode_walkSourceContents(aFn) {
1670 - for (var i = 0, len = this.children.length; i < len; i++) {
1671 - if (this.children[i][isSourceNode]) {
1672 - this.children[i].walkSourceContents(aFn);
1673 - }
1674 - }
1675 - var sources = Object.keys(this.sourceContents);
1676 - for (var i = 0, len = sources.length; i < len; i++) {
1677 - aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]);
1678 - }
1679 - };
1680 - SourceNode.prototype.toString = function SourceNode_toString() {
1681 - var str = "";
1682 - this.walk(function(chunk) {
1683 - str += chunk;
1684 - });
1685 - return str;
1686 - };
1687 - SourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) {
1688 - var generated = {
1689 - code: "",
1690 - line: 1,
1691 - column: 0
1692 - };
1693 - var map = new SourceMapGenerator(aArgs);
1694 - var sourceMappingActive = false;
1695 - var lastOriginalSource = null;
1696 - var lastOriginalLine = null;
1697 - var lastOriginalColumn = null;
1698 - var lastOriginalName = null;
1699 - this.walk(function(chunk, original) {
1700 - generated.code += chunk;
1701 - if (original.source !== null && original.line !== null && original.column !== null) {
1702 - if (lastOriginalSource !== original.source || lastOriginalLine !== original.line || lastOriginalColumn !== original.column || lastOriginalName !== original.name) {
1703 - map.addMapping({
1704 - source: original.source,
1705 - original: {
1706 - line: original.line,
1707 - column: original.column
1708 - },
1709 - generated: {
1710 - line: generated.line,
1711 - column: generated.column
1712 - },
1713 - name: original.name
1714 - });
1715 - }
1716 - lastOriginalSource = original.source;
1717 - lastOriginalLine = original.line;
1718 - lastOriginalColumn = original.column;
1719 - lastOriginalName = original.name;
1720 - sourceMappingActive = true;
1721 - } else if (sourceMappingActive) {
1722 - map.addMapping({
1723 - generated: {
1724 - line: generated.line,
1725 - column: generated.column
1726 - }
1727 - });
1728 - lastOriginalSource = null;
1729 - sourceMappingActive = false;
1730 - }
1731 - for (var idx = 0, length = chunk.length; idx < length; idx++) {
1732 - if (chunk.charCodeAt(idx) === NEWLINE_CODE) {
1733 - generated.line++;
1734 - generated.column = 0;
1735 - if (idx + 1 === length) {
1736 - lastOriginalSource = null;
1737 - sourceMappingActive = false;
1738 - } else if (sourceMappingActive) {
1739 - map.addMapping({
1740 - source: original.source,
1741 - original: {
1742 - line: original.line,
1743 - column: original.column
1744 - },
1745 - generated: {
1746 - line: generated.line,
1747 - column: generated.column
1748 - },
1749 - name: original.name
1750 - });
1751 - }
1752 - } else {
1753 - generated.column++;
1754 - }
1755 - }
1756 - });
1757 - this.walkSourceContents(function(sourceFile, sourceContent) {
1758 - map.setSourceContent(sourceFile, sourceContent);
1759 - });
1760 - return { code: generated.code, map };
1761 - };
1762 - exports2.SourceNode = SourceNode;
1763 - }
1764 -});
1765 -
1766 -// node_modules/source-map/source-map.js
1767 -var require_source_map = __commonJS({
1768 - "node_modules/source-map/source-map.js"(exports2) {
1769 - exports2.SourceMapGenerator = require_source_map_generator().SourceMapGenerator;
1770 - exports2.SourceMapConsumer = require_source_map_consumer().SourceMapConsumer;
1771 - exports2.SourceNode = require_source_node().SourceNode;
1772 - }
1773 -});
1774 -
1775 -// node_modules/buffer-from/index.js
1776 -var require_buffer_from = __commonJS({
1777 - "node_modules/buffer-from/index.js"(exports2, module2) {
1778 - var toString = Object.prototype.toString;
1779 - var isModern = typeof Buffer !== "undefined" && typeof Buffer.alloc === "function" && typeof Buffer.allocUnsafe === "function" && typeof Buffer.from === "function";
1780 - function isArrayBuffer(input) {
1781 - return toString.call(input).slice(8, -1) === "ArrayBuffer";
1782 - }
1783 - function fromArrayBuffer(obj, byteOffset, length) {
1784 - byteOffset >>>= 0;
1785 - var maxLength = obj.byteLength - byteOffset;
1786 - if (maxLength < 0) {
1787 - throw new RangeError("'offset' is out of bounds");
1788 - }
1789 - if (length === void 0) {
1790 - length = maxLength;
1791 - } else {
1792 - length >>>= 0;
1793 - if (length > maxLength) {
1794 - throw new RangeError("'length' is out of bounds");
1795 - }
1796 - }
1797 - return isModern ? Buffer.from(obj.slice(byteOffset, byteOffset + length)) : new Buffer(new Uint8Array(obj.slice(byteOffset, byteOffset + length)));
1798 - }
1799 - function fromString(string, encoding) {
1800 - if (typeof encoding !== "string" || encoding === "") {
1801 - encoding = "utf8";
1802 - }
1803 - if (!Buffer.isEncoding(encoding)) {
1804 - throw new TypeError('"encoding" must be a valid string encoding');
1805 - }
1806 - return isModern ? Buffer.from(string, encoding) : new Buffer(string, encoding);
1807 - }
1808 - function bufferFrom(value, encodingOrOffset, length) {
1809 - if (typeof value === "number") {
1810 - throw new TypeError('"value" argument must not be a number');
1811 - }
1812 - if (isArrayBuffer(value)) {
1813 - return fromArrayBuffer(value, encodingOrOffset, length);
1814 - }
1815 - if (typeof value === "string") {
1816 - return fromString(value, encodingOrOffset);
1817 - }
1818 - return isModern ? Buffer.from(value) : new Buffer(value);
1819 - }
1820 - module2.exports = bufferFrom;
1821 - }
1822 -});
1823 -
1824 -// node_modules/source-map-support/source-map-support.js
1825 -var require_source_map_support = __commonJS({
1826 - "node_modules/source-map-support/source-map-support.js"(exports2, module2) {
1827 - var SourceMapConsumer = require_source_map().SourceMapConsumer;
1828 - var path6 = require("path");
1829 - var fs6;
1830 - try {
1831 - fs6 = require("fs");
1832 - if (!fs6.existsSync || !fs6.readFileSync) {
1833 - fs6 = null;
1834 - }
1835 - } catch (err) {
1836 - }
1837 - var bufferFrom = require_buffer_from();
1838 - function dynamicRequire(mod, request) {
1839 - return mod.require(request);
1840 - }
1841 - var errorFormatterInstalled = false;
1842 - var uncaughtShimInstalled = false;
1843 - var emptyCacheBetweenOperations = false;
1844 - var environment = "auto";
1845 - var fileContentsCache = {};
1846 - var sourceMapCache = {};
1847 - var reSourceMap = /^data:application\/json[^,]+base64,/;
1848 - var retrieveFileHandlers = [];
1849 - var retrieveMapHandlers = [];
1850 - function isInBrowser() {
1851 - if (environment === "browser")
1852 - return true;
1853 - if (environment === "node")
1854 - return false;
1855 - return typeof window !== "undefined" && typeof XMLHttpRequest === "function" && !(window.require && window.module && window.process && window.process.type === "renderer");
1856 - }
1857 - function hasGlobalProcessEventEmitter() {
1858 - return typeof process === "object" && process !== null && typeof process.on === "function";
1859 - }
1860 - function globalProcessVersion() {
1861 - if (typeof process === "object" && process !== null) {
1862 - return process.version;
1863 - } else {
1864 - return "";
1865 - }
1866 - }
1867 - function globalProcessStderr() {
1868 - if (typeof process === "object" && process !== null) {
1869 - return process.stderr;
1870 - }
1871 - }
1872 - function globalProcessExit(code) {
1873 - if (typeof process === "object" && process !== null && typeof process.exit === "function") {
1874 - return process.exit(code);
1875 - }
1876 - }
1877 - function handlerExec(list) {
1878 - return function(arg) {
1879 - for (var i = 0; i < list.length; i++) {
1880 - var ret = list[i](arg);
1881 - if (ret) {
1882 - return ret;
1883 - }
1884 - }
1885 - return null;
1886 - };
1887 - }
1888 - var retrieveFile = handlerExec(retrieveFileHandlers);
1889 - retrieveFileHandlers.push(function(path7) {
1890 - path7 = path7.trim();
1891 - if (/^file:/.test(path7)) {
1892 - path7 = path7.replace(/file:\/\/\/(\w:)?/, function(protocol, drive) {
1893 - return drive ? "" : (
1894 - // file:///C:/dir/file -> C:/dir/file
1895 - "/"
1896 - );
1897 - });
1898 - }
1899 - if (path7 in fileContentsCache) {
1900 - return fileContentsCache[path7];
1901 - }
1902 - var contents = "";
1903 - try {
1904 - if (!fs6) {
1905 - var xhr = new XMLHttpRequest();
1906 - xhr.open(
1907 - "GET",
1908 - path7,
1909 - /** async */
1910 - false
1911 - );
1912 - xhr.send(null);
1913 - if (xhr.readyState === 4 && xhr.status === 200) {
1914 - contents = xhr.responseText;
1915 - }
1916 - } else if (fs6.existsSync(path7)) {
1917 - contents = fs6.readFileSync(path7, "utf8");
1918 - }
1919 - } catch (er) {
1920 - }
1921 - return fileContentsCache[path7] = contents;
1922 - });
1923 - function supportRelativeURL(file2, url4) {
1924 - if (!file2) return url4;
1925 - var dir = path6.dirname(file2);
1926 - var match = /^\w+:\/\/[^\/]*/.exec(dir);
1927 - var protocol = match ? match[0] : "";
1928 - var startPath = dir.slice(protocol.length);
1929 - if (protocol && /^\/\w\:/.test(startPath)) {
1930 - protocol += "/";
1931 - return protocol + path6.resolve(dir.slice(protocol.length), url4).replace(/\\/g, "/");
1932 - }
1933 - return protocol + path6.resolve(dir.slice(protocol.length), url4);
1934 - }
1935 - function retrieveSourceMapURL(source) {
1936 - var fileData;
1937 - if (isInBrowser()) {
1938 - try {
1939 - var xhr = new XMLHttpRequest();
1940 - xhr.open("GET", source, false);
1941 - xhr.send(null);
1942 - fileData = xhr.readyState === 4 ? xhr.responseText : null;
1943 - var sourceMapHeader = xhr.getResponseHeader("SourceMap") || xhr.getResponseHeader("X-SourceMap");
1944 - if (sourceMapHeader) {
1945 - return sourceMapHeader;
1946 - }
1947 - } catch (e) {
1948 - }
1949 - }
1950 - fileData = retrieveFile(source);
1951 - var re2 = /(?:\/\/[@#][\s]*sourceMappingURL=([^\s'"]+)[\s]*$)|(?:\/\*[@#][\s]*sourceMappingURL=([^\s*'"]+)[\s]*(?:\*\/)[\s]*$)/mg;
1952 - var lastMatch, match;
1953 - while (match = re2.exec(fileData)) lastMatch = match;
1954 - if (!lastMatch) return null;
1955 - return lastMatch[1];
1956 - }
1957 - var retrieveSourceMap = handlerExec(retrieveMapHandlers);
1958 - retrieveMapHandlers.push(function(source) {
1959 - var sourceMappingURL = retrieveSourceMapURL(source);
1960 - if (!sourceMappingURL) return null;
1961 - var sourceMapData;
1962 - if (reSourceMap.test(sourceMappingURL)) {
1963 - var rawData = sourceMappingURL.slice(sourceMappingURL.indexOf(",") + 1);
1964 - sourceMapData = bufferFrom(rawData, "base64").toString();
1965 - sourceMappingURL = source;
1966 - } else {
1967 - sourceMappingURL = supportRelativeURL(source, sourceMappingURL);
1968 - sourceMapData = retrieveFile(sourceMappingURL);
1969 - }
1970 - if (!sourceMapData) {
1971 - return null;
1972 - }
1973 - return {
1974 - url: sourceMappingURL,
1975 - map: sourceMapData
1976 - };
1977 - });
1978 - function mapSourcePosition(position) {
1979 - var sourceMap = sourceMapCache[position.source];
1980 - if (!sourceMap) {
1981 - var urlAndMap = retrieveSourceMap(position.source);
1982 - if (urlAndMap) {
1983 - sourceMap = sourceMapCache[position.source] = {
1984 - url: urlAndMap.url,
1985 - map: new SourceMapConsumer(urlAndMap.map)
1986 - };
1987 - if (sourceMap.map.sourcesContent) {
1988 - sourceMap.map.sources.forEach(function(source, i) {
1989 - var contents = sourceMap.map.sourcesContent[i];
1990 - if (contents) {
1991 - var url4 = supportRelativeURL(sourceMap.url, source);
1992 - fileContentsCache[url4] = contents;
1993 - }
1994 - });
1995 - }
1996 - } else {
1997 - sourceMap = sourceMapCache[position.source] = {
1998 - url: null,
1999 - map: null
2000 - };
2001 - }
2002 - }
2003 - if (sourceMap && sourceMap.map && typeof sourceMap.map.originalPositionFor === "function") {
2004 - var originalPosition = sourceMap.map.originalPositionFor(position);
2005 - if (originalPosition.source !== null) {
2006 - originalPosition.source = supportRelativeURL(
2007 - sourceMap.url,
2008 - originalPosition.source
2009 - );
2010 - return originalPosition;
2011 - }
2012 - }
2013 - return position;
2014 - }
2015 - function mapEvalOrigin(origin) {
2016 - var match = /^eval at ([^(]+) \((.+):(\d+):(\d+)\)$/.exec(origin);
2017 - if (match) {
2018 - var position = mapSourcePosition({
2019 - source: match[2],
2020 - line: +match[3],
2021 - column: match[4] - 1
2022 - });
2023 - return "eval at " + match[1] + " (" + position.source + ":" + position.line + ":" + (position.column + 1) + ")";
2024 - }
2025 - match = /^eval at ([^(]+) \((.+)\)$/.exec(origin);
2026 - if (match) {
2027 - return "eval at " + match[1] + " (" + mapEvalOrigin(match[2]) + ")";
2028 - }
2029 - return origin;
2030 - }
2031 - function CallSiteToString() {
2032 - var fileName2;
2033 - var fileLocation = "";
2034 - if (this.isNative()) {
2035 - fileLocation = "native";
2036 - } else {
2037 - fileName2 = this.getScriptNameOrSourceURL();
2038 - if (!fileName2 && this.isEval()) {
2039 - fileLocation = this.getEvalOrigin();
2040 - fileLocation += ", ";
2041 - }
2042 - if (fileName2) {
2043 - fileLocation += fileName2;
2044 - } else {
2045 - fileLocation += "<anonymous>";
2046 - }
2047 - var lineNumber = this.getLineNumber();
2048 - if (lineNumber != null) {
2049 - fileLocation += ":" + lineNumber;
2050 - var columnNumber = this.getColumnNumber();
2051 - if (columnNumber) {
2052 - fileLocation += ":" + columnNumber;
2053 - }
2054 - }
2055 - }
2056 - var line = "";
2057 - var functionName = this.getFunctionName();
2058 - var addSuffix = true;
2059 - var isConstructor = this.isConstructor();
2060 - var isMethodCall = !(this.isToplevel() || isConstructor);
2061 - if (isMethodCall) {
2062 - var typeName = this.getTypeName();
2063 - if (typeName === "[object Object]") {
2064 - typeName = "null";
2065 - }
2066 - var methodName = this.getMethodName();
2067 - if (functionName) {
2068 - if (typeName && functionName.indexOf(typeName) != 0) {
2069 - line += typeName + ".";
2070 - }
2071 - line += functionName;
2072 - if (methodName && functionName.indexOf("." + methodName) != functionName.length - methodName.length - 1) {
2073 - line += " [as " + methodName + "]";
2074 - }
2075 - } else {
2076 - line += typeName + "." + (methodName || "<anonymous>");
2077 - }
2078 - } else if (isConstructor) {
2079 - line += "new " + (functionName || "<anonymous>");
2080 - } else if (functionName) {
2081 - line += functionName;
2082 - } else {
2083 - line += fileLocation;
2084 - addSuffix = false;
2085 - }
2086 - if (addSuffix) {
2087 - line += " (" + fileLocation + ")";
2088 - }
2089 - return line;
2090 - }
2091 - function cloneCallSite(frame) {
2092 - var object = {};
2093 - Object.getOwnPropertyNames(Object.getPrototypeOf(frame)).forEach(function(name) {
2094 - object[name] = /^(?:is|get)/.test(name) ? function() {
2095 - return frame[name].call(frame);
2096 - } : frame[name];
2097 - });
2098 - object.toString = CallSiteToString;
2099 - return object;
2100 - }
2101 - function wrapCallSite(frame, state) {
2102 - if (state === void 0) {
2103 - state = { nextPosition: null, curPosition: null };
2104 - }
2105 - if (frame.isNative()) {
2106 - state.curPosition = null;
2107 - return frame;
2108 - }
2109 - var source = frame.getFileName() || frame.getScriptNameOrSourceURL();
2110 - if (source) {
2111 - var line = frame.getLineNumber();
2112 - var column = frame.getColumnNumber() - 1;
2113 - var noHeader = /^v(10\.1[6-9]|10\.[2-9][0-9]|10\.[0-9]{3,}|1[2-9]\d*|[2-9]\d|\d{3,}|11\.11)/;
2114 - var headerLength = noHeader.test(globalProcessVersion()) ? 0 : 62;
2115 - if (line === 1 && column > headerLength && !isInBrowser() && !frame.isEval()) {
2116 - column -= headerLength;
2117 - }
2118 - var position = mapSourcePosition({
2119 - source,
2120 - line,
2121 - column
2122 - });
2123 - state.curPosition = position;
2124 - frame = cloneCallSite(frame);
2125 - var originalFunctionName = frame.getFunctionName;
2126 - frame.getFunctionName = function() {
2127 - if (state.nextPosition == null) {
2128 - return originalFunctionName();
2129 - }
2130 - return state.nextPosition.name || originalFunctionName();
2131 - };
2132 - frame.getFileName = function() {
2133 - return position.source;
2134 - };
2135 - frame.getLineNumber = function() {
2136 - return position.line;
2137 - };
2138 - frame.getColumnNumber = function() {
2139 - return position.column + 1;
2140 - };
2141 - frame.getScriptNameOrSourceURL = function() {
2142 - return position.source;
2143 - };
2144 - return frame;
2145 - }
2146 - var origin = frame.isEval() && frame.getEvalOrigin();
2147 - if (origin) {
2148 - origin = mapEvalOrigin(origin);
2149 - frame = cloneCallSite(frame);
2150 - frame.getEvalOrigin = function() {
2151 - return origin;
2152 - };
2153 - return frame;
2154 - }
2155 - return frame;
2156 - }
2157 - function prepareStackTrace(error, stack) {
2158 - if (emptyCacheBetweenOperations) {
2159 - fileContentsCache = {};
2160 - sourceMapCache = {};
2161 - }
2162 - var name = error.name || "Error";
2163 - var message = error.message || "";
2164 - var errorString = name + ": " + message;
2165 - var state = { nextPosition: null, curPosition: null };
2166 - var processedStack = [];
2167 - for (var i = stack.length - 1; i >= 0; i--) {
2168 - processedStack.push("\n at " + wrapCallSite(stack[i], state));
2169 - state.nextPosition = state.curPosition;
2170 - }
2171 - state.curPosition = state.nextPosition = null;
2172 - return errorString + processedStack.reverse().join("");
2173 - }
2174 - function getErrorSource(error) {
2175 - var match = /\n at [^(]+ \((.*):(\d+):(\d+)\)/.exec(error.stack);
2176 - if (match) {
2177 - var source = match[1];
2178 - var line = +match[2];
2179 - var column = +match[3];
2180 - var contents = fileContentsCache[source];
2181 - if (!contents && fs6 && fs6.existsSync(source)) {
2182 - try {
2183 - contents = fs6.readFileSync(source, "utf8");
2184 - } catch (er) {
2185 - contents = "";
2186 - }
2187 - }
2188 - if (contents) {
2189 - var code = contents.split(/(?:\r\n|\r|\n)/)[line - 1];
2190 - if (code) {
2191 - return source + ":" + line + "\n" + code + "\n" + new Array(column).join(" ") + "^";
2192 - }
2193 - }
2194 - }
2195 - return null;
2196 - }
2197 - function printErrorAndExit(error) {
2198 - var source = getErrorSource(error);
2199 - var stderr = globalProcessStderr();
2200 - if (stderr && stderr._handle && stderr._handle.setBlocking) {
2201 - stderr._handle.setBlocking(true);
2202 - }
2203 - if (source) {
2204 - console.error();
2205 - console.error(source);
2206 - }
2207 - console.error(error.stack);
2208 - globalProcessExit(1);
2209 - }
2210 - function shimEmitUncaughtException() {
2211 - var origEmit = process.emit;
2212 - process.emit = function(type) {
2213 - if (type === "uncaughtException") {
2214 - var hasStack = arguments[1] && arguments[1].stack;
2215 - var hasListeners = this.listeners(type).length > 0;
2216 - if (hasStack && !hasListeners) {
2217 - return printErrorAndExit(arguments[1]);
2218 - }
2219 - }
2220 - return origEmit.apply(this, arguments);
2221 - };
2222 - }
2223 - var originalRetrieveFileHandlers = retrieveFileHandlers.slice(0);
2224 - var originalRetrieveMapHandlers = retrieveMapHandlers.slice(0);
2225 - exports2.wrapCallSite = wrapCallSite;
2226 - exports2.getErrorSource = getErrorSource;
2227 - exports2.mapSourcePosition = mapSourcePosition;
2228 - exports2.retrieveSourceMap = retrieveSourceMap;
2229 - exports2.install = function(options) {
2230 - options = options || {};
2231 - if (options.environment) {
2232 - environment = options.environment;
2233 - if (["node", "browser", "auto"].indexOf(environment) === -1) {
2234 - throw new Error("environment " + environment + " was unknown. Available options are {auto, browser, node}");
2235 - }
2236 - }
2237 - if (options.retrieveFile) {
2238 - if (options.overrideRetrieveFile) {
2239 - retrieveFileHandlers.length = 0;
2240 - }
2241 - retrieveFileHandlers.unshift(options.retrieveFile);
2242 - }
2243 - if (options.retrieveSourceMap) {
2244 - if (options.overrideRetrieveSourceMap) {
2245 - retrieveMapHandlers.length = 0;
2246 - }
2247 - retrieveMapHandlers.unshift(options.retrieveSourceMap);
2248 - }
2249 - if (options.hookRequire && !isInBrowser()) {
2250 - var Module3 = dynamicRequire(module2, "module");
2251 - var $compile = Module3.prototype._compile;
2252 - if (!$compile.__sourceMapSupport) {
2253 - Module3.prototype._compile = function(content, filename) {
2254 - fileContentsCache[filename] = content;
2255 - sourceMapCache[filename] = void 0;
2256 - return $compile.call(this, content, filename);
2257 - };
2258 - Module3.prototype._compile.__sourceMapSupport = true;
2259 - }
2260 - }
2261 - if (!emptyCacheBetweenOperations) {
2262 - emptyCacheBetweenOperations = "emptyCacheBetweenOperations" in options ? options.emptyCacheBetweenOperations : false;
2263 - }
2264 - if (!errorFormatterInstalled) {
2265 - errorFormatterInstalled = true;
2266 - Error.prepareStackTrace = prepareStackTrace;
2267 - }
2268 - if (!uncaughtShimInstalled) {
2269 - var installHandler = "handleUncaughtExceptions" in options ? options.handleUncaughtExceptions : true;
2270 - try {
2271 - var worker_threads = dynamicRequire(module2, "worker_threads");
2272 - if (worker_threads.isMainThread === false) {
2273 - installHandler = false;
2274 - }
2275 - } catch (e) {
2276 - }
2277 - if (installHandler && hasGlobalProcessEventEmitter()) {
2278 - uncaughtShimInstalled = true;
2279 - shimEmitUncaughtException();
2280 - }
2281 - }
2282 - };
2283 - exports2.resetRetrieveHandlers = function() {
2284 - retrieveFileHandlers.length = 0;
2285 - retrieveMapHandlers.length = 0;
2286 - retrieveFileHandlers = originalRetrieveFileHandlers.slice(0);
2287 - retrieveMapHandlers = originalRetrieveMapHandlers.slice(0);
2288 - retrieveSourceMap = handlerExec(retrieveMapHandlers);
2289 - retrieveFile = handlerExec(retrieveFileHandlers);
2290 - };
2291 - }
2292 -});
2293 -
2294 -// node_modules/json5/lib/unicode.js
2295 -var require_unicode = __commonJS({
2296 - "node_modules/json5/lib/unicode.js"(exports2, module2) {
2297 - module2.exports.Space_Separator = /[\u1680\u2000-\u200A\u202F\u205F\u3000]/;
2298 - module2.exports.ID_Start = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/;
2299 - module2.exports.ID_Continue = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/;
2300 - }
2301 -});
2302 -
2303 -// node_modules/json5/lib/util.js
2304 -var require_util2 = __commonJS({
2305 - "node_modules/json5/lib/util.js"(exports2, module2) {
2306 - var unicode = require_unicode();
2307 - module2.exports = {
2308 - isSpaceSeparator(c) {
2309 - return typeof c === "string" && unicode.Space_Separator.test(c);
2310 - },
2311 - isIdStartChar(c) {
2312 - return typeof c === "string" && (c >= "a" && c <= "z" || c >= "A" && c <= "Z" || c === "$" || c === "_" || unicode.ID_Start.test(c));
2313 - },
2314 - isIdContinueChar(c) {
2315 - return typeof c === "string" && (c >= "a" && c <= "z" || c >= "A" && c <= "Z" || c >= "0" && c <= "9" || c === "$" || c === "_" || c === "\u200C" || c === "\u200D" || unicode.ID_Continue.test(c));
2316 - },
2317 - isDigit(c) {
2318 - return typeof c === "string" && /[0-9]/.test(c);
2319 - },
2320 - isHexDigit(c) {
2321 - return typeof c === "string" && /[0-9A-Fa-f]/.test(c);
2322 - }
2323 - };
2324 - }
2325 -});
2326 -
2327 -// node_modules/json5/lib/parse.js
2328 -var require_parse = __commonJS({
2329 - "node_modules/json5/lib/parse.js"(exports2, module2) {
2330 - var util = require_util2();
2331 - var source;
2332 - var parseState;
2333 - var stack;
2334 - var pos;
2335 - var line;
2336 - var column;
2337 - var token;
2338 - var key;
2339 - var root;
2340 - module2.exports = function parse(text, reviver) {
2341 - source = String(text);
2342 - parseState = "start";
2343 - stack = [];
2344 - pos = 0;
2345 - line = 1;
2346 - column = 0;
2347 - token = void 0;
2348 - key = void 0;
2349 - root = void 0;
2350 - do {
2351 - token = lex();
2352 - parseStates[parseState]();
2353 - } while (token.type !== "eof");
2354 - if (typeof reviver === "function") {
2355 - return internalize({ "": root }, "", reviver);
2356 - }
2357 - return root;
2358 - };
2359 - function internalize(holder, name, reviver) {
2360 - const value = holder[name];
2361 - if (value != null && typeof value === "object") {
2362 - if (Array.isArray(value)) {
2363 - for (let i = 0; i < value.length; i++) {
2364 - const key2 = String(i);
2365 - const replacement = internalize(value, key2, reviver);
2366 - if (replacement === void 0) {
2367 - delete value[key2];
2368 - } else {
2369 - Object.defineProperty(value, key2, {
2370 - value: replacement,
2371 - writable: true,
2372 - enumerable: true,
2373 - configurable: true
2374 - });
2375 - }
2376 - }
2377 - } else {
2378 - for (const key2 in value) {
2379 - const replacement = internalize(value, key2, reviver);
2380 - if (replacement === void 0) {
2381 - delete value[key2];
2382 - } else {
2383 - Object.defineProperty(value, key2, {
2384 - value: replacement,
2385 - writable: true,
2386 - enumerable: true,
2387 - configurable: true
2388 - });
2389 - }
2390 - }
2391 - }
2392 - }
2393 - return reviver.call(holder, name, value);
2394 - }
2395 - var lexState;
2396 - var buffer;
2397 - var doubleQuote;
2398 - var sign;
2399 - var c;
2400 - function lex() {
2401 - lexState = "default";
2402 - buffer = "";
2403 - doubleQuote = false;
2404 - sign = 1;
2405 - for (; ; ) {
2406 - c = peek();
2407 - const token2 = lexStates[lexState]();
2408 - if (token2) {
2409 - return token2;
2410 - }
2411 - }
2412 - }
2413 - function peek() {
2414 - if (source[pos]) {
2415 - return String.fromCodePoint(source.codePointAt(pos));
2416 - }
2417 - }
2418 - function read() {
2419 - const c2 = peek();
2420 - if (c2 === "\n") {
2421 - line++;
2422 - column = 0;
2423 - } else if (c2) {
2424 - column += c2.length;
2425 - } else {
2426 - column++;
2427 - }
2428 - if (c2) {
2429 - pos += c2.length;
2430 - }
2431 - return c2;
2432 - }
2433 - var lexStates = {
2434 - default() {
2435 - switch (c) {
2436 - case " ":
2437 - case "\v":
2438 - case "\f":
2439 - case " ":
2440 - case "\xA0":
2441 - case "\uFEFF":
2442 - case "\n":
2443 - case "\r":
2444 - case "\u2028":
2445 - case "\u2029":
2446 - read();
2447 - return;
2448 - case "/":
2449 - read();
2450 - lexState = "comment";
2451 - return;
2452 - case void 0:
2453 - read();
2454 - return newToken("eof");
2455 - }
2456 - if (util.isSpaceSeparator(c)) {
2457 - read();
2458 - return;
2459 - }
2460 - return lexStates[parseState]();
2461 - },
2462 - comment() {
2463 - switch (c) {
2464 - case "*":
2465 - read();
2466 - lexState = "multiLineComment";
2467 - return;
2468 - case "/":
2469 - read();
2470 - lexState = "singleLineComment";
2471 - return;
2472 - }
2473 - throw invalidChar(read());
2474 - },
2475 - multiLineComment() {
2476 - switch (c) {
2477 - case "*":
2478 - read();
2479 - lexState = "multiLineCommentAsterisk";
2480 - return;
2481 - case void 0:
2482 - throw invalidChar(read());
2483 - }
2484 - read();
2485 - },
2486 - multiLineCommentAsterisk() {
2487 - switch (c) {
2488 - case "*":
2489 - read();
2490 - return;
2491 - case "/":
2492 - read();
2493 - lexState = "default";
2494 - return;
2495 - case void 0:
2496 - throw invalidChar(read());
2497 - }
2498 - read();
2499 - lexState = "multiLineComment";
2500 - },
2501 - singleLineComment() {
2502 - switch (c) {
2503 - case "\n":
2504 - case "\r":
2505 - case "\u2028":
2506 - case "\u2029":
2507 - read();
2508 - lexState = "default";
2509 - return;
2510 - case void 0:
2511 - read();
2512 - return newToken("eof");
2513 - }
2514 - read();
2515 - },
2516 - value() {
2517 - switch (c) {
2518 - case "{":
2519 - case "[":
2520 - return newToken("punctuator", read());
2521 - case "n":
2522 - read();
2523 - literal("ull");
2524 - return newToken("null", null);
2525 - case "t":
2526 - read();
2527 - literal("rue");
2528 - return newToken("boolean", true);
2529 - case "f":
2530 - read();
2531 - literal("alse");
2532 - return newToken("boolean", false);
2533 - case "-":
2534 - case "+":
2535 - if (read() === "-") {
2536 - sign = -1;
2537 - }
2538 - lexState = "sign";
2539 - return;
2540 - case ".":
2541 - buffer = read();
2542 - lexState = "decimalPointLeading";
2543 - return;
2544 - case "0":
2545 - buffer = read();
2546 - lexState = "zero";
2547 - return;
2548 - case "1":
2549 - case "2":
2550 - case "3":
2551 - case "4":
2552 - case "5":
2553 - case "6":
2554 - case "7":
2555 - case "8":
2556 - case "9":
2557 - buffer = read();
2558 - lexState = "decimalInteger";
2559 - return;
2560 - case "I":
2561 - read();
2562 - literal("nfinity");
2563 - return newToken("numeric", Infinity);
2564 - case "N":
2565 - read();
2566 - literal("aN");
2567 - return newToken("numeric", NaN);
2568 - case '"':
2569 - case "'":
2570 - doubleQuote = read() === '"';
2571 - buffer = "";
2572 - lexState = "string";
2573 - return;
2574 - }
2575 - throw invalidChar(read());
2576 - },
2577 - identifierNameStartEscape() {
2578 - if (c !== "u") {
2579 - throw invalidChar(read());
2580 - }
2581 - read();
2582 - const u = unicodeEscape();
2583 - switch (u) {
2584 - case "$":
2585 - case "_":
2586 - break;
2587 - default:
2588 - if (!util.isIdStartChar(u)) {
2589 - throw invalidIdentifier();
2590 - }
2591 - break;
2592 - }
2593 - buffer += u;
2594 - lexState = "identifierName";
2595 - },
2596 - identifierName() {
2597 - switch (c) {
2598 - case "$":
2599 - case "_":
2600 - case "\u200C":
2601 - case "\u200D":
2602 - buffer += read();
2603 - return;
2604 - case "\\":
2605 - read();
2606 - lexState = "identifierNameEscape";
2607 - return;
2608 - }
2609 - if (util.isIdContinueChar(c)) {
2610 - buffer += read();
2611 - return;
2612 - }
2613 - return newToken("identifier", buffer);
2614 - },
2615 - identifierNameEscape() {
2616 - if (c !== "u") {
2617 - throw invalidChar(read());
2618 - }
2619 - read();
2620 - const u = unicodeEscape();
2621 - switch (u) {
2622 - case "$":
2623 - case "_":
2624 - case "\u200C":
2625 - case "\u200D":
2626 - break;
2627 - default:
2628 - if (!util.isIdContinueChar(u)) {
2629 - throw invalidIdentifier();
2630 - }
2631 - break;
2632 - }
2633 - buffer += u;
2634 - lexState = "identifierName";
2635 - },
2636 - sign() {
2637 - switch (c) {
2638 - case ".":
2639 - buffer = read();
2640 - lexState = "decimalPointLeading";
2641 - return;
2642 - case "0":
2643 - buffer = read();
2644 - lexState = "zero";
2645 - return;
2646 - case "1":
2647 - case "2":
2648 - case "3":
2649 - case "4":
2650 - case "5":
2651 - case "6":
2652 - case "7":
2653 - case "8":
2654 - case "9":
2655 - buffer = read();
2656 - lexState = "decimalInteger";
2657 - return;
2658 - case "I":
2659 - read();
2660 - literal("nfinity");
2661 - return newToken("numeric", sign * Infinity);
2662 - case "N":
2663 - read();
2664 - literal("aN");
2665 - return newToken("numeric", NaN);
2666 - }
2667 - throw invalidChar(read());
2668 - },
2669 - zero() {
2670 - switch (c) {
2671 - case ".":
2672 - buffer += read();
2673 - lexState = "decimalPoint";
2674 - return;
2675 - case "e":
2676 - case "E":
2677 - buffer += read();
2678 - lexState = "decimalExponent";
2679 - return;
2680 - case "x":
2681 - case "X":
2682 - buffer += read();
2683 - lexState = "hexadecimal";
2684 - return;
2685 - }
2686 - return newToken("numeric", sign * 0);
2687 - },
2688 - decimalInteger() {
2689 - switch (c) {
2690 - case ".":
2691 - buffer += read();
2692 - lexState = "decimalPoint";
2693 - return;
2694 - case "e":
2695 - case "E":
2696 - buffer += read();
2697 - lexState = "decimalExponent";
2698 - return;
2699 - }
2700 - if (util.isDigit(c)) {
2701 - buffer += read();
2702 - return;
2703 - }
2704 - return newToken("numeric", sign * Number(buffer));
2705 - },
2706 - decimalPointLeading() {
2707 - if (util.isDigit(c)) {
2708 - buffer += read();
2709 - lexState = "decimalFraction";
2710 - return;
2711 - }
2712 - throw invalidChar(read());
2713 - },
2714 - decimalPoint() {
2715 - switch (c) {
2716 - case "e":
2717 - case "E":
2718 - buffer += read();
2719 - lexState = "decimalExponent";
2720 - return;
2721 - }
2722 - if (util.isDigit(c)) {
2723 - buffer += read();
2724 - lexState = "decimalFraction";
2725 - return;
2726 - }
2727 - return newToken("numeric", sign * Number(buffer));
2728 - },
2729 - decimalFraction() {
2730 - switch (c) {
2731 - case "e":
2732 - case "E":
2733 - buffer += read();
2734 - lexState = "decimalExponent";
2735 - return;
2736 - }
2737 - if (util.isDigit(c)) {
2738 - buffer += read();
2739 - return;
2740 - }
2741 - return newToken("numeric", sign * Number(buffer));
2742 - },
2743 - decimalExponent() {
2744 - switch (c) {
2745 - case "+":
2746 - case "-":
2747 - buffer += read();
2748 - lexState = "decimalExponentSign";
2749 - return;
2750 - }
2751 - if (util.isDigit(c)) {
2752 - buffer += read();
2753 - lexState = "decimalExponentInteger";
2754 - return;
2755 - }
2756 - throw invalidChar(read());
2757 - },
2758 - decimalExponentSign() {
2759 - if (util.isDigit(c)) {
2760 - buffer += read();
2761 - lexState = "decimalExponentInteger";
2762 - return;
2763 - }
2764 - throw invalidChar(read());
2765 - },
2766 - decimalExponentInteger() {
2767 - if (util.isDigit(c)) {
2768 - buffer += read();
2769 - return;
2770 - }
2771 - return newToken("numeric", sign * Number(buffer));
2772 - },
2773 - hexadecimal() {
2774 - if (util.isHexDigit(c)) {
2775 - buffer += read();
2776 - lexState = "hexadecimalInteger";
2777 - return;
2778 - }
2779 - throw invalidChar(read());
2780 - },
2781 - hexadecimalInteger() {
2782 - if (util.isHexDigit(c)) {
2783 - buffer += read();
2784 - return;
2785 - }
2786 - return newToken("numeric", sign * Number(buffer));
2787 - },
2788 - string() {
2789 - switch (c) {
2790 - case "\\":
2791 - read();
2792 - buffer += escape();
2793 - return;
2794 - case '"':
2795 - if (doubleQuote) {
2796 - read();
2797 - return newToken("string", buffer);
2798 - }
2799 - buffer += read();
2800 - return;
2801 - case "'":
2802 - if (!doubleQuote) {
2803 - read();
2804 - return newToken("string", buffer);
2805 - }
2806 - buffer += read();
2807 - return;
2808 - case "\n":
2809 - case "\r":
2810 - throw invalidChar(read());
2811 - case "\u2028":
2812 - case "\u2029":
2813 - separatorChar(c);
2814 - break;
2815 - case void 0:
2816 - throw invalidChar(read());
2817 - }
2818 - buffer += read();
2819 - },
2820 - start() {
2821 - switch (c) {
2822 - case "{":
2823 - case "[":
2824 - return newToken("punctuator", read());
2825 - }
2826 - lexState = "value";
2827 - },
2828 - beforePropertyName() {
2829 - switch (c) {
2830 - case "$":
2831 - case "_":
2832 - buffer = read();
2833 - lexState = "identifierName";
2834 - return;
2835 - case "\\":
2836 - read();
2837 - lexState = "identifierNameStartEscape";
2838 - return;
2839 - case "}":
2840 - return newToken("punctuator", read());
2841 - case '"':
2842 - case "'":
2843 - doubleQuote = read() === '"';
2844 - lexState = "string";
2845 - return;
2846 - }
2847 - if (util.isIdStartChar(c)) {
2848 - buffer += read();
2849 - lexState = "identifierName";
2850 - return;
2851 - }
2852 - throw invalidChar(read());
2853 - },
2854 - afterPropertyName() {
2855 - if (c === ":") {
2856 - return newToken("punctuator", read());
2857 - }
2858 - throw invalidChar(read());
2859 - },
2860 - beforePropertyValue() {
2861 - lexState = "value";
2862 - },
2863 - afterPropertyValue() {
2864 - switch (c) {
2865 - case ",":
2866 - case "}":
2867 - return newToken("punctuator", read());
2868 - }
2869 - throw invalidChar(read());
2870 - },
2871 - beforeArrayValue() {
2872 - if (c === "]") {
2873 - return newToken("punctuator", read());
2874 - }
2875 - lexState = "value";
2876 - },
2877 - afterArrayValue() {
2878 - switch (c) {
2879 - case ",":
2880 - case "]":
2881 - return newToken("punctuator", read());
2882 - }
2883 - throw invalidChar(read());
2884 - },
2885 - end() {
2886 - throw invalidChar(read());
2887 - }
2888 - };
2889 - function newToken(type, value) {
2890 - return {
2891 - type,
2892 - value,
2893 - line,
2894 - column
2895 - };
2896 - }
2897 - function literal(s) {
2898 - for (const c2 of s) {
2899 - const p = peek();
2900 - if (p !== c2) {
2901 - throw invalidChar(read());
2902 - }
2903 - read();
2904 - }
2905 - }
2906 - function escape() {
2907 - const c2 = peek();
2908 - switch (c2) {
2909 - case "b":
2910 - read();
2911 - return "\b";
2912 - case "f":
2913 - read();
2914 - return "\f";
2915 - case "n":
2916 - read();
2917 - return "\n";
2918 - case "r":
2919 - read();
2920 - return "\r";
2921 - case "t":
2922 - read();
2923 - return " ";
2924 - case "v":
2925 - read();
2926 - return "\v";
2927 - case "0":
2928 - read();
2929 - if (util.isDigit(peek())) {
2930 - throw invalidChar(read());
2931 - }
2932 - return "\0";
2933 - case "x":
2934 - read();
2935 - return hexEscape();
2936 - case "u":
2937 - read();
2938 - return unicodeEscape();
2939 - case "\n":
2940 - case "\u2028":
2941 - case "\u2029":
2942 - read();
2943 - return "";
2944 - case "\r":
2945 - read();
2946 - if (peek() === "\n") {
2947 - read();
2948 - }
2949 - return "";
2950 - case "1":
2951 - case "2":
2952 - case "3":
2953 - case "4":
2954 - case "5":
2955 - case "6":
2956 - case "7":
2957 - case "8":
2958 - case "9":
2959 - throw invalidChar(read());
2960 - case void 0:
2961 - throw invalidChar(read());
2962 - }
2963 - return read();
2964 - }
2965 - function hexEscape() {
2966 - let buffer2 = "";
2967 - let c2 = peek();
2968 - if (!util.isHexDigit(c2)) {
2969 - throw invalidChar(read());
2970 - }
2971 - buffer2 += read();
2972 - c2 = peek();
2973 - if (!util.isHexDigit(c2)) {
2974 - throw invalidChar(read());
2975 - }
2976 - buffer2 += read();
2977 - return String.fromCodePoint(parseInt(buffer2, 16));
2978 - }
2979 - function unicodeEscape() {
2980 - let buffer2 = "";
2981 - let count = 4;
2982 - while (count-- > 0) {
2983 - const c2 = peek();
2984 - if (!util.isHexDigit(c2)) {
2985 - throw invalidChar(read());
2986 - }
2987 - buffer2 += read();
2988 - }
2989 - return String.fromCodePoint(parseInt(buffer2, 16));
2990 - }
2991 - var parseStates = {
2992 - start() {
2993 - if (token.type === "eof") {
2994 - throw invalidEOF();
2995 - }
2996 - push();
2997 - },
2998 - beforePropertyName() {
2999 - switch (token.type) {
3000 - case "identifier":
3001 - case "string":
3002 - key = token.value;
3003 - parseState = "afterPropertyName";
3004 - return;
3005 - case "punctuator":
3006 - pop();
3007 - return;
3008 - case "eof":
3009 - throw invalidEOF();
3010 - }
3011 - },
3012 - afterPropertyName() {
3013 - if (token.type === "eof") {
3014 - throw invalidEOF();
3015 - }
3016 - parseState = "beforePropertyValue";
3017 - },
3018 - beforePropertyValue() {
3019 - if (token.type === "eof") {
3020 - throw invalidEOF();
3021 - }
3022 - push();
3023 - },
3024 - beforeArrayValue() {
3025 - if (token.type === "eof") {
3026 - throw invalidEOF();
3027 - }
3028 - if (token.type === "punctuator" && token.value === "]") {
3029 - pop();
3030 - return;
3031 - }
3032 - push();
3033 - },
3034 - afterPropertyValue() {
3035 - if (token.type === "eof") {
3036 - throw invalidEOF();
3037 - }
3038 - switch (token.value) {
3039 - case ",":
3040 - parseState = "beforePropertyName";
3041 - return;
3042 - case "}":
3043 - pop();
3044 - }
3045 - },
3046 - afterArrayValue() {
3047 - if (token.type === "eof") {
3048 - throw invalidEOF();
3049 - }
3050 - switch (token.value) {
3051 - case ",":
3052 - parseState = "beforeArrayValue";
3053 - return;
3054 - case "]":
3055 - pop();
3056 - }
3057 - },
3058 - end() {
3059 - }
3060 - };
3061 - function push() {
3062 - let value;
3063 - switch (token.type) {
3064 - case "punctuator":
3065 - switch (token.value) {
3066 - case "{":
3067 - value = {};
3068 - break;
3069 - case "[":
3070 - value = [];
3071 - break;
3072 - }
3073 - break;
3074 - case "null":
3075 - case "boolean":
3076 - case "numeric":
3077 - case "string":
3078 - value = token.value;
3079 - break;
3080 - }
3081 - if (root === void 0) {
3082 - root = value;
3083 - } else {
3084 - const parent = stack[stack.length - 1];
3085 - if (Array.isArray(parent)) {
3086 - parent.push(value);
3087 - } else {
3088 - Object.defineProperty(parent, key, {
3089 - value,
3090 - writable: true,
3091 - enumerable: true,
3092 - configurable: true
3093 - });
3094 - }
3095 - }
3096 - if (value !== null && typeof value === "object") {
3097 - stack.push(value);
3098 - if (Array.isArray(value)) {
3099 - parseState = "beforeArrayValue";
3100 - } else {
3101 - parseState = "beforePropertyName";
3102 - }
3103 - } else {
3104 - const current = stack[stack.length - 1];
3105 - if (current == null) {
3106 - parseState = "end";
3107 - } else if (Array.isArray(current)) {
3108 - parseState = "afterArrayValue";
3109 - } else {
3110 - parseState = "afterPropertyValue";
3111 - }
3112 - }
3113 - }
3114 - function pop() {
3115 - stack.pop();
3116 - const current = stack[stack.length - 1];
3117 - if (current == null) {
3118 - parseState = "end";
3119 - } else if (Array.isArray(current)) {
3120 - parseState = "afterArrayValue";
3121 - } else {
3122 - parseState = "afterPropertyValue";
3123 - }
3124 - }
3125 - function invalidChar(c2) {
3126 - if (c2 === void 0) {
3127 - return syntaxError(`JSON5: invalid end of input at ${line}:${column}`);
3128 - }
3129 - return syntaxError(`JSON5: invalid character '${formatChar(c2)}' at ${line}:${column}`);
3130 - }
3131 - function invalidEOF() {
3132 - return syntaxError(`JSON5: invalid end of input at ${line}:${column}`);
3133 - }
3134 - function invalidIdentifier() {
3135 - column -= 5;
3136 - return syntaxError(`JSON5: invalid identifier character at ${line}:${column}`);
3137 - }
3138 - function separatorChar(c2) {
3139 - console.warn(`JSON5: '${formatChar(c2)}' in strings is not valid ECMAScript; consider escaping`);
3140 - }
3141 - function formatChar(c2) {
3142 - const replacements = {
3143 - "'": "\\'",
3144 - '"': '\\"',
3145 - "\\": "\\\\",
3146 - "\b": "\\b",
3147 - "\f": "\\f",
3148 - "\n": "\\n",
3149 - "\r": "\\r",
3150 - " ": "\\t",
3151 - "\v": "\\v",
3152 - "\0": "\\0",
3153 - "\u2028": "\\u2028",
3154 - "\u2029": "\\u2029"
3155 - };
3156 - if (replacements[c2]) {
3157 - return replacements[c2];
3158 - }
3159 - if (c2 < " ") {
3160 - const hexString = c2.charCodeAt(0).toString(16);
3161 - return "\\x" + ("00" + hexString).substring(hexString.length);
3162 - }
3163 - return c2;
3164 - }
3165 - function syntaxError(message) {
3166 - const err = new SyntaxError(message);
3167 - err.lineNumber = line;
3168 - err.columnNumber = column;
3169 - return err;
3170 - }
3171 - }
3172 -});
3173 -
3174 -// node_modules/json5/lib/stringify.js
3175 -var require_stringify = __commonJS({
3176 - "node_modules/json5/lib/stringify.js"(exports2, module2) {
3177 - var util = require_util2();
3178 - module2.exports = function stringify(value, replacer, space) {
3179 - const stack = [];
3180 - let indent = "";
3181 - let propertyList;
3182 - let replacerFunc;
3183 - let gap = "";
3184 - let quote;
3185 - if (replacer != null && typeof replacer === "object" && !Array.isArray(replacer)) {
3186 - space = replacer.space;
3187 - quote = replacer.quote;
3188 - replacer = replacer.replacer;
3189 - }
3190 - if (typeof replacer === "function") {
3191 - replacerFunc = replacer;
3192 - } else if (Array.isArray(replacer)) {
3193 - propertyList = [];
3194 - for (const v of replacer) {
3195 - let item;
3196 - if (typeof v === "string") {
3197 - item = v;
3198 - } else if (typeof v === "number" || v instanceof String || v instanceof Number) {
3199 - item = String(v);
3200 - }
3201 - if (item !== void 0 && propertyList.indexOf(item) < 0) {
3202 - propertyList.push(item);
3203 - }
3204 - }
3205 - }
3206 - if (space instanceof Number) {
3207 - space = Number(space);
3208 - } else if (space instanceof String) {
3209 - space = String(space);
3210 - }
3211 - if (typeof space === "number") {
3212 - if (space > 0) {
3213 - space = Math.min(10, Math.floor(space));
3214 - gap = " ".substr(0, space);
3215 - }
3216 - } else if (typeof space === "string") {
3217 - gap = space.substr(0, 10);
3218 - }
3219 - return serializeProperty("", { "": value });
3220 - function serializeProperty(key, holder) {
3221 - let value2 = holder[key];
3222 - if (value2 != null) {
3223 - if (typeof value2.toJSON5 === "function") {
3224 - value2 = value2.toJSON5(key);
3225 - } else if (typeof value2.toJSON === "function") {
3226 - value2 = value2.toJSON(key);
3227 - }
3228 - }
3229 - if (replacerFunc) {
3230 - value2 = replacerFunc.call(holder, key, value2);
3231 - }
3232 - if (value2 instanceof Number) {
3233 - value2 = Number(value2);
3234 - } else if (value2 instanceof String) {
3235 - value2 = String(value2);
3236 - } else if (value2 instanceof Boolean) {
3237 - value2 = value2.valueOf();
3238 - }
3239 - switch (value2) {
3240 - case null:
3241 - return "null";
3242 - case true:
3243 - return "true";
3244 - case false:
3245 - return "false";
3246 - }
3247 - if (typeof value2 === "string") {
3248 - return quoteString(value2, false);
3249 - }
3250 - if (typeof value2 === "number") {
3251 - return String(value2);
3252 - }
3253 - if (typeof value2 === "object") {
3254 - return Array.isArray(value2) ? serializeArray(value2) : serializeObject(value2);
3255 - }
3256 - return void 0;
3257 - }
3258 - function quoteString(value2) {
3259 - const quotes = {
3260 - "'": 0.1,
3261 - '"': 0.2
3262 - };
3263 - const replacements = {
3264 - "'": "\\'",
3265 - '"': '\\"',
3266 - "\\": "\\\\",
3267 - "\b": "\\b",
3268 - "\f": "\\f",
3269 - "\n": "\\n",
3270 - "\r": "\\r",
3271 - " ": "\\t",
3272 - "\v": "\\v",
3273 - "\0": "\\0",
3274 - "\u2028": "\\u2028",
3275 - "\u2029": "\\u2029"
3276 - };
3277 - let product = "";
3278 - for (let i = 0; i < value2.length; i++) {
3279 - const c = value2[i];
3280 - switch (c) {
3281 - case "'":
3282 - case '"':
3283 - quotes[c]++;
3284 - product += c;
3285 - continue;
3286 - case "\0":
3287 - if (util.isDigit(value2[i + 1])) {
3288 - product += "\\x00";
3289 - continue;
3290 - }
3291 - }
3292 - if (replacements[c]) {
3293 - product += replacements[c];
3294 - continue;
3295 - }
3296 - if (c < " ") {
3297 - let hexString = c.charCodeAt(0).toString(16);
3298 - product += "\\x" + ("00" + hexString).substring(hexString.length);
3299 - continue;
3300 - }
3301 - product += c;
3302 - }
3303 - const quoteChar = quote || Object.keys(quotes).reduce((a, b) => quotes[a] < quotes[b] ? a : b);
3304 - product = product.replace(new RegExp(quoteChar, "g"), replacements[quoteChar]);
3305 - return quoteChar + product + quoteChar;
3306 - }
3307 - function serializeObject(value2) {
3308 - if (stack.indexOf(value2) >= 0) {
3309 - throw TypeError("Converting circular structure to JSON5");
3310 - }
3311 - stack.push(value2);
3312 - let stepback = indent;
3313 - indent = indent + gap;
3314 - let keys = propertyList || Object.keys(value2);
3315 - let partial = [];
3316 - for (const key of keys) {
3317 - const propertyString = serializeProperty(key, value2);
3318 - if (propertyString !== void 0) {
3319 - let member = serializeKey(key) + ":";
3320 - if (gap !== "") {
3321 - member += " ";
3322 - }
3323 - member += propertyString;
3324 - partial.push(member);
3325 - }
3326 - }
3327 - let final;
3328 - if (partial.length === 0) {
3329 - final = "{}";
3330 - } else {
3331 - let properties;
3332 - if (gap === "") {
3333 - properties = partial.join(",");
3334 - final = "{" + properties + "}";
3335 - } else {
3336 - let separator = ",\n" + indent;
3337 - properties = partial.join(separator);
3338 - final = "{\n" + indent + properties + ",\n" + stepback + "}";
3339 - }
3340 - }
3341 - stack.pop();
3342 - indent = stepback;
3343 - return final;
3344 - }
3345 - function serializeKey(key) {
3346 - if (key.length === 0) {
3347 - return quoteString(key, true);
3348 - }
3349 - const firstChar = String.fromCodePoint(key.codePointAt(0));
3350 - if (!util.isIdStartChar(firstChar)) {
3351 - return quoteString(key, true);
3352 - }
3353 - for (let i = firstChar.length; i < key.length; i++) {
3354 - if (!util.isIdContinueChar(String.fromCodePoint(key.codePointAt(i)))) {
3355 - return quoteString(key, true);
3356 - }
3357 - }
3358 - return key;
3359 - }
3360 - function serializeArray(value2) {
3361 - if (stack.indexOf(value2) >= 0) {
3362 - throw TypeError("Converting circular structure to JSON5");
3363 - }
3364 - stack.push(value2);
3365 - let stepback = indent;
3366 - indent = indent + gap;
3367 - let partial = [];
3368 - for (let i = 0; i < value2.length; i++) {
3369 - const propertyString = serializeProperty(String(i), value2);
3370 - partial.push(propertyString !== void 0 ? propertyString : "null");
3371 - }
3372 - let final;
3373 - if (partial.length === 0) {
3374 - final = "[]";
3375 - } else {
3376 - if (gap === "") {
3377 - let properties = partial.join(",");
3378 - final = "[" + properties + "]";
3379 - } else {
3380 - let separator = ",\n" + indent;
3381 - let properties = partial.join(separator);
3382 - final = "[\n" + indent + properties + ",\n" + stepback + "]";
3383 - }
3384 - }
3385 - stack.pop();
3386 - indent = stepback;
3387 - return final;
3388 - }
3389 - };
3390 - }
3391 -});
3392 -
3393 -// node_modules/json5/lib/index.js
3394 -var require_lib = __commonJS({
3395 - "node_modules/json5/lib/index.js"(exports2, module2) {
3396 - var parse = require_parse();
3397 - var stringify = require_stringify();
3398 - var JSON5 = {
3399 - parse,
3400 - stringify
3401 - };
3402 - module2.exports = JSON5;
3403 - }
3404 -});
3405 -
3406 -// node_modules/ms/index.js
3407 -var require_ms = __commonJS({
3408 - "node_modules/ms/index.js"(exports2, module2) {
3409 - var s = 1e3;
3410 - var m = s * 60;
3411 - var h = m * 60;
3412 - var d = h * 24;
3413 - var w = d * 7;
3414 - var y = d * 365.25;
3415 - module2.exports = function(val, options) {
3416 - options = options || {};
3417 - var type = typeof val;
3418 - if (type === "string" && val.length > 0) {
3419 - return parse(val);
3420 - } else if (type === "number" && isFinite(val)) {
3421 - return options.long ? fmtLong(val) : fmtShort(val);
3422 - }
3423 - throw new Error(
3424 - "val is not a non-empty string or a valid number. val=" + JSON.stringify(val)
3425 - );
3426 - };
3427 - function parse(str) {
3428 - str = String(str);
3429 - if (str.length > 100) {
3430 - return;
3431 - }
3432 - var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(
3433 - str
3434 - );
3435 - if (!match) {
3436 - return;
3437 - }
3438 - var n = parseFloat(match[1]);
3439 - var type = (match[2] || "ms").toLowerCase();
3440 - switch (type) {
3441 - case "years":
3442 - case "year":
3443 - case "yrs":
3444 - case "yr":
3445 - case "y":
3446 - return n * y;
3447 - case "weeks":
3448 - case "week":
3449 - case "w":
3450 - return n * w;
3451 - case "days":
3452 - case "day":
3453 - case "d":
3454 - return n * d;
3455 - case "hours":
3456 - case "hour":
3457 - case "hrs":
3458 - case "hr":
3459 - case "h":
3460 - return n * h;
3461 - case "minutes":
3462 - case "minute":
3463 - case "mins":
3464 - case "min":
3465 - case "m":
3466 - return n * m;
3467 - case "seconds":
3468 - case "second":
3469 - case "secs":
3470 - case "sec":
3471 - case "s":
3472 - return n * s;
3473 - case "milliseconds":
3474 - case "millisecond":
3475 - case "msecs":
3476 - case "msec":
3477 - case "ms":
3478 - return n;
3479 - default:
3480 - return void 0;
3481 - }
3482 - }
3483 - function fmtShort(ms) {
3484 - var msAbs = Math.abs(ms);
3485 - if (msAbs >= d) {
3486 - return Math.round(ms / d) + "d";
3487 - }
3488 - if (msAbs >= h) {
3489 - return Math.round(ms / h) + "h";
3490 - }
3491 - if (msAbs >= m) {
3492 - return Math.round(ms / m) + "m";
3493 - }
3494 - if (msAbs >= s) {
3495 - return Math.round(ms / s) + "s";
3496 - }
3497 - return ms + "ms";
3498 - }
3499 - function fmtLong(ms) {
3500 - var msAbs = Math.abs(ms);
3501 - if (msAbs >= d) {
3502 - return plural(ms, msAbs, d, "day");
3503 - }
3504 - if (msAbs >= h) {
3505 - return plural(ms, msAbs, h, "hour");
3506 - }
3507 - if (msAbs >= m) {
3508 - return plural(ms, msAbs, m, "minute");
3509 - }
3510 - if (msAbs >= s) {
3511 - return plural(ms, msAbs, s, "second");
3512 - }
3513 - return ms + " ms";
3514 - }
3515 - function plural(ms, msAbs, n, name) {
3516 - var isPlural = msAbs >= n * 1.5;
3517 - return Math.round(ms / n) + " " + name + (isPlural ? "s" : "");
3518 - }
3519 - }
3520 -});
3521 -
3522 -// node_modules/debug/src/common.js
3523 -var require_common = __commonJS({
3524 - "node_modules/debug/src/common.js"(exports2, module2) {
3525 - function setup(env) {
3526 - createDebug.debug = createDebug;
3527 - createDebug.default = createDebug;
3528 - createDebug.coerce = coerce;
3529 - createDebug.disable = disable;
3530 - createDebug.enable = enable;
3531 - createDebug.enabled = enabled;
3532 - createDebug.humanize = require_ms();
3533 - createDebug.destroy = destroy;
3534 - Object.keys(env).forEach((key) => {
3535 - createDebug[key] = env[key];
3536 - });
3537 - createDebug.names = [];
3538 - createDebug.skips = [];
3539 - createDebug.formatters = {};
3540 - function selectColor(namespace) {
3541 - let hash = 0;
3542 - for (let i = 0; i < namespace.length; i++) {
3543 - hash = (hash << 5) - hash + namespace.charCodeAt(i);
3544 - hash |= 0;
3545 - }
3546 - return createDebug.colors[Math.abs(hash) % createDebug.colors.length];
3547 - }
3548 - createDebug.selectColor = selectColor;
3549 - function createDebug(namespace) {
3550 - let prevTime;
3551 - let enableOverride = null;
3552 - let namespacesCache;
3553 - let enabledCache;
3554 - function debug2(...args) {
3555 - if (!debug2.enabled) {
3556 - return;
3557 - }
3558 - const self = debug2;
3559 - const curr = Number(/* @__PURE__ */ new Date());
3560 - const ms = curr - (prevTime || curr);
3561 - self.diff = ms;
3562 - self.prev = prevTime;
3563 - self.curr = curr;
3564 - prevTime = curr;
3565 - args[0] = createDebug.coerce(args[0]);
3566 - if (typeof args[0] !== "string") {
3567 - args.unshift("%O");
3568 - }
3569 - let index = 0;
3570 - args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {
3571 - if (match === "%%") {
3572 - return "%";
3573 - }
3574 - index++;
3575 - const formatter = createDebug.formatters[format];
3576 - if (typeof formatter === "function") {
3577 - const val = args[index];
3578 - match = formatter.call(self, val);
3579 - args.splice(index, 1);
3580 - index--;
3581 - }
3582 - return match;
3583 - });
3584 - createDebug.formatArgs.call(self, args);
3585 - const logFn = self.log || createDebug.log;
3586 - logFn.apply(self, args);
3587 - }
3588 - debug2.namespace = namespace;
3589 - debug2.useColors = createDebug.useColors();
3590 - debug2.color = createDebug.selectColor(namespace);
3591 - debug2.extend = extend;
3592 - debug2.destroy = createDebug.destroy;
3593 - Object.defineProperty(debug2, "enabled", {
3594 - enumerable: true,
3595 - configurable: false,
3596 - get: () => {
3597 - if (enableOverride !== null) {
3598 - return enableOverride;
3599 - }
3600 - if (namespacesCache !== createDebug.namespaces) {
3601 - namespacesCache = createDebug.namespaces;
3602 - enabledCache = createDebug.enabled(namespace);
3603 - }
3604 - return enabledCache;
3605 - },
3606 - set: (v) => {
3607 - enableOverride = v;
3608 - }
3609 - });
3610 - if (typeof createDebug.init === "function") {
3611 - createDebug.init(debug2);
3612 - }
3613 - return debug2;
3614 - }
3615 - function extend(namespace, delimiter) {
3616 - const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace);
3617 - newDebug.log = this.log;
3618 - return newDebug;
3619 - }
3620 - function enable(namespaces) {
3621 - createDebug.save(namespaces);
3622 - createDebug.namespaces = namespaces;
3623 - createDebug.names = [];
3624 - createDebug.skips = [];
3625 - const split = (typeof namespaces === "string" ? namespaces : "").trim().replace(/\s+/g, ",").split(",").filter(Boolean);
3626 - for (const ns of split) {
3627 - if (ns[0] === "-") {
3628 - createDebug.skips.push(ns.slice(1));
3629 - } else {
3630 - createDebug.names.push(ns);
3631 - }
3632 - }
3633 - }
3634 - function matchesTemplate(search, template) {
3635 - let searchIndex = 0;
3636 - let templateIndex = 0;
3637 - let starIndex = -1;
3638 - let matchIndex = 0;
3639 - while (searchIndex < search.length) {
3640 - if (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === "*")) {
3641 - if (template[templateIndex] === "*") {
3642 - starIndex = templateIndex;
3643 - matchIndex = searchIndex;
3644 - templateIndex++;
3645 - } else {
3646 - searchIndex++;
3647 - templateIndex++;
3648 - }
3649 - } else if (starIndex !== -1) {
3650 - templateIndex = starIndex + 1;
3651 - matchIndex++;
3652 - searchIndex = matchIndex;
3653 - } else {
3654 - return false;
3655 - }
3656 - }
3657 - while (templateIndex < template.length && template[templateIndex] === "*") {
3658 - templateIndex++;
3659 - }
3660 - return templateIndex === template.length;
3661 - }
3662 - function disable() {
3663 - const namespaces = [
3664 - ...createDebug.names,
3665 - ...createDebug.skips.map((namespace) => "-" + namespace)
3666 - ].join(",");
3667 - createDebug.enable("");
3668 - return namespaces;
3669 - }
3670 - function enabled(name) {
3671 - for (const skip of createDebug.skips) {
3672 - if (matchesTemplate(name, skip)) {
3673 - return false;
3674 - }
3675 - }
3676 - for (const ns of createDebug.names) {
3677 - if (matchesTemplate(name, ns)) {
3678 - return true;
3679 - }
3680 - }
3681 - return false;
3682 - }
3683 - function coerce(val) {
3684 - if (val instanceof Error) {
3685 - return val.stack || val.message;
3686 - }
3687 - return val;
3688 - }
3689 - function destroy() {
3690 - console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
3691 - }
3692 - createDebug.enable(createDebug.load());
3693 - return createDebug;
3694 - }
3695 - module2.exports = setup;
3696 - }
3697 -});
3698 -
3699 -// node_modules/debug/src/browser.js
3700 -var require_browser = __commonJS({
3701 - "node_modules/debug/src/browser.js"(exports2, module2) {
3702 - exports2.formatArgs = formatArgs;
3703 - exports2.save = save;
3704 - exports2.load = load2;
3705 - exports2.useColors = useColors;
3706 - exports2.storage = localstorage();
3707 - exports2.destroy = /* @__PURE__ */ (() => {
3708 - let warned = false;
3709 - return () => {
3710 - if (!warned) {
3711 - warned = true;
3712 - console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
3713 - }
3714 - };
3715 - })();
3716 - exports2.colors = [
3717 - "#0000CC",
3718 - "#0000FF",
3719 - "#0033CC",
3720 - "#0033FF",
3721 - "#0066CC",
3722 - "#0066FF",
3723 - "#0099CC",
3724 - "#0099FF",
3725 - "#00CC00",
3726 - "#00CC33",
3727 - "#00CC66",
3728 - "#00CC99",
3729 - "#00CCCC",
3730 - "#00CCFF",
3731 - "#3300CC",
3732 - "#3300FF",
3733 - "#3333CC",
3734 - "#3333FF",
3735 - "#3366CC",
3736 - "#3366FF",
3737 - "#3399CC",
3738 - "#3399FF",
3739 - "#33CC00",
3740 - "#33CC33",
3741 - "#33CC66",
3742 - "#33CC99",
3743 - "#33CCCC",
3744 - "#33CCFF",
3745 - "#6600CC",
3746 - "#6600FF",
3747 - "#6633CC",
3748 - "#6633FF",
3749 - "#66CC00",
3750 - "#66CC33",
3751 - "#9900CC",
3752 - "#9900FF",
3753 - "#9933CC",
3754 - "#9933FF",
3755 - "#99CC00",
3756 - "#99CC33",
3757 - "#CC0000",
3758 - "#CC0033",
3759 - "#CC0066",
3760 - "#CC0099",
3761 - "#CC00CC",
3762 - "#CC00FF",
3763 - "#CC3300",
3764 - "#CC3333",
3765 - "#CC3366",
3766 - "#CC3399",
3767 - "#CC33CC",
3768 - "#CC33FF",
3769 - "#CC6600",
3770 - "#CC6633",
3771 - "#CC9900",
3772 - "#CC9933",
3773 - "#CCCC00",
3774 - "#CCCC33",
3775 - "#FF0000",
3776 - "#FF0033",
3777 - "#FF0066",
3778 - "#FF0099",
3779 - "#FF00CC",
3780 - "#FF00FF",
3781 - "#FF3300",
3782 - "#FF3333",
3783 - "#FF3366",
3784 - "#FF3399",
3785 - "#FF33CC",
3786 - "#FF33FF",
3787 - "#FF6600",
3788 - "#FF6633",
3789 - "#FF9900",
3790 - "#FF9933",
3791 - "#FFCC00",
3792 - "#FFCC33"
3793 - ];
3794 - function useColors() {
3795 - if (typeof window !== "undefined" && window.process && (window.process.type === "renderer" || window.process.__nwjs)) {
3796 - return true;
3797 - }
3798 - if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
3799 - return false;
3800 - }
3801 - let m;
3802 - return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // Is firebug? http://stackoverflow.com/a/398120/376773
3803 - typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31?
3804 - // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
3805 - typeof navigator !== "undefined" && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) && parseInt(m[1], 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker
3806 - typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);
3807 - }
3808 - function formatArgs(args) {
3809 - args[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args[0] + (this.useColors ? "%c " : " ") + "+" + module2.exports.humanize(this.diff);
3810 - if (!this.useColors) {
3811 - return;
3812 - }
3813 - const c = "color: " + this.color;
3814 - args.splice(1, 0, c, "color: inherit");
3815 - let index = 0;
3816 - let lastC = 0;
3817 - args[0].replace(/%[a-zA-Z%]/g, (match) => {
3818 - if (match === "%%") {
3819 - return;
3820 - }
3821 - index++;
3822 - if (match === "%c") {
3823 - lastC = index;
3824 - }
3825 - });
3826 - args.splice(lastC, 0, c);
3827 - }
3828 - exports2.log = console.debug || console.log || (() => {
3829 - });
3830 - function save(namespaces) {
3831 - try {
3832 - if (namespaces) {
3833 - exports2.storage.setItem("debug", namespaces);
3834 - } else {
3835 - exports2.storage.removeItem("debug");
3836 - }
3837 - } catch (error) {
3838 - }
3839 - }
3840 - function load2() {
3841 - let r;
3842 - try {
3843 - r = exports2.storage.getItem("debug") || exports2.storage.getItem("DEBUG");
3844 - } catch (error) {
3845 - }
3846 - if (!r && typeof process !== "undefined" && "env" in process) {
3847 - r = process.env.DEBUG;
3848 - }
3849 - return r;
3850 - }
3851 - function localstorage() {
3852 - try {
3853 - return localStorage;
3854 - } catch (error) {
3855 - }
3856 - }
3857 - module2.exports = require_common()(exports2);
3858 - var { formatters } = module2.exports;
3859 - formatters.j = function(v) {
3860 - try {
3861 - return JSON.stringify(v);
3862 - } catch (error) {
3863 - return "[UnexpectedJSONParseError]: " + error.message;
3864 - }
3865 - };
3866 - }
3867 -});
3868 -
3869 -// node_modules/has-flag/index.js
3870 -var require_has_flag = __commonJS({
3871 - "node_modules/has-flag/index.js"(exports2, module2) {
3872 - "use strict";
3873 - module2.exports = (flag, argv = process.argv) => {
3874 - const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
3875 - const position = argv.indexOf(prefix + flag);
3876 - const terminatorPosition = argv.indexOf("--");
3877 - return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
3878 - };
3879 - }
3880 -});
3881 -
3882 -// node_modules/supports-color/index.js
3883 -var require_supports_color = __commonJS({
3884 - "node_modules/supports-color/index.js"(exports2, module2) {
3885 - "use strict";
3886 - var os2 = require("os");
3887 - var tty = require("tty");
3888 - var hasFlag = require_has_flag();
3889 - var { env } = process;
3890 - var flagForceColor;
3891 - if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
3892 - flagForceColor = 0;
3893 - } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
3894 - flagForceColor = 1;
3895 - }
3896 - function envForceColor() {
3897 - if ("FORCE_COLOR" in env) {
3898 - if (env.FORCE_COLOR === "true") {
3899 - return 1;
3900 - }
3901 - if (env.FORCE_COLOR === "false") {
3902 - return 0;
3903 - }
3904 - return env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);
3905 - }
3906 - }
3907 - function translateLevel(level) {
3908 - if (level === 0) {
3909 - return false;
3910 - }
3911 - return {
3912 - level,
3913 - hasBasic: true,
3914 - has256: level >= 2,
3915 - has16m: level >= 3
3916 - };
3917 - }
3918 - function supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
3919 - const noFlagForceColor = envForceColor();
3920 - if (noFlagForceColor !== void 0) {
3921 - flagForceColor = noFlagForceColor;
3922 - }
3923 - const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
3924 - if (forceColor === 0) {
3925 - return 0;
3926 - }
3927 - if (sniffFlags) {
3928 - if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
3929 - return 3;
3930 - }
3931 - if (hasFlag("color=256")) {
3932 - return 2;
3933 - }
3934 - }
3935 - if (haveStream && !streamIsTTY && forceColor === void 0) {
3936 - return 0;
3937 - }
3938 - const min = forceColor || 0;
3939 - if (env.TERM === "dumb") {
3940 - return min;
3941 - }
3942 - if (process.platform === "win32") {
3943 - const osRelease = os2.release().split(".");
3944 - if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
3945 - return Number(osRelease[2]) >= 14931 ? 3 : 2;
3946 - }
3947 - return 1;
3948 - }
3949 - if ("CI" in env) {
3950 - if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "GITHUB_ACTIONS", "BUILDKITE", "DRONE"].some((sign) => sign in env) || env.CI_NAME === "codeship") {
3951 - return 1;
3952 - }
3953 - return min;
3954 - }
3955 - if ("TEAMCITY_VERSION" in env) {
3956 - return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
3957 - }
3958 - if (env.COLORTERM === "truecolor") {
3959 - return 3;
3960 - }
3961 - if ("TERM_PROGRAM" in env) {
3962 - const version2 = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
3963 - switch (env.TERM_PROGRAM) {
3964 - case "iTerm.app":
3965 - return version2 >= 3 ? 3 : 2;
3966 - case "Apple_Terminal":
3967 - return 2;
3968 - }
3969 - }
3970 - if (/-256(color)?$/i.test(env.TERM)) {
3971 - return 2;
3972 - }
3973 - if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
3974 - return 1;
3975 - }
3976 - if ("COLORTERM" in env) {
3977 - return 1;
3978 - }
3979 - return min;
3980 - }
3981 - function getSupportLevel(stream, options = {}) {
3982 - const level = supportsColor(stream, {
3983 - streamIsTTY: stream && stream.isTTY,
3984 - ...options
3985 - });
3986 - return translateLevel(level);
3987 - }
3988 - module2.exports = {
3989 - supportsColor: getSupportLevel,
3990 - stdout: getSupportLevel({ isTTY: tty.isatty(1) }),
3991 - stderr: getSupportLevel({ isTTY: tty.isatty(2) })
3992 - };
3993 - }
3994 -});
3995 -
3996 -// node_modules/debug/src/node.js
3997 -var require_node = __commonJS({
3998 - "node_modules/debug/src/node.js"(exports2, module2) {
3999 - var tty = require("tty");
4000 - var util = require("util");
4001 - exports2.init = init;
4002 - exports2.log = log;
4003 - exports2.formatArgs = formatArgs;
4004 - exports2.save = save;
4005 - exports2.load = load2;
4006 - exports2.useColors = useColors;
4007 - exports2.destroy = util.deprecate(
4008 - () => {
4009 - },
4010 - "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."
4011 - );
4012 - exports2.colors = [6, 2, 3, 4, 5, 1];
4013 - try {
4014 - const supportsColor = require_supports_color();
4015 - if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {
4016 - exports2.colors = [
4017 - 20,
4018 - 21,
4019 - 26,
4020 - 27,
4021 - 32,
4022 - 33,
4023 - 38,
4024 - 39,
4025 - 40,
4026 - 41,
4027 - 42,
4028 - 43,
4029 - 44,
4030 - 45,
4031 - 56,
4032 - 57,
4033 - 62,
4034 - 63,
4035 - 68,
4036 - 69,
4037 - 74,
4038 - 75,
4039 - 76,
4040 - 77,
4041 - 78,
4042 - 79,
4043 - 80,
4044 - 81,
4045 - 92,
4046 - 93,
4047 - 98,
4048 - 99,
4049 - 112,
4050 - 113,
4051 - 128,
4052 - 129,
4053 - 134,
4054 - 135,
4055 - 148,
4056 - 149,
4057 - 160,
4058 - 161,
4059 - 162,
4060 - 163,
4061 - 164,
4062 - 165,
4063 - 166,
4064 - 167,
4065 - 168,
4066 - 169,
4067 - 170,
4068 - 171,
4069 - 172,
4070 - 173,
4071 - 178,
4072 - 179,
4073 - 184,
4074 - 185,
4075 - 196,
4076 - 197,
4077 - 198,
4078 - 199,
4079 - 200,
4080 - 201,
4081 - 202,
4082 - 203,
4083 - 204,
4084 - 205,
4085 - 206,
4086 - 207,
4087 - 208,
4088 - 209,
4089 - 214,
4090 - 215,
4091 - 220,
4092 - 221
4093 - ];
4094 - }
4095 - } catch (error) {
4096 - }
4097 - exports2.inspectOpts = Object.keys(process.env).filter((key) => {
4098 - return /^debug_/i.test(key);
4099 - }).reduce((obj, key) => {
4100 - const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_, k) => {
4101 - return k.toUpperCase();
4102 - });
4103 - let val = process.env[key];
4104 - if (/^(yes|on|true|enabled)$/i.test(val)) {
4105 - val = true;
4106 - } else if (/^(no|off|false|disabled)$/i.test(val)) {
4107 - val = false;
4108 - } else if (val === "null") {
4109 - val = null;
4110 - } else {
4111 - val = Number(val);
4112 - }
4113 - obj[prop] = val;
4114 - return obj;
4115 - }, {});
4116 - function useColors() {
4117 - return "colors" in exports2.inspectOpts ? Boolean(exports2.inspectOpts.colors) : tty.isatty(process.stderr.fd);
4118 - }
4119 - function formatArgs(args) {
4120 - const { namespace: name, useColors: useColors2 } = this;
4121 - if (useColors2) {
4122 - const c = this.color;
4123 - const colorCode = "\x1B[3" + (c < 8 ? c : "8;5;" + c);
4124 - const prefix = ` ${colorCode};1m${name} \x1B[0m`;
4125 - args[0] = prefix + args[0].split("\n").join("\n" + prefix);
4126 - args.push(colorCode + "m+" + module2.exports.humanize(this.diff) + "\x1B[0m");
4127 - } else {
4128 - args[0] = getDate() + name + " " + args[0];
4129 - }
4130 - }
4131 - function getDate() {
4132 - if (exports2.inspectOpts.hideDate) {
4133 - return "";
4134 - }
4135 - return (/* @__PURE__ */ new Date()).toISOString() + " ";
4136 - }
4137 - function log(...args) {
4138 - return process.stderr.write(util.formatWithOptions(exports2.inspectOpts, ...args) + "\n");
4139 - }
4140 - function save(namespaces) {
4141 - if (namespaces) {
4142 - process.env.DEBUG = namespaces;
4143 - } else {
4144 - delete process.env.DEBUG;
4145 - }
4146 - }
4147 - function load2() {
4148 - return process.env.DEBUG;
4149 - }
4150 - function init(debug2) {
4151 - debug2.inspectOpts = {};
4152 - const keys = Object.keys(exports2.inspectOpts);
4153 - for (let i = 0; i < keys.length; i++) {
4154 - debug2.inspectOpts[keys[i]] = exports2.inspectOpts[keys[i]];
4155 - }
4156 - }
4157 - module2.exports = require_common()(exports2);
4158 - var { formatters } = module2.exports;
4159 - formatters.o = function(v) {
4160 - this.inspectOpts.colors = this.useColors;
4161 - return util.inspect(v, this.inspectOpts).split("\n").map((str) => str.trim()).join(" ");
4162 - };
4163 - formatters.O = function(v) {
4164 - this.inspectOpts.colors = this.useColors;
4165 - return util.inspect(v, this.inspectOpts);
4166 - };
4167 - }
4168 -});
4169 -
4170 -// node_modules/debug/src/index.js
4171 -var require_src = __commonJS({
4172 - "node_modules/debug/src/index.js"(exports2, module2) {
4173 - if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) {
4174 - module2.exports = require_browser();
4175 - } else {
4176 - module2.exports = require_node();
4177 - }
4178 - }
4179 -});
4180 -
4181 -// node_modules/mime/Mime.js
4182 -var require_Mime = __commonJS({
4183 - "node_modules/mime/Mime.js"(exports2, module2) {
4184 - "use strict";
4185 - function Mime() {
4186 - this._types = /* @__PURE__ */ Object.create(null);
4187 - this._extensions = /* @__PURE__ */ Object.create(null);
4188 - for (let i = 0; i < arguments.length; i++) {
4189 - this.define(arguments[i]);
4190 - }
4191 - this.define = this.define.bind(this);
4192 - this.getType = this.getType.bind(this);
4193 - this.getExtension = this.getExtension.bind(this);
4194 - }
4195 - Mime.prototype.define = function(typeMap, force) {
4196 - for (let type in typeMap) {
4197 - let extensions = typeMap[type].map(function(t) {
4198 - return t.toLowerCase();
4199 - });
4200 - type = type.toLowerCase();
4201 - for (let i = 0; i < extensions.length; i++) {
4202 - const ext = extensions[i];
4203 - if (ext[0] === "*") {
4204 - continue;
4205 - }
4206 - if (!force && ext in this._types) {
4207 - throw new Error(
4208 - 'Attempt to change mapping for "' + ext + '" extension from "' + this._types[ext] + '" to "' + type + '". Pass `force=true` to allow this, otherwise remove "' + ext + '" from the list of extensions for "' + type + '".'
4209 - );
4210 - }
4211 - this._types[ext] = type;
4212 - }
4213 - if (force || !this._extensions[type]) {
4214 - const ext = extensions[0];
4215 - this._extensions[type] = ext[0] !== "*" ? ext : ext.substr(1);
4216 - }
4217 - }
4218 - };
4219 - Mime.prototype.getType = function(path6) {
4220 - path6 = String(path6);
4221 - let last = path6.replace(/^.*[/\\]/, "").toLowerCase();
4222 - let ext = last.replace(/^.*\./, "").toLowerCase();
4223 - let hasPath = last.length < path6.length;
4224 - let hasDot = ext.length < last.length - 1;
4225 - return (hasDot || !hasPath) && this._types[ext] || null;
4226 - };
4227 - Mime.prototype.getExtension = function(type) {
4228 - type = /^\s*([^;\s]*)/.test(type) && RegExp.$1;
4229 - return type && this._extensions[type.toLowerCase()] || null;
4230 - };
4231 - module2.exports = Mime;
4232 - }
4233 -});
4234 -
4235 -// node_modules/mime/types/standard.js
4236 -var require_standard = __commonJS({
4237 - "node_modules/mime/types/standard.js"(exports2, module2) {
4238 - module2.exports = { "application/andrew-inset": ["ez"], "application/applixware": ["aw"], "application/atom+xml": ["atom"], "application/atomcat+xml": ["atomcat"], "application/atomdeleted+xml": ["atomdeleted"], "application/atomsvc+xml": ["atomsvc"], "application/atsc-dwd+xml": ["dwd"], "application/atsc-held+xml": ["held"], "application/atsc-rsat+xml": ["rsat"], "application/bdoc": ["bdoc"], "application/calendar+xml": ["xcs"], "application/ccxml+xml": ["ccxml"], "application/cdfx+xml": ["cdfx"], "application/cdmi-capability": ["cdmia"], "application/cdmi-container": ["cdmic"], "application/cdmi-domain": ["cdmid"], "application/cdmi-object": ["cdmio"], "application/cdmi-queue": ["cdmiq"], "application/cu-seeme": ["cu"], "application/dash+xml": ["mpd"], "application/davmount+xml": ["davmount"], "application/docbook+xml": ["dbk"], "application/dssc+der": ["dssc"], "application/dssc+xml": ["xdssc"], "application/ecmascript": ["es", "ecma"], "application/emma+xml": ["emma"], "application/emotionml+xml": ["emotionml"], "application/epub+zip": ["epub"], "application/exi": ["exi"], "application/express": ["exp"], "application/fdt+xml": ["fdt"], "application/font-tdpfr": ["pfr"], "application/geo+json": ["geojson"], "application/gml+xml": ["gml"], "application/gpx+xml": ["gpx"], "application/gxf": ["gxf"], "application/gzip": ["gz"], "application/hjson": ["hjson"], "application/hyperstudio": ["stk"], "application/inkml+xml": ["ink", "inkml"], "application/ipfix": ["ipfix"], "application/its+xml": ["its"], "application/java-archive": ["jar", "war", "ear"], "application/java-serialized-object": ["ser"], "application/java-vm": ["class"], "application/javascript": ["js", "mjs"], "application/json": ["json", "map"], "application/json5": ["json5"], "application/jsonml+json": ["jsonml"], "application/ld+json": ["jsonld"], "application/lgr+xml": ["lgr"], "application/lost+xml": ["lostxml"], "application/mac-binhex40": ["hqx"], "application/mac-compactpro": ["cpt"], "application/mads+xml": ["mads"], "application/manifest+json": ["webmanifest"], "application/marc": ["mrc"], "application/marcxml+xml": ["mrcx"], "application/mathematica": ["ma", "nb", "mb"], "application/mathml+xml": ["mathml"], "application/mbox": ["mbox"], "application/mediaservercontrol+xml": ["mscml"], "application/metalink+xml": ["metalink"], "application/metalink4+xml": ["meta4"], "application/mets+xml": ["mets"], "application/mmt-aei+xml": ["maei"], "application/mmt-usd+xml": ["musd"], "application/mods+xml": ["mods"], "application/mp21": ["m21", "mp21"], "application/mp4": ["mp4s", "m4p"], "application/msword": ["doc", "dot"], "application/mxf": ["mxf"], "application/n-quads": ["nq"], "application/n-triples": ["nt"], "application/node": ["cjs"], "application/octet-stream": ["bin", "dms", "lrf", "mar", "so", "dist", "distz", "pkg", "bpk", "dump", "elc", "deploy", "exe", "dll", "deb", "dmg", "iso", "img", "msi", "msp", "msm", "buffer"], "application/oda": ["oda"], "application/oebps-package+xml": ["opf"], "application/ogg": ["ogx"], "application/omdoc+xml": ["omdoc"], "application/onenote": ["onetoc", "onetoc2", "onetmp", "onepkg"], "application/oxps": ["oxps"], "application/p2p-overlay+xml": ["relo"], "application/patch-ops-error+xml": ["xer"], "application/pdf": ["pdf"], "application/pgp-encrypted": ["pgp"], "application/pgp-signature": ["asc", "sig"], "application/pics-rules": ["prf"], "application/pkcs10": ["p10"], "application/pkcs7-mime": ["p7m", "p7c"], "application/pkcs7-signature": ["p7s"], "application/pkcs8": ["p8"], "application/pkix-attr-cert": ["ac"], "application/pkix-cert": ["cer"], "application/pkix-crl": ["crl"], "application/pkix-pkipath": ["pkipath"], "application/pkixcmp": ["pki"], "application/pls+xml": ["pls"], "application/postscript": ["ai", "eps", "ps"], "application/provenance+xml": ["provx"], "application/pskc+xml": ["pskcxml"], "application/raml+yaml": ["raml"], "application/rdf+xml": ["rdf", "owl"], "application/reginfo+xml": ["rif"], "application/relax-ng-compact-syntax": ["rnc"], "application/resource-lists+xml": ["rl"], "application/resource-lists-diff+xml": ["rld"], "application/rls-services+xml": ["rs"], "application/route-apd+xml": ["rapd"], "application/route-s-tsid+xml": ["sls"], "application/route-usd+xml": ["rusd"], "application/rpki-ghostbusters": ["gbr"], "application/rpki-manifest": ["mft"], "application/rpki-roa": ["roa"], "application/rsd+xml": ["rsd"], "application/rss+xml": ["rss"], "application/rtf": ["rtf"], "application/sbml+xml": ["sbml"], "application/scvp-cv-request": ["scq"], "application/scvp-cv-response": ["scs"], "application/scvp-vp-request": ["spq"], "application/scvp-vp-response": ["spp"], "application/sdp": ["sdp"], "application/senml+xml": ["senmlx"], "application/sensml+xml": ["sensmlx"], "application/set-payment-initiation": ["setpay"], "application/set-registration-initiation": ["setreg"], "application/shf+xml": ["shf"], "application/sieve": ["siv", "sieve"], "application/smil+xml": ["smi", "smil"], "application/sparql-query": ["rq"], "application/sparql-results+xml": ["srx"], "application/srgs": ["gram"], "application/srgs+xml": ["grxml"], "application/sru+xml": ["sru"], "application/ssdl+xml": ["ssdl"], "application/ssml+xml": ["ssml"], "application/swid+xml": ["swidtag"], "application/tei+xml": ["tei", "teicorpus"], "application/thraud+xml": ["tfi"], "application/timestamped-data": ["tsd"], "application/toml": ["toml"], "application/trig": ["trig"], "application/ttml+xml": ["ttml"], "application/ubjson": ["ubj"], "application/urc-ressheet+xml": ["rsheet"], "application/urc-targetdesc+xml": ["td"], "application/voicexml+xml": ["vxml"], "application/wasm": ["wasm"], "application/widget": ["wgt"], "application/winhlp": ["hlp"], "application/wsdl+xml": ["wsdl"], "application/wspolicy+xml": ["wspolicy"], "application/xaml+xml": ["xaml"], "application/xcap-att+xml": ["xav"], "application/xcap-caps+xml": ["xca"], "application/xcap-diff+xml": ["xdf"], "application/xcap-el+xml": ["xel"], "application/xcap-ns+xml": ["xns"], "application/xenc+xml": ["xenc"], "application/xhtml+xml": ["xhtml", "xht"], "application/xliff+xml": ["xlf"], "application/xml": ["xml", "xsl", "xsd", "rng"], "application/xml-dtd": ["dtd"], "application/xop+xml": ["xop"], "application/xproc+xml": ["xpl"], "application/xslt+xml": ["*xsl", "xslt"], "application/xspf+xml": ["xspf"], "application/xv+xml": ["mxml", "xhvml", "xvml", "xvm"], "application/yang": ["yang"], "application/yin+xml": ["yin"], "application/zip": ["zip"], "audio/3gpp": ["*3gpp"], "audio/adpcm": ["adp"], "audio/amr": ["amr"], "audio/basic": ["au", "snd"], "audio/midi": ["mid", "midi", "kar", "rmi"], "audio/mobile-xmf": ["mxmf"], "audio/mp3": ["*mp3"], "audio/mp4": ["m4a", "mp4a"], "audio/mpeg": ["mpga", "mp2", "mp2a", "mp3", "m2a", "m3a"], "audio/ogg": ["oga", "ogg", "spx", "opus"], "audio/s3m": ["s3m"], "audio/silk": ["sil"], "audio/wav": ["wav"], "audio/wave": ["*wav"], "audio/webm": ["weba"], "audio/xm": ["xm"], "font/collection": ["ttc"], "font/otf": ["otf"], "font/ttf": ["ttf"], "font/woff": ["woff"], "font/woff2": ["woff2"], "image/aces": ["exr"], "image/apng": ["apng"], "image/avif": ["avif"], "image/bmp": ["bmp"], "image/cgm": ["cgm"], "image/dicom-rle": ["drle"], "image/emf": ["emf"], "image/fits": ["fits"], "image/g3fax": ["g3"], "image/gif": ["gif"], "image/heic": ["heic"], "image/heic-sequence": ["heics"], "image/heif": ["heif"], "image/heif-sequence": ["heifs"], "image/hej2k": ["hej2"], "image/hsj2": ["hsj2"], "image/ief": ["ief"], "image/jls": ["jls"], "image/jp2": ["jp2", "jpg2"], "image/jpeg": ["jpeg", "jpg", "jpe"], "image/jph": ["jph"], "image/jphc": ["jhc"], "image/jpm": ["jpm"], "image/jpx": ["jpx", "jpf"], "image/jxr": ["jxr"], "image/jxra": ["jxra"], "image/jxrs": ["jxrs"], "image/jxs": ["jxs"], "image/jxsc": ["jxsc"], "image/jxsi": ["jxsi"], "image/jxss": ["jxss"], "image/ktx": ["ktx"], "image/ktx2": ["ktx2"], "image/png": ["png"], "image/sgi": ["sgi"], "image/svg+xml": ["svg", "svgz"], "image/t38": ["t38"], "image/tiff": ["tif", "tiff"], "image/tiff-fx": ["tfx"], "image/webp": ["webp"], "image/wmf": ["wmf"], "message/disposition-notification": ["disposition-notification"], "message/global": ["u8msg"], "message/global-delivery-status": ["u8dsn"], "message/global-disposition-notification": ["u8mdn"], "message/global-headers": ["u8hdr"], "message/rfc822": ["eml", "mime"], "model/3mf": ["3mf"], "model/gltf+json": ["gltf"], "model/gltf-binary": ["glb"], "model/iges": ["igs", "iges"], "model/mesh": ["msh", "mesh", "silo"], "model/mtl": ["mtl"], "model/obj": ["obj"], "model/step+xml": ["stpx"], "model/step+zip": ["stpz"], "model/step-xml+zip": ["stpxz"], "model/stl": ["stl"], "model/vrml": ["wrl", "vrml"], "model/x3d+binary": ["*x3db", "x3dbz"], "model/x3d+fastinfoset": ["x3db"], "model/x3d+vrml": ["*x3dv", "x3dvz"], "model/x3d+xml": ["x3d", "x3dz"], "model/x3d-vrml": ["x3dv"], "text/cache-manifest": ["appcache", "manifest"], "text/calendar": ["ics", "ifb"], "text/coffeescript": ["coffee", "litcoffee"], "text/css": ["css"], "text/csv": ["csv"], "text/html": ["html", "htm", "shtml"], "text/jade": ["jade"], "text/jsx": ["jsx"], "text/less": ["less"], "text/markdown": ["markdown", "md"], "text/mathml": ["mml"], "text/mdx": ["mdx"], "text/n3": ["n3"], "text/plain": ["txt", "text", "conf", "def", "list", "log", "in", "ini"], "text/richtext": ["rtx"], "text/rtf": ["*rtf"], "text/sgml": ["sgml", "sgm"], "text/shex": ["shex"], "text/slim": ["slim", "slm"], "text/spdx": ["spdx"], "text/stylus": ["stylus", "styl"], "text/tab-separated-values": ["tsv"], "text/troff": ["t", "tr", "roff", "man", "me", "ms"], "text/turtle": ["ttl"], "text/uri-list": ["uri", "uris", "urls"], "text/vcard": ["vcard"], "text/vtt": ["vtt"], "text/xml": ["*xml"], "text/yaml": ["yaml", "yml"], "video/3gpp": ["3gp", "3gpp"], "video/3gpp2": ["3g2"], "video/h261": ["h261"], "video/h263": ["h263"], "video/h264": ["h264"], "video/iso.segment": ["m4s"], "video/jpeg": ["jpgv"], "video/jpm": ["*jpm", "jpgm"], "video/mj2": ["mj2", "mjp2"], "video/mp2t": ["ts"], "video/mp4": ["mp4", "mp4v", "mpg4"], "video/mpeg": ["mpeg", "mpg", "mpe", "m1v", "m2v"], "video/ogg": ["ogv"], "video/quicktime": ["qt", "mov"], "video/webm": ["webm"] };
4239 - }
4240 -});
4241 -
4242 -// node_modules/mime/types/other.js
4243 -var require_other = __commonJS({
4244 - "node_modules/mime/types/other.js"(exports2, module2) {
4245 - module2.exports = { "application/prs.cww": ["cww"], "application/vnd.1000minds.decision-model+xml": ["1km"], "application/vnd.3gpp.pic-bw-large": ["plb"], "application/vnd.3gpp.pic-bw-small": ["psb"], "application/vnd.3gpp.pic-bw-var": ["pvb"], "application/vnd.3gpp2.tcap": ["tcap"], "application/vnd.3m.post-it-notes": ["pwn"], "application/vnd.accpac.simply.aso": ["aso"], "application/vnd.accpac.simply.imp": ["imp"], "application/vnd.acucobol": ["acu"], "application/vnd.acucorp": ["atc", "acutc"], "application/vnd.adobe.air-application-installer-package+zip": ["air"], "application/vnd.adobe.formscentral.fcdt": ["fcdt"], "application/vnd.adobe.fxp": ["fxp", "fxpl"], "application/vnd.adobe.xdp+xml": ["xdp"], "application/vnd.adobe.xfdf": ["xfdf"], "application/vnd.ahead.space": ["ahead"], "application/vnd.airzip.filesecure.azf": ["azf"], "application/vnd.airzip.filesecure.azs": ["azs"], "application/vnd.amazon.ebook": ["azw"], "application/vnd.americandynamics.acc": ["acc"], "application/vnd.amiga.ami": ["ami"], "application/vnd.android.package-archive": ["apk"], "application/vnd.anser-web-certificate-issue-initiation": ["cii"], "application/vnd.anser-web-funds-transfer-initiation": ["fti"], "application/vnd.antix.game-component": ["atx"], "application/vnd.apple.installer+xml": ["mpkg"], "application/vnd.apple.keynote": ["key"], "application/vnd.apple.mpegurl": ["m3u8"], "application/vnd.apple.numbers": ["numbers"], "application/vnd.apple.pages": ["pages"], "application/vnd.apple.pkpass": ["pkpass"], "application/vnd.aristanetworks.swi": ["swi"], "application/vnd.astraea-software.iota": ["iota"], "application/vnd.audiograph": ["aep"], "application/vnd.balsamiq.bmml+xml": ["bmml"], "application/vnd.blueice.multipass": ["mpm"], "application/vnd.bmi": ["bmi"], "application/vnd.businessobjects": ["rep"], "application/vnd.chemdraw+xml": ["cdxml"], "application/vnd.chipnuts.karaoke-mmd": ["mmd"], "application/vnd.cinderella": ["cdy"], "application/vnd.citationstyles.style+xml": ["csl"], "application/vnd.claymore": ["cla"], "application/vnd.cloanto.rp9": ["rp9"], "application/vnd.clonk.c4group": ["c4g", "c4d", "c4f", "c4p", "c4u"], "application/vnd.cluetrust.cartomobile-config": ["c11amc"], "application/vnd.cluetrust.cartomobile-config-pkg": ["c11amz"], "application/vnd.commonspace": ["csp"], "application/vnd.contact.cmsg": ["cdbcmsg"], "application/vnd.cosmocaller": ["cmc"], "application/vnd.crick.clicker": ["clkx"], "application/vnd.crick.clicker.keyboard": ["clkk"], "application/vnd.crick.clicker.palette": ["clkp"], "application/vnd.crick.clicker.template": ["clkt"], "application/vnd.crick.clicker.wordbank": ["clkw"], "application/vnd.criticaltools.wbs+xml": ["wbs"], "application/vnd.ctc-posml": ["pml"], "application/vnd.cups-ppd": ["ppd"], "application/vnd.curl.car": ["car"], "application/vnd.curl.pcurl": ["pcurl"], "application/vnd.dart": ["dart"], "application/vnd.data-vision.rdz": ["rdz"], "application/vnd.dbf": ["dbf"], "application/vnd.dece.data": ["uvf", "uvvf", "uvd", "uvvd"], "application/vnd.dece.ttml+xml": ["uvt", "uvvt"], "application/vnd.dece.unspecified": ["uvx", "uvvx"], "application/vnd.dece.zip": ["uvz", "uvvz"], "application/vnd.denovo.fcselayout-link": ["fe_launch"], "application/vnd.dna": ["dna"], "application/vnd.dolby.mlp": ["mlp"], "application/vnd.dpgraph": ["dpg"], "application/vnd.dreamfactory": ["dfac"], "application/vnd.ds-keypoint": ["kpxx"], "application/vnd.dvb.ait": ["ait"], "application/vnd.dvb.service": ["svc"], "application/vnd.dynageo": ["geo"], "application/vnd.ecowin.chart": ["mag"], "application/vnd.enliven": ["nml"], "application/vnd.epson.esf": ["esf"], "application/vnd.epson.msf": ["msf"], "application/vnd.epson.quickanime": ["qam"], "application/vnd.epson.salt": ["slt"], "application/vnd.epson.ssf": ["ssf"], "application/vnd.eszigno3+xml": ["es3", "et3"], "application/vnd.ezpix-album": ["ez2"], "application/vnd.ezpix-package": ["ez3"], "application/vnd.fdf": ["fdf"], "application/vnd.fdsn.mseed": ["mseed"], "application/vnd.fdsn.seed": ["seed", "dataless"], "application/vnd.flographit": ["gph"], "application/vnd.fluxtime.clip": ["ftc"], "application/vnd.framemaker": ["fm", "frame", "maker", "book"], "application/vnd.frogans.fnc": ["fnc"], "application/vnd.frogans.ltf": ["ltf"], "application/vnd.fsc.weblaunch": ["fsc"], "application/vnd.fujitsu.oasys": ["oas"], "application/vnd.fujitsu.oasys2": ["oa2"], "application/vnd.fujitsu.oasys3": ["oa3"], "application/vnd.fujitsu.oasysgp": ["fg5"], "application/vnd.fujitsu.oasysprs": ["bh2"], "application/vnd.fujixerox.ddd": ["ddd"], "application/vnd.fujixerox.docuworks": ["xdw"], "application/vnd.fujixerox.docuworks.binder": ["xbd"], "application/vnd.fuzzysheet": ["fzs"], "application/vnd.genomatix.tuxedo": ["txd"], "application/vnd.geogebra.file": ["ggb"], "application/vnd.geogebra.tool": ["ggt"], "application/vnd.geometry-explorer": ["gex", "gre"], "application/vnd.geonext": ["gxt"], "application/vnd.geoplan": ["g2w"], "application/vnd.geospace": ["g3w"], "application/vnd.gmx": ["gmx"], "application/vnd.google-apps.document": ["gdoc"], "application/vnd.google-apps.presentation": ["gslides"], "application/vnd.google-apps.spreadsheet": ["gsheet"], "application/vnd.google-earth.kml+xml": ["kml"], "application/vnd.google-earth.kmz": ["kmz"], "application/vnd.grafeq": ["gqf", "gqs"], "application/vnd.groove-account": ["gac"], "application/vnd.groove-help": ["ghf"], "application/vnd.groove-identity-message": ["gim"], "application/vnd.groove-injector": ["grv"], "application/vnd.groove-tool-message": ["gtm"], "application/vnd.groove-tool-template": ["tpl"], "application/vnd.groove-vcard": ["vcg"], "application/vnd.hal+xml": ["hal"], "application/vnd.handheld-entertainment+xml": ["zmm"], "application/vnd.hbci": ["hbci"], "application/vnd.hhe.lesson-player": ["les"], "application/vnd.hp-hpgl": ["hpgl"], "application/vnd.hp-hpid": ["hpid"], "application/vnd.hp-hps": ["hps"], "application/vnd.hp-jlyt": ["jlt"], "application/vnd.hp-pcl": ["pcl"], "application/vnd.hp-pclxl": ["pclxl"], "application/vnd.hydrostatix.sof-data": ["sfd-hdstx"], "application/vnd.ibm.minipay": ["mpy"], "application/vnd.ibm.modcap": ["afp", "listafp", "list3820"], "application/vnd.ibm.rights-management": ["irm"], "application/vnd.ibm.secure-container": ["sc"], "application/vnd.iccprofile": ["icc", "icm"], "application/vnd.igloader": ["igl"], "application/vnd.immervision-ivp": ["ivp"], "application/vnd.immervision-ivu": ["ivu"], "application/vnd.insors.igm": ["igm"], "application/vnd.intercon.formnet": ["xpw", "xpx"], "application/vnd.intergeo": ["i2g"], "application/vnd.intu.qbo": ["qbo"], "application/vnd.intu.qfx": ["qfx"], "application/vnd.ipunplugged.rcprofile": ["rcprofile"], "application/vnd.irepository.package+xml": ["irp"], "application/vnd.is-xpr": ["xpr"], "application/vnd.isac.fcs": ["fcs"], "application/vnd.jam": ["jam"], "application/vnd.jcp.javame.midlet-rms": ["rms"], "application/vnd.jisp": ["jisp"], "application/vnd.joost.joda-archive": ["joda"], "application/vnd.kahootz": ["ktz", "ktr"], "application/vnd.kde.karbon": ["karbon"], "application/vnd.kde.kchart": ["chrt"], "application/vnd.kde.kformula": ["kfo"], "application/vnd.kde.kivio": ["flw"], "application/vnd.kde.kontour": ["kon"], "application/vnd.kde.kpresenter": ["kpr", "kpt"], "application/vnd.kde.kspread": ["ksp"], "application/vnd.kde.kword": ["kwd", "kwt"], "application/vnd.kenameaapp": ["htke"], "application/vnd.kidspiration": ["kia"], "application/vnd.kinar": ["kne", "knp"], "application/vnd.koan": ["skp", "skd", "skt", "skm"], "application/vnd.kodak-descriptor": ["sse"], "application/vnd.las.las+xml": ["lasxml"], "application/vnd.llamagraphics.life-balance.desktop": ["lbd"], "application/vnd.llamagraphics.life-balance.exchange+xml": ["lbe"], "application/vnd.lotus-1-2-3": ["123"], "application/vnd.lotus-approach": ["apr"], "application/vnd.lotus-freelance": ["pre"], "application/vnd.lotus-notes": ["nsf"], "application/vnd.lotus-organizer": ["org"], "application/vnd.lotus-screencam": ["scm"], "application/vnd.lotus-wordpro": ["lwp"], "application/vnd.macports.portpkg": ["portpkg"], "application/vnd.mapbox-vector-tile": ["mvt"], "application/vnd.mcd": ["mcd"], "application/vnd.medcalcdata": ["mc1"], "application/vnd.mediastation.cdkey": ["cdkey"], "application/vnd.mfer": ["mwf"], "application/vnd.mfmp": ["mfm"], "application/vnd.micrografx.flo": ["flo"], "application/vnd.micrografx.igx": ["igx"], "application/vnd.mif": ["mif"], "application/vnd.mobius.daf": ["daf"], "application/vnd.mobius.dis": ["dis"], "application/vnd.mobius.mbk": ["mbk"], "application/vnd.mobius.mqy": ["mqy"], "application/vnd.mobius.msl": ["msl"], "application/vnd.mobius.plc": ["plc"], "application/vnd.mobius.txf": ["txf"], "application/vnd.mophun.application": ["mpn"], "application/vnd.mophun.certificate": ["mpc"], "application/vnd.mozilla.xul+xml": ["xul"], "application/vnd.ms-artgalry": ["cil"], "application/vnd.ms-cab-compressed": ["cab"], "application/vnd.ms-excel": ["xls", "xlm", "xla", "xlc", "xlt", "xlw"], "application/vnd.ms-excel.addin.macroenabled.12": ["xlam"], "application/vnd.ms-excel.sheet.binary.macroenabled.12": ["xlsb"], "application/vnd.ms-excel.sheet.macroenabled.12": ["xlsm"], "application/vnd.ms-excel.template.macroenabled.12": ["xltm"], "application/vnd.ms-fontobject": ["eot"], "application/vnd.ms-htmlhelp": ["chm"], "application/vnd.ms-ims": ["ims"], "application/vnd.ms-lrm": ["lrm"], "application/vnd.ms-officetheme": ["thmx"], "application/vnd.ms-outlook": ["msg"], "application/vnd.ms-pki.seccat": ["cat"], "application/vnd.ms-pki.stl": ["*stl"], "application/vnd.ms-powerpoint": ["ppt", "pps", "pot"], "application/vnd.ms-powerpoint.addin.macroenabled.12": ["ppam"], "application/vnd.ms-powerpoint.presentation.macroenabled.12": ["pptm"], "application/vnd.ms-powerpoint.slide.macroenabled.12": ["sldm"], "application/vnd.ms-powerpoint.slideshow.macroenabled.12": ["ppsm"], "application/vnd.ms-powerpoint.template.macroenabled.12": ["potm"], "application/vnd.ms-project": ["mpp", "mpt"], "application/vnd.ms-word.document.macroenabled.12": ["docm"], "application/vnd.ms-word.template.macroenabled.12": ["dotm"], "application/vnd.ms-works": ["wps", "wks", "wcm", "wdb"], "application/vnd.ms-wpl": ["wpl"], "application/vnd.ms-xpsdocument": ["xps"], "application/vnd.mseq": ["mseq"], "application/vnd.musician": ["mus"], "application/vnd.muvee.style": ["msty"], "application/vnd.mynfc": ["taglet"], "application/vnd.neurolanguage.nlu": ["nlu"], "application/vnd.nitf": ["ntf", "nitf"], "application/vnd.noblenet-directory": ["nnd"], "application/vnd.noblenet-sealer": ["nns"], "application/vnd.noblenet-web": ["nnw"], "application/vnd.nokia.n-gage.ac+xml": ["*ac"], "application/vnd.nokia.n-gage.data": ["ngdat"], "application/vnd.nokia.n-gage.symbian.install": ["n-gage"], "application/vnd.nokia.radio-preset": ["rpst"], "application/vnd.nokia.radio-presets": ["rpss"], "application/vnd.novadigm.edm": ["edm"], "application/vnd.novadigm.edx": ["edx"], "application/vnd.novadigm.ext": ["ext"], "application/vnd.oasis.opendocument.chart": ["odc"], "application/vnd.oasis.opendocument.chart-template": ["otc"], "application/vnd.oasis.opendocument.database": ["odb"], "application/vnd.oasis.opendocument.formula": ["odf"], "application/vnd.oasis.opendocument.formula-template": ["odft"], "application/vnd.oasis.opendocument.graphics": ["odg"], "application/vnd.oasis.opendocument.graphics-template": ["otg"], "application/vnd.oasis.opendocument.image": ["odi"], "application/vnd.oasis.opendocument.image-template": ["oti"], "application/vnd.oasis.opendocument.presentation": ["odp"], "application/vnd.oasis.opendocument.presentation-template": ["otp"], "application/vnd.oasis.opendocument.spreadsheet": ["ods"], "application/vnd.oasis.opendocument.spreadsheet-template": ["ots"], "application/vnd.oasis.opendocument.text": ["odt"], "application/vnd.oasis.opendocument.text-master": ["odm"], "application/vnd.oasis.opendocument.text-template": ["ott"], "application/vnd.oasis.opendocument.text-web": ["oth"], "application/vnd.olpc-sugar": ["xo"], "application/vnd.oma.dd2+xml": ["dd2"], "application/vnd.openblox.game+xml": ["obgx"], "application/vnd.openofficeorg.extension": ["oxt"], "application/vnd.openstreetmap.data+xml": ["osm"], "application/vnd.openxmlformats-officedocument.presentationml.presentation": ["pptx"], "application/vnd.openxmlformats-officedocument.presentationml.slide": ["sldx"], "application/vnd.openxmlformats-officedocument.presentationml.slideshow": ["ppsx"], "application/vnd.openxmlformats-officedocument.presentationml.template": ["potx"], "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": ["xlsx"], "application/vnd.openxmlformats-officedocument.spreadsheetml.template": ["xltx"], "application/vnd.openxmlformats-officedocument.wordprocessingml.document": ["docx"], "application/vnd.openxmlformats-officedocument.wordprocessingml.template": ["dotx"], "application/vnd.osgeo.mapguide.package": ["mgp"], "application/vnd.osgi.dp": ["dp"], "application/vnd.osgi.subsystem": ["esa"], "application/vnd.palm": ["pdb", "pqa", "oprc"], "application/vnd.pawaafile": ["paw"], "application/vnd.pg.format": ["str"], "application/vnd.pg.osasli": ["ei6"], "application/vnd.picsel": ["efif"], "application/vnd.pmi.widget": ["wg"], "application/vnd.pocketlearn": ["plf"], "application/vnd.powerbuilder6": ["pbd"], "application/vnd.previewsystems.box": ["box"], "application/vnd.proteus.magazine": ["mgz"], "application/vnd.publishare-delta-tree": ["qps"], "application/vnd.pvi.ptid1": ["ptid"], "application/vnd.quark.quarkxpress": ["qxd", "qxt", "qwd", "qwt", "qxl", "qxb"], "application/vnd.rar": ["rar"], "application/vnd.realvnc.bed": ["bed"], "application/vnd.recordare.musicxml": ["mxl"], "application/vnd.recordare.musicxml+xml": ["musicxml"], "application/vnd.rig.cryptonote": ["cryptonote"], "application/vnd.rim.cod": ["cod"], "application/vnd.rn-realmedia": ["rm"], "application/vnd.rn-realmedia-vbr": ["rmvb"], "application/vnd.route66.link66+xml": ["link66"], "application/vnd.sailingtracker.track": ["st"], "application/vnd.seemail": ["see"], "application/vnd.sema": ["sema"], "application/vnd.semd": ["semd"], "application/vnd.semf": ["semf"], "application/vnd.shana.informed.formdata": ["ifm"], "application/vnd.shana.informed.formtemplate": ["itp"], "application/vnd.shana.informed.interchange": ["iif"], "application/vnd.shana.informed.package": ["ipk"], "application/vnd.simtech-mindmapper": ["twd", "twds"], "application/vnd.smaf": ["mmf"], "application/vnd.smart.teacher": ["teacher"], "application/vnd.software602.filler.form+xml": ["fo"], "application/vnd.solent.sdkm+xml": ["sdkm", "sdkd"], "application/vnd.spotfire.dxp": ["dxp"], "application/vnd.spotfire.sfs": ["sfs"], "application/vnd.stardivision.calc": ["sdc"], "application/vnd.stardivision.draw": ["sda"], "application/vnd.stardivision.impress": ["sdd"], "application/vnd.stardivision.math": ["smf"], "application/vnd.stardivision.writer": ["sdw", "vor"], "application/vnd.stardivision.writer-global": ["sgl"], "application/vnd.stepmania.package": ["smzip"], "application/vnd.stepmania.stepchart": ["sm"], "application/vnd.sun.wadl+xml": ["wadl"], "application/vnd.sun.xml.calc": ["sxc"], "application/vnd.sun.xml.calc.template": ["stc"], "application/vnd.sun.xml.draw": ["sxd"], "application/vnd.sun.xml.draw.template": ["std"], "application/vnd.sun.xml.impress": ["sxi"], "application/vnd.sun.xml.impress.template": ["sti"], "application/vnd.sun.xml.math": ["sxm"], "application/vnd.sun.xml.writer": ["sxw"], "application/vnd.sun.xml.writer.global": ["sxg"], "application/vnd.sun.xml.writer.template": ["stw"], "application/vnd.sus-calendar": ["sus", "susp"], "application/vnd.svd": ["svd"], "application/vnd.symbian.install": ["sis", "sisx"], "application/vnd.syncml+xml": ["xsm"], "application/vnd.syncml.dm+wbxml": ["bdm"], "application/vnd.syncml.dm+xml": ["xdm"], "application/vnd.syncml.dmddf+xml": ["ddf"], "application/vnd.tao.intent-module-archive": ["tao"], "application/vnd.tcpdump.pcap": ["pcap", "cap", "dmp"], "application/vnd.tmobile-livetv": ["tmo"], "application/vnd.trid.tpt": ["tpt"], "application/vnd.triscape.mxs": ["mxs"], "application/vnd.trueapp": ["tra"], "application/vnd.ufdl": ["ufd", "ufdl"], "application/vnd.uiq.theme": ["utz"], "application/vnd.umajin": ["umj"], "application/vnd.unity": ["unityweb"], "application/vnd.uoml+xml": ["uoml"], "application/vnd.vcx": ["vcx"], "application/vnd.visio": ["vsd", "vst", "vss", "vsw"], "application/vnd.visionary": ["vis"], "application/vnd.vsf": ["vsf"], "application/vnd.wap.wbxml": ["wbxml"], "application/vnd.wap.wmlc": ["wmlc"], "application/vnd.wap.wmlscriptc": ["wmlsc"], "application/vnd.webturbo": ["wtb"], "application/vnd.wolfram.player": ["nbp"], "application/vnd.wordperfect": ["wpd"], "application/vnd.wqd": ["wqd"], "application/vnd.wt.stf": ["stf"], "application/vnd.xara": ["xar"], "application/vnd.xfdl": ["xfdl"], "application/vnd.yamaha.hv-dic": ["hvd"], "application/vnd.yamaha.hv-script": ["hvs"], "application/vnd.yamaha.hv-voice": ["hvp"], "application/vnd.yamaha.openscoreformat": ["osf"], "application/vnd.yamaha.openscoreformat.osfpvg+xml": ["osfpvg"], "application/vnd.yamaha.smaf-audio": ["saf"], "application/vnd.yamaha.smaf-phrase": ["spf"], "application/vnd.yellowriver-custom-menu": ["cmp"], "application/vnd.zul": ["zir", "zirz"], "application/vnd.zzazz.deck+xml": ["zaz"], "application/x-7z-compressed": ["7z"], "application/x-abiword": ["abw"], "application/x-ace-compressed": ["ace"], "application/x-apple-diskimage": ["*dmg"], "application/x-arj": ["arj"], "application/x-authorware-bin": ["aab", "x32", "u32", "vox"], "application/x-authorware-map": ["aam"], "application/x-authorware-seg": ["aas"], "application/x-bcpio": ["bcpio"], "application/x-bdoc": ["*bdoc"], "application/x-bittorrent": ["torrent"], "application/x-blorb": ["blb", "blorb"], "application/x-bzip": ["bz"], "application/x-bzip2": ["bz2", "boz"], "application/x-cbr": ["cbr", "cba", "cbt", "cbz", "cb7"], "application/x-cdlink": ["vcd"], "application/x-cfs-compressed": ["cfs"], "application/x-chat": ["chat"], "application/x-chess-pgn": ["pgn"], "application/x-chrome-extension": ["crx"], "application/x-cocoa": ["cco"], "application/x-conference": ["nsc"], "application/x-cpio": ["cpio"], "application/x-csh": ["csh"], "application/x-debian-package": ["*deb", "udeb"], "application/x-dgc-compressed": ["dgc"], "application/x-director": ["dir", "dcr", "dxr", "cst", "cct", "cxt", "w3d", "fgd", "swa"], "application/x-doom": ["wad"], "application/x-dtbncx+xml": ["ncx"], "application/x-dtbook+xml": ["dtb"], "application/x-dtbresource+xml": ["res"], "application/x-dvi": ["dvi"], "application/x-envoy": ["evy"], "application/x-eva": ["eva"], "application/x-font-bdf": ["bdf"], "application/x-font-ghostscript": ["gsf"], "application/x-font-linux-psf": ["psf"], "application/x-font-pcf": ["pcf"], "application/x-font-snf": ["snf"], "application/x-font-type1": ["pfa", "pfb", "pfm", "afm"], "application/x-freearc": ["arc"], "application/x-futuresplash": ["spl"], "application/x-gca-compressed": ["gca"], "application/x-glulx": ["ulx"], "application/x-gnumeric": ["gnumeric"], "application/x-gramps-xml": ["gramps"], "application/x-gtar": ["gtar"], "application/x-hdf": ["hdf"], "application/x-httpd-php": ["php"], "application/x-install-instructions": ["install"], "application/x-iso9660-image": ["*iso"], "application/x-iwork-keynote-sffkey": ["*key"], "application/x-iwork-numbers-sffnumbers": ["*numbers"], "application/x-iwork-pages-sffpages": ["*pages"], "application/x-java-archive-diff": ["jardiff"], "application/x-java-jnlp-file": ["jnlp"], "application/x-keepass2": ["kdbx"], "application/x-latex": ["latex"], "application/x-lua-bytecode": ["luac"], "application/x-lzh-compressed": ["lzh", "lha"], "application/x-makeself": ["run"], "application/x-mie": ["mie"], "application/x-mobipocket-ebook": ["prc", "mobi"], "application/x-ms-application": ["application"], "application/x-ms-shortcut": ["lnk"], "application/x-ms-wmd": ["wmd"], "application/x-ms-wmz": ["wmz"], "application/x-ms-xbap": ["xbap"], "application/x-msaccess": ["mdb"], "application/x-msbinder": ["obd"], "application/x-mscardfile": ["crd"], "application/x-msclip": ["clp"], "application/x-msdos-program": ["*exe"], "application/x-msdownload": ["*exe", "*dll", "com", "bat", "*msi"], "application/x-msmediaview": ["mvb", "m13", "m14"], "application/x-msmetafile": ["*wmf", "*wmz", "*emf", "emz"], "application/x-msmoney": ["mny"], "application/x-mspublisher": ["pub"], "application/x-msschedule": ["scd"], "application/x-msterminal": ["trm"], "application/x-mswrite": ["wri"], "application/x-netcdf": ["nc", "cdf"], "application/x-ns-proxy-autoconfig": ["pac"], "application/x-nzb": ["nzb"], "application/x-perl": ["pl", "pm"], "application/x-pilot": ["*prc", "*pdb"], "application/x-pkcs12": ["p12", "pfx"], "application/x-pkcs7-certificates": ["p7b", "spc"], "application/x-pkcs7-certreqresp": ["p7r"], "application/x-rar-compressed": ["*rar"], "application/x-redhat-package-manager": ["rpm"], "application/x-research-info-systems": ["ris"], "application/x-sea": ["sea"], "application/x-sh": ["sh"], "application/x-shar": ["shar"], "application/x-shockwave-flash": ["swf"], "application/x-silverlight-app": ["xap"], "application/x-sql": ["sql"], "application/x-stuffit": ["sit"], "application/x-stuffitx": ["sitx"], "application/x-subrip": ["srt"], "application/x-sv4cpio": ["sv4cpio"], "application/x-sv4crc": ["sv4crc"], "application/x-t3vm-image": ["t3"], "application/x-tads": ["gam"], "application/x-tar": ["tar"], "application/x-tcl": ["tcl", "tk"], "application/x-tex": ["tex"], "application/x-tex-tfm": ["tfm"], "application/x-texinfo": ["texinfo", "texi"], "application/x-tgif": ["*obj"], "application/x-ustar": ["ustar"], "application/x-virtualbox-hdd": ["hdd"], "application/x-virtualbox-ova": ["ova"], "application/x-virtualbox-ovf": ["ovf"], "application/x-virtualbox-vbox": ["vbox"], "application/x-virtualbox-vbox-extpack": ["vbox-extpack"], "application/x-virtualbox-vdi": ["vdi"], "application/x-virtualbox-vhd": ["vhd"], "application/x-virtualbox-vmdk": ["vmdk"], "application/x-wais-source": ["src"], "application/x-web-app-manifest+json": ["webapp"], "application/x-x509-ca-cert": ["der", "crt", "pem"], "application/x-xfig": ["fig"], "application/x-xliff+xml": ["*xlf"], "application/x-xpinstall": ["xpi"], "application/x-xz": ["xz"], "application/x-zmachine": ["z1", "z2", "z3", "z4", "z5", "z6", "z7", "z8"], "audio/vnd.dece.audio": ["uva", "uvva"], "audio/vnd.digital-winds": ["eol"], "audio/vnd.dra": ["dra"], "audio/vnd.dts": ["dts"], "audio/vnd.dts.hd": ["dtshd"], "audio/vnd.lucent.voice": ["lvp"], "audio/vnd.ms-playready.media.pya": ["pya"], "audio/vnd.nuera.ecelp4800": ["ecelp4800"], "audio/vnd.nuera.ecelp7470": ["ecelp7470"], "audio/vnd.nuera.ecelp9600": ["ecelp9600"], "audio/vnd.rip": ["rip"], "audio/x-aac": ["aac"], "audio/x-aiff": ["aif", "aiff", "aifc"], "audio/x-caf": ["caf"], "audio/x-flac": ["flac"], "audio/x-m4a": ["*m4a"], "audio/x-matroska": ["mka"], "audio/x-mpegurl": ["m3u"], "audio/x-ms-wax": ["wax"], "audio/x-ms-wma": ["wma"], "audio/x-pn-realaudio": ["ram", "ra"], "audio/x-pn-realaudio-plugin": ["rmp"], "audio/x-realaudio": ["*ra"], "audio/x-wav": ["*wav"], "chemical/x-cdx": ["cdx"], "chemical/x-cif": ["cif"], "chemical/x-cmdf": ["cmdf"], "chemical/x-cml": ["cml"], "chemical/x-csml": ["csml"], "chemical/x-xyz": ["xyz"], "image/prs.btif": ["btif"], "image/prs.pti": ["pti"], "image/vnd.adobe.photoshop": ["psd"], "image/vnd.airzip.accelerator.azv": ["azv"], "image/vnd.dece.graphic": ["uvi", "uvvi", "uvg", "uvvg"], "image/vnd.djvu": ["djvu", "djv"], "image/vnd.dvb.subtitle": ["*sub"], "image/vnd.dwg": ["dwg"], "image/vnd.dxf": ["dxf"], "image/vnd.fastbidsheet": ["fbs"], "image/vnd.fpx": ["fpx"], "image/vnd.fst": ["fst"], "image/vnd.fujixerox.edmics-mmr": ["mmr"], "image/vnd.fujixerox.edmics-rlc": ["rlc"], "image/vnd.microsoft.icon": ["ico"], "image/vnd.ms-dds": ["dds"], "image/vnd.ms-modi": ["mdi"], "image/vnd.ms-photo": ["wdp"], "image/vnd.net-fpx": ["npx"], "image/vnd.pco.b16": ["b16"], "image/vnd.tencent.tap": ["tap"], "image/vnd.valve.source.texture": ["vtf"], "image/vnd.wap.wbmp": ["wbmp"], "image/vnd.xiff": ["xif"], "image/vnd.zbrush.pcx": ["pcx"], "image/x-3ds": ["3ds"], "image/x-cmu-raster": ["ras"], "image/x-cmx": ["cmx"], "image/x-freehand": ["fh", "fhc", "fh4", "fh5", "fh7"], "image/x-icon": ["*ico"], "image/x-jng": ["jng"], "image/x-mrsid-image": ["sid"], "image/x-ms-bmp": ["*bmp"], "image/x-pcx": ["*pcx"], "image/x-pict": ["pic", "pct"], "image/x-portable-anymap": ["pnm"], "image/x-portable-bitmap": ["pbm"], "image/x-portable-graymap": ["pgm"], "image/x-portable-pixmap": ["ppm"], "image/x-rgb": ["rgb"], "image/x-tga": ["tga"], "image/x-xbitmap": ["xbm"], "image/x-xpixmap": ["xpm"], "image/x-xwindowdump": ["xwd"], "message/vnd.wfa.wsc": ["wsc"], "model/vnd.collada+xml": ["dae"], "model/vnd.dwf": ["dwf"], "model/vnd.gdl": ["gdl"], "model/vnd.gtw": ["gtw"], "model/vnd.mts": ["mts"], "model/vnd.opengex": ["ogex"], "model/vnd.parasolid.transmit.binary": ["x_b"], "model/vnd.parasolid.transmit.text": ["x_t"], "model/vnd.sap.vds": ["vds"], "model/vnd.usdz+zip": ["usdz"], "model/vnd.valve.source.compiled-map": ["bsp"], "model/vnd.vtu": ["vtu"], "text/prs.lines.tag": ["dsc"], "text/vnd.curl": ["curl"], "text/vnd.curl.dcurl": ["dcurl"], "text/vnd.curl.mcurl": ["mcurl"], "text/vnd.curl.scurl": ["scurl"], "text/vnd.dvb.subtitle": ["sub"], "text/vnd.fly": ["fly"], "text/vnd.fmi.flexstor": ["flx"], "text/vnd.graphviz": ["gv"], "text/vnd.in3d.3dml": ["3dml"], "text/vnd.in3d.spot": ["spot"], "text/vnd.sun.j2me.app-descriptor": ["jad"], "text/vnd.wap.wml": ["wml"], "text/vnd.wap.wmlscript": ["wmls"], "text/x-asm": ["s", "asm"], "text/x-c": ["c", "cc", "cxx", "cpp", "h", "hh", "dic"], "text/x-component": ["htc"], "text/x-fortran": ["f", "for", "f77", "f90"], "text/x-handlebars-template": ["hbs"], "text/x-java-source": ["java"], "text/x-lua": ["lua"], "text/x-markdown": ["mkd"], "text/x-nfo": ["nfo"], "text/x-opml": ["opml"], "text/x-org": ["*org"], "text/x-pascal": ["p", "pas"], "text/x-processing": ["pde"], "text/x-sass": ["sass"], "text/x-scss": ["scss"], "text/x-setext": ["etx"], "text/x-sfv": ["sfv"], "text/x-suse-ymp": ["ymp"], "text/x-uuencode": ["uu"], "text/x-vcalendar": ["vcs"], "text/x-vcard": ["vcf"], "video/vnd.dece.hd": ["uvh", "uvvh"], "video/vnd.dece.mobile": ["uvm", "uvvm"], "video/vnd.dece.pd": ["uvp", "uvvp"], "video/vnd.dece.sd": ["uvs", "uvvs"], "video/vnd.dece.video": ["uvv", "uvvv"], "video/vnd.dvb.file": ["dvb"], "video/vnd.fvt": ["fvt"], "video/vnd.mpegurl": ["mxu", "m4u"], "video/vnd.ms-playready.media.pyv": ["pyv"], "video/vnd.uvvu.mp4": ["uvu", "uvvu"], "video/vnd.vivo": ["viv"], "video/x-f4v": ["f4v"], "video/x-fli": ["fli"], "video/x-flv": ["flv"], "video/x-m4v": ["m4v"], "video/x-matroska": ["mkv", "mk3d", "mks"], "video/x-mng": ["mng"], "video/x-ms-asf": ["asf", "asx"], "video/x-ms-vob": ["vob"], "video/x-ms-wm": ["wm"], "video/x-ms-wmv": ["wmv"], "video/x-ms-wmx": ["wmx"], "video/x-ms-wvx": ["wvx"], "video/x-msvideo": ["avi"], "video/x-sgi-movie": ["movie"], "video/x-smv": ["smv"], "x-conference/x-cooltalk": ["ice"] };
4246 - }
4247 -});
4248 -
4249 -// node_modules/mime/index.js
4250 -var require_mime = __commonJS({
4251 - "node_modules/mime/index.js"(exports2, module2) {
4252 - "use strict";
4253 - var Mime = require_Mime();
4254 - module2.exports = new Mime(require_standard(), require_other());
4255 - }
4256 -});
4257 -
4258 -// node_modules/concat-map/index.js
4259 -var require_concat_map = __commonJS({
4260 - "node_modules/concat-map/index.js"(exports2, module2) {
4261 - module2.exports = function(xs, fn) {
4262 - var res = [];
4263 - for (var i = 0; i < xs.length; i++) {
4264 - var x = fn(xs[i], i);
4265 - if (isArray(x)) res.push.apply(res, x);
4266 - else res.push(x);
4267 - }
4268 - return res;
4269 - };
4270 - var isArray = Array.isArray || function(xs) {
4271 - return Object.prototype.toString.call(xs) === "[object Array]";
4272 - };
4273 - }
4274 -});
4275 -
4276 -// node_modules/balanced-match/index.js
4277 -var require_balanced_match = __commonJS({
4278 - "node_modules/balanced-match/index.js"(exports2, module2) {
4279 - "use strict";
4280 - module2.exports = balanced;
4281 - function balanced(a, b, str) {
4282 - if (a instanceof RegExp) a = maybeMatch(a, str);
4283 - if (b instanceof RegExp) b = maybeMatch(b, str);
4284 - var r = range(a, b, str);
4285 - return r && {
4286 - start: r[0],
4287 - end: r[1],
4288 - pre: str.slice(0, r[0]),
4289 - body: str.slice(r[0] + a.length, r[1]),
4290 - post: str.slice(r[1] + b.length)
4291 - };
4292 - }
4293 - function maybeMatch(reg, str) {
4294 - var m = str.match(reg);
4295 - return m ? m[0] : null;
4296 - }
4297 - balanced.range = range;
4298 - function range(a, b, str) {
4299 - var begs, beg, left, right, result2;
4300 - var ai = str.indexOf(a);
4301 - var bi = str.indexOf(b, ai + 1);
4302 - var i = ai;
4303 - if (ai >= 0 && bi > 0) {
4304 - if (a === b) {
4305 - return [ai, bi];
4306 - }
4307 - begs = [];
4308 - left = str.length;
4309 - while (i >= 0 && !result2) {
4310 - if (i == ai) {
4311 - begs.push(i);
4312 - ai = str.indexOf(a, i + 1);
4313 - } else if (begs.length == 1) {
4314 - result2 = [begs.pop(), bi];
4315 - } else {
4316 - beg = begs.pop();
4317 - if (beg < left) {
4318 - left = beg;
4319 - right = bi;
4320 - }
4321 - bi = str.indexOf(b, i + 1);
4322 - }
4323 - i = ai < bi && ai >= 0 ? ai : bi;
4324 - }
4325 - if (begs.length) {
4326 - result2 = [left, right];
4327 - }
4328 - }
4329 - return result2;
4330 - }
4331 - }
4332 -});
4333 -
4334 -// node_modules/brace-expansion/index.js
4335 -var require_brace_expansion = __commonJS({
4336 - "node_modules/brace-expansion/index.js"(exports2, module2) {
4337 - var concatMap = require_concat_map();
4338 - var balanced = require_balanced_match();
4339 - module2.exports = expandTop;
4340 - var escSlash = "\0SLASH" + Math.random() + "\0";
4341 - var escOpen = "\0OPEN" + Math.random() + "\0";
4342 - var escClose = "\0CLOSE" + Math.random() + "\0";
4343 - var escComma = "\0COMMA" + Math.random() + "\0";
4344 - var escPeriod = "\0PERIOD" + Math.random() + "\0";
4345 - function numeric(str) {
4346 - return parseInt(str, 10) == str ? parseInt(str, 10) : str.charCodeAt(0);
4347 - }
4348 - function escapeBraces(str) {
4349 - return str.split("\\\\").join(escSlash).split("\\{").join(escOpen).split("\\}").join(escClose).split("\\,").join(escComma).split("\\.").join(escPeriod);
4350 - }
4351 - function unescapeBraces(str) {
4352 - return str.split(escSlash).join("\\").split(escOpen).join("{").split(escClose).join("}").split(escComma).join(",").split(escPeriod).join(".");
4353 - }
4354 - function parseCommaParts(str) {
4355 - if (!str)
4356 - return [""];
4357 - var parts = [];
4358 - var m = balanced("{", "}", str);
4359 - if (!m)
4360 - return str.split(",");
4361 - var pre = m.pre;
4362 - var body = m.body;
4363 - var post = m.post;
4364 - var p = pre.split(",");
4365 - p[p.length - 1] += "{" + body + "}";
4366 - var postParts = parseCommaParts(post);
4367 - if (post.length) {
4368 - p[p.length - 1] += postParts.shift();
4369 - p.push.apply(p, postParts);
4370 - }
4371 - parts.push.apply(parts, p);
4372 - return parts;
4373 - }
4374 - function expandTop(str) {
4375 - if (!str)
4376 - return [];
4377 - if (str.substr(0, 2) === "{}") {
4378 - str = "\\{\\}" + str.substr(2);
4379 - }
4380 - return expand(escapeBraces(str), true).map(unescapeBraces);
4381 - }
4382 - function embrace(str) {
4383 - return "{" + str + "}";
4384 - }
4385 - function isPadded(el) {
4386 - return /^-?0\d/.test(el);
4387 - }
4388 - function lte(i, y) {
4389 - return i <= y;
4390 - }
4391 - function gte(i, y) {
4392 - return i >= y;
4393 - }
4394 - function expand(str, isTop) {
4395 - var expansions = [];
4396 - var m = balanced("{", "}", str);
4397 - if (!m || /\$$/.test(m.pre)) return [str];
4398 - var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
4399 - var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
4400 - var isSequence = isNumericSequence || isAlphaSequence;
4401 - var isOptions = m.body.indexOf(",") >= 0;
4402 - if (!isSequence && !isOptions) {
4403 - if (m.post.match(/,(?!,).*\}/)) {
4404 - str = m.pre + "{" + m.body + escClose + m.post;
4405 - return expand(str);
4406 - }
4407 - return [str];
4408 - }
4409 - var n;
4410 - if (isSequence) {
4411 - n = m.body.split(/\.\./);
4412 - } else {
4413 - n = parseCommaParts(m.body);
4414 - if (n.length === 1) {
4415 - n = expand(n[0], false).map(embrace);
4416 - if (n.length === 1) {
4417 - var post = m.post.length ? expand(m.post, false) : [""];
4418 - return post.map(function(p) {
4419 - return m.pre + n[0] + p;
4420 - });
4421 - }
4422 - }
4423 - }
4424 - var pre = m.pre;
4425 - var post = m.post.length ? expand(m.post, false) : [""];
4426 - var N;
4427 - if (isSequence) {
4428 - var x = numeric(n[0]);
4429 - var y = numeric(n[1]);
4430 - var width = Math.max(n[0].length, n[1].length);
4431 - var incr = n.length == 3 ? Math.abs(numeric(n[2])) : 1;
4432 - var test = lte;
4433 - var reverse = y < x;
4434 - if (reverse) {
4435 - incr *= -1;
4436 - test = gte;
4437 - }
4438 - var pad = n.some(isPadded);
4439 - N = [];
4440 - for (var i = x; test(i, y); i += incr) {
4441 - var c;
4442 - if (isAlphaSequence) {
4443 - c = String.fromCharCode(i);
4444 - if (c === "\\")
4445 - c = "";
4446 - } else {
4447 - c = String(i);
4448 - if (pad) {
4449 - var need = width - c.length;
4450 - if (need > 0) {
4451 - var z = new Array(need + 1).join("0");
4452 - if (i < 0)
4453 - c = "-" + z + c.slice(1);
4454 - else
4455 - c = z + c;
4456 - }
4457 - }
4458 - }
4459 - N.push(c);
4460 - }
4461 - } else {
4462 - N = concatMap(n, function(el) {
4463 - return expand(el, false);
4464 - });
4465 - }
4466 - for (var j = 0; j < N.length; j++) {
4467 - for (var k = 0; k < post.length; k++) {
4468 - var expansion = pre + N[j] + post[k];
4469 - if (!isTop || isSequence || expansion)
4470 - expansions.push(expansion);
4471 - }
4472 - }
4473 - return expansions;
4474 - }
4475 - }
4476 -});
4477 -
4478 -// node_modules/minimatch/minimatch.js
4479 -var require_minimatch = __commonJS({
4480 - "node_modules/minimatch/minimatch.js"(exports2, module2) {
4481 - module2.exports = minimatch2;
4482 - minimatch2.Minimatch = Minimatch;
4483 - var path6 = (function() {
4484 - try {
4485 - return require("path");
4486 - } catch (e) {
4487 - }
4488 - })() || {
4489 - sep: "/"
4490 - };
4491 - minimatch2.sep = path6.sep;
4492 - var GLOBSTAR = minimatch2.GLOBSTAR = Minimatch.GLOBSTAR = {};
4493 - var expand = require_brace_expansion();
4494 - var plTypes = {
4495 - "!": { open: "(?:(?!(?:", close: "))[^/]*?)" },
4496 - "?": { open: "(?:", close: ")?" },
4497 - "+": { open: "(?:", close: ")+" },
4498 - "*": { open: "(?:", close: ")*" },
4499 - "@": { open: "(?:", close: ")" }
4500 - };
4501 - var qmark = "[^/]";
4502 - var star = qmark + "*?";
4503 - var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
4504 - var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
4505 - var reSpecials = charSet("().*{}+?[]^$\\!");
4506 - function charSet(s) {
4507 - return s.split("").reduce(function(set, c) {
4508 - set[c] = true;
4509 - return set;
4510 - }, {});
4511 - }
4512 - var slashSplit = /\/+/;
4513 - minimatch2.filter = filter;
4514 - function filter(pattern, options) {
4515 - options = options || {};
4516 - return function(p, i, list) {
4517 - return minimatch2(p, pattern, options);
4518 - };
4519 - }
4520 - function ext(a, b) {
4521 - b = b || {};
4522 - var t = {};
4523 - Object.keys(a).forEach(function(k) {
4524 - t[k] = a[k];
4525 - });
4526 - Object.keys(b).forEach(function(k) {
4527 - t[k] = b[k];
4528 - });
4529 - return t;
4530 - }
4531 - minimatch2.defaults = function(def) {
4532 - if (!def || typeof def !== "object" || !Object.keys(def).length) {
4533 - return minimatch2;
4534 - }
4535 - var orig = minimatch2;
4536 - var m = function minimatch3(p, pattern, options) {
4537 - return orig(p, pattern, ext(def, options));
4538 - };
4539 - m.Minimatch = function Minimatch2(pattern, options) {
4540 - return new orig.Minimatch(pattern, ext(def, options));
4541 - };
4542 - m.Minimatch.defaults = function defaults(options) {
4543 - return orig.defaults(ext(def, options)).Minimatch;
4544 - };
4545 - m.filter = function filter2(pattern, options) {
4546 - return orig.filter(pattern, ext(def, options));
4547 - };
4548 - m.defaults = function defaults(options) {
4549 - return orig.defaults(ext(def, options));
4550 - };
4551 - m.makeRe = function makeRe2(pattern, options) {
4552 - return orig.makeRe(pattern, ext(def, options));
4553 - };
4554 - m.braceExpand = function braceExpand2(pattern, options) {
4555 - return orig.braceExpand(pattern, ext(def, options));
4556 - };
4557 - m.match = function(list, pattern, options) {
4558 - return orig.match(list, pattern, ext(def, options));
4559 - };
4560 - return m;
4561 - };
4562 - Minimatch.defaults = function(def) {
4563 - return minimatch2.defaults(def).Minimatch;
4564 - };
4565 - function minimatch2(p, pattern, options) {
4566 - assertValidPattern(pattern);
4567 - if (!options) options = {};
4568 - if (!options.nocomment && pattern.charAt(0) === "#") {
4569 - return false;
4570 - }
4571 - return new Minimatch(pattern, options).match(p);
4572 - }
4573 - function Minimatch(pattern, options) {
4574 - if (!(this instanceof Minimatch)) {
4575 - return new Minimatch(pattern, options);
4576 - }
4577 - assertValidPattern(pattern);
4578 - if (!options) options = {};
4579 - pattern = pattern.trim();
4580 - if (!options.allowWindowsEscape && path6.sep !== "/") {
4581 - pattern = pattern.split(path6.sep).join("/");
4582 - }
4583 - this.options = options;
4584 - this.maxGlobstarRecursion = options.maxGlobstarRecursion !== void 0 ? options.maxGlobstarRecursion : 200;
4585 - this.set = [];
4586 - this.pattern = pattern;
4587 - this.regexp = null;
4588 - this.negate = false;
4589 - this.comment = false;
4590 - this.empty = false;
4591 - this.partial = !!options.partial;
4592 - this.make();
4593 - }
4594 - Minimatch.prototype.debug = function() {
4595 - };
4596 - Minimatch.prototype.make = make;
4597 - function make() {
4598 - var pattern = this.pattern;
4599 - var options = this.options;
4600 - if (!options.nocomment && pattern.charAt(0) === "#") {
4601 - this.comment = true;
4602 - return;
4603 - }
4604 - if (!pattern) {
4605 - this.empty = true;
4606 - return;
4607 - }
4608 - this.parseNegate();
4609 - var set = this.globSet = this.braceExpand();
4610 - if (options.debug) this.debug = function debug2() {
4611 - console.error.apply(console, arguments);
4612 - };
4613 - this.debug(this.pattern, set);
4614 - set = this.globParts = set.map(function(s) {
4615 - return s.split(slashSplit);
4616 - });
4617 - this.debug(this.pattern, set);
4618 - set = set.map(function(s, si, set2) {
4619 - return s.map(this.parse, this);
4620 - }, this);
4621 - this.debug(this.pattern, set);
4622 - set = set.filter(function(s) {
4623 - return s.indexOf(false) === -1;
4624 - });
4625 - this.debug(this.pattern, set);
4626 - this.set = set;
4627 - }
4628 - Minimatch.prototype.parseNegate = parseNegate;
4629 - function parseNegate() {
4630 - var pattern = this.pattern;
4631 - var negate = false;
4632 - var options = this.options;
4633 - var negateOffset = 0;
4634 - if (options.nonegate) return;
4635 - for (var i = 0, l = pattern.length; i < l && pattern.charAt(i) === "!"; i++) {
4636 - negate = !negate;
4637 - negateOffset++;
4638 - }
4639 - if (negateOffset) this.pattern = pattern.substr(negateOffset);
4640 - this.negate = negate;
4641 - }
4642 - minimatch2.braceExpand = function(pattern, options) {
4643 - return braceExpand(pattern, options);
4644 - };
4645 - Minimatch.prototype.braceExpand = braceExpand;
4646 - function braceExpand(pattern, options) {
4647 - if (!options) {
4648 - if (this instanceof Minimatch) {
4649 - options = this.options;
4650 - } else {
4651 - options = {};
4652 - }
4653 - }
4654 - pattern = typeof pattern === "undefined" ? this.pattern : pattern;
4655 - assertValidPattern(pattern);
4656 - if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
4657 - return [pattern];
4658 - }
4659 - return expand(pattern);
4660 - }
4661 - var MAX_PATTERN_LENGTH = 1024 * 64;
4662 - var assertValidPattern = function(pattern) {
4663 - if (typeof pattern !== "string") {
4664 - throw new TypeError("invalid pattern");
4665 - }
4666 - if (pattern.length > MAX_PATTERN_LENGTH) {
4667 - throw new TypeError("pattern is too long");
4668 - }
4669 - };
4670 - Minimatch.prototype.parse = parse;
4671 - var SUBPARSE = {};
4672 - function parse(pattern, isSub) {
4673 - assertValidPattern(pattern);
4674 - var options = this.options;
4675 - if (pattern === "**") {
4676 - if (!options.noglobstar)
4677 - return GLOBSTAR;
4678 - else
4679 - pattern = "*";
4680 - }
4681 - if (pattern === "") return "";
4682 - var re2 = "";
4683 - var hasMagic = !!options.nocase;
4684 - var escaping = false;
4685 - var patternListStack = [];
4686 - var negativeLists = [];
4687 - var stateChar;
4688 - var inClass = false;
4689 - var reClassStart = -1;
4690 - var classStart = -1;
4691 - var patternStart = pattern.charAt(0) === "." ? "" : options.dot ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)";
4692 - var self = this;
4693 - function clearStateChar() {
4694 - if (stateChar) {
4695 - switch (stateChar) {
4696 - case "*":
4697 - re2 += star;
4698 - hasMagic = true;
4699 - break;
4700 - case "?":
4701 - re2 += qmark;
4702 - hasMagic = true;
4703 - break;
4704 - default:
4705 - re2 += "\\" + stateChar;
4706 - break;
4707 - }
4708 - self.debug("clearStateChar %j %j", stateChar, re2);
4709 - stateChar = false;
4710 - }
4711 - }
4712 - for (var i = 0, len = pattern.length, c; i < len && (c = pattern.charAt(i)); i++) {
4713 - this.debug("%s %s %s %j", pattern, i, re2, c);
4714 - if (escaping && reSpecials[c]) {
4715 - re2 += "\\" + c;
4716 - escaping = false;
4717 - continue;
4718 - }
4719 - switch (c) {
4720 - /* istanbul ignore next */
4721 - case "/": {
4722 - return false;
4723 - }
4724 - case "\\":
4725 - clearStateChar();
4726 - escaping = true;
4727 - continue;
4728 - // the various stateChar values
4729 - // for the "extglob" stuff.
4730 - case "?":
4731 - case "*":
4732 - case "+":
4733 - case "@":
4734 - case "!":
4735 - this.debug("%s %s %s %j <-- stateChar", pattern, i, re2, c);
4736 - if (inClass) {
4737 - this.debug(" in class");
4738 - if (c === "!" && i === classStart + 1) c = "^";
4739 - re2 += c;
4740 - continue;
4741 - }
4742 - if (c === "*" && stateChar === "*") continue;
4743 - self.debug("call clearStateChar %j", stateChar);
4744 - clearStateChar();
4745 - stateChar = c;
4746 - if (options.noext) clearStateChar();
4747 - continue;
4748 - case "(":
4749 - if (inClass) {
4750 - re2 += "(";
4751 - continue;
4752 - }
4753 - if (!stateChar) {
4754 - re2 += "\\(";
4755 - continue;
4756 - }
4757 - patternListStack.push({
4758 - type: stateChar,
4759 - start: i - 1,
4760 - reStart: re2.length,
4761 - open: plTypes[stateChar].open,
4762 - close: plTypes[stateChar].close
4763 - });
4764 - re2 += stateChar === "!" ? "(?:(?!(?:" : "(?:";
4765 - this.debug("plType %j %j", stateChar, re2);
4766 - stateChar = false;
4767 - continue;
4768 - case ")":
4769 - if (inClass || !patternListStack.length) {
4770 - re2 += "\\)";
4771 - continue;
4772 - }
4773 - clearStateChar();
4774 - hasMagic = true;
4775 - var pl = patternListStack.pop();
4776 - re2 += pl.close;
4777 - if (pl.type === "!") {
4778 - negativeLists.push(pl);
4779 - }
4780 - pl.reEnd = re2.length;
4781 - continue;
4782 - case "|":
4783 - if (inClass || !patternListStack.length || escaping) {
4784 - re2 += "\\|";
4785 - escaping = false;
4786 - continue;
4787 - }
4788 - clearStateChar();
4789 - re2 += "|";
4790 - continue;
4791 - // these are mostly the same in regexp and glob
4792 - case "[":
4793 - clearStateChar();
4794 - if (inClass) {
4795 - re2 += "\\" + c;
4796 - continue;
4797 - }
4798 - inClass = true;
4799 - classStart = i;
4800 - reClassStart = re2.length;
4801 - re2 += c;
4802 - continue;
4803 - case "]":
4804 - if (i === classStart + 1 || !inClass) {
4805 - re2 += "\\" + c;
4806 - escaping = false;
4807 - continue;
4808 - }
4809 - var cs = pattern.substring(classStart + 1, i);
4810 - try {
4811 - RegExp("[" + cs + "]");
4812 - } catch (er) {
4813 - var sp = this.parse(cs, SUBPARSE);
4814 - re2 = re2.substr(0, reClassStart) + "\\[" + sp[0] + "\\]";
4815 - hasMagic = hasMagic || sp[1];
4816 - inClass = false;
4817 - continue;
4818 - }
4819 - hasMagic = true;
4820 - inClass = false;
4821 - re2 += c;
4822 - continue;
4823 - default:
4824 - clearStateChar();
4825 - if (escaping) {
4826 - escaping = false;
4827 - } else if (reSpecials[c] && !(c === "^" && inClass)) {
4828 - re2 += "\\";
4829 - }
4830 - re2 += c;
4831 - }
4832 - }
4833 - if (inClass) {
4834 - cs = pattern.substr(classStart + 1);
4835 - sp = this.parse(cs, SUBPARSE);
4836 - re2 = re2.substr(0, reClassStart) + "\\[" + sp[0];
4837 - hasMagic = hasMagic || sp[1];
4838 - }
4839 - for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {
4840 - var tail = re2.slice(pl.reStart + pl.open.length);
4841 - this.debug("setting tail", re2, pl);
4842 - tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, function(_, $1, $2) {
4843 - if (!$2) {
4844 - $2 = "\\";
4845 - }
4846 - return $1 + $1 + $2 + "|";
4847 - });
4848 - this.debug("tail=%j\n %s", tail, tail, pl, re2);
4849 - var t = pl.type === "*" ? star : pl.type === "?" ? qmark : "\\" + pl.type;
4850 - hasMagic = true;
4851 - re2 = re2.slice(0, pl.reStart) + t + "\\(" + tail;
4852 - }
4853 - clearStateChar();
4854 - if (escaping) {
4855 - re2 += "\\\\";
4856 - }
4857 - var addPatternStart = false;
4858 - switch (re2.charAt(0)) {
4859 - case "[":
4860 - case ".":
4861 - case "(":
4862 - addPatternStart = true;
4863 - }
4864 - for (var n = negativeLists.length - 1; n > -1; n--) {
4865 - var nl = negativeLists[n];
4866 - var nlBefore = re2.slice(0, nl.reStart);
4867 - var nlFirst = re2.slice(nl.reStart, nl.reEnd - 8);
4868 - var nlLast = re2.slice(nl.reEnd - 8, nl.reEnd);
4869 - var nlAfter = re2.slice(nl.reEnd);
4870 - nlLast += nlAfter;
4871 - var openParensBefore = nlBefore.split("(").length - 1;
4872 - var cleanAfter = nlAfter;
4873 - for (i = 0; i < openParensBefore; i++) {
4874 - cleanAfter = cleanAfter.replace(/\)[+*?]?/, "");
4875 - }
4876 - nlAfter = cleanAfter;
4877 - var dollar = "";
4878 - if (nlAfter === "" && isSub !== SUBPARSE) {
4879 - dollar = "$";
4880 - }
4881 - var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast;
4882 - re2 = newRe;
4883 - }
4884 - if (re2 !== "" && hasMagic) {
4885 - re2 = "(?=.)" + re2;
4886 - }
4887 - if (addPatternStart) {
4888 - re2 = patternStart + re2;
4889 - }
4890 - if (isSub === SUBPARSE) {
4891 - return [re2, hasMagic];
4892 - }
4893 - if (!hasMagic) {
4894 - return globUnescape(pattern);
4895 - }
4896 - var flags = options.nocase ? "i" : "";
4897 - try {
4898 - var regExp = new RegExp("^" + re2 + "$", flags);
4899 - } catch (er) {
4900 - return new RegExp("$.");
4901 - }
4902 - regExp._glob = pattern;
4903 - regExp._src = re2;
4904 - return regExp;
4905 - }
4906 - minimatch2.makeRe = function(pattern, options) {
4907 - return new Minimatch(pattern, options || {}).makeRe();
4908 - };
4909 - Minimatch.prototype.makeRe = makeRe;
4910 - function makeRe() {
4911 - if (this.regexp || this.regexp === false) return this.regexp;
4912 - var set = this.set;
4913 - if (!set.length) {
4914 - this.regexp = false;
4915 - return this.regexp;
4916 - }
4917 - var options = this.options;
4918 - var twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
4919 - var flags = options.nocase ? "i" : "";
4920 - var re2 = set.map(function(pattern) {
4921 - return pattern.map(function(p) {
4922 - return p === GLOBSTAR ? twoStar : typeof p === "string" ? regExpEscape(p) : p._src;
4923 - }).join("\\/");
4924 - }).join("|");
4925 - re2 = "^(?:" + re2 + ")$";
4926 - if (this.negate) re2 = "^(?!" + re2 + ").*$";
4927 - try {
4928 - this.regexp = new RegExp(re2, flags);
4929 - } catch (ex) {
4930 - this.regexp = false;
4931 - }
4932 - return this.regexp;
4933 - }
4934 - minimatch2.match = function(list, pattern, options) {
4935 - options = options || {};
4936 - var mm = new Minimatch(pattern, options);
4937 - list = list.filter(function(f) {
4938 - return mm.match(f);
4939 - });
4940 - if (mm.options.nonull && !list.length) {
4941 - list.push(pattern);
4942 - }
4943 - return list;
4944 - };
4945 - Minimatch.prototype.match = function match(f, partial) {
4946 - if (typeof partial === "undefined") partial = this.partial;
4947 - this.debug("match", f, this.pattern);
4948 - if (this.comment) return false;
4949 - if (this.empty) return f === "";
4950 - if (f === "/" && partial) return true;
4951 - var options = this.options;
4952 - if (path6.sep !== "/") {
4953 - f = f.split(path6.sep).join("/");
4954 - }
4955 - f = f.split(slashSplit);
4956 - this.debug(this.pattern, "split", f);
4957 - var set = this.set;
4958 - this.debug(this.pattern, "set", set);
4959 - var filename;
4960 - var i;
4961 - for (i = f.length - 1; i >= 0; i--) {
4962 - filename = f[i];
4963 - if (filename) break;
4964 - }
4965 - for (i = 0; i < set.length; i++) {
4966 - var pattern = set[i];
4967 - var file2 = f;
4968 - if (options.matchBase && pattern.length === 1) {
4969 - file2 = [filename];
4970 - }
4971 - var hit = this.matchOne(file2, pattern, partial);
4972 - if (hit) {
4973 - if (options.flipNegate) return true;
4974 - return !this.negate;
4975 - }
4976 - }
4977 - if (options.flipNegate) return false;
4978 - return this.negate;
4979 - };
4980 - Minimatch.prototype.matchOne = function(file2, pattern, partial) {
4981 - if (pattern.indexOf(GLOBSTAR) !== -1) {
4982 - return this._matchGlobstar(file2, pattern, partial, 0, 0);
4983 - }
4984 - return this._matchOne(file2, pattern, partial, 0, 0);
4985 - };
4986 - Minimatch.prototype._matchGlobstar = function(file2, pattern, partial, fileIndex, patternIndex) {
4987 - var i;
4988 - var firstgs = -1;
4989 - for (i = patternIndex; i < pattern.length; i++) {
4990 - if (pattern[i] === GLOBSTAR) {
4991 - firstgs = i;
4992 - break;
4993 - }
4994 - }
4995 - var lastgs = -1;
4996 - for (i = pattern.length - 1; i >= 0; i--) {
4997 - if (pattern[i] === GLOBSTAR) {
4998 - lastgs = i;
4999 - break;

This file is too large to show in full.

node_modules/playwright/lib/transform/esmLoader.js.LICENSE deleted
-335
@@ -1,335 +0,0 @@
1 -packages/playwright/lib/transform/esmLoader.js
2 -
3 -THIRD-PARTY SOFTWARE NOTICES AND INFORMATION
4 -
5 -The following npm packages are inlined into this bundle.
6 -
7 -- balanced-match@1.0.2 (https://github.com/juliangruber/balanced-match)
8 -- brace-expansion@1.1.12 (https://github.com/juliangruber/brace-expansion)
9 -- buffer-from@1.1.2 (https://github.com/LinusU/buffer-from)
10 -- concat-map@0.0.1 (https://github.com/substack/node-concat-map)
11 -- debug@4.4.3 (https://github.com/debug-js/debug)
12 -- has-flag@4.0.0 (https://github.com/sindresorhus/has-flag)
13 -- json5@2.2.3 (https://github.com/json5/json5)
14 -- mime@3.0.0 (https://github.com/broofa/mime)
15 -- minimatch@3.1.5 (https://github.com/isaacs/minimatch)
16 -- ms@2.1.3 (https://github.com/vercel/ms)
17 -- source-map-support@0.5.21 (https://github.com/evanw/node-source-map-support)
18 -- source-map@0.6.1 (https://github.com/mozilla/source-map)
19 -- supports-color@8.1.1 (https://github.com/chalk/supports-color)
20 -
21 -%% balanced-match@1.0.2 NOTICES AND INFORMATION BEGIN HERE
22 -=========================================
23 -(MIT)
24 -
25 -Copyright (c) 2013 Julian Gruber &lt;julian@juliangruber.com&gt;
26 -
27 -Permission is hereby granted, free of charge, to any person obtaining a copy of
28 -this software and associated documentation files (the "Software"), to deal in
29 -the Software without restriction, including without limitation the rights to
30 -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
31 -of the Software, and to permit persons to whom the Software is furnished to do
32 -so, subject to the following conditions:
33 -
34 -The above copyright notice and this permission notice shall be included in all
35 -copies or substantial portions of the Software.
36 -
37 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
38 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
39 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
40 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
41 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
42 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
43 -SOFTWARE.
44 -=========================================
45 -END OF balanced-match@1.0.2 NOTICES AND INFORMATION
46 -
47 -%% brace-expansion@1.1.12 NOTICES AND INFORMATION BEGIN HERE
48 -=========================================
49 -MIT License
50 -
51 -Copyright (c) 2013 Julian Gruber <julian@juliangruber.com>
52 -
53 -Permission is hereby granted, free of charge, to any person obtaining a copy
54 -of this software and associated documentation files (the "Software"), to deal
55 -in the Software without restriction, including without limitation the rights
56 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
57 -copies of the Software, and to permit persons to whom the Software is
58 -furnished to do so, subject to the following conditions:
59 -
60 -The above copyright notice and this permission notice shall be included in all
61 -copies or substantial portions of the Software.
62 -
63 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
64 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
65 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
66 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
67 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
68 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
69 -SOFTWARE.
70 -=========================================
71 -END OF brace-expansion@1.1.12 NOTICES AND INFORMATION
72 -
73 -%% buffer-from@1.1.2 NOTICES AND INFORMATION BEGIN HERE
74 -=========================================
75 -MIT License
76 -
77 -Copyright (c) 2016, 2018 Linus Unnebäck
78 -
79 -Permission is hereby granted, free of charge, to any person obtaining a copy
80 -of this software and associated documentation files (the "Software"), to deal
81 -in the Software without restriction, including without limitation the rights
82 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
83 -copies of the Software, and to permit persons to whom the Software is
84 -furnished to do so, subject to the following conditions:
85 -
86 -The above copyright notice and this permission notice shall be included in all
87 -copies or substantial portions of the Software.
88 -
89 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
90 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
91 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
92 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
93 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
94 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
95 -SOFTWARE.
96 -=========================================
97 -END OF buffer-from@1.1.2 NOTICES AND INFORMATION
98 -
99 -%% concat-map@0.0.1 NOTICES AND INFORMATION BEGIN HERE
100 -=========================================
101 -This software is released under the MIT license:
102 -
103 -Permission is hereby granted, free of charge, to any person obtaining a copy of
104 -this software and associated documentation files (the "Software"), to deal in
105 -the Software without restriction, including without limitation the rights to
106 -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
107 -the Software, and to permit persons to whom the Software is furnished to do so,
108 -subject to the following conditions:
109 -
110 -The above copyright notice and this permission notice shall be included in all
111 -copies or substantial portions of the Software.
112 -
113 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
114 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
115 -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
116 -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
117 -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
118 -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
119 -=========================================
120 -END OF concat-map@0.0.1 NOTICES AND INFORMATION
121 -
122 -%% debug@4.4.3 NOTICES AND INFORMATION BEGIN HERE
123 -=========================================
124 -(The MIT License)
125 -
126 -Copyright (c) 2014-2017 TJ Holowaychuk <tj@vision-media.ca>
127 -Copyright (c) 2018-2021 Josh Junon
128 -
129 -Permission is hereby granted, free of charge, to any person obtaining a copy of this software
130 -and associated documentation files (the 'Software'), to deal in the Software without restriction,
131 -including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
132 -and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
133 -subject to the following conditions:
134 -
135 -The above copyright notice and this permission notice shall be included in all copies or substantial
136 -portions of the Software.
137 -
138 -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
139 -LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
140 -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
141 -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
142 -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
143 -=========================================
144 -END OF debug@4.4.3 NOTICES AND INFORMATION
145 -
146 -%% has-flag@4.0.0 NOTICES AND INFORMATION BEGIN HERE
147 -=========================================
148 -MIT License
149 -
150 -Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
151 -
152 -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
153 -
154 -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
155 -
156 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
157 -=========================================
158 -END OF has-flag@4.0.0 NOTICES AND INFORMATION
159 -
160 -%% json5@2.2.3 NOTICES AND INFORMATION BEGIN HERE
161 -=========================================
162 -MIT License
163 -
164 -Copyright (c) 2012-2018 Aseem Kishore, and [others].
165 -
166 -Permission is hereby granted, free of charge, to any person obtaining a copy
167 -of this software and associated documentation files (the "Software"), to deal
168 -in the Software without restriction, including without limitation the rights
169 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
170 -copies of the Software, and to permit persons to whom the Software is
171 -furnished to do so, subject to the following conditions:
172 -
173 -The above copyright notice and this permission notice shall be included in all
174 -copies or substantial portions of the Software.
175 -
176 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
177 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
178 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
179 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
180 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
181 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
182 -SOFTWARE.
183 -
184 -[others]: https://github.com/json5/json5/contributors
185 -=========================================
186 -END OF json5@2.2.3 NOTICES AND INFORMATION
187 -
188 -%% mime@3.0.0 NOTICES AND INFORMATION BEGIN HERE
189 -=========================================
190 -The MIT License (MIT)
191 -
192 -Copyright (c) 2010 Benjamin Thomas, Robert Kieffer
193 -
194 -Permission is hereby granted, free of charge, to any person obtaining a copy
195 -of this software and associated documentation files (the "Software"), to deal
196 -in the Software without restriction, including without limitation the rights
197 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
198 -copies of the Software, and to permit persons to whom the Software is
199 -furnished to do so, subject to the following conditions:
200 -
201 -The above copyright notice and this permission notice shall be included in
202 -all copies or substantial portions of the Software.
203 -
204 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
205 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
206 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
207 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
208 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
209 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
210 -THE SOFTWARE.
211 -=========================================
212 -END OF mime@3.0.0 NOTICES AND INFORMATION
213 -
214 -%% minimatch@3.1.5 NOTICES AND INFORMATION BEGIN HERE
215 -=========================================
216 -The ISC License
217 -
218 -Copyright (c) Isaac Z. Schlueter and Contributors
219 -
220 -Permission to use, copy, modify, and/or distribute this software for any
221 -purpose with or without fee is hereby granted, provided that the above
222 -copyright notice and this permission notice appear in all copies.
223 -
224 -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
225 -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
226 -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
227 -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
228 -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
229 -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
230 -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
231 -=========================================
232 -END OF minimatch@3.1.5 NOTICES AND INFORMATION
233 -
234 -%% ms@2.1.3 NOTICES AND INFORMATION BEGIN HERE
235 -=========================================
236 -The MIT License (MIT)
237 -
238 -Copyright (c) 2020 Vercel, Inc.
239 -
240 -Permission is hereby granted, free of charge, to any person obtaining a copy
241 -of this software and associated documentation files (the "Software"), to deal
242 -in the Software without restriction, including without limitation the rights
243 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
244 -copies of the Software, and to permit persons to whom the Software is
245 -furnished to do so, subject to the following conditions:
246 -
247 -The above copyright notice and this permission notice shall be included in all
248 -copies or substantial portions of the Software.
249 -
250 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
251 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
252 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
253 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
254 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
255 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
256 -SOFTWARE.
257 -=========================================
258 -END OF ms@2.1.3 NOTICES AND INFORMATION
259 -
260 -%% source-map-support@0.5.21 NOTICES AND INFORMATION BEGIN HERE
261 -=========================================
262 -The MIT License (MIT)
263 -
264 -Copyright (c) 2014 Evan Wallace
265 -
266 -Permission is hereby granted, free of charge, to any person obtaining a copy
267 -of this software and associated documentation files (the "Software"), to deal
268 -in the Software without restriction, including without limitation the rights
269 -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
270 -copies of the Software, and to permit persons to whom the Software is
271 -furnished to do so, subject to the following conditions:
272 -
273 -The above copyright notice and this permission notice shall be included in all
274 -copies or substantial portions of the Software.
275 -
276 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
277 -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
278 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
279 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
280 -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
281 -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
282 -SOFTWARE.
283 -=========================================
284 -END OF source-map-support@0.5.21 NOTICES AND INFORMATION
285 -
286 -%% source-map@0.6.1 NOTICES AND INFORMATION BEGIN HERE
287 -=========================================
288 -Copyright (c) 2009-2011, Mozilla Foundation and contributors
289 -All rights reserved.
290 -
291 -Redistribution and use in source and binary forms, with or without
292 -modification, are permitted provided that the following conditions are met:
293 -
294 -* Redistributions of source code must retain the above copyright notice, this
295 - list of conditions and the following disclaimer.
296 -
297 -* Redistributions in binary form must reproduce the above copyright notice,
298 - this list of conditions and the following disclaimer in the documentation
299 - and/or other materials provided with the distribution.
300 -
301 -* Neither the names of the Mozilla Foundation nor the names of project
302 - contributors may be used to endorse or promote products derived from this
303 - software without specific prior written permission.
304 -
305 -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
306 -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
307 -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
308 -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
309 -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
310 -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
311 -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
312 -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
313 -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
314 -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
315 -=========================================
316 -END OF source-map@0.6.1 NOTICES AND INFORMATION
317 -
318 -%% supports-color@8.1.1 NOTICES AND INFORMATION BEGIN HERE
319 -=========================================
320 -MIT License
321 -
322 -Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
323 -
324 -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
325 -
326 -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
327 -
328 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
329 -=========================================
330 -END OF supports-color@8.1.1 NOTICES AND INFORMATION
331 -
332 -SUMMARY
333 -=========================================
334 -Total Packages: 13
335 -=========================================
\ No newline at end of file
node_modules/playwright/lib/transform/esmLoader.js.txt deleted
-55
@@ -1,55 +0,0 @@
1 -# packages/playwright/lib/transform/esmLoader.js
2 -# total: 245.0 KB
3 -
4 -## Inlined (46)
5 - 1.5 KB node_modules/balanced-match/index.js
6 - 4.4 KB node_modules/brace-expansion/index.js
7 - 1.8 KB node_modules/buffer-from/index.js
8 - 0.5 KB node_modules/concat-map/index.js
9 - 4.6 KB node_modules/debug/src/browser.js
10 - 5.8 KB node_modules/debug/src/common.js
11 - 0.3 KB node_modules/debug/src/index.js
12 - 4.2 KB node_modules/debug/src/node.js
13 - 0.4 KB node_modules/has-flag/index.js
14 - 0.2 KB node_modules/json5/lib/index.js
15 - 20.2 KB node_modules/json5/lib/parse.js
16 - 6.8 KB node_modules/json5/lib/stringify.js
17 - 15.5 KB node_modules/json5/lib/unicode.js
18 - 0.9 KB node_modules/json5/lib/util.js
19 - 0.2 KB node_modules/mime/index.js
20 - 2.0 KB node_modules/mime/Mime.js
21 - 26.8 KB node_modules/mime/types/other.js
22 - 10.1 KB node_modules/mime/types/standard.js
23 - 20.9 KB node_modules/minimatch/minimatch.js
24 - 2.8 KB node_modules/ms/index.js
25 - 16.1 KB node_modules/source-map-support/source-map-support.js
26 - 2.2 KB node_modules/source-map/lib/array-set.js
27 - 1.7 KB node_modules/source-map/lib/base64-vlq.js
28 - 1.1 KB node_modules/source-map/lib/base64.js
29 - 1.5 KB node_modules/source-map/lib/binary-search.js
30 - 1.3 KB node_modules/source-map/lib/mapping-list.js
31 - 0.9 KB node_modules/source-map/lib/quick-sort.js
32 - 24.0 KB node_modules/source-map/lib/source-map-consumer.js
33 - 10.6 KB node_modules/source-map/lib/source-map-generator.js
34 - 9.6 KB node_modules/source-map/lib/source-node.js
35 - 8.6 KB node_modules/source-map/lib/util.js
36 - 0.3 KB node_modules/source-map/source-map.js
37 - 3.4 KB node_modules/supports-color/index.js
38 - 0.1 KB packages/isomorphic/rtti.ts
39 - 0.2 KB packages/isomorphic/stackTrace.ts
40 - 0.2 KB packages/isomorphic/stringUtils.ts
41 - 6.3 KB packages/playwright/src/transform/compilationCache.ts
42 - 3.1 KB packages/playwright/src/transform/esmLoader.ts
43 - 1.1 KB packages/playwright/src/transform/pirates.ts
44 - 1.1 KB packages/playwright/src/transform/portTransport.ts
45 - 9.7 KB packages/playwright/src/transform/transform.ts
46 - 2.9 KB packages/playwright/src/transform/tsconfig-loader.ts
47 - 4.6 KB packages/playwright/src/util.ts
48 - 0.2 KB packages/utils/crypto.ts
49 - 0.2 KB packages/utils/debug.ts
50 - 0.5 KB packages/utils/env.ts
51 -
52 -## External (3)
53 - ../globals
54 - ../package
55 - playwright-core/package.json
node_modules/playwright/lib/util.js deleted
-403
@@ -1,403 +0,0 @@
1 -"use strict";
2 -var __create = Object.create;
3 -var __defProp = Object.defineProperty;
4 -var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5 -var __getOwnPropNames = Object.getOwnPropertyNames;
6 -var __getProtoOf = Object.getPrototypeOf;
7 -var __hasOwnProp = Object.prototype.hasOwnProperty;
8 -var __export = (target, all) => {
9 - for (var name in all)
10 - __defProp(target, name, { get: all[name], enumerable: true });
11 -};
12 -var __copyProps = (to, from, except, desc) => {
13 - if (from && typeof from === "object" || typeof from === "function") {
14 - for (let key of __getOwnPropNames(from))
15 - if (!__hasOwnProp.call(to, key) && key !== except)
16 - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17 - }
18 - return to;
19 -};
20 -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21 - // If the importer is in node compatibility mode or this is not an ESM
22 - // file that has been converted to a CommonJS file using a Babel-
23 - // compatible transform (i.e. "__esModule" has not been set), then set
24 - // "default" to the CommonJS "module.exports" for node compatibility.
25 - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26 - mod
27 -));
28 -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29 -var util_exports = {};
30 -__export(util_exports, {
31 - addSuffixToFilePath: () => addSuffixToFilePath,
32 - ansiRegex: () => ansiRegex,
33 - createFileMatcher: () => createFileMatcher,
34 - createTitleMatcher: () => createTitleMatcher,
35 - debugTest: () => debugTest,
36 - errorWithFile: () => errorWithFile,
37 - expectTypes: () => expectTypes,
38 - fileExistsAsync: () => fileExistsAsync,
39 - fileIsModule: () => fileIsModule,
40 - filterStackFile: () => filterStackFile,
41 - filterStackTrace: () => filterStackTrace,
42 - filteredStackTrace: () => filteredStackTrace,
43 - forceRegExp: () => forceRegExp,
44 - formatLocation: () => formatLocation,
45 - getContainedPath: () => getContainedPath,
46 - getPackageJsonPath: () => getPackageJsonPath,
47 - mergeObjects: () => mergeObjects,
48 - normalizeAndSaveAttachment: () => normalizeAndSaveAttachment,
49 - parseLocationArg: () => parseLocationArg,
50 - relativeFilePath: () => relativeFilePath,
51 - removeDirAndLogToConsole: () => removeDirAndLogToConsole,
52 - resolveImportSpecifierAfterMapping: () => resolveImportSpecifierAfterMapping,
53 - resolveReporterOutputPath: () => resolveReporterOutputPath,
54 - sanitizeFilePathBeforeExtension: () => sanitizeFilePathBeforeExtension,
55 - serializeError: () => serializeError,
56 - stripAnsiEscapes: () => stripAnsiEscapes,
57 - takeFirst: () => takeFirst,
58 - trimLongString: () => trimLongString,
59 - windowsFilesystemFriendlyLength: () => windowsFilesystemFriendlyLength
60 -});
61 -module.exports = __toCommonJS(util_exports);
62 -var import_fs = __toESM(require("fs"));
63 -var import_path = __toESM(require("path"));
64 -var import_url = __toESM(require("url"));
65 -var import_util = __toESM(require("util"));
66 -const debug = require("playwright-core/lib/utilsBundle").debug;
67 -const mime = require("playwright-core/lib/utilsBundle").mime;
68 -const minimatch = require("playwright-core/lib/utilsBundle").minimatch;
69 -const { calculateSha1 } = require("playwright-core/lib/coreBundle").utils;
70 -const { sanitizeForFilePath } = require("playwright-core/lib/coreBundle").utils;
71 -const { isRegExp } = require("playwright-core/lib/coreBundle").iso;
72 -const { parseStackFrame, stringifyStackFrames } = require("playwright-core/lib/coreBundle").iso;
73 -const { ansiRegex, isString, stripAnsiEscapes } = require("playwright-core/lib/coreBundle").iso;
74 -const PLAYWRIGHT_TEST_PATH = import_path.default.join(__dirname, "..");
75 -const PLAYWRIGHT_CORE_PATH = import_path.default.dirname(require.resolve("playwright-core/package.json"));
76 -function filterStackTrace(e) {
77 - const name = e.name ? e.name + ": " : "";
78 - const cause = e.cause instanceof Error ? filterStackTrace(e.cause) : void 0;
79 - if (process.env.PWDEBUGIMPL)
80 - return { message: name + e.message, stack: e.stack || "", cause };
81 - const stackLines = stringifyStackFrames(filteredStackTrace(e.stack?.split("\n") || []));
82 - return {
83 - message: name + e.message,
84 - stack: `${name}${e.message}${stackLines.map((line) => "\n" + line).join("")}`,
85 - cause
86 - };
87 -}
88 -function filterStackFile(file) {
89 - if (process.env.PWDEBUGIMPL)
90 - return true;
91 - if (file.startsWith(PLAYWRIGHT_TEST_PATH))
92 - return false;
93 - if (file.startsWith(PLAYWRIGHT_CORE_PATH))
94 - return false;
95 - return true;
96 -}
97 -function filteredStackTrace(rawStack) {
98 - const frames = [];
99 - for (const line of rawStack) {
100 - const frame = parseStackFrame(line, import_path.default.sep, !!process.env.PWDEBUGIMPL);
101 - if (!frame || !frame.file)
102 - continue;
103 - if (!filterStackFile(frame.file))
104 - continue;
105 - frames.push(frame);
106 - }
107 - return frames;
108 -}
109 -function serializeError(error) {
110 - if (error instanceof Error)
111 - return filterStackTrace(error);
112 - return {
113 - value: import_util.default.inspect(error)
114 - };
115 -}
116 -function parseLocationArg(arg) {
117 - const match = /^(.*?):(\d+):?(\d+)?$/.exec(arg);
118 - return {
119 - file: match ? match[1] : arg,
120 - line: match ? parseInt(match[2], 10) : null,
121 - column: match?.[3] ? parseInt(match[3], 10) : null
122 - };
123 -}
124 -function createFileMatcher(patterns) {
125 - const reList = [];
126 - const filePatterns = [];
127 - for (const pattern of Array.isArray(patterns) ? patterns : [patterns]) {
128 - if (isRegExp(pattern)) {
129 - reList.push(pattern);
130 - } else {
131 - if (!pattern.startsWith("**/"))
132 - filePatterns.push("**/" + pattern);
133 - else
134 - filePatterns.push(pattern);
135 - }
136 - }
137 - return (filePath) => {
138 - for (const re of reList) {
139 - re.lastIndex = 0;
140 - if (re.test(filePath))
141 - return true;
142 - }
143 - if (import_path.default.sep === "\\") {
144 - const fileURL = import_url.default.pathToFileURL(filePath).href;
145 - for (const re of reList) {
146 - re.lastIndex = 0;
147 - if (re.test(fileURL))
148 - return true;
149 - }
150 - }
151 - for (const pattern of filePatterns) {
152 - if (minimatch(filePath, pattern, { nocase: true, dot: true }))
153 - return true;
154 - }
155 - return false;
156 - };
157 -}
158 -function createTitleMatcher(patterns) {
159 - const reList = Array.isArray(patterns) ? patterns : [patterns];
160 - return (value) => {
161 - for (const re of reList) {
162 - re.lastIndex = 0;
163 - if (re.test(value))
164 - return true;
165 - }
166 - return false;
167 - };
168 -}
169 -function mergeObjects(a, b, c) {
170 - const result = { ...a };
171 - for (const x of [b, c].filter(Boolean)) {
172 - for (const [name, value] of Object.entries(x)) {
173 - if (!Object.is(value, void 0))
174 - result[name] = value;
175 - }
176 - }
177 - return result;
178 -}
179 -function forceRegExp(pattern) {
180 - const match = pattern.match(/^\/(.*)\/([gi]*)$/);
181 - if (match)
182 - return new RegExp(match[1], match[2]);
183 - return new RegExp(pattern, "gi");
184 -}
185 -function relativeFilePath(file) {
186 - if (!import_path.default.isAbsolute(file))
187 - return file;
188 - return import_path.default.relative(process.cwd(), file);
189 -}
190 -function formatLocation(location) {
191 - return relativeFilePath(location.file) + ":" + location.line + ":" + location.column;
192 -}
193 -function errorWithFile(file, message) {
194 - return new Error(`${relativeFilePath(file)}: ${message}`);
195 -}
196 -function expectTypes(receiver, types, matcherName) {
197 - if (typeof receiver !== "object" || !types.includes(receiver._apiName)) {
198 - const receiverString = typeof receiver === "object" && receiver !== null ? `${receiver.constructor.name} ${import_util.default.inspect(receiver)}` : String(receiver);
199 - const commaSeparated = types.slice();
200 - const lastType = commaSeparated.pop();
201 - const typesString = commaSeparated.length ? commaSeparated.join(", ") + " or " + lastType : lastType;
202 - throw new Error(`${matcherName} can be only used with ${typesString} object${types.length > 1 ? "s" : ""}, was called with ${receiverString}`);
203 - }
204 -}
205 -const windowsFilesystemFriendlyLength = 60;
206 -function trimLongString(s, length = 100) {
207 - if (s.length <= length)
208 - return s;
209 - const hash = calculateSha1(s);
210 - const middle = `-${hash.substring(0, 5)}-`;
211 - const start = Math.floor((length - middle.length) / 2);
212 - const end = length - middle.length - start;
213 - return s.substring(0, start) + middle + s.slice(-end);
214 -}
215 -function addSuffixToFilePath(filePath, suffix) {
216 - const ext = import_path.default.extname(filePath);
217 - const base = filePath.substring(0, filePath.length - ext.length);
218 - return base + suffix + ext;
219 -}
220 -function sanitizeFilePathBeforeExtension(filePath, ext) {
221 - ext ??= import_path.default.extname(filePath);
222 - const base = filePath.substring(0, filePath.length - ext.length);
223 - return sanitizeForFilePath(base) + ext;
224 -}
225 -function getContainedPath(parentPath, subPath = "") {
226 - const resolvedPath = import_path.default.resolve(parentPath, subPath);
227 - if (resolvedPath === parentPath || resolvedPath.startsWith(parentPath + import_path.default.sep))
228 - return resolvedPath;
229 - return null;
230 -}
231 -const debugTest = debug("pw:test");
232 -const folderToPackageJsonPath = /* @__PURE__ */ new Map();
233 -function getPackageJsonPath(folderPath) {
234 - const cached = folderToPackageJsonPath.get(folderPath);
235 - if (cached !== void 0)
236 - return cached;
237 - const packageJsonPath = import_path.default.join(folderPath, "package.json");
238 - if (import_fs.default.existsSync(packageJsonPath)) {
239 - folderToPackageJsonPath.set(folderPath, packageJsonPath);
240 - return packageJsonPath;
241 - }
242 - const parentFolder = import_path.default.dirname(folderPath);
243 - if (folderPath === parentFolder) {
244 - folderToPackageJsonPath.set(folderPath, "");
245 - return "";
246 - }
247 - const result = getPackageJsonPath(parentFolder);
248 - folderToPackageJsonPath.set(folderPath, result);
249 - return result;
250 -}
251 -function resolveReporterOutputPath(defaultValue, configDir, configValue) {
252 - if (configValue)
253 - return import_path.default.resolve(configDir, configValue);
254 - let basePath = getPackageJsonPath(configDir);
255 - basePath = basePath ? import_path.default.dirname(basePath) : process.cwd();
256 - return import_path.default.resolve(basePath, defaultValue);
257 -}
258 -async function normalizeAndSaveAttachment(outputPath, name, options = {}) {
259 - if (options.path === void 0 && options.body === void 0)
260 - return { name, contentType: "text/plain" };
261 - if ((options.path !== void 0 ? 1 : 0) + (options.body !== void 0 ? 1 : 0) !== 1)
262 - throw new Error(`Exactly one of "path" and "body" must be specified`);
263 - if (options.path !== void 0) {
264 - const hash = calculateSha1(options.path);
265 - if (!isString(name))
266 - throw new Error('"name" should be string.');
267 - const sanitizedNamePrefix = sanitizeForFilePath(name) + "-";
268 - const dest = import_path.default.join(outputPath, "attachments", sanitizedNamePrefix + hash + import_path.default.extname(options.path));
269 - await import_fs.default.promises.mkdir(import_path.default.dirname(dest), { recursive: true });
270 - await import_fs.default.promises.copyFile(options.path, dest);
271 - const contentType = options.contentType ?? (mime.getType(import_path.default.basename(options.path)) || "application/octet-stream");
272 - return { name, contentType, path: dest };
273 - } else {
274 - const contentType = options.contentType ?? (typeof options.body === "string" ? "text/plain" : "application/octet-stream");
275 - return { name, contentType, body: typeof options.body === "string" ? Buffer.from(options.body) : options.body };
276 - }
277 -}
278 -function fileIsModule(file) {
279 - if (file.endsWith(".mjs") || file.endsWith(".mts"))
280 - return true;
281 - if (file.endsWith(".cjs") || file.endsWith(".cts"))
282 - return false;
283 - const folder = import_path.default.dirname(file);
284 - return folderIsModule(folder);
285 -}
286 -function folderIsModule(folder) {
287 - const packageJsonPath = getPackageJsonPath(folder);
288 - if (!packageJsonPath)
289 - return false;
290 - return require(packageJsonPath).type === "module";
291 -}
292 -const packageJsonMainFieldCache = /* @__PURE__ */ new Map();
293 -function getMainFieldFromPackageJson(packageJsonPath) {
294 - if (!packageJsonMainFieldCache.has(packageJsonPath)) {
295 - let mainField;
296 - try {
297 - mainField = JSON.parse(import_fs.default.readFileSync(packageJsonPath, "utf8")).main;
298 - } catch {
299 - }
300 - packageJsonMainFieldCache.set(packageJsonPath, mainField);
301 - }
302 - return packageJsonMainFieldCache.get(packageJsonPath);
303 -}
304 -const kExtLookups = /* @__PURE__ */ new Map([
305 - [".js", [".jsx", ".ts", ".tsx"]],
306 - [".jsx", [".tsx"]],
307 - [".cjs", [".cts"]],
308 - [".mjs", [".mts"]],
309 - ["", [".js", ".ts", ".jsx", ".tsx", ".cjs", ".mjs", ".cts", ".mts"]]
310 -]);
311 -function resolveImportSpecifierExtension(resolved) {
312 - if (fileExists(resolved))
313 - return resolved;
314 - for (const [ext, others] of kExtLookups) {
315 - if (!resolved.endsWith(ext))
316 - continue;
317 - for (const other of others) {
318 - const modified = resolved.substring(0, resolved.length - ext.length) + other;
319 - if (fileExists(modified))
320 - return modified;
321 - }
322 - break;
323 - }
324 -}
325 -function resolveImportSpecifierAfterMapping(resolved, afterPathMapping) {
326 - const resolvedFile = resolveImportSpecifierExtension(resolved);
327 - if (resolvedFile)
328 - return resolvedFile;
329 - if (dirExists(resolved)) {
330 - const packageJsonPath = import_path.default.join(resolved, "package.json");
331 - if (afterPathMapping) {
332 - const mainField = getMainFieldFromPackageJson(packageJsonPath);
333 - const mainFieldResolved = mainField ? resolveImportSpecifierExtension(import_path.default.resolve(resolved, mainField)) : void 0;
334 - return mainFieldResolved || resolveImportSpecifierExtension(import_path.default.join(resolved, "index"));
335 - }
336 - if (fileExists(packageJsonPath))
337 - return resolved;
338 - const dirImport = import_path.default.join(resolved, "index");
339 - return resolveImportSpecifierExtension(dirImport);
340 - }
341 -}
342 -function fileExists(resolved) {
343 - return import_fs.default.statSync(resolved, { throwIfNoEntry: false })?.isFile();
344 -}
345 -async function fileExistsAsync(resolved) {
346 - try {
347 - const stat = await import_fs.default.promises.stat(resolved);
348 - return stat.isFile();
349 - } catch {
350 - return false;
351 - }
352 -}
353 -function dirExists(resolved) {
354 - return import_fs.default.statSync(resolved, { throwIfNoEntry: false })?.isDirectory();
355 -}
356 -async function removeDirAndLogToConsole(dir) {
357 - try {
358 - if (!import_fs.default.existsSync(dir))
359 - return;
360 - console.log(`Removing ${await import_fs.default.promises.realpath(dir)}`);
361 - await import_fs.default.promises.rm(dir, { recursive: true, force: true });
362 - } catch {
363 - }
364 -}
365 -function takeFirst(...args) {
366 - for (const arg of args) {
367 - if (arg !== void 0)
368 - return arg;
369 - }
370 - return void 0;
371 -}
372 -// Annotate the CommonJS export names for ESM import in node:
373 -0 && (module.exports = {
374 - addSuffixToFilePath,
375 - ansiRegex,
376 - createFileMatcher,
377 - createTitleMatcher,
378 - debugTest,
379 - errorWithFile,
380 - expectTypes,
381 - fileExistsAsync,
382 - fileIsModule,
383 - filterStackFile,
384 - filterStackTrace,
385 - filteredStackTrace,
386 - forceRegExp,
387 - formatLocation,
388 - getContainedPath,
389 - getPackageJsonPath,
390 - mergeObjects,
391 - normalizeAndSaveAttachment,
392 - parseLocationArg,
393 - relativeFilePath,
394 - removeDirAndLogToConsole,
395 - resolveImportSpecifierAfterMapping,
396 - resolveReporterOutputPath,
397 - sanitizeFilePathBeforeExtension,
398 - serializeError,
399 - stripAnsiEscapes,
400 - takeFirst,
401 - trimLongString,
402 - windowsFilesystemFriendlyLength
403 -});
node_modules/playwright/lib/worker/workerProcessEntry.js deleted
-3251
@@ -1,3251 +0,0 @@
1 -"use strict";
2 -var __create = Object.create;
3 -var __defProp = Object.defineProperty;
4 -var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5 -var __getOwnPropNames = Object.getOwnPropertyNames;
6 -var __getProtoOf = Object.getPrototypeOf;
7 -var __hasOwnProp = Object.prototype.hasOwnProperty;
8 -var __commonJS = (cb, mod) => function __require() {
9 - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
10 -};
11 -var __copyProps = (to, from, except, desc) => {
12 - if (from && typeof from === "object" || typeof from === "function") {
13 - for (let key of __getOwnPropNames(from))
14 - if (!__hasOwnProp.call(to, key) && key !== except)
15 - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16 - }
17 - return to;
18 -};
19 -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20 - // If the importer is in node compatibility mode or this is not an ESM
21 - // file that has been converted to a CommonJS file using a Babel-
22 - // compatible transform (i.e. "__esModule" has not been set), then set
23 - // "default" to the CommonJS "module.exports" for node compatibility.
24 - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25 - mod
26 -));
27 -
28 -// packages/utils/third_party/yauzl/pend.js
29 -var require_pend = __commonJS({
30 - "packages/utils/third_party/yauzl/pend.js"(exports2, module2) {
31 - "use strict";
32 - module2.exports = Pend;
33 - function Pend() {
34 - this.pending = 0;
35 - this.max = Infinity;
36 - this.listeners = [];
37 - this.waiting = [];
38 - this.error = null;
39 - }
40 - Pend.prototype.go = function(fn) {
41 - if (this.pending < this.max) {
42 - pendGo(this, fn);
43 - } else {
44 - this.waiting.push(fn);
45 - }
46 - };
47 - Pend.prototype.wait = function(cb) {
48 - if (this.pending === 0) {
49 - cb(this.error);
50 - } else {
51 - this.listeners.push(cb);
52 - }
53 - };
54 - Pend.prototype.hold = function() {
55 - return pendHold(this);
56 - };
57 - function pendHold(self) {
58 - self.pending += 1;
59 - var called = false;
60 - return onCb;
61 - function onCb(err) {
62 - if (called) throw new Error("callback called twice");
63 - called = true;
64 - self.error = self.error || err;
65 - self.pending -= 1;
66 - if (self.waiting.length > 0 && self.pending < self.max) {
67 - pendGo(self, self.waiting.shift());
68 - } else if (self.pending === 0) {
69 - var listeners = self.listeners;
70 - self.listeners = [];
71 - listeners.forEach(cbListener);
72 - }
73 - }
74 - function cbListener(listener) {
75 - listener(self.error);
76 - }
77 - }
78 - function pendGo(self, fn) {
79 - fn(pendHold(self));
80 - }
81 - }
82 -});
83 -
84 -// packages/utils/third_party/yauzl/fd-slicer.js
85 -var require_fd_slicer = __commonJS({
86 - "packages/utils/third_party/yauzl/fd-slicer.js"(exports2) {
87 - "use strict";
88 - var fs4 = require("fs");
89 - var util2 = require("util");
90 - var stream = require("stream");
91 - var Readable = stream.Readable;
92 - var Writable = stream.Writable;
93 - var PassThrough = stream.PassThrough;
94 - var Pend = require_pend();
95 - var EventEmitter = require("events").EventEmitter;
96 - exports2.createFromBuffer = createFromBuffer;
97 - exports2.createFromFd = createFromFd;
98 - exports2.BufferSlicer = BufferSlicer;
99 - exports2.FdSlicer = FdSlicer;
100 - util2.inherits(FdSlicer, EventEmitter);
101 - function FdSlicer(fd, options2) {
102 - options2 = options2 || {};
103 - EventEmitter.call(this);
104 - this.fd = fd;
105 - this.pend = new Pend();
106 - this.pend.max = 1;
107 - this.refCount = 0;
108 - this.autoClose = !!options2.autoClose;
109 - }
110 - FdSlicer.prototype.read = function(buffer, offset, length, position, callback) {
111 - var self = this;
112 - self.pend.go(function(cb) {
113 - fs4.read(self.fd, buffer, offset, length, position, function(err, bytesRead, buffer2) {
114 - cb();
115 - callback(err, bytesRead, buffer2);
116 - });
117 - });
118 - };
119 - FdSlicer.prototype.write = function(buffer, offset, length, position, callback) {
120 - var self = this;
121 - self.pend.go(function(cb) {
122 - fs4.write(self.fd, buffer, offset, length, position, function(err, written, buffer2) {
123 - cb();
124 - callback(err, written, buffer2);
125 - });
126 - });
127 - };
128 - FdSlicer.prototype.createReadStream = function(options2) {
129 - return new ReadStream(this, options2);
130 - };
131 - FdSlicer.prototype.createWriteStream = function(options2) {
132 - return new WriteStream(this, options2);
133 - };
134 - FdSlicer.prototype.ref = function() {
135 - this.refCount += 1;
136 - };
137 - FdSlicer.prototype.unref = function() {
138 - var self = this;
139 - self.refCount -= 1;
140 - if (self.refCount > 0) return;
141 - if (self.refCount < 0) throw new Error("invalid unref");
142 - if (self.autoClose) {
143 - fs4.close(self.fd, onCloseDone);
144 - }
145 - function onCloseDone(err) {
146 - if (err) {
147 - self.emit("error", err);
148 - } else {
149 - self.emit("close");
150 - }
151 - }
152 - };
153 - util2.inherits(ReadStream, Readable);
154 - function ReadStream(context, options2) {
155 - options2 = options2 || {};
156 - Readable.call(this, options2);
157 - this.context = context;
158 - this.context.ref();
159 - this.start = options2.start || 0;
160 - this.endOffset = options2.end;
161 - this.pos = this.start;
162 - this._destroyed = false;
163 - }
164 - ReadStream.prototype._read = function(n) {
165 - var self = this;
166 - if (self._destroyed) return;
167 - var toRead = Math.min(self._readableState.highWaterMark, n);
168 - if (self.endOffset != null) {
169 - toRead = Math.min(toRead, self.endOffset - self.pos);
170 - }
171 - if (toRead <= 0) {
172 - self._destroyed = true;
173 - self.push(null);
174 - self.context.unref();
175 - return;
176 - }
177 - self.context.pend.go(function(cb) {
178 - if (self._destroyed) return cb();
179 - var buffer = Buffer.allocUnsafe(toRead);
180 - fs4.read(self.context.fd, buffer, 0, toRead, self.pos, function(err, bytesRead) {
181 - if (self._destroyed) return cb();
182 - if (err) {
183 - self.destroy(err);
184 - } else if (bytesRead === 0) {
185 - self._destroyed = true;
186 - self.push(null);
187 - self.context.unref();
188 - } else {
189 - self.pos += bytesRead;
190 - self.push(buffer.slice(0, bytesRead));
191 - }
192 - cb();
193 - });
194 - });
195 - };
196 - ReadStream.prototype.destroy = function(err) {
197 - if (err == null && !this.readableEnded) {
198 - err = new Error("stream destroyed");
199 - }
200 - return Readable.prototype.destroy.call(this, err);
201 - };
202 - ReadStream.prototype._destroy = function(err, cb) {
203 - if (!this._destroyed) {
204 - this._destroyed = true;
205 - this.context.unref();
206 - }
207 - cb(err);
208 - };
209 - util2.inherits(WriteStream, Writable);
210 - function WriteStream(context, options2) {
211 - options2 = options2 || {};
212 - Writable.call(this, options2);
213 - this.context = context;
214 - this.context.ref();
215 - this.start = options2.start || 0;
216 - this.endOffset = options2.end == null ? Infinity : +options2.end;
217 - this.bytesWritten = 0;
218 - this.pos = this.start;
219 - this._destroyed = false;
220 - this.on("finish", this.destroy.bind(this));
221 - }
222 - WriteStream.prototype._write = function(buffer, encoding, callback) {
223 - var self = this;
224 - if (self._destroyed) return;
225 - if (self.pos + buffer.length > self.endOffset) {
226 - var err = new Error("maximum file length exceeded");
227 - err.code = "ETOOBIG";
228 - self.destroy();
229 - callback(err);
230 - return;
231 - }
232 - self.context.pend.go(function(cb) {
233 - if (self._destroyed) return cb();
234 - fs4.write(self.context.fd, buffer, 0, buffer.length, self.pos, function(err2, bytes) {
235 - if (err2) {
236 - self.destroy();
237 - cb();
238 - callback(err2);
239 - } else {
240 - self.bytesWritten += bytes;
241 - self.pos += bytes;
242 - self.emit("progress");
243 - cb();
244 - callback();
245 - }
246 - });
247 - });
248 - };
249 - WriteStream.prototype._destroy = function(err, cb) {
250 - if (!this._destroyed) {
251 - this._destroyed = true;
252 - this.context.unref();
253 - }
254 - cb(err);
255 - };
256 - util2.inherits(BufferSlicer, EventEmitter);
257 - function BufferSlicer(buffer, options2) {
258 - EventEmitter.call(this);
259 - options2 = options2 || {};
260 - this.refCount = 0;
261 - this.buffer = buffer;
262 - this.maxChunkSize = options2.maxChunkSize || Number.MAX_SAFE_INTEGER;
263 - }
264 - BufferSlicer.prototype.read = function(buffer, offset, length, position, callback) {
265 - if (!(0 <= offset && offset <= buffer.length)) throw new RangeError("offset outside buffer: 0 <= " + offset + " <= " + buffer.length);
266 - if (position < 0) throw new RangeError("position is negative: " + position);
267 - if (offset + length > buffer.length) {
268 - length = buffer.length - offset;
269 - }
270 - if (position + length > this.buffer.length) {
271 - length = this.buffer.length - position;
272 - }
273 - if (length <= 0) {
274 - setImmediate(function() {
275 - callback(null, 0);
276 - });
277 - return;
278 - }
279 - this.buffer.copy(buffer, offset, position, position + length);
280 - setImmediate(function() {
281 - callback(null, length);
282 - });
283 - };
284 - BufferSlicer.prototype.write = function(buffer, offset, length, position, callback) {
285 - buffer.copy(this.buffer, position, offset, offset + length);
286 - setImmediate(function() {
287 - callback(null, length, buffer);
288 - });
289 - };
290 - BufferSlicer.prototype.createReadStream = function(options2) {
291 - options2 = options2 || {};
292 - var readStream = new PassThrough(options2);
293 - readStream._destroyed = false;
294 - readStream.start = options2.start || 0;
295 - readStream.endOffset = options2.end;
296 - readStream.pos = readStream.endOffset || this.buffer.length;
297 - var entireSlice = this.buffer.slice(readStream.start, readStream.pos);
298 - var offset = 0;
299 - while (true) {
300 - var nextOffset = offset + this.maxChunkSize;
301 - if (nextOffset >= entireSlice.length) {
302 - if (offset < entireSlice.length) {
303 - readStream.write(entireSlice.slice(offset, entireSlice.length));
304 - }
305 - break;
306 - }
307 - readStream.write(entireSlice.slice(offset, nextOffset));
308 - offset = nextOffset;
309 - }
310 - readStream.end();
311 - readStream._destroy = function(err, cb) {
312 - readStream._destroyed = true;
313 - PassThrough.prototype._destroy.call(readStream, err, cb);
314 - };
315 - return readStream;
316 - };
317 - BufferSlicer.prototype.createWriteStream = function(options2) {
318 - var bufferSlicer = this;
319 - options2 = options2 || {};
320 - var writeStream = new Writable(options2);
321 - writeStream.start = options2.start || 0;
322 - writeStream.endOffset = options2.end == null ? this.buffer.length : +options2.end;
323 - writeStream.bytesWritten = 0;
324 - writeStream.pos = writeStream.start;
325 - writeStream._destroyed = false;
326 - writeStream._write = function(buffer, encoding, callback) {
327 - if (writeStream._destroyed) return;
328 - var end = writeStream.pos + buffer.length;
329 - if (end > writeStream.endOffset) {
330 - var err = new Error("maximum file length exceeded");
331 - err.code = "ETOOBIG";
332 - writeStream._destroyed = true;
333 - callback(err);
334 - return;
335 - }
336 - buffer.copy(bufferSlicer.buffer, writeStream.pos, 0, buffer.length);
337 - writeStream.bytesWritten += buffer.length;
338 - writeStream.pos = end;
339 - writeStream.emit("progress");
340 - callback();
341 - };
342 - writeStream._destroy = function(err, cb) {
343 - writeStream._destroyed = true;
344 - cb(err);
345 - };
346 - return writeStream;
347 - };
348 - BufferSlicer.prototype.ref = function() {
349 - this.refCount += 1;
350 - };
351 - BufferSlicer.prototype.unref = function() {
352 - this.refCount -= 1;
353 - if (this.refCount < 0) {
354 - throw new Error("invalid unref");
355 - }
356 - };
357 - function createFromBuffer(buffer, options2) {
358 - return new BufferSlicer(buffer, options2);
359 - }
360 - function createFromFd(fd, options2) {
361 - return new FdSlicer(fd, options2);
362 - }
363 - }
364 -});
365 -
366 -// packages/utils/third_party/yauzl/buffer-crc32.js
367 -var require_buffer_crc32 = __commonJS({
368 - "packages/utils/third_party/yauzl/buffer-crc32.js"(exports2, module2) {
369 - "use strict";
370 - var Buffer2 = require("buffer").Buffer;
371 - var CRC_TABLE = [
372 - 0,
373 - 1996959894,
374 - 3993919788,
375 - 2567524794,
376 - 124634137,
377 - 1886057615,
378 - 3915621685,
379 - 2657392035,
380 - 249268274,
381 - 2044508324,
382 - 3772115230,
383 - 2547177864,
384 - 162941995,
385 - 2125561021,
386 - 3887607047,
387 - 2428444049,
388 - 498536548,
389 - 1789927666,
390 - 4089016648,
391 - 2227061214,
392 - 450548861,
393 - 1843258603,
394 - 4107580753,
395 - 2211677639,
396 - 325883990,
397 - 1684777152,
398 - 4251122042,
399 - 2321926636,
400 - 335633487,
401 - 1661365465,
402 - 4195302755,
403 - 2366115317,
404 - 997073096,
405 - 1281953886,
406 - 3579855332,
407 - 2724688242,
408 - 1006888145,
409 - 1258607687,
410 - 3524101629,
411 - 2768942443,
412 - 901097722,
413 - 1119000684,
414 - 3686517206,
415 - 2898065728,
416 - 853044451,
417 - 1172266101,
418 - 3705015759,
419 - 2882616665,
420 - 651767980,
421 - 1373503546,
422 - 3369554304,
423 - 3218104598,
424 - 565507253,
425 - 1454621731,
426 - 3485111705,
427 - 3099436303,
428 - 671266974,
429 - 1594198024,
430 - 3322730930,
431 - 2970347812,
432 - 795835527,
433 - 1483230225,
434 - 3244367275,
435 - 3060149565,
436 - 1994146192,
437 - 31158534,
438 - 2563907772,
439 - 4023717930,
440 - 1907459465,
441 - 112637215,
442 - 2680153253,
443 - 3904427059,
444 - 2013776290,
445 - 251722036,
446 - 2517215374,
447 - 3775830040,
448 - 2137656763,
449 - 141376813,
450 - 2439277719,
451 - 3865271297,
452 - 1802195444,
453 - 476864866,
454 - 2238001368,
455 - 4066508878,
456 - 1812370925,
457 - 453092731,
458 - 2181625025,
459 - 4111451223,
460 - 1706088902,
461 - 314042704,
462 - 2344532202,
463 - 4240017532,
464 - 1658658271,
465 - 366619977,
466 - 2362670323,
467 - 4224994405,
468 - 1303535960,
469 - 984961486,
470 - 2747007092,
471 - 3569037538,
472 - 1256170817,
473 - 1037604311,
474 - 2765210733,
475 - 3554079995,
476 - 1131014506,
477 - 879679996,
478 - 2909243462,
479 - 3663771856,
480 - 1141124467,
481 - 855842277,
482 - 2852801631,
483 - 3708648649,
484 - 1342533948,
485 - 654459306,
486 - 3188396048,
487 - 3373015174,
488 - 1466479909,
489 - 544179635,
490 - 3110523913,
491 - 3462522015,
492 - 1591671054,
493 - 702138776,
494 - 2966460450,
495 - 3352799412,
496 - 1504918807,
497 - 783551873,
498 - 3082640443,
499 - 3233442989,
500 - 3988292384,
501 - 2596254646,
502 - 62317068,
503 - 1957810842,
504 - 3939845945,
505 - 2647816111,
506 - 81470997,
507 - 1943803523,
508 - 3814918930,
509 - 2489596804,
510 - 225274430,
511 - 2053790376,
512 - 3826175755,
513 - 2466906013,
514 - 167816743,
515 - 2097651377,
516 - 4027552580,
517 - 2265490386,
518 - 503444072,
519 - 1762050814,
520 - 4150417245,
521 - 2154129355,
522 - 426522225,
523 - 1852507879,
524 - 4275313526,
525 - 2312317920,
526 - 282753626,
527 - 1742555852,
528 - 4189708143,
529 - 2394877945,
530 - 397917763,
531 - 1622183637,
532 - 3604390888,
533 - 2714866558,
534 - 953729732,
535 - 1340076626,
536 - 3518719985,
537 - 2797360999,
538 - 1068828381,
539 - 1219638859,
540 - 3624741850,
541 - 2936675148,
542 - 906185462,
543 - 1090812512,
544 - 3747672003,
545 - 2825379669,
546 - 829329135,
547 - 1181335161,
548 - 3412177804,
549 - 3160834842,
550 - 628085408,
551 - 1382605366,
552 - 3423369109,
553 - 3138078467,
554 - 570562233,
555 - 1426400815,
556 - 3317316542,
557 - 2998733608,
558 - 733239954,
559 - 1555261956,
560 - 3268935591,
561 - 3050360625,
562 - 752459403,
563 - 1541320221,
564 - 2607071920,
565 - 3965973030,
566 - 1969922972,
567 - 40735498,
568 - 2617837225,
569 - 3943577151,
570 - 1913087877,
571 - 83908371,
572 - 2512341634,
573 - 3803740692,
574 - 2075208622,
575 - 213261112,
576 - 2463272603,
577 - 3855990285,
578 - 2094854071,
579 - 198958881,
580 - 2262029012,
581 - 4057260610,
582 - 1759359992,
583 - 534414190,
584 - 2176718541,
585 - 4139329115,
586 - 1873836001,
587 - 414664567,
588 - 2282248934,
589 - 4279200368,
590 - 1711684554,
591 - 285281116,
592 - 2405801727,
593 - 4167216745,
594 - 1634467795,
595 - 376229701,
596 - 2685067896,
597 - 3608007406,
598 - 1308918612,
599 - 956543938,
600 - 2808555105,
601 - 3495958263,
602 - 1231636301,
603 - 1047427035,
604 - 2932959818,
605 - 3654703836,
606 - 1088359270,
607 - 936918e3,
608 - 2847714899,
609 - 3736837829,
610 - 1202900863,
611 - 817233897,
612 - 3183342108,
613 - 3401237130,
614 - 1404277552,
615 - 615818150,
616 - 3134207493,
617 - 3453421203,
618 - 1423857449,
619 - 601450431,
620 - 3009837614,
621 - 3294710456,
622 - 1567103746,
623 - 711928724,
624 - 3020668471,
625 - 3272380065,
626 - 1510334235,
627 - 755167117
628 - ];
629 - if (typeof Int32Array !== "undefined") {
630 - CRC_TABLE = new Int32Array(CRC_TABLE);
631 - }
632 - function ensureBuffer(input) {
633 - if (Buffer2.isBuffer(input)) {
634 - return input;
635 - }
636 - var hasNewBufferAPI = typeof Buffer2.alloc === "function" && typeof Buffer2.from === "function";
637 - if (typeof input === "number") {
638 - return hasNewBufferAPI ? Buffer2.alloc(input) : new Buffer2(input);
639 - } else if (typeof input === "string") {
640 - return hasNewBufferAPI ? Buffer2.from(input) : new Buffer2(input);
641 - } else {
642 - throw new Error("input must be buffer, number, or string, received " + typeof input);
643 - }
644 - }
645 - function bufferizeInt(num) {
646 - var tmp = ensureBuffer(4);
647 - tmp.writeInt32BE(num, 0);
648 - return tmp;
649 - }
650 - function _crc32(buf, previous) {
651 - buf = ensureBuffer(buf);
652 - if (Buffer2.isBuffer(previous)) {
653 - previous = previous.readUInt32BE(0);
654 - }
655 - var crc = ~~previous ^ -1;
656 - for (var n = 0; n < buf.length; n++) {
657 - crc = CRC_TABLE[(crc ^ buf[n]) & 255] ^ crc >>> 8;
658 - }
659 - return crc ^ -1;
660 - }
661 - function crc32() {
662 - return bufferizeInt(_crc32.apply(null, arguments));
663 - }
664 - crc32.signed = function() {
665 - return _crc32.apply(null, arguments);
666 - };
667 - crc32.unsigned = function() {
668 - return _crc32.apply(null, arguments) >>> 0;
669 - };
670 - module2.exports = crc32;
671 - }
672 -});
673 -
674 -// packages/utils/third_party/yauzl/index.js
675 -var require_yauzl = __commonJS({
676 - "packages/utils/third_party/yauzl/index.js"(exports2) {
677 - "use strict";
678 - var fs4 = require("fs");
679 - var zlib = require("zlib");
680 - var fd_slicer = require_fd_slicer();
681 - var crc32 = require_buffer_crc32();
682 - var util2 = require("util");
683 - var EventEmitter = require("events").EventEmitter;
684 - var Transform = require("stream").Transform;
685 - var PassThrough = require("stream").PassThrough;
686 - var Writable = require("stream").Writable;
687 - exports2.open = open2;
688 - exports2.fromFd = fromFd;
689 - exports2.fromBuffer = fromBuffer;
690 - exports2.fromRandomAccessReader = fromRandomAccessReader;
691 - exports2.dosDateTimeToDate = dosDateTimeToDate;
692 - exports2.getFileNameLowLevel = getFileNameLowLevel;
693 - exports2.validateFileName = validateFileName;
694 - exports2.parseExtraFields = parseExtraFields;
695 - exports2.ZipFile = ZipFile;
696 - exports2.Entry = Entry;
697 - exports2.LocalFileHeader = LocalFileHeader;
698 - exports2.RandomAccessReader = RandomAccessReader;
699 - function open2(path4, options2, callback) {
700 - if (typeof options2 === "function") {
701 - callback = options2;
702 - options2 = null;
703 - }
704 - if (options2 == null) options2 = {};
705 - if (options2.autoClose == null) options2.autoClose = true;
706 - if (options2.lazyEntries == null) options2.lazyEntries = false;
707 - if (options2.decodeStrings == null) options2.decodeStrings = true;
708 - if (options2.validateEntrySizes == null) options2.validateEntrySizes = true;
709 - if (options2.strictFileNames == null) options2.strictFileNames = false;
710 - if (callback == null) callback = defaultCallback;
711 - fs4.open(path4, "r", function(err, fd) {
712 - if (err) return callback(err);
713 - fromFd(fd, options2, function(err2, zipfile) {
714 - if (err2) fs4.close(fd, defaultCallback);
715 - callback(err2, zipfile);
716 - });
717 - });
718 - }
719 - function fromFd(fd, options2, callback) {
720 - if (typeof options2 === "function") {
721 - callback = options2;
722 - options2 = null;
723 - }
724 - if (options2 == null) options2 = {};
725 - if (options2.autoClose == null) options2.autoClose = false;
726 - if (options2.lazyEntries == null) options2.lazyEntries = false;
727 - if (options2.decodeStrings == null) options2.decodeStrings = true;
728 - if (options2.validateEntrySizes == null) options2.validateEntrySizes = true;
729 - if (options2.strictFileNames == null) options2.strictFileNames = false;
730 - if (callback == null) callback = defaultCallback;
731 - fs4.fstat(fd, function(err, stats) {
732 - if (err) return callback(err);
733 - var reader = fd_slicer.createFromFd(fd, { autoClose: true });
734 - fromRandomAccessReader(reader, stats.size, options2, callback);
735 - });
736 - }
737 - function fromBuffer(buffer, options2, callback) {
738 - if (typeof options2 === "function") {
739 - callback = options2;
740 - options2 = null;
741 - }
742 - if (options2 == null) options2 = {};
743 - options2.autoClose = false;
744 - if (options2.lazyEntries == null) options2.lazyEntries = false;
745 - if (options2.decodeStrings == null) options2.decodeStrings = true;
746 - if (options2.validateEntrySizes == null) options2.validateEntrySizes = true;
747 - if (options2.strictFileNames == null) options2.strictFileNames = false;
748 - var reader = fd_slicer.createFromBuffer(buffer, { maxChunkSize: 65536 });
749 - fromRandomAccessReader(reader, buffer.length, options2, callback);
750 - }
751 - function fromRandomAccessReader(reader, totalSize, options2, callback) {
752 - if (typeof options2 === "function") {
753 - callback = options2;
754 - options2 = null;
755 - }
756 - if (options2 == null) options2 = {};
757 - if (options2.autoClose == null) options2.autoClose = true;
758 - if (options2.lazyEntries == null) options2.lazyEntries = false;
759 - if (options2.decodeStrings == null) options2.decodeStrings = true;
760 - var decodeStrings = !!options2.decodeStrings;
761 - if (options2.validateEntrySizes == null) options2.validateEntrySizes = true;
762 - if (options2.strictFileNames == null) options2.strictFileNames = false;
763 - if (callback == null) callback = defaultCallback;
764 - if (typeof totalSize !== "number") throw new Error("expected totalSize parameter to be a number");
765 - if (totalSize > Number.MAX_SAFE_INTEGER) {
766 - throw new Error("zip file too large. only file sizes up to 2^52 are supported due to JavaScript's Number type being an IEEE 754 double.");
767 - }
768 - reader.ref();
769 - var eocdrWithoutCommentSize = 22;
770 - var zip64EocdlSize = 20;
771 - var maxCommentSize = 65535;
772 - var bufferSize = Math.min(zip64EocdlSize + eocdrWithoutCommentSize + maxCommentSize, totalSize);
773 - var buffer = newBuffer(bufferSize);
774 - var bufferReadStart = totalSize - buffer.length;
775 - readAndAssertNoEof(reader, buffer, 0, bufferSize, bufferReadStart, function(err) {
776 - if (err) return callback(err);
777 - for (var i = bufferSize - eocdrWithoutCommentSize; i >= 0; i -= 1) {
778 - if (buffer.readUInt32LE(i) !== 101010256) continue;
779 - var eocdrBuffer = buffer.subarray(i);
780 - var diskNumber = eocdrBuffer.readUInt16LE(4);
781 - var entryCount = eocdrBuffer.readUInt16LE(10);
782 - var centralDirectoryOffset = eocdrBuffer.readUInt32LE(16);
783 - var commentLength = eocdrBuffer.readUInt16LE(20);
784 - var expectedCommentLength = eocdrBuffer.length - eocdrWithoutCommentSize;
785 - if (commentLength !== expectedCommentLength) {
786 - return callback(new Error("Invalid comment length. Expected: " + expectedCommentLength + ". Found: " + commentLength + ". Are there extra bytes at the end of the file? Or is the end of central dir signature `PK\u263A\u263B` in the comment?"));
787 - }
788 - var comment = decodeStrings ? decodeBuffer(eocdrBuffer.subarray(22), false) : eocdrBuffer.subarray(22);
789 - if (i - zip64EocdlSize >= 0 && buffer.readUInt32LE(i - zip64EocdlSize) === 117853008) {
790 - var zip64EocdlBuffer = buffer.subarray(i - zip64EocdlSize, i - zip64EocdlSize + zip64EocdlSize);
791 - var zip64EocdrOffset = readUInt64LE(zip64EocdlBuffer, 8);
792 - var zip64EocdrBuffer = newBuffer(56);
793 - return readAndAssertNoEof(reader, zip64EocdrBuffer, 0, zip64EocdrBuffer.length, zip64EocdrOffset, function(err2) {
794 - if (err2) return callback(err2);
795 - if (zip64EocdrBuffer.readUInt32LE(0) !== 101075792) {
796 - return callback(new Error("invalid zip64 end of central directory record signature"));
797 - }
798 - diskNumber = zip64EocdrBuffer.readUInt32LE(16);
799 - if (diskNumber !== 0) {
800 - return callback(new Error("multi-disk zip files are not supported: found disk number: " + diskNumber));
801 - }
802 - entryCount = readUInt64LE(zip64EocdrBuffer, 32);
803 - centralDirectoryOffset = readUInt64LE(zip64EocdrBuffer, 48);
804 - return callback(null, new ZipFile(reader, centralDirectoryOffset, totalSize, entryCount, comment, options2.autoClose, options2.lazyEntries, decodeStrings, options2.validateEntrySizes, options2.strictFileNames));
805 - });
806 - }
807 - if (diskNumber !== 0) {
808 - return callback(new Error("multi-disk zip files are not supported: found disk number: " + diskNumber));
809 - }
810 - return callback(null, new ZipFile(reader, centralDirectoryOffset, totalSize, entryCount, comment, options2.autoClose, options2.lazyEntries, decodeStrings, options2.validateEntrySizes, options2.strictFileNames));
811 - }
812 - callback(new Error("End of central directory record signature not found. Either not a zip file, or file is truncated."));
813 - });
814 - }
815 - util2.inherits(ZipFile, EventEmitter);
816 - function ZipFile(reader, centralDirectoryOffset, fileSize, entryCount, comment, autoClose, lazyEntries, decodeStrings, validateEntrySizes, strictFileNames) {
817 - var self = this;
818 - EventEmitter.call(self);
819 - self.reader = reader;
820 - self.reader.on("error", function(err) {
821 - emitError(self, err);
822 - });
823 - self.reader.once("close", function() {
824 - self.emit("close");
825 - });
826 - self.readEntryCursor = centralDirectoryOffset;
827 - self.fileSize = fileSize;
828 - self.entryCount = entryCount;
829 - self.comment = comment;
830 - self.entriesRead = 0;
831 - self.autoClose = !!autoClose;
832 - self.lazyEntries = !!lazyEntries;
833 - self.decodeStrings = !!decodeStrings;
834 - self.validateEntrySizes = !!validateEntrySizes;
835 - self.strictFileNames = !!strictFileNames;
836 - self.isOpen = true;
837 - self.emittedError = false;
838 - if (!self.lazyEntries) self._readEntry();
839 - }
840 - ZipFile.prototype.close = function() {
841 - if (!this.isOpen) return;
842 - this.isOpen = false;
843 - this.reader.unref();
844 - };
845 - function emitErrorAndAutoClose(self, err) {
846 - if (self.autoClose) self.close();
847 - emitError(self, err);
848 - }
849 - function emitError(self, err) {
850 - if (self.emittedError) return;
851 - self.emittedError = true;
852 - self.emit("error", err);
853 - }
854 - ZipFile.prototype.readEntry = function() {
855 - if (!this.lazyEntries) throw new Error("readEntry() called without lazyEntries:true");
856 - this._readEntry();
857 - };
858 - ZipFile.prototype._readEntry = function() {
859 - var self = this;
860 - if (self.entryCount === self.entriesRead) {
861 - setImmediate(function() {
862 - if (self.autoClose) self.close();
863 - if (self.emittedError) return;
864 - self.emit("end");
865 - });
866 - return;
867 - }
868 - if (self.emittedError) return;
869 - var buffer = newBuffer(46);
870 - readAndAssertNoEof(self.reader, buffer, 0, buffer.length, self.readEntryCursor, function(err) {
871 - if (err) return emitErrorAndAutoClose(self, err);
872 - if (self.emittedError) return;
873 - var entry = new Entry();
874 - var signature = buffer.readUInt32LE(0);
875 - if (signature !== 33639248) return emitErrorAndAutoClose(self, new Error("invalid central directory file header signature: 0x" + signature.toString(16)));
876 - entry.versionMadeBy = buffer.readUInt16LE(4);
877 - entry.versionNeededToExtract = buffer.readUInt16LE(6);
878 - entry.generalPurposeBitFlag = buffer.readUInt16LE(8);
879 - entry.compressionMethod = buffer.readUInt16LE(10);
880 - entry.lastModFileTime = buffer.readUInt16LE(12);
881 - entry.lastModFileDate = buffer.readUInt16LE(14);
882 - entry.crc32 = buffer.readUInt32LE(16);
883 - entry.compressedSize = buffer.readUInt32LE(20);
884 - entry.uncompressedSize = buffer.readUInt32LE(24);
885 - entry.fileNameLength = buffer.readUInt16LE(28);
886 - entry.extraFieldLength = buffer.readUInt16LE(30);
887 - entry.fileCommentLength = buffer.readUInt16LE(32);
888 - entry.internalFileAttributes = buffer.readUInt16LE(36);
889 - entry.externalFileAttributes = buffer.readUInt32LE(38);
890 - entry.relativeOffsetOfLocalHeader = buffer.readUInt32LE(42);
891 - if (entry.generalPurposeBitFlag & 64) return emitErrorAndAutoClose(self, new Error("strong encryption is not supported"));
892 - self.readEntryCursor += 46;
893 - buffer = newBuffer(entry.fileNameLength + entry.extraFieldLength + entry.fileCommentLength);
894 - readAndAssertNoEof(self.reader, buffer, 0, buffer.length, self.readEntryCursor, function(err2) {
895 - if (err2) return emitErrorAndAutoClose(self, err2);
896 - if (self.emittedError) return;
897 - entry.fileNameRaw = buffer.subarray(0, entry.fileNameLength);
898 - var fileCommentStart = entry.fileNameLength + entry.extraFieldLength;
899 - entry.extraFieldRaw = buffer.subarray(entry.fileNameLength, fileCommentStart);
900 - entry.fileCommentRaw = buffer.subarray(fileCommentStart, fileCommentStart + entry.fileCommentLength);
901 - try {
902 - entry.extraFields = parseExtraFields(entry.extraFieldRaw);
903 - } catch (err3) {
904 - return emitErrorAndAutoClose(self, err3);
905 - }
906 - if (self.decodeStrings) {
907 - var isUtf8 = (entry.generalPurposeBitFlag & 2048) !== 0;
908 - entry.fileComment = decodeBuffer(entry.fileCommentRaw, isUtf8);
909 - entry.fileName = getFileNameLowLevel(entry.generalPurposeBitFlag, entry.fileNameRaw, entry.extraFields, self.strictFileNames);
910 - var errorMessage = validateFileName(entry.fileName);
911 - if (errorMessage != null) return emitErrorAndAutoClose(self, new Error(errorMessage));
912 - } else {
913 - entry.fileComment = entry.fileCommentRaw;
914 - entry.fileName = entry.fileNameRaw;
915 - }
916 - entry.comment = entry.fileComment;
917 - self.readEntryCursor += buffer.length;
918 - self.entriesRead += 1;
919 - for (var i = 0; i < entry.extraFields.length; i++) {
920 - var extraField = entry.extraFields[i];
921 - if (extraField.id !== 1) continue;
922 - var zip64EiefBuffer = extraField.data;
923 - var index = 0;
924 - if (entry.uncompressedSize === 4294967295) {
925 - if (index + 8 > zip64EiefBuffer.length) {
926 - return emitErrorAndAutoClose(self, new Error("zip64 extended information extra field does not include uncompressed size"));
927 - }
928 - entry.uncompressedSize = readUInt64LE(zip64EiefBuffer, index);
929 - index += 8;
930 - }
931 - if (entry.compressedSize === 4294967295) {
932 - if (index + 8 > zip64EiefBuffer.length) {
933 - return emitErrorAndAutoClose(self, new Error("zip64 extended information extra field does not include compressed size"));
934 - }
935 - entry.compressedSize = readUInt64LE(zip64EiefBuffer, index);
936 - index += 8;
937 - }
938 - if (entry.relativeOffsetOfLocalHeader === 4294967295) {
939 - if (index + 8 > zip64EiefBuffer.length) {
940 - return emitErrorAndAutoClose(self, new Error("zip64 extended information extra field does not include relative header offset"));
941 - }
942 - entry.relativeOffsetOfLocalHeader = readUInt64LE(zip64EiefBuffer, index);
943 - index += 8;
944 - }
945 - break;
946 - }
947 - if (self.validateEntrySizes && entry.compressionMethod === 0) {
948 - var expectedCompressedSize = entry.uncompressedSize;
949 - if (entry.isEncrypted()) {
950 - expectedCompressedSize += 12;
951 - }
952 - if (entry.compressedSize !== expectedCompressedSize) {
953 - var msg = "compressed/uncompressed size mismatch for stored file: " + entry.compressedSize + " != " + entry.uncompressedSize;
954 - return emitErrorAndAutoClose(self, new Error(msg));
955 - }
956 - }
957 - self.emit("entry", entry);
958 - if (!self.lazyEntries) self._readEntry();
959 - });
960 - });
961 - };
962 - ZipFile.prototype.openReadStream = function(entry, options2, callback) {
963 - var self = this;
964 - var relativeStart = 0;
965 - var relativeEnd = entry.compressedSize;
966 - if (callback == null) {
967 - callback = options2;
968 - options2 = null;
969 - }
970 - if (options2 == null) {
971 - options2 = {};
972 - } else {
973 - if (options2.decrypt != null) {
974 - if (!entry.isEncrypted()) {
975 - throw new Error("options.decrypt can only be specified for encrypted entries");
976 - }
977 - if (options2.decrypt !== false) throw new Error("invalid options.decrypt value: " + options2.decrypt);
978 - if (entry.isCompressed()) {
979 - if (options2.decompress !== false) throw new Error("entry is encrypted and compressed, and options.decompress !== false");
980 - }
981 - }
982 - if (options2.decompress != null) {
983 - if (!entry.isCompressed()) {
984 - throw new Error("options.decompress can only be specified for compressed entries");
985 - }
986 - if (!(options2.decompress === false || options2.decompress === true)) {
987 - throw new Error("invalid options.decompress value: " + options2.decompress);
988 - }
989 - }
990 - if (options2.start != null || options2.end != null) {
991 - if (entry.isCompressed() && options2.decompress !== false) {
992 - throw new Error("start/end range not allowed for compressed entry without options.decompress === false");
993 - }
994 - if (entry.isEncrypted() && options2.decrypt !== false) {
995 - throw new Error("start/end range not allowed for encrypted entry without options.decrypt === false");
996 - }
997 - }
998 - if (options2.start != null) {
999 - relativeStart = options2.start;
1000 - if (relativeStart < 0) throw new Error("options.start < 0");
1001 - if (relativeStart > entry.compressedSize) throw new Error("options.start > entry.compressedSize");
1002 - }
1003 - if (options2.end != null) {
1004 - relativeEnd = options2.end;
1005 - if (relativeEnd < 0) throw new Error("options.end < 0");
1006 - if (relativeEnd > entry.compressedSize) throw new Error("options.end > entry.compressedSize");
1007 - if (relativeEnd < relativeStart) throw new Error("options.end < options.start");
1008 - }
1009 - }
1010 - if (!self.isOpen) return callback(new Error("closed"));
1011 - if (entry.isEncrypted()) {
1012 - if (options2.decrypt !== false) return callback(new Error("entry is encrypted, and options.decrypt !== false"));
1013 - }
1014 - var decompress;
1015 - if (entry.compressionMethod === 0) {
1016 - decompress = false;
1017 - } else if (entry.compressionMethod === 8) {
1018 - decompress = options2.decompress != null ? options2.decompress : true;
1019 - } else {
1020 - return callback(new Error("unsupported compression method: " + entry.compressionMethod));
1021 - }
1022 - self.readLocalFileHeader(entry, { minimal: true }, function(err, localFileHeader) {
1023 - if (err) return callback(err);
1024 - self.openReadStreamLowLevel(
1025 - localFileHeader.fileDataStart,
1026 - entry.compressedSize,
1027 - relativeStart,
1028 - relativeEnd,
1029 - decompress,
1030 - entry.uncompressedSize,
1031 - callback
1032 - );
1033 - });
1034 - };
1035 - ZipFile.prototype.openReadStreamLowLevel = function(fileDataStart, compressedSize, relativeStart, relativeEnd, decompress, uncompressedSize, callback) {
1036 - var self = this;
1037 - var fileDataEnd = fileDataStart + compressedSize;
1038 - var readStream = self.reader.createReadStream({
1039 - start: fileDataStart + relativeStart,
1040 - end: fileDataStart + relativeEnd
1041 - });
1042 - var endpointStream = readStream;
1043 - if (decompress) {
1044 - var destroyed = false;
1045 - var inflateFilter = zlib.createInflateRaw();
1046 - readStream.on("error", function(err) {
1047 - setImmediate(function() {
1048 - if (!destroyed) inflateFilter.emit("error", err);
1049 - });
1050 - });
1051 - readStream.pipe(inflateFilter);
1052 - if (self.validateEntrySizes) {
1053 - endpointStream = new AssertByteCountStream(uncompressedSize);
1054 - inflateFilter.on("error", function(err) {
1055 - setImmediate(function() {
1056 - if (!destroyed) endpointStream.emit("error", err);
1057 - });
1058 - });
1059 - inflateFilter.pipe(endpointStream);
1060 - } else {
1061 - endpointStream = inflateFilter;
1062 - }
1063 - installDestroyFn(endpointStream, function() {
1064 - destroyed = true;
1065 - if (inflateFilter !== endpointStream) inflateFilter.unpipe(endpointStream);
1066 - readStream.unpipe(inflateFilter);
1067 - readStream.destroy();
1068 - });
1069 - }
1070 - callback(null, endpointStream);
1071 - };
1072 - ZipFile.prototype.readLocalFileHeader = function(entry, options2, callback) {
1073 - var self = this;
1074 - if (callback == null) {
1075 - callback = options2;
1076 - options2 = null;
1077 - }
1078 - if (options2 == null) options2 = {};
1079 - self.reader.ref();
1080 - var buffer = newBuffer(30);
1081 - readAndAssertNoEof(self.reader, buffer, 0, buffer.length, entry.relativeOffsetOfLocalHeader, function(err) {
1082 - try {
1083 - if (err) return callback(err);
1084 - var signature = buffer.readUInt32LE(0);
1085 - if (signature !== 67324752) {
1086 - return callback(new Error("invalid local file header signature: 0x" + signature.toString(16)));
1087 - }
1088 - var fileNameLength = buffer.readUInt16LE(26);
1089 - var extraFieldLength = buffer.readUInt16LE(28);
1090 - var fileDataStart = entry.relativeOffsetOfLocalHeader + 30 + fileNameLength + extraFieldLength;
1091 - if (fileDataStart + entry.compressedSize > self.fileSize) {
1092 - return callback(new Error("file data overflows file bounds: " + fileDataStart + " + " + entry.compressedSize + " > " + self.fileSize));
1093 - }
1094 - if (options2.minimal) {
1095 - return callback(null, { fileDataStart });
1096 - }
1097 - var localFileHeader = new LocalFileHeader();
1098 - localFileHeader.fileDataStart = fileDataStart;
1099 - localFileHeader.versionNeededToExtract = buffer.readUInt16LE(4);
1100 - localFileHeader.generalPurposeBitFlag = buffer.readUInt16LE(6);
1101 - localFileHeader.compressionMethod = buffer.readUInt16LE(8);
1102 - localFileHeader.lastModFileTime = buffer.readUInt16LE(10);
1103 - localFileHeader.lastModFileDate = buffer.readUInt16LE(12);
1104 - localFileHeader.crc32 = buffer.readUInt32LE(14);
1105 - localFileHeader.compressedSize = buffer.readUInt32LE(18);
1106 - localFileHeader.uncompressedSize = buffer.readUInt32LE(22);
1107 - localFileHeader.fileNameLength = fileNameLength;
1108 - localFileHeader.extraFieldLength = extraFieldLength;
1109 - buffer = newBuffer(fileNameLength + extraFieldLength);
1110 - self.reader.ref();
1111 - readAndAssertNoEof(self.reader, buffer, 0, buffer.length, entry.relativeOffsetOfLocalHeader + 30, function(err2) {
1112 - try {
1113 - if (err2) return callback(err2);
1114 - localFileHeader.fileName = buffer.subarray(0, fileNameLength);
1115 - localFileHeader.extraField = buffer.subarray(fileNameLength);
1116 - return callback(null, localFileHeader);
1117 - } finally {
1118 - self.reader.unref();
1119 - }
1120 - });
1121 - } finally {
1122 - self.reader.unref();
1123 - }
1124 - });
1125 - };
1126 - function Entry() {
1127 - }
1128 - Entry.prototype.getLastModDate = function(options2) {
1129 - if (options2 == null) options2 = {};
1130 - if (!options2.forceDosFormat) {
1131 - for (var i = 0; i < this.extraFields.length; i++) {
1132 - var extraField = this.extraFields[i];
1133 - if (extraField.id === 21589) {
1134 - var data = extraField.data;
1135 - if (data.length < 5) continue;
1136 - var flags = data[0];
1137 - var HAS_MTIME = 1;
1138 - if (!(flags & HAS_MTIME)) continue;
1139 - var posixTimestamp = data.readInt32LE(1);
1140 - return new Date(posixTimestamp * 1e3);
1141 - } else if (extraField.id === 10) {
1142 - var data = extraField.data;
1143 - if (data.length !== 32) continue;
1144 - if (data.readUInt16LE(4) !== 1) continue;
1145 - if (data.readUInt16LE(6) !== 24) continue;
1146 - var hundredNanoSecondsSince1601 = data.readUInt32LE(8) + 4294967296 * data.readInt32LE(12);
1147 - var millisecondsSince1970 = hundredNanoSecondsSince1601 / 1e4 - 116444736e5;
1148 - return new Date(millisecondsSince1970);
1149 - }
1150 - }
1151 - }
1152 - return dosDateTimeToDate(this.lastModFileDate, this.lastModFileTime, options2.timezone);
1153 - };
1154 - Entry.prototype.isEncrypted = function() {
1155 - return (this.generalPurposeBitFlag & 1) !== 0;
1156 - };
1157 - Entry.prototype.isCompressed = function() {
1158 - return this.compressionMethod === 8;
1159 - };
1160 - function LocalFileHeader() {
1161 - }
1162 - function dosDateTimeToDate(date, time, timezone) {
1163 - var day = date & 31;
1164 - var month = (date >> 5 & 15) - 1;
1165 - var year = (date >> 9 & 127) + 1980;
1166 - var millisecond = 0;
1167 - var second = (time & 31) * 2;
1168 - var minute = time >> 5 & 63;
1169 - var hour = time >> 11 & 31;
1170 - if (timezone == null || timezone === "local") {
1171 - return new Date(year, month, day, hour, minute, second, millisecond);
1172 - } else if (timezone === "UTC") {
1173 - return new Date(Date.UTC(year, month, day, hour, minute, second, millisecond));
1174 - } else {
1175 - throw new Error("unrecognized options.timezone: " + options.timezone);
1176 - }
1177 - }
1178 - function getFileNameLowLevel(generalPurposeBitFlag, fileNameBuffer, extraFields, strictFileNames) {
1179 - var fileName = null;
1180 - for (var i = 0; i < extraFields.length; i++) {
1181 - var extraField = extraFields[i];
1182 - if (extraField.id === 28789) {
1183 - if (extraField.data.length < 6) {
1184 - continue;
1185 - }
1186 - if (extraField.data.readUInt8(0) !== 1) {
1187 - continue;
1188 - }
1189 - var oldNameCrc32 = extraField.data.readUInt32LE(1);
1190 - if (crc32.unsigned(fileNameBuffer) !== oldNameCrc32) {
1191 - continue;
1192 - }
1193 - fileName = decodeBuffer(extraField.data.subarray(5), true);
1194 - break;
1195 - }
1196 - }
1197 - if (fileName == null) {
1198 - var isUtf8 = (generalPurposeBitFlag & 2048) !== 0;
1199 - fileName = decodeBuffer(fileNameBuffer, isUtf8);
1200 - }
1201 - if (!strictFileNames) {
1202 - fileName = fileName.replace(/\\/g, "/");
1203 - }
1204 - return fileName;
1205 - }
1206 - function validateFileName(fileName) {
1207 - if (fileName.indexOf("\\") !== -1) {
1208 - return "invalid characters in fileName: " + fileName;
1209 - }
1210 - if (/^[a-zA-Z]:/.test(fileName) || /^\//.test(fileName)) {
1211 - return "absolute path: " + fileName;
1212 - }
1213 - if (fileName.split("/").indexOf("..") !== -1) {
1214 - return "invalid relative path: " + fileName;
1215 - }
1216 - return null;
1217 - }
1218 - function parseExtraFields(extraFieldBuffer) {
1219 - var extraFields = [];
1220 - var i = 0;
1221 - while (i < extraFieldBuffer.length - 3) {
1222 - var headerId = extraFieldBuffer.readUInt16LE(i + 0);
1223 - var dataSize = extraFieldBuffer.readUInt16LE(i + 2);
1224 - var dataStart = i + 4;
1225 - var dataEnd = dataStart + dataSize;
1226 - if (dataEnd > extraFieldBuffer.length) throw new Error("extra field length exceeds extra field buffer size");
1227 - var dataBuffer = extraFieldBuffer.subarray(dataStart, dataEnd);
1228 - extraFields.push({
1229 - id: headerId,
1230 - data: dataBuffer
1231 - });
1232 - i = dataEnd;
1233 - }
1234 - return extraFields;
1235 - }
1236 - function readAndAssertNoEof(reader, buffer, offset, length, position, callback) {
1237 - if (length === 0) {
1238 - return setImmediate(function() {
1239 - callback(null, newBuffer(0));
1240 - });
1241 - }
1242 - reader.read(buffer, offset, length, position, function(err, bytesRead) {
1243 - if (err) return callback(err);
1244 - if (bytesRead < length) {
1245 - return callback(new Error("unexpected EOF"));
1246 - }
1247 - callback();
1248 - });
1249 - }
1250 - util2.inherits(AssertByteCountStream, Transform);
1251 - function AssertByteCountStream(byteCount) {
1252 - Transform.call(this);
1253 - this.actualByteCount = 0;
1254 - this.expectedByteCount = byteCount;
1255 - }
1256 - AssertByteCountStream.prototype._transform = function(chunk, encoding, cb) {
1257 - this.actualByteCount += chunk.length;
1258 - if (this.actualByteCount > this.expectedByteCount) {
1259 - var msg = "too many bytes in the stream. expected " + this.expectedByteCount + ". got at least " + this.actualByteCount;
1260 - return cb(new Error(msg));
1261 - }
1262 - cb(null, chunk);
1263 - };
1264 - AssertByteCountStream.prototype._flush = function(cb) {
1265 - if (this.actualByteCount < this.expectedByteCount) {
1266 - var msg = "not enough bytes in the stream. expected " + this.expectedByteCount + ". got only " + this.actualByteCount;
1267 - return cb(new Error(msg));
1268 - }
1269 - cb();
1270 - };
1271 - util2.inherits(RandomAccessReader, EventEmitter);
1272 - function RandomAccessReader() {
1273 - EventEmitter.call(this);
1274 - this.refCount = 0;
1275 - }
1276 - RandomAccessReader.prototype.ref = function() {
1277 - this.refCount += 1;
1278 - };
1279 - RandomAccessReader.prototype.unref = function() {
1280 - var self = this;
1281 - self.refCount -= 1;
1282 - if (self.refCount > 0) return;
1283 - if (self.refCount < 0) throw new Error("invalid unref");
1284 - self.close(onCloseDone);
1285 - function onCloseDone(err) {
1286 - if (err) return self.emit("error", err);
1287 - self.emit("close");
1288 - }
1289 - };
1290 - RandomAccessReader.prototype.createReadStream = function(options2) {
1291 - if (options2 == null) options2 = {};
1292 - var start = options2.start;
1293 - var end = options2.end;
1294 - if (start === end) {
1295 - var emptyStream = new PassThrough();
1296 - setImmediate(function() {
1297 - emptyStream.end();
1298 - });
1299 - return emptyStream;
1300 - }
1301 - var stream = this._readStreamForRange(start, end);
1302 - var destroyed = false;
1303 - var refUnrefFilter = new RefUnrefFilter(this);
1304 - stream.on("error", function(err) {
1305 - setImmediate(function() {
1306 - if (!destroyed) refUnrefFilter.emit("error", err);
1307 - });
1308 - });
1309 - installDestroyFn(refUnrefFilter, function() {
1310 - stream.unpipe(refUnrefFilter);
1311 - refUnrefFilter.unref();
1312 - stream.destroy();
1313 - });
1314 - var byteCounter = new AssertByteCountStream(end - start);
1315 - refUnrefFilter.on("error", function(err) {
1316 - setImmediate(function() {
1317 - if (!destroyed) byteCounter.emit("error", err);
1318 - });
1319 - });
1320 - installDestroyFn(byteCounter, function() {
1321 - destroyed = true;
1322 - refUnrefFilter.unpipe(byteCounter);
1323 - refUnrefFilter.destroy();
1324 - });
1325 - return stream.pipe(refUnrefFilter).pipe(byteCounter);
1326 - };
1327 - RandomAccessReader.prototype._readStreamForRange = function(start, end) {
1328 - throw new Error("not implemented");
1329 - };
1330 - RandomAccessReader.prototype.read = function(buffer, offset, length, position, callback) {
1331 - var readStream = this.createReadStream({ start: position, end: position + length });
1332 - var writeStream = new Writable();
1333 - var written = 0;
1334 - writeStream._write = function(chunk, encoding, cb) {
1335 - chunk.copy(buffer, offset + written, 0, chunk.length);
1336 - written += chunk.length;
1337 - cb();
1338 - };
1339 - writeStream.on("finish", callback);
1340 - readStream.on("error", function(error) {
1341 - callback(error);
1342 - });
1343 - readStream.pipe(writeStream);
1344 - };
1345 - RandomAccessReader.prototype.close = function(callback) {
1346 - setImmediate(callback);
1347 - };
1348 - util2.inherits(RefUnrefFilter, PassThrough);
1349 - function RefUnrefFilter(context) {
1350 - PassThrough.call(this);
1351 - this.context = context;
1352 - this.context.ref();
1353 - this.unreffedYet = false;
1354 - }
1355 - RefUnrefFilter.prototype._flush = function(cb) {
1356 - this.unref();
1357 - cb();
1358 - };
1359 - RefUnrefFilter.prototype.unref = function(cb) {
1360 - if (this.unreffedYet) return;
1361 - this.unreffedYet = true;
1362 - this.context.unref();
1363 - };
1364 - var cp437 = "\0\u263A\u263B\u2665\u2666\u2663\u2660\u2022\u25D8\u25CB\u25D9\u2642\u2640\u266A\u266B\u263C\u25BA\u25C4\u2195\u203C\xB6\xA7\u25AC\u21A8\u2191\u2193\u2192\u2190\u221F\u2194\u25B2\u25BC !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0";
1365 - function decodeBuffer(buffer, isUtf8) {
1366 - if (isUtf8) {
1367 - return buffer.toString("utf8");
1368 - } else {
1369 - var result = "";
1370 - for (var i = 0; i < buffer.length; i++) {
1371 - result += cp437[buffer[i]];
1372 - }
1373 - return result;
1374 - }
1375 - }
1376 - function readUInt64LE(buffer, offset) {
1377 - var lower32 = buffer.readUInt32LE(offset);
1378 - var upper32 = buffer.readUInt32LE(offset + 4);
1379 - return upper32 * 4294967296 + lower32;
1380 - }
1381 - var newBuffer;
1382 - if (typeof Buffer.allocUnsafe === "function") {
1383 - newBuffer = function(len) {
1384 - return Buffer.allocUnsafe(len);
1385 - };
1386 - } else {
1387 - newBuffer = function(len) {
1388 - return new Buffer(len);
1389 - };
1390 - }
1391 - function installDestroyFn(stream, fn) {
1392 - if (typeof stream.destroy === "function") {
1393 - stream._destroy = function(err, cb) {
1394 - fn();
1395 - if (cb != null) cb(err);
1396 - };
1397 - } else {
1398 - stream.destroy = fn;
1399 - }
1400 - }
1401 - function defaultCallback(err) {
1402 - if (err) throw err;
1403 - }
1404 - }
1405 -});
1406 -
1407 -// packages/playwright/src/worker/workerProcessEntry.ts
1408 -var import_common4 = require("../common");
1409 -
1410 -// packages/playwright/src/worker/workerMain.ts
1411 -var import_common3 = require("../common");
1412 -var globals = __toESM(require("../globals"));
1413 -var import_expect = require("../matchers/expect");
1414 -
1415 -// packages/playwright/src/util.ts
1416 -var import_fs = __toESM(require("fs"));
1417 -var import_path = __toESM(require("path"));
1418 -var import_util = __toESM(require("util"));
1419 -var debug = require("playwright-core/lib/utilsBundle").debug;
1420 -var mime = require("playwright-core/lib/utilsBundle").mime;
1421 -var minimatch = require("playwright-core/lib/utilsBundle").minimatch;
1422 -var { calculateSha1 } = require("playwright-core/lib/coreBundle").utils;
1423 -var { sanitizeForFilePath } = require("playwright-core/lib/coreBundle").utils;
1424 -var { isRegExp } = require("playwright-core/lib/coreBundle").iso;
1425 -var { parseStackFrame, stringifyStackFrames } = require("playwright-core/lib/coreBundle").iso;
1426 -var { ansiRegex, isString, stripAnsiEscapes } = require("playwright-core/lib/coreBundle").iso;
1427 -var PLAYWRIGHT_TEST_PATH = import_path.default.join(__dirname, "..");
1428 -var PLAYWRIGHT_CORE_PATH = import_path.default.dirname(require.resolve("playwright-core/package.json"));
1429 -function filterStackTrace(e) {
1430 - const name = e.name ? e.name + ": " : "";
1431 - const cause = e.cause instanceof Error ? filterStackTrace(e.cause) : void 0;
1432 - if (process.env.PWDEBUGIMPL)
1433 - return { message: name + e.message, stack: e.stack || "", cause };
1434 - const stackLines = stringifyStackFrames(filteredStackTrace(e.stack?.split("\n") || []));
1435 - return {
1436 - message: name + e.message,
1437 - stack: `${name}${e.message}${stackLines.map((line) => "\n" + line).join("")}`,
1438 - cause
1439 - };
1440 -}
1441 -function filterStackFile(file) {
1442 - if (process.env.PWDEBUGIMPL)
1443 - return true;
1444 - if (file.startsWith(PLAYWRIGHT_TEST_PATH))
1445 - return false;
1446 - if (file.startsWith(PLAYWRIGHT_CORE_PATH))
1447 - return false;
1448 - return true;
1449 -}
1450 -function filteredStackTrace(rawStack) {
1451 - const frames = [];
1452 - for (const line of rawStack) {
1453 - const frame = parseStackFrame(line, import_path.default.sep, !!process.env.PWDEBUGIMPL);
1454 - if (!frame || !frame.file)
1455 - continue;
1456 - if (!filterStackFile(frame.file))
1457 - continue;
1458 - frames.push(frame);
1459 - }
1460 - return frames;
1461 -}
1462 -function serializeError(error) {
1463 - if (error instanceof Error)
1464 - return filterStackTrace(error);
1465 - return {
1466 - value: import_util.default.inspect(error)
1467 - };
1468 -}
1469 -function relativeFilePath(file) {
1470 - if (!import_path.default.isAbsolute(file))
1471 - return file;
1472 - return import_path.default.relative(process.cwd(), file);
1473 -}
1474 -function formatLocation(location) {
1475 - return relativeFilePath(location.file) + ":" + location.line + ":" + location.column;
1476 -}
1477 -var windowsFilesystemFriendlyLength = 60;
1478 -function trimLongString(s, length = 100) {
1479 - if (s.length <= length)
1480 - return s;
1481 - const hash = calculateSha1(s);
1482 - const middle = `-${hash.substring(0, 5)}-`;
1483 - const start = Math.floor((length - middle.length) / 2);
1484 - const end = length - middle.length - start;
1485 - return s.substring(0, start) + middle + s.slice(-end);
1486 -}
1487 -function addSuffixToFilePath(filePath, suffix) {
1488 - const ext = import_path.default.extname(filePath);
1489 - const base = filePath.substring(0, filePath.length - ext.length);
1490 - return base + suffix + ext;
1491 -}
1492 -function sanitizeFilePathBeforeExtension(filePath, ext) {
1493 - ext ??= import_path.default.extname(filePath);
1494 - const base = filePath.substring(0, filePath.length - ext.length);
1495 - return sanitizeForFilePath(base) + ext;
1496 -}
1497 -function getContainedPath(parentPath, subPath = "") {
1498 - const resolvedPath = import_path.default.resolve(parentPath, subPath);
1499 - if (resolvedPath === parentPath || resolvedPath.startsWith(parentPath + import_path.default.sep))
1500 - return resolvedPath;
1501 - return null;
1502 -}
1503 -var debugTest = debug("pw:test");
1504 -async function normalizeAndSaveAttachment(outputPath, name, options2 = {}) {
1505 - if (options2.path === void 0 && options2.body === void 0)
1506 - return { name, contentType: "text/plain" };
1507 - if ((options2.path !== void 0 ? 1 : 0) + (options2.body !== void 0 ? 1 : 0) !== 1)
1508 - throw new Error(`Exactly one of "path" and "body" must be specified`);
1509 - if (options2.path !== void 0) {
1510 - const hash = calculateSha1(options2.path);
1511 - if (!isString(name))
1512 - throw new Error('"name" should be string.');
1513 - const sanitizedNamePrefix = sanitizeForFilePath(name) + "-";
1514 - const dest = import_path.default.join(outputPath, "attachments", sanitizedNamePrefix + hash + import_path.default.extname(options2.path));
1515 - await import_fs.default.promises.mkdir(import_path.default.dirname(dest), { recursive: true });
1516 - await import_fs.default.promises.copyFile(options2.path, dest);
1517 - const contentType = options2.contentType ?? (mime.getType(import_path.default.basename(options2.path)) || "application/octet-stream");
1518 - return { name, contentType, path: dest };
1519 - } else {
1520 - const contentType = options2.contentType ?? (typeof options2.body === "string" ? "text/plain" : "application/octet-stream");
1521 - return { name, contentType, body: typeof options2.body === "string" ? Buffer.from(options2.body) : options2.body };
1522 - }
1523 -}
1524 -
1525 -// packages/playwright/src/worker/fixtureRunner.ts
1526 -var import_common = require("../common");
1527 -var { ManualPromise } = require("playwright-core/lib/coreBundle").iso;
1528 -var { escapeWithQuotes } = require("playwright-core/lib/coreBundle").iso;
1529 -var Fixture = class {
1530 - constructor(runner, registration) {
1531 - this.failed = false;
1532 - this._deps = /* @__PURE__ */ new Set();
1533 - this._usages = /* @__PURE__ */ new Set();
1534 - this.runner = runner;
1535 - this.registration = registration;
1536 - this.value = null;
1537 - const isUserFixture = this.registration.location && filterStackFile(this.registration.location.file);
1538 - const title = this.registration.customTitle || this.registration.name;
1539 - const location = isUserFixture ? this.registration.location : void 0;
1540 - this._stepInfo = { title: `Fixture ${escapeWithQuotes(title, '"')}`, category: "fixture", location };
1541 - if (this.registration.box === "self")
1542 - this._stepInfo = void 0;
1543 - else if (this.registration.box)
1544 - this._stepInfo.group = isUserFixture ? "configuration" : "internal";
1545 - this._setupDescription = {
1546 - title,
1547 - phase: "setup",
1548 - location,
1549 - slot: this.registration.timeout !== void 0 ? {
1550 - timeout: this.registration.timeout,
1551 - elapsed: 0
1552 - } : this.registration.scope === "worker" ? {
1553 - timeout: this.runner.workerFixtureTimeout,
1554 - elapsed: 0
1555 - } : void 0
1556 - };
1557 - this._teardownDescription = { ...this._setupDescription, phase: "teardown" };
1558 - }
1559 - async setup(testInfo, runnable) {
1560 - this.runner.instanceForId.set(this.registration.id, this);
1561 - if (typeof this.registration.fn !== "function") {
1562 - this.value = this.registration.fn;
1563 - return;
1564 - }
1565 - const run = () => testInfo._runWithTimeout({ ...runnable, fixture: this._setupDescription }, () => this._setupInternal(testInfo));
1566 - if (this._stepInfo)
1567 - await testInfo._runAsStep(this._stepInfo, run);
1568 - else
1569 - await run();
1570 - }
1571 - async _setupInternal(testInfo) {
1572 - const params = {};
1573 - for (const name of this.registration.deps) {
1574 - const registration = this.runner.pool.resolve(name, this.registration);
1575 - const dep = this.runner.instanceForId.get(registration.id);
1576 - if (!dep) {
1577 - this.failed = true;
1578 - return;
1579 - }
1580 - dep._usages.add(this);
1581 - this._deps.add(dep);
1582 - params[name] = dep.value;
1583 - if (dep.failed) {
1584 - this.failed = true;
1585 - return;
1586 - }
1587 - }
1588 - let called = false;
1589 - const useFuncStarted = new ManualPromise();
1590 - const useFunc = async (value) => {
1591 - if (called)
1592 - throw new Error(`Cannot provide fixture value for the second time`);
1593 - called = true;
1594 - this.value = value;
1595 - this._useFuncFinished = new ManualPromise();
1596 - useFuncStarted.resolve();
1597 - await this._useFuncFinished;
1598 - };
1599 - const workerInfo = { config: testInfo.config, parallelIndex: testInfo.parallelIndex, workerIndex: testInfo.workerIndex, project: testInfo.project };
1600 - const info = this.registration.scope === "worker" ? workerInfo : testInfo;
1601 - this._selfTeardownComplete = (async () => {
1602 - try {
1603 - await this.registration.fn(params, useFunc, info);
1604 - if (!useFuncStarted.isDone())
1605 - throw new Error(`use() was not called in fixture "${this.registration.name}"`);
1606 - } catch (error) {
1607 - this.failed = true;
1608 - if (!useFuncStarted.isDone())
1609 - useFuncStarted.reject(error);
1610 - else
1611 - throw error;
1612 - }
1613 - })();
1614 - await useFuncStarted;
1615 - }
1616 - async teardown(testInfo, runnable) {
1617 - try {
1618 - const fixtureRunnable = { ...runnable, fixture: this._teardownDescription };
1619 - if (!testInfo._timeoutManager.isTimeExhaustedFor(fixtureRunnable)) {
1620 - const run = () => testInfo._runWithTimeout(fixtureRunnable, () => this._teardownInternal());
1621 - if (this._stepInfo)
1622 - await testInfo._runAsStep(this._stepInfo, run);
1623 - else
1624 - await run();
1625 - }
1626 - } finally {
1627 - for (const dep of this._deps)
1628 - dep._usages.delete(this);
1629 - this.runner.instanceForId.delete(this.registration.id);
1630 - }
1631 - }
1632 - async _teardownInternal() {
1633 - if (typeof this.registration.fn !== "function")
1634 - return;
1635 - if (this._usages.size !== 0) {
1636 - console.error("Internal error: fixture integrity at", this._teardownDescription.title);
1637 - this._usages.clear();
1638 - }
1639 - if (this._useFuncFinished) {
1640 - this._useFuncFinished.resolve();
1641 - this._useFuncFinished = void 0;
1642 - await this._selfTeardownComplete;
1643 - }
1644 - }
1645 - _collectFixturesInTeardownOrder(scope, collector) {
1646 - if (this.registration.scope !== scope)
1647 - return;
1648 - for (const fixture of this._usages)
1649 - fixture._collectFixturesInTeardownOrder(scope, collector);
1650 - collector.add(this);
1651 - }
1652 -};
1653 -var FixtureRunner = class {
1654 - constructor() {
1655 - this.testScopeClean = true;
1656 - this.instanceForId = /* @__PURE__ */ new Map();
1657 - this.workerFixtureTimeout = 0;
1658 - }
1659 - setPool(pool) {
1660 - if (!this.testScopeClean)
1661 - throw new Error("Did not teardown test scope");
1662 - if (this.pool && pool.digest !== this.pool.digest) {
1663 - throw new Error([
1664 - `Playwright detected inconsistent test.use() options.`,
1665 - `Most common mistakes that lead to this issue:`,
1666 - ` - Calling test.use() outside of the test file, for example in a common helper.`,
1667 - ` - One test file imports from another test file.`
1668 - ].join("\n"));
1669 - }
1670 - this.pool = pool;
1671 - }
1672 - _collectFixturesInSetupOrder(registration, collector) {
1673 - if (collector.has(registration))
1674 - return;
1675 - for (const name of registration.deps) {
1676 - const dep = this.pool.resolve(name, registration);
1677 - this._collectFixturesInSetupOrder(dep, collector);
1678 - }
1679 - collector.add(registration);
1680 - }
1681 - async teardownScope(scope, testInfo, runnable) {
1682 - const allFixtures = Array.from(this.instanceForId.values()).reverse();
1683 - const collector = /* @__PURE__ */ new Set();
1684 - for (const fixture of allFixtures)
1685 - fixture._collectFixturesInTeardownOrder(scope, collector);
1686 - let firstError;
1687 - for (const fixture of collector) {
1688 - try {
1689 - await fixture.teardown(testInfo, runnable);
1690 - } catch (error) {
1691 - firstError = firstError ?? error;
1692 - }
1693 - }
1694 - if (scope === "test")
1695 - this.testScopeClean = true;
1696 - if (firstError)
1697 - throw firstError;
1698 - }
1699 - async resolveParametersForFunction(fn, testInfo, autoFixtures, runnable) {
1700 - const collector = /* @__PURE__ */ new Set();
1701 - const auto = [];
1702 - for (const registration of this.pool.autoFixtures()) {
1703 - let shouldRun = true;
1704 - if (autoFixtures === "all-hooks-only")
1705 - shouldRun = registration.scope === "worker" || registration.auto === "all-hooks-included";
1706 - else if (autoFixtures === "worker")
1707 - shouldRun = registration.scope === "worker";
1708 - if (shouldRun)
1709 - auto.push(registration);
1710 - }
1711 - auto.sort((r1, r2) => (r1.scope === "worker" ? 0 : 1) - (r2.scope === "worker" ? 0 : 1));
1712 - for (const registration of auto)
1713 - this._collectFixturesInSetupOrder(registration, collector);
1714 - const names = getRequiredFixtureNames(fn);
1715 - for (const name of names)
1716 - this._collectFixturesInSetupOrder(this.pool.resolve(name), collector);
1717 - for (const registration of collector)
1718 - await this._setupFixtureForRegistration(registration, testInfo, runnable);
1719 - const params = {};
1720 - for (const name of names) {
1721 - const registration = this.pool.resolve(name);
1722 - const fixture = this.instanceForId.get(registration.id);
1723 - if (!fixture || fixture.failed)
1724 - return null;
1725 - params[name] = fixture.value;
1726 - }
1727 - return { result: params };
1728 - }
1729 - async resolveParametersAndRunFunction(fn, testInfo, autoFixtures, runnable) {
1730 - const params = await this.resolveParametersForFunction(fn, testInfo, autoFixtures, runnable);
1731 - if (params === null) {
1732 - return null;
1733 - }
1734 - await testInfo._runWithTimeout(runnable, () => fn(params.result, testInfo));
1735 - }
1736 - async _setupFixtureForRegistration(registration, testInfo, runnable) {
1737 - if (registration.scope === "test")
1738 - this.testScopeClean = false;
1739 - let fixture = this.instanceForId.get(registration.id);
1740 - if (fixture)
1741 - return fixture;
1742 - fixture = new Fixture(this, registration);
1743 - await fixture.setup(testInfo, runnable);
1744 - return fixture;
1745 - }
1746 - dependsOnWorkerFixturesOnly(fn, location) {
1747 - const names = getRequiredFixtureNames(fn, location);
1748 - for (const name of names) {
1749 - const registration = this.pool.resolve(name);
1750 - if (registration.scope !== "worker")
1751 - return false;
1752 - }
1753 - return true;
1754 - }
1755 -};
1756 -function getRequiredFixtureNames(fn, location) {
1757 - return import_common.fixtures.fixtureParameterNames(fn, location ?? { file: "<unknown>", line: 1, column: 1 }, (e) => {
1758 - throw new Error(`${formatLocation(e.location)}: ${e.message}`);
1759 - });
1760 -}
1761 -
1762 -// packages/playwright/src/worker/testInfo.ts
1763 -var import_fs3 = __toESM(require("fs"));
1764 -var import_path3 = __toESM(require("path"));
1765 -
1766 -// packages/playwright/src/worker/timeoutManager.ts
1767 -var colors = require("playwright-core/lib/utilsBundle").colors;
1768 -var { ManualPromise: ManualPromise2 } = require("playwright-core/lib/coreBundle").iso;
1769 -var { monotonicTime } = require("playwright-core/lib/coreBundle").iso;
1770 -var kMaxDeadline = 2147483647;
1771 -var TimeoutManager = class {
1772 - constructor(timeout) {
1773 - this._ignoreTimeouts = false;
1774 - this._slow = false;
1775 - this._defaultSlot = { timeout, elapsed: 0 };
1776 - }
1777 - setIgnoreTimeouts(ignoreTimeouts) {
1778 - if (this._ignoreTimeouts === ignoreTimeouts)
1779 - return;
1780 - this._ignoreTimeouts = ignoreTimeouts;
1781 - if (this._running) {
1782 - if (ignoreTimeouts)
1783 - this._running.slot.elapsed += monotonicTime() - this._running.start;
1784 - else
1785 - this._running.start = monotonicTime();
1786 - this._updateTimeout(this._running);
1787 - }
1788 - }
1789 - interrupt() {
1790 - if (this._running)
1791 - this._running.timeoutPromise.reject(this._createTimeoutError(this._running));
1792 - }
1793 - isTimeExhaustedFor(runnable) {
1794 - const slot = runnable.fixture?.slot || runnable.slot || this._defaultSlot;
1795 - return slot.timeout > 0 && slot.elapsed >= slot.timeout - 1;
1796 - }
1797 - async withRunnable(runnable, cb) {
1798 - if (this._running)
1799 - throw new Error(`Internal error: duplicate runnable`);
1800 - const running = this._running = {
1801 - runnable,
1802 - slot: runnable.fixture?.slot || runnable.slot || this._defaultSlot,
1803 - start: monotonicTime(),
1804 - deadline: kMaxDeadline,
1805 - timer: void 0,
1806 - timeoutPromise: new ManualPromise2()
1807 - };
1808 - let debugTitle = "";
1809 - try {
1810 - if (debugTest.enabled) {
1811 - debugTitle = runnable.fixture ? `${runnable.fixture.phase} "${runnable.fixture.title}"` : runnable.type;
1812 - const location = runnable.location ? ` at "${formatLocation(runnable.location)}"` : ``;
1813 - debugTest(`started ${debugTitle}${location}`);
1814 - }
1815 - this._updateTimeout(running);
1816 - return await Promise.race([
1817 - cb(),
1818 - running.timeoutPromise
1819 - ]);
1820 - } finally {
1821 - if (running.timer)
1822 - clearTimeout(running.timer);
1823 - running.timer = void 0;
1824 - running.slot.elapsed += monotonicTime() - running.start;
1825 - this._running = void 0;
1826 - if (debugTest.enabled)
1827 - debugTest(`finished ${debugTitle}`);
1828 - }
1829 - }
1830 - _updateTimeout(running) {
1831 - if (running.timer)
1832 - clearTimeout(running.timer);
1833 - running.timer = void 0;
1834 - if (this._ignoreTimeouts || !running.slot.timeout) {
1835 - running.deadline = kMaxDeadline;
1836 - return;
1837 - }
1838 - running.deadline = running.start + (running.slot.timeout - running.slot.elapsed);
1839 - const timeout = running.deadline - monotonicTime() + 1;
1840 - if (timeout <= 0)
1841 - running.timeoutPromise.reject(this._createTimeoutError(running));
1842 - else
1843 - running.timer = setTimeout(() => running.timeoutPromise.reject(this._createTimeoutError(running)), timeout);
1844 - }
1845 - defaultSlot() {
1846 - return this._defaultSlot;
1847 - }
1848 - slow() {
1849 - if (this._slow)
1850 - return;
1851 - this._slow = true;
1852 - const slot = this._running ? this._running.slot : this._defaultSlot;
1853 - slot.timeout = slot.timeout * 3;
1854 - if (this._running)
1855 - this._updateTimeout(this._running);
1856 - }
1857 - setTimeout(timeout) {
1858 - const slot = this._running ? this._running.slot : this._defaultSlot;
1859 - slot.timeout = timeout;
1860 - if (this._running)
1861 - this._updateTimeout(this._running);
1862 - }
1863 - currentSlotDeadline() {
1864 - return this._running ? this._running.deadline : kMaxDeadline;
1865 - }
1866 - currentSlotType() {
1867 - return this._running ? this._running.runnable.type : "test";
1868 - }
1869 - _createTimeoutError(running) {
1870 - let message = "";
1871 - const timeout = running.slot.timeout;
1872 - const runnable = running.runnable;
1873 - switch (runnable.type) {
1874 - case "test": {
1875 - if (runnable.fixture) {
1876 - if (runnable.fixture.phase === "setup")
1877 - message = `Test timeout of ${timeout}ms exceeded while setting up "${runnable.fixture.title}".`;
1878 - else
1879 - message = `Tearing down "${runnable.fixture.title}" exceeded the test timeout of ${timeout}ms.`;
1880 - } else {
1881 - message = `Test timeout of ${timeout}ms exceeded.`;
1882 - }
1883 - break;
1884 - }
1885 - case "afterEach":
1886 - case "beforeEach":
1887 - message = `Test timeout of ${timeout}ms exceeded while running "${runnable.type}" hook.`;
1888 - break;
1889 - case "beforeAll":
1890 - case "afterAll":
1891 - message = `"${runnable.type}" hook timeout of ${timeout}ms exceeded.`;
1892 - break;
1893 - case "teardown": {
1894 - if (runnable.fixture)
1895 - message = `Worker teardown timeout of ${timeout}ms exceeded while ${runnable.fixture.phase === "setup" ? "setting up" : "tearing down"} "${runnable.fixture.title}".`;
1896 - else
1897 - message = `Worker teardown timeout of ${timeout}ms exceeded.`;
1898 - break;
1899 - }
1900 - case "skip":
1901 - case "slow":
1902 - case "fixme":
1903 - case "fail":
1904 - message = `"${runnable.type}" modifier timeout of ${timeout}ms exceeded.`;
1905 - break;
1906 - }
1907 - const fixtureWithSlot = runnable.fixture?.slot ? runnable.fixture : void 0;
1908 - if (fixtureWithSlot)
1909 - message = `Fixture "${fixtureWithSlot.title}" timeout of ${timeout}ms exceeded during ${fixtureWithSlot.phase}.`;
1910 - message = colors.red(message);
1911 - const location = (fixtureWithSlot || runnable).location;
1912 - const error = new TimeoutManagerError(message);
1913 - error.name = "";
1914 - error.stack = message + (location ? `
1915 - at ${location.file}:${location.line}:${location.column}` : "");
1916 - return error;
1917 - }
1918 -};
1919 -var TimeoutManagerError = class extends Error {
1920 -};
1921 -
1922 -// packages/playwright/src/worker/testTracing.ts
1923 -var import_fs2 = __toESM(require("fs"));
1924 -var import_path2 = __toESM(require("path"));
1925 -var yauzl = __toESM(require_yauzl());
1926 -var import_coreBundle = require("playwright-core/lib/coreBundle");
1927 -var yazl = require("playwright-core/lib/utilsBundle").yazl;
1928 -var { ManualPromise: ManualPromise3 } = require("playwright-core/lib/coreBundle").iso;
1929 -var { monotonicTime: monotonicTime2 } = require("playwright-core/lib/coreBundle").iso;
1930 -var { calculateSha1: calculateSha12, createGuid } = require("playwright-core/lib/coreBundle").utils;
1931 -var { SerializedFS } = require("playwright-core/lib/coreBundle").utils;
1932 -var testTraceEntryName = "test.trace";
1933 -var version = 8;
1934 -var traceOrdinal = 0;
1935 -var TestTracing = class {
1936 - constructor(testInfo, artifactsDir) {
1937 - this._traceEvents = [];
1938 - this._temporaryTraceFiles = [];
1939 - this._didFinishTestFunctionAndAfterEachHooks = false;
1940 - this._testInfo = testInfo;
1941 - this._artifactsDir = artifactsDir;
1942 - this._tracesDir = import_path2.default.join(this._artifactsDir, "traces");
1943 - this._contextCreatedEvent = {
1944 - version,
1945 - type: "context-options",
1946 - origin: "testRunner",
1947 - browserName: "",
1948 - playwrightVersion: (0, import_coreBundle.getPlaywrightVersion)(),
1949 - options: {},
1950 - platform: process.platform,
1951 - wallTime: Date.now(),
1952 - monotonicTime: monotonicTime2(),
1953 - sdkLanguage: "javascript"
1954 - };
1955 - this._appendTraceEvent(this._contextCreatedEvent);
1956 - }
1957 - _shouldCaptureTrace() {
1958 - if (this._options?.mode === "on")
1959 - return true;
1960 - if (this._options?.mode === "retain-on-failure")
1961 - return true;
1962 - if (this._options?.mode === "on-first-retry" && this._testInfo.retry === 1)
1963 - return true;
1964 - if (this._options?.mode === "on-all-retries" && this._testInfo.retry > 0)
1965 - return true;
1966 - if (this._options?.mode === "retain-on-first-failure" && this._testInfo.retry === 0)
1967 - return true;
1968 - if (this._options?.mode === "retain-on-failure-and-retries")
1969 - return true;
1970 - return false;
1971 - }
1972 - async startIfNeeded(value) {
1973 - const defaultTraceOptions = { screenshots: true, snapshots: true, sources: true, attachments: true, live: false, mode: "off" };
1974 - if (!value) {
1975 - this._options = defaultTraceOptions;
1976 - } else if (typeof value === "string") {
1977 - this._options = { ...defaultTraceOptions, mode: value === "retry-with-trace" ? "on-first-retry" : value };
1978 - } else {
1979 - const mode = value.mode || "off";
1980 - this._options = { ...defaultTraceOptions, ...value, mode: mode === "retry-with-trace" ? "on-first-retry" : mode };
1981 - }
1982 - if (!this._shouldCaptureTrace()) {
1983 - this._options = void 0;
1984 - return;
1985 - }
1986 - if (!this._liveTraceFile && this._options.live) {
1987 - this._liveTraceFile = { file: import_path2.default.join(this._tracesDir, `${this._testInfo.testId}-test.trace`), fs: new SerializedFS() };
1988 - this._liveTraceFile.fs.mkdir(import_path2.default.dirname(this._liveTraceFile.file));
1989 - const data = this._traceEvents.map((e) => JSON.stringify(e)).join("\n") + "\n";
1990 - this._liveTraceFile.fs.writeFile(this._liveTraceFile.file, data);
1991 - }
1992 - }
1993 - didFinishTestFunctionAndAfterEachHooks() {
1994 - this._didFinishTestFunctionAndAfterEachHooks = true;
1995 - }
1996 - artifactsDir() {
1997 - return this._artifactsDir;
1998 - }
1999 - tracesDir() {
2000 - return this._tracesDir;
2001 - }
2002 - traceTitle() {
2003 - return [import_path2.default.relative(this._testInfo.project.testDir, this._testInfo.file) + ":" + this._testInfo.line, ...this._testInfo.titlePath.slice(1)].join(" \u203A ");
2004 - }
2005 - generateNextTraceRecordingName() {
2006 - const ordinalSuffix = traceOrdinal ? `-recording${traceOrdinal}` : "";
2007 - ++traceOrdinal;
2008 - const retrySuffix = this._testInfo.retry ? `-retry${this._testInfo.retry}` : "";
2009 - return `${this._testInfo.testId}${retrySuffix}${ordinalSuffix}`;
2010 - }
2011 - _generateNextTraceRecordingPath() {
2012 - const file = import_path2.default.join(this._artifactsDir, createGuid() + ".zip");
2013 - this._temporaryTraceFiles.push(file);
2014 - return file;
2015 - }
2016 - traceOptions() {
2017 - return this._options;
2018 - }
2019 - maybeGenerateNextTraceRecordingPath() {
2020 - if (this._didFinishTestFunctionAndAfterEachHooks && this._shouldAbandonTrace())
2021 - return;
2022 - return this._generateNextTraceRecordingPath();
2023 - }
2024 - _shouldAbandonTrace() {
2025 - if (!this._options)
2026 - return true;
2027 - const testFailed = this._testInfo.status !== this._testInfo.expectedStatus;
2028 - if (this._options.mode === "retain-on-failure-and-retries")
2029 - return !testFailed && this._testInfo.retry === 0;
2030 - return !testFailed && (this._options.mode === "retain-on-failure" || this._options.mode === "retain-on-first-failure");
2031 - }
2032 - async stopIfNeeded() {
2033 - this._contextCreatedEvent.testTimeout = this._testInfo.timeout;
2034 - if (!this._options)
2035 - return;
2036 - const error = await this._liveTraceFile?.fs.syncAndGetError();
2037 - if (error)
2038 - throw error;
2039 - if (this._shouldAbandonTrace()) {
2040 - for (const file of this._temporaryTraceFiles)
2041 - await import_fs2.default.promises.unlink(file).catch(() => {
2042 - });
2043 - return;
2044 - }
2045 - const zipFile = new yazl.ZipFile();
2046 - if (!this._options?.attachments) {
2047 - for (const event of this._traceEvents) {
2048 - if (event.type === "after")
2049 - delete event.attachments;
2050 - }
2051 - }
2052 - if (this._options?.sources) {
2053 - const sourceFiles = /* @__PURE__ */ new Set();
2054 - for (const event of this._traceEvents) {
2055 - if (event.type === "before") {
2056 - for (const frame of event.stack || [])
2057 - sourceFiles.add(frame.file);
2058 - }
2059 - }
2060 - for (const sourceFile of sourceFiles) {
2061 - await import_fs2.default.promises.readFile(sourceFile, "utf8").then((source) => {
2062 - zipFile.addBuffer(Buffer.from(source), "resources/src@" + calculateSha12(sourceFile) + ".txt");
2063 - }).catch(() => {
2064 - });
2065 - }
2066 - }
2067 - const sha1s = /* @__PURE__ */ new Set();
2068 - for (const event of this._traceEvents.filter((e) => e.type === "after")) {
2069 - for (const attachment of event.attachments || []) {
2070 - let contentPromise;
2071 - if (attachment.path)
2072 - contentPromise = import_fs2.default.promises.readFile(attachment.path).catch(() => void 0);
2073 - else if (attachment.base64)
2074 - contentPromise = Promise.resolve(Buffer.from(attachment.base64, "base64"));
2075 - const content = await contentPromise;
2076 - if (content === void 0)
2077 - continue;
2078 - const sha1 = calculateSha12(content);
2079 - attachment.sha1 = sha1;
2080 - delete attachment.path;
2081 - delete attachment.base64;
2082 - if (sha1s.has(sha1))
2083 - continue;
2084 - sha1s.add(sha1);
2085 - zipFile.addBuffer(content, "resources/" + sha1);
2086 - }
2087 - }
2088 - const traceContent = Buffer.from(this._traceEvents.map((e) => JSON.stringify(e)).join("\n"));
2089 - zipFile.addBuffer(traceContent, testTraceEntryName);
2090 - await new Promise((f) => {
2091 - zipFile.end(void 0, () => {
2092 - zipFile.outputStream.pipe(import_fs2.default.createWriteStream(this._generateNextTraceRecordingPath())).on("close", f);
2093 - });
2094 - });
2095 - const tracePath = this._testInfo.outputPath("trace.zip");
2096 - await mergeTraceFiles(tracePath, this._temporaryTraceFiles);
2097 - this._testInfo.attachments.push({ name: "trace", path: tracePath, contentType: "application/zip" });
2098 - }
2099 - appendForError(error) {
2100 - const rawStack = error.stack?.split("\n") || [];
2101 - const stack = rawStack ? filteredStackTrace(rawStack) : [];
2102 - this._appendTraceEvent({
2103 - type: "error",
2104 - message: this._formatError(error),
2105 - stack
2106 - });
2107 - }
2108 - _formatError(error) {
2109 - const parts = [error.message || String(error.value)];
2110 - if (error.cause)
2111 - parts.push("[cause]: " + this._formatError(error.cause));
2112 - return parts.join("\n");
2113 - }
2114 - appendStdioToTrace(type, chunk) {
2115 - this._appendTraceEvent({
2116 - type,
2117 - timestamp: monotonicTime2(),
2118 - text: typeof chunk === "string" ? chunk : void 0,
2119 - base64: typeof chunk === "string" ? void 0 : chunk.toString("base64")
2120 - });
2121 - }
2122 - appendBeforeActionForStep(options2) {
2123 - this._appendTraceEvent({
2124 - type: "before",
2125 - callId: options2.stepId,
2126 - stepId: options2.stepId,
2127 - parentId: options2.parentId,
2128 - startTime: monotonicTime2(),
2129 - class: "Test",
2130 - method: options2.category,
2131 - title: options2.title,
2132 - params: Object.fromEntries(Object.entries(options2.params || {}).map(([name, value]) => [name, generatePreview(value)])),
2133 - stack: options2.stack,
2134 - group: options2.group
2135 - });
2136 - }
2137 - appendAfterActionForStep(callId, error, attachments = [], annotations) {
2138 - this._appendTraceEvent({
2139 - type: "after",
2140 - callId,
2141 - endTime: monotonicTime2(),
2142 - attachments: serializeAttachments(attachments),
2143 - annotations,
2144 - error
2145 - });
2146 - }
2147 - _appendTraceEvent(event) {
2148 - this._traceEvents.push(event);
2149 - if (this._liveTraceFile)
2150 - this._liveTraceFile.fs.appendFile(this._liveTraceFile.file, JSON.stringify(event) + "\n", true);
2151 - }
2152 -};
2153 -function serializeAttachments(attachments) {
2154 - if (attachments.length === 0)
2155 - return void 0;
2156 - return attachments.filter((a) => a.name !== "trace").map((a) => {
2157 - return {
2158 - name: a.name,
2159 - contentType: a.contentType,
2160 - path: a.path,
2161 - base64: a.body?.toString("base64")
2162 - };
2163 - });
2164 -}
2165 -function generatePreview(value, visited = /* @__PURE__ */ new Set()) {
2166 - if (visited.has(value))
2167 - return "";
2168 - visited.add(value);
2169 - if (typeof value === "string")
2170 - return value;
2171 - if (typeof value === "number")
2172 - return value.toString();
2173 - if (typeof value === "boolean")
2174 - return value.toString();
2175 - if (value === null)
2176 - return "null";
2177 - if (value === void 0)
2178 - return "undefined";
2179 - if (Array.isArray(value))
2180 - return "[" + value.map((v) => generatePreview(v, visited)).join(", ") + "]";
2181 - if (typeof value === "object")
2182 - return "Object";
2183 - return String(value);
2184 -}
2185 -async function mergeTraceFiles(fileName, temporaryTraceFiles) {
2186 - temporaryTraceFiles = temporaryTraceFiles.filter((file) => import_fs2.default.existsSync(file));
2187 - if (temporaryTraceFiles.length === 1) {
2188 - await import_fs2.default.promises.rename(temporaryTraceFiles[0], fileName);
2189 - return;
2190 - }
2191 - const mergePromise = new ManualPromise3();
2192 - const zipFile = new yazl.ZipFile();
2193 - const entryNames = /* @__PURE__ */ new Set();
2194 - zipFile.on("error", (error) => mergePromise.reject(error));
2195 - for (let i = temporaryTraceFiles.length - 1; i >= 0; --i) {
2196 - const tempFile = temporaryTraceFiles[i];
2197 - const promise = new ManualPromise3();
2198 - yauzl.open(tempFile, (err, inZipFile) => {
2199 - if (err) {
2200 - promise.reject(err);
2201 - return;
2202 - }
2203 - let pendingEntries = inZipFile.entryCount;
2204 - inZipFile.on("entry", (entry) => {
2205 - let entryName = entry.fileName;
2206 - if (entry.fileName === testTraceEntryName) {
2207 - } else if (entry.fileName.match(/trace\.[a-z]*$/)) {
2208 - entryName = i + "-" + entry.fileName;
2209 - }
2210 - if (entryNames.has(entryName)) {
2211 - if (--pendingEntries === 0)
2212 - promise.resolve();
2213 - return;
2214 - }
2215 - entryNames.add(entryName);
2216 - inZipFile.openReadStream(entry, (err2, readStream) => {
2217 - if (err2) {
2218 - promise.reject(err2);
2219 - return;
2220 - }
2221 - zipFile.addReadStream(readStream, entryName);
2222 - if (--pendingEntries === 0)
2223 - promise.resolve();
2224 - });
2225 - });
2226 - });
2227 - await promise;
2228 - }
2229 - zipFile.end(void 0, () => {
2230 - zipFile.outputStream.pipe(import_fs2.default.createWriteStream(fileName)).on("close", () => {
2231 - void Promise.all(temporaryTraceFiles.map((tempFile) => import_fs2.default.promises.unlink(tempFile))).then(() => {
2232 - mergePromise.resolve();
2233 - }).catch((error) => mergePromise.reject(error));
2234 - }).on("error", (error) => mergePromise.reject(error));
2235 - });
2236 - await mergePromise;
2237 -}
2238 -
2239 -// packages/playwright/src/worker/util.ts
2240 -function testInfoError(error) {
2241 - const result = serializeError(error);
2242 - const matcherResult = error instanceof Error ? error.matcherResult : void 0;
2243 - if (matcherResult?.ariaSnapshot !== void 0)
2244 - result.errorContext = matcherResult.ariaSnapshot;
2245 - return result;
2246 -}
2247 -
2248 -// packages/playwright/src/worker/testInfo.ts
2249 -var import_common2 = require("../common");
2250 -var { ManualPromise: ManualPromise4 } = require("playwright-core/lib/coreBundle").iso;
2251 -var { captureRawStack, stringifyStackFrames: stringifyStackFrames2 } = require("playwright-core/lib/coreBundle").iso;
2252 -var { escapeWithQuotes: escapeWithQuotes2 } = require("playwright-core/lib/coreBundle").iso;
2253 -var { monotonicTime: monotonicTime3 } = require("playwright-core/lib/coreBundle").iso;
2254 -var { createGuid: createGuid2 } = require("playwright-core/lib/coreBundle").utils;
2255 -var { sanitizeForFilePath: sanitizeForFilePath2 } = require("playwright-core/lib/coreBundle").utils;
2256 -var { currentZone } = require("playwright-core/lib/coreBundle").utils;
2257 -var emtpyTestInfoCallbacks = {
2258 - onStepBegin: () => {
2259 - },
2260 - onStepEnd: () => {
2261 - },
2262 - onAttach: () => {
2263 - },
2264 - onTestPaused: () => Promise.reject(new Error("TestInfoImpl not initialized"))
2265 -};
2266 -var TestInfoImpl = class {
2267 - constructor(configInternal, projectInternal, workerParams, test, retry, callbacks) {
2268 - this._snapshotNames = { lastAnonymousSnapshotIndex: 0, lastNamedSnapshotIndex: {} };
2269 - this._ariaSnapshotNames = { lastAnonymousSnapshotIndex: 0, lastNamedSnapshotIndex: {} };
2270 - this._interruptedPromise = new ManualPromise4();
2271 - this._lastStepId = 0;
2272 - this._steps = [];
2273 - this._stepMap = /* @__PURE__ */ new Map();
2274 - this._onDidFinishTestFunctionCallbacks = /* @__PURE__ */ new Set();
2275 - this._hasNonRetriableError = false;
2276 - this._hasUnhandledError = false;
2277 - this._allowSkips = false;
2278 - this.duration = 0;
2279 - this.annotations = [];
2280 - this.attachments = [];
2281 - this.status = "passed";
2282 - this.snapshotSuffix = "";
2283 - this.errors = [];
2284 - this._ignoreTimeoutsCounter = 0;
2285 - this.testId = test?.id ?? "";
2286 - this._callbacks = callbacks;
2287 - this._startTime = monotonicTime3();
2288 - this._startWallTime = Date.now();
2289 - this._requireFile = test?._requireFile ?? "";
2290 - this._uniqueSymbol = Symbol("testInfoUniqueSymbol");
2291 - this._workerParams = workerParams;
2292 - this.repeatEachIndex = workerParams.repeatEachIndex;
2293 - this.retry = retry;
2294 - this.workerIndex = workerParams.workerIndex;
2295 - this.parallelIndex = workerParams.parallelIndex;
2296 - this._projectInternal = projectInternal;
2297 - this.project = projectInternal.project;
2298 - this._configInternal = configInternal;
2299 - this.config = configInternal.config;
2300 - this.title = test?.title ?? "";
2301 - this.titlePath = test?.titlePath() ?? [];
2302 - this.file = test?.location.file ?? "";
2303 - this.line = test?.location.line ?? 0;
2304 - this.column = test?.location.column ?? 0;
2305 - this.tags = test?.tags ?? [];
2306 - this.fn = test?.fn ?? (() => {
2307 - });
2308 - this.expectedStatus = test?.expectedStatus ?? "skipped";
2309 - this._timeoutManager = new TimeoutManager(this.project.timeout);
2310 - if (configInternal.configCLIOverrides.debug === "inspector")
2311 - this._setIgnoreTimeouts(true);
2312 - this.outputDir = (() => {
2313 - const relativeTestFilePath = import_path3.default.relative(this.project.testDir, this._requireFile.replace(/\.(spec|test)\.(js|ts|jsx|tsx|mjs|mts|cjs|cts)$/, ""));
2314 - const sanitizedRelativePath = relativeTestFilePath.replace(process.platform === "win32" ? new RegExp("\\\\", "g") : new RegExp("/", "g"), "-");
2315 - const fullTitleWithoutSpec = this.titlePath.slice(1).join(" ");
2316 - let testOutputDir = trimLongString(sanitizedRelativePath + "-" + sanitizeForFilePath2(fullTitleWithoutSpec), windowsFilesystemFriendlyLength);
2317 - if (projectInternal.id)
2318 - testOutputDir += "-" + sanitizeForFilePath2(projectInternal.id);
2319 - if (this.retry)
2320 - testOutputDir += "-retry" + this.retry;
2321 - if (this.repeatEachIndex)
2322 - testOutputDir += "-repeat" + this.repeatEachIndex;
2323 - return import_path3.default.join(this.project.outputDir, testOutputDir);
2324 - })();
2325 - this.snapshotDir = (() => {
2326 - const relativeTestFilePath = import_path3.default.relative(this.project.testDir, this._requireFile);
2327 - return import_path3.default.join(this.project.snapshotDir, relativeTestFilePath + "-snapshots");
2328 - })();
2329 - this._attachmentsPush = this.attachments.push.bind(this.attachments);
2330 - const attachmentsPush = (...attachments) => {
2331 - for (const a of attachments)
2332 - this._attach(a, this._parentStep()?.stepId);
2333 - return this.attachments.length;
2334 - };
2335 - Object.defineProperty(this.attachments, "push", {
2336 - value: attachmentsPush,
2337 - writable: true,
2338 - enumerable: false,
2339 - configurable: true
2340 - });
2341 - this._tracing = new TestTracing(this, workerParams.artifactsDir);
2342 - this.skip = import_common2.transform.wrapFunctionWithLocation((location, ...args) => this._modifier("skip", location, args));
2343 - this.fixme = import_common2.transform.wrapFunctionWithLocation((location, ...args) => this._modifier("fixme", location, args));
2344 - this.fail = import_common2.transform.wrapFunctionWithLocation((location, ...args) => this._modifier("fail", location, args));
2345 - this.slow = import_common2.transform.wrapFunctionWithLocation((location, ...args) => this._modifier("slow", location, args));
2346 - }
2347 - get error() {
2348 - return this.errors[0];
2349 - }
2350 - set error(e) {
2351 - if (e === void 0)
2352 - throw new Error("Cannot assign testInfo.error undefined value!");
2353 - this.errors[0] = e;
2354 - }
2355 - get timeout() {
2356 - return this._timeoutManager.defaultSlot().timeout;
2357 - }
2358 - set timeout(timeout) {
2359 - }
2360 - _deadline() {
2361 - return { deadline: this._timeoutManager.currentSlotDeadline(), timeout: this.timeout };
2362 - }
2363 - _modifier(type, location, modifierArgs) {
2364 - if (typeof modifierArgs[1] === "function") {
2365 - throw new Error([
2366 - "It looks like you are calling test.skip() inside the test and pass a callback.",
2367 - "Pass a condition instead and optional description instead:",
2368 - `test('my test', async ({ page, isMobile }) => {`,
2369 - ` test.skip(isMobile, 'This test is not applicable on mobile');`,
2370 - `});`
2371 - ].join("\n"));
2372 - }
2373 - if (modifierArgs.length >= 1 && !modifierArgs[0])
2374 - return;
2375 - const description = modifierArgs[1];
2376 - this.annotations.push({ type, description, location });
2377 - if (type === "slow") {
2378 - this._timeoutManager.slow();
2379 - } else if (type === "skip" || type === "fixme") {
2380 - this.expectedStatus = "skipped";
2381 - throw new TestSkipError("Test is skipped: " + (description || ""));
2382 - } else if (type === "fail") {
2383 - if (this.expectedStatus !== "skipped")
2384 - this.expectedStatus = "failed";
2385 - }
2386 - }
2387 - _findLastPredefinedStep(steps) {
2388 - for (let i = steps.length - 1; i >= 0; i--) {
2389 - const child = this._findLastPredefinedStep(steps[i].steps);
2390 - if (child)
2391 - return child;
2392 - if ((steps[i].category === "hook" || steps[i].category === "fixture") && !steps[i].endWallTime)
2393 - return steps[i];
2394 - }
2395 - }
2396 - _parentStep() {
2397 - return currentZone().data("stepZone") ?? this._findLastPredefinedStep(this._steps);
2398 - }
2399 - _addStep(data, parentStep) {
2400 - const stepId = `${data.category}@${++this._lastStepId}`;
2401 - if (data.category === "hook" || data.category === "fixture") {
2402 - parentStep = this._findLastPredefinedStep(this._steps);
2403 - } else {
2404 - if (!parentStep)
2405 - parentStep = this._parentStep();
2406 - }
2407 - const filteredStack = filteredStackTrace(captureRawStack());
2408 - let boxedStack = parentStep?.boxedStack;
2409 - let location = data.location;
2410 - if (!boxedStack && data.box) {
2411 - boxedStack = filteredStack.slice(1);
2412 - location = location || boxedStack[0];
2413 - }
2414 - location = location || filteredStack[0];
2415 - const step = {
2416 - ...data,
2417 - stepId,
2418 - group: parentStep?.group ?? data.group,
2419 - boxedStack,
2420 - location,
2421 - steps: [],
2422 - attachmentIndices: [],
2423 - info: new TestStepInfoImpl(this, stepId, data.title, parentStep?.info),
2424 - complete: (result) => {
2425 - if (step.endWallTime)
2426 - return;
2427 - step.endWallTime = Date.now();
2428 - if (result.attachments) {
2429 - for (const attachment of result.attachments)
2430 - this._attach(attachment, stepId);
2431 - }
2432 - if (result.error) {
2433 - if (typeof result.error === "object" && !result.error?.[stepSymbol])
2434 - result.error[stepSymbol] = step;
2435 - const error = testInfoError(result.error);
2436 - if (step.boxedStack)
2437 - error.stack = `${error.message}
2438 -${stringifyStackFrames2(step.boxedStack).join("\n")}`;
2439 - step.error = error;
2440 - }
2441 - if (result.softError) {
2442 - step.infectParentStepsWithError = true;
2443 - this._failWithError(result.softError);
2444 - }
2445 - if (result.shouldNotRetryTest)
2446 - this._hasNonRetriableError = true;
2447 - if (!step.error) {
2448 - for (const childStep of step.steps) {
2449 - if (childStep.error && childStep.infectParentStepsWithError) {
2450 - step.error = childStep.error;
2451 - step.infectParentStepsWithError = true;
2452 - break;
2453 - }
2454 - }
2455 - }
2456 - if (!step.group) {
2457 - const payload = {
2458 - testId: this.testId,
2459 - stepId,
2460 - wallTime: step.endWallTime,
2461 - error: step.error ? import_common2.ipc.toTestInfoErrorPayload(step.error) : void 0,
2462 - suggestedRebaseline: result.suggestedRebaseline,
2463 - annotations: step.info.annotations
2464 - };
2465 - this._callbacks.onStepEnd(payload);
2466 - }
2467 - if (step.group !== "internal") {
2468 - const errorForTrace = step.error ? { name: "", message: step.error.message || "", stack: step.error.stack } : void 0;
2469 - const attachments = step.attachmentIndices.map((i) => this.attachments[i]);
2470 - this._tracing.appendAfterActionForStep(stepId, errorForTrace, attachments, step.info.annotations);
2471 - }
2472 - }
2473 - };
2474 - const parentStepList = parentStep ? parentStep.steps : this._steps;
2475 - parentStepList.push(step);
2476 - this._stepMap.set(stepId, step);
2477 - if (!step.group) {
2478 - const payload = {
2479 - testId: this.testId,
2480 - stepId,
2481 - parentStepId: parentStep ? parentStep.stepId : void 0,
2482 - title: step.title,
2483 - category: step.category,
2484 - wallTime: Date.now(),
2485 - location: step.location
2486 - };
2487 - this._callbacks.onStepBegin(payload);
2488 - }
2489 - if (step.group !== "internal") {
2490 - this._tracing.appendBeforeActionForStep({
2491 - stepId,
2492 - parentId: parentStep?.stepId,
2493 - title: step.shortTitle ?? step.title,
2494 - category: step.category,
2495 - params: step.params,
2496 - stack: step.location ? [step.location] : [],
2497 - group: step.group
2498 - });
2499 - }
2500 - return step;
2501 - }
2502 - _abort(location, message) {
2503 - this.annotations.push({ type: "abort", description: message, location });
2504 - throw new TestAbortError("Test aborted" + (message ? ": " + message : ""));
2505 - }
2506 - _interrupt() {
2507 - this._interruptedPromise.resolve();
2508 - this._timeoutManager.interrupt();
2509 - if (this.status === "passed")
2510 - this.status = "interrupted";
2511 - }
2512 - _failWithError(error) {
2513 - if (this.status === "passed" || this.status === "skipped")
2514 - this.status = error instanceof TimeoutManagerError ? "timedOut" : "failed";
2515 - const serialized = testInfoError(error);
2516 - const step = typeof error === "object" ? error?.[stepSymbol] : void 0;
2517 - if (step && step.boxedStack)
2518 - serialized.stack = `${error.name}: ${error.message}
2519 -${stringifyStackFrames2(step.boxedStack).join("\n")}`;
2520 - this.errors.push(serialized);
2521 - this._tracing.appendForError(serialized);
2522 - }
2523 - async _runAsStep(stepInfo, cb) {
2524 - const step = this._addStep(stepInfo);
2525 - try {
2526 - await cb();
2527 - step.complete({});
2528 - } catch (error) {
2529 - step.complete({ error });
2530 - throw error;
2531 - }
2532 - }
2533 - async _runWithTimeout(runnable, cb) {
2534 - try {
2535 - await this._timeoutManager.withRunnable(runnable, async () => {
2536 - try {
2537 - await cb();
2538 - } catch (e) {
2539 - if (this._allowSkips && e instanceof TestSkipError) {
2540 - if (this.status === "passed")
2541 - this.status = "skipped";
2542 - } else {
2543 - this._failWithError(e);
2544 - }
2545 - throw e;
2546 - }
2547 - });
2548 - } catch (error) {
2549 - if (!this._interruptedPromise.isDone() && error instanceof TimeoutManagerError)
2550 - this._failWithError(error);
2551 - throw error;
2552 - }
2553 - }
2554 - _isFailure() {
2555 - return this.status !== "skipped" && this.status !== this.expectedStatus;
2556 - }
2557 - _currentHookType() {
2558 - const type = this._timeoutManager.currentSlotType();
2559 - return ["beforeAll", "afterAll", "beforeEach", "afterEach"].includes(type) ? type : void 0;
2560 - }
2561 - _setIgnoreTimeouts(ignoreTimeouts) {
2562 - this._ignoreTimeoutsCounter += ignoreTimeouts ? 1 : -1;
2563 - this._timeoutManager.setIgnoreTimeouts(this._ignoreTimeoutsCounter > 0);
2564 - }
2565 - async _didFinishTestFunction() {
2566 - const shouldPause = this._workerParams.pauseAtEnd && !this._isFailure() || this._workerParams.pauseOnError && this._isFailure();
2567 - if (shouldPause) {
2568 - await Promise.race([
2569 - this._callbacks.onTestPaused({ testId: this.testId, errors: this._isFailure() ? this.errors.map(import_common2.ipc.toTestInfoErrorPayload) : [], status: this.status }),
2570 - this._interruptedPromise
2571 - ]);
2572 - }
2573 - for (const cb of this._onDidFinishTestFunctionCallbacks)
2574 - await cb();
2575 - }
2576 - // ------------ TestInfo methods ------------
2577 - async attach(name, options2 = {}) {
2578 - const step = this._addStep({
2579 - title: `Attach ${escapeWithQuotes2(name, '"')}`,
2580 - category: "test.attach"
2581 - });
2582 - this._attach(
2583 - await normalizeAndSaveAttachment(this.outputPath(), name, options2),
2584 - step.stepId
2585 - );
2586 - step.complete({});
2587 - }
2588 - _attach(attachment, stepId) {
2589 - const index = this._attachmentsPush(attachment) - 1;
2590 - let step = stepId ? this._stepMap.get(stepId) : void 0;
2591 - if (!!step?.group)
2592 - step = void 0;
2593 - if (step) {
2594 - step.attachmentIndices.push(index);
2595 - } else {
2596 - const stepId2 = `attach@${createGuid2()}`;
2597 - this._tracing.appendBeforeActionForStep({ stepId: stepId2, title: `Attach ${escapeWithQuotes2(attachment.name, '"')}`, category: "test.attach", stack: [] });
2598 - this._tracing.appendAfterActionForStep(stepId2, void 0, [attachment]);
2599 - }
2600 - this._callbacks.onAttach({
2601 - testId: this.testId,
2602 - name: attachment.name,
2603 - contentType: attachment.contentType,
2604 - path: attachment.path,
2605 - body: attachment.body?.toString("base64"),
2606 - stepId: step?.stepId
2607 - });
2608 - }
2609 - outputPath(...pathSegments) {
2610 - const outputPath = this._getOutputPath(...pathSegments);
2611 - import_fs3.default.mkdirSync(this.outputDir, { recursive: true });
2612 - return outputPath;
2613 - }
2614 - _getOutputPath(...pathSegments) {
2615 - const joinedPath = import_path3.default.join(...pathSegments);
2616 - const outputPath = getContainedPath(this.outputDir, joinedPath);
2617 - if (outputPath)
2618 - return outputPath;
2619 - throw new Error(`The outputPath is not allowed outside of the parent directory. Please fix the defined path.
2620 -
2621 - outputPath: ${joinedPath}`);
2622 - }
2623 - _fsSanitizedTestName() {
2624 - const fullTitleWithoutSpec = this.titlePath.slice(1).join(" ");
2625 - return sanitizeForFilePath2(trimLongString(fullTitleWithoutSpec));
2626 - }
2627 - _resolveSnapshotPaths(kind, name, updateSnapshotIndex, anonymousExtension) {
2628 - const snapshotNames = kind === "aria" ? this._ariaSnapshotNames : this._snapshotNames;
2629 - const defaultExtensions = { "aria": ".aria.yml", "screenshot": ".png", "snapshot": ".txt" };
2630 - const ariaAwareExtname = (filePath) => kind === "aria" && filePath.endsWith(".aria.yml") ? ".aria.yml" : import_path3.default.extname(filePath);
2631 - let subPath;
2632 - let ext;
2633 - let relativeOutputPath;
2634 - if (!name) {
2635 - const index = snapshotNames.lastAnonymousSnapshotIndex + 1;
2636 - if (updateSnapshotIndex === "updateSnapshotIndex")
2637 - snapshotNames.lastAnonymousSnapshotIndex = index;
2638 - const fullTitleWithoutSpec = [...this.titlePath.slice(1), index].join(" ");
2639 - ext = anonymousExtension ?? defaultExtensions[kind];
2640 - subPath = sanitizeFilePathBeforeExtension(trimLongString(fullTitleWithoutSpec) + ext, ext);
2641 - relativeOutputPath = sanitizeFilePathBeforeExtension(trimLongString(fullTitleWithoutSpec, windowsFilesystemFriendlyLength) + ext, ext);
2642 - } else {
2643 - if (Array.isArray(name)) {
2644 - subPath = import_path3.default.join(...name);
2645 - relativeOutputPath = import_path3.default.join(...name);
2646 - ext = ariaAwareExtname(subPath);
2647 - } else {
2648 - ext = ariaAwareExtname(name);
2649 - subPath = sanitizeFilePathBeforeExtension(name, ext);
2650 - relativeOutputPath = sanitizeFilePathBeforeExtension(trimLongString(name, windowsFilesystemFriendlyLength), ext);
2651 - }
2652 - const index = (snapshotNames.lastNamedSnapshotIndex[relativeOutputPath] || 0) + 1;
2653 - if (updateSnapshotIndex === "updateSnapshotIndex")
2654 - snapshotNames.lastNamedSnapshotIndex[relativeOutputPath] = index;
2655 - if (index > 1)
2656 - relativeOutputPath = addSuffixToFilePath(relativeOutputPath, `-${index - 1}`);
2657 - }
2658 - const legacyTemplate = "{snapshotDir}/{testFileDir}/{testFileName}-snapshots/{arg}{-projectName}{-snapshotSuffix}{ext}";
2659 - let template;
2660 - if (kind === "screenshot") {
2661 - template = this._projectInternal.expect?.toHaveScreenshot?.pathTemplate || this._projectInternal.snapshotPathTemplate || legacyTemplate;
2662 - } else if (kind === "aria") {
2663 - const ariaDefaultTemplate = "{snapshotDir}/{testFileDir}/{testFileName}-snapshots/{arg}{ext}";
2664 - template = this._projectInternal.expect?.toMatchAriaSnapshot?.pathTemplate || this._projectInternal.snapshotPathTemplate || ariaDefaultTemplate;
2665 - } else {
2666 - template = this._projectInternal.snapshotPathTemplate || legacyTemplate;
2667 - }
2668 - const nameArgument = import_path3.default.join(import_path3.default.dirname(subPath), import_path3.default.basename(subPath, ext));
2669 - const absoluteSnapshotPath = this._applyPathTemplate(template, nameArgument, ext);
2670 - return { absoluteSnapshotPath, relativeOutputPath };
2671 - }
2672 - _applyPathTemplate(template, nameArgument, ext) {
2673 - const relativeTestFilePath = import_path3.default.relative(this.project.testDir, this._requireFile);
2674 - const parsedRelativeTestFilePath = import_path3.default.parse(relativeTestFilePath);
2675 - const projectNamePathSegment = sanitizeForFilePath2(this.project.name);
2676 - const snapshotPath = template.replace(/\{(.)?testDir\}/g, "$1" + this.project.testDir).replace(/\{(.)?snapshotDir\}/g, "$1" + this.project.snapshotDir).replace(/\{(.)?snapshotSuffix\}/g, this.snapshotSuffix ? "$1" + this.snapshotSuffix : "").replace(/\{(.)?testFileDir\}/g, "$1" + parsedRelativeTestFilePath.dir).replace(/\{(.)?platform\}/g, "$1" + process.platform).replace(/\{(.)?projectName\}/g, projectNamePathSegment ? "$1" + projectNamePathSegment : "").replace(/\{(.)?testName\}/g, "$1" + this._fsSanitizedTestName()).replace(/\{(.)?testFileBaseName\}/g, "$1" + parsedRelativeTestFilePath.name).replace(/\{(.)?testFileName\}/g, "$1" + parsedRelativeTestFilePath.base).replace(/\{(.)?testFilePath\}/g, "$1" + relativeTestFilePath).replace(/\{(.)?arg\}/g, "$1" + nameArgument).replace(/\{(.)?ext\}/g, ext ? "$1" + ext : "");
2677 - return import_path3.default.normalize(import_path3.default.resolve(this._configInternal.configDir, snapshotPath));
2678 - }
2679 - snapshotPath(...args) {
2680 - let name = args;
2681 - let kind = "snapshot";
2682 - const options2 = args[args.length - 1];
2683 - if (options2 && typeof options2 === "object") {
2684 - kind = options2.kind ?? kind;
2685 - name = args.slice(0, -1);
2686 - }
2687 - if (!["snapshot", "screenshot", "aria"].includes(kind))
2688 - throw new Error(`testInfo.snapshotPath: unknown kind "${kind}", must be one of "snapshot", "screenshot" or "aria"`);
2689 - return this._resolveSnapshotPaths(kind, name.length <= 1 ? name[0] : name, "dontUpdateSnapshotIndex").absoluteSnapshotPath;
2690 - }
2691 - setTimeout(timeout) {
2692 - this._timeoutManager.setTimeout(timeout);
2693 - }
2694 - artifactsDir() {
2695 - return this._workerParams.artifactsDir;
2696 - }
2697 -};
2698 -var TestStepInfoImpl = class {
2699 - constructor(testInfo, stepId, title, parentStep) {
2700 - this.annotations = [];
2701 - this._testInfo = testInfo;
2702 - this._stepId = stepId;
2703 - this._title = title;
2704 - this._parentStep = parentStep;
2705 - this.skip = import_common2.transform.wrapFunctionWithLocation((location, ...args) => {
2706 - if (args.length > 0 && !args[0])
2707 - return;
2708 - const description = args[1];
2709 - this.annotations.push({ type: "skip", description, location });
2710 - throw new StepSkipError(description);
2711 - });
2712 - }
2713 - async _runStepBody(skip, body, location) {
2714 - if (skip) {
2715 - this.annotations.push({ type: "skip", location });
2716 - return void 0;
2717 - }
2718 - try {
2719 - return await body(this);
2720 - } catch (e) {
2721 - if (e instanceof StepSkipError)
2722 - return void 0;
2723 - throw e;
2724 - }
2725 - }
2726 - async attach(name, options2) {
2727 - this._testInfo._attach(await normalizeAndSaveAttachment(this._testInfo.outputPath(), name, options2), this._stepId);
2728 - }
2729 - get titlePath() {
2730 - const parent = this._parentStep ?? this._testInfo;
2731 - return [...parent.titlePath, this._title];
2732 - }
2733 -};
2734 -var TestSkipError = class extends Error {
2735 -};
2736 -var TestAbortError = class extends Error {
2737 -};
2738 -var StepSkipError = class extends Error {
2739 -};
2740 -var stepSymbol = Symbol("step");
2741 -
2742 -// packages/playwright/src/worker/workerMain.ts
2743 -var colors2 = require("playwright-core/lib/utilsBundle").colors;
2744 -var { ManualPromise: ManualPromise5 } = require("playwright-core/lib/coreBundle").iso;
2745 -var { removeFolders } = require("playwright-core/lib/coreBundle").utils;
2746 -var { gracefullyCloseAll } = require("playwright-core/lib/coreBundle").utils;
2747 -var WorkerMain = class extends import_common3.ProcessRunner {
2748 - constructor(params) {
2749 - super();
2750 - // Accumulated fatal errors that cannot be attributed to a test.
2751 - this._fatalErrors = [];
2752 - // The stage of the full cleanup. Once "finished", we can safely stop running anything.
2753 - this._didRunFullCleanup = false;
2754 - // Whether the worker was stopped due to an unhandled error in a test marked with test.fail().
2755 - // This should force dispatcher to use a new worker instead.
2756 - this._stoppedDueToUnhandledErrorInTestFail = false;
2757 - // Whether the worker was requested to stop.
2758 - this._isStopped = false;
2759 - // This promise resolves once the single "run test group" call finishes.
2760 - this._runFinished = new ManualPromise5();
2761 - this._currentTest = null;
2762 - this._lastRunningTests = [];
2763 - this._totalRunningTests = 0;
2764 - // Suites that had their beforeAll hooks, but not afterAll hooks executed.
2765 - // These suites still need afterAll hooks to be executed for the proper cleanup.
2766 - // Contains dynamic annotations originated by modifiers with a callback, e.g. `test.skip(() => true)`.
2767 - this._activeSuites = /* @__PURE__ */ new Map();
2768 - process.env.TEST_WORKER_INDEX = String(params.workerIndex);
2769 - process.env.TEST_PARALLEL_INDEX = String(params.parallelIndex);
2770 - globals.setIsWorkerProcess();
2771 - this._params = params;
2772 - this._fixtureRunner = new FixtureRunner();
2773 - this._runFinished.resolve();
2774 - process.on("unhandledRejection", (reason) => this.unhandledError(reason));
2775 - process.on("uncaughtException", (error) => this.unhandledError(error));
2776 - process.stdout.write = (chunk, cb) => {
2777 - this.dispatchEvent("stdOut", import_common3.ipc.stdioChunkToParams(chunk));
2778 - this._currentTest?._tracing.appendStdioToTrace("stdout", chunk);
2779 - if (typeof cb === "function")
2780 - process.nextTick(cb);
2781 - return true;
2782 - };
2783 - if (!process.env.PW_RUNNER_DEBUG) {
2784 - process.stderr.write = (chunk, cb) => {
2785 - this.dispatchEvent("stdErr", import_common3.ipc.stdioChunkToParams(chunk));
2786 - this._currentTest?._tracing.appendStdioToTrace("stderr", chunk);
2787 - if (typeof cb === "function")
2788 - process.nextTick(cb);
2789 - return true;
2790 - };
2791 - }
2792 - }
2793 - _stop() {
2794 - if (!this._isStopped) {
2795 - this._isStopped = true;
2796 - this._currentTest?._interrupt();
2797 - }
2798 - return this._runFinished;
2799 - }
2800 - async gracefullyClose() {
2801 - try {
2802 - await this._stop();
2803 - if (!this._config) {
2804 - return;
2805 - }
2806 - const fakeTestInfo = new TestInfoImpl(this._config, this._project, this._params, void 0, 0, emtpyTestInfoCallbacks);
2807 - const runnable = { type: "teardown" };
2808 - await fakeTestInfo._runWithTimeout(runnable, () => this._loadIfNeeded()).catch(() => {
2809 - });
2810 - await this._fixtureRunner.teardownScope("test", fakeTestInfo, runnable).catch(() => {
2811 - });
2812 - await this._fixtureRunner.teardownScope("worker", fakeTestInfo, runnable).catch(() => {
2813 - });
2814 - await fakeTestInfo._runWithTimeout(runnable, () => gracefullyCloseAll()).catch(() => {
2815 - });
2816 - this._fatalErrors.push(...fakeTestInfo.errors);
2817 - } catch (e) {
2818 - this._fatalErrors.push(testInfoError(e));
2819 - }
2820 - if (this._fatalErrors.length) {
2821 - this._appendProcessTeardownDiagnostics(this._fatalErrors[this._fatalErrors.length - 1]);
2822 - const payload = { fatalErrors: this._fatalErrors.map(import_common3.ipc.toTestInfoErrorPayload) };
2823 - this.dispatchEvent("teardownErrors", payload);
2824 - }
2825 - }
2826 - _appendProcessTeardownDiagnostics(error) {
2827 - if (!this._lastRunningTests.length)
2828 - return;
2829 - const count = this._totalRunningTests === 1 ? "1 test" : `${this._totalRunningTests} tests`;
2830 - let lastMessage = "";
2831 - if (this._lastRunningTests.length < this._totalRunningTests)
2832 - lastMessage = `, last ${this._lastRunningTests.length} tests were`;
2833 - const message = [
2834 - "",
2835 - "",
2836 - colors2.red(`Failed worker ran ${count}${lastMessage}:`),
2837 - ...this._lastRunningTests.map((test) => formatTestTitle(test, this._project.project.name))
2838 - ].join("\n");
2839 - if (error.message) {
2840 - if (error.stack) {
2841 - let index = error.stack.indexOf(error.message);
2842 - if (index !== -1) {
2843 - index += error.message.length;
2844 - error.stack = error.stack.substring(0, index) + message + error.stack.substring(index);
2845 - }
2846 - }
2847 - error.message += message;
2848 - } else if (error.value) {
2849 - error.value += message;
2850 - }
2851 - }
2852 - unhandledError(error) {
2853 - if (!this._currentTest) {
2854 - if (!this._fatalErrors.length)
2855 - this._fatalErrors.push(testInfoError(error));
2856 - void this._stop();
2857 - return;
2858 - }
2859 - if (!this._currentTest._hasUnhandledError) {
2860 - this._currentTest._hasUnhandledError = true;
2861 - this._currentTest._failWithError(error);
2862 - }
2863 - const isExpectError = error instanceof Error && !!error.matcherResult;
2864 - const shouldContinueInThisWorker = this._currentTest.expectedStatus === "failed" && isExpectError;
2865 - if (!shouldContinueInThisWorker) {
2866 - this._stoppedDueToUnhandledErrorInTestFail = true;
2867 - void this._stop();
2868 - }
2869 - }
2870 - async _loadIfNeeded() {
2871 - if (this._config)
2872 - return;
2873 - const config = await import_common3.configLoader.deserializeConfig(this._params.config);
2874 - const project = config.projects.find((p) => p.id === this._params.projectId);
2875 - if (!project)
2876 - throw new Error(`Project "${this._params.projectId}" not found in the worker process. Make sure project name does not change.`);
2877 - this._config = config;
2878 - this._project = project;
2879 - this._poolBuilder = import_common3.poolBuilder.PoolBuilder.createForWorker(this._project);
2880 - this._fixtureRunner.workerFixtureTimeout = this._project.project.timeout;
2881 - }
2882 - async runTestGroup(runPayload) {
2883 - this._runFinished = new ManualPromise5();
2884 - const entries = new Map(runPayload.entries.map((e) => [e.testId, e]));
2885 - let fatalUnknownTestIds;
2886 - try {
2887 - await this._loadIfNeeded();
2888 - const fileSuite = await import_common3.testLoader.loadTestFile(runPayload.file, this._config);
2889 - const suite = import_common3.suiteUtils.bindFileSuiteToProject(this._project, fileSuite);
2890 - if (this._params.repeatEachIndex)
2891 - import_common3.suiteUtils.applyRepeatEachIndex(this._project, suite, this._params.repeatEachIndex);
2892 - import_common3.suiteUtils.filterTestsRemoveEmptySuites(suite, (test) => entries.has(test.id));
2893 - const tests = suite.allTests();
2894 - const unknownTestIds = new Set(entries.keys());
2895 - for (const test of tests)
2896 - unknownTestIds.delete(test.id);
2897 - if (unknownTestIds.size) {
2898 - fatalUnknownTestIds = [...unknownTestIds];
2899 - void this._stop();
2900 - return;
2901 - }
2902 - this._poolBuilder.buildPools(suite);
2903 - this._activeSuites = /* @__PURE__ */ new Map();
2904 - this._didRunFullCleanup = false;
2905 - for (let i = 0; i < tests.length; i++) {
2906 - if (this._isStopped && this._didRunFullCleanup)
2907 - break;
2908 - const entry = entries.get(tests[i].id);
2909 - entries.delete(tests[i].id);
2910 - debugTest(`test started "${tests[i].title}"`);
2911 - await this._runTest(tests[i], entry.retry, tests[i + 1]);
2912 - debugTest(`test finished "${tests[i].title}"`);
2913 - }
2914 - } catch (e) {
2915 - this._fatalErrors.push(testInfoError(e));
2916 - void this._stop();
2917 - } finally {
2918 - const donePayload = {
2919 - fatalErrors: this._fatalErrors.map(import_common3.ipc.toTestInfoErrorPayload),
2920 - skipTestsDueToSetupFailure: [],
2921 - fatalUnknownTestIds,
2922 - stoppedDueToUnhandledErrorInTestFail: this._stoppedDueToUnhandledErrorInTestFail
2923 - };
2924 - for (const test of this._skipRemainingTestsInSuite?.allTests() || []) {
2925 - if (entries.has(test.id))
2926 - donePayload.skipTestsDueToSetupFailure.push(test.id);
2927 - }
2928 - this.dispatchEvent("done", donePayload);
2929 - this._fatalErrors = [];
2930 - this._skipRemainingTestsInSuite = void 0;
2931 - this._runFinished.resolve();
2932 - }
2933 - }
2934 - async customMessage(payload) {
2935 - try {
2936 - if (this._currentTest?.testId !== payload.testId)
2937 - throw new Error("Test has already stopped");
2938 - const response = await this._currentTest._onCustomMessageCallback?.(payload.request);
2939 - return { response };
2940 - } catch (error) {
2941 - return { response: {}, error: import_common3.ipc.toTestInfoErrorPayload(testInfoError(error)) };
2942 - }
2943 - }
2944 - resume(payload) {
2945 - this._resumePromise?.resolve(payload);
2946 - }
2947 - async _runTest(test, retry, nextTest) {
2948 - const testInfo = new TestInfoImpl(this._config, this._project, this._params, test, retry, {
2949 - onStepBegin: (payload) => this.dispatchEvent("stepBegin", payload),
2950 - onStepEnd: (payload) => this.dispatchEvent("stepEnd", payload),
2951 - onAttach: (payload) => this.dispatchEvent("attach", payload),
2952 - onTestPaused: (payload) => {
2953 - this._resumePromise = new ManualPromise5();
2954 - this.dispatchEvent("testPaused", payload);
2955 - return this._resumePromise;
2956 - }
2957 - });
2958 - const processAnnotation = (annotation) => {
2959 - testInfo.annotations.push(annotation);
2960 - switch (annotation.type) {
2961 - case "fixme":
2962 - case "skip":
2963 - testInfo.expectedStatus = "skipped";
2964 - break;
2965 - case "fail":
2966 - if (testInfo.expectedStatus !== "skipped")
2967 - testInfo.expectedStatus = "failed";
2968 - break;
2969 - case "slow":
2970 - testInfo._timeoutManager.slow();
2971 - break;
2972 - }
2973 - };
2974 - if (!this._isStopped)
2975 - this._fixtureRunner.setPool(test._pool);
2976 - const suites = getSuites(test);
2977 - const reversedSuites = suites.slice().reverse();
2978 - const nextSuites = new Set(getSuites(nextTest));
2979 - testInfo._timeoutManager.setTimeout(test.timeout);
2980 - for (const annotation of test.annotations)
2981 - processAnnotation(annotation);
2982 - for (const suite of suites) {
2983 - const extraAnnotations = this._activeSuites.get(suite) || [];
2984 - for (const annotation of extraAnnotations)
2985 - processAnnotation(annotation);
2986 - }
2987 - this._currentTest = testInfo;
2988 - globals.setCurrentTestInfo(testInfo);
2989 - (0, import_expect.setExpectConfig)({
2990 - testInfo,
2991 - filteredStackTrace,
2992 - ignoreSnapshots: testInfo._projectInternal.project.ignoreSnapshots,
2993 - updateSnapshots: testInfo.config.updateSnapshots,
2994 - timeout: testInfo._projectInternal.expect?.timeout,
2995 - toHaveScreenshot: testInfo._projectInternal.expect?.toHaveScreenshot,
2996 - toMatchSnapshot: testInfo._projectInternal.expect?.toMatchSnapshot,
2997 - toMatchAriaSnapshot: testInfo._projectInternal.expect?.toMatchAriaSnapshot,
2998 - toPass: testInfo._projectInternal.expect?.toPass
2999 - });
3000 - this.dispatchEvent("testBegin", buildTestBeginPayload(testInfo));
3001 - const isSkipped = testInfo.expectedStatus === "skipped";
3002 - const hasAfterAllToRunBeforeNextTest = reversedSuites.some((suite) => {
3003 - return this._activeSuites.has(suite) && !nextSuites.has(suite) && suite._hooks.some((hook) => hook.type === "afterAll");
3004 - });
3005 - if (isSkipped && nextTest && !hasAfterAllToRunBeforeNextTest) {
3006 - testInfo.status = "skipped";
3007 - this.dispatchEvent("testEnd", buildTestEndPayload(testInfo));
3008 - return;
3009 - }
3010 - this._totalRunningTests++;
3011 - this._lastRunningTests.push(test);
3012 - if (this._lastRunningTests.length > 10)
3013 - this._lastRunningTests.shift();
3014 - let shouldRunAfterEachHooks = false;
3015 - testInfo._allowSkips = true;
3016 - await (async () => {
3017 - await testInfo._runWithTimeout({ type: "test" }, async () => {
3018 - const traceFixtureRegistration = test._pool.resolve("trace");
3019 - if (!traceFixtureRegistration)
3020 - return;
3021 - if (typeof traceFixtureRegistration.fn === "function")
3022 - throw new Error(`"trace" option cannot be a function`);
3023 - await testInfo._tracing.startIfNeeded(traceFixtureRegistration.fn);
3024 - });
3025 - if (this._isStopped || isSkipped) {
3026 - testInfo.status = "skipped";
3027 - return;
3028 - }
3029 - await removeFolders([testInfo.outputDir]);
3030 - let testFunctionParams = null;
3031 - await testInfo._runAsStep({ title: "Before Hooks", category: "hook" }, async () => {
3032 - for (const suite of suites)
3033 - await this._runBeforeAllHooksForSuite(suite, testInfo);
3034 - shouldRunAfterEachHooks = true;
3035 - await this._runEachHooksForSuites(suites, "beforeEach", testInfo);
3036 - const params = await this._fixtureRunner.resolveParametersForFunction(test.fn, testInfo, "test", { type: "test" });
3037 - if (params !== null)
3038 - testFunctionParams = params.result;
3039 - });
3040 - if (testFunctionParams === null) {
3041 - return;
3042 - }
3043 - await testInfo._runWithTimeout({ type: "test" }, async () => {
3044 - const fn = test.fn;
3045 - await fn(testFunctionParams, testInfo);
3046 - });
3047 - })().catch(() => {
3048 - });
3049 - testInfo.duration = testInfo._timeoutManager.defaultSlot().elapsed | 0;
3050 - testInfo._allowSkips = true;
3051 - const afterHooksTimeout = calculateMaxTimeout(this._project.project.timeout, testInfo.timeout);
3052 - const afterHooksSlot = { timeout: afterHooksTimeout, elapsed: 0 };
3053 - await testInfo._runAsStep({ title: "After Hooks", category: "hook" }, async () => {
3054 - let firstAfterHooksError;
3055 - try {
3056 - await testInfo._runWithTimeout({ type: "test", slot: afterHooksSlot }, () => testInfo._didFinishTestFunction());
3057 - } catch (error) {
3058 - firstAfterHooksError = firstAfterHooksError ?? error;
3059 - }
3060 - try {
3061 - if (shouldRunAfterEachHooks)
3062 - await this._runEachHooksForSuites(reversedSuites, "afterEach", testInfo, afterHooksSlot);
3063 - } catch (error) {
3064 - firstAfterHooksError = firstAfterHooksError ?? error;
3065 - }
3066 - testInfo._tracing.didFinishTestFunctionAndAfterEachHooks();
3067 - try {
3068 - await this._fixtureRunner.teardownScope("test", testInfo, { type: "test", slot: afterHooksSlot });
3069 - } catch (error) {
3070 - firstAfterHooksError = firstAfterHooksError ?? error;
3071 - }
3072 - for (const suite of reversedSuites) {
3073 - if (!nextSuites.has(suite) || testInfo._isFailure()) {
3074 - try {
3075 - await this._runAfterAllHooksForSuite(suite, testInfo);
3076 - } catch (error) {
3077 - firstAfterHooksError = firstAfterHooksError ?? error;
3078 - }
3079 - }
3080 - }
3081 - if (firstAfterHooksError)
3082 - throw firstAfterHooksError;
3083 - }).catch(() => {
3084 - });
3085 - if (testInfo._isFailure())
3086 - this._isStopped = true;
3087 - if (this._isStopped) {
3088 - this._didRunFullCleanup = true;
3089 - await testInfo._runAsStep({ title: "Worker Cleanup", category: "hook" }, async () => {
3090 - let firstWorkerCleanupError;
3091 - const teardownSlot = { timeout: this._project.project.timeout, elapsed: 0 };
3092 - try {
3093 - await this._fixtureRunner.teardownScope("test", testInfo, { type: "test", slot: teardownSlot });
3094 - } catch (error) {
3095 - firstWorkerCleanupError = firstWorkerCleanupError ?? error;
3096 - }
3097 - for (const suite of reversedSuites) {
3098 - try {
3099 - await this._runAfterAllHooksForSuite(suite, testInfo);
3100 - } catch (error) {
3101 - firstWorkerCleanupError = firstWorkerCleanupError ?? error;
3102 - }
3103 - }
3104 - try {
3105 - await this._fixtureRunner.teardownScope("worker", testInfo, { type: "teardown", slot: teardownSlot });
3106 - } catch (error) {
3107 - firstWorkerCleanupError = firstWorkerCleanupError ?? error;
3108 - }
3109 - if (firstWorkerCleanupError)
3110 - throw firstWorkerCleanupError;
3111 - }).catch(() => {
3112 - });
3113 - }
3114 - const tracingSlot = { timeout: this._project.project.timeout, elapsed: 0 };
3115 - await testInfo._runWithTimeout({ type: "test", slot: tracingSlot }, async () => {
3116 - await testInfo._tracing.stopIfNeeded();
3117 - }).catch(() => {
3118 - });
3119 - testInfo.duration = testInfo._timeoutManager.defaultSlot().elapsed + afterHooksSlot.elapsed | 0;
3120 - this._currentTest = null;
3121 - globals.setCurrentTestInfo(null);
3122 - (0, import_expect.setExpectConfig)({ testInfo: null, filteredStackTrace, ignoreSnapshots: false, updateSnapshots: "missing" });
3123 - this.dispatchEvent("testEnd", buildTestEndPayload(testInfo));
3124 - const preserveOutput = this._config.config.preserveOutput === "always" || this._config.config.preserveOutput === "failures-only" && testInfo._isFailure();
3125 - if (!preserveOutput)
3126 - await removeFolders([testInfo.outputDir]);
3127 - }
3128 - _collectHooksAndModifiers(suite, type, testInfo) {
3129 - const runnables = [];
3130 - for (const modifier of suite._modifiers) {
3131 - const modifierType = this._fixtureRunner.dependsOnWorkerFixturesOnly(modifier.fn, modifier.location) ? "beforeAll" : "beforeEach";
3132 - if (modifierType !== type)
3133 - continue;
3134 - const fn = async (fixtures3) => {
3135 - const result = await modifier.fn(fixtures3);
3136 - testInfo._modifier(modifier.type, modifier.location, [!!result, modifier.description]);
3137 - };
3138 - import_common3.fixtures.inheritFixtureNames(modifier.fn, fn);
3139 - runnables.push({
3140 - title: `${modifier.type} modifier`,
3141 - location: modifier.location,
3142 - type: modifier.type,
3143 - fn
3144 - });
3145 - }
3146 - runnables.push(...suite._hooks.filter((hook) => hook.type === type));
3147 - return runnables;
3148 - }
3149 - async _runBeforeAllHooksForSuite(suite, testInfo) {
3150 - if (this._activeSuites.has(suite))
3151 - return;
3152 - const extraAnnotations = [];
3153 - this._activeSuites.set(suite, extraAnnotations);
3154 - await this._runAllHooksForSuite(suite, testInfo, "beforeAll", extraAnnotations);
3155 - }
3156 - async _runAllHooksForSuite(suite, testInfo, type, extraAnnotations) {
3157 - let firstError;
3158 - for (const hook of this._collectHooksAndModifiers(suite, type, testInfo)) {
3159 - try {
3160 - await testInfo._runAsStep({ title: hook.title, category: "hook", location: hook.location }, async () => {
3161 - const timeSlot = { timeout: this._project.project.timeout, elapsed: 0 };
3162 - const runnable = { type: hook.type, slot: timeSlot, location: hook.location };
3163 - const existingAnnotations = new Set(testInfo.annotations);
3164 - try {
3165 - await this._fixtureRunner.resolveParametersAndRunFunction(hook.fn, testInfo, "all-hooks-only", runnable);
3166 - } finally {
3167 - if (extraAnnotations) {
3168 - const newAnnotations = testInfo.annotations.filter((a) => !existingAnnotations.has(a));
3169 - extraAnnotations.push(...newAnnotations);
3170 - }
3171 - await this._fixtureRunner.teardownScope("test", testInfo, runnable);
3172 - }
3173 - });
3174 - } catch (error) {
3175 - firstError = firstError ?? error;
3176 - if (type === "beforeAll" && error instanceof TestSkipError)
3177 - break;
3178 - if (type === "beforeAll" && !this._skipRemainingTestsInSuite) {
3179 - this._skipRemainingTestsInSuite = suite;
3180 - }
3181 - }
3182 - }
3183 - if (firstError)
3184 - throw firstError;
3185 - }
3186 - async _runAfterAllHooksForSuite(suite, testInfo) {
3187 - if (!this._activeSuites.has(suite))
3188 - return;
3189 - this._activeSuites.delete(suite);
3190 - await this._runAllHooksForSuite(suite, testInfo, "afterAll");
3191 - }
3192 - async _runEachHooksForSuites(suites, type, testInfo, slot) {
3193 - let firstError;
3194 - const hooks = suites.map((suite) => this._collectHooksAndModifiers(suite, type, testInfo)).flat();
3195 - for (const hook of hooks) {
3196 - const runnable = { type: hook.type, location: hook.location, slot };
3197 - if (testInfo._timeoutManager.isTimeExhaustedFor(runnable)) {
3198 - continue;
3199 - }
3200 - try {
3201 - await testInfo._runAsStep({ title: hook.title, category: "hook", location: hook.location }, async () => {
3202 - await this._fixtureRunner.resolveParametersAndRunFunction(hook.fn, testInfo, "test", runnable);
3203 - });
3204 - } catch (error) {
3205 - firstError = firstError ?? error;
3206 - if (error instanceof TestSkipError)
3207 - break;
3208 - }
3209 - }
3210 - if (firstError)
3211 - throw firstError;
3212 - }
3213 -};
3214 -function buildTestBeginPayload(testInfo) {
3215 - return {
3216 - testId: testInfo.testId,
3217 - startWallTime: testInfo._startWallTime
3218 - };
3219 -}
3220 -function buildTestEndPayload(testInfo) {
3221 - return {
3222 - testId: testInfo.testId,
3223 - duration: testInfo.duration,
3224 - status: testInfo.status,
3225 - errors: testInfo.errors.map(import_common3.ipc.toTestInfoErrorPayload),
3226 - hasNonRetriableError: testInfo._hasNonRetriableError,
3227 - expectedStatus: testInfo.expectedStatus,
3228 - annotations: testInfo.annotations,
3229 - timeout: testInfo.timeout
3230 - };
3231 -}
3232 -function getSuites(test) {
3233 - const suites = [];
3234 - for (let suite = test?.parent; suite; suite = suite.parent)
3235 - suites.push(suite);
3236 - suites.reverse();
3237 - return suites;
3238 -}
3239 -function formatTestTitle(test, projectName) {
3240 - const [, ...titles] = test.titlePath();
3241 - const location = `${relativeFilePath(test.location.file)}:${test.location.line}:${test.location.column}`;
3242 - const projectTitle = projectName ? `[${projectName}] \u203A ` : "";
3243 - return `${projectTitle}${location} \u203A ${titles.join(" \u203A ")}`;
3244 -}
3245 -function calculateMaxTimeout(t1, t2) {
3246 - return !t1 || !t2 ? 0 : Math.max(t1, t2);
3247 -}
3248 -var create = (params) => new WorkerMain(params);
3249 -
3250 -// packages/playwright/src/worker/workerProcessEntry.ts
3251 -(0, import_common4.startProcessRunner)(create);
node_modules/playwright/lib/worker/workerProcessEntry.js.txt deleted
-24
@@ -1,24 +0,0 @@
1 -# packages/playwright/lib/worker/workerProcessEntry.js
2 -# total: 123.4 KB
3 -
4 -## Inlined (12)
5 - 4.7 KB packages/playwright/src/util.ts
6 - 8.6 KB packages/playwright/src/worker/fixtureRunner.ts
7 - 20.8 KB packages/playwright/src/worker/testInfo.ts
8 - 11.6 KB packages/playwright/src/worker/testTracing.ts
9 - 5.4 KB packages/playwright/src/worker/timeoutManager.ts
10 - 0.3 KB packages/playwright/src/worker/util.ts
11 - 21.0 KB packages/playwright/src/worker/workerMain.ts
12 - 0.1 KB packages/playwright/src/worker/workerProcessEntry.ts
13 - 6.0 KB packages/utils/third_party/yauzl/buffer-crc32.js
14 - 9.3 KB packages/utils/third_party/yauzl/fd-slicer.js
15 - 32.2 KB packages/utils/third_party/yauzl/index.js
16 - 1.4 KB packages/utils/third_party/yauzl/pend.js
17 -
18 -## External (6)
19 - ../common
20 - ../globals
21 - ../matchers/expect
22 - playwright-core/lib/coreBundle
23 - playwright-core/lib/utilsBundle
24 - playwright-core/package.json
node_modules/playwright/package.json deleted
-61
@@ -1,61 +0,0 @@
1 -{
2 - "name": "playwright",
3 - "version": "1.60.0",
4 - "description": "A high-level API to automate web browsers",
5 - "repository": {
6 - "type": "git",
7 - "url": "git+https://github.com/microsoft/playwright.git"
8 - },
9 - "homepage": "https://playwright.dev",
10 - "engines": {
11 - "node": ">=18"
12 - },
13 - "main": "index.js",
14 - "exports": {
15 - ".": {
16 - "types": "./index.d.ts",
17 - "import": "./index.mjs",
18 - "require": "./index.js",
19 - "default": "./index.js"
20 - },
21 - "./package.json": "./package.json",
22 - "./lib/common": "./lib/common/index.js",
23 - "./lib/fsWatcher": "./lib/fsWatcher.js",
24 - "./lib/mcp/index": "./lib/mcp/index.js",
25 - "./lib/program": "./lib/program.js",
26 - "./lib/runner": "./lib/runner/index.js",
27 - "./lib/isomorphic": "./lib/isomorphic/index.js",
28 - "./lib/transform/babelBundle": "./lib/transform/babelBundle.js",
29 - "./jsx-runtime": {
30 - "import": "./jsx-runtime.mjs",
31 - "require": "./jsx-runtime.js",
32 - "default": "./jsx-runtime.js"
33 - },
34 - "./lib/util": "./lib/util.js",
35 - "./types/test": {
36 - "types": "./types/test.d.ts"
37 - },
38 - "./types/testReporter": {
39 - "types": "./types/testReporter.d.ts"
40 - },
41 - "./test": {
42 - "types": "./test.d.ts",
43 - "import": "./test.mjs",
44 - "require": "./test.js",
45 - "default": "./test.js"
46 - }
47 - },
48 - "bin": {
49 - "playwright": "cli.js"
50 - },
51 - "author": {
52 - "name": "Microsoft Corporation"
53 - },
54 - "license": "Apache-2.0",
55 - "dependencies": {
56 - "playwright-core": "1.60.0"
57 - },
58 - "optionalDependencies": {
59 - "fsevents": "2.3.2"
60 - }
61 -}
node_modules/playwright/test.d.ts deleted
-18
@@ -1,18 +0,0 @@
1 -/**
2 - * Copyright (c) Microsoft Corporation.
3 - *
4 - * Licensed under the Apache License, Version 2.0 (the "License");
5 - * you may not use this file except in compliance with the License.
6 - * You may obtain a copy of the License at
7 - *
8 - * http://www.apache.org/licenses/LICENSE-2.0
9 - *
10 - * Unless required by applicable law or agreed to in writing, software
11 - * distributed under the License is distributed on an "AS IS" BASIS,
12 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 - * See the License for the specific language governing permissions and
14 - * limitations under the License.
15 - */
16 -
17 -export * from './types/test';
18 -export { default } from './types/test';
node_modules/playwright/test.js deleted
-24
@@ -1,24 +0,0 @@
1 -/**
2 - * Copyright (c) Microsoft Corporation.
3 - *
4 - * Licensed under the Apache License, Version 2.0 (the "License");
5 - * you may not use this file except in compliance with the License.
6 - * You may obtain a copy of the License at
7 - *
8 - * http://www.apache.org/licenses/LICENSE-2.0
9 - *
10 - * Unless required by applicable law or agreed to in writing, software
11 - * distributed under the License is distributed on an "AS IS" BASIS,
12 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 - * See the License for the specific language governing permissions and
14 - * limitations under the License.
15 - */
16 -
17 -const pwt = require('./lib/index');
18 -const playwright = require('./index');
19 -const combinedExports = {
20 - ...playwright,
21 - ...pwt,
22 -};
23 -
24 -module.exports = Object.assign(combinedExports.test, combinedExports);
node_modules/playwright/test.mjs deleted
-35
@@ -1,35 +0,0 @@
1 -/**
2 - * Copyright (c) Microsoft Corporation.
3 - *
4 - * Licensed under the Apache License, Version 2.0 (the "License");
5 - * you may not use this file except in compliance with the License.
6 - * You may obtain a copy of the License at
7 - *
8 - * http://www.apache.org/licenses/LICENSE-2.0
9 - *
10 - * Unless required by applicable law or agreed to in writing, software
11 - * distributed under the License is distributed on an "AS IS" BASIS,
12 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 - * See the License for the specific language governing permissions and
14 - * limitations under the License.
15 - */
16 -
17 -import playwright from './test.js';
18 -
19 -export const chromium = playwright.chromium;
20 -export const firefox = playwright.firefox;
21 -export const webkit = playwright.webkit;
22 -export const selectors = playwright.selectors;
23 -export const devices = playwright.devices;
24 -export const errors = playwright.errors;
25 -export const request = playwright.request;
26 -export const _electron = playwright._electron;
27 -export const _android = playwright._android;
28 -export const _baseTest = playwright._baseTest;
29 -export const _utilityTest = playwright._utilityTest;
30 -export const test = playwright.test;
31 -export const expect = playwright.expect;
32 -export const defineConfig = playwright.defineConfig;
33 -export const mergeTests = playwright.mergeTests;
34 -export const mergeExpects = playwright.mergeExpects;
35 -export default playwright.test;
node_modules/playwright/types/test.d.ts deleted
-10411
@@ -1,10411 +0,0 @@
1 -// This file is generated by /utils/generate_types/index.js
2 -/**
3 - * Copyright (c) Microsoft Corporation.
4 - *
5 - * Licensed under the Apache License, Version 2.0 (the "License");
6 - * you may not use this file except in compliance with the License.
7 - * You may obtain a copy of the License at
8 - *
9 - * http://www.apache.org/licenses/LICENSE-2.0
10 - *
11 - * Unless required by applicable law or agreed to in writing, software
12 - * distributed under the License is distributed on an "AS IS" BASIS,
13 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 - * See the License for the specific language governing permissions and
15 - * limitations under the License.
16 - */
17 -
18 -import type { APIRequestContext, Browser, BrowserContext, BrowserContextOptions, Page, LaunchOptions, ViewportSize, Geolocation, HTTPCredentials, Locator, APIResponse, PageScreenshotOptions } from 'playwright-core';
19 -export * from 'playwright-core';
20 -
21 -export type BlobReporterOptions = { outputDir?: string, fileName?: string };
22 -export type ListReporterOptions = { printSteps?: boolean };
23 -export type JUnitReporterOptions = { outputFile?: string, stripANSIControlSequences?: boolean, includeProjectInTestName?: boolean, includeRetries?: boolean };
24 -export type JsonReporterOptions = { outputFile?: string };
25 -export type HtmlReporterOptions = {
26 - outputFolder?: string;
27 - open?: 'always' | 'never' | 'on-failure';
28 - host?: string;
29 - port?: number;
30 - attachmentsBaseURL?: string;
31 - title?: string;
32 - noSnippets?: boolean;
33 - noCopyPrompt?: boolean;
34 - doNotInlineAssets?: boolean;
35 -};
36 -
37 -export type ReporterDescription = Readonly<
38 - ['blob'] | ['blob', BlobReporterOptions] |
39 - ['dot'] |
40 - ['line'] |
41 - ['list'] | ['list', ListReporterOptions] |
42 - ['github'] |
43 - ['junit'] | ['junit', JUnitReporterOptions] |
44 - ['json'] | ['json', JsonReporterOptions] |
45 - ['html'] | ['html', HtmlReporterOptions] |
46 - ['null'] |
47 - [string] | [string, any]
48 ->;
49 -
50 -type UseOptions<TestArgs, WorkerArgs> = Partial<WorkerArgs> & Partial<TestArgs>;
51 -
52 -/**
53 - * Playwright Test supports running multiple test projects at the same time. This is useful for running tests in
54 - * multiple configurations. For example, consider running tests against multiple browsers. This type describes format
55 - * of a project in the configuration file, to access resolved configuration parameters at run time use
56 - * [FullProject](https://playwright.dev/docs/api/class-fullproject).
57 - *
58 - * `TestProject` encapsulates configuration specific to a single project. Projects are configured in
59 - * [testConfig.projects](https://playwright.dev/docs/api/class-testconfig#test-config-projects) specified in the
60 - * [configuration file](https://playwright.dev/docs/test-configuration). Note that all properties of
61 - * [TestProject](https://playwright.dev/docs/api/class-testproject) are available in the top-level
62 - * [TestConfig](https://playwright.dev/docs/api/class-testconfig), in which case they are shared between all projects.
63 - *
64 - * Here is an example configuration that runs every test in Chromium, Firefox and WebKit, both Desktop and Mobile
65 - * versions.
66 - *
67 - * ```js
68 - * // playwright.config.ts
69 - * import { defineConfig, devices } from '@playwright/test';
70 - *
71 - * export default defineConfig({
72 - * // Options shared for all projects.
73 - * timeout: 30000,
74 - * use: {
75 - * ignoreHTTPSErrors: true,
76 - * },
77 - *
78 - * // Options specific to each project.
79 - * projects: [
80 - * {
81 - * name: 'chromium',
82 - * use: devices['Desktop Chrome'],
83 - * },
84 - * {
85 - * name: 'firefox',
86 - * use: devices['Desktop Firefox'],
87 - * },
88 - * {
89 - * name: 'webkit',
90 - * use: devices['Desktop Safari'],
91 - * },
92 - * {
93 - * name: 'Mobile Chrome',
94 - * use: devices['Pixel 5'],
95 - * },
96 - * {
97 - * name: 'Mobile Safari',
98 - * use: devices['iPhone 12'],
99 - * },
100 - * ],
101 - * });
102 - * ```
103 - *
104 - */
105 -interface TestProject<TestArgs = {}, WorkerArgs = {}> {
106 - /**
107 - * Options for all tests in this project, for example
108 - * [testOptions.browserName](https://playwright.dev/docs/api/class-testoptions#test-options-browser-name). Learn more
109 - * about [configuration](https://playwright.dev/docs/test-configuration) and see
110 - * [available options][TestOptions](https://playwright.dev/docs/api/class-testoptions).
111 - *
112 - * ```js
113 - * // playwright.config.ts
114 - * import { defineConfig } from '@playwright/test';
115 - *
116 - * export default defineConfig({
117 - * projects: [
118 - * {
119 - * name: 'Chromium',
120 - * use: {
121 - * browserName: 'chromium',
122 - * },
123 - * },
124 - * ],
125 - * });
126 - * ```
127 - *
128 - * Use [testConfig.use](https://playwright.dev/docs/api/class-testconfig#test-config-use) to change this option for
129 - * all projects.
130 - */
131 - use?: UseOptions<TestArgs, WorkerArgs>;
132 - /**
133 - * List of projects that need to run before any test in this project runs. Dependencies can be useful for configuring
134 - * the global setup actions in a way that every action is in a form of a test. Passing `--no-deps` argument ignores
135 - * the dependencies and behaves as if they were not specified.
136 - *
137 - * Using dependencies allows global setup to produce traces and other artifacts, see the setup steps in the test
138 - * report, etc.
139 - *
140 - * **Usage**
141 - *
142 - * ```js
143 - * // playwright.config.ts
144 - * import { defineConfig } from '@playwright/test';
145 - *
146 - * export default defineConfig({
147 - * projects: [
148 - * {
149 - * name: 'setup',
150 - * testMatch: /global.setup\.ts/,
151 - * },
152 - * {
153 - * name: 'chromium',
154 - * use: devices['Desktop Chrome'],
155 - * dependencies: ['setup'],
156 - * },
157 - * {
158 - * name: 'firefox',
159 - * use: devices['Desktop Firefox'],
160 - * dependencies: ['setup'],
161 - * },
162 - * {
163 - * name: 'webkit',
164 - * use: devices['Desktop Safari'],
165 - * dependencies: ['setup'],
166 - * },
167 - * ],
168 - * });
169 - * ```
170 - *
171 - */
172 - dependencies?: Array<string>;
173 -
174 - /**
175 - * Configuration for the `expect` assertion library.
176 - *
177 - * Use [testConfig.expect](https://playwright.dev/docs/api/class-testconfig#test-config-expect) to change this option
178 - * for all projects.
179 - */
180 - expect?: {
181 - /**
182 - * Default timeout for async expect matchers in milliseconds, defaults to 5000ms.
183 - */
184 - timeout?: number;
185 -
186 - /**
187 - * Configuration for the
188 - * [expect(page).toHaveScreenshot(name[, options])](https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-screenshot-1)
189 - * method.
190 - */
191 - toHaveScreenshot?: {
192 - /**
193 - * an acceptable perceived color difference between the same pixel in compared images, ranging from `0` (strict) and
194 - * `1` (lax). `"pixelmatch"` comparator computes color difference in
195 - * [YIQ color space](https://en.wikipedia.org/wiki/YIQ) and defaults `threshold` value to `0.2`.
196 - */
197 - threshold?: number;
198 -
199 - /**
200 - * an acceptable amount of pixels that could be different, unset by default.
201 - */
202 - maxDiffPixels?: number;
203 -
204 - /**
205 - * an acceptable ratio of pixels that are different to the total amount of pixels, between `0` and `1` , unset by
206 - * default.
207 - */
208 - maxDiffPixelRatio?: number;
209 -
210 - /**
211 - * See [`animations`](https://playwright.dev/docs/api/class-page#page-screenshot-option-animations) in
212 - * [page.screenshot([options])](https://playwright.dev/docs/api/class-page#page-screenshot). Defaults to `"disabled"`.
213 - */
214 - animations?: "allow"|"disabled";
215 -
216 - /**
217 - * See [`caret`](https://playwright.dev/docs/api/class-page#page-screenshot-option-caret) in
218 - * [page.screenshot([options])](https://playwright.dev/docs/api/class-page#page-screenshot). Defaults to `"hide"`.
219 - */
220 - caret?: "hide"|"initial";
221 -
222 - /**
223 - * See [`scale`](https://playwright.dev/docs/api/class-page#page-screenshot-option-scale) in
224 - * [page.screenshot([options])](https://playwright.dev/docs/api/class-page#page-screenshot). Defaults to `"css"`.
225 - */
226 - scale?: "css"|"device";
227 -
228 - /**
229 - * See [`style`](https://playwright.dev/docs/api/class-page#page-screenshot-option-style) in
230 - * [page.screenshot([options])](https://playwright.dev/docs/api/class-page#page-screenshot).
231 - */
232 - stylePath?: string|Array<string>;
233 -
234 - /**
235 - * A template controlling location of the screenshots. See
236 - * [testProject.snapshotPathTemplate](https://playwright.dev/docs/api/class-testproject#test-project-snapshot-path-template)
237 - * for details.
238 - */
239 - pathTemplate?: string;
240 - };
241 -
242 - /**
243 - * Configuration for the
244 - * [expect(locator).toMatchAriaSnapshot([options])](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-match-aria-snapshot-2)
245 - * method.
246 - */
247 - toMatchAriaSnapshot?: {
248 - /**
249 - * A template controlling location of the aria snapshots. See
250 - * [testProject.snapshotPathTemplate](https://playwright.dev/docs/api/class-testproject#test-project-snapshot-path-template)
251 - * for details.
252 - */
253 - pathTemplate?: string;
254 -
255 - /**
256 - * Controls how children of the snapshot root are matched against the actual accessibility tree. This is equivalent to
257 - * adding a `/children` property at the top of every aria snapshot template. Individual snapshots can override this by
258 - * including an explicit `/children` property.
259 - */
260 - children?: "contain"|"equal"|"deep-equal";
261 - };
262 -
263 - /**
264 - * Configuration for the
265 - * [expect(value).toMatchSnapshot(name[, options])](https://playwright.dev/docs/api/class-snapshotassertions#snapshot-assertions-to-match-snapshot-1)
266 - * method.
267 - */
268 - toMatchSnapshot?: {
269 - /**
270 - * an acceptable perceived color difference between the same pixel in compared images, ranging from `0` (strict) and
271 - * `1` (lax). `"pixelmatch"` comparator computes color difference in
272 - * [YIQ color space](https://en.wikipedia.org/wiki/YIQ) and defaults `threshold` value to `0.2`.
273 - */
274 - threshold?: number;
275 -
276 - /**
277 - * an acceptable amount of pixels that could be different, unset by default.
278 - */
279 - maxDiffPixels?: number;
280 -
281 - /**
282 - * an acceptable ratio of pixels that are different to the total amount of pixels, between `0` and `1` , unset by
283 - * default.
284 - */
285 - maxDiffPixelRatio?: number;
286 - };
287 -
288 - /**
289 - * Configuration for the [expect(value).toPass()](https://playwright.dev/docs/test-assertions) method.
290 - */
291 - toPass?: {
292 - /**
293 - * timeout for toPass method in milliseconds.
294 - */
295 - timeout?: number;
296 -
297 - /**
298 - * probe intervals for toPass method in milliseconds.
299 - */
300 - intervals?: Array<number>;
301 - };
302 - };
303 -
304 - /**
305 - * Playwright Test runs tests in parallel. In order to achieve that, it runs several worker processes that run at the
306 - * same time. By default, **test files** are run in parallel. Tests in a single file are run in order, in the same
307 - * worker process.
308 - *
309 - * You can configure entire test project to concurrently run all tests in all files using this option.
310 - */
311 - fullyParallel?: boolean;
312 -
313 - /**
314 - * Filter to only run tests with a title matching one of the patterns. For example, passing `grep: /cart/` should only
315 - * run tests with "cart" in the title. Also available globally and in the [command line](https://playwright.dev/docs/test-cli) with the `-g`
316 - * option. The regular expression will be tested against the string that consists of the project name, the test file
317 - * name, the `test.describe` name (if any), the test name and the test tags divided by spaces, e.g. `chromium
318 - * my-test.spec.ts my-suite my-test`.
319 - *
320 - * `grep` option is also useful for [tagging tests](https://playwright.dev/docs/test-annotations#tag-tests).
321 - */
322 - grep?: RegExp|Array<RegExp>;
323 -
324 - /**
325 - * Filter to only run tests with a title **not** matching any of the patterns. This is the opposite of
326 - * [testProject.grep](https://playwright.dev/docs/api/class-testproject#test-project-grep). Also available globally
327 - * and in the [command line](https://playwright.dev/docs/test-cli) with the `--grep-invert` option.
328 - *
329 - * `grepInvert` option is also useful for [tagging tests](https://playwright.dev/docs/test-annotations#tag-tests).
330 - */
331 - grepInvert?: RegExp|Array<RegExp>;
332 -
333 - /**
334 - * Whether to skip snapshot expectations, such as `expect(value).toMatchSnapshot()` and `await
335 - * expect(page).toHaveScreenshot()`.
336 - *
337 - * **Usage**
338 - *
339 - * The following example will only perform screenshot assertions on Chromium.
340 - *
341 - * ```js
342 - * // playwright.config.ts
343 - * import { defineConfig } from '@playwright/test';
344 - *
345 - * export default defineConfig({
346 - * projects: [
347 - * {
348 - * name: 'chromium',
349 - * use: devices['Desktop Chrome'],
350 - * },
351 - * {
352 - * name: 'firefox',
353 - * use: devices['Desktop Firefox'],
354 - * ignoreSnapshots: true,
355 - * },
356 - * {
357 - * name: 'webkit',
358 - * use: devices['Desktop Safari'],
359 - * ignoreSnapshots: true,
360 - * },
361 - * ],
362 - * });
363 - * ```
364 - *
365 - */
366 - ignoreSnapshots?: boolean;
367 -
368 - /**
369 - * Metadata that will be put directly to the test report serialized as JSON.
370 - */
371 - metadata?: Metadata;
372 -
373 - /**
374 - * Project name is visible in the report and during test execution.
375 - *
376 - * **NOTE** Playwright executes the configuration file multiple times. Do not dynamically produce non-stable values in
377 - * your configuration.
378 - *
379 - */
380 - name?: string;
381 -
382 - /**
383 - * The output directory for files created during test execution. Defaults to `<package.json-directory>/test-results`.
384 - *
385 - * This directory is cleaned at the start. When running a test, a unique subdirectory inside the
386 - * [testProject.outputDir](https://playwright.dev/docs/api/class-testproject#test-project-output-dir) is created,
387 - * guaranteeing that test running in parallel do not conflict. This directory can be accessed by
388 - * [testInfo.outputDir](https://playwright.dev/docs/api/class-testinfo#test-info-output-dir) and
389 - * [testInfo.outputPath(...pathSegments)](https://playwright.dev/docs/api/class-testinfo#test-info-output-path).
390 - *
391 - * Here is an example that uses
392 - * [testInfo.outputPath(...pathSegments)](https://playwright.dev/docs/api/class-testinfo#test-info-output-path) to
393 - * create a temporary file.
394 - *
395 - * ```js
396 - * import { test, expect } from '@playwright/test';
397 - * import fs from 'fs';
398 - *
399 - * test('example test', async ({}, testInfo) => {
400 - * const file = testInfo.outputPath('temporary-file.txt');
401 - * await fs.promises.writeFile(file, 'Put some data to the file', 'utf8');
402 - * });
403 - * ```
404 - *
405 - * Use [testConfig.outputDir](https://playwright.dev/docs/api/class-testconfig#test-config-output-dir) to change this
406 - * option for all projects.
407 - */
408 - outputDir?: string;
409 -
410 - /**
411 - * The number of times to repeat each test, useful for debugging flaky tests.
412 - *
413 - * Use [testConfig.repeatEach](https://playwright.dev/docs/api/class-testconfig#test-config-repeat-each) to change
414 - * this option for all projects.
415 - */
416 - repeatEach?: number;
417 -
418 - /**
419 - * Whether to skip entries from `.gitignore` when searching for test files. By default, if neither
420 - * [testConfig.testDir](https://playwright.dev/docs/api/class-testconfig#test-config-test-dir) nor
421 - * [testProject.testDir](https://playwright.dev/docs/api/class-testproject#test-project-test-dir) are explicitly
422 - * specified, Playwright will ignore any test files matching `.gitignore` entries. This option allows to override that
423 - * behavior.
424 - */
425 - respectGitIgnore?: boolean;
426 -
427 - /**
428 - * The maximum number of retry attempts given to failed tests. Learn more about
429 - * [test retries](https://playwright.dev/docs/test-retries#retries).
430 - *
431 - * Use [test.describe.configure([options])](https://playwright.dev/docs/api/class-test#test-describe-configure) to
432 - * change the number of retries for a specific file or a group of tests.
433 - *
434 - * Use [testConfig.retries](https://playwright.dev/docs/api/class-testconfig#test-config-retries) to change this
435 - * option for all projects.
436 - */
437 - retries?: number;
438 -
439 - /**
440 - * The base directory, relative to the config file, for snapshot files created with `toMatchSnapshot`. Defaults to
441 - * [testProject.testDir](https://playwright.dev/docs/api/class-testproject#test-project-test-dir).
442 - *
443 - * The directory for each test can be accessed by
444 - * [testInfo.snapshotDir](https://playwright.dev/docs/api/class-testinfo#test-info-snapshot-dir) and
445 - * [testInfo.snapshotPath(...name[, options])](https://playwright.dev/docs/api/class-testinfo#test-info-snapshot-path).
446 - *
447 - * This path will serve as the base directory for each test file snapshot directory. Setting `snapshotDir` to
448 - * `'snapshots'`, the [testInfo.snapshotDir](https://playwright.dev/docs/api/class-testinfo#test-info-snapshot-dir)
449 - * would resolve to `snapshots/a.spec.js-snapshots`.
450 - */
451 - snapshotDir?: string;
452 -
453 - /**
454 - * This option configures a template controlling location of snapshots generated by
455 - * [expect(page).toHaveScreenshot(name[, options])](https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-screenshot-1),
456 - * [expect(locator).toMatchAriaSnapshot([options])](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-match-aria-snapshot-2)
457 - * and
458 - * [expect(value).toMatchSnapshot(name[, options])](https://playwright.dev/docs/api/class-snapshotassertions#snapshot-assertions-to-match-snapshot-1).
459 - *
460 - * You can configure templates for each assertion separately in
461 - * [testConfig.expect](https://playwright.dev/docs/api/class-testconfig#test-config-expect).
462 - *
463 - * **Usage**
464 - *
465 - * ```js
466 - * // playwright.config.ts
467 - * import { defineConfig } from '@playwright/test';
468 - *
469 - * export default defineConfig({
470 - * testDir: './tests',
471 - *
472 - * // Single template for all assertions
473 - * snapshotPathTemplate: '{testDir}/__screenshots__/{testFilePath}/{arg}{ext}',
474 - *
475 - * // Assertion-specific templates
476 - * expect: {
477 - * toHaveScreenshot: {
478 - * pathTemplate: '{testDir}/__screenshots__{/projectName}/{testFilePath}/{arg}{ext}',
479 - * },
480 - * toMatchAriaSnapshot: {
481 - * pathTemplate: '{testDir}/__snapshots__/{testFilePath}/{arg}{ext}',
482 - * },
483 - * },
484 - * });
485 - * ```
486 - *
487 - * **Details**
488 - *
489 - * The value might include some "tokens" that will be replaced with actual values during test execution.
490 - *
491 - * Consider the following file structure:
492 - *
493 - * ```txt
494 - * playwright.config.ts
495 - * tests/
496 - * └── page/
497 - * └── page-click.spec.ts
498 - * ```
499 - *
500 - * And the following `page-click.spec.ts` that uses `toHaveScreenshot()` call:
501 - *
502 - * ```js
503 - * // page-click.spec.ts
504 - * import { test, expect } from '@playwright/test';
505 - *
506 - * test.describe('suite', () => {
507 - * test('test should work', async ({ page }) => {
508 - * await expect(page).toHaveScreenshot(['foo', 'bar', 'baz.png']);
509 - * });
510 - * });
511 - * ```
512 - *
513 - * The list of supported tokens:
514 - * - `{arg}` - Relative snapshot path **without extension**. This comes from the arguments passed to
515 - * `toHaveScreenshot()`, `toMatchAriaSnapshot()` or `toMatchSnapshot()`; if called without arguments, this will be
516 - * an auto-generated snapshot name.
517 - * - Value: `foo/bar/baz`
518 - * - `{ext}` - Snapshot extension (with the leading dot).
519 - * - Value: `.png`
520 - * - `{platform}` - The value of `process.platform`.
521 - * - `{projectName}` - Project's file-system-sanitized name, if any.
522 - * - Value: `''` (empty string).
523 - * - `{snapshotDir}` - Project's
524 - * [testProject.snapshotDir](https://playwright.dev/docs/api/class-testproject#test-project-snapshot-dir).
525 - * - Value: `/home/playwright/tests` (since `snapshotDir` is not provided in config, it defaults to `testDir`)
526 - * - `{testDir}` - Project's
527 - * [testProject.testDir](https://playwright.dev/docs/api/class-testproject#test-project-test-dir).
528 - * - Value: `/home/playwright/tests` (absolute path since `testDir` is resolved relative to directory with
529 - * config)
530 - * - `{testFileDir}` - Directories in relative path from `testDir` to **test file**.
531 - * - Value: `page`
532 - * - `{testFileBaseName}` - Test file name without the last extension.
533 - * - Value: `page-click.spec`
534 - * - `{testFileName}` - Test file name with extension.
535 - * - Value: `page-click.spec.ts`
536 - * - `{testFilePath}` - Relative path from `testDir` to **test file**.
537 - * - Value: `page/page-click.spec.ts`
538 - * - `{testName}` - File-system-sanitized test title, including parent describes but excluding file name.
539 - * - Value: `suite-test-should-work`
540 - *
541 - * Each token can be preceded with a single character that will be used **only if** this token has non-empty value.
542 - *
543 - * Consider the following config:
544 - *
545 - * ```js
546 - * // playwright.config.ts
547 - * import { defineConfig } from '@playwright/test';
548 - *
549 - * export default defineConfig({
550 - * snapshotPathTemplate: '__screenshots__{/projectName}/{testFilePath}/{arg}{ext}',
551 - * testMatch: 'example.spec.ts',
552 - * projects: [
553 - * { use: { browserName: 'firefox' } },
554 - * { name: 'chromium', use: { browserName: 'chromium' } },
555 - * ],
556 - * });
557 - * ```
558 - *
559 - * In this config:
560 - * 1. First project **does not** have a name, so its snapshots will be stored in
561 - * `<configDir>/__screenshots__/example.spec.ts/...`.
562 - * 1. Second project **does** have a name, so its snapshots will be stored in
563 - * `<configDir>/__screenshots__/chromium/example.spec.ts/..`.
564 - * 1. Since `snapshotPathTemplate` resolves to relative path, it will be resolved relative to `configDir`.
565 - * 1. Forward slashes `"/"` can be used as path separators on any platform.
566 - */
567 - snapshotPathTemplate?: string;
568 -
569 - /**
570 - * Name of a project that needs to run after this and all dependent projects have finished. Teardown is useful to
571 - * cleanup any resources acquired by this project.
572 - *
573 - * Passing `--no-deps` argument ignores
574 - * [testProject.teardown](https://playwright.dev/docs/api/class-testproject#test-project-teardown) and behaves as if
575 - * it was not specified.
576 - *
577 - * **Usage**
578 - *
579 - * A common pattern is a "setup" dependency that has a corresponding "teardown":
580 - *
581 - * ```js
582 - * // playwright.config.ts
583 - * import { defineConfig } from '@playwright/test';
584 - *
585 - * export default defineConfig({
586 - * projects: [
587 - * {
588 - * name: 'setup',
589 - * testMatch: /global.setup\.ts/,
590 - * teardown: 'teardown',
591 - * },
592 - * {
593 - * name: 'teardown',
594 - * testMatch: /global.teardown\.ts/,
595 - * },
596 - * {
597 - * name: 'chromium',
598 - * use: devices['Desktop Chrome'],
599 - * dependencies: ['setup'],
600 - * },
601 - * {
602 - * name: 'firefox',
603 - * use: devices['Desktop Firefox'],
604 - * dependencies: ['setup'],
605 - * },
606 - * {
607 - * name: 'webkit',
608 - * use: devices['Desktop Safari'],
609 - * dependencies: ['setup'],
610 - * },
611 - * ],
612 - * });
613 - * ```
614 - *
615 - */
616 - teardown?: string;
617 -
618 - /**
619 - * Directory that will be recursively scanned for test files. Defaults to the directory of the configuration file.
620 - *
621 - * Each project can use a different directory. Here is an example that runs smoke tests in three browsers and all
622 - * other tests in stable Chrome browser.
623 - *
624 - * ```js
625 - * // playwright.config.ts
626 - * import { defineConfig } from '@playwright/test';
627 - *
628 - * export default defineConfig({
629 - * projects: [
630 - * {
631 - * name: 'Smoke Chromium',
632 - * testDir: './smoke-tests',
633 - * use: {
634 - * browserName: 'chromium',
635 - * }
636 - * },
637 - * {
638 - * name: 'Smoke WebKit',
639 - * testDir: './smoke-tests',
640 - * use: {
641 - * browserName: 'webkit',
642 - * }
643 - * },
644 - * {
645 - * name: 'Smoke Firefox',
646 - * testDir: './smoke-tests',
647 - * use: {
648 - * browserName: 'firefox',
649 - * }
650 - * },
651 - * {
652 - * name: 'Chrome Stable',
653 - * testDir: './',
654 - * use: {
655 - * browserName: 'chromium',
656 - * channel: 'chrome',
657 - * }
658 - * },
659 - * ],
660 - * });
661 - * ```
662 - *
663 - * Use [testConfig.testDir](https://playwright.dev/docs/api/class-testconfig#test-config-test-dir) to change this
664 - * option for all projects.
665 - */
666 - testDir?: string;
667 -
668 - /**
669 - * Files matching one of these patterns are not executed as test files. Matching is performed against the absolute
670 - * file path. Strings are treated as glob patterns.
671 - *
672 - * For example, `'**\/test-assets/**'` will ignore any files in the `test-assets` directory.
673 - *
674 - * Use [testConfig.testIgnore](https://playwright.dev/docs/api/class-testconfig#test-config-test-ignore) to change
675 - * this option for all projects.
676 - */
677 - testIgnore?: string|RegExp|Array<string|RegExp>;
678 -
679 - /**
680 - * Only the files matching one of these patterns are executed as test files. Matching is performed against the
681 - * absolute file path. Strings are treated as glob patterns.
682 - *
683 - * By default, Playwright looks for files matching the following glob pattern: `**\/*.@(spec|test).?(c|m)[jt]s?(x)`.
684 - * This means JavaScript or TypeScript files with `".test"` or `".spec"` suffix, for example
685 - * `login-screen.wrong-credentials.spec.ts`.
686 - *
687 - * Use [testConfig.testMatch](https://playwright.dev/docs/api/class-testconfig#test-config-test-match) to change this
688 - * option for all projects.
689 - */
690 - testMatch?: string|RegExp|Array<string|RegExp>;
691 -
692 - /**
693 - * Timeout for each test in milliseconds. Defaults to 30 seconds.
694 - *
695 - * This is a base timeout for all tests. Each test can configure its own timeout with
696 - * [test.setTimeout(timeout)](https://playwright.dev/docs/api/class-test#test-set-timeout). Each file or a group of
697 - * tests can configure the timeout with
698 - * [test.describe.configure([options])](https://playwright.dev/docs/api/class-test#test-describe-configure).
699 - *
700 - * Use [testConfig.timeout](https://playwright.dev/docs/api/class-testconfig#test-config-timeout) to change this
701 - * option for all projects.
702 - */
703 - timeout?: number;
704 -
705 - /**
706 - * The maximum number of concurrent worker processes to use for parallelizing tests from this project. Can also be set
707 - * as percentage of logical CPU cores, e.g. `'50%'.`
708 - *
709 - * This could be useful, for example, when all tests from a project share a single resource like a test account, and
710 - * therefore cannot be executed in parallel. Limiting workers to one for such a project will prevent simultaneous use
711 - * of the shared resource.
712 - *
713 - * Note that the global [testConfig.workers](https://playwright.dev/docs/api/class-testconfig#test-config-workers)
714 - * limit applies to the total number of worker processes. However, Playwright will limit the number of workers used
715 - * for this project by the value of
716 - * [testProject.workers](https://playwright.dev/docs/api/class-testproject#test-project-workers).
717 - *
718 - * By default, there is no limit per project. See
719 - * [testConfig.workers](https://playwright.dev/docs/api/class-testconfig#test-config-workers) for the default of the
720 - * total worker limit.
721 - *
722 - * **Usage**
723 - *
724 - * ```js
725 - * // playwright.config.ts
726 - * import { defineConfig } from '@playwright/test';
727 - *
728 - * export default defineConfig({
729 - * workers: 10, // total workers limit
730 - *
731 - * projects: [
732 - * {
733 - * name: 'runs in parallel',
734 - * },
735 - * {
736 - * name: 'one at a time',
737 - * workers: 1, // workers limit for this project
738 - * },
739 - * ],
740 - * });
741 - * ```
742 - *
743 - */
744 - workers?: number|string;
745 -}
746 -
747 -export interface Project<TestArgs = {}, WorkerArgs = {}> extends TestProject<TestArgs, WorkerArgs> {
748 -}
749 -
750 -/**
751 - * Runtime representation of the test project configuration. It is accessible in the tests via
752 - * [testInfo.project](https://playwright.dev/docs/api/class-testinfo#test-info-project) and
753 - * [workerInfo.project](https://playwright.dev/docs/api/class-workerinfo#worker-info-project) and is passed to the
754 - * test reporters. To see the format of the project in the Playwright configuration file please see
755 - * [TestProject](https://playwright.dev/docs/api/class-testproject) instead.
756 - */
757 -export interface FullProject<TestArgs = {}, WorkerArgs = {}> {
758 - /**
759 - * See [testProject.use](https://playwright.dev/docs/api/class-testproject#test-project-use).
760 - */
761 - use: UseOptions<PlaywrightTestOptions & TestArgs, PlaywrightWorkerOptions & WorkerArgs>;
762 - /**
763 - * See [testProject.dependencies](https://playwright.dev/docs/api/class-testproject#test-project-dependencies).
764 - */
765 - dependencies: Array<string>;
766 -
767 - /**
768 - * See [testProject.grep](https://playwright.dev/docs/api/class-testproject#test-project-grep).
769 - */
770 - grep: RegExp|Array<RegExp>;
771 -
772 - /**
773 - * See [testProject.grepInvert](https://playwright.dev/docs/api/class-testproject#test-project-grep-invert).
774 - */
775 - grepInvert: null|RegExp|Array<RegExp>;
776 -
777 - /**
778 - * See [testProject.ignoreSnapshots](https://playwright.dev/docs/api/class-testproject#test-project-ignore-snapshots).
779 - */
780 - ignoreSnapshots: boolean;
781 -
782 - /**
783 - * See [testProject.metadata](https://playwright.dev/docs/api/class-testproject#test-project-metadata).
784 - */
785 - metadata: Metadata;
786 -
787 - /**
788 - * See [testProject.name](https://playwright.dev/docs/api/class-testproject#test-project-name).
789 - */
790 - name: string;
791 -
792 - /**
793 - * See [testProject.outputDir](https://playwright.dev/docs/api/class-testproject#test-project-output-dir).
794 - */
795 - outputDir: string;
796 -
797 - /**
798 - * See [testProject.repeatEach](https://playwright.dev/docs/api/class-testproject#test-project-repeat-each).
799 - */
800 - repeatEach: number;
801 -
802 - /**
803 - * See [testProject.retries](https://playwright.dev/docs/api/class-testproject#test-project-retries).
804 - */
805 - retries: number;
806 -
807 - /**
808 - * See [testProject.snapshotDir](https://playwright.dev/docs/api/class-testproject#test-project-snapshot-dir).
809 - */
810 - snapshotDir: string;
811 -
812 - /**
813 - * See [testProject.teardown](https://playwright.dev/docs/api/class-testproject#test-project-teardown).
814 - */
815 - teardown?: string;
816 -
817 - /**
818 - * See [testProject.testDir](https://playwright.dev/docs/api/class-testproject#test-project-test-dir).
819 - */
820 - testDir: string;
821 -
822 - /**
823 - * See [testProject.testIgnore](https://playwright.dev/docs/api/class-testproject#test-project-test-ignore).
824 - */
825 - testIgnore: string|RegExp|Array<string|RegExp>;
826 -
827 - /**
828 - * See [testProject.testMatch](https://playwright.dev/docs/api/class-testproject#test-project-test-match).
829 - */
830 - testMatch: string|RegExp|Array<string|RegExp>;
831 -
832 - /**
833 - * See [testProject.timeout](https://playwright.dev/docs/api/class-testproject#test-project-timeout).
834 - */
835 - timeout: number;
836 -}
837 -
838 -type LiteralUnion<T extends U, U = string> = T | (U & { zz_IGNORE_ME?: never });
839 -
840 -/**
841 - * Playwright Test provides many options to configure how your tests are collected and executed, for example `timeout`
842 - * or `testDir`. These options are described in the [TestConfig](https://playwright.dev/docs/api/class-testconfig)
843 - * object in the [configuration file](https://playwright.dev/docs/test-configuration). This type describes format of the configuration file,
844 - * to access resolved configuration parameters at run time use
845 - * [FullConfig](https://playwright.dev/docs/api/class-fullconfig).
846 - *
847 - * Playwright Test supports running multiple test projects at the same time. Project-specific options should be put to
848 - * [testConfig.projects](https://playwright.dev/docs/api/class-testconfig#test-config-projects), but top-level
849 - * [TestConfig](https://playwright.dev/docs/api/class-testconfig) can also define base options shared between all
850 - * projects.
851 - *
852 - * ```js
853 - * // playwright.config.ts
854 - * import { defineConfig } from '@playwright/test';
855 - *
856 - * export default defineConfig({
857 - * timeout: 30000,
858 - * globalTimeout: 600000,
859 - * reporter: 'list',
860 - * testDir: './tests',
861 - * });
862 - * ```
863 - *
864 - */
865 -interface TestConfig<TestArgs = {}, WorkerArgs = {}> {
866 - /**
867 - * Playwright Test supports running multiple test projects at the same time. See
868 - * [TestProject](https://playwright.dev/docs/api/class-testproject) for more information.
869 - *
870 - * **Usage**
871 - *
872 - * ```js
873 - * // playwright.config.ts
874 - * import { defineConfig, devices } from '@playwright/test';
875 - *
876 - * export default defineConfig({
877 - * projects: [
878 - * { name: 'chromium', use: devices['Desktop Chrome'] }
879 - * ]
880 - * });
881 - * ```
882 - *
883 - */
884 - projects?: Project<TestArgs, WorkerArgs>[];
885 - /**
886 - * The list of reporters to use. Each reporter can be:
887 - * - A builtin reporter name like `'list'` or `'json'`.
888 - * - A module name like `'my-awesome-reporter'`.
889 - * - A relative path to the reporter like `'./reporters/my-awesome-reporter.js'`.
890 - *
891 - * You can pass options to the reporter in a tuple like `['json', { outputFile: './report.json' }]`. If the property
892 - * is not specified, Playwright uses the `'dot'` reporter when the CI environment variable is set, and the `'list'`
893 - * reporter otherwise.
894 - *
895 - * Learn more in the [reporters guide](https://playwright.dev/docs/test-reporters).
896 - *
897 - * **Usage**
898 - *
899 - * ```js
900 - * // playwright.config.ts
901 - * import { defineConfig } from '@playwright/test';
902 - *
903 - * export default defineConfig({
904 - * reporter: 'line',
905 - * });
906 - * ```
907 - *
908 - */
909 - reporter?: LiteralUnion<'list'|'dot'|'line'|'github'|'json'|'junit'|'null'|'html', string> | ReporterDescription[];
910 - /**
911 - * Global options for all tests, for example
912 - * [testOptions.browserName](https://playwright.dev/docs/api/class-testoptions#test-options-browser-name). Learn more
913 - * about [configuration](https://playwright.dev/docs/test-configuration) and see
914 - * [available options][TestOptions](https://playwright.dev/docs/api/class-testoptions).
915 - *
916 - * **Usage**
917 - *
918 - * ```js
919 - * // playwright.config.ts
920 - * import { defineConfig } from '@playwright/test';
921 - *
922 - * export default defineConfig({
923 - * use: {
924 - * browserName: 'chromium',
925 - * },
926 - * });
927 - * ```
928 - *
929 - */
930 - use?: UseOptions<TestArgs, WorkerArgs>;
931 - /**
932 - * Launch a development web server (or multiple) during the tests.
933 - *
934 - * **Details**
935 - *
936 - * If the port is specified, Playwright Test will wait for it to be available on `127.0.0.1` or `::1`, before running
937 - * the tests. If the url is specified, Playwright Test will wait for the URL to return a 2xx, 3xx, 400, 401, 402, or
938 - * 403 status code before running the tests.
939 - *
940 - * For continuous integration, you may want to use the `reuseExistingServer: !process.env.CI` option which does not
941 - * use an existing server on the CI. To see the stdout, you can set the `DEBUG=pw:webserver` environment variable.
942 - *
943 - * The `port` (but not the `url`) gets passed over to Playwright as a
944 - * [testOptions.baseURL](https://playwright.dev/docs/api/class-testoptions#test-options-base-url). For example port
945 - * `8080` produces `baseURL` equal `http://localhost:8080`. If `webServer` is specified as an array, you must
946 - * explicitly configure the `baseURL` (even if it only has one entry).
947 - *
948 - * **NOTE** It is also recommended to specify
949 - * [testOptions.baseURL](https://playwright.dev/docs/api/class-testoptions#test-options-base-url) in the config, so
950 - * that tests could use relative urls.
951 - *
952 - * **Usage**
953 - *
954 - * ```js
955 - * // playwright.config.ts
956 - * import { defineConfig } from '@playwright/test';
957 - * export default defineConfig({
958 - * webServer: {
959 - * command: 'npm run start',
960 - * url: 'http://localhost:3000',
961 - * timeout: 120 * 1000,
962 - * reuseExistingServer: !process.env.CI,
963 - * },
964 - * use: {
965 - * baseURL: 'http://localhost:3000/',
966 - * },
967 - * });
968 - * ```
969 - *
970 - * Now you can use a relative path when navigating the page:
971 - *
972 - * ```js
973 - * // test.spec.ts
974 - * import { test } from '@playwright/test';
975 - *
976 - * test('test', async ({ page }) => {
977 - * // This will result in http://localhost:3000/foo
978 - * await page.goto('/foo');
979 - * });
980 - * ```
981 - *
982 - * Multiple web servers (or background processes) can be launched:
983 - *
984 - * ```js
985 - * // playwright.config.ts
986 - * import { defineConfig } from '@playwright/test';
987 - * export default defineConfig({
988 - * webServer: [
989 - * {
990 - * command: 'npm run start',
991 - * url: 'http://localhost:3000',
992 - * name: 'Frontend',
993 - * timeout: 120 * 1000,
994 - * reuseExistingServer: !process.env.CI,
995 - * },
996 - * {
997 - * command: 'npm run backend',
998 - * url: 'http://localhost:3333',
999 - * name: 'Backend',
1000 - * timeout: 120 * 1000,
1001 - * reuseExistingServer: !process.env.CI,
1002 - * }
1003 - * ],
1004 - * use: {
1005 - * baseURL: 'http://localhost:3000',
1006 - * },
1007 - * });
1008 - * ```
1009 - *
1010 - * If your webserver runs on varying ports, use `wait` to capture the port:
1011 - *
1012 - * ```js
1013 - * import { defineConfig } from '@playwright/test';
1014 - *
1015 - * export default defineConfig({
1016 - * webServer: {
1017 - * command: 'npm run start',
1018 - * wait: {
1019 - * stdout: /Listening on port (?<my_server_port>\d+)/
1020 - * },
1021 - * },
1022 - * });
1023 - * ```
1024 - *
1025 - * ```js
1026 - * import { test, expect } from '@playwright/test';
1027 - *
1028 - * test.use({ baseUrl: `http://localhost:${process.env.MY_SERVER_PORT ?? 3000}` });
1029 - *
1030 - * test('homepage', async ({ page }) => {
1031 - * await page.goto('/');
1032 - * });
1033 - * ```
1034 - *
1035 - */
1036 - webServer?: TestConfigWebServer | TestConfigWebServer[];
1037 - /**
1038 - * Playwright transpiler configuration.
1039 - *
1040 - * **Usage**
1041 - *
1042 - * ```js
1043 - * // playwright.config.ts
1044 - * import { defineConfig } from '@playwright/test';
1045 - *
1046 - * export default defineConfig({
1047 - * build: {
1048 - * external: ['**\/*bundle.js'],
1049 - * },
1050 - * });
1051 - * ```
1052 - *
1053 - */
1054 - build?: {
1055 - /**
1056 - * Paths to exclude from the transpilation expressed as a list of glob patterns. Typically heavy JS bundles that your
1057 - * test uses are listed here.
1058 - */
1059 - external?: Array<string>;
1060 - };
1061 -
1062 - /**
1063 - * These settings control whether git information is captured and stored in the config
1064 - * [testConfig.metadata](https://playwright.dev/docs/api/class-testconfig#test-config-metadata).
1065 - *
1066 - * **Usage**
1067 - *
1068 - * ```js
1069 - * // playwright.config.ts
1070 - * import { defineConfig } from '@playwright/test';
1071 - *
1072 - * export default defineConfig({
1073 - * captureGitInfo: { commit: true, diff: true }
1074 - * });
1075 - * ```
1076 - *
1077 - * **Details**
1078 - * - Capturing `commit` information is useful when you'd like to see it in your HTML (or a third party) report.
1079 - * - Capturing `diff` information is useful to enrich the report with the actual source diff. This information can
1080 - * be used to provide intelligent advice on how to fix the test.
1081 - *
1082 - * **NOTE** Default values for these settings depend on the environment. When tests run as a part of CI where it is
1083 - * safe to obtain git information, the default value is `true`, `false` otherwise.
1084 - *
1085 - * **NOTE** The structure of the git commit metadata is subject to change.
1086 - *
1087 - */
1088 - captureGitInfo?: {
1089 - /**
1090 - * Whether to capture commit and pull request information such as hash, author, timestamp.
1091 - */
1092 - commit?: boolean;
1093 -
1094 - /**
1095 - * Whether to capture commit diff.
1096 - */
1097 - diff?: boolean;
1098 - };
1099 -
1100 - /**
1101 - * Configuration for the `expect` assertion library. Learn more about [various timeouts](https://playwright.dev/docs/test-timeouts).
1102 - *
1103 - * **Usage**
1104 - *
1105 - * ```js
1106 - * // playwright.config.ts
1107 - * import { defineConfig } from '@playwright/test';
1108 - *
1109 - * export default defineConfig({
1110 - * expect: {
1111 - * timeout: 10000,
1112 - * toMatchSnapshot: {
1113 - * maxDiffPixels: 10,
1114 - * },
1115 - * },
1116 - * });
1117 - * ```
1118 - *
1119 - */
1120 - expect?: {
1121 - /**
1122 - * Default timeout for async expect matchers in milliseconds, defaults to 5000ms.
1123 - */
1124 - timeout?: number;
1125 -
1126 - /**
1127 - * Configuration for the
1128 - * [expect(page).toHaveScreenshot(name[, options])](https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-screenshot-1)
1129 - * method.
1130 - */
1131 - toHaveScreenshot?: {
1132 - /**
1133 - * See [`animations`](https://playwright.dev/docs/api/class-page#page-screenshot-option-animations) in
1134 - * [page.screenshot([options])](https://playwright.dev/docs/api/class-page#page-screenshot). Defaults to `"disabled"`.
1135 - */
1136 - animations?: "allow"|"disabled";
1137 -
1138 - /**
1139 - * See [`caret`](https://playwright.dev/docs/api/class-page#page-screenshot-option-caret) in
1140 - * [page.screenshot([options])](https://playwright.dev/docs/api/class-page#page-screenshot). Defaults to `"hide"`.
1141 - */
1142 - caret?: "hide"|"initial";
1143 -
1144 - /**
1145 - * An acceptable amount of pixels that could be different, unset by default.
1146 - */
1147 - maxDiffPixels?: number;
1148 -
1149 - /**
1150 - * An acceptable ratio of pixels that are different to the total amount of pixels, between `0` and `1` , unset by
1151 - * default.
1152 - */
1153 - maxDiffPixelRatio?: number;
1154 -
1155 - /**
1156 - * See [`scale`](https://playwright.dev/docs/api/class-page#page-screenshot-option-scale) in
1157 - * [page.screenshot([options])](https://playwright.dev/docs/api/class-page#page-screenshot). Defaults to `"css"`.
1158 - */
1159 - scale?: "css"|"device";
1160 -
1161 - /**
1162 - * See [`style`](https://playwright.dev/docs/api/class-page#page-screenshot-option-style) in
1163 - * [page.screenshot([options])](https://playwright.dev/docs/api/class-page#page-screenshot).
1164 - */
1165 - stylePath?: string|Array<string>;
1166 -
1167 - /**
1168 - * An acceptable perceived color difference between the same pixel in compared images, ranging from `0` (strict) and
1169 - * `1` (lax). `"pixelmatch"` comparator computes color difference in
1170 - * [YIQ color space](https://en.wikipedia.org/wiki/YIQ) and defaults `threshold` value to `0.2`.
1171 - */
1172 - threshold?: number;
1173 -
1174 - /**
1175 - * A template controlling location of the screenshots. See
1176 - * [testConfig.snapshotPathTemplate](https://playwright.dev/docs/api/class-testconfig#test-config-snapshot-path-template)
1177 - * for details.
1178 - */
1179 - pathTemplate?: string;
1180 - };
1181 -
1182 - /**
1183 - * Configuration for the
1184 - * [expect(locator).toMatchAriaSnapshot([options])](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-match-aria-snapshot-2)
1185 - * method.
1186 - */
1187 - toMatchAriaSnapshot?: {
1188 - /**
1189 - * A template controlling location of the aria snapshots. See
1190 - * [testConfig.snapshotPathTemplate](https://playwright.dev/docs/api/class-testconfig#test-config-snapshot-path-template)
1191 - * for details.
1192 - */
1193 - pathTemplate?: string;
1194 -
1195 - /**
1196 - * Controls how children of the snapshot root are matched against the actual accessibility tree. This is equivalent to
1197 - * adding a `/children` property at the top of every aria snapshot template. Individual snapshots can override this by
1198 - * including an explicit `/children` property.
1199 - */
1200 - children?: "contain"|"equal"|"deep-equal";
1201 - };
1202 -
1203 - /**
1204 - * Configuration for the
1205 - * [expect(value).toMatchSnapshot(name[, options])](https://playwright.dev/docs/api/class-snapshotassertions#snapshot-assertions-to-match-snapshot-1)
1206 - * method.
1207 - */
1208 - toMatchSnapshot?: {
1209 - /**
1210 - * An acceptable amount of pixels that could be different, unset by default.
1211 - */
1212 - maxDiffPixels?: number;
1213 -
1214 - /**
1215 - * An acceptable ratio of pixels that are different to the total amount of pixels, between `0` and `1` , unset by
1216 - * default.
1217 - */
1218 - maxDiffPixelRatio?: number;
1219 -
1220 - /**
1221 - * An acceptable perceived color difference between the same pixel in compared images, ranging from `0` (strict) and
1222 - * `1` (lax). `"pixelmatch"` comparator computes color difference in
1223 - * [YIQ color space](https://en.wikipedia.org/wiki/YIQ) and defaults `threshold` value to `0.2`.
1224 - */
1225 - threshold?: number;
1226 - };
1227 -
1228 - /**
1229 - * Configuration for the [expect(value).toPass()](https://playwright.dev/docs/test-assertions#expecttopass) method.
1230 - */
1231 - toPass?: {
1232 - /**
1233 - * Probe intervals for toPass method in milliseconds.
1234 - */
1235 - intervals?: Array<number>;
1236 -
1237 - /**
1238 - * Timeout for toPass method in milliseconds.
1239 - */
1240 - timeout?: number;
1241 - };
1242 - };
1243 -
1244 - /**
1245 - * Whether to exit with an error if any tests are marked as flaky. Useful on CI.
1246 - *
1247 - * Also available in the [command line](https://playwright.dev/docs/test-cli) with the `--fail-on-flaky-tests` option.
1248 - *
1249 - * **Usage**
1250 - *
1251 - * ```js
1252 - * // playwright.config.ts
1253 - * import { defineConfig } from '@playwright/test';
1254 - *
1255 - * export default defineConfig({
1256 - * failOnFlakyTests: !!process.env.CI,
1257 - * });
1258 - * ```
1259 - *
1260 - */
1261 - failOnFlakyTests?: boolean;
1262 -
1263 - /**
1264 - * Whether to exit with an error if any tests or groups are marked as
1265 - * [test.only(title[, details, body])](https://playwright.dev/docs/api/class-test#test-only) or
1266 - * [test.describe.only([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe-only).
1267 - * Useful on CI.
1268 - *
1269 - * **Usage**
1270 - *
1271 - * ```js
1272 - * // playwright.config.ts
1273 - * import { defineConfig } from '@playwright/test';
1274 - *
1275 - * export default defineConfig({
1276 - * forbidOnly: !!process.env.CI,
1277 - * });
1278 - * ```
1279 - *
1280 - */
1281 - forbidOnly?: boolean;
1282 -
1283 - /**
1284 - * Playwright Test runs tests in parallel. In order to achieve that, it runs several worker processes that run at the
1285 - * same time. By default, **test files** are run in parallel. Tests in a single file are run in order, in the same
1286 - * worker process.
1287 - *
1288 - * You can configure entire test run to concurrently execute all tests in all files using this option.
1289 - *
1290 - * **Usage**
1291 - *
1292 - * ```js
1293 - * // playwright.config.ts
1294 - * import { defineConfig } from '@playwright/test';
1295 - *
1296 - * export default defineConfig({
1297 - * fullyParallel: true,
1298 - * });
1299 - * ```
1300 - *
1301 - */
1302 - fullyParallel?: boolean;
1303 -
1304 - /**
1305 - * Path to the global setup file. This file will be required and run before all the tests. It must export a single
1306 - * function that takes a [FullConfig](https://playwright.dev/docs/api/class-fullconfig) argument. Pass an array of
1307 - * paths to specify multiple global setup files.
1308 - *
1309 - * Learn more about [global setup and teardown](https://playwright.dev/docs/test-global-setup-teardown).
1310 - *
1311 - * **Usage**
1312 - *
1313 - * ```js
1314 - * // playwright.config.ts
1315 - * import { defineConfig } from '@playwright/test';
1316 - *
1317 - * export default defineConfig({
1318 - * globalSetup: './global-setup',
1319 - * });
1320 - * ```
1321 - *
1322 - */
1323 - globalSetup?: string|Array<string>;
1324 -
1325 - /**
1326 - * Path to the global teardown file. This file will be required and run after all the tests. It must export a single
1327 - * function. See also
1328 - * [testConfig.globalSetup](https://playwright.dev/docs/api/class-testconfig#test-config-global-setup). Pass an array
1329 - * of paths to specify multiple global teardown files.
1330 - *
1331 - * Learn more about [global setup and teardown](https://playwright.dev/docs/test-global-setup-teardown).
1332 - *
1333 - * **Usage**
1334 - *
1335 - * ```js
1336 - * // playwright.config.ts
1337 - * import { defineConfig } from '@playwright/test';
1338 - *
1339 - * export default defineConfig({
1340 - * globalTeardown: './global-teardown',
1341 - * });
1342 - * ```
1343 - *
1344 - */
1345 - globalTeardown?: string|Array<string>;
1346 -
1347 - /**
1348 - * Maximum time in milliseconds the whole test suite can run. Zero timeout (default) disables this behavior. Useful on
1349 - * CI to prevent broken setup from running too long and wasting resources. Learn more about
1350 - * [various timeouts](https://playwright.dev/docs/test-timeouts).
1351 - *
1352 - * **Usage**
1353 - *
1354 - * ```js
1355 - * // playwright.config.ts
1356 - * import { defineConfig } from '@playwright/test';
1357 - *
1358 - * export default defineConfig({
1359 - * globalTimeout: process.env.CI ? 60 * 60 * 1000 : undefined,
1360 - * });
1361 - * ```
1362 - *
1363 - */
1364 - globalTimeout?: number;
1365 -
1366 - /**
1367 - * Filter to only run tests with a title matching one of the patterns. For example, passing `grep: /cart/` should only
1368 - * run tests with "cart" in the title. Also available in the [command line](https://playwright.dev/docs/test-cli) with the `-g` option. The
1369 - * regular expression will be tested against the string that consists of the project name, the test file name, the
1370 - * `test.describe` name (if any), the test name and the test tags divided by spaces, e.g. `chromium my-test.spec.ts
1371 - * my-suite my-test`.
1372 - *
1373 - * `grep` option is also useful for [tagging tests](https://playwright.dev/docs/test-annotations#tag-tests).
1374 - *
1375 - * **Usage**
1376 - *
1377 - * ```js
1378 - * // playwright.config.ts
1379 - * import { defineConfig } from '@playwright/test';
1380 - *
1381 - * export default defineConfig({
1382 - * grep: /smoke/,
1383 - * });
1384 - * ```
1385 - *
1386 - */
1387 - grep?: RegExp|Array<RegExp>;
1388 -
1389 - /**
1390 - * Filter to only run tests with a title **not** matching one of the patterns. This is the opposite of
1391 - * [testConfig.grep](https://playwright.dev/docs/api/class-testconfig#test-config-grep). Also available in the
1392 - * [command line](https://playwright.dev/docs/test-cli) with the `--grep-invert` option.
1393 - *
1394 - * `grepInvert` option is also useful for [tagging tests](https://playwright.dev/docs/test-annotations#tag-tests).
1395 - *
1396 - * **Usage**
1397 - *
1398 - * ```js
1399 - * // playwright.config.ts
1400 - * import { defineConfig } from '@playwright/test';
1401 - *
1402 - * export default defineConfig({
1403 - * grepInvert: /manual/,
1404 - * });
1405 - * ```
1406 - *
1407 - */
1408 - grepInvert?: RegExp|Array<RegExp>;
1409 -
1410 - /**
1411 - * Whether to skip snapshot expectations, such as `expect(value).toMatchSnapshot()` and `await
1412 - * expect(page).toHaveScreenshot()`.
1413 - *
1414 - * **Usage**
1415 - *
1416 - * ```js
1417 - * // playwright.config.ts
1418 - * import { defineConfig } from '@playwright/test';
1419 - *
1420 - * export default defineConfig({
1421 - * ignoreSnapshots: !process.env.CI,
1422 - * });
1423 - * ```
1424 - *
1425 - */
1426 - ignoreSnapshots?: boolean;
1427 -
1428 - /**
1429 - * The maximum number of test failures for the whole test suite run. After reaching this number, testing will stop and
1430 - * exit with an error. Setting to zero (default) disables this behavior.
1431 - *
1432 - * Also available in the [command line](https://playwright.dev/docs/test-cli) with the `--max-failures` and `-x` options.
1433 - *
1434 - * **Usage**
1435 - *
1436 - * ```js
1437 - * // playwright.config.ts
1438 - * import { defineConfig } from '@playwright/test';
1439 - *
1440 - * export default defineConfig({
1441 - * maxFailures: process.env.CI ? 1 : 0,
1442 - * });
1443 - * ```
1444 - *
1445 - */
1446 - maxFailures?: number;
1447 -
1448 - /**
1449 - * Metadata contains key-value pairs to be included in the report. For example, the JSON report will include metadata
1450 - * serialized as JSON.
1451 - *
1452 - * **Usage**
1453 - *
1454 - * ```js
1455 - * // playwright.config.ts
1456 - * import { defineConfig } from '@playwright/test';
1457 - *
1458 - * export default defineConfig({
1459 - * metadata: { title: 'acceptance tests' },
1460 - * });
1461 - * ```
1462 - *
1463 - */
1464 - metadata?: Metadata;
1465 -
1466 - /**
1467 - * Config name is visible in the report and during test execution, unless overridden by
1468 - * [testProject.name](https://playwright.dev/docs/api/class-testproject#test-project-name).
1469 - *
1470 - * **Usage**
1471 - *
1472 - * ```js
1473 - * // playwright.config.ts
1474 - * import { defineConfig } from '@playwright/test';
1475 - *
1476 - * export default defineConfig({
1477 - * name: 'acceptance tests',
1478 - * });
1479 - * ```
1480 - *
1481 - */
1482 - name?: string;
1483 -
1484 - /**
1485 - * The output directory for files created during test execution. Defaults to `<package.json-directory>/test-results`.
1486 - *
1487 - * **Usage**
1488 - *
1489 - * ```js
1490 - * // playwright.config.ts
1491 - * import { defineConfig } from '@playwright/test';
1492 - *
1493 - * export default defineConfig({
1494 - * outputDir: './test-results',
1495 - * });
1496 - * ```
1497 - *
1498 - * **Details**
1499 - *
1500 - * This directory is cleaned at the start. When running a test, a unique subdirectory inside the
1501 - * [testConfig.outputDir](https://playwright.dev/docs/api/class-testconfig#test-config-output-dir) is created,
1502 - * guaranteeing that test running in parallel do not conflict. This directory can be accessed by
1503 - * [testInfo.outputDir](https://playwright.dev/docs/api/class-testinfo#test-info-output-dir) and
1504 - * [testInfo.outputPath(...pathSegments)](https://playwright.dev/docs/api/class-testinfo#test-info-output-path).
1505 - *
1506 - * Here is an example that uses
1507 - * [testInfo.outputPath(...pathSegments)](https://playwright.dev/docs/api/class-testinfo#test-info-output-path) to
1508 - * create a temporary file.
1509 - *
1510 - * ```js
1511 - * import { test, expect } from '@playwright/test';
1512 - * import fs from 'fs';
1513 - *
1514 - * test('example test', async ({}, testInfo) => {
1515 - * const file = testInfo.outputPath('temporary-file.txt');
1516 - * await fs.promises.writeFile(file, 'Put some data to the file', 'utf8');
1517 - * });
1518 - * ```
1519 - *
1520 - */
1521 - outputDir?: string;
1522 -
1523 - /**
1524 - * Whether to preserve test output in the
1525 - * [testConfig.outputDir](https://playwright.dev/docs/api/class-testconfig#test-config-output-dir). Defaults to
1526 - * `'always'`.
1527 - * - `'always'` - preserve output for all tests;
1528 - * - `'never'` - do not preserve output for any tests;
1529 - * - `'failures-only'` - only preserve output for failed tests.
1530 - *
1531 - * **Usage**
1532 - *
1533 - * ```js
1534 - * // playwright.config.ts
1535 - * import { defineConfig } from '@playwright/test';
1536 - *
1537 - * export default defineConfig({
1538 - * preserveOutput: 'always',
1539 - * });
1540 - * ```
1541 - *
1542 - */
1543 - preserveOutput?: "always"|"never"|"failures-only";
1544 -
1545 - /**
1546 - * Whether to suppress stdio and stderr output from the tests.
1547 - *
1548 - * **Usage**
1549 - *
1550 - * ```js
1551 - * // playwright.config.ts
1552 - * import { defineConfig } from '@playwright/test';
1553 - *
1554 - * export default defineConfig({
1555 - * quiet: !!process.env.CI,
1556 - * });
1557 - * ```
1558 - *
1559 - */
1560 - quiet?: boolean;
1561 -
1562 - /**
1563 - * The number of times to repeat each test, useful for debugging flaky tests.
1564 - *
1565 - * **Usage**
1566 - *
1567 - * ```js
1568 - * // playwright.config.ts
1569 - * import { defineConfig } from '@playwright/test';
1570 - *
1571 - * export default defineConfig({
1572 - * repeatEach: 3,
1573 - * });
1574 - * ```
1575 - *
1576 - */
1577 - repeatEach?: number;
1578 -
1579 - /**
1580 - * Whether to report slow test files. Pass `null` to disable this feature.
1581 - *
1582 - * **Usage**
1583 - *
1584 - * ```js
1585 - * // playwright.config.ts
1586 - * import { defineConfig } from '@playwright/test';
1587 - *
1588 - * export default defineConfig({
1589 - * reportSlowTests: null,
1590 - * });
1591 - * ```
1592 - *
1593 - * **Details**
1594 - *
1595 - * Test files that took more than `threshold` milliseconds are considered slow, and the slowest ones are reported, no
1596 - * more than `max` number of them. Passing zero as `max` reports all test files that exceed the threshold.
1597 - */
1598 - reportSlowTests?: null|{
1599 - /**
1600 - * The maximum number of slow test files to report. Defaults to `5`.
1601 - */
1602 - max: number;
1603 -
1604 - /**
1605 - * Test file duration in milliseconds that is considered slow. Defaults to 5 minutes.
1606 - */
1607 - threshold: number;
1608 - };
1609 -
1610 - /**
1611 - * Whether to skip entries from `.gitignore` when searching for test files. By default, if neither
1612 - * [testConfig.testDir](https://playwright.dev/docs/api/class-testconfig#test-config-test-dir) nor
1613 - * [testProject.testDir](https://playwright.dev/docs/api/class-testproject#test-project-test-dir) are explicitly
1614 - * specified, Playwright will ignore any test files matching `.gitignore` entries.
1615 - */
1616 - respectGitIgnore?: boolean;
1617 -
1618 - /**
1619 - * The maximum number of retry attempts given to failed tests. By default failing tests are not retried. Learn more
1620 - * about [test retries](https://playwright.dev/docs/test-retries#retries).
1621 - *
1622 - * **Usage**
1623 - *
1624 - * ```js
1625 - * // playwright.config.ts
1626 - * import { defineConfig } from '@playwright/test';
1627 - *
1628 - * export default defineConfig({
1629 - * retries: 2,
1630 - * });
1631 - * ```
1632 - *
1633 - */
1634 - retries?: number;
1635 -
1636 - /**
1637 - * Shard tests and execute only the selected shard. Specify in the one-based form like `{ total: 5, current: 2 }`.
1638 - *
1639 - * Learn more about [parallelism and sharding](https://playwright.dev/docs/test-parallel) with Playwright Test.
1640 - *
1641 - * **Usage**
1642 - *
1643 - * ```js
1644 - * // playwright.config.ts
1645 - * import { defineConfig } from '@playwright/test';
1646 - *
1647 - * export default defineConfig({
1648 - * shard: { total: 10, current: 3 },
1649 - * });
1650 - * ```
1651 - *
1652 - */
1653 - shard?: null|{
1654 - /**
1655 - * The index of the shard to execute, one-based.
1656 - */
1657 - current: number;
1658 -
1659 - /**
1660 - * The total number of shards.
1661 - */
1662 - total: number;
1663 - };
1664 -
1665 - /**
1666 - * **NOTE** Use
1667 - * [testConfig.snapshotPathTemplate](https://playwright.dev/docs/api/class-testconfig#test-config-snapshot-path-template)
1668 - * to configure snapshot paths.
1669 - *
1670 - * The base directory, relative to the config file, for snapshot files created with `toMatchSnapshot`. Defaults to
1671 - * [testConfig.testDir](https://playwright.dev/docs/api/class-testconfig#test-config-test-dir).
1672 - *
1673 - * **Usage**
1674 - *
1675 - * ```js
1676 - * // playwright.config.ts
1677 - * import { defineConfig } from '@playwright/test';
1678 - *
1679 - * export default defineConfig({
1680 - * snapshotDir: './snapshots',
1681 - * });
1682 - * ```
1683 - *
1684 - * **Details**
1685 - *
1686 - * The directory for each test can be accessed by
1687 - * [testInfo.snapshotDir](https://playwright.dev/docs/api/class-testinfo#test-info-snapshot-dir) and
1688 - * [testInfo.snapshotPath(...name[, options])](https://playwright.dev/docs/api/class-testinfo#test-info-snapshot-path).
1689 - *
1690 - * This path will serve as the base directory for each test file snapshot directory. Setting `snapshotDir` to
1691 - * `'snapshots'`, the [testInfo.snapshotDir](https://playwright.dev/docs/api/class-testinfo#test-info-snapshot-dir)
1692 - * would resolve to `snapshots/a.spec.js-snapshots`.
1693 - */
1694 - snapshotDir?: string;
1695 -
1696 - /**
1697 - * This option configures a template controlling location of snapshots generated by
1698 - * [expect(page).toHaveScreenshot(name[, options])](https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-screenshot-1),
1699 - * [expect(locator).toMatchAriaSnapshot([options])](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-match-aria-snapshot-2)
1700 - * and
1701 - * [expect(value).toMatchSnapshot(name[, options])](https://playwright.dev/docs/api/class-snapshotassertions#snapshot-assertions-to-match-snapshot-1).
1702 - *
1703 - * You can configure templates for each assertion separately in
1704 - * [testConfig.expect](https://playwright.dev/docs/api/class-testconfig#test-config-expect).
1705 - *
1706 - * **Usage**
1707 - *
1708 - * ```js
1709 - * // playwright.config.ts
1710 - * import { defineConfig } from '@playwright/test';
1711 - *
1712 - * export default defineConfig({
1713 - * testDir: './tests',
1714 - *
1715 - * // Single template for all assertions
1716 - * snapshotPathTemplate: '{testDir}/__screenshots__/{testFilePath}/{arg}{ext}',
1717 - *
1718 - * // Assertion-specific templates
1719 - * expect: {
1720 - * toHaveScreenshot: {
1721 - * pathTemplate: '{testDir}/__screenshots__{/projectName}/{testFilePath}/{arg}{ext}',
1722 - * },
1723 - * toMatchAriaSnapshot: {
1724 - * pathTemplate: '{testDir}/__snapshots__/{testFilePath}/{arg}{ext}',
1725 - * },
1726 - * },
1727 - * });
1728 - * ```
1729 - *
1730 - * **Details**
1731 - *
1732 - * The value might include some "tokens" that will be replaced with actual values during test execution.
1733 - *
1734 - * Consider the following file structure:
1735 - *
1736 - * ```txt
1737 - * playwright.config.ts
1738 - * tests/
1739 - * └── page/
1740 - * └── page-click.spec.ts
1741 - * ```
1742 - *
1743 - * And the following `page-click.spec.ts` that uses `toHaveScreenshot()` call:
1744 - *
1745 - * ```js
1746 - * // page-click.spec.ts
1747 - * import { test, expect } from '@playwright/test';
1748 - *
1749 - * test.describe('suite', () => {
1750 - * test('test should work', async ({ page }) => {
1751 - * await expect(page).toHaveScreenshot(['foo', 'bar', 'baz.png']);
1752 - * });
1753 - * });
1754 - * ```
1755 - *
1756 - * The list of supported tokens:
1757 - * - `{arg}` - Relative snapshot path **without extension**. This comes from the arguments passed to
1758 - * `toHaveScreenshot()`, `toMatchAriaSnapshot()` or `toMatchSnapshot()`; if called without arguments, this will be
1759 - * an auto-generated snapshot name.
1760 - * - Value: `foo/bar/baz`
1761 - * - `{ext}` - Snapshot extension (with the leading dot).
1762 - * - Value: `.png`
1763 - * - `{platform}` - The value of `process.platform`.
1764 - * - `{projectName}` - Project's file-system-sanitized name, if any.
1765 - * - Value: `''` (empty string).
1766 - * - `{snapshotDir}` - Project's
1767 - * [testProject.snapshotDir](https://playwright.dev/docs/api/class-testproject#test-project-snapshot-dir).
1768 - * - Value: `/home/playwright/tests` (since `snapshotDir` is not provided in config, it defaults to `testDir`)
1769 - * - `{testDir}` - Project's
1770 - * [testProject.testDir](https://playwright.dev/docs/api/class-testproject#test-project-test-dir).
1771 - * - Value: `/home/playwright/tests` (absolute path since `testDir` is resolved relative to directory with
1772 - * config)
1773 - * - `{testFileDir}` - Directories in relative path from `testDir` to **test file**.
1774 - * - Value: `page`
1775 - * - `{testFileBaseName}` - Test file name without the last extension.
1776 - * - Value: `page-click.spec`
1777 - * - `{testFileName}` - Test file name with extension.
1778 - * - Value: `page-click.spec.ts`
1779 - * - `{testFilePath}` - Relative path from `testDir` to **test file**.
1780 - * - Value: `page/page-click.spec.ts`
1781 - * - `{testName}` - File-system-sanitized test title, including parent describes but excluding file name.
1782 - * - Value: `suite-test-should-work`
1783 - *
1784 - * Each token can be preceded with a single character that will be used **only if** this token has non-empty value.
1785 - *
1786 - * Consider the following config:
1787 - *
1788 - * ```js
1789 - * // playwright.config.ts
1790 - * import { defineConfig } from '@playwright/test';
1791 - *
1792 - * export default defineConfig({
1793 - * snapshotPathTemplate: '__screenshots__{/projectName}/{testFilePath}/{arg}{ext}',
1794 - * testMatch: 'example.spec.ts',
1795 - * projects: [
1796 - * { use: { browserName: 'firefox' } },
1797 - * { name: 'chromium', use: { browserName: 'chromium' } },
1798 - * ],
1799 - * });
1800 - * ```
1801 - *
1802 - * In this config:
1803 - * 1. First project **does not** have a name, so its snapshots will be stored in
1804 - * `<configDir>/__screenshots__/example.spec.ts/...`.
1805 - * 1. Second project **does** have a name, so its snapshots will be stored in
1806 - * `<configDir>/__screenshots__/chromium/example.spec.ts/..`.
1807 - * 1. Since `snapshotPathTemplate` resolves to relative path, it will be resolved relative to `configDir`.
1808 - * 1. Forward slashes `"/"` can be used as path separators on any platform.
1809 - */
1810 - snapshotPathTemplate?: string;
1811 -
1812 - /**
1813 - * Tag or tags prepended to each test in the report. Useful for tagging your test run to differentiate between
1814 - * [CI environments](https://playwright.dev/docs/test-sharding#merging-reports-from-multiple-environments).
1815 - *
1816 - * Note that each tag must start with `@` symbol. Learn more about [tagging](https://playwright.dev/docs/test-annotations#tag-tests).
1817 - *
1818 - * **Usage**
1819 - *
1820 - * ```js
1821 - * // playwright.config.ts
1822 - * import { defineConfig } from '@playwright/test';
1823 - *
1824 - * export default defineConfig({
1825 - * tag: process.env.CI_ENVIRONMENT_NAME, // for example "@APIv2"
1826 - * });
1827 - * ```
1828 - *
1829 - */
1830 - tag?: string|Array<string>;
1831 -
1832 - /**
1833 - * Directory that will be recursively scanned for test files. Defaults to the directory of the configuration file.
1834 - *
1835 - * **Usage**
1836 - *
1837 - * ```js
1838 - * // playwright.config.ts
1839 - * import { defineConfig } from '@playwright/test';
1840 - *
1841 - * export default defineConfig({
1842 - * testDir: './tests/playwright',
1843 - * });
1844 - * ```
1845 - *
1846 - */
1847 - testDir?: string;
1848 -
1849 - /**
1850 - * Files matching one of these patterns are not executed as test files. Matching is performed against the absolute
1851 - * file path. Strings are treated as glob patterns.
1852 - *
1853 - * For example, `'**\/test-assets/**'` will ignore any files in the `test-assets` directory.
1854 - *
1855 - * **Usage**
1856 - *
1857 - * ```js
1858 - * // playwright.config.ts
1859 - * import { defineConfig } from '@playwright/test';
1860 - *
1861 - * export default defineConfig({
1862 - * testIgnore: '**\/test-assets/**',
1863 - * });
1864 - * ```
1865 - *
1866 - */
1867 - testIgnore?: string|RegExp|Array<string|RegExp>;
1868 -
1869 - /**
1870 - * Only the files matching one of these patterns are executed as test files. Matching is performed against the
1871 - * absolute file path. Strings are treated as glob patterns.
1872 - *
1873 - * By default, Playwright looks for files matching the following glob pattern: `**\/*.@(spec|test).?(c|m)[jt]s?(x)`.
1874 - * This means JavaScript or TypeScript files with `".test"` or `".spec"` suffix, for example
1875 - * `login-screen.wrong-credentials.spec.ts`.
1876 - *
1877 - * **Usage**
1878 - *
1879 - * ```js
1880 - * // playwright.config.ts
1881 - * import { defineConfig } from '@playwright/test';
1882 - *
1883 - * export default defineConfig({
1884 - * testMatch: /.*\.e2e\.js/,
1885 - * });
1886 - * ```
1887 - *
1888 - */
1889 - testMatch?: string|RegExp|Array<string|RegExp>;
1890 -
1891 - /**
1892 - * Timeout for each test in milliseconds. Defaults to 30 seconds.
1893 - *
1894 - * This is a base timeout for all tests. In addition, each test can configure its own timeout with
1895 - * [test.setTimeout(timeout)](https://playwright.dev/docs/api/class-test#test-set-timeout). Learn more about
1896 - * [various timeouts](https://playwright.dev/docs/test-timeouts).
1897 - *
1898 - * **Usage**
1899 - *
1900 - * ```js
1901 - * // playwright.config.ts
1902 - * import { defineConfig } from '@playwright/test';
1903 - *
1904 - * export default defineConfig({
1905 - * timeout: 5 * 60 * 1000,
1906 - * });
1907 - * ```
1908 - *
1909 - */
1910 - timeout?: number;
1911 -
1912 - /**
1913 - * Path to a single `tsconfig` applicable to all imported files. By default, `tsconfig` for each imported file is
1914 - * looked up separately. Note that `tsconfig` property has no effect while the configuration file or any of its
1915 - * dependencies are loaded. Ignored when `--tsconfig` command line option is specified.
1916 - *
1917 - * **Usage**
1918 - *
1919 - * ```js
1920 - * // playwright.config.ts
1921 - * import { defineConfig } from '@playwright/test';
1922 - *
1923 - * export default defineConfig({
1924 - * tsconfig: './tsconfig.test.json',
1925 - * });
1926 - * ```
1927 - *
1928 - */
1929 - tsconfig?: string;
1930 -
1931 - /**
1932 - * Whether to update expected snapshots with the actual results produced by the test run. Defaults to `'missing'`.
1933 - * - `'all'` - All tests that are executed will update snapshots.
1934 - * - `'changed'` - All tests that are executed will update snapshots that did not match. Matching snapshots will not
1935 - * be updated. Also creates missing snapshots.
1936 - * - `'missing'` - Missing snapshots are created, for example when authoring a new test and running it for the first
1937 - * time. This is the default.
1938 - * - `'none'` - No snapshots are updated.
1939 - *
1940 - * Learn more about [snapshots](https://playwright.dev/docs/test-snapshots).
1941 - *
1942 - * **Usage**
1943 - *
1944 - * ```js
1945 - * // playwright.config.ts
1946 - * import { defineConfig } from '@playwright/test';
1947 - *
1948 - * export default defineConfig({
1949 - * updateSnapshots: 'missing',
1950 - * });
1951 - * ```
1952 - *
1953 - */
1954 - updateSnapshots?: "all"|"changed"|"missing"|"none";
1955 -
1956 - /**
1957 - * Defines how to update snapshots in the source code.
1958 - * - `'patch'` - Create a unified diff file that can be used to update the source code later. This is the default.
1959 - * - `'3way'` - Generate merge conflict markers in source code. This allows user to manually pick relevant changes,
1960 - * as if they are resolving a merge conflict in the IDE.
1961 - * - `'overwrite'` - Overwrite the source code with the new snapshot values.
1962 - */
1963 - updateSourceMethod?: "overwrite"|"3way"|"patch";
1964 -
1965 - /**
1966 - * The maximum number of concurrent worker processes to use for parallelizing tests. Can also be set as percentage of
1967 - * logical CPU cores, e.g. `'50%'.`
1968 - *
1969 - * Playwright Test uses worker processes to run tests. There is always at least one worker process, but more can be
1970 - * used to speed up test execution.
1971 - *
1972 - * Defaults to half of the number of logical CPU cores. Learn more about
1973 - * [parallelism and sharding](https://playwright.dev/docs/test-parallel) with Playwright Test.
1974 - *
1975 - * **Usage**
1976 - *
1977 - * ```js
1978 - * // playwright.config.ts
1979 - * import { defineConfig } from '@playwright/test';
1980 - *
1981 - * export default defineConfig({
1982 - * workers: 3,
1983 - * });
1984 - * ```
1985 - *
1986 - */
1987 - workers?: number|string;
1988 -}
1989 -
1990 -export interface Config<TestArgs = {}, WorkerArgs = {}> extends TestConfig<TestArgs, WorkerArgs> {
1991 -}
1992 -
1993 -export type Metadata = { [key: string]: any };
1994 -
1995 -/**
1996 - * Resolved configuration which is accessible via
1997 - * [testInfo.config](https://playwright.dev/docs/api/class-testinfo#test-info-config) and is passed to the test
1998 - * reporters. To see the format of Playwright configuration file, please see
1999 - * [TestConfig](https://playwright.dev/docs/api/class-testconfig) instead.
2000 - */
2001 -export interface FullConfig<TestArgs = {}, WorkerArgs = {}> {
2002 - /**
2003 - * List of resolved projects.
2004 - */
2005 - projects: FullProject<TestArgs, WorkerArgs>[];
2006 - /**
2007 - * See [testConfig.reporter](https://playwright.dev/docs/api/class-testconfig#test-config-reporter).
2008 - */
2009 - reporter: ReporterDescription[];
2010 - /**
2011 - * See [testConfig.webServer](https://playwright.dev/docs/api/class-testconfig#test-config-web-server).
2012 - */
2013 - webServer: TestConfigWebServer | null;
2014 - /**
2015 - * Path to the configuration file used to run the tests. The value is an empty string if no config file was used.
2016 - */
2017 - configFile?: string;
2018 -
2019 - /**
2020 - * See [testConfig.forbidOnly](https://playwright.dev/docs/api/class-testconfig#test-config-forbid-only).
2021 - */
2022 - forbidOnly: boolean;
2023 -
2024 - /**
2025 - * See [testConfig.fullyParallel](https://playwright.dev/docs/api/class-testconfig#test-config-fully-parallel).
2026 - */
2027 - fullyParallel: boolean;
2028 -
2029 - /**
2030 - * See [testConfig.globalSetup](https://playwright.dev/docs/api/class-testconfig#test-config-global-setup).
2031 - */
2032 - globalSetup: null|string;
2033 -
2034 - /**
2035 - * See [testConfig.globalTeardown](https://playwright.dev/docs/api/class-testconfig#test-config-global-teardown).
2036 - */
2037 - globalTeardown: null|string;
2038 -
2039 - /**
2040 - * See [testConfig.globalTimeout](https://playwright.dev/docs/api/class-testconfig#test-config-global-timeout).
2041 - */
2042 - globalTimeout: number;
2043 -
2044 - /**
2045 - * See [testConfig.grep](https://playwright.dev/docs/api/class-testconfig#test-config-grep).
2046 - */
2047 - grep: RegExp|Array<RegExp>;
2048 -
2049 - /**
2050 - * See [testConfig.grepInvert](https://playwright.dev/docs/api/class-testconfig#test-config-grep-invert).
2051 - */
2052 - grepInvert: null|RegExp|Array<RegExp>;
2053 -
2054 - /**
2055 - * See [testConfig.maxFailures](https://playwright.dev/docs/api/class-testconfig#test-config-max-failures).
2056 - */
2057 - maxFailures: number;
2058 -
2059 - /**
2060 - * See [testConfig.metadata](https://playwright.dev/docs/api/class-testconfig#test-config-metadata).
2061 - */
2062 - metadata: Metadata;
2063 -
2064 - /**
2065 - * See [testConfig.preserveOutput](https://playwright.dev/docs/api/class-testconfig#test-config-preserve-output).
2066 - */
2067 - preserveOutput: "always"|"never"|"failures-only";
2068 -
2069 - /**
2070 - * See [testConfig.quiet](https://playwright.dev/docs/api/class-testconfig#test-config-quiet).
2071 - */
2072 - quiet: boolean;
2073 -
2074 - /**
2075 - * See [testConfig.reportSlowTests](https://playwright.dev/docs/api/class-testconfig#test-config-report-slow-tests).
2076 - */
2077 - reportSlowTests: null|{
2078 - /**
2079 - * The maximum number of slow test files to report.
2080 - */
2081 - max: number;
2082 -
2083 - /**
2084 - * Test file duration in milliseconds that is considered slow.
2085 - */
2086 - threshold: number;
2087 - };
2088 -
2089 - /**
2090 - * Base directory for all relative paths used in the reporters.
2091 - */
2092 - rootDir: string;
2093 -
2094 - /**
2095 - * See [testConfig.shard](https://playwright.dev/docs/api/class-testconfig#test-config-shard).
2096 - */
2097 - shard: null|{
2098 - /**
2099 - * The total number of shards.
2100 - */
2101 - total: number;
2102 -
2103 - /**
2104 - * The index of the shard to execute, one-based.
2105 - */
2106 - current: number;
2107 - };
2108 -
2109 - /**
2110 - * Resolved global tags. See [testConfig.tag](https://playwright.dev/docs/api/class-testconfig#test-config-tag).
2111 - */
2112 - tags: Array<string>;
2113 -
2114 - /**
2115 - * See [testConfig.updateSnapshots](https://playwright.dev/docs/api/class-testconfig#test-config-update-snapshots).
2116 - */
2117 - updateSnapshots: "all"|"changed"|"missing"|"none";
2118 -
2119 - /**
2120 - * See
2121 - * [testConfig.updateSourceMethod](https://playwright.dev/docs/api/class-testconfig#test-config-update-source-method).
2122 - */
2123 - updateSourceMethod: "overwrite"|"3way"|"patch";
2124 -
2125 - /**
2126 - * Playwright version.
2127 - */
2128 - version: string;
2129 -
2130 - /**
2131 - * See [testConfig.workers](https://playwright.dev/docs/api/class-testconfig#test-config-workers).
2132 - */
2133 - workers: number;
2134 -}
2135 -
2136 -/**
2137 - * `TestInfo` contains information about currently running test. It is available to test functions,
2138 - * [test.beforeEach([title, hookFunction])](https://playwright.dev/docs/api/class-test#test-before-each),
2139 - * [test.afterEach([title, hookFunction])](https://playwright.dev/docs/api/class-test#test-after-each),
2140 - * [test.beforeAll([title, hookFunction])](https://playwright.dev/docs/api/class-test#test-before-all) and
2141 - * [test.afterAll([title, hookFunction])](https://playwright.dev/docs/api/class-test#test-after-all) hooks, and
2142 - * test-scoped fixtures. `TestInfo` provides utilities to control test execution: attach files, update test timeout,
2143 - * determine which test is currently running and whether it was retried, etc.
2144 - *
2145 - * ```js
2146 - * import { test, expect } from '@playwright/test';
2147 - *
2148 - * test('basic test', async ({ page }, testInfo) => {
2149 - * expect(testInfo.title).toBe('basic test');
2150 - * await page.screenshot(testInfo.outputPath('screenshot.png'));
2151 - * });
2152 - * ```
2153 - *
2154 - */
2155 -export interface TestInfo {
2156 - /**
2157 - * Returns a path to a snapshot file with the given `name`. Pass
2158 - * [`kind`](https://playwright.dev/docs/api/class-testinfo#test-info-snapshot-path-option-kind) to obtain a specific
2159 - * path:
2160 - * - `kind: 'screenshot'` for
2161 - * [expect(page).toHaveScreenshot(name[, options])](https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-screenshot-1);
2162 - * - `kind: 'aria'` for
2163 - * [expect(locator).toMatchAriaSnapshot(expected[, options])](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-match-aria-snapshot);
2164 - * - `kind: 'snapshot'` for
2165 - * [expect(value).toMatchSnapshot(name[, options])](https://playwright.dev/docs/api/class-snapshotassertions#snapshot-assertions-to-match-snapshot-1).
2166 - *
2167 - * **Usage**
2168 - *
2169 - * ```js
2170 - * await expect(page).toHaveScreenshot('header.png');
2171 - * // Screenshot assertion above expects screenshot at this path:
2172 - * const screenshotPath = test.info().snapshotPath('header.png', { kind: 'screenshot' });
2173 - *
2174 - * await expect(page.getByRole('main')).toMatchAriaSnapshot({ name: 'main.aria.yml' });
2175 - * // Aria snapshot assertion above expects snapshot at this path:
2176 - * const ariaSnapshotPath = test.info().snapshotPath('main.aria.yml', { kind: 'aria' });
2177 - *
2178 - * expect('some text').toMatchSnapshot('snapshot.txt');
2179 - * // Snapshot assertion above expects snapshot at this path:
2180 - * const snapshotPath = test.info().snapshotPath('snapshot.txt');
2181 - *
2182 - * expect('some text').toMatchSnapshot(['dir', 'subdir', 'snapshot.txt']);
2183 - * // Snapshot assertion above expects snapshot at this path:
2184 - * const nestedPath = test.info().snapshotPath('dir', 'subdir', 'snapshot.txt');
2185 - * ```
2186 - *
2187 - * @param name The name of the snapshot or the path segments to define the snapshot file path. Snapshots with the same name in the
2188 - * same test file are expected to be the same.
2189 - *
2190 - * When passing [`kind`](https://playwright.dev/docs/api/class-testinfo#test-info-snapshot-path-option-kind), multiple
2191 - * name segments are not supported.
2192 - * @param options
2193 - */
2194 - snapshotPath(...name: ReadonlyArray<string>): string;
2195 - /**
2196 - * Returns a path to a snapshot file with the given `name`. Pass
2197 - * [`kind`](https://playwright.dev/docs/api/class-testinfo#test-info-snapshot-path-option-kind) to obtain a specific
2198 - * path:
2199 - * - `kind: 'screenshot'` for
2200 - * [expect(page).toHaveScreenshot(name[, options])](https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-screenshot-1);
2201 - * - `kind: 'aria'` for
2202 - * [expect(locator).toMatchAriaSnapshot(expected[, options])](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-match-aria-snapshot);
2203 - * - `kind: 'snapshot'` for
2204 - * [expect(value).toMatchSnapshot(name[, options])](https://playwright.dev/docs/api/class-snapshotassertions#snapshot-assertions-to-match-snapshot-1).
2205 - *
2206 - * **Usage**
2207 - *
2208 - * ```js
2209 - * await expect(page).toHaveScreenshot('header.png');
2210 - * // Screenshot assertion above expects screenshot at this path:
2211 - * const screenshotPath = test.info().snapshotPath('header.png', { kind: 'screenshot' });
2212 - *
2213 - * await expect(page.getByRole('main')).toMatchAriaSnapshot({ name: 'main.aria.yml' });
2214 - * // Aria snapshot assertion above expects snapshot at this path:
2215 - * const ariaSnapshotPath = test.info().snapshotPath('main.aria.yml', { kind: 'aria' });
2216 - *
2217 - * expect('some text').toMatchSnapshot('snapshot.txt');
2218 - * // Snapshot assertion above expects snapshot at this path:
2219 - * const snapshotPath = test.info().snapshotPath('snapshot.txt');
2220 - *
2221 - * expect('some text').toMatchSnapshot(['dir', 'subdir', 'snapshot.txt']);
2222 - * // Snapshot assertion above expects snapshot at this path:
2223 - * const nestedPath = test.info().snapshotPath('dir', 'subdir', 'snapshot.txt');
2224 - * ```
2225 - *
2226 - * @param name The name of the snapshot or the path segments to define the snapshot file path. Snapshots with the same name in the
2227 - * same test file are expected to be the same.
2228 - *
2229 - * When passing [`kind`](https://playwright.dev/docs/api/class-testinfo#test-info-snapshot-path-option-kind), multiple
2230 - * name segments are not supported.
2231 - * @param options
2232 - */
2233 - snapshotPath(name: string, options: { kind: 'snapshot' | 'screenshot' | 'aria' }): string;
2234 - /**
2235 - * Attach a value or a file from disk to the current test. Some reporters show test attachments. Either
2236 - * [`path`](https://playwright.dev/docs/api/class-testinfo#test-info-attach-option-path) or
2237 - * [`body`](https://playwright.dev/docs/api/class-testinfo#test-info-attach-option-body) must be specified, but not
2238 - * both.
2239 - *
2240 - * For example, you can attach a screenshot to the test:
2241 - *
2242 - * ```js
2243 - * import { test, expect } from '@playwright/test';
2244 - *
2245 - * test('basic test', async ({ page }, testInfo) => {
2246 - * await page.goto('https://playwright.dev');
2247 - * const screenshot = await page.screenshot();
2248 - * await testInfo.attach('screenshot', { body: screenshot, contentType: 'image/png' });
2249 - * });
2250 - * ```
2251 - *
2252 - * Or you can attach files returned by your APIs:
2253 - *
2254 - * ```js
2255 - * import { test, expect } from '@playwright/test';
2256 - * import { download } from './my-custom-helpers';
2257 - *
2258 - * test('basic test', async ({}, testInfo) => {
2259 - * const tmpPath = await download('a');
2260 - * await testInfo.attach('downloaded', { path: tmpPath });
2261 - * });
2262 - * ```
2263 - *
2264 - * **NOTE** [testInfo.attach(name[, options])](https://playwright.dev/docs/api/class-testinfo#test-info-attach)
2265 - * automatically takes care of copying attached files to a location that is accessible to reporters. You can safely
2266 - * remove the attachment after awaiting the attach call.
2267 - *
2268 - * @param name Attachment name. The name will also be sanitized and used as the prefix of file name when saving to disk.
2269 - * @param options
2270 - */
2271 - attach(name: string, options?: {
2272 - /**
2273 - * Attachment body. Mutually exclusive with
2274 - * [`path`](https://playwright.dev/docs/api/class-testinfo#test-info-attach-option-path).
2275 - */
2276 - body?: string|Buffer;
2277 -
2278 - /**
2279 - * Content type of this attachment to properly present in the report, for example `'application/json'` or
2280 - * `'image/png'`. If omitted, content type is inferred based on the
2281 - * [`path`](https://playwright.dev/docs/api/class-testinfo#test-info-attach-option-path), or defaults to `text/plain`
2282 - * for [string] attachments and `application/octet-stream` for [Buffer] attachments.
2283 - */
2284 - contentType?: string;
2285 -
2286 - /**
2287 - * Path on the filesystem to the attached file. Mutually exclusive with
2288 - * [`body`](https://playwright.dev/docs/api/class-testinfo#test-info-attach-option-body).
2289 - */
2290 - path?: string;
2291 - }): Promise<void>;
2292 -
2293 - /**
2294 - * Marks the currently running test as "should fail". Playwright Test runs this test and ensures that it is actually
2295 - * failing. This is useful for documentation purposes to acknowledge that some functionality is broken until it is
2296 - * fixed. This is similar to
2297 - * [test.fail([title, details, body, condition, callback, description])](https://playwright.dev/docs/api/class-test#test-fail).
2298 - */
2299 - fail(): void;
2300 -
2301 - /**
2302 - * Conditionally mark the currently running test as "should fail" with an optional description. This is similar to
2303 - * [test.fail([title, details, body, condition, callback, description])](https://playwright.dev/docs/api/class-test#test-fail).
2304 - * @param condition Test is marked as "should fail" when the condition is `true`.
2305 - * @param description Optional description that will be reflected in a test report.
2306 - */
2307 - fail(condition: boolean, description?: string): void;
2308 -
2309 - /**
2310 - * Mark a test as "fixme", with the intention to fix it. Test is immediately aborted. This is similar to
2311 - * [test.fixme([title, details, body, condition, callback, description])](https://playwright.dev/docs/api/class-test#test-fixme).
2312 - */
2313 - fixme(): void;
2314 -
2315 - /**
2316 - * Conditionally mark the currently running test as "fixme" with an optional description. This is similar to
2317 - * [test.fixme([title, details, body, condition, callback, description])](https://playwright.dev/docs/api/class-test#test-fixme).
2318 - * @param condition Test is marked as "fixme" when the condition is `true`.
2319 - * @param description Optional description that will be reflected in a test report.
2320 - */
2321 - fixme(condition: boolean, description?: string): void;
2322 -
2323 - /**
2324 - * Returns a path inside the [testInfo.outputDir](https://playwright.dev/docs/api/class-testinfo#test-info-output-dir)
2325 - * where the test can safely put a temporary file. Guarantees that tests running in parallel will not interfere with
2326 - * each other.
2327 - *
2328 - * ```js
2329 - * import { test, expect } from '@playwright/test';
2330 - * import fs from 'fs';
2331 - *
2332 - * test('example test', async ({}, testInfo) => {
2333 - * const file = testInfo.outputPath('dir', 'temporary-file.txt');
2334 - * await fs.promises.writeFile(file, 'Put some data to the dir/temporary-file.txt', 'utf8');
2335 - * });
2336 - * ```
2337 - *
2338 - * > Note that `pathSegments` accepts path segments to the test output directory such as
2339 - * `testInfo.outputPath('relative', 'path', 'to', 'output')`.
2340 - * > However, this path must stay within the
2341 - * [testInfo.outputDir](https://playwright.dev/docs/api/class-testinfo#test-info-output-dir) directory for each test
2342 - * (i.e. `test-results/a-test-title`), otherwise it will throw.
2343 - * @param pathSegments Path segments to append at the end of the resulting path.
2344 - */
2345 - outputPath(...pathSegments: ReadonlyArray<string>): string;
2346 -
2347 - /**
2348 - * Changes the timeout for the currently running test. Zero means no timeout. Learn more about
2349 - * [various timeouts](https://playwright.dev/docs/test-timeouts).
2350 - *
2351 - * Timeout is usually specified in the [configuration file](https://playwright.dev/docs/test-configuration), but it could be useful to
2352 - * change the timeout in certain scenarios:
2353 - *
2354 - * ```js
2355 - * import { test, expect } from '@playwright/test';
2356 - *
2357 - * test.beforeEach(async ({ page }, testInfo) => {
2358 - * // Extend timeout for all tests running this hook by 30 seconds.
2359 - * testInfo.setTimeout(testInfo.timeout + 30000);
2360 - * });
2361 - * ```
2362 - *
2363 - * @param timeout Timeout in milliseconds.
2364 - */
2365 - setTimeout(timeout: number): void;
2366 -
2367 - /**
2368 - * Unconditionally skip the currently running test. Test is immediately aborted. This is similar to
2369 - * [test.skip([title, details, body, condition, callback, description])](https://playwright.dev/docs/api/class-test#test-skip).
2370 - */
2371 - skip(): void;
2372 -
2373 - /**
2374 - * Conditionally skips the currently running test with an optional description. This is similar to
2375 - * [test.skip([title, details, body, condition, callback, description])](https://playwright.dev/docs/api/class-test#test-skip).
2376 - * @param condition A skip condition. Test is skipped when the condition is `true`.
2377 - * @param description Optional description that will be reflected in a test report.
2378 - */
2379 - skip(condition: boolean, description?: string): void;
2380 -
2381 - /**
2382 - * Marks the currently running test as "slow", giving it triple the default timeout. This is similar to
2383 - * [test.slow([condition, callback, description])](https://playwright.dev/docs/api/class-test#test-slow).
2384 - */
2385 - slow(): void;
2386 -
2387 - /**
2388 - * Conditionally mark the currently running test as "slow" with an optional description, giving it triple the default
2389 - * timeout. This is similar to
2390 - * [test.slow([condition, callback, description])](https://playwright.dev/docs/api/class-test#test-slow).
2391 - * @param condition Test is marked as "slow" when the condition is `true`.
2392 - * @param description Optional description that will be reflected in a test report.
2393 - */
2394 - slow(condition: boolean, description?: string): void;
2395 -
2396 - /**
2397 - * The list of annotations applicable to the current test. Includes annotations from the test, annotations from all
2398 - * [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe) groups the
2399 - * test belongs to and file-level annotations for the test file.
2400 - *
2401 - * Learn more about [test annotations](https://playwright.dev/docs/test-annotations).
2402 - */
2403 - annotations: Array<{
2404 - /**
2405 - * Annotation type, for example `'skip'` or `'fail'`.
2406 - */
2407 - type: string;
2408 -
2409 - /**
2410 - * Optional description.
2411 - */
2412 - description?: string;
2413 -
2414 - /**
2415 - * Optional location in the source where the annotation is added.
2416 - */
2417 - location?: Location;
2418 - }>;
2419 -
2420 - /**
2421 - * The list of files or buffers attached to the current test. Some reporters show test attachments.
2422 - *
2423 - * To add an attachment, use
2424 - * [testInfo.attach(name[, options])](https://playwright.dev/docs/api/class-testinfo#test-info-attach) instead of
2425 - * directly pushing onto this array.
2426 - */
2427 - attachments: Array<{
2428 - /**
2429 - * Attachment name.
2430 - */
2431 - name: string;
2432 -
2433 - /**
2434 - * Content type of this attachment to properly present in the report, for example `'application/json'` or
2435 - * `'image/png'`.
2436 - */
2437 - contentType: string;
2438 -
2439 - /**
2440 - * Optional path on the filesystem to the attached file.
2441 - */
2442 - path?: string;
2443 -
2444 - /**
2445 - * Optional attachment body used instead of a file.
2446 - */
2447 - body?: Buffer;
2448 - }>;
2449 -
2450 - /**
2451 - * Column number where the currently running test is declared.
2452 - */
2453 - column: number;
2454 -
2455 - /**
2456 - * Processed configuration from the [configuration file](https://playwright.dev/docs/test-configuration).
2457 - */
2458 - config: FullConfig;
2459 -
2460 - /**
2461 - * The number of milliseconds the test took to finish. Always zero before the test finishes, either successfully or
2462 - * not. Can be used in
2463 - * [test.afterEach([title, hookFunction])](https://playwright.dev/docs/api/class-test#test-after-each) hook.
2464 - */
2465 - duration: number;
2466 -
2467 - /**
2468 - * First error thrown during test execution, if any. This is equal to the first element in
2469 - * [testInfo.errors](https://playwright.dev/docs/api/class-testinfo#test-info-errors).
2470 - */
2471 - error?: TestInfoError;
2472 -
2473 - /**
2474 - * Errors thrown during test execution, if any.
2475 - */
2476 - errors: Array<TestInfoError>;
2477 -
2478 - /**
2479 - * Expected status for the currently running test. This is usually `'passed'`, except for a few cases:
2480 - * - `'skipped'` for skipped tests, e.g. with
2481 - * [test.skip([title, details, body, condition, callback, description])](https://playwright.dev/docs/api/class-test#test-skip);
2482 - * - `'failed'` for tests marked as failed with
2483 - * [test.fail([title, details, body, condition, callback, description])](https://playwright.dev/docs/api/class-test#test-fail).
2484 - *
2485 - * Expected status is usually compared with the actual
2486 - * [testInfo.status](https://playwright.dev/docs/api/class-testinfo#test-info-status):
2487 - *
2488 - * ```js
2489 - * import { test, expect } from '@playwright/test';
2490 - *
2491 - * test.afterEach(async ({}, testInfo) => {
2492 - * if (testInfo.status !== testInfo.expectedStatus)
2493 - * console.log(`${testInfo.title} did not run as expected!`);
2494 - * });
2495 - * ```
2496 - *
2497 - */
2498 - expectedStatus: "passed"|"failed"|"timedOut"|"skipped"|"interrupted";
2499 -
2500 - /**
2501 - * Absolute path to a file where the currently running test is declared.
2502 - */
2503 - file: string;
2504 -
2505 - /**
2506 - * Test function as passed to `test(title, testFunction)`.
2507 - */
2508 - fn: Function;
2509 -
2510 - /**
2511 - * Line number where the currently running test is declared.
2512 - */
2513 - line: number;
2514 -
2515 - /**
2516 - * Absolute path to the output directory for this specific test run. Each test run gets its own directory so they
2517 - * cannot conflict.
2518 - */
2519 - outputDir: string;
2520 -
2521 - /**
2522 - * The index of the worker between `0` and `workers - 1`. It is guaranteed that workers running at the same time have
2523 - * a different `parallelIndex`. When a worker is restarted, for example after a failure, the new worker process has
2524 - * the same `parallelIndex`.
2525 - *
2526 - * Also available as `process.env.TEST_PARALLEL_INDEX`. Learn more about
2527 - * [parallelism and sharding](https://playwright.dev/docs/test-parallel) with Playwright Test.
2528 - */
2529 - parallelIndex: number;
2530 -
2531 - /**
2532 - * Processed project configuration from the [configuration file](https://playwright.dev/docs/test-configuration).
2533 - */
2534 - project: FullProject;
2535 -
2536 - /**
2537 - * Specifies a unique repeat index when running in "repeat each" mode. This mode is enabled by passing `--repeat-each`
2538 - * to the [command line](https://playwright.dev/docs/test-cli).
2539 - */
2540 - repeatEachIndex: number;
2541 -
2542 - /**
2543 - * Specifies the retry number when the test is retried after a failure. The first test run has
2544 - * [testInfo.retry](https://playwright.dev/docs/api/class-testinfo#test-info-retry) equal to zero, the first retry has
2545 - * it equal to one, and so on. Learn more about [retries](https://playwright.dev/docs/test-retries#retries).
2546 - *
2547 - * ```js
2548 - * import { test, expect } from '@playwright/test';
2549 - *
2550 - * test.beforeEach(async ({}, testInfo) => {
2551 - * // You can access testInfo.retry in any hook or fixture.
2552 - * if (testInfo.retry > 0)
2553 - * console.log(`Retrying!`);
2554 - * });
2555 - *
2556 - * test('my test', async ({ page }, testInfo) => {
2557 - * // Here we clear some server-side state when retrying.
2558 - * if (testInfo.retry)
2559 - * await cleanSomeCachesOnTheServer();
2560 - * // ...
2561 - * });
2562 - * ```
2563 - *
2564 - */
2565 - retry: number;
2566 -
2567 - /**
2568 - * Absolute path to the snapshot output directory for this specific test. Each test suite gets its own directory so
2569 - * they cannot conflict.
2570 - *
2571 - * This property does not account for the
2572 - * [testProject.snapshotPathTemplate](https://playwright.dev/docs/api/class-testproject#test-project-snapshot-path-template)
2573 - * configuration.
2574 - */
2575 - snapshotDir: string;
2576 -
2577 - /**
2578 - * **NOTE** Use of [testInfo.snapshotSuffix](https://playwright.dev/docs/api/class-testinfo#test-info-snapshot-suffix)
2579 - * is discouraged. Please use
2580 - * [testConfig.snapshotPathTemplate](https://playwright.dev/docs/api/class-testconfig#test-config-snapshot-path-template)
2581 - * to configure snapshot paths.
2582 - *
2583 - * Suffix used to differentiate snapshots between multiple test configurations. For example, if snapshots depend on
2584 - * the platform, you can set `testInfo.snapshotSuffix` equal to `process.platform`. In this case
2585 - * `expect(value).toMatchSnapshot(snapshotName)` will use different snapshots depending on the platform. Learn more
2586 - * about [snapshots](https://playwright.dev/docs/test-snapshots).
2587 - */
2588 - snapshotSuffix: string;
2589 -
2590 - /**
2591 - * Actual status for the currently running test. Available after the test has finished in
2592 - * [test.afterEach([title, hookFunction])](https://playwright.dev/docs/api/class-test#test-after-each) hook and
2593 - * fixtures.
2594 - *
2595 - * Status is usually compared with the
2596 - * [testInfo.expectedStatus](https://playwright.dev/docs/api/class-testinfo#test-info-expected-status):
2597 - *
2598 - * ```js
2599 - * import { test, expect } from '@playwright/test';
2600 - *
2601 - * test.afterEach(async ({}, testInfo) => {
2602 - * if (testInfo.status !== testInfo.expectedStatus)
2603 - * console.log(`${testInfo.title} did not run as expected!`);
2604 - * });
2605 - * ```
2606 - *
2607 - */
2608 - status?: "passed"|"failed"|"timedOut"|"skipped"|"interrupted";
2609 -
2610 - /**
2611 - * Tags that apply to the test. Learn more about [tags](https://playwright.dev/docs/test-annotations#tag-tests).
2612 - *
2613 - * **NOTE** Any changes made to this list while the test is running will not be visible to test reporters.
2614 - *
2615 - */
2616 - tags: Array<string>;
2617 -
2618 - /**
2619 - * Test id matching the test case id in the reporter API.
2620 - */
2621 - testId: string;
2622 -
2623 - /**
2624 - * Timeout in milliseconds for the currently running test. Zero means no timeout. Learn more about
2625 - * [various timeouts](https://playwright.dev/docs/test-timeouts).
2626 - *
2627 - * Timeout is usually specified in the [configuration file](https://playwright.dev/docs/test-configuration)
2628 - *
2629 - * ```js
2630 - * import { test, expect } from '@playwright/test';
2631 - *
2632 - * test.beforeEach(async ({ page }, testInfo) => {
2633 - * // Extend timeout for all tests running this hook by 30 seconds.
2634 - * testInfo.setTimeout(testInfo.timeout + 30000);
2635 - * });
2636 - * ```
2637 - *
2638 - */
2639 - timeout: number;
2640 -
2641 - /**
2642 - * The title of the currently running test as passed to `test(title, testFunction)`.
2643 - */
2644 - title: string;
2645 -
2646 - /**
2647 - * The full title path starting with the test file name.
2648 - */
2649 - titlePath: Array<string>;
2650 -
2651 - /**
2652 - * The unique index of the worker process that is running the test. When a worker is restarted, for example after a
2653 - * failure, the new worker process gets a new unique `workerIndex`.
2654 - *
2655 - * Also available as `process.env.TEST_WORKER_INDEX`. Learn more about [parallelism and sharding](https://playwright.dev/docs/test-parallel)
2656 - * with Playwright Test.
2657 - */
2658 - workerIndex: number;
2659 -}
2660 -
2661 -export type TestStatus = 'passed' | 'failed' | 'timedOut' | 'skipped' | 'interrupted';
2662 -
2663 -export type TestDetailsAnnotation = {
2664 - type: string;
2665 - description?: string;
2666 -};
2667 -
2668 -export type TestAnnotation = TestDetailsAnnotation & {
2669 - location?: Location;
2670 -};
2671 -
2672 -export type TestDetails = {
2673 - tag?: string | string[];
2674 - annotation?: TestDetailsAnnotation | TestDetailsAnnotation[];
2675 -}
2676 -
2677 -type TestBody<TestArgs> = (args: TestArgs, testInfo: TestInfo) => Promise<void> | void;
2678 -type ConditionBody<TestArgs> = (args: TestArgs) => boolean;
2679 -
2680 -/**
2681 - * Playwright Test provides a `test` function to declare tests and `expect` function to write assertions.
2682 - *
2683 - * ```js
2684 - * import { test, expect } from '@playwright/test';
2685 - *
2686 - * test('basic test', async ({ page }) => {
2687 - * await page.goto('https://playwright.dev/');
2688 - * const name = await page.innerText('.navbar__title');
2689 - * expect(name).toBe('Playwright');
2690 - * });
2691 - * ```
2692 - *
2693 - */
2694 -export interface TestType<TestArgs extends {}, WorkerArgs extends {}> {
2695 - /**
2696 - * Declares a test.
2697 - * - `test(title, body)`
2698 - * - `test(title, details, body)`
2699 - *
2700 - * **Usage**
2701 - *
2702 - * ```js
2703 - * import { test, expect } from '@playwright/test';
2704 - *
2705 - * test('basic test', async ({ page }) => {
2706 - * await page.goto('https://playwright.dev/');
2707 - * // ...
2708 - * });
2709 - * ```
2710 - *
2711 - * **Tags**
2712 - *
2713 - * You can tag tests by providing additional test details. Alternatively, you can include tags in the test title. Note
2714 - * that each tag must start with `@` symbol.
2715 - *
2716 - * ```js
2717 - * import { test, expect } from '@playwright/test';
2718 - *
2719 - * test('basic test', {
2720 - * tag: '@smoke',
2721 - * }, async ({ page }) => {
2722 - * await page.goto('https://playwright.dev/');
2723 - * // ...
2724 - * });
2725 - *
2726 - * test('another test @smoke', async ({ page }) => {
2727 - * await page.goto('https://playwright.dev/');
2728 - * // ...
2729 - * });
2730 - * ```
2731 - *
2732 - * Test tags are displayed in the test report, and are available to a custom reporter via `TestCase.tags` property.
2733 - *
2734 - * You can also filter tests by their tags during test execution:
2735 - * - in the [command line](https://playwright.dev/docs/test-cli#all-options);
2736 - * - in the config with [testConfig.grep](https://playwright.dev/docs/api/class-testconfig#test-config-grep) and
2737 - * [testProject.grep](https://playwright.dev/docs/api/class-testproject#test-project-grep);
2738 - *
2739 - * Learn more about [tagging](https://playwright.dev/docs/test-annotations#tag-tests).
2740 - *
2741 - * **Annotations**
2742 - *
2743 - * You can annotate tests by providing additional test details.
2744 - *
2745 - * ```js
2746 - * import { test, expect } from '@playwright/test';
2747 - *
2748 - * test('basic test', {
2749 - * annotation: {
2750 - * type: 'issue',
2751 - * description: 'https://github.com/microsoft/playwright/issues/23180',
2752 - * },
2753 - * }, async ({ page }) => {
2754 - * await page.goto('https://playwright.dev/');
2755 - * // ...
2756 - * });
2757 - * ```
2758 - *
2759 - * Test annotations are displayed in the test report, and are available to a custom reporter via
2760 - * `TestCase.annotations` property.
2761 - *
2762 - * You can also add annotations during runtime by manipulating
2763 - * [testInfo.annotations](https://playwright.dev/docs/api/class-testinfo#test-info-annotations).
2764 - *
2765 - * Learn more about [test annotations](https://playwright.dev/docs/test-annotations).
2766 - * @param title Test title.
2767 - * @param details Additional test details.
2768 - * @param body Test body that takes one or two arguments: an object with fixtures and optional
2769 - * [TestInfo](https://playwright.dev/docs/api/class-testinfo).
2770 - */
2771 - (title: string, body: TestBody<TestArgs & WorkerArgs>): void;
2772 - /**
2773 - * Declares a test.
2774 - * - `test(title, body)`
2775 - * - `test(title, details, body)`
2776 - *
2777 - * **Usage**
2778 - *
2779 - * ```js
2780 - * import { test, expect } from '@playwright/test';
2781 - *
2782 - * test('basic test', async ({ page }) => {
2783 - * await page.goto('https://playwright.dev/');
2784 - * // ...
2785 - * });
2786 - * ```
2787 - *
2788 - * **Tags**
2789 - *
2790 - * You can tag tests by providing additional test details. Alternatively, you can include tags in the test title. Note
2791 - * that each tag must start with `@` symbol.
2792 - *
2793 - * ```js
2794 - * import { test, expect } from '@playwright/test';
2795 - *
2796 - * test('basic test', {
2797 - * tag: '@smoke',
2798 - * }, async ({ page }) => {
2799 - * await page.goto('https://playwright.dev/');
2800 - * // ...
2801 - * });
2802 - *
2803 - * test('another test @smoke', async ({ page }) => {
2804 - * await page.goto('https://playwright.dev/');
2805 - * // ...
2806 - * });
2807 - * ```
2808 - *
2809 - * Test tags are displayed in the test report, and are available to a custom reporter via `TestCase.tags` property.
2810 - *
2811 - * You can also filter tests by their tags during test execution:
2812 - * - in the [command line](https://playwright.dev/docs/test-cli#all-options);
2813 - * - in the config with [testConfig.grep](https://playwright.dev/docs/api/class-testconfig#test-config-grep) and
2814 - * [testProject.grep](https://playwright.dev/docs/api/class-testproject#test-project-grep);
2815 - *
2816 - * Learn more about [tagging](https://playwright.dev/docs/test-annotations#tag-tests).
2817 - *
2818 - * **Annotations**
2819 - *
2820 - * You can annotate tests by providing additional test details.
2821 - *
2822 - * ```js
2823 - * import { test, expect } from '@playwright/test';
2824 - *
2825 - * test('basic test', {
2826 - * annotation: {
2827 - * type: 'issue',
2828 - * description: 'https://github.com/microsoft/playwright/issues/23180',
2829 - * },
2830 - * }, async ({ page }) => {
2831 - * await page.goto('https://playwright.dev/');
2832 - * // ...
2833 - * });
2834 - * ```
2835 - *
2836 - * Test annotations are displayed in the test report, and are available to a custom reporter via
2837 - * `TestCase.annotations` property.
2838 - *
2839 - * You can also add annotations during runtime by manipulating
2840 - * [testInfo.annotations](https://playwright.dev/docs/api/class-testinfo#test-info-annotations).
2841 - *
2842 - * Learn more about [test annotations](https://playwright.dev/docs/test-annotations).
2843 - * @param title Test title.
2844 - * @param details Additional test details.
2845 - * @param body Test body that takes one or two arguments: an object with fixtures and optional
2846 - * [TestInfo](https://playwright.dev/docs/api/class-testinfo).
2847 - */
2848 - (title: string, details: TestDetails, body: TestBody<TestArgs & WorkerArgs>): void;
2849 -
2850 - /**
2851 - * Declares a focused test. If there are some focused tests or suites, all of them will be run but nothing else.
2852 - * - `test.only(title, body)`
2853 - * - `test.only(title, details, body)`
2854 - *
2855 - * **Usage**
2856 - *
2857 - * ```js
2858 - * test.only('focus this test', async ({ page }) => {
2859 - * // Run only focused tests in the entire project.
2860 - * });
2861 - * ```
2862 - *
2863 - * @param title Test title.
2864 - * @param details See [test.(call)(title[, details, body])](https://playwright.dev/docs/api/class-test#test-call) for test details
2865 - * description.
2866 - * @param body Test body that takes one or two arguments: an object with fixtures and optional
2867 - * [TestInfo](https://playwright.dev/docs/api/class-testinfo).
2868 - */
2869 - only(title: string, body: TestBody<TestArgs & WorkerArgs>): void;
2870 - /**
2871 - * Declares a focused test. If there are some focused tests or suites, all of them will be run but nothing else.
2872 - * - `test.only(title, body)`
2873 - * - `test.only(title, details, body)`
2874 - *
2875 - * **Usage**
2876 - *
2877 - * ```js
2878 - * test.only('focus this test', async ({ page }) => {
2879 - * // Run only focused tests in the entire project.
2880 - * });
2881 - * ```
2882 - *
2883 - * @param title Test title.
2884 - * @param details See [test.(call)(title[, details, body])](https://playwright.dev/docs/api/class-test#test-call) for test details
2885 - * description.
2886 - * @param body Test body that takes one or two arguments: an object with fixtures and optional
2887 - * [TestInfo](https://playwright.dev/docs/api/class-testinfo).
2888 - */
2889 - only(title: string, details: TestDetails, body: TestBody<TestArgs & WorkerArgs>): void;
2890 -
2891 - /**
2892 - * Declares a group of tests.
2893 - * - `test.describe(title, callback)`
2894 - * - `test.describe(callback)`
2895 - * - `test.describe(title, details, callback)`
2896 - *
2897 - * **Usage**
2898 - *
2899 - * You can declare a group of tests with a title. The title will be visible in the test report as a part of each
2900 - * test's title.
2901 - *
2902 - * ```js
2903 - * test.describe('two tests', () => {
2904 - * test('one', async ({ page }) => {
2905 - * // ...
2906 - * });
2907 - *
2908 - * test('two', async ({ page }) => {
2909 - * // ...
2910 - * });
2911 - * });
2912 - * ```
2913 - *
2914 - * **Anonymous group**
2915 - *
2916 - * You can also declare a test group without a title. This is convenient to give a group of tests a common option with
2917 - * [test.use(options)](https://playwright.dev/docs/api/class-test#test-use).
2918 - *
2919 - * ```js
2920 - * test.describe(() => {
2921 - * test.use({ colorScheme: 'dark' });
2922 - *
2923 - * test('one', async ({ page }) => {
2924 - * // ...
2925 - * });
2926 - *
2927 - * test('two', async ({ page }) => {
2928 - * // ...
2929 - * });
2930 - * });
2931 - * ```
2932 - *
2933 - * **Tags**
2934 - *
2935 - * You can tag all tests in a group by providing additional details. Note that each tag must start with `@` symbol.
2936 - *
2937 - * ```js
2938 - * import { test, expect } from '@playwright/test';
2939 - *
2940 - * test.describe('two tagged tests', {
2941 - * tag: '@smoke',
2942 - * }, () => {
2943 - * test('one', async ({ page }) => {
2944 - * // ...
2945 - * });
2946 - *
2947 - * test('two', async ({ page }) => {
2948 - * // ...
2949 - * });
2950 - * });
2951 - * ```
2952 - *
2953 - * Learn more about [tagging](https://playwright.dev/docs/test-annotations#tag-tests).
2954 - *
2955 - * **Annotations**
2956 - *
2957 - * You can annotate all tests in a group by providing additional details.
2958 - *
2959 - * ```js
2960 - * import { test, expect } from '@playwright/test';
2961 - *
2962 - * test.describe('two annotated tests', {
2963 - * annotation: {
2964 - * type: 'issue',
2965 - * description: 'https://github.com/microsoft/playwright/issues/23180',
2966 - * },
2967 - * }, () => {
2968 - * test('one', async ({ page }) => {
2969 - * // ...
2970 - * });
2971 - *
2972 - * test('two', async ({ page }) => {
2973 - * // ...
2974 - * });
2975 - * });
2976 - * ```
2977 - *
2978 - * Learn more about [test annotations](https://playwright.dev/docs/test-annotations).
2979 - * @param title Group title.
2980 - * @param details Additional details for all tests in the group.
2981 - * @param callback A callback that is run immediately when calling
2982 - * [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe). Any tests
2983 - * declared in this callback will belong to the group.
2984 - */
2985 - describe: {
2986 - /**
2987 - * Declares a group of tests.
2988 - * - `test.describe(title, callback)`
2989 - * - `test.describe(callback)`
2990 - * - `test.describe(title, details, callback)`
2991 - *
2992 - * **Usage**
2993 - *
2994 - * You can declare a group of tests with a title. The title will be visible in the test report as a part of each
2995 - * test's title.
2996 - *
2997 - * ```js
2998 - * test.describe('two tests', () => {
2999 - * test('one', async ({ page }) => {
3000 - * // ...
3001 - * });
3002 - *
3003 - * test('two', async ({ page }) => {
3004 - * // ...
3005 - * });
3006 - * });
3007 - * ```
3008 - *
3009 - * **Anonymous group**
3010 - *
3011 - * You can also declare a test group without a title. This is convenient to give a group of tests a common option with
3012 - * [test.use(options)](https://playwright.dev/docs/api/class-test#test-use).
3013 - *
3014 - * ```js
3015 - * test.describe(() => {
3016 - * test.use({ colorScheme: 'dark' });
3017 - *
3018 - * test('one', async ({ page }) => {
3019 - * // ...
3020 - * });
3021 - *
3022 - * test('two', async ({ page }) => {
3023 - * // ...
3024 - * });
3025 - * });
3026 - * ```
3027 - *
3028 - * **Tags**
3029 - *
3030 - * You can tag all tests in a group by providing additional details. Note that each tag must start with `@` symbol.
3031 - *
3032 - * ```js
3033 - * import { test, expect } from '@playwright/test';
3034 - *
3035 - * test.describe('two tagged tests', {
3036 - * tag: '@smoke',
3037 - * }, () => {
3038 - * test('one', async ({ page }) => {
3039 - * // ...
3040 - * });
3041 - *
3042 - * test('two', async ({ page }) => {
3043 - * // ...
3044 - * });
3045 - * });
3046 - * ```
3047 - *
3048 - * Learn more about [tagging](https://playwright.dev/docs/test-annotations#tag-tests).
3049 - *
3050 - * **Annotations**
3051 - *
3052 - * You can annotate all tests in a group by providing additional details.
3053 - *
3054 - * ```js
3055 - * import { test, expect } from '@playwright/test';
3056 - *
3057 - * test.describe('two annotated tests', {
3058 - * annotation: {
3059 - * type: 'issue',
3060 - * description: 'https://github.com/microsoft/playwright/issues/23180',
3061 - * },
3062 - * }, () => {
3063 - * test('one', async ({ page }) => {
3064 - * // ...
3065 - * });
3066 - *
3067 - * test('two', async ({ page }) => {
3068 - * // ...
3069 - * });
3070 - * });
3071 - * ```
3072 - *
3073 - * Learn more about [test annotations](https://playwright.dev/docs/test-annotations).
3074 - * @param title Group title.
3075 - * @param details Additional details for all tests in the group.
3076 - * @param callback A callback that is run immediately when calling
3077 - * [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe). Any tests
3078 - * declared in this callback will belong to the group.
3079 - */
3080 - (title: string, callback: () => void): void;
3081 - /**
3082 - * Declares a group of tests.
3083 - * - `test.describe(title, callback)`
3084 - * - `test.describe(callback)`
3085 - * - `test.describe(title, details, callback)`
3086 - *
3087 - * **Usage**
3088 - *
3089 - * You can declare a group of tests with a title. The title will be visible in the test report as a part of each
3090 - * test's title.
3091 - *
3092 - * ```js
3093 - * test.describe('two tests', () => {
3094 - * test('one', async ({ page }) => {
3095 - * // ...
3096 - * });
3097 - *
3098 - * test('two', async ({ page }) => {
3099 - * // ...
3100 - * });
3101 - * });
3102 - * ```
3103 - *
3104 - * **Anonymous group**
3105 - *
3106 - * You can also declare a test group without a title. This is convenient to give a group of tests a common option with
3107 - * [test.use(options)](https://playwright.dev/docs/api/class-test#test-use).
3108 - *
3109 - * ```js
3110 - * test.describe(() => {
3111 - * test.use({ colorScheme: 'dark' });
3112 - *
3113 - * test('one', async ({ page }) => {
3114 - * // ...
3115 - * });
3116 - *
3117 - * test('two', async ({ page }) => {
3118 - * // ...
3119 - * });
3120 - * });
3121 - * ```
3122 - *
3123 - * **Tags**
3124 - *
3125 - * You can tag all tests in a group by providing additional details. Note that each tag must start with `@` symbol.
3126 - *
3127 - * ```js
3128 - * import { test, expect } from '@playwright/test';
3129 - *
3130 - * test.describe('two tagged tests', {
3131 - * tag: '@smoke',
3132 - * }, () => {
3133 - * test('one', async ({ page }) => {
3134 - * // ...
3135 - * });
3136 - *
3137 - * test('two', async ({ page }) => {
3138 - * // ...
3139 - * });
3140 - * });
3141 - * ```
3142 - *
3143 - * Learn more about [tagging](https://playwright.dev/docs/test-annotations#tag-tests).
3144 - *
3145 - * **Annotations**
3146 - *
3147 - * You can annotate all tests in a group by providing additional details.
3148 - *
3149 - * ```js
3150 - * import { test, expect } from '@playwright/test';
3151 - *
3152 - * test.describe('two annotated tests', {
3153 - * annotation: {
3154 - * type: 'issue',
3155 - * description: 'https://github.com/microsoft/playwright/issues/23180',
3156 - * },
3157 - * }, () => {
3158 - * test('one', async ({ page }) => {
3159 - * // ...
3160 - * });
3161 - *
3162 - * test('two', async ({ page }) => {
3163 - * // ...
3164 - * });
3165 - * });
3166 - * ```
3167 - *
3168 - * Learn more about [test annotations](https://playwright.dev/docs/test-annotations).
3169 - * @param title Group title.
3170 - * @param details Additional details for all tests in the group.
3171 - * @param callback A callback that is run immediately when calling
3172 - * [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe). Any tests
3173 - * declared in this callback will belong to the group.
3174 - */
3175 - (callback: () => void): void;
3176 - /**
3177 - * Declares a group of tests.
3178 - * - `test.describe(title, callback)`
3179 - * - `test.describe(callback)`
3180 - * - `test.describe(title, details, callback)`
3181 - *
3182 - * **Usage**
3183 - *
3184 - * You can declare a group of tests with a title. The title will be visible in the test report as a part of each
3185 - * test's title.
3186 - *
3187 - * ```js
3188 - * test.describe('two tests', () => {
3189 - * test('one', async ({ page }) => {
3190 - * // ...
3191 - * });
3192 - *
3193 - * test('two', async ({ page }) => {
3194 - * // ...
3195 - * });
3196 - * });
3197 - * ```
3198 - *
3199 - * **Anonymous group**
3200 - *
3201 - * You can also declare a test group without a title. This is convenient to give a group of tests a common option with
3202 - * [test.use(options)](https://playwright.dev/docs/api/class-test#test-use).
3203 - *
3204 - * ```js
3205 - * test.describe(() => {
3206 - * test.use({ colorScheme: 'dark' });
3207 - *
3208 - * test('one', async ({ page }) => {
3209 - * // ...
3210 - * });
3211 - *
3212 - * test('two', async ({ page }) => {
3213 - * // ...
3214 - * });
3215 - * });
3216 - * ```
3217 - *
3218 - * **Tags**
3219 - *
3220 - * You can tag all tests in a group by providing additional details. Note that each tag must start with `@` symbol.
3221 - *
3222 - * ```js
3223 - * import { test, expect } from '@playwright/test';
3224 - *
3225 - * test.describe('two tagged tests', {
3226 - * tag: '@smoke',
3227 - * }, () => {
3228 - * test('one', async ({ page }) => {
3229 - * // ...
3230 - * });
3231 - *
3232 - * test('two', async ({ page }) => {
3233 - * // ...
3234 - * });
3235 - * });
3236 - * ```
3237 - *
3238 - * Learn more about [tagging](https://playwright.dev/docs/test-annotations#tag-tests).
3239 - *
3240 - * **Annotations**
3241 - *
3242 - * You can annotate all tests in a group by providing additional details.
3243 - *
3244 - * ```js
3245 - * import { test, expect } from '@playwright/test';
3246 - *
3247 - * test.describe('two annotated tests', {
3248 - * annotation: {
3249 - * type: 'issue',
3250 - * description: 'https://github.com/microsoft/playwright/issues/23180',
3251 - * },
3252 - * }, () => {
3253 - * test('one', async ({ page }) => {
3254 - * // ...
3255 - * });
3256 - *
3257 - * test('two', async ({ page }) => {
3258 - * // ...
3259 - * });
3260 - * });
3261 - * ```
3262 - *
3263 - * Learn more about [test annotations](https://playwright.dev/docs/test-annotations).
3264 - * @param title Group title.
3265 - * @param details Additional details for all tests in the group.
3266 - * @param callback A callback that is run immediately when calling
3267 - * [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe). Any tests
3268 - * declared in this callback will belong to the group.
3269 - */
3270 - (title: string, details: TestDetails, callback: () => void): void;
3271 -
3272 - /**
3273 - * Declares a focused group of tests. If there are some focused tests or suites, all of them will be run but nothing
3274 - * else.
3275 - * - `test.describe.only(title, callback)`
3276 - * - `test.describe.only(callback)`
3277 - * - `test.describe.only(title, details, callback)`
3278 - *
3279 - * **Usage**
3280 - *
3281 - * ```js
3282 - * test.describe.only('focused group', () => {
3283 - * test('in the focused group', async ({ page }) => {
3284 - * // This test will run
3285 - * });
3286 - * });
3287 - * test('not in the focused group', async ({ page }) => {
3288 - * // This test will not run
3289 - * });
3290 - * ```
3291 - *
3292 - * You can also omit the title.
3293 - *
3294 - * ```js
3295 - * test.describe.only(() => {
3296 - * // ...
3297 - * });
3298 - * ```
3299 - *
3300 - * @param title Group title.
3301 - * @param details See [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe) for
3302 - * details description.
3303 - * @param callback A callback that is run immediately when calling
3304 - * [test.describe.only([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe-only).
3305 - * Any tests added in this callback will belong to the group.
3306 - */
3307 - only(title: string, callback: () => void): void;
3308 - /**
3309 - * Declares a focused group of tests. If there are some focused tests or suites, all of them will be run but nothing
3310 - * else.
3311 - * - `test.describe.only(title, callback)`
3312 - * - `test.describe.only(callback)`
3313 - * - `test.describe.only(title, details, callback)`
3314 - *
3315 - * **Usage**
3316 - *
3317 - * ```js
3318 - * test.describe.only('focused group', () => {
3319 - * test('in the focused group', async ({ page }) => {
3320 - * // This test will run
3321 - * });
3322 - * });
3323 - * test('not in the focused group', async ({ page }) => {
3324 - * // This test will not run
3325 - * });
3326 - * ```
3327 - *
3328 - * You can also omit the title.
3329 - *
3330 - * ```js
3331 - * test.describe.only(() => {
3332 - * // ...
3333 - * });
3334 - * ```
3335 - *
3336 - * @param title Group title.
3337 - * @param details See [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe) for
3338 - * details description.
3339 - * @param callback A callback that is run immediately when calling
3340 - * [test.describe.only([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe-only).
3341 - * Any tests added in this callback will belong to the group.
3342 - */
3343 - only(callback: () => void): void;
3344 - /**
3345 - * Declares a focused group of tests. If there are some focused tests or suites, all of them will be run but nothing
3346 - * else.
3347 - * - `test.describe.only(title, callback)`
3348 - * - `test.describe.only(callback)`
3349 - * - `test.describe.only(title, details, callback)`
3350 - *
3351 - * **Usage**
3352 - *
3353 - * ```js
3354 - * test.describe.only('focused group', () => {
3355 - * test('in the focused group', async ({ page }) => {
3356 - * // This test will run
3357 - * });
3358 - * });
3359 - * test('not in the focused group', async ({ page }) => {
3360 - * // This test will not run
3361 - * });
3362 - * ```
3363 - *
3364 - * You can also omit the title.
3365 - *
3366 - * ```js
3367 - * test.describe.only(() => {
3368 - * // ...
3369 - * });
3370 - * ```
3371 - *
3372 - * @param title Group title.
3373 - * @param details See [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe) for
3374 - * details description.
3375 - * @param callback A callback that is run immediately when calling
3376 - * [test.describe.only([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe-only).
3377 - * Any tests added in this callback will belong to the group.
3378 - */
3379 - only(title: string, details: TestDetails, callback: () => void): void;
3380 -
3381 - /**
3382 - * Declares a skipped test group, similarly to
3383 - * [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe). Tests in the
3384 - * skipped group are never run.
3385 - * - `test.describe.skip(title, callback)`
3386 - * - `test.describe.skip(title)`
3387 - * - `test.describe.skip(title, details, callback)`
3388 - *
3389 - * **Usage**
3390 - *
3391 - * ```js
3392 - * test.describe.skip('skipped group', () => {
3393 - * test('example', async ({ page }) => {
3394 - * // This test will not run
3395 - * });
3396 - * });
3397 - * ```
3398 - *
3399 - * You can also omit the title.
3400 - *
3401 - * ```js
3402 - * test.describe.skip(() => {
3403 - * // ...
3404 - * });
3405 - * ```
3406 - *
3407 - * @param title Group title.
3408 - * @param details See [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe) for
3409 - * details description.
3410 - * @param callback A callback that is run immediately when calling
3411 - * [test.describe.skip(title[, details, callback])](https://playwright.dev/docs/api/class-test#test-describe-skip).
3412 - * Any tests added in this callback will belong to the group, and will not be run.
3413 - */
3414 - skip(title: string, callback: () => void): void;
3415 - /**
3416 - * Declares a skipped test group, similarly to
3417 - * [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe). Tests in the
3418 - * skipped group are never run.
3419 - * - `test.describe.skip(title, callback)`
3420 - * - `test.describe.skip(title)`
3421 - * - `test.describe.skip(title, details, callback)`
3422 - *
3423 - * **Usage**
3424 - *
3425 - * ```js
3426 - * test.describe.skip('skipped group', () => {
3427 - * test('example', async ({ page }) => {
3428 - * // This test will not run
3429 - * });
3430 - * });
3431 - * ```
3432 - *
3433 - * You can also omit the title.
3434 - *
3435 - * ```js
3436 - * test.describe.skip(() => {
3437 - * // ...
3438 - * });
3439 - * ```
3440 - *
3441 - * @param title Group title.
3442 - * @param details See [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe) for
3443 - * details description.
3444 - * @param callback A callback that is run immediately when calling
3445 - * [test.describe.skip(title[, details, callback])](https://playwright.dev/docs/api/class-test#test-describe-skip).
3446 - * Any tests added in this callback will belong to the group, and will not be run.
3447 - */
3448 - skip(callback: () => void): void;
3449 - /**
3450 - * Declares a skipped test group, similarly to
3451 - * [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe). Tests in the
3452 - * skipped group are never run.
3453 - * - `test.describe.skip(title, callback)`
3454 - * - `test.describe.skip(title)`
3455 - * - `test.describe.skip(title, details, callback)`
3456 - *
3457 - * **Usage**
3458 - *
3459 - * ```js
3460 - * test.describe.skip('skipped group', () => {
3461 - * test('example', async ({ page }) => {
3462 - * // This test will not run
3463 - * });
3464 - * });
3465 - * ```
3466 - *
3467 - * You can also omit the title.
3468 - *
3469 - * ```js
3470 - * test.describe.skip(() => {
3471 - * // ...
3472 - * });
3473 - * ```
3474 - *
3475 - * @param title Group title.
3476 - * @param details See [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe) for
3477 - * details description.
3478 - * @param callback A callback that is run immediately when calling
3479 - * [test.describe.skip(title[, details, callback])](https://playwright.dev/docs/api/class-test#test-describe-skip).
3480 - * Any tests added in this callback will belong to the group, and will not be run.
3481 - */
3482 - skip(title: string, details: TestDetails, callback: () => void): void;
3483 -
3484 - /**
3485 - * Declares a test group similarly to
3486 - * [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe). Tests in
3487 - * this group are marked as "fixme" and will not be executed.
3488 - * - `test.describe.fixme(title, callback)`
3489 - * - `test.describe.fixme(callback)`
3490 - * - `test.describe.fixme(title, details, callback)`
3491 - *
3492 - * **Usage**
3493 - *
3494 - * ```js
3495 - * test.describe.fixme('broken tests that should be fixed', () => {
3496 - * test('example', async ({ page }) => {
3497 - * // This test will not run
3498 - * });
3499 - * });
3500 - * ```
3501 - *
3502 - * You can also omit the title.
3503 - *
3504 - * ```js
3505 - * test.describe.fixme(() => {
3506 - * // ...
3507 - * });
3508 - * ```
3509 - *
3510 - * @param title Group title.
3511 - * @param details See [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe) for
3512 - * details description.
3513 - * @param callback A callback that is run immediately when calling
3514 - * [test.describe.fixme([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe-fixme).
3515 - * Any tests added in this callback will belong to the group, and will not be run.
3516 - */
3517 - fixme(title: string, callback: () => void): void;
3518 - /**
3519 - * Declares a test group similarly to
3520 - * [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe). Tests in
3521 - * this group are marked as "fixme" and will not be executed.
3522 - * - `test.describe.fixme(title, callback)`
3523 - * - `test.describe.fixme(callback)`
3524 - * - `test.describe.fixme(title, details, callback)`
3525 - *
3526 - * **Usage**
3527 - *
3528 - * ```js
3529 - * test.describe.fixme('broken tests that should be fixed', () => {
3530 - * test('example', async ({ page }) => {
3531 - * // This test will not run
3532 - * });
3533 - * });
3534 - * ```
3535 - *
3536 - * You can also omit the title.
3537 - *
3538 - * ```js
3539 - * test.describe.fixme(() => {
3540 - * // ...
3541 - * });
3542 - * ```
3543 - *
3544 - * @param title Group title.
3545 - * @param details See [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe) for
3546 - * details description.
3547 - * @param callback A callback that is run immediately when calling
3548 - * [test.describe.fixme([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe-fixme).
3549 - * Any tests added in this callback will belong to the group, and will not be run.
3550 - */
3551 - fixme(callback: () => void): void;
3552 - /**
3553 - * Declares a test group similarly to
3554 - * [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe). Tests in
3555 - * this group are marked as "fixme" and will not be executed.
3556 - * - `test.describe.fixme(title, callback)`
3557 - * - `test.describe.fixme(callback)`
3558 - * - `test.describe.fixme(title, details, callback)`
3559 - *
3560 - * **Usage**
3561 - *
3562 - * ```js
3563 - * test.describe.fixme('broken tests that should be fixed', () => {
3564 - * test('example', async ({ page }) => {
3565 - * // This test will not run
3566 - * });
3567 - * });
3568 - * ```
3569 - *
3570 - * You can also omit the title.
3571 - *
3572 - * ```js
3573 - * test.describe.fixme(() => {
3574 - * // ...
3575 - * });
3576 - * ```
3577 - *
3578 - * @param title Group title.
3579 - * @param details See [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe) for
3580 - * details description.
3581 - * @param callback A callback that is run immediately when calling
3582 - * [test.describe.fixme([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe-fixme).
3583 - * Any tests added in this callback will belong to the group, and will not be run.
3584 - */
3585 - fixme(title: string, details: TestDetails, callback: () => void): void;
3586 -
3587 - /**
3588 - * **NOTE** See [test.describe.configure([options])](https://playwright.dev/docs/api/class-test#test-describe-configure) for
3589 - * the preferred way of configuring the execution mode.
3590 - *
3591 - * Declares a group of tests that should always be run serially. If one of the tests fails, all subsequent tests are
3592 - * skipped. All tests in a group are retried together.
3593 - *
3594 - * **NOTE** Using serial is not recommended. It is usually better to make your tests isolated, so they can be run
3595 - * independently.
3596 - *
3597 - * - `test.describe.serial(title, callback)`
3598 - * - `test.describe.serial(title)`
3599 - * - `test.describe.serial(title, details, callback)`
3600 - *
3601 - * **Usage**
3602 - *
3603 - * ```js
3604 - * test.describe.serial('group', () => {
3605 - * test('runs first', async ({ page }) => {});
3606 - * test('runs second', async ({ page }) => {});
3607 - * });
3608 - * ```
3609 - *
3610 - * You can also omit the title.
3611 - *
3612 - * ```js
3613 - * test.describe.serial(() => {
3614 - * // ...
3615 - * });
3616 - * ```
3617 - *
3618 - * @param title Group title.
3619 - * @param details See [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe) for
3620 - * details description.
3621 - * @param callback A callback that is run immediately when calling
3622 - * [test.describe.serial([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe-serial).
3623 - * Any tests added in this callback will belong to the group.
3624 - */
3625 - serial: {
3626 - /**
3627 - * **NOTE** See [test.describe.configure([options])](https://playwright.dev/docs/api/class-test#test-describe-configure) for
3628 - * the preferred way of configuring the execution mode.
3629 - *
3630 - * Declares a group of tests that should always be run serially. If one of the tests fails, all subsequent tests are
3631 - * skipped. All tests in a group are retried together.
3632 - *
3633 - * **NOTE** Using serial is not recommended. It is usually better to make your tests isolated, so they can be run
3634 - * independently.
3635 - *
3636 - * - `test.describe.serial(title, callback)`
3637 - * - `test.describe.serial(title)`
3638 - * - `test.describe.serial(title, details, callback)`
3639 - *
3640 - * **Usage**
3641 - *
3642 - * ```js
3643 - * test.describe.serial('group', () => {
3644 - * test('runs first', async ({ page }) => {});
3645 - * test('runs second', async ({ page }) => {});
3646 - * });
3647 - * ```
3648 - *
3649 - * You can also omit the title.
3650 - *
3651 - * ```js
3652 - * test.describe.serial(() => {
3653 - * // ...
3654 - * });
3655 - * ```
3656 - *
3657 - * @param title Group title.
3658 - * @param details See [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe) for
3659 - * details description.
3660 - * @param callback A callback that is run immediately when calling
3661 - * [test.describe.serial([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe-serial).
3662 - * Any tests added in this callback will belong to the group.
3663 - */
3664 - (title: string, callback: () => void): void;
3665 - /**
3666 - * **NOTE** See [test.describe.configure([options])](https://playwright.dev/docs/api/class-test#test-describe-configure) for
3667 - * the preferred way of configuring the execution mode.
3668 - *
3669 - * Declares a group of tests that should always be run serially. If one of the tests fails, all subsequent tests are
3670 - * skipped. All tests in a group are retried together.
3671 - *
3672 - * **NOTE** Using serial is not recommended. It is usually better to make your tests isolated, so they can be run
3673 - * independently.
3674 - *
3675 - * - `test.describe.serial(title, callback)`
3676 - * - `test.describe.serial(title)`
3677 - * - `test.describe.serial(title, details, callback)`
3678 - *
3679 - * **Usage**
3680 - *
3681 - * ```js
3682 - * test.describe.serial('group', () => {
3683 - * test('runs first', async ({ page }) => {});
3684 - * test('runs second', async ({ page }) => {});
3685 - * });
3686 - * ```
3687 - *
3688 - * You can also omit the title.
3689 - *
3690 - * ```js
3691 - * test.describe.serial(() => {
3692 - * // ...
3693 - * });
3694 - * ```
3695 - *
3696 - * @param title Group title.
3697 - * @param details See [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe) for
3698 - * details description.
3699 - * @param callback A callback that is run immediately when calling
3700 - * [test.describe.serial([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe-serial).
3701 - * Any tests added in this callback will belong to the group.
3702 - */
3703 - (callback: () => void): void;
3704 - /**
3705 - * **NOTE** See [test.describe.configure([options])](https://playwright.dev/docs/api/class-test#test-describe-configure) for
3706 - * the preferred way of configuring the execution mode.
3707 - *
3708 - * Declares a group of tests that should always be run serially. If one of the tests fails, all subsequent tests are
3709 - * skipped. All tests in a group are retried together.
3710 - *
3711 - * **NOTE** Using serial is not recommended. It is usually better to make your tests isolated, so they can be run
3712 - * independently.
3713 - *
3714 - * - `test.describe.serial(title, callback)`
3715 - * - `test.describe.serial(title)`
3716 - * - `test.describe.serial(title, details, callback)`
3717 - *
3718 - * **Usage**
3719 - *
3720 - * ```js
3721 - * test.describe.serial('group', () => {
3722 - * test('runs first', async ({ page }) => {});
3723 - * test('runs second', async ({ page }) => {});
3724 - * });
3725 - * ```
3726 - *
3727 - * You can also omit the title.
3728 - *
3729 - * ```js
3730 - * test.describe.serial(() => {
3731 - * // ...
3732 - * });
3733 - * ```
3734 - *
3735 - * @param title Group title.
3736 - * @param details See [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe) for
3737 - * details description.
3738 - * @param callback A callback that is run immediately when calling
3739 - * [test.describe.serial([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe-serial).
3740 - * Any tests added in this callback will belong to the group.
3741 - */
3742 - (title: string, details: TestDetails, callback: () => void): void;
3743 -
3744 - /**
3745 - * **NOTE** See [test.describe.configure([options])](https://playwright.dev/docs/api/class-test#test-describe-configure) for
3746 - * the preferred way of configuring the execution mode.
3747 - *
3748 - * Declares a focused group of tests that should always be run serially. If one of the tests fails, all subsequent
3749 - * tests are skipped. All tests in a group are retried together. If there are some focused tests or suites, all of
3750 - * them will be run but nothing else.
3751 - *
3752 - * **NOTE** Using serial is not recommended. It is usually better to make your tests isolated, so they can be run
3753 - * independently.
3754 - *
3755 - * - `test.describe.serial.only(title, callback)`
3756 - * - `test.describe.serial.only(title)`
3757 - * - `test.describe.serial.only(title, details, callback)`
3758 - *
3759 - * **Usage**
3760 - *
3761 - * ```js
3762 - * test.describe.serial.only('group', () => {
3763 - * test('runs first', async ({ page }) => {
3764 - * });
3765 - * test('runs second', async ({ page }) => {
3766 - * });
3767 - * });
3768 - * ```
3769 - *
3770 - * You can also omit the title.
3771 - *
3772 - * ```js
3773 - * test.describe.serial.only(() => {
3774 - * // ...
3775 - * });
3776 - * ```
3777 - *
3778 - * @param title Group title.
3779 - * @param details See [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe) for
3780 - * details description.
3781 - * @param callback A callback that is run immediately when calling
3782 - * [test.describe.serial.only(title[, details, callback])](https://playwright.dev/docs/api/class-test#test-describe-serial-only).
3783 - * Any tests added in this callback will belong to the group.
3784 - */
3785 - only(title: string, callback: () => void): void;
3786 - /**
3787 - * **NOTE** See [test.describe.configure([options])](https://playwright.dev/docs/api/class-test#test-describe-configure) for
3788 - * the preferred way of configuring the execution mode.
3789 - *
3790 - * Declares a focused group of tests that should always be run serially. If one of the tests fails, all subsequent
3791 - * tests are skipped. All tests in a group are retried together. If there are some focused tests or suites, all of
3792 - * them will be run but nothing else.
3793 - *
3794 - * **NOTE** Using serial is not recommended. It is usually better to make your tests isolated, so they can be run
3795 - * independently.
3796 - *
3797 - * - `test.describe.serial.only(title, callback)`
3798 - * - `test.describe.serial.only(title)`
3799 - * - `test.describe.serial.only(title, details, callback)`
3800 - *
3801 - * **Usage**
3802 - *
3803 - * ```js
3804 - * test.describe.serial.only('group', () => {
3805 - * test('runs first', async ({ page }) => {
3806 - * });
3807 - * test('runs second', async ({ page }) => {
3808 - * });
3809 - * });
3810 - * ```
3811 - *
3812 - * You can also omit the title.
3813 - *
3814 - * ```js
3815 - * test.describe.serial.only(() => {
3816 - * // ...
3817 - * });
3818 - * ```
3819 - *
3820 - * @param title Group title.
3821 - * @param details See [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe) for
3822 - * details description.
3823 - * @param callback A callback that is run immediately when calling
3824 - * [test.describe.serial.only(title[, details, callback])](https://playwright.dev/docs/api/class-test#test-describe-serial-only).
3825 - * Any tests added in this callback will belong to the group.
3826 - */
3827 - only(callback: () => void): void;
3828 - /**
3829 - * **NOTE** See [test.describe.configure([options])](https://playwright.dev/docs/api/class-test#test-describe-configure) for
3830 - * the preferred way of configuring the execution mode.
3831 - *
3832 - * Declares a focused group of tests that should always be run serially. If one of the tests fails, all subsequent
3833 - * tests are skipped. All tests in a group are retried together. If there are some focused tests or suites, all of
3834 - * them will be run but nothing else.
3835 - *
3836 - * **NOTE** Using serial is not recommended. It is usually better to make your tests isolated, so they can be run
3837 - * independently.
3838 - *
3839 - * - `test.describe.serial.only(title, callback)`
3840 - * - `test.describe.serial.only(title)`
3841 - * - `test.describe.serial.only(title, details, callback)`
3842 - *
3843 - * **Usage**
3844 - *
3845 - * ```js
3846 - * test.describe.serial.only('group', () => {
3847 - * test('runs first', async ({ page }) => {
3848 - * });
3849 - * test('runs second', async ({ page }) => {
3850 - * });
3851 - * });
3852 - * ```
3853 - *
3854 - * You can also omit the title.
3855 - *
3856 - * ```js
3857 - * test.describe.serial.only(() => {
3858 - * // ...
3859 - * });
3860 - * ```
3861 - *
3862 - * @param title Group title.
3863 - * @param details See [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe) for
3864 - * details description.
3865 - * @param callback A callback that is run immediately when calling
3866 - * [test.describe.serial.only(title[, details, callback])](https://playwright.dev/docs/api/class-test#test-describe-serial-only).
3867 - * Any tests added in this callback will belong to the group.
3868 - */
3869 - only(title: string, details: TestDetails, callback: () => void): void;
3870 - };
3871 -
3872 - /**
3873 - * **NOTE** See [test.describe.configure([options])](https://playwright.dev/docs/api/class-test#test-describe-configure) for
3874 - * the preferred way of configuring the execution mode.
3875 - *
3876 - * Declares a group of tests that could be run in parallel. By default, tests in a single test file run one after
3877 - * another, but using
3878 - * [test.describe.parallel([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe-parallel)
3879 - * allows them to run in parallel.
3880 - * - `test.describe.parallel(title, callback)`
3881 - * - `test.describe.parallel(callback)`
3882 - * - `test.describe.parallel(title, details, callback)`
3883 - *
3884 - * **Usage**
3885 - *
3886 - * ```js
3887 - * test.describe.parallel('group', () => {
3888 - * test('runs in parallel 1', async ({ page }) => {});
3889 - * test('runs in parallel 2', async ({ page }) => {});
3890 - * });
3891 - * ```
3892 - *
3893 - * Note that parallel tests are executed in separate processes and cannot share any state or global variables. Each of
3894 - * the parallel tests executes all relevant hooks.
3895 - *
3896 - * You can also omit the title.
3897 - *
3898 - * ```js
3899 - * test.describe.parallel(() => {
3900 - * // ...
3901 - * });
3902 - * ```
3903 - *
3904 - * @param title Group title.
3905 - * @param details See [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe) for
3906 - * details description.
3907 - * @param callback A callback that is run immediately when calling
3908 - * [test.describe.parallel([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe-parallel).
3909 - * Any tests added in this callback will belong to the group.
3910 - */
3911 - parallel: {
3912 - /**
3913 - * **NOTE** See [test.describe.configure([options])](https://playwright.dev/docs/api/class-test#test-describe-configure) for
3914 - * the preferred way of configuring the execution mode.
3915 - *
3916 - * Declares a group of tests that could be run in parallel. By default, tests in a single test file run one after
3917 - * another, but using
3918 - * [test.describe.parallel([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe-parallel)
3919 - * allows them to run in parallel.
3920 - * - `test.describe.parallel(title, callback)`
3921 - * - `test.describe.parallel(callback)`
3922 - * - `test.describe.parallel(title, details, callback)`
3923 - *
3924 - * **Usage**
3925 - *
3926 - * ```js
3927 - * test.describe.parallel('group', () => {
3928 - * test('runs in parallel 1', async ({ page }) => {});
3929 - * test('runs in parallel 2', async ({ page }) => {});
3930 - * });
3931 - * ```
3932 - *
3933 - * Note that parallel tests are executed in separate processes and cannot share any state or global variables. Each of
3934 - * the parallel tests executes all relevant hooks.
3935 - *
3936 - * You can also omit the title.
3937 - *
3938 - * ```js
3939 - * test.describe.parallel(() => {
3940 - * // ...
3941 - * });
3942 - * ```
3943 - *
3944 - * @param title Group title.
3945 - * @param details See [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe) for
3946 - * details description.
3947 - * @param callback A callback that is run immediately when calling
3948 - * [test.describe.parallel([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe-parallel).
3949 - * Any tests added in this callback will belong to the group.
3950 - */
3951 - (title: string, callback: () => void): void;
3952 - /**
3953 - * **NOTE** See [test.describe.configure([options])](https://playwright.dev/docs/api/class-test#test-describe-configure) for
3954 - * the preferred way of configuring the execution mode.
3955 - *
3956 - * Declares a group of tests that could be run in parallel. By default, tests in a single test file run one after
3957 - * another, but using
3958 - * [test.describe.parallel([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe-parallel)
3959 - * allows them to run in parallel.
3960 - * - `test.describe.parallel(title, callback)`
3961 - * - `test.describe.parallel(callback)`
3962 - * - `test.describe.parallel(title, details, callback)`
3963 - *
3964 - * **Usage**
3965 - *
3966 - * ```js
3967 - * test.describe.parallel('group', () => {
3968 - * test('runs in parallel 1', async ({ page }) => {});
3969 - * test('runs in parallel 2', async ({ page }) => {});
3970 - * });
3971 - * ```
3972 - *
3973 - * Note that parallel tests are executed in separate processes and cannot share any state or global variables. Each of
3974 - * the parallel tests executes all relevant hooks.
3975 - *
3976 - * You can also omit the title.
3977 - *
3978 - * ```js
3979 - * test.describe.parallel(() => {
3980 - * // ...
3981 - * });
3982 - * ```
3983 - *
3984 - * @param title Group title.
3985 - * @param details See [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe) for
3986 - * details description.
3987 - * @param callback A callback that is run immediately when calling
3988 - * [test.describe.parallel([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe-parallel).
3989 - * Any tests added in this callback will belong to the group.
3990 - */
3991 - (callback: () => void): void;
3992 - /**
3993 - * **NOTE** See [test.describe.configure([options])](https://playwright.dev/docs/api/class-test#test-describe-configure) for
3994 - * the preferred way of configuring the execution mode.
3995 - *
3996 - * Declares a group of tests that could be run in parallel. By default, tests in a single test file run one after
3997 - * another, but using
3998 - * [test.describe.parallel([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe-parallel)
3999 - * allows them to run in parallel.
4000 - * - `test.describe.parallel(title, callback)`
4001 - * - `test.describe.parallel(callback)`
4002 - * - `test.describe.parallel(title, details, callback)`
4003 - *
4004 - * **Usage**
4005 - *
4006 - * ```js
4007 - * test.describe.parallel('group', () => {
4008 - * test('runs in parallel 1', async ({ page }) => {});
4009 - * test('runs in parallel 2', async ({ page }) => {});
4010 - * });
4011 - * ```
4012 - *
4013 - * Note that parallel tests are executed in separate processes and cannot share any state or global variables. Each of
4014 - * the parallel tests executes all relevant hooks.
4015 - *
4016 - * You can also omit the title.
4017 - *
4018 - * ```js
4019 - * test.describe.parallel(() => {
4020 - * // ...
4021 - * });
4022 - * ```
4023 - *
4024 - * @param title Group title.
4025 - * @param details See [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe) for
4026 - * details description.
4027 - * @param callback A callback that is run immediately when calling
4028 - * [test.describe.parallel([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe-parallel).
4029 - * Any tests added in this callback will belong to the group.
4030 - */
4031 - (title: string, details: TestDetails, callback: () => void): void;
4032 -
4033 - /**
4034 - * **NOTE** See [test.describe.configure([options])](https://playwright.dev/docs/api/class-test#test-describe-configure) for
4035 - * the preferred way of configuring the execution mode.
4036 - *
4037 - * Declares a focused group of tests that could be run in parallel. This is similar to
4038 - * [test.describe.parallel([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe-parallel),
4039 - * but focuses the group. If there are some focused tests or suites, all of them will be run but nothing else.
4040 - * - `test.describe.parallel.only(title, callback)`
4041 - * - `test.describe.parallel.only(callback)`
4042 - * - `test.describe.parallel.only(title, details, callback)`
4043 - *
4044 - * **Usage**
4045 - *
4046 - * ```js
4047 - * test.describe.parallel.only('group', () => {
4048 - * test('runs in parallel 1', async ({ page }) => {});
4049 - * test('runs in parallel 2', async ({ page }) => {});
4050 - * });
4051 - * ```
4052 - *
4053 - * You can also omit the title.
4054 - *
4055 - * ```js
4056 - * test.describe.parallel.only(() => {
4057 - * // ...
4058 - * });
4059 - * ```
4060 - *
4061 - * @param title Group title.
4062 - * @param details See [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe) for
4063 - * details description.
4064 - * @param callback A callback that is run immediately when calling
4065 - * [test.describe.parallel.only([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe-parallel-only).
4066 - * Any tests added in this callback will belong to the group.
4067 - */
4068 - only(title: string, callback: () => void): void;
4069 - /**
4070 - * **NOTE** See [test.describe.configure([options])](https://playwright.dev/docs/api/class-test#test-describe-configure) for
4071 - * the preferred way of configuring the execution mode.
4072 - *
4073 - * Declares a focused group of tests that could be run in parallel. This is similar to
4074 - * [test.describe.parallel([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe-parallel),
4075 - * but focuses the group. If there are some focused tests or suites, all of them will be run but nothing else.
4076 - * - `test.describe.parallel.only(title, callback)`
4077 - * - `test.describe.parallel.only(callback)`
4078 - * - `test.describe.parallel.only(title, details, callback)`
4079 - *
4080 - * **Usage**
4081 - *
4082 - * ```js
4083 - * test.describe.parallel.only('group', () => {
4084 - * test('runs in parallel 1', async ({ page }) => {});
4085 - * test('runs in parallel 2', async ({ page }) => {});
4086 - * });
4087 - * ```
4088 - *
4089 - * You can also omit the title.
4090 - *
4091 - * ```js
4092 - * test.describe.parallel.only(() => {
4093 - * // ...
4094 - * });
4095 - * ```
4096 - *
4097 - * @param title Group title.
4098 - * @param details See [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe) for
4099 - * details description.
4100 - * @param callback A callback that is run immediately when calling
4101 - * [test.describe.parallel.only([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe-parallel-only).
4102 - * Any tests added in this callback will belong to the group.
4103 - */
4104 - only(callback: () => void): void;
4105 - /**
4106 - * **NOTE** See [test.describe.configure([options])](https://playwright.dev/docs/api/class-test#test-describe-configure) for
4107 - * the preferred way of configuring the execution mode.
4108 - *
4109 - * Declares a focused group of tests that could be run in parallel. This is similar to
4110 - * [test.describe.parallel([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe-parallel),
4111 - * but focuses the group. If there are some focused tests or suites, all of them will be run but nothing else.
4112 - * - `test.describe.parallel.only(title, callback)`
4113 - * - `test.describe.parallel.only(callback)`
4114 - * - `test.describe.parallel.only(title, details, callback)`
4115 - *
4116 - * **Usage**
4117 - *
4118 - * ```js
4119 - * test.describe.parallel.only('group', () => {
4120 - * test('runs in parallel 1', async ({ page }) => {});
4121 - * test('runs in parallel 2', async ({ page }) => {});
4122 - * });
4123 - * ```
4124 - *
4125 - * You can also omit the title.
4126 - *
4127 - * ```js
4128 - * test.describe.parallel.only(() => {
4129 - * // ...
4130 - * });
4131 - * ```
4132 - *
4133 - * @param title Group title.
4134 - * @param details See [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe) for
4135 - * details description.
4136 - * @param callback A callback that is run immediately when calling
4137 - * [test.describe.parallel.only([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe-parallel-only).
4138 - * Any tests added in this callback will belong to the group.
4139 - */
4140 - only(title: string, details: TestDetails, callback: () => void): void;
4141 - };
4142 -
4143 - /**
4144 - * Configures the enclosing scope. Can be executed either on the top level or inside a describe. Configuration applies
4145 - * to the entire scope, regardless of whether it run before or after the test declaration.
4146 - *
4147 - * Learn more about the execution modes [here](https://playwright.dev/docs/test-parallel).
4148 - *
4149 - * **Usage**
4150 - * - Running tests in parallel.
4151 - *
4152 - * ```js
4153 - * // Run all the tests in the file concurrently using parallel workers.
4154 - * test.describe.configure({ mode: 'parallel' });
4155 - * test('runs in parallel 1', async ({ page }) => {});
4156 - * test('runs in parallel 2', async ({ page }) => {});
4157 - * ```
4158 - *
4159 - * - Running tests in order, retrying each failed test independently.
4160 - *
4161 - * This is the default mode. It can be useful to set it explicitly to override project configuration that uses
4162 - * `fullyParallel`.
4163 - *
4164 - * ```js
4165 - * // Tests in this file run in order. Retries, if any, run independently.
4166 - * test.describe.configure({ mode: 'default' });
4167 - * test('runs first', async ({ page }) => {});
4168 - * test('runs second', async ({ page }) => {});
4169 - * ```
4170 - *
4171 - * - Running tests serially, retrying from the start. If one of the serial tests fails, all subsequent tests are
4172 - * skipped.
4173 - *
4174 - * **NOTE** Running serially is not recommended. It is usually better to make your tests isolated, so they can be
4175 - * run independently.
4176 - *
4177 - * ```js
4178 - * // Annotate tests as inter-dependent.
4179 - * test.describe.configure({ mode: 'serial' });
4180 - * test('runs first', async ({ page }) => {});
4181 - * test('runs second', async ({ page }) => {});
4182 - * ```
4183 - *
4184 - * - Configuring retries and timeout for each test.
4185 - *
4186 - * ```js
4187 - * // Each test in the file will be retried twice and have a timeout of 20 seconds.
4188 - * test.describe.configure({ retries: 2, timeout: 20_000 });
4189 - * test('runs first', async ({ page }) => {});
4190 - * test('runs second', async ({ page }) => {});
4191 - * ```
4192 - *
4193 - * - Run multiple describes in parallel, but tests inside each describe in order.
4194 - *
4195 - * ```js
4196 - * test.describe.configure({ mode: 'parallel' });
4197 - *
4198 - * test.describe('A, runs in parallel with B', () => {
4199 - * test.describe.configure({ mode: 'default' });
4200 - * test('in order A1', async ({ page }) => {});
4201 - * test('in order A2', async ({ page }) => {});
4202 - * });
4203 - *
4204 - * test.describe('B, runs in parallel with A', () => {
4205 - * test.describe.configure({ mode: 'default' });
4206 - * test('in order B1', async ({ page }) => {});
4207 - * test('in order B2', async ({ page }) => {});
4208 - * });
4209 - * ```
4210 - *
4211 - * @param options
4212 - */
4213 - configure: (options: { mode?: 'default' | 'parallel' | 'serial', retries?: number, timeout?: number }) => void;
4214 - };
4215 -
4216 - /**
4217 - * Skip a test. Playwright will not run the test past the `test.skip()` call.
4218 - *
4219 - * Skipped tests are not supposed to be ever run. If you intend to fix the test, use
4220 - * [test.fixme([title, details, body, condition, callback, description])](https://playwright.dev/docs/api/class-test#test-fixme)
4221 - * instead.
4222 - *
4223 - * To declare a skipped test:
4224 - * - `test.skip(title, body)`
4225 - * - `test.skip(title, details, body)`
4226 - *
4227 - * To skip a test at runtime:
4228 - * - `test.skip(condition, description)`
4229 - * - `test.skip(callback, description)`
4230 - * - `test.skip()`
4231 - *
4232 - * **Usage**
4233 - *
4234 - * You can declare a skipped test, and Playwright will not run it.
4235 - *
4236 - * ```js
4237 - * import { test, expect } from '@playwright/test';
4238 - *
4239 - * test.skip('never run', async ({ page }) => {
4240 - * // ...
4241 - * });
4242 - * ```
4243 - *
4244 - * If your test should be skipped in some configurations, but not all, you can skip the test inside the test body
4245 - * based on some condition. We recommend passing a `description` argument in this case. Playwright will run the test,
4246 - * but abort it immediately after the `test.skip` call.
4247 - *
4248 - * ```js
4249 - * import { test, expect } from '@playwright/test';
4250 - *
4251 - * test('Safari-only test', async ({ page, browserName }) => {
4252 - * test.skip(browserName !== 'webkit', 'This feature is Safari-only');
4253 - * // ...
4254 - * });
4255 - * ```
4256 - *
4257 - * You can skip all tests in a file or
4258 - * [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe) group based
4259 - * on some condition with a single `test.skip(callback, description)` call.
4260 - *
4261 - * ```js
4262 - * import { test, expect } from '@playwright/test';
4263 - *
4264 - * test.skip(({ browserName }) => browserName !== 'webkit', 'Safari-only');
4265 - *
4266 - * test('Safari-only test 1', async ({ page }) => {
4267 - * // ...
4268 - * });
4269 - * test('Safari-only test 2', async ({ page }) => {
4270 - * // ...
4271 - * });
4272 - * ```
4273 - *
4274 - * You can also call `test.skip()` without arguments inside the test body to always skip the test. However, we
4275 - * recommend using `test.skip(title, body)` instead.
4276 - *
4277 - * ```js
4278 - * import { test, expect } from '@playwright/test';
4279 - *
4280 - * test('less readable', async ({ page }) => {
4281 - * test.skip();
4282 - * // ...
4283 - * });
4284 - * ```
4285 - *
4286 - * @param title Test title.
4287 - * @param details See [test.(call)(title[, details, body])](https://playwright.dev/docs/api/class-test#test-call) for test details
4288 - * description.
4289 - * @param body Test body that takes one or two arguments: an object with fixtures and optional
4290 - * [TestInfo](https://playwright.dev/docs/api/class-testinfo).
4291 - * @param condition Test is marked as "skipped" when the condition is `true`.
4292 - * @param callback A function that returns whether to mark as "skipped", based on test fixtures. Test or tests are marked as "skipped"
4293 - * when the return value is `true`.
4294 - * @param description Optional description that will be reflected in a test report.
4295 - */
4296 - skip(title: string, body: TestBody<TestArgs & WorkerArgs>): void;
4297 - /**
4298 - * Skip a test. Playwright will not run the test past the `test.skip()` call.
4299 - *
4300 - * Skipped tests are not supposed to be ever run. If you intend to fix the test, use
4301 - * [test.fixme([title, details, body, condition, callback, description])](https://playwright.dev/docs/api/class-test#test-fixme)
4302 - * instead.
4303 - *
4304 - * To declare a skipped test:
4305 - * - `test.skip(title, body)`
4306 - * - `test.skip(title, details, body)`
4307 - *
4308 - * To skip a test at runtime:
4309 - * - `test.skip(condition, description)`
4310 - * - `test.skip(callback, description)`
4311 - * - `test.skip()`
4312 - *
4313 - * **Usage**
4314 - *
4315 - * You can declare a skipped test, and Playwright will not run it.
4316 - *
4317 - * ```js
4318 - * import { test, expect } from '@playwright/test';
4319 - *
4320 - * test.skip('never run', async ({ page }) => {
4321 - * // ...
4322 - * });
4323 - * ```
4324 - *
4325 - * If your test should be skipped in some configurations, but not all, you can skip the test inside the test body
4326 - * based on some condition. We recommend passing a `description` argument in this case. Playwright will run the test,
4327 - * but abort it immediately after the `test.skip` call.
4328 - *
4329 - * ```js
4330 - * import { test, expect } from '@playwright/test';
4331 - *
4332 - * test('Safari-only test', async ({ page, browserName }) => {
4333 - * test.skip(browserName !== 'webkit', 'This feature is Safari-only');
4334 - * // ...
4335 - * });
4336 - * ```
4337 - *
4338 - * You can skip all tests in a file or
4339 - * [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe) group based
4340 - * on some condition with a single `test.skip(callback, description)` call.
4341 - *
4342 - * ```js
4343 - * import { test, expect } from '@playwright/test';
4344 - *
4345 - * test.skip(({ browserName }) => browserName !== 'webkit', 'Safari-only');
4346 - *
4347 - * test('Safari-only test 1', async ({ page }) => {
4348 - * // ...
4349 - * });
4350 - * test('Safari-only test 2', async ({ page }) => {
4351 - * // ...
4352 - * });
4353 - * ```
4354 - *
4355 - * You can also call `test.skip()` without arguments inside the test body to always skip the test. However, we
4356 - * recommend using `test.skip(title, body)` instead.
4357 - *
4358 - * ```js
4359 - * import { test, expect } from '@playwright/test';
4360 - *
4361 - * test('less readable', async ({ page }) => {
4362 - * test.skip();
4363 - * // ...
4364 - * });
4365 - * ```
4366 - *
4367 - * @param title Test title.
4368 - * @param details See [test.(call)(title[, details, body])](https://playwright.dev/docs/api/class-test#test-call) for test details
4369 - * description.
4370 - * @param body Test body that takes one or two arguments: an object with fixtures and optional
4371 - * [TestInfo](https://playwright.dev/docs/api/class-testinfo).
4372 - * @param condition Test is marked as "skipped" when the condition is `true`.
4373 - * @param callback A function that returns whether to mark as "skipped", based on test fixtures. Test or tests are marked as "skipped"
4374 - * when the return value is `true`.
4375 - * @param description Optional description that will be reflected in a test report.
4376 - */
4377 - skip(title: string, details: TestDetails, body: TestBody<TestArgs & WorkerArgs>): void;
4378 - /**
4379 - * Skip a test. Playwright will not run the test past the `test.skip()` call.
4380 - *
4381 - * Skipped tests are not supposed to be ever run. If you intend to fix the test, use
4382 - * [test.fixme([title, details, body, condition, callback, description])](https://playwright.dev/docs/api/class-test#test-fixme)
4383 - * instead.
4384 - *
4385 - * To declare a skipped test:
4386 - * - `test.skip(title, body)`
4387 - * - `test.skip(title, details, body)`
4388 - *
4389 - * To skip a test at runtime:
4390 - * - `test.skip(condition, description)`
4391 - * - `test.skip(callback, description)`
4392 - * - `test.skip()`
4393 - *
4394 - * **Usage**
4395 - *
4396 - * You can declare a skipped test, and Playwright will not run it.
4397 - *
4398 - * ```js
4399 - * import { test, expect } from '@playwright/test';
4400 - *
4401 - * test.skip('never run', async ({ page }) => {
4402 - * // ...
4403 - * });
4404 - * ```
4405 - *
4406 - * If your test should be skipped in some configurations, but not all, you can skip the test inside the test body
4407 - * based on some condition. We recommend passing a `description` argument in this case. Playwright will run the test,
4408 - * but abort it immediately after the `test.skip` call.
4409 - *
4410 - * ```js
4411 - * import { test, expect } from '@playwright/test';
4412 - *
4413 - * test('Safari-only test', async ({ page, browserName }) => {
4414 - * test.skip(browserName !== 'webkit', 'This feature is Safari-only');
4415 - * // ...
4416 - * });
4417 - * ```
4418 - *
4419 - * You can skip all tests in a file or
4420 - * [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe) group based
4421 - * on some condition with a single `test.skip(callback, description)` call.
4422 - *
4423 - * ```js
4424 - * import { test, expect } from '@playwright/test';
4425 - *
4426 - * test.skip(({ browserName }) => browserName !== 'webkit', 'Safari-only');
4427 - *
4428 - * test('Safari-only test 1', async ({ page }) => {
4429 - * // ...
4430 - * });
4431 - * test('Safari-only test 2', async ({ page }) => {
4432 - * // ...
4433 - * });
4434 - * ```
4435 - *
4436 - * You can also call `test.skip()` without arguments inside the test body to always skip the test. However, we
4437 - * recommend using `test.skip(title, body)` instead.
4438 - *
4439 - * ```js
4440 - * import { test, expect } from '@playwright/test';
4441 - *
4442 - * test('less readable', async ({ page }) => {
4443 - * test.skip();
4444 - * // ...
4445 - * });
4446 - * ```
4447 - *
4448 - * @param title Test title.
4449 - * @param details See [test.(call)(title[, details, body])](https://playwright.dev/docs/api/class-test#test-call) for test details
4450 - * description.
4451 - * @param body Test body that takes one or two arguments: an object with fixtures and optional
4452 - * [TestInfo](https://playwright.dev/docs/api/class-testinfo).
4453 - * @param condition Test is marked as "skipped" when the condition is `true`.
4454 - * @param callback A function that returns whether to mark as "skipped", based on test fixtures. Test or tests are marked as "skipped"
4455 - * when the return value is `true`.
4456 - * @param description Optional description that will be reflected in a test report.
4457 - */
4458 - skip(): void;
4459 - /**
4460 - * Skip a test. Playwright will not run the test past the `test.skip()` call.
4461 - *
4462 - * Skipped tests are not supposed to be ever run. If you intend to fix the test, use
4463 - * [test.fixme([title, details, body, condition, callback, description])](https://playwright.dev/docs/api/class-test#test-fixme)
4464 - * instead.
4465 - *
4466 - * To declare a skipped test:
4467 - * - `test.skip(title, body)`
4468 - * - `test.skip(title, details, body)`
4469 - *
4470 - * To skip a test at runtime:
4471 - * - `test.skip(condition, description)`
4472 - * - `test.skip(callback, description)`
4473 - * - `test.skip()`
4474 - *
4475 - * **Usage**
4476 - *
4477 - * You can declare a skipped test, and Playwright will not run it.
4478 - *
4479 - * ```js
4480 - * import { test, expect } from '@playwright/test';
4481 - *
4482 - * test.skip('never run', async ({ page }) => {
4483 - * // ...
4484 - * });
4485 - * ```
4486 - *
4487 - * If your test should be skipped in some configurations, but not all, you can skip the test inside the test body
4488 - * based on some condition. We recommend passing a `description` argument in this case. Playwright will run the test,
4489 - * but abort it immediately after the `test.skip` call.
4490 - *
4491 - * ```js
4492 - * import { test, expect } from '@playwright/test';
4493 - *
4494 - * test('Safari-only test', async ({ page, browserName }) => {
4495 - * test.skip(browserName !== 'webkit', 'This feature is Safari-only');
4496 - * // ...
4497 - * });
4498 - * ```
4499 - *
4500 - * You can skip all tests in a file or
4501 - * [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe) group based
4502 - * on some condition with a single `test.skip(callback, description)` call.
4503 - *
4504 - * ```js
4505 - * import { test, expect } from '@playwright/test';
4506 - *
4507 - * test.skip(({ browserName }) => browserName !== 'webkit', 'Safari-only');
4508 - *
4509 - * test('Safari-only test 1', async ({ page }) => {
4510 - * // ...
4511 - * });
4512 - * test('Safari-only test 2', async ({ page }) => {
4513 - * // ...
4514 - * });
4515 - * ```
4516 - *
4517 - * You can also call `test.skip()` without arguments inside the test body to always skip the test. However, we
4518 - * recommend using `test.skip(title, body)` instead.
4519 - *
4520 - * ```js
4521 - * import { test, expect } from '@playwright/test';
4522 - *
4523 - * test('less readable', async ({ page }) => {
4524 - * test.skip();
4525 - * // ...
4526 - * });
4527 - * ```
4528 - *
4529 - * @param title Test title.
4530 - * @param details See [test.(call)(title[, details, body])](https://playwright.dev/docs/api/class-test#test-call) for test details
4531 - * description.
4532 - * @param body Test body that takes one or two arguments: an object with fixtures and optional
4533 - * [TestInfo](https://playwright.dev/docs/api/class-testinfo).
4534 - * @param condition Test is marked as "skipped" when the condition is `true`.
4535 - * @param callback A function that returns whether to mark as "skipped", based on test fixtures. Test or tests are marked as "skipped"
4536 - * when the return value is `true`.
4537 - * @param description Optional description that will be reflected in a test report.
4538 - */
4539 - skip(condition: boolean, description?: string): void;
4540 - /**
4541 - * Skip a test. Playwright will not run the test past the `test.skip()` call.
4542 - *
4543 - * Skipped tests are not supposed to be ever run. If you intend to fix the test, use
4544 - * [test.fixme([title, details, body, condition, callback, description])](https://playwright.dev/docs/api/class-test#test-fixme)
4545 - * instead.
4546 - *
4547 - * To declare a skipped test:
4548 - * - `test.skip(title, body)`
4549 - * - `test.skip(title, details, body)`
4550 - *
4551 - * To skip a test at runtime:
4552 - * - `test.skip(condition, description)`
4553 - * - `test.skip(callback, description)`
4554 - * - `test.skip()`
4555 - *
4556 - * **Usage**
4557 - *
4558 - * You can declare a skipped test, and Playwright will not run it.
4559 - *
4560 - * ```js
4561 - * import { test, expect } from '@playwright/test';
4562 - *
4563 - * test.skip('never run', async ({ page }) => {
4564 - * // ...
4565 - * });
4566 - * ```
4567 - *
4568 - * If your test should be skipped in some configurations, but not all, you can skip the test inside the test body
4569 - * based on some condition. We recommend passing a `description` argument in this case. Playwright will run the test,
4570 - * but abort it immediately after the `test.skip` call.
4571 - *
4572 - * ```js
4573 - * import { test, expect } from '@playwright/test';
4574 - *
4575 - * test('Safari-only test', async ({ page, browserName }) => {
4576 - * test.skip(browserName !== 'webkit', 'This feature is Safari-only');
4577 - * // ...
4578 - * });
4579 - * ```
4580 - *
4581 - * You can skip all tests in a file or
4582 - * [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe) group based
4583 - * on some condition with a single `test.skip(callback, description)` call.
4584 - *
4585 - * ```js
4586 - * import { test, expect } from '@playwright/test';
4587 - *
4588 - * test.skip(({ browserName }) => browserName !== 'webkit', 'Safari-only');
4589 - *
4590 - * test('Safari-only test 1', async ({ page }) => {
4591 - * // ...
4592 - * });
4593 - * test('Safari-only test 2', async ({ page }) => {
4594 - * // ...
4595 - * });
4596 - * ```
4597 - *
4598 - * You can also call `test.skip()` without arguments inside the test body to always skip the test. However, we
4599 - * recommend using `test.skip(title, body)` instead.
4600 - *
4601 - * ```js
4602 - * import { test, expect } from '@playwright/test';
4603 - *
4604 - * test('less readable', async ({ page }) => {
4605 - * test.skip();
4606 - * // ...
4607 - * });
4608 - * ```
4609 - *
4610 - * @param title Test title.
4611 - * @param details See [test.(call)(title[, details, body])](https://playwright.dev/docs/api/class-test#test-call) for test details
4612 - * description.
4613 - * @param body Test body that takes one or two arguments: an object with fixtures and optional
4614 - * [TestInfo](https://playwright.dev/docs/api/class-testinfo).
4615 - * @param condition Test is marked as "skipped" when the condition is `true`.
4616 - * @param callback A function that returns whether to mark as "skipped", based on test fixtures. Test or tests are marked as "skipped"
4617 - * when the return value is `true`.
4618 - * @param description Optional description that will be reflected in a test report.
4619 - */
4620 - skip(callback: ConditionBody<TestArgs & WorkerArgs>, description?: string): void;
4621 -
4622 - /**
4623 - * Mark a test as "fixme", with the intention to fix it. Playwright will not run the test past the `test.fixme()`
4624 - * call.
4625 - *
4626 - * To declare a "fixme" test:
4627 - * - `test.fixme(title, body)`
4628 - * - `test.fixme(title, details, body)`
4629 - *
4630 - * To annotate test as "fixme" at runtime:
4631 - * - `test.fixme(condition, description)`
4632 - * - `test.fixme(callback, description)`
4633 - * - `test.fixme()`
4634 - *
4635 - * **Usage**
4636 - *
4637 - * You can declare a test as to be fixed, and Playwright will not run it.
4638 - *
4639 - * ```js
4640 - * import { test, expect } from '@playwright/test';
4641 - *
4642 - * test.fixme('to be fixed', async ({ page }) => {
4643 - * // ...
4644 - * });
4645 - * ```
4646 - *
4647 - * If your test should be fixed in some configurations, but not all, you can mark the test as "fixme" inside the test
4648 - * body based on some condition. We recommend passing a `description` argument in this case. Playwright will run the
4649 - * test, but abort it immediately after the `test.fixme` call.
4650 - *
4651 - * ```js
4652 - * import { test, expect } from '@playwright/test';
4653 - *
4654 - * test('to be fixed in Safari', async ({ page, browserName }) => {
4655 - * test.fixme(browserName === 'webkit', 'This feature breaks in Safari for some reason');
4656 - * // ...
4657 - * });
4658 - * ```
4659 - *
4660 - * You can mark all tests in a file or
4661 - * [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe) group as
4662 - * "fixme" based on some condition with a single `test.fixme(callback, description)` call.
4663 - *
4664 - * ```js
4665 - * import { test, expect } from '@playwright/test';
4666 - *
4667 - * test.fixme(({ browserName }) => browserName === 'webkit', 'Should figure out the issue');
4668 - *
4669 - * test('to be fixed in Safari 1', async ({ page }) => {
4670 - * // ...
4671 - * });
4672 - * test('to be fixed in Safari 2', async ({ page }) => {
4673 - * // ...
4674 - * });
4675 - * ```
4676 - *
4677 - * You can also call `test.fixme()` without arguments inside the test body to always mark the test as failed. We
4678 - * recommend using `test.fixme(title, body)` instead.
4679 - *
4680 - * ```js
4681 - * import { test, expect } from '@playwright/test';
4682 - *
4683 - * test('less readable', async ({ page }) => {
4684 - * test.fixme();
4685 - * // ...
4686 - * });
4687 - * ```
4688 - *
4689 - * @param title Test title.
4690 - * @param details See [test.(call)(title[, details, body])](https://playwright.dev/docs/api/class-test#test-call) for test details
4691 - * description.
4692 - * @param body Test body that takes one or two arguments: an object with fixtures and optional
4693 - * [TestInfo](https://playwright.dev/docs/api/class-testinfo).
4694 - * @param condition Test is marked as "fixme" when the condition is `true`.
4695 - * @param callback A function that returns whether to mark as "fixme", based on test fixtures. Test or tests are marked as "fixme"
4696 - * when the return value is `true`.
4697 - * @param description Optional description that will be reflected in a test report.
4698 - */
4699 - fixme(title: string, body: TestBody<TestArgs & WorkerArgs>): void;
4700 - /**
4701 - * Mark a test as "fixme", with the intention to fix it. Playwright will not run the test past the `test.fixme()`
4702 - * call.
4703 - *
4704 - * To declare a "fixme" test:
4705 - * - `test.fixme(title, body)`
4706 - * - `test.fixme(title, details, body)`
4707 - *
4708 - * To annotate test as "fixme" at runtime:
4709 - * - `test.fixme(condition, description)`
4710 - * - `test.fixme(callback, description)`
4711 - * - `test.fixme()`
4712 - *
4713 - * **Usage**
4714 - *
4715 - * You can declare a test as to be fixed, and Playwright will not run it.
4716 - *
4717 - * ```js
4718 - * import { test, expect } from '@playwright/test';
4719 - *
4720 - * test.fixme('to be fixed', async ({ page }) => {
4721 - * // ...
4722 - * });
4723 - * ```
4724 - *
4725 - * If your test should be fixed in some configurations, but not all, you can mark the test as "fixme" inside the test
4726 - * body based on some condition. We recommend passing a `description` argument in this case. Playwright will run the
4727 - * test, but abort it immediately after the `test.fixme` call.
4728 - *
4729 - * ```js
4730 - * import { test, expect } from '@playwright/test';
4731 - *
4732 - * test('to be fixed in Safari', async ({ page, browserName }) => {
4733 - * test.fixme(browserName === 'webkit', 'This feature breaks in Safari for some reason');
4734 - * // ...
4735 - * });
4736 - * ```
4737 - *
4738 - * You can mark all tests in a file or
4739 - * [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe) group as
4740 - * "fixme" based on some condition with a single `test.fixme(callback, description)` call.
4741 - *
4742 - * ```js
4743 - * import { test, expect } from '@playwright/test';
4744 - *
4745 - * test.fixme(({ browserName }) => browserName === 'webkit', 'Should figure out the issue');
4746 - *
4747 - * test('to be fixed in Safari 1', async ({ page }) => {
4748 - * // ...
4749 - * });
4750 - * test('to be fixed in Safari 2', async ({ page }) => {
4751 - * // ...
4752 - * });
4753 - * ```
4754 - *
4755 - * You can also call `test.fixme()` without arguments inside the test body to always mark the test as failed. We
4756 - * recommend using `test.fixme(title, body)` instead.
4757 - *
4758 - * ```js
4759 - * import { test, expect } from '@playwright/test';
4760 - *
4761 - * test('less readable', async ({ page }) => {
4762 - * test.fixme();
4763 - * // ...
4764 - * });
4765 - * ```
4766 - *
4767 - * @param title Test title.
4768 - * @param details See [test.(call)(title[, details, body])](https://playwright.dev/docs/api/class-test#test-call) for test details
4769 - * description.
4770 - * @param body Test body that takes one or two arguments: an object with fixtures and optional
4771 - * [TestInfo](https://playwright.dev/docs/api/class-testinfo).
4772 - * @param condition Test is marked as "fixme" when the condition is `true`.
4773 - * @param callback A function that returns whether to mark as "fixme", based on test fixtures. Test or tests are marked as "fixme"
4774 - * when the return value is `true`.
4775 - * @param description Optional description that will be reflected in a test report.
4776 - */
4777 - fixme(title: string, details: TestDetails, body: TestBody<TestArgs & WorkerArgs>): void;
4778 - /**
4779 - * Mark a test as "fixme", with the intention to fix it. Playwright will not run the test past the `test.fixme()`
4780 - * call.
4781 - *
4782 - * To declare a "fixme" test:
4783 - * - `test.fixme(title, body)`
4784 - * - `test.fixme(title, details, body)`
4785 - *
4786 - * To annotate test as "fixme" at runtime:
4787 - * - `test.fixme(condition, description)`
4788 - * - `test.fixme(callback, description)`
4789 - * - `test.fixme()`
4790 - *
4791 - * **Usage**
4792 - *
4793 - * You can declare a test as to be fixed, and Playwright will not run it.
4794 - *
4795 - * ```js
4796 - * import { test, expect } from '@playwright/test';
4797 - *
4798 - * test.fixme('to be fixed', async ({ page }) => {
4799 - * // ...
4800 - * });
4801 - * ```
4802 - *
4803 - * If your test should be fixed in some configurations, but not all, you can mark the test as "fixme" inside the test
4804 - * body based on some condition. We recommend passing a `description` argument in this case. Playwright will run the
4805 - * test, but abort it immediately after the `test.fixme` call.
4806 - *
4807 - * ```js
4808 - * import { test, expect } from '@playwright/test';
4809 - *
4810 - * test('to be fixed in Safari', async ({ page, browserName }) => {
4811 - * test.fixme(browserName === 'webkit', 'This feature breaks in Safari for some reason');
4812 - * // ...
4813 - * });
4814 - * ```
4815 - *
4816 - * You can mark all tests in a file or
4817 - * [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe) group as
4818 - * "fixme" based on some condition with a single `test.fixme(callback, description)` call.
4819 - *
4820 - * ```js
4821 - * import { test, expect } from '@playwright/test';
4822 - *
4823 - * test.fixme(({ browserName }) => browserName === 'webkit', 'Should figure out the issue');
4824 - *
4825 - * test('to be fixed in Safari 1', async ({ page }) => {
4826 - * // ...
4827 - * });
4828 - * test('to be fixed in Safari 2', async ({ page }) => {
4829 - * // ...
4830 - * });
4831 - * ```
4832 - *
4833 - * You can also call `test.fixme()` without arguments inside the test body to always mark the test as failed. We
4834 - * recommend using `test.fixme(title, body)` instead.
4835 - *
4836 - * ```js
4837 - * import { test, expect } from '@playwright/test';
4838 - *
4839 - * test('less readable', async ({ page }) => {
4840 - * test.fixme();
4841 - * // ...
4842 - * });
4843 - * ```
4844 - *
4845 - * @param title Test title.
4846 - * @param details See [test.(call)(title[, details, body])](https://playwright.dev/docs/api/class-test#test-call) for test details
4847 - * description.
4848 - * @param body Test body that takes one or two arguments: an object with fixtures and optional
4849 - * [TestInfo](https://playwright.dev/docs/api/class-testinfo).
4850 - * @param condition Test is marked as "fixme" when the condition is `true`.
4851 - * @param callback A function that returns whether to mark as "fixme", based on test fixtures. Test or tests are marked as "fixme"
4852 - * when the return value is `true`.
4853 - * @param description Optional description that will be reflected in a test report.
4854 - */
4855 - fixme(): void;
4856 - /**
4857 - * Mark a test as "fixme", with the intention to fix it. Playwright will not run the test past the `test.fixme()`
4858 - * call.
4859 - *
4860 - * To declare a "fixme" test:
4861 - * - `test.fixme(title, body)`
4862 - * - `test.fixme(title, details, body)`
4863 - *
4864 - * To annotate test as "fixme" at runtime:
4865 - * - `test.fixme(condition, description)`
4866 - * - `test.fixme(callback, description)`
4867 - * - `test.fixme()`
4868 - *
4869 - * **Usage**
4870 - *
4871 - * You can declare a test as to be fixed, and Playwright will not run it.
4872 - *
4873 - * ```js
4874 - * import { test, expect } from '@playwright/test';
4875 - *
4876 - * test.fixme('to be fixed', async ({ page }) => {
4877 - * // ...
4878 - * });
4879 - * ```
4880 - *
4881 - * If your test should be fixed in some configurations, but not all, you can mark the test as "fixme" inside the test
4882 - * body based on some condition. We recommend passing a `description` argument in this case. Playwright will run the
4883 - * test, but abort it immediately after the `test.fixme` call.
4884 - *
4885 - * ```js
4886 - * import { test, expect } from '@playwright/test';
4887 - *
4888 - * test('to be fixed in Safari', async ({ page, browserName }) => {
4889 - * test.fixme(browserName === 'webkit', 'This feature breaks in Safari for some reason');
4890 - * // ...
4891 - * });
4892 - * ```
4893 - *
4894 - * You can mark all tests in a file or
4895 - * [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe) group as
4896 - * "fixme" based on some condition with a single `test.fixme(callback, description)` call.
4897 - *
4898 - * ```js
4899 - * import { test, expect } from '@playwright/test';
4900 - *
4901 - * test.fixme(({ browserName }) => browserName === 'webkit', 'Should figure out the issue');
4902 - *
4903 - * test('to be fixed in Safari 1', async ({ page }) => {
4904 - * // ...
4905 - * });
4906 - * test('to be fixed in Safari 2', async ({ page }) => {
4907 - * // ...
4908 - * });
4909 - * ```
4910 - *
4911 - * You can also call `test.fixme()` without arguments inside the test body to always mark the test as failed. We
4912 - * recommend using `test.fixme(title, body)` instead.
4913 - *
4914 - * ```js
4915 - * import { test, expect } from '@playwright/test';
4916 - *
4917 - * test('less readable', async ({ page }) => {
4918 - * test.fixme();
4919 - * // ...
4920 - * });
4921 - * ```
4922 - *
4923 - * @param title Test title.
4924 - * @param details See [test.(call)(title[, details, body])](https://playwright.dev/docs/api/class-test#test-call) for test details
4925 - * description.
4926 - * @param body Test body that takes one or two arguments: an object with fixtures and optional
4927 - * [TestInfo](https://playwright.dev/docs/api/class-testinfo).
4928 - * @param condition Test is marked as "fixme" when the condition is `true`.
4929 - * @param callback A function that returns whether to mark as "fixme", based on test fixtures. Test or tests are marked as "fixme"
4930 - * when the return value is `true`.
4931 - * @param description Optional description that will be reflected in a test report.
4932 - */
4933 - fixme(condition: boolean, description?: string): void;
4934 - /**
4935 - * Mark a test as "fixme", with the intention to fix it. Playwright will not run the test past the `test.fixme()`
4936 - * call.
4937 - *
4938 - * To declare a "fixme" test:
4939 - * - `test.fixme(title, body)`
4940 - * - `test.fixme(title, details, body)`
4941 - *
4942 - * To annotate test as "fixme" at runtime:
4943 - * - `test.fixme(condition, description)`
4944 - * - `test.fixme(callback, description)`
4945 - * - `test.fixme()`
4946 - *
4947 - * **Usage**
4948 - *
4949 - * You can declare a test as to be fixed, and Playwright will not run it.
4950 - *
4951 - * ```js
4952 - * import { test, expect } from '@playwright/test';
4953 - *
4954 - * test.fixme('to be fixed', async ({ page }) => {
4955 - * // ...
4956 - * });
4957 - * ```
4958 - *
4959 - * If your test should be fixed in some configurations, but not all, you can mark the test as "fixme" inside the test
4960 - * body based on some condition. We recommend passing a `description` argument in this case. Playwright will run the
4961 - * test, but abort it immediately after the `test.fixme` call.
4962 - *
4963 - * ```js
4964 - * import { test, expect } from '@playwright/test';
4965 - *
4966 - * test('to be fixed in Safari', async ({ page, browserName }) => {
4967 - * test.fixme(browserName === 'webkit', 'This feature breaks in Safari for some reason');
4968 - * // ...
4969 - * });
4970 - * ```
4971 - *
4972 - * You can mark all tests in a file or
4973 - * [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe) group as
4974 - * "fixme" based on some condition with a single `test.fixme(callback, description)` call.
4975 - *
4976 - * ```js
4977 - * import { test, expect } from '@playwright/test';
4978 - *
4979 - * test.fixme(({ browserName }) => browserName === 'webkit', 'Should figure out the issue');
4980 - *
4981 - * test('to be fixed in Safari 1', async ({ page }) => {
4982 - * // ...
4983 - * });
4984 - * test('to be fixed in Safari 2', async ({ page }) => {
4985 - * // ...
4986 - * });
4987 - * ```
4988 - *
4989 - * You can also call `test.fixme()` without arguments inside the test body to always mark the test as failed. We
4990 - * recommend using `test.fixme(title, body)` instead.
4991 - *
4992 - * ```js
4993 - * import { test, expect } from '@playwright/test';
4994 - *
4995 - * test('less readable', async ({ page }) => {
4996 - * test.fixme();
4997 - * // ...
4998 - * });
4999 - * ```

This file is too large to show in full.

node_modules/playwright/types/testReporter.d.ts deleted
-824
@@ -1,824 +0,0 @@
1 -// This file is generated by /utils/generate_types/index.js
2 -/**
3 - * Copyright (c) Microsoft Corporation.
4 - *
5 - * Licensed under the Apache License, Version 2.0 (the "License");
6 - * you may not use this file except in compliance with the License.
7 - * You may obtain a copy of the License at
8 - *
9 - * http://www.apache.org/licenses/LICENSE-2.0
10 - *
11 - * Unless required by applicable law or agreed to in writing, software
12 - * distributed under the License is distributed on an "AS IS" BASIS,
13 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 - * See the License for the specific language governing permissions and
15 - * limitations under the License.
16 - */
17 -
18 -import type { TestStatus, Metadata, PlaywrightTestOptions, PlaywrightWorkerOptions, ReporterDescription, FullConfig, FullProject, Location, WorkerInfo } from './test';
19 -export type { FullConfig, FullProject, TestStatus, Location, WorkerInfo } from './test';
20 -
21 -/**
22 - * Result of the full test run.
23 - */
24 -export interface FullResult {
25 - /**
26 - * Status:
27 - * - 'passed' - everything went as expected.
28 - * - 'failed' - any test has failed.
29 - * - 'timedout' - the global time has been reached.
30 - * - 'interrupted' - interrupted by the user.
31 - */
32 - status: 'passed' | 'failed' | 'timedout' | 'interrupted';
33 -
34 - /**
35 - * Test start wall time.
36 - */
37 - startTime: Date;
38 -
39 - /**
40 - * Test duration in milliseconds.
41 - */
42 - duration: number;
43 -}
44 -
45 -/**
46 - * Test runner notifies the reporter about various events during test execution. All methods of the reporter are
47 - * optional.
48 - *
49 - * You can create a custom reporter by implementing a class with some of the reporter methods. Make sure to export
50 - * this class as default.
51 - *
52 - * ```js
53 - * // my-awesome-reporter.ts
54 - * import type {
55 - * Reporter, FullConfig, Suite, TestCase, TestResult, FullResult
56 - * } from '@playwright/test/reporter';
57 - *
58 - * class MyReporter implements Reporter {
59 - * constructor(options: { customOption?: string } = {}) {
60 - * console.log(`my-awesome-reporter setup with customOption set to ${options.customOption}`);
61 - * }
62 - *
63 - * onBegin(config: FullConfig, suite: Suite) {
64 - * console.log(`Starting the run with ${suite.allTests().length} tests`);
65 - * }
66 - *
67 - * onTestBegin(test: TestCase) {
68 - * console.log(`Starting test ${test.title}`);
69 - * }
70 - *
71 - * onTestEnd(test: TestCase, result: TestResult) {
72 - * console.log(`Finished test ${test.title}: ${result.status}`);
73 - * }
74 - *
75 - * onEnd(result: FullResult) {
76 - * console.log(`Finished the run: ${result.status}`);
77 - * }
78 - * }
79 - * export default MyReporter;
80 - * ```
81 - *
82 - * Now use this reporter with
83 - * [testConfig.reporter](https://playwright.dev/docs/api/class-testconfig#test-config-reporter). Learn more about
84 - * [using reporters](https://playwright.dev/docs/test-reporters).
85 - *
86 - * ```js
87 - * // playwright.config.ts
88 - * import { defineConfig } from '@playwright/test';
89 - *
90 - * export default defineConfig({
91 - * reporter: [['./my-awesome-reporter.ts', { customOption: 'some value' }]],
92 - * });
93 - * ```
94 - *
95 - * Here is a typical order of reporter calls:
96 - * - [reporter.onBegin(config, suite)](https://playwright.dev/docs/api/class-reporter#reporter-on-begin) is called
97 - * once with a root suite that contains all other suites and tests. Learn more about
98 - * [suites hierarchy][Suite](https://playwright.dev/docs/api/class-suite).
99 - * - [reporter.onTestBegin(test, result)](https://playwright.dev/docs/api/class-reporter#reporter-on-test-begin) is
100 - * called for each test run. It is given a [TestCase](https://playwright.dev/docs/api/class-testcase) that is
101 - * executed, and a [TestResult](https://playwright.dev/docs/api/class-testresult) that is almost empty. Test
102 - * result will be populated while the test runs (for example, with steps and stdio) and will get final `status`
103 - * once the test finishes.
104 - * - [reporter.onStepBegin(test, result, step)](https://playwright.dev/docs/api/class-reporter#reporter-on-step-begin)
105 - * and
106 - * [reporter.onStepEnd(test, result, step)](https://playwright.dev/docs/api/class-reporter#reporter-on-step-end)
107 - * are called for each executed step inside the test. When steps are executed, test run has not finished yet.
108 - * - [reporter.onTestEnd(test, result)](https://playwright.dev/docs/api/class-reporter#reporter-on-test-end) is
109 - * called when test run has finished. By this time, [TestResult](https://playwright.dev/docs/api/class-testresult)
110 - * is complete and you can use
111 - * [testResult.status](https://playwright.dev/docs/api/class-testresult#test-result-status),
112 - * [testResult.error](https://playwright.dev/docs/api/class-testresult#test-result-error) and more.
113 - * - [reporter.onEnd(result)](https://playwright.dev/docs/api/class-reporter#reporter-on-end) is called once after
114 - * all tests that should run had finished.
115 - * - [reporter.onExit()](https://playwright.dev/docs/api/class-reporter#reporter-on-exit) is called immediately
116 - * before the test runner exits.
117 - *
118 - * Additionally,
119 - * [reporter.onStdOut(chunk, test, result)](https://playwright.dev/docs/api/class-reporter#reporter-on-std-out) and
120 - * [reporter.onStdErr(chunk, test, result)](https://playwright.dev/docs/api/class-reporter#reporter-on-std-err) are
121 - * called when standard output is produced in the worker process, possibly during a test execution, and
122 - * [reporter.onError(error[, workerInfo])](https://playwright.dev/docs/api/class-reporter#reporter-on-error) is called
123 - * when something went wrong outside of the test execution.
124 - *
125 - * If your custom reporter does not print anything to the terminal, implement
126 - * [reporter.printsToStdio()](https://playwright.dev/docs/api/class-reporter#reporter-prints-to-stdio) and return
127 - * `false`. This way, Playwright will use one of the standard terminal reporters in addition to your custom reporter
128 - * to enhance user experience.
129 - *
130 - * **Reporter errors**
131 - *
132 - * Playwright will swallow any errors thrown in your custom reporter methods. If you need to detect or fail on
133 - * reporter errors, you must wrap and handle them yourself.
134 - *
135 - * **Merged report API notes**
136 - *
137 - * When merging multiple [`blob`](https://playwright.dev/docs/test-reporters#blob-reporter) reports via
138 - * [`merge-reports`](https://playwright.dev/docs/test-sharding#merge-reports-cli) CLI command, the same
139 - * [Reporter](https://playwright.dev/docs/api/class-reporter) API is called to produce final reports and all existing
140 - * reporters should work without any changes. There some subtle differences though which might affect some custom
141 - * reporters.
142 - * - Projects from different shards are always kept as separate
143 - * [TestProject](https://playwright.dev/docs/api/class-testproject) objects. E.g. if project 'Desktop Chrome' was
144 - * sharded across 5 machines then there will be 5 instances of projects with the same name in the config passed to
145 - * [reporter.onBegin(config, suite)](https://playwright.dev/docs/api/class-reporter#reporter-on-begin).
146 - */
147 -export interface Reporter {
148 - /**
149 - * Called after all tests have been run, or testing has been interrupted. Note that this method may return a [Promise]
150 - * and Playwright Test will await it. Reporter is allowed to override the status and hence affect the exit code of the
151 - * test runner.
152 - * @param result Result of the full test run, `status` can be one of:
153 - * - `'passed'` - Everything went as expected.
154 - * - `'failed'` - Any test has failed.
155 - * - `'timedout'` - The
156 - * [testConfig.globalTimeout](https://playwright.dev/docs/api/class-testconfig#test-config-global-timeout) has
157 - * been reached.
158 - * - `'interrupted'` - Interrupted by the user.
159 - */
160 - onEnd?(result: FullResult): Promise<{ status?: FullResult['status'] } | undefined | void> | void;
161 - /**
162 - * Called once before running tests. All tests have been already discovered and put into a hierarchy of
163 - * [Suite](https://playwright.dev/docs/api/class-suite)s.
164 - * @param config Resolved configuration.
165 - * @param suite The root suite that contains all projects, files and test cases.
166 - */
167 - onBegin?(config: FullConfig, suite: Suite): void;
168 -
169 - /**
170 - * Called on some global error, for example unhandled exception in the worker process.
171 - * @param error The error.
172 - * @param workerInfo Contains information about the worker that produced this error. `undefined` for errors that are not associated with
173 - * a specific worker.
174 - */
175 - onError?(error: TestError, workerInfo?: WorkerInfo): void;
176 -
177 - /**
178 - * Called immediately before test runner exists. At this point all the reporters have received the
179 - * [reporter.onEnd(result)](https://playwright.dev/docs/api/class-reporter#reporter-on-end) signal, so all the reports
180 - * should be build. You can run the code that uploads the reports in this hook.
181 - */
182 - onExit?(): Promise<void>;
183 -
184 - /**
185 - * Called when something has been written to the standard error in the worker process.
186 - * @param chunk Output chunk.
187 - * @param test Test that was running. Note that output may happen when no test is running, in which case this will be [void].
188 - * @param result Result of the test run, this object gets populated while the test runs.
189 - */
190 - onStdErr?(chunk: string|Buffer, test: void|TestCase, result: void|TestResult): void;
191 -
192 - /**
193 - * Called when something has been written to the standard output in the worker process.
194 - * @param chunk Output chunk.
195 - * @param test Test that was running. Note that output may happen when no test is running, in which case this will be [void].
196 - * @param result Result of the test run, this object gets populated while the test runs.
197 - */
198 - onStdOut?(chunk: string|Buffer, test: void|TestCase, result: void|TestResult): void;
199 -
200 - /**
201 - * Called when a test step started in the worker process.
202 - * @param test Test that the step belongs to.
203 - * @param result Result of the test run, this object gets populated while the test runs.
204 - * @param step Test step instance that has started.
205 - */
206 - onStepBegin?(test: TestCase, result: TestResult, step: TestStep): void;
207 -
208 - /**
209 - * Called when a test step finished in the worker process.
210 - * @param test Test that the step belongs to.
211 - * @param result Result of the test run.
212 - * @param step Test step instance that has finished.
213 - */
214 - onStepEnd?(test: TestCase, result: TestResult, step: TestStep): void;
215 -
216 - /**
217 - * Called after a test has been started in the worker process.
218 - * @param test Test that has been started.
219 - * @param result Result of the test run, this object gets populated while the test runs.
220 - */
221 - onTestBegin?(test: TestCase, result: TestResult): void;
222 -
223 - /**
224 - * Called after a test has been finished in the worker process.
225 - * @param test Test that has been finished.
226 - * @param result Result of the test run.
227 - */
228 - onTestEnd?(test: TestCase, result: TestResult): void;
229 -
230 - /**
231 - * Whether this reporter uses stdio for reporting. When it does not, Playwright Test could add some output to enhance
232 - * user experience. If your reporter does not print to the terminal, it is strongly recommended to return `false`.
233 - */
234 - printsToStdio?(): boolean;
235 -}
236 -
237 -export interface JSONReport {
238 - config: Omit<FullConfig, 'projects'> & {
239 - projects: {
240 - outputDir: string,
241 - repeatEach: number,
242 - retries: number,
243 - metadata: Metadata,
244 - id: string,
245 - name: string,
246 - testDir: string,
247 - testIgnore: string[],
248 - testMatch: string[],
249 - timeout: number,
250 - }[],
251 - };
252 - suites: JSONReportSuite[];
253 - errors: TestError[];
254 - stats: {
255 - startTime: string; // Date in ISO 8601 format.
256 - duration: number; // In milliseconds;
257 - expected: number;
258 - unexpected: number;
259 - flaky: number;
260 - skipped: number;
261 - }
262 -}
263 -
264 -export interface JSONReportSuite {
265 - title: string;
266 - file: string;
267 - column: number;
268 - line: number;
269 - specs: JSONReportSpec[];
270 - suites?: JSONReportSuite[];
271 -}
272 -
273 -export interface JSONReportSpec {
274 - tags: string[],
275 - title: string;
276 - ok: boolean;
277 - tests: JSONReportTest[];
278 - id: string;
279 - file: string;
280 - line: number;
281 - column: number;
282 -}
283 -
284 -export interface JSONReportTest {
285 - timeout: number;
286 - annotations: { type: string, description?: string }[],
287 - expectedStatus: TestStatus;
288 - projectName: string;
289 - projectId: string;
290 - results: JSONReportTestResult[];
291 - status: 'skipped' | 'expected' | 'unexpected' | 'flaky';
292 -}
293 -
294 -export interface JSONReportError {
295 - message: string;
296 - location?: Location;
297 -}
298 -
299 -export interface JSONReportTestResult {
300 - workerIndex: number;
301 - parallelIndex: number;
302 - shardIndex?: number;
303 - status: TestStatus | undefined;
304 - duration: number;
305 - error: TestError | undefined;
306 - errors: JSONReportError[];
307 - stdout: JSONReportSTDIOEntry[];
308 - stderr: JSONReportSTDIOEntry[];
309 - retry: number;
310 - steps?: JSONReportTestStep[];
311 - startTime: string; // Date in ISO 8601 format.
312 - attachments: {
313 - name: string;
314 - path?: string;
315 - body?: string;
316 - contentType: string;
317 - }[];
318 - annotations: { type: string, description?: string }[];
319 - errorLocation?: Location;
320 -}
321 -
322 -export interface JSONReportTestStep {
323 - title: string;
324 - duration: number;
325 - error: TestError | undefined;
326 - steps?: JSONReportTestStep[];
327 -}
328 -
329 -export type JSONReportSTDIOEntry = { text: string } | { buffer: string };
330 -
331 -// This is required to not export everything by default. See https://github.com/Microsoft/TypeScript/issues/19545#issuecomment-340490459
332 -export {};
333 -
334 -
335 -/**
336 - * `Suite` is a group of tests. All tests in Playwright Test form the following hierarchy:
337 - * - Root suite has a child suite for each [FullProject](https://playwright.dev/docs/api/class-fullproject).
338 - * - Project suite #1. Has a child suite for each test file in the project.
339 - * - File suite #1
340 - * - [TestCase](https://playwright.dev/docs/api/class-testcase) #1
341 - * - [TestCase](https://playwright.dev/docs/api/class-testcase) #2
342 - * - Suite corresponding to a
343 - * [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe)
344 - * group
345 - * - [TestCase](https://playwright.dev/docs/api/class-testcase) #1 in a group
346 - * - [TestCase](https://playwright.dev/docs/api/class-testcase) #2 in a group
347 - * - < more test cases ... >
348 - * - File suite #2
349 - * - < more file suites ... >
350 - * - Project suite #2
351 - * - < more project suites ... >
352 - *
353 - * Reporter is given a root suite in the
354 - * [reporter.onBegin(config, suite)](https://playwright.dev/docs/api/class-reporter#reporter-on-begin) method.
355 - */
356 -export interface Suite {
357 - /**
358 - * Returns the list of all test cases in this suite and its descendants, as opposite to
359 - * [suite.tests](https://playwright.dev/docs/api/class-suite#suite-tests).
360 - */
361 - allTests(): Array<TestCase>;
362 -
363 - /**
364 - * Test cases and suites defined directly in this suite. The elements are returned in their declaration order. You can
365 - * differentiate between various entry types by using
366 - * [testCase.type](https://playwright.dev/docs/api/class-testcase#test-case-type) and
367 - * [suite.type](https://playwright.dev/docs/api/class-suite#suite-type).
368 - */
369 - entries(): Array<TestCase|Suite>;
370 -
371 - /**
372 - * Configuration of the project this suite belongs to, or [void] for the root suite.
373 - */
374 - project(): FullProject|undefined;
375 -
376 - /**
377 - * Returns a list of titles from the root down to this suite.
378 - */
379 - titlePath(): Array<string>;
380 -
381 - /**
382 - * Location in the source where the suite is defined. Missing for root and project suites.
383 - */
384 - location?: Location;
385 -
386 - /**
387 - * Parent suite, missing for the root suite.
388 - */
389 - parent?: Suite;
390 -
391 - /**
392 - * Child suites. See [Suite](https://playwright.dev/docs/api/class-suite) for the hierarchy of suites.
393 - */
394 - suites: Array<Suite>;
395 -
396 - /**
397 - * Test cases in the suite. Note that only test cases defined directly in this suite are in the list. Any test cases
398 - * defined in nested
399 - * [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe) groups are
400 - * listed in the child [suite.suites](https://playwright.dev/docs/api/class-suite#suite-suites).
401 - */
402 - tests: Array<TestCase>;
403 -
404 - /**
405 - * Suite title.
406 - * - Empty for root suite.
407 - * - Project name for project suite.
408 - * - File path for file suite.
409 - * - Title passed to
410 - * [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe) for a
411 - * group suite.
412 - */
413 - title: string;
414 -
415 - /**
416 - * Returns the type of the suite. The Suites form the following hierarchy: `root` -> `project` -> `file` -> `describe`
417 - * -> ...`describe` -> `test`.
418 - */
419 - type: "root"|"project"|"file"|"describe";
420 -}
421 -
422 -/**
423 - * `TestCase` corresponds to every
424 - * [test.(call)(title[, details, body])](https://playwright.dev/docs/api/class-test#test-call) call in a test file.
425 - * When a single [test.(call)(title[, details, body])](https://playwright.dev/docs/api/class-test#test-call) is
426 - * running in multiple projects or repeated multiple times, it will have multiple `TestCase` objects in corresponding
427 - * projects' suites.
428 - */
429 -export interface TestCase {
430 - /**
431 - * Whether the test is considered running fine. Non-ok tests fail the test run with non-zero exit code.
432 - */
433 - ok(): boolean;
434 -
435 - /**
436 - * Testing outcome for this test. Note that outcome is not the same as
437 - * [testResult.status](https://playwright.dev/docs/api/class-testresult#test-result-status):
438 - * - Test that is expected to fail and actually fails is `'expected'`.
439 - * - Test that passes on a second retry is `'flaky'`.
440 - */
441 - outcome(): "skipped"|"expected"|"unexpected"|"flaky";
442 -
443 - /**
444 - * Returns a list of titles from the root down to this test.
445 - */
446 - titlePath(): Array<string>;
447 -
448 - /**
449 - * [testResult.annotations](https://playwright.dev/docs/api/class-testresult#test-result-annotations) of the last test
450 - * run.
451 - */
452 - annotations: Array<{
453 - /**
454 - * Annotation type, for example `'skip'` or `'fail'`.
455 - */
456 - type: string;
457 -
458 - /**
459 - * Optional description.
460 - */
461 - description?: string;
462 -
463 - /**
464 - * Optional location in the source where the annotation is added.
465 - */
466 - location?: Location;
467 - }>;
468 -
469 - /**
470 - * Expected test status.
471 - * - Tests marked as
472 - * [test.skip([title, details, body, condition, callback, description])](https://playwright.dev/docs/api/class-test#test-skip)
473 - * or
474 - * [test.fixme([title, details, body, condition, callback, description])](https://playwright.dev/docs/api/class-test#test-fixme)
475 - * are expected to be `'skipped'`.
476 - * - Tests marked as
477 - * [test.fail([title, details, body, condition, callback, description])](https://playwright.dev/docs/api/class-test#test-fail)
478 - * are expected to be `'failed'`.
479 - * - Other tests are expected to be `'passed'`.
480 - *
481 - * See also [testResult.status](https://playwright.dev/docs/api/class-testresult#test-result-status) for the actual
482 - * status.
483 - */
484 - expectedStatus: "passed"|"failed"|"timedOut"|"skipped"|"interrupted";
485 -
486 - /**
487 - * A test ID that is computed based on the test file name, test title and project name. The ID is unique within
488 - * Playwright session.
489 - */
490 - id: string;
491 -
492 - /**
493 - * Location in the source where the test is defined.
494 - */
495 - location: Location;
496 -
497 - /**
498 - * Suite this test case belongs to.
499 - */
500 - parent: Suite;
501 -
502 - /**
503 - * Contains the repeat index when running in "repeat each" mode. This mode is enabled by passing `--repeat-each` to
504 - * the [command line](https://playwright.dev/docs/test-cli).
505 - */
506 - repeatEachIndex: number;
507 -
508 - /**
509 - * Results for each run of this test.
510 - */
511 - results: Array<TestResult>;
512 -
513 - /**
514 - * The maximum number of retries given to this test in the configuration.
515 - *
516 - * Learn more about [test retries](https://playwright.dev/docs/test-retries#retries).
517 - */
518 - retries: number;
519 -
520 - /**
521 - * The list of tags defined on the test or suite via
522 - * [test.(call)(title[, details, body])](https://playwright.dev/docs/api/class-test#test-call) or
523 - * [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe), as well as
524 - * `@`-tokens extracted from test and suite titles.
525 - *
526 - * Learn more about [test tags](https://playwright.dev/docs/test-annotations#tag-tests).
527 - */
528 - tags: Array<string>;
529 -
530 - /**
531 - * The timeout given to the test. Affected by
532 - * [testConfig.timeout](https://playwright.dev/docs/api/class-testconfig#test-config-timeout),
533 - * [testProject.timeout](https://playwright.dev/docs/api/class-testproject#test-project-timeout),
534 - * [test.setTimeout(timeout)](https://playwright.dev/docs/api/class-test#test-set-timeout),
535 - * [test.slow([condition, callback, description])](https://playwright.dev/docs/api/class-test#test-slow) and
536 - * [testInfo.setTimeout(timeout)](https://playwright.dev/docs/api/class-testinfo#test-info-set-timeout).
537 - */
538 - timeout: number;
539 -
540 - /**
541 - * Test title as passed to the
542 - * [test.(call)(title[, details, body])](https://playwright.dev/docs/api/class-test#test-call) call.
543 - */
544 - title: string;
545 -
546 - /**
547 - * Returns "test". Useful for detecting test cases in
548 - * [suite.entries()](https://playwright.dev/docs/api/class-suite#suite-entries).
549 - */
550 - type: "test";
551 -}
552 -
553 -/**
554 - * Information about an error thrown during test execution.
555 - */
556 -export interface TestError {
557 - /**
558 - * Error cause. Set when there is a
559 - * [cause](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/cause) for the
560 - * error. Will be `undefined` if there is no cause or if the cause is not an instance of [Error].
561 - */
562 - cause?: TestError;
563 -
564 - /**
565 - * Error location in the source code.
566 - */
567 - location?: Location;
568 -
569 - /**
570 - * Error message. Set when [Error] (or its subclass) has been thrown.
571 - */
572 - message?: string;
573 -
574 - /**
575 - * Source code snippet with highlighted error.
576 - */
577 - snippet?: string;
578 -
579 - /**
580 - * Error stack. Set when [Error] (or its subclass) has been thrown.
581 - */
582 - stack?: string;
583 -
584 - /**
585 - * The value that was thrown. Set when anything except the [Error] (or its subclass) has been thrown.
586 - */
587 - value?: string;
588 -}
589 -
590 -/**
591 - * A result of a single [TestCase](https://playwright.dev/docs/api/class-testcase) run.
592 - */
593 -export interface TestResult {
594 - /**
595 - * The list of annotations applicable to the current test. Includes:
596 - * - annotations defined on the test or suite via
597 - * [test.(call)(title[, details, body])](https://playwright.dev/docs/api/class-test#test-call) and
598 - * [test.describe([title, details, callback])](https://playwright.dev/docs/api/class-test#test-describe);
599 - * - annotations implicitly added by methods
600 - * [test.skip([title, details, body, condition, callback, description])](https://playwright.dev/docs/api/class-test#test-skip),
601 - * [test.fixme([title, details, body, condition, callback, description])](https://playwright.dev/docs/api/class-test#test-fixme)
602 - * and
603 - * [test.fail([title, details, body, condition, callback, description])](https://playwright.dev/docs/api/class-test#test-fail);
604 - * - annotations appended to
605 - * [testInfo.annotations](https://playwright.dev/docs/api/class-testinfo#test-info-annotations) during the test
606 - * execution.
607 - *
608 - * Annotations are available during test execution through
609 - * [testInfo.annotations](https://playwright.dev/docs/api/class-testinfo#test-info-annotations).
610 - *
611 - * Learn more about [test annotations](https://playwright.dev/docs/test-annotations).
612 - */
613 - annotations: Array<{
614 - /**
615 - * Annotation type, for example `'skip'` or `'fail'`.
616 - */
617 - type: string;
618 -
619 - /**
620 - * Optional description.
621 - */
622 - description?: string;
623 -
624 - /**
625 - * Optional location in the source where the annotation is added.
626 - */
627 - location?: Location;
628 - }>;
629 -
630 - /**
631 - * The list of files or buffers attached during the test execution through
632 - * [testInfo.attachments](https://playwright.dev/docs/api/class-testinfo#test-info-attachments).
633 - */
634 - attachments: Array<{
635 - /**
636 - * Attachment name.
637 - */
638 - name: string;
639 -
640 - /**
641 - * Content type of this attachment to properly present in the report, for example `'application/json'` or
642 - * `'image/png'`.
643 - */
644 - contentType: string;
645 -
646 - /**
647 - * Optional path on the filesystem to the attached file.
648 - */
649 - path?: string;
650 -
651 - /**
652 - * Optional attachment body used instead of a file.
653 - */
654 - body?: Buffer;
655 - }>;
656 -
657 - /**
658 - * Running time in milliseconds.
659 - */
660 - duration: number;
661 -
662 - /**
663 - * First error thrown during test execution, if any. This is equal to the first element in
664 - * [testResult.errors](https://playwright.dev/docs/api/class-testresult#test-result-errors).
665 - */
666 - error?: TestError;
667 -
668 - /**
669 - * Errors thrown during the test execution.
670 - */
671 - errors: Array<TestError>;
672 -
673 - /**
674 - * The index of the worker between `0` and `workers - 1`. It is guaranteed that workers running at the same time have
675 - * a different `parallelIndex`.
676 - */
677 - parallelIndex: number;
678 -
679 - /**
680 - * When test is retried multiple times, each retry attempt is given a sequential number.
681 - *
682 - * Learn more about [test retries](https://playwright.dev/docs/test-retries#retries).
683 - */
684 - retry: number;
685 -
686 - /**
687 - * Start time of this particular test run.
688 - */
689 - startTime: Date;
690 -
691 - /**
692 - * The status of this test result. See also
693 - * [testCase.expectedStatus](https://playwright.dev/docs/api/class-testcase#test-case-expected-status).
694 - */
695 - status: "passed"|"failed"|"timedOut"|"skipped"|"interrupted";
696 -
697 - /**
698 - * Anything written to the standard error during the test run.
699 - */
700 - stderr: Array<string|Buffer>;
701 -
702 - /**
703 - * Anything written to the standard output during the test run.
704 - */
705 - stdout: Array<string|Buffer>;
706 -
707 - /**
708 - * List of steps inside this test run.
709 - */
710 - steps: Array<TestStep>;
711 -
712 - /**
713 - * Index of the worker where the test was run. If the test was not run a single time, for example when the user
714 - * interrupted testing, the only result will have a `workerIndex` equal to `-1`.
715 - *
716 - * Learn more about [parallelism and sharding](https://playwright.dev/docs/test-parallel) with Playwright Test.
717 - */
718 - workerIndex: number;
719 -}
720 -
721 -/**
722 - * Represents a step in the [TestRun].
723 - */
724 -export interface TestStep {
725 - /**
726 - * Returns a list of step titles from the root step down to this step.
727 - */
728 - titlePath(): Array<string>;
729 -
730 - /**
731 - * The list of annotations applicable to the current test step.
732 - */
733 - annotations: Array<{
734 - /**
735 - * Annotation type, for example `'skip'`.
736 - */
737 - type: string;
738 -
739 - /**
740 - * Optional description.
741 - */
742 - description?: string;
743 -
744 - /**
745 - * Optional location in the source where the annotation is added.
746 - */
747 - location?: Location;
748 - }>;
749 -
750 - /**
751 - * The list of files or buffers attached in the step execution through
752 - * [testInfo.attach(name[, options])](https://playwright.dev/docs/api/class-testinfo#test-info-attach).
753 - */
754 - attachments: Array<{
755 - /**
756 - * Attachment name.
757 - */
758 - name: string;
759 -
760 - /**
761 - * Content type of this attachment to properly present in the report, for example `'application/json'` or
762 - * `'image/png'`.
763 - */
764 - contentType: string;
765 -
766 - /**
767 - * Optional path on the filesystem to the attached file.
768 - */
769 - path?: string;
770 -
771 - /**
772 - * Optional attachment body used instead of a file.
773 - */
774 - body?: Buffer;
775 - }>;
776 -
777 - /**
778 - * Step category to differentiate steps with different origin and verbosity. Built-in categories are:
779 - * - `expect` for expect calls
780 - * - `fixture` for fixtures setup and teardown
781 - * - `hook` for hooks initialization and teardown
782 - * - `pw:api` for Playwright API calls.
783 - * - `test.step` for test.step API calls.
784 - * - `test.attach` for testInfo.attach API calls.
785 - */
786 - category: string;
787 -
788 - /**
789 - * Running time in milliseconds.
790 - */
791 - duration: number;
792 -
793 - /**
794 - * Error thrown during the step execution, if any.
795 - */
796 - error?: TestError;
797 -
798 - /**
799 - * Optional location in the source where the step is defined.
800 - */
801 - location?: Location;
802 -
803 - /**
804 - * Parent step, if any.
805 - */
806 - parent?: TestStep;
807 -
808 - /**
809 - * Start time of this particular test step.
810 - */
811 - startTime: Date;
812 -
813 - /**
814 - * List of steps inside this step.
815 - */
816 - steps: Array<TestStep>;
817 -
818 - /**
819 - * User-friendly test step title.
820 - */
821 - title: string;
822 -}
823 -
824 -